:root{--navy:#1b2364;--navy-deep:#0f1440;--purple:#8a2c74;--purple-soft:#f5eaf2;--accent:#8a2c74;--accent-light:#e9b8df;--bg:#f5f6fa;--surface:#fff;--ink:#16182b;--muted:#6e6f7d;--line:#e4e6ee;--whatsapp:#1fa855;--radius:16px;--shadow:0 1px 2px #1014400a, 0 6px 18px #1014400f;--serif:"Playfair Display", Georgia, serif;--nav-h:70px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent}body{background:#eceef4;margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea{font:inherit;color:inherit}h1,h2,h3,h4,p{margin:0}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}img{display:block}.app{background:var(--bg);max-width:520px;min-height:100dvh;padding-bottom:calc(var(--nav-h) + 28px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.content{padding:0 16px}.muted{color:var(--muted);font-size:.86rem;line-height:1.45}.small{font-size:.78rem}.center{text-align:center}.app-header{z-index:30;background:var(--bg);align-items:center;gap:12px;padding:12px 16px 10px;display:flex;position:sticky;top:0}.logo-btn{display:flex}.logo{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:50%;width:46px;height:46px}.brand{flex-direction:column;flex:1;min-width:0;line-height:1.1;display:flex}.brand-top{font-family:var(--serif);color:var(--navy);letter-spacing:.01em;font-size:1.3rem;font-weight:700}.brand-name{color:var(--purple);letter-spacing:.22em;text-transform:uppercase;font-size:.66rem;font-weight:600}.table-pill{border:1px solid var(--line);background:var(--surface);color:var(--navy);white-space:nowrap;border-radius:99px;padding:6px 11px;font-size:.74rem;font-weight:600}.icon-btn{width:42px;height:42px;color:var(--navy);border-radius:50%;place-items:center;display:grid;position:relative}.dot-count{background:var(--navy);color:#fff;border:2px solid var(--bg);border-radius:99px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.66rem;font-weight:700;display:grid;position:absolute;top:2px;right:0}.search-row{z-index:25;background:var(--bg);gap:10px;padding:2px 16px 14px;display:flex;position:sticky;top:68px}.search{background:var(--surface);border:1px solid var(--line);height:48px;color:var(--muted);border-radius:99px;flex:1;align-items:center;gap:10px;padding:0 18px;display:flex}.search:focus-within{border-color:var(--navy)}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:.92rem}.search input::placeholder{color:#9a9aa6}.search input::-webkit-search-cancel-button{display:none}.filter-btn{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid;position:relative}.filter-btn .dot-count{border-color:var(--bg);background:var(--accent);color:#fff}.greeting{font-family:var(--serif);color:var(--navy);margin:0 2px 12px;font-size:1.05rem}.greeting span{color:var(--muted);font-family:Inter,sans-serif;font-size:.86rem}.hero{background:var(--navy-deep);color:#fff;border-radius:22px;position:relative;overflow:hidden}.hero-slide{align-items:center;min-height:232px;animation:.6s fadeIn;display:flex;position:relative}.hero-img{object-fit:cover;width:68%;height:100%;position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 45%);mask-image:linear-gradient(90deg,#0000 0%,#000 45%)}.hero-slide:after{content:"";background:linear-gradient(90deg, var(--navy-deep) 30%, #0f14408c 60%, #0f14401a);position:absolute;inset:0}.hero-text{z-index:1;max-width:70%;padding:24px 20px 40px;position:relative}.hero-eyebrow{font-family:var(--serif);color:var(--accent-light);font-size:.95rem;font-style:italic}.hero h1{font-family:var(--serif);text-transform:uppercase;letter-spacing:.01em;margin:6px 0 10px;font-size:clamp(1.4rem,6.2vw,1.8rem);font-weight:700;line-height:1.12}.hero h1 em,.promo h3 em{color:var(--accent-light);font-style:normal}.hero p{color:#fffc;max-width:28ch;margin-bottom:16px;font-size:.82rem;line-height:1.45}.hero-dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:14px;left:20px}.hero-dots button{background:#fff6;border-radius:99px;width:7px;height:7px;transition:width .3s,background .3s}.hero-dots button.on{background:var(--accent);width:22px}.btn-accent{background:var(--accent);color:#fff;text-transform:uppercase;letter-spacing:.08em;border-radius:99px;align-items:center;gap:8px;padding:10px 16px;font-size:.74rem;font-weight:700;display:inline-flex}.btn-accent svg{color:var(--accent);background:#fff;border-radius:50%;width:18px;height:18px;padding:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cat-rail{scrollbar-width:none;gap:12px;padding:20px 2px 6px;display:flex;overflow-x:auto}.cat-rail::-webkit-scrollbar{display:none}.cat{width:68px;color:var(--ink);text-align:center;flex-direction:column;flex-shrink:0;align-items:center;gap:7px;font-size:.7rem;font-weight:500;line-height:1.2;display:flex}.cat-icon{background:var(--surface);border:1px solid var(--line);width:56px;height:56px;color:var(--navy);border-radius:50%;place-items:center;transition:all .2s;display:grid}.cat.on .cat-icon{background:var(--navy);border-color:var(--navy);color:var(--accent-light)}.cat.on{color:var(--navy);font-weight:700}.sticky-rail{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);margin:0 -16px;padding:0 16px;position:sticky;top:130px}.sticky-rail .cat-rail{gap:8px;padding:6px 2px 10px}.sticky-rail .cat{width:64px}.sticky-rail .cat-icon{width:44px;height:44px}.sticky-rail .cat-icon svg{width:19px;height:19px}.section-head{justify-content:space-between;align-items:center;gap:10px;margin:26px 0 12px;display:flex}.section-head h2{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:8px;font-size:1.08rem;font-weight:700;display:flex}.section-head h2 svg{color:var(--accent)}.link{color:var(--navy);white-space:nowrap;align-items:center;gap:4px;font-size:.82rem;font-weight:600;display:inline-flex}.link.danger{color:#b3261e}.group-title{font-family:var(--serif);color:var(--navy);align-items:center;gap:12px;margin:30px 0 2px;font-size:1.7rem;font-weight:700;display:flex}.group-title:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);flex:1;height:1px}.category-title{letter-spacing:.16em;text-transform:uppercase;color:var(--purple);align-items:center;gap:8px;margin:22px 0 12px;scroll-margin-top:150px;font-size:.8rem;font-weight:700;display:flex}.category-title small{color:var(--muted);letter-spacing:0;text-transform:none;margin-left:auto;font-size:.72rem;font-weight:500}.section-label{font-family:var(--serif);color:var(--navy);margin:16px 2px 8px;font-size:1rem;font-weight:600}.visual{background:#eceef4;place-items:center;display:grid;position:relative;overflow:hidden}.visual img{object-fit:cover;width:100%;height:100%}.visual-fallback{background:radial-gradient(circle at 30% 20%, #2a3380, var(--navy-deep));color:var(--accent-light)}.visual-md{aspect-ratio:4/3;width:100%}.visual-sm{border-radius:12px;flex-shrink:0;width:56px;height:56px}.visual-lg{border-radius:20px;height:230px;margin-top:4px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.h-rail{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin:0 -16px;padding:2px 16px 8px;display:flex;overflow-x:auto}.h-rail::-webkit-scrollbar{display:none}.h-rail .dish-card{scroll-snap-align:start;flex-shrink:0;width:164px;scroll-margin-left:16px}.dish-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);cursor:pointer;flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden}.dish-card:hover{box-shadow:var(--shadow)}.dish-card:active{transform:scale(.985)}.dish-card-media{position:relative}.dish-card-body{flex-direction:column;flex:1;padding:11px 12px 12px;display:flex}.dish-card h3{font-size:.88rem;font-weight:700;line-height:1.3}.dish-card p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:.72rem;line-height:1.4;display:-webkit-box;overflow:hidden}.dish-card-foot{align-items:center;gap:6px;margin-top:auto;padding-top:10px;display:flex}.price{color:var(--navy);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.98rem;font-weight:700}.serves{color:var(--muted);align-items:center;gap:4px;margin-top:6px;font-size:.7rem;font-weight:500;display:inline-flex}.add-btn{background:var(--navy);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;margin-left:auto;transition:transform .15s,background .15s;display:grid}.add-btn:hover{background:var(--purple)}.add-btn:active{transform:scale(.88)}.card-actions{flex-shrink:0;gap:6px;margin-left:auto;display:flex}.card-actions .add-btn{margin-left:0}.view-btn{border:1px solid var(--line);width:32px;height:32px;color:var(--navy);border-radius:50%;place-items:center;transition:background .15s,color .15s;display:grid}.view-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.add-btn.sm{width:30px;height:30px;color:var(--navy);border:1px solid var(--line);background:0 0;margin-left:0}.add-btn.sm:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.badge{text-transform:uppercase;letter-spacing:.08em;background:var(--navy);color:#fff;border-radius:99px;padding:4px 8px;font-size:.58rem;font-weight:700;position:absolute;top:8px;left:8px}.badge-new{background:var(--purple)}.badge-bestseller{color:var(--navy);background:#fff}.chip-badge{text-transform:uppercase;letter-spacing:.08em;background:var(--navy);color:#fff;vertical-align:1px;border-radius:99px;margin-right:6px;padding:2px 6px;font-size:.56rem;font-weight:700;display:inline-block}.chip-badge.badge-new{background:var(--purple)}.chip-badge.badge-bestseller{background:var(--purple-soft);color:var(--purple)}.fav{width:30px;height:30px;color:var(--ink);background:#fffffff0;border-radius:50%;place-items:center;display:grid;position:absolute;top:7px;right:7px}.fav.on{color:#d6245b}.fav.big{border:1px solid var(--line);flex-shrink:0;width:42px;height:42px;position:static}.item-list{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);overflow:hidden}.item-row{cursor:pointer;border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 14px;transition:background .15s;display:flex}.item-row:last-child{border-bottom:0}.item-row:hover{background:#f8f9fc}.item-row-text{flex:1;min-width:0}.item-row-title{align-items:baseline;gap:8px;display:flex}.item-row h4{font-size:.9rem;font-weight:600}.leader{border-bottom:1px dotted #c5c9d6;flex:1;min-width:12px;transform:translateY(-3px)}.item-row p{color:var(--muted);margin-top:3px;font-size:.74rem;line-height:1.4}.item-row .price{font-size:.9rem}.promo{color:#fff;background:var(--navy-deep);border-radius:20px;align-items:center;min-height:150px;margin-top:26px;display:flex;position:relative;overflow:hidden}.promo-img{object-fit:cover;width:60%;height:100%;position:absolute;inset:0 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 50%);mask-image:linear-gradient(90deg,#0000,#000 50%)}.promo:after{content:"";background:linear-gradient(90deg, var(--navy-deep) 35%, #0f144033);position:absolute;inset:0}.promo-text{z-index:1;padding:20px;position:relative}.promo h3{font-family:var(--serif);text-transform:uppercase;margin:4px 0 14px;font-size:1.3rem;line-height:1.2}.empty-note{background:var(--surface);border:1px dashed var(--line);color:var(--muted);border-radius:14px;margin-top:12px;padding:14px;font-size:.85rem}.btn-primary{background:var(--navy);color:#fff;border-radius:99px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-weight:600;display:inline-flex}.btn-primary.sm{padding:9px 16px;font-size:.8rem}.btn-primary:hover{background:var(--navy-deep)}.btn-ghost{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:13px 18px;font-weight:600}.grow{flex:1}.choice-row{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.choice-row.wrap{flex-wrap:wrap}.choice{border:1px solid var(--line);background:var(--surface);white-space:nowrap;border-radius:99px;padding:8px 14px;font-size:.82rem;font-weight:500;transition:all .15s}.choice.on{background:var(--navy);border-color:var(--navy);color:#fff}.sheet-backdrop{z-index:60;background:#0f144080;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:520px;max-height:92dvh;padding:10px 18px calc(20px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;animation:.28s cubic-bezier(.2,.9,.3,1) slideUp;position:relative;overflow-y:auto}.sheet-grip{background:#d3d6e0;border-radius:9px;width:38px;height:4px;margin:0 auto 10px}.sheet-close{z-index:2;width:34px;height:34px;box-shadow:var(--shadow);background:#fffffff2;border-radius:50%;place-items:center;display:grid;position:absolute;top:22px;right:26px}.sheet-title{font-family:var(--serif);color:var(--navy);margin:6px 0 16px;font-size:1.35rem}.sheet-actions{gap:10px;margin-top:22px;display:flex}@keyframes slideUp{0%{transform:translateY(100%)}}.item-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-top:16px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--purple);font-size:.68rem;font-weight:700}.item-detail h2{font-family:var(--serif);color:var(--navy);margin-top:4px;font-size:1.65rem;line-height:1.15}.item-detail-desc{color:var(--muted);margin-top:8px;font-size:.9rem;line-height:1.55}.tag-row{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.pill{background:var(--surface);border:1px solid var(--line);border-radius:99px;align-items:center;gap:4px;padding:5px 10px;font-size:.72rem;font-weight:500;display:inline-flex}.pill.accent{background:var(--navy);color:#fff;border-color:var(--navy)}.options{border:0;margin:20px 0 0;padding:0}.options legend,.filters h4,.pairings h4,.suggest h4{align-items:center;gap:6px;margin-bottom:10px;font-size:.86rem;font-weight:600;display:flex}.filters .choice-row+h4{margin-top:20px}.note-field,.field{gap:6px;margin-top:16px;font-size:.84rem;font-weight:600;display:grid}.field small{color:var(--muted);font-weight:400}.note-field input,.field input,.field textarea{border:1px solid var(--line);background:var(--surface);resize:none;border-radius:12px;outline:0;padding:12px 14px;font-weight:400}.note-field input:focus,.field input:focus,.field textarea:focus{border-color:var(--navy)}.pairings{margin-top:22px}.pairings h4 svg,.suggest h4 svg{color:var(--accent)}.pairing-row{scrollbar-width:none;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.pairing{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:14px;flex-direction:column;flex-shrink:0;align-items:center;gap:5px;width:100px;padding:10px 6px;display:flex}.pairing-name{font-size:.7rem;font-weight:500;line-height:1.25}.pairing-price{color:var(--navy);font-size:.72rem;font-weight:700}.item-detail-actions{padding:14px 18px calc(20px + env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--line);align-items:center;gap:12px;margin:22px -18px 0;display:flex;position:sticky;bottom:-20px}.stepper{background:var(--surface);border:1px solid var(--line);border-radius:99px;align-items:center;gap:4px;padding:3px;display:inline-flex}.stepper button{width:38px;height:38px;color:var(--navy);border-radius:50%;place-items:center;display:grid}.stepper button:hover{background:var(--bg)}.stepper span{text-align:center;min-width:24px;font-weight:700}.stepper.sm button{width:28px;height:28px}.stepper.sm span{min-width:18px;font-size:.84rem}.cart-lines{gap:10px;display:grid}.cart-line{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);align-items:center;gap:10px;padding:10px;display:flex}.cart-line-main{text-align:left;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.cart-line-main>span{flex-direction:column;gap:2px;min-width:0;display:flex}.cart-line-main b{font-size:.88rem;font-weight:600}.cart-line-main small{color:var(--muted);font-size:.72rem}.cart-line-main small.note{color:var(--purple);font-style:italic}.cart-line-side{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.suggest{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);border-left:3px solid var(--accent);margin-top:18px;padding:14px}.suggest-row{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.suggest-chip{background:var(--bg);border:1px solid var(--line);border-radius:99px;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:.78rem;font-weight:500;display:inline-flex}.suggest-chip b{color:var(--navy);font-weight:700}.order-form{margin-top:24px}.order-form h3{margin-bottom:10px;font-size:1rem;font-weight:700}.segmented{background:var(--surface);border:1px solid var(--line);border-radius:14px;grid-template-columns:repeat(3,1fr);padding:4px;display:grid}.segmented button{border-radius:10px;padding:10px 4px;font-size:.82rem;font-weight:500}.segmented button.on{background:var(--navy);color:#fff;font-weight:600}.checkout{background:var(--surface);border:1px solid var(--line);border-radius:20px;gap:12px;margin-top:22px;padding:16px;display:grid}.checkout-total{justify-content:space-between;align-items:baseline;display:flex}.checkout-total span{color:var(--muted);font-weight:500}.checkout-total b{font-family:var(--serif);color:var(--navy);font-size:1.6rem}.btn-whatsapp{background:var(--whatsapp);color:#fff;border-radius:99px;justify-content:center;align-items:center;gap:10px;padding:15px;font-size:.95rem;font-weight:600;display:flex}.btn-whatsapp:disabled{cursor:not-allowed;background:#c3cbc6}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:40px 16px;display:flex}.empty.tall{padding-top:80px}.empty svg{color:var(--accent)}.empty h2{font-family:var(--serif);color:var(--navy);font-size:1.4rem}.results .muted{margin:-6px 0 10px}.info{text-align:center;padding-top:16px}.info-logo{object-fit:cover;border:1px solid var(--line);border-radius:50%;width:140px;height:140px;margin:0 auto}.info h1{font-family:var(--serif);color:var(--navy);margin-top:16px;font-size:1.8rem}.info-tagline{color:var(--purple);letter-spacing:.04em;margin-top:6px;font-size:.82rem;font-weight:500}.info-cards{text-align:left;gap:10px;margin:26px 0;display:grid}.info-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--line);color:var(--ink);align-items:center;gap:14px;padding:16px;text-decoration:none;display:flex}.info-card svg{color:var(--navy);flex-shrink:0}.info-card.whatsapp svg{color:var(--whatsapp)}.info-card span{flex-direction:column;gap:2px;display:flex}.info-card b{font-weight:600}.info-card small{color:var(--muted)}.script{font-family:var(--serif);color:var(--navy);margin-bottom:10px;font-size:1.8rem;font-style:italic}.bottom-nav{z-index:40;width:100%;max-width:520px;height:calc(var(--nav-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);align-items:end;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.nav-item,.nav-center{color:var(--muted);flex-direction:column;align-items:center;gap:4px;padding-bottom:12px;font-size:.68rem;font-weight:500;display:flex}.nav-item.on,.nav-center.on{color:var(--navy);font-weight:700}.nav-center-bubble{background:var(--navy);color:#fff;border:4px solid var(--bg);border-radius:50%;place-items:center;width:58px;height:58px;margin-top:-26px;display:grid;position:relative;box-shadow:0 6px 16px #0f144040}.nav-center-bubble .dot-count{background:var(--accent);color:#fff;border-color:var(--surface);top:-4px;right:-4px}.toast{left:50%;bottom:calc(var(--nav-h) + 20px + env(safe-area-inset-bottom));z-index:70;opacity:0;pointer-events:none;background:var(--navy-deep);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:99px;max-width:calc(100% - 32px);padding:11px 18px;font-size:.84rem;font-weight:500;transition:all .25s;position:fixed;overflow:hidden;transform:translate(-50%,16px);box-shadow:0 10px 24px #0f14404d}.toast.show{opacity:1;transform:translate(-50%)}@media (width>=521px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
