/* Shared structure for cafe / bakery / barbershop demos. Themes come from each design's variables. */
.tag.t-dur{background:transparent;border:1px solid var(--line);color:var(--muted);font-weight:600}
/* weekly specials */
.spec-g{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(30px,5vw,70px);align-items:start}
.spec{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}
.spec li{display:grid;grid-template-columns:110px 1fr 1fr;gap:6px 16px;padding:14px 20px;border-top:1px solid var(--line);align-items:baseline}
.spec li:first-child{border-top:0}.spec li b{font-family:var(--display);font-weight:var(--dw,700)}.spec li span{color:var(--muted);font-size:.95rem}
.spec li.today{background:var(--accent);color:var(--accent-ink)}.spec li.today span{color:inherit;opacity:.92}
.spec li.today b::after{content:"Today";display:block;font:700 .62rem/1.6 var(--body);letter-spacing:.14em;text-transform:uppercase;opacity:.85}
@media(max-width:860px){.spec-g{grid-template-columns:1fr}.spec li{grid-template-columns:1fr}}
/* order-ahead steps */
.steps{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.steps li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.steps li span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:700 1.2rem/1 var(--display);margin-bottom:14px}
.steps li b{font:var(--dw,700) 1.3rem/1.2 var(--display);display:block;margin-bottom:6px}.steps li p{margin:0;color:var(--muted)}
.steps-b{margin-bottom:6px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
/* oven timeline */
.oven{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.oven li{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.oven time{font:var(--dw,700) 1.35rem/1.1 var(--display);color:var(--accent);white-space:nowrap;min-width:92px}
.oven b{display:block;font-size:1.05rem}.oven p{margin:4px 0 0;color:var(--muted);font-size:.95rem}
@media(max-width:960px){.oven{grid-template-columns:1fr 1fr}}@media(max-width:620px){.oven{grid-template-columns:1fr}}
/* custom cakes */
.cake-g{display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,4vw,50px);align-items:start}
.cakes{display:grid;gap:14px}
.cake{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.cake img{width:100%;height:110px;object-fit:cover}.cake div{padding:10px 16px 10px 0;display:grid;gap:2px}.cake b{font:var(--dw,700) 1.25rem/1.2 var(--display)}
.cake span{color:var(--muted);font-size:.95rem}.cake em{font-style:normal;font-weight:700;color:var(--price,var(--accent))}
.cakeform{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,32px)}
.cakeform h3{font:var(--dw,700) 1.5rem/1.2 var(--display);margin:0 0 14px}.cf-g{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media(max-width:900px){.cake-g{grid-template-columns:1fr}}@media(max-width:520px){.cf-g{grid-template-columns:1fr}.cake{grid-template-columns:110px 1fr}}
/* barbers */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:8px}
.barber{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.mono{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:var(--dw,700) 1.6rem/1 var(--display);margin-bottom:14px}
.barber b{font:var(--dw,700) 1.35rem/1.1 var(--display);display:block}.barber small{display:block;color:var(--accent);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:4px 0 8px}
.barber p{margin:0;color:var(--muted);font-size:.95rem}
@media(max-width:960px){.team{grid-template-columns:1fr 1fr}}@media(max-width:480px){.team{grid-template-columns:1fr}}
.sbk-svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.sbk-svc,.sbk-br{font:inherit;color:var(--ink);background:var(--card);border:1.5px solid var(--line);border-radius:var(--chip-r,10px);padding:12px 14px;text-align:left;cursor:pointer;min-height:46px}
.sbk-svc b{display:block;font-size:.98rem}.sbk-svc small{color:var(--muted)}
.sbk-brs{display:flex;flex-wrap:wrap;gap:8px}.sbk-br{font-weight:700;padding:10px 18px}
.sbk-svc[aria-pressed=true],.sbk-br[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.sbk-svc[aria-pressed=true] small{color:inherit;opacity:.85}
/* wait board */
.wait-g{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,4vw,50px);align-items:start}
.wboard{background:var(--wb-bg,#111);color:var(--wb-ink,#f4f1ea);border-radius:var(--r);padding:clamp(20px,3vw,30px)}
.wb-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:14px;font-size:.92rem}
.wb-live{display:inline-flex;align-items:center;gap:8px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.74rem}
.wb-live::before{content:"";width:9px;height:9px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.2)}
.wboard ul{list-style:none;margin:0;padding:0}
.wboard li{display:grid;grid-template-columns:44px 1fr auto;grid-template-areas:"m n t" "m s t";gap:0 14px;align-items:center;padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}
.wboard .mono{grid-area:m;width:44px;height:44px;font-size:1.2rem;margin:0}.wboard li b{grid-area:n;font-size:1.1rem}.wboard li span{grid-area:s;opacity:.75;font-size:.92rem}
.wboard li em{grid-area:t;font-style:normal;font-weight:700;text-align:right}
.wboard li.w-free em{color:#3ddc84}.wboard li.w-off{opacity:.5}
.wboard .form-note{color:inherit;opacity:.65}
.wsteps{list-style:none;counter-reset:w;margin:0 0 22px;padding:0;display:grid;gap:14px}
.wsteps li{counter-increment:w;display:grid;grid-template-columns:40px 1fr;gap:2px 14px;align-items:baseline}
.wsteps li::before{content:counter(w);grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);font-weight:800}
.wsteps b{font:var(--dw,700) 1.2rem/1.2 var(--display)}.wsteps span{color:var(--muted)}
@media(max-width:860px){.wait-g{grid-template-columns:1fr}}
/* ===== bars & garage ===== */
.dform{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,32px)}
.dform h3{font:var(--dw,700) 1.5rem/1.2 var(--display);margin:0 0 14px}
@media(max-width:520px){.dform .cf-g{grid-template-columns:1fr}}
.play-g{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,64px);align-items:start}
.play-g>div>img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r);margin-top:22px}
.pts{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:14px}
.pts li{display:grid;gap:2px;padding:0 0 14px 18px;border-left:3px solid var(--accent)}.pts b{font:var(--dw,700) 1.15rem/1.2 var(--display)}.pts span{color:var(--muted)}
@media(max-width:900px){.play-g{grid-template-columns:1fr}}
/* shows */
.shows-g{display:grid;grid-template-columns:1.6fr 1fr;gap:clamp(24px,4vw,48px);align-items:start}
.shows{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.show{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.gd{display:grid;place-items:center;text-align:center;border-radius:calc(var(--r)*.6);background:var(--accent);color:var(--accent-ink);padding:10px 6px;line-height:1.15}
.gd b{font:var(--dw,700) 1.35rem/1 var(--display);text-transform:uppercase}.gd span{font-size:.78rem;font-weight:700;opacity:.9;margin-top:4px}
.show h3{font:var(--dw,700) clamp(1.2rem,2vw,1.5rem)/1.15 var(--display);margin:0 0 4px}.show p{margin:0;color:var(--muted)}
.show-m{display:grid;justify-items:end;gap:4px;text-align:right}.show-m span{font-size:.9rem;color:var(--muted)}.show-m em{font-style:normal;font-weight:700;color:var(--price,var(--accent))}
.btn.btn-sm{padding:8px 14px;font-size:.85rem;min-height:0}
.show.is-today{outline:3px solid var(--accent);outline-offset:-1px}
.weekly{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(20px,3vw,30px)}
.weekly h3{font:var(--dw,700) 1.5rem/1.2 var(--display);margin:0 0 12px}.weekly ul{list-style:none;margin:0 0 20px;padding:0}
.weekly li{display:grid;padding:10px 0;border-top:1px solid var(--line)}.weekly li b{font-size:1.02rem}.weekly li span{color:var(--muted)}
@media(max-width:900px){.shows-g{grid-template-columns:1fr}}
@media(max-width:600px){.show{grid-template-columns:72px 1fr;gap:12px 14px}.show-m{grid-column:1/-1;grid-template-columns:1fr auto auto;align-items:center;justify-items:start;text-align:left;gap:10px}.gd b{font-size:1.1rem}}
/* games */
.games-g{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(24px,4vw,44px);align-items:start}
.games{list-style:none;margin:0 0 10px;padding:0;border:1px solid var(--line);border-radius:var(--r);background:var(--card);overflow:hidden}
.game{display:grid;grid-template-columns:62px 78px 1fr auto;gap:14px;align-items:center;padding:12px 16px;border-top:1px solid var(--line)}
.game:first-child{border-top:0}.game .gd{padding:8px 4px}.game .gd b{font-size:1rem}.game .gd span{font-size:.7rem}
.g-t{font-weight:700;font-variant-numeric:tabular-nums}.game small{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.game div b{font-size:1.05rem}.game em{font-style:normal;font-size:.85rem;color:var(--muted);text-align:right}
.game.is-today{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.gday h3{font:var(--dw,700) 1.5rem/1.2 var(--display);margin:0 0 12px}
.gday .spec li{grid-template-columns:96px 1fr;gap:2px 14px;padding:11px 16px}.gday .spec li small{grid-column:2;color:var(--muted)}.gday .spec li.today small{color:inherit;opacity:.9}
@media(max-width:900px){.games-g{grid-template-columns:1fr}}
@media(max-width:560px){.game{grid-template-columns:56px 1fr;gap:4px 12px}.game .gd{grid-row:span 3}.game em{text-align:left}.gday .spec li{grid-template-columns:1fr}.gday .spec li small{grid-column:1}}
/* garage */
.trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust li{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;gap:6px}
.trust b{font:var(--dw,700) 1.2rem/1.2 var(--display)}.trust span{color:var(--muted);font-size:.95rem}
@media(max-width:960px){.trust{grid-template-columns:1fr 1fr}}@media(max-width:520px){.trust{grid-template-columns:1fr}}
.show-m span{white-space:nowrap}
@media(max-width:760px){.mbar:has(a:nth-child(3)){grid-template-columns:repeat(3,1fr)}.mbar:has(a:nth-child(3)) a{font-size:.9rem;gap:6px}}
/* Daily specials (Oct 30) */
.spec.daily li{grid-template-columns:120px 1fr auto auto;gap:6px 18px;align-items:center;padding:14px 20px}
.spec.daily li div{display:flex;flex-direction:column;gap:2px}.spec.daily li strong{font-weight:700}.spec.daily li div span{color:var(--muted);font-size:.92rem}
.spec.daily li em{font-style:normal;font-weight:800;white-space:nowrap}.spec.daily li em s{font-weight:400;opacity:.6;margin-right:4px}
.spec.daily li.today div span{color:inherit;opacity:.9}.spec.daily li.closed{opacity:.7}
.spec.daily .dl-b{min-height:40px;padding:0 16px;font-size:.9rem}.spec.daily .add[disabled]{opacity:.5;cursor:not-allowed}
.spec.daily li.today .add,.spec.daily li.today .dl-b{background:var(--accent-ink);color:var(--accent);border-color:var(--accent-ink)}
@media(max-width:700px){.spec.daily li{grid-template-columns:1fr auto;gap:4px 12px}.spec.daily li>b{grid-column:1/-1}.spec.daily li .dl-a{grid-column:2;grid-row:2/4;align-self:center}.spec.daily li em{grid-column:1}}
/* cart tax + tip (Oct 30) */
.cart-calc{margin:-4px 0 14px;font-size:.92rem}.cc-row{display:flex;justify-content:space-between;padding:4px 0}.cc-total{border-top:1px solid var(--line);margin-top:6px;padding-top:8px;font-weight:800;font-size:1.05rem}
.cc-tip{border:0;margin:6px 0 2px;padding:0}.cc-tip legend{font-weight:600;font-size:.88rem;padding:0;margin-bottom:6px}.cc-tip legend small{font-weight:400;opacity:.75}
.cc-tips{display:flex;flex-wrap:wrap;gap:6px}.cc-tips label{position:relative;cursor:pointer}.cc-tips input{position:absolute;opacity:0;inset:0}
.cc-tips span{display:inline-block;padding:6px 11px;border:1px solid var(--line);border-radius:999px;font-size:.84rem;font-weight:600}
.cc-tips input:checked+span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.cc-tips input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.cc-cust{display:flex;align-items:center;gap:6px;margin-top:8px;font-size:.88rem}.cc-cust input{width:90px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font:inherit}
.cc-cust[hidden],.ch [hidden]{display:none!important}
.cart-vis .cart-fab{display:none!important}
.cart input::placeholder,.cart textarea::placeholder{color:var(--muted);opacity:.9}
.dinein{display:inline-block;margin-left:8px;padding:4px 9px;border-radius:999px;border:1.5px solid currentColor;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:.95}
.alc-msg{margin:8px 0 12px;padding:10px 12px;border-radius:10px;background:#111;color:#fff;font-weight:700;font-size:.9rem}.alc-msg[hidden]{display:none}

.order-wrap>*{min-width:0}
/* Oct 30 8:31 PM: phone/tablet order panel (no floating pill; bottom-bar "Order (N)" opens the cart full-screen) */
.cart-fab{display:none!important}
.cart-dh{display:none}
html.cart-lock,html.cart-lock body{overflow:hidden}
@media(max-width:1000px){
 .mbar{position:fixed;left:0;right:0;bottom:0;z-index:85;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -8px 24px -12px rgba(0,0,0,.4)}
 .mbar:has(a:nth-child(3)){grid-template-columns:repeat(3,1fr)}
 .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;background:var(--mbar-bg,var(--accent));color:var(--mbar-ink,var(--accent-ink));font-weight:800;text-decoration:none;touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.15)}
 .mbar a+a{background:var(--mbar2-bg,var(--ink));color:var(--mbar2-ink,var(--bg))}
 .mbar svg{width:18px;height:18px;flex:none}
 .mbar:has(a:nth-child(3)) a{font-size:.9rem;gap:6px}
 .mbar a:focus-visible{outline:3px solid currentColor;outline-offset:-5px}
 .mb-n{font-variant-numeric:tabular-nums}
 .mb-order.bump{animation:mbump .35s ease}
 body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
 .cart.is-drawer{position:fixed;left:0;right:0;top:0;bottom:0;z-index:150;max-height:none;height:100%;width:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;border:0;border-radius:0;margin:0;padding:0 18px calc(32px + env(safe-area-inset-bottom));background:var(--bg);color:var(--ink);box-shadow:none;animation:cdrw .22s ease-out}
 .cart.is-drawer>*{max-width:640px;margin-left:auto;margin-right:auto}
 .cart.is-drawer .cart-dh{display:flex;position:sticky;top:0;z-index:3;justify-content:space-between;align-items:center;gap:12px;max-width:none;margin:0 -18px 16px;padding:8px 12px 8px 16px;background:var(--accent);color:var(--accent-ink);box-shadow:0 6px 16px -10px rgba(0,0,0,.5)}
 .cart-back{background:none;border:0;font:inherit;font-weight:800;font-size:1rem;color:inherit;padding:10px 4px;min-height:44px;cursor:pointer;text-align:left}
 .cart-x{flex:none;width:44px;height:44px;border-radius:50%;border:0;background:var(--ink);color:var(--bg);font-size:1.7rem;line-height:1;cursor:pointer}
 .cart-back:focus-visible,.cart-x:focus-visible{outline:3px solid currentColor;outline-offset:2px}
}
@keyframes mbump{50%{transform:scale(1.06)}}
@keyframes cdrw{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){.cart.is-drawer,.mb-order.bump{animation:none}}
