/* Guest menu: built for one hand, a phone, and bright sun. */
html{scroll-padding-top:68px}
.intro{padding-top:16px}
.tagline{font-size:.95rem;font-weight:600;color:var(--ink-2)}

/* today's special */
.special{margin-top:14px;background:var(--mustard);border:2px solid var(--ink);color:var(--ink)}
.special-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 14px 8px;border-bottom:2px solid var(--ink);font-size:.78rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}
.special-list{display:grid}
.sp{display:grid;grid-template-columns:1fr auto;gap:12px;padding:14px;align-items:start;text-decoration:none}
.sp + .sp{border-top:1.5px solid rgba(22,24,15,.35)}
.sp h3{font-family:var(--display);font-weight:900;font-size:1.75rem;line-height:.98;text-transform:uppercase;letter-spacing:.005em}
.sp p{margin-top:6px;font-size:.98rem;line-height:1.4}
.sp .pr{display:inline-block;margin-top:10px;font-weight:800;font-size:1.2rem;font-variant-numeric:tabular-nums}
.sp img{width:104px;height:104px;object-fit:cover;border:2px solid var(--ink);background:var(--paper-2)}
.sp.is-out h3,.sp.is-out .pr{text-decoration:line-through;text-decoration-thickness:2px}

/* search + filters */
.find{padding-top:20px}
.search{position:relative;display:block}
.search svg{position:absolute;left:14px;top:50%;width:22px;height:22px;transform:translateY(-50%);pointer-events:none}
.search input{width:100%;min-height:52px;padding:0 14px 0 46px;border:2px solid var(--ink);border-radius:0;background:var(--card);font-size:1.0625rem;-webkit-appearance:none;appearance:none}
.search input::placeholder{color:#5c5f50;opacity:1}
.search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:22px;height:22px;background:linear-gradient(45deg,transparent 45%,var(--ink) 45%,var(--ink) 55%,transparent 55%),linear-gradient(-45deg,transparent 45%,var(--ink) 45%,var(--ink) 55%,transparent 55%);cursor:pointer}
.chips{display:flex;gap:8px;margin-top:10px}
.chip{flex:1;display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 12px;border:2px solid var(--ink);background:var(--card);font-weight:650;font-size:.98rem}
.chip .box{width:18px;height:18px;border:2px solid var(--ink);flex:none;display:grid;place-items:center}
.chip[aria-pressed="true"]{background:var(--olive);border-color:var(--olive);color:#fff}
.chip[aria-pressed="true"] .box{border-color:#fff;background:#fff}
.chip[aria-pressed="true"] .box::after{content:"";width:9px;height:5px;border:solid var(--olive);border-width:0 0 2.5px 2.5px;transform:translateY(-1px) rotate(-45deg)}
.count{min-height:1.4em;margin-top:8px;font-size:.9rem;font-weight:600;color:var(--ink-2)}

/* sticky tabs */
.tabs{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:2px solid var(--ink);margin-top:4px}
.tabs-in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-top:8px;padding-bottom:8px}
.tabs-in::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;min-height:44px;padding:0 16px;border:2px solid var(--ink);font-weight:700;font-size:.98rem;background:var(--card)}
.tab[aria-current="true"]{background:var(--ink);color:var(--paper)}

/* sections + dishes */
.loading,.empty{padding:40px 0;font-weight:600}
.empty button{margin-top:12px}
.cat{padding-top:22px}
.cat-h{display:flex;flex-direction:column;gap:2px;padding-bottom:10px;border-bottom:3px solid var(--ink)}
.cat-h h2{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:2.6rem;line-height:.9;letter-spacing:.005em}
.cat-h p{font-size:.9rem;font-weight:550;color:var(--ink-2)}
.dish{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:16px 0;border-bottom:1.5px solid var(--line)}
.dish:last-child{border-bottom:0}
.d-flags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:6px}
.flag{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px 3px;line-height:1.2}
.flag.special{background:var(--mustard);color:var(--ink)}
.flag.out{background:var(--tomato);color:#fff}
.d-name{font-size:1.125rem;font-weight:700;line-height:1.3;letter-spacing:-.005em}
.d-desc{margin-top:3px;font-size:1rem;line-height:1.42;color:var(--ink-2)}
.d-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.d-price{font-weight:800;font-size:1.125rem;font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1.3}
.d-ph{width:88px;height:88px;object-fit:cover;background:var(--paper-2);border:1.5px solid var(--ink)}
.d-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tag{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:2px 8px 1px 6px;border:1.5px solid var(--ink);font-size:.82rem;font-weight:600;line-height:1.1;background:var(--card)}
.tag svg{width:16px;height:16px;flex:none}
.tag.diet{background:var(--olive);border-color:var(--olive);color:#fff;font-weight:750;padding-left:8px}
.dish.is-out .d-name{text-decoration:line-through;text-decoration-thickness:2px}
.dish.is-out .d-price{text-decoration:line-through;color:var(--ink-2)}
.dish.is-out .d-desc{color:#55584a}
.dish.is-out .d-ph{filter:grayscale(1);opacity:.65}
.dish.is-out .tag{opacity:.75}
.dish.flash{animation:flash 1.6s ease-out}
@keyframes flash{0%,30%{background:var(--mustard-2)}100%{background:transparent}}

/* legend */
.legend{margin-top:34px;padding-top:18px;border-top:3px solid var(--ink)}
.legend h2{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:2rem;line-height:.95}
.legend-note{margin-top:8px;font-size:.98rem;color:var(--ink-2)}
.legend-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.legend-list .tag{min-height:40px;font-size:.92rem;width:100%}
.legend-list .tag svg{width:20px;height:20px}
.legend-list .wide{grid-column:1/-1;font-size:.92rem;color:var(--ink-2)}

/* live update toast */
.toast{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:50;transform:translate(-50%,calc(100% + 40px));background:var(--ink);color:var(--paper);font-weight:650;font-size:.95rem;padding:12px 18px;border:2px solid var(--mustard);max-width:calc(100% - 32px);transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s;pointer-events:none;visibility:hidden}
.toast.on{transform:translate(-50%,0);visibility:visible}

@media (min-width:700px){
  .sp img{width:132px;height:132px}
  .d-ph{width:104px;height:104px}
}
