body{margin:0}:root{--bg:#f4f4f5;--surface:#fff;--text:#18181b;--text-secondary:#52525b;--muted:#a1a1aa;--accent:#ea580c;--accent-hover:#c2410c;--accent-soft:#fff7ed;--border:#e4e4e7;--border-light:#f4f4f5;--success:#16a34a;--shadow-sm:0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 12px 40px #0000001f;--radius:16px;--radius-sm:12px;--safe-bottom:env(safe-area-inset-bottom,0px);--font:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--max-width:480px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100dvh;line-height:1.5}.app-shell{max-width:var(--max-width);background:var(--surface);min-height:100dvh;box-shadow:var(--shadow-lg);padding-bottom:calc(100px + var(--safe-bottom));margin:0 auto}.storefront{position:relative}.storefront__cover{background:linear-gradient(#18181b26 0%,#18181b8c 100%),url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.08'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),linear-gradient(135deg,#292524 0%,#44403c 50%,#78716c 100%);height:140px}.storefront__card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-md);border:1px solid var(--border-light);margin:-48px 16px 0;padding:20px;position:relative}.storefront__avatar{background:var(--accent-soft);border:3px solid var(--surface);width:64px;height:64px;box-shadow:var(--shadow-sm);border-radius:16px;place-items:center;margin-bottom:14px;font-size:32px;display:grid;overflow:hidden}.storefront__avatar img{object-fit:cover;width:100%;height:100%}.storefront__info h1{letter-spacing:-.03em;font-size:1.35rem;font-weight:800;line-height:1.2}.storefront__location{color:var(--text-secondary);align-items:center;gap:6px;margin-top:6px;font-size:.875rem;display:flex}.storefront__meta{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.meta-chip{background:var(--border-light);color:var(--text-secondary);border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;display:inline-flex}.meta-chip--open{color:var(--success);background:#f0fdf4}.meta-dot{background:var(--success);border-radius:50%;width:7px;height:7px}.menu-sticky{z-index:10;-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-light);background:#ffffffeb;padding:12px 0;position:sticky;top:0}.category-nav__scroll{scrollbar-width:none;gap:8px;padding:0 16px;display:flex;overflow-x:auto}.category-nav__scroll::-webkit-scrollbar{display:none}.category-pill{background:var(--border-light);color:var(--text-secondary);font-family:var(--font);white-space:nowrap;cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font-size:.8125rem;font-weight:600;transition:all .2s}.category-pill--active{background:var(--text);color:#fff}.category-pill:hover:not(.category-pill--active){background:var(--border)}.menu-content{padding:16px}.product-grid{gap:16px;display:grid}.product-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);transition:box-shadow .2s;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md)}.product-card--sold-out{opacity:.72}.card-media{aspect-ratio:16/10;overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%}.card-media-placeholder{place-items:center;display:grid}.card-emoji{filter:drop-shadow(0 2px 8px #0000001a);font-size:3rem}.product-card__body{padding:14px 16px 16px}.product-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.product-card__header h3{letter-spacing:-.02em;font-size:1rem;font-weight:700;line-height:1.3}.product-card__price{color:var(--accent);white-space:nowrap;font-size:.9375rem;font-weight:800}.product-card__desc{color:var(--text-secondary);margin-top:4px;font-size:.8125rem;line-height:1.45}.sold-out-badge{color:#dc2626;background:#fef2f2;border-radius:8px;margin-top:12px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-block}.btn-add{border:1.5px solid var(--accent);width:100%;color:var(--accent);border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;background:0 0;margin-top:14px;padding:12px;font-size:.875rem;font-weight:700;transition:all .15s}.btn-add:hover{background:var(--accent);color:#fff}.qty-control{background:var(--accent-soft);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-top:14px;padding:4px;display:flex}.qty-control__btn{background:var(--surface);width:44px;height:44px;color:var(--accent);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:10px;font-size:1.25rem;font-weight:600;transition:transform .1s}.qty-control__btn:active{transform:scale(.95)}.qty-control__count{text-align:center;min-width:32px;font-size:1.125rem;font-weight:800}.cart-float{bottom:calc(16px + var(--safe-bottom));z-index:50;max-width:calc(var(--max-width) - 32px);margin:0 auto;position:fixed;left:16px;right:16px}.cart-float__inner{background:var(--text);color:#fff;box-shadow:var(--shadow-lg);border-radius:20px;justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 12px 16px;display:flex}.cart-float__summary{align-items:center;gap:12px;display:flex}.cart-float__count{background:var(--accent);border-radius:10px;place-items:center;width:36px;height:36px;font-size:.9375rem;font-weight:800;display:grid}.cart-float__summary strong{font-size:.9375rem;display:block}.cart-float__summary small{opacity:.75;font-size:.8125rem}.cart-float__btn{background:var(--accent);color:#fff;font-family:var(--font);cursor:pointer;border:none;border-radius:14px;align-items:center;gap:4px;padding:12px 18px;font-size:.9375rem;font-weight:700;transition:background .15s;display:flex}.cart-float__btn:hover{background:var(--accent-hover)}.overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#00000080;justify-content:center;align-items:flex-end;display:none;position:fixed;inset:0}.overlay.open{display:flex}.sheet{background:var(--surface);width:100%;max-width:var(--max-width);max-height:92dvh;padding:12px 20px calc(24px + var(--safe-bottom));border-radius:24px 24px 0 0;overflow-y:auto}.sheet__handle{background:var(--border);border-radius:999px;width:40px;height:4px;margin:8px auto 16px}.sheet h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:800}.sheet__subtitle{color:var(--text-secondary);margin-top:2px;margin-bottom:20px;font-size:.875rem}.order-summary{background:var(--border-light);border-radius:var(--radius);margin-bottom:24px;padding:4px 16px}.order-line{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:12px 0;font-size:.875rem;display:grid}.order-line:last-of-type{border-bottom:none}.order-line--muted{color:var(--text-secondary)}.order-line__qty{color:var(--accent);font-weight:700}.order-line__name{font-weight:500}.order-line__price{font-weight:700}.order-total{border-top:2px solid var(--border);justify-content:space-between;margin-top:4px;padding:14px 0 8px;font-size:1.125rem;font-weight:800;display:flex}.form-section h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:12px;font-size:.8125rem;font-weight:700}.sheet label{color:var(--text-secondary);margin:14px 0 6px;font-size:.8125rem;font-weight:600;display:block}.input{border:1.5px solid var(--border);border-radius:var(--radius-sm);width:100%;font-family:var(--font);background:var(--surface);padding:14px 16px;font-size:.9375rem;transition:border-color .15s}.input:focus{border-color:var(--accent);outline:none}.input--textarea{resize:vertical;min-height:80px}.delivery-toggle{grid-template-columns:1fr 1fr;gap:10px;display:grid}.delivery-toggle__btn{border:1.5px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;padding:14px;font-size:.875rem;font-weight:600;transition:all .15s}.delivery-toggle__btn--active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-hover)}.actions{gap:10px;margin-top:24px;display:grid}.btn-wa{color:#fff;border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;background:#25d366;border:none;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:1rem;font-weight:700;transition:filter .15s;display:flex}.btn-wa:hover{filter:brightness(1.05)}.btn-ghost{color:var(--muted);font-family:var(--font);cursor:pointer;background:0 0;border:none;padding:12px;font-size:.875rem;font-weight:600}.wa-fallback-link{text-align:center;color:var(--accent);margin-top:8px;font-size:.8125rem;font-weight:600;text-decoration:underline;display:block}.app-shell--centered{justify-content:center;align-items:center;padding:24px;display:flex}.status-card{text-align:center;max-width:320px;padding:32px 24px}.status-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;margin:0 auto 16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.status-title{color:var(--text);font-size:1.125rem;font-weight:700}.status-text{color:var(--text-secondary);margin-top:8px;font-size:.875rem;line-height:1.5}.status-text code{background:var(--border-light);border-radius:6px;padding:2px 6px;font-size:.8125rem}.catalog-banner{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-sm);text-align:center;margin:0 16px 8px;padding:10px 12px;font-size:.8125rem;font-weight:600}.empty-menu{text-align:center;padding:48px 24px}@media (width>=520px){body{padding:24px 0}.app-shell{border-radius:24px;overflow:hidden}}
