.menu-shell{max-width:560px;margin:0 auto;padding:0 16px calc(24px + env(safe-area-inset-bottom))}.menu-hero{text-align:center;padding:28px 8px 18px}.menu-hero img{width:92px;height:auto;margin-bottom:10px}.menu-hero h1{font-family:var(--font-display);font-weight:700;font-size:1.8rem;letter-spacing:.02em;line-height:1.1}.menu-hero .subtitle{color:var(--cream-dim);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.14em;margin-top:6px}.menu-hero .rule{width:64px;height:2px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--red-bright),transparent)}.net-pill{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:var(--warn);color:var(--warn-ink);font-size:.78rem;font-weight:800;padding:6px 14px;border-radius:6px;z-index:30;box-shadow:0 4px 16px #0006}.filters{position:sticky;top:0;z-index:20;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 16px;margin:0 -16px;background:linear-gradient(var(--bg) 78%,transparent)}.filters::-webkit-scrollbar{display:none}.filters button:first-child{margin-left:auto}.filters button:last-child{margin-right:auto}.filters button{flex-shrink:0;background:var(--bg-raise);color:var(--cream-dim);border:1px solid var(--line);font-size:.88rem;font-weight:700;padding:8px 16px;border-radius:6px;transition:all .15s}.filters button.on{background:var(--teal);border-color:var(--teal);color:#fffdf6}.style-section h2{font-family:var(--font-display);font-weight:600;font-size:1.2rem;color:var(--cream);display:flex;align-items:center;gap:12px;margin:26px 0 12px}.style-section h2:after{content:"";flex:1;height:1px;background:var(--line)}.style-section h2 .count{font-family:var(--font-ui);font-size:.8rem;font-weight:700;color:var(--cream-faint)}.wine-card{display:grid;grid-template-columns:88px 1fr;gap:14px;background:var(--bg-card);border:1px solid var(--line);border-radius:8px;padding:14px;margin-bottom:12px;animation:fadeUp .3s ease both;cursor:pointer}.wine-card .bottle{display:flex;align-items:center;justify-content:center;min-height:128px}.wine-card .bottle img{max-width:100%;max-height:140px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.35))}.wine-card .card-head{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--teal-bright);padding-bottom:8px;border-bottom:1px solid var(--line)}.wine-card .style-tag{display:inline-flex;align-items:center;gap:5px}.wine-card .style-tag .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.style-tinto .dot{background:#7a2733!important}.style-branco .dot{background:#c9a227!important}.style-rose .dot{background:#d98a8a!important}.style-espumante .dot{background:#b3a26a!important}.wine-card .card-head .no{color:var(--cream-faint);font-weight:700;letter-spacing:.1em;font-variant-numeric:tabular-nums}.wine-card .info{min-width:0}.wine-card .origin{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--cream-faint);margin-top:4px}.wine-card h3{font-family:var(--font-display);font-weight:600;font-size:1.05rem;line-height:1.25}.wine-card .complement{font-style:italic;color:var(--cream-dim);font-size:.85rem}.wine-card .grapes{color:var(--cream-dim);font-size:.82rem;margin-top:4px}.wine-card .meta-row{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px;padding-top:10px;border-top:1px solid var(--line)}.wine-card .rating{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;font-weight:700;color:var(--cream-dim);text-decoration:none}.wine-card .rating .vivino-badge{width:15px;height:15px;border-radius:4px}.wine-card .price{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:1.14rem;font-weight:700;color:var(--cream);white-space:nowrap}.badge-low{background:var(--red);color:#fff;font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:6px}.wine-card .desc{grid-column:1 / -1;color:var(--cream-dim);font-size:.9rem;line-height:1.55;border-top:1px solid var(--line);padding-top:10px;animation:fadeUp .25s ease both}.wine-card .desc .order-hint{margin-top:10px;font-weight:800;font-size:.84rem;color:var(--teal-bright)}.wine-card .hint{grid-column:1 / -1;text-align:center;font-size:.72rem;color:var(--cream-faint);margin-top:2px}.state-box{text-align:center;padding:60px 20px;color:var(--cream-dim)}.state-box .icon{font-size:2.4rem;margin-bottom:12px}.state-box h3{font-family:var(--font-display);font-size:1.25rem;color:var(--cream);margin-bottom:6px}.state-box button{margin-top:16px;background:var(--teal);color:#fff;font-weight:700;padding:10px 24px;border-radius:6px}.menu-footer{text-align:center;margin:44px -16px 0;padding:30px 20px calc(26px + env(safe-area-inset-bottom));background:var(--bg-raise);border-top:1px solid var(--line);color:var(--cream-faint);font-size:.78rem}.menu-footer .event-logo{width:58px;height:auto}.menu-footer .event-name{margin-top:10px;font-family:var(--font-display);font-weight:700;font-size:1.02rem;color:var(--cream)}.menu-footer .event-tag{margin-top:2px;font-size:.8rem;font-weight:700;color:var(--cream-dim)}.menu-footer .heart{color:var(--red-bright)}.menu-footer .foot-rule{width:46px;height:1px;margin:18px auto;background:var(--line)}.menu-footer .tech-label{font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.2em}.menu-footer .cc-logo{margin-top:9px;height:28px;opacity:.85}.menu-footer .copy{margin-top:12px;font-size:.68rem}.sk-card{height:156px;margin-bottom:12px}
