/* Menu + pickup ordering, v3 (13 Oct 2026). Works with kit.css and order-menu.js.
   Each category opens on a crop of their flower wall with its name in neon; dishes sit on white cards with the gold table-leg line. */

/* Head: the "I got you babe" booth behind the bench-teal velvet, with a neon line */
.menu-head{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:56px 0 calc(48px + var(--sc))}
.mh-img{position:absolute;inset:0 0 0 auto;width:62%;height:100%;object-fit:cover;object-position:20% 30%;z-index:-2;opacity:.9}
.menu-head::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--night) 30%,rgba(22,49,48,.55) 70%,rgba(22,49,48,.2))}
.mh-in{display:grid;gap:10px;justify-items:start}
.menu-head .neon{font-size:clamp(36px,7vw,52px);transform:rotate(-4deg);transform-origin:0 100%}
.menu-head h1{font-size:clamp(48px,7vw,76px);color:#fff}
.menu-head p:not(.neon){color:rgba(255,255,255,.88);max-width:30em}
@media (max-width:640px){.mh-img{width:100%;opacity:.75}.menu-head::before{background:linear-gradient(180deg,rgba(22,49,48,.25),rgba(22,49,48,.8) 55%,var(--night) 92%)}}

/* Category bar: pills on blush */
.catnav{position:sticky;top:var(--barh,64px);z-index:20;background:var(--bg);box-shadow:0 1px 0 var(--line)}
.catnav .wrap{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.catnav .wrap::-webkit-scrollbar{display:none}
.catnav a{flex:none;text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;font-weight:700;font-size:15px;color:var(--ink);background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}
.catnav a:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}
.catnav a.on{color:#fff;background:var(--ink);box-shadow:none}
@media (min-width:1024px){.catnav .wrap{flex-wrap:wrap}}

/* Search, count, allergy line */
.msearch{display:block;max-width:560px;margin:24px 0 0}
.msearch input{width:100%;min-height:52px;border:1.5px solid #E2C2CC;border-radius:999px;padding:12px 20px;font:400 16px/1.4 var(--body);background:var(--surface);color:var(--ink)}
.msearch input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(176,48,106,.18)}
.mcount,.allergy-top{margin-top:8px;font-size:14.5px;color:var(--muted)}
.mcount{font-weight:700;color:var(--ink)}
.mnone{margin:32px 0 0;padding:24px;background:var(--surface);border-radius:var(--r)}

/* Each category: a flower-wall banner with the name in neon, then the dishes on a white card */
.cat{padding-top:40px;scroll-margin-top:130px;--fw:url(img/booth-flower-wall.webp)}
.cat h2{display:flex;align-items:center;min-height:116px;padding:20px 24px;border-radius:var(--r);overflow:hidden;
  font:400 clamp(36px,6vw,50px)/1.1 var(--script);color:#FFE4F1;text-shadow:var(--glow);
  background:linear-gradient(90deg,rgba(22,49,48,.7),rgba(22,49,48,.05)),var(--fw) var(--bp,0 0)/280% auto var(--night)}
.cat:nth-child(9n+2){--bp:100% 0}
.cat:nth-child(9n+3){--bp:60% 4%;--fw:url(img/interior.jpg)}
.cat:nth-child(9n+4){--bp:30% 2%}
.cat:nth-child(9n+5){--bp:96% 6%;--fw:url(img/interior.jpg)}
.cat:nth-child(9n+6){--bp:70% 12%}
.cat:nth-child(9n+7){--bp:10% 18%}
.cat:nth-child(9n+8){--bp:80% 0;--fw:url(img/interior.jpg)}
.cat:nth-child(9n+9){--bp:45% 0}
@media (min-width:700px){.cat h2{background-size:auto,100% auto}}
.cat .note{color:var(--muted);margin-top:12px;font-size:15.5px;max-width:34em}
.grid{display:grid;margin-top:14px;background:var(--surface);border-radius:var(--r);padding:4px 20px;box-shadow:inset 0 0 0 6px var(--surface),inset 0 0 0 7px rgba(201,161,91,.6),0 22px 44px -34px rgba(176,48,106,.55)}
@media (min-width:860px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;padding:8px 32px}}
.dish{border-bottom:1px solid var(--line)}
.dish:last-child{border-bottom:0}
@media (min-width:860px){.dish:nth-last-child(2):nth-child(odd){border-bottom:0}}
.dish img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;margin-top:16px;background:var(--soft)}
.dish .body{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;row-gap:4px;padding:16px 0}
.dish h3{grid-column:1;grid-row:1;font:700 17px/1.35 var(--body);display:flex;gap:4px 8px;align-items:baseline;flex-wrap:wrap}
.dish .tagb{font-size:12px;font-weight:700;color:var(--accent);background:var(--soft);border-radius:999px;padding:2px 8px}
.dish p{grid-column:1;grid-row:2;color:var(--muted);font-size:15px;line-height:1.5}
.dish .tags{grid-column:1;grid-row:3;display:flex;gap:8px;font-size:12.5px;font-weight:700;color:var(--muted)}
.dish .foot{display:contents}
.dish .price{grid-column:2;grid-row:1;justify-self:end;font:400 19px/1.3 var(--display);color:var(--accent);font-variant-numeric:tabular-nums}
.dish .foot .r{grid-column:2;grid-row:2/span 2;align-self:end;justify-self:end;display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.dish .incart{font-size:13px;font-weight:700;color:var(--accent)}
.add{border:0;box-shadow:inset 0 0 0 1.5px var(--accent);background:transparent;color:var(--accent);border-radius:999px;padding:0 18px;min-height:44px;font:700 15px/1 var(--body);cursor:pointer;transition:background-color .15s,color .15s,transform .1s ease-out}
.add:hover{background:var(--accent);color:#fff}
.add:active{transform:scale(.96)}
.legend{font-size:14.5px;color:var(--muted);margin:48px 0 72px;max-width:40em}

/* Floating order bar */
.cart{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(12px + env(safe-area-inset-bottom,0px));width:min(560px,calc(100% - 24px));background:var(--night);color:#fff;border-radius:var(--r);padding:8px 8px 8px 20px;display:flex;justify-content:space-between;align-items:center;gap:12px;z-index:45;cursor:pointer}
.cart small{opacity:.78;display:block;font-size:13px}
.cart .btn{white-space:nowrap;background:#fff;color:var(--ink);box-shadow:none;min-height:48px;padding:10px 20px}
.cart:focus-visible{outline-color:var(--accent)}
body.has-cart{padding-bottom:96px}

/* Item sheet + order list */
.qty{display:inline-flex;align-items:center;gap:8px;background:var(--soft);border-radius:var(--r);padding:2px}
.qty button{width:44px;height:44px;border-radius:var(--r);border:0;background:var(--surface);font-size:19px;line-height:1;cursor:pointer;color:var(--ink)}
.qty b{min-width:16px;text-align:center;font-variant-numeric:tabular-nums}
.sheet-scrim{position:fixed;inset:0;background:rgba(22,49,48,.55);z-index:70}
.sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(560px,100%);max-height:min(88vh,820px);background:var(--bg);border-radius:var(--r) var(--r) 0 0;z-index:71;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}
@media (min-width:700px){.sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:var(--r)}}
@media (prefers-reduced-motion:no-preference){.sheet{animation:up .22s ease-out}@keyframes up{from{opacity:.4;translate:0 30px}}}
.sheet .sh-top{position:relative;flex:none}
.sheet .sh-top img{width:100%;height:180px;object-fit:cover;border-radius:var(--r) var(--r) 0 0}
.sheet .hero-ph{height:120px;display:grid;place-items:center;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(180deg,rgba(22,49,48,.1),rgba(22,49,48,.55)),url(img/booth-flower-wall.webp) 0 2%/220% auto var(--night)}
.sheet .hero-ph .ph-title{font:400 38px/1.1 var(--script);color:#FFE4F1;text-shadow:var(--glow);transform:rotate(-4deg);padding:0 56px;text-align:center}
.sheet .x{position:absolute;top:10px;right:12px;width:44px;height:44px;border-radius:999px;border:0;background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:22px;cursor:pointer;color:var(--ink)}
.sheet .scroll{overflow-y:auto;padding:16px 20px 8px;display:grid;gap:16px}
.sheet h3{font-size:30px}
.sheet .sub{color:var(--muted);margin-top:4px;font-size:15px}
.grp h4{margin:0 0 8px;font-size:15px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:8px}
.grp h4 small{font-weight:700;color:var(--muted);font-size:13px}
.grp h4 .req{color:var(--accent)}
.grp.miss h4 .req{color:#B3261E}
.grp.miss h4 .req::after{content:": pick one"}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{border:0;box-shadow:inset 0 0 0 1.5px var(--line);background:var(--surface);border-radius:var(--r);padding:0 16px;min-height:44px;font:400 15px/1 var(--body);cursor:pointer;color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.opt small{color:var(--muted);font-size:13px}
.opt[aria-pressed="true"]{box-shadow:inset 0 0 0 2px var(--ink);font-weight:700}
.sheet textarea{width:100%;min-height:64px;border:1.5px solid #E2C2CC;border-radius:var(--r);padding:10px 12px;font:400 16px/1.4 var(--body);background:var(--surface);color:var(--ink);resize:vertical}
.sheet textarea:focus{outline:none;border-color:var(--accent)}
.sheet .bar{flex:none;display:flex;gap:12px;align-items:center;padding:12px 20px 16px;box-shadow:0 -1px 0 var(--line)}
.sheet .bar .btn{flex:1;padding:12px 16px}
.btn-fill{background:var(--accent);color:#fff}
.list{display:grid;border-top:1px solid var(--line)}
.line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}
.line.noimg{grid-template-columns:minmax(0,1fr) auto}
.line img{width:56px;height:56px;border-radius:var(--r);object-fit:cover}
.line b{display:block;font-size:15.5px}
.line span{display:block;font-size:13.5px;color:var(--muted);line-height:1.4}
.line .link{min-height:32px}
.line .r{display:grid;justify-items:end;gap:8px}
.line .r strong{font-variant-numeric:tabular-nums}
.line .qty{display:inline-flex}
.line .qty b{display:inline;font-size:15px}
.totals{display:flex;justify-content:space-between;font-weight:700;font-size:17px}
.empty-o{color:var(--muted);padding:24px 0}
.demo-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--night);color:#fff;padding:12px 16px;border-radius:var(--r);font-size:14.5px;z-index:90;max-width:calc(100% - 32px);text-align:center}
