body,html{height:100%}.app{display:flex;flex-direction:column;min-height:100dvh}header.hero{position:sticky;top:0;z-index:11;background:linear-gradient(180deg,var(--bg) 0,rgba(13,13,13,.92) 65%,rgba(13,13,13,0) 100%);padding:12px 16px 8px;backdrop-filter:saturate(140%) blur(4px);border-bottom:1px solid rgba(255,255,255,.06)}html[data-theme=light] header.hero{border-bottom:1px solid #e6e6e8}.brand-row{display:flex;align-items:center;gap:10px}.brand-dot{width:10px;height:10px;border-radius:999px;background:var(--brand)}.brand{font-weight:800;letter-spacing:.5px}.top-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.btn{appearance:none;border:0;padding:10px 12px;border-radius:999px;background:#232429;color:var(--text);font-weight:600}.btn.allergy,.btn.lang,.btn.theme{padding:8px 10px;font-weight:800;min-width:44px;width:44px;height:36px;display:grid;place-items:center}html[data-theme=light] .btn{background:#ececf1;color:#0a0a0b}main#content{order:1;flex:1 1 auto;padding:8px 12px 100px}.section-title{font-size:20px;font-weight:800;letter-spacing:.3px;margin:10px 4px}.section-intro{margin:0 4px 10px;color:var(--muted);font-size:14px}.grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width:420px){.grid{grid-template-columns:1fr 1fr}}@media (min-width:1100px){.grid{grid-template-columns:1fr 1fr 1fr}}.card{background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.06)}html[data-theme=light] .card{border:1px solid #ececf1}.card-media{position:relative;aspect-ratio:4/3;background:#0a0a0a}html[data-theme=light] .card-media{background:#f1f2f4}.card-media img{width:100%;height:100%;object-fit:cover;display:block}.badge-price{position:absolute;right:10px;bottom:10px;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.8);color:#fff;font-weight:800}.item-desc,.menu-nav button,.pill{color:var(--muted)}html[data-theme=light] .badge-price{background:rgba(255,255,255,.92);color:#0a0a0b;border:1px solid #dedfe4}.card-body{padding:12px}.item-title{font-weight:800;margin:0 0 6px}.item-desc{margin:0;font-size:14px;line-height:1.35}.meta-row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}.pill{border:1px solid rgba(255,255,255,.14);padding:4px 8px;border-radius:999px;font-size:12px}html[data-theme=light] .pill{border-color:#d6d7db;color:#565861}.pill.trace{border-color:#0fb9b1;color:#0fb9b1}.all-icon{width:18px;height:18px;display:inline-block;filter:invert(1) opacity(.9)}.all-icon.trace{opacity:.95;border:2px solid #0fb9b1;border-radius:6px;padding:2px;background:rgba(15,185,177,.15)}html[data-theme=light] .all-icon{filter:none;opacity:.85}html[data-theme=light] .all-icon.trace{border-color:#0fb9b1;background:rgba(15,185,177,.12)}body.hide-allergens [data-role=allergen],body.hide-allergens [data-role=trace]{display:none!important}.menu-nav{order:2;position:fixed;left:0;right:0;bottom:0;z-index:10;background:rgba(17,18,20,.96);backdrop-filter:blur(8px) saturate(180%);display:flex;gap:8px;padding:8px 10px calc(10px + var(--safe-bottom));border-top:1px solid rgba(255,255,255,.08);overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}html[data-theme=light] .menu-nav{background:rgba(255,255,255,.96);border-top:1px solid #e6e6e8}.menu-nav::-webkit-scrollbar{display:none}.menu-nav button{flex:0 0 auto;appearance:none;border:0;background:0 0;font-weight:700;padding:10px 12px 8px;border-radius:12px;scroll-snap-align:center;white-space:nowrap}.menu-nav button.active{color:#fff;background:rgba(225,29,46,.15)}html[data-theme=light] .menu-nav button.active{color:#0a0a0b}.menu-nav .ico{display:block;font-size:18px;line-height:18px;margin:0 auto 4px;text-align:center}@media (min-width:768px){.menu-nav{position:sticky;top:0;bottom:auto;padding:10px 12px;border-top:0;border-bottom:1px solid rgba(255,255,255,.08);order:0;z-index:10}html[data-theme=light] .menu-nav{border-bottom:1px solid #e6e6e8}main#content{padding-bottom:24px;order:1}}:focus:not(:focus-visible){outline:0}.card:focus-visible{outline:2px solid var(--brand);outline-offset:4px}.btn:focus-visible,.menu-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}