/* Menu + ordering page for The Sweetest Spot Cafe ("After dark", works with kit.css).
   Each category is a printed-style menu card on blush; the head is a short dark band with a scalloped edge. */
:root{--card:var(--surface);--warm:var(--soft)}

/* Head */
.menu-head{background:var(--night);color:#fff;padding:48px 0 calc(44px + var(--sc));--sc:14px;
  background-image:radial-gradient(ellipse 50% 80% at 85% 10%,rgba(255,79,163,.16),transparent 70%)}
.menu-head h1{font-size:clamp(46px,8vw,76px);margin:0 0 10px;color:#FFF0F6}
.menu-head p{color:rgba(255,255,255,.84);max-width:34em}
.info{list-style:none;padding:0;display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 0}
.info li{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:6px 14px;font-size:13.5px;font-weight:700;color:#fff}

/* Category tabs */
.catnav{position:sticky;top:var(--barh,68px);z-index:20;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.catnav .wrap{display:flex;gap:8px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.catnav a{flex:none;text-decoration:none;border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:0 16px;min-height:44px;display:inline-flex;align-items:center;font-weight:700;font-size:14.5px}
.catnav a:hover{border-color:var(--accent)}
.catnav a.on{background:var(--ink);border-color:var(--ink);color:#fff}

/* Each category: centred title over a menu card */
.cat{padding:48px 0 8px;scroll-margin-top:120px}
.cat h2{font-size:clamp(34px,5vw,46px);text-align:center}
.cat .note{color:var(--muted);margin:8px auto 0;font-size:15.5px;text-align:center;max-width:34em}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;margin-top:22px;background:var(--card);border-radius:28px;padding:18px 40px;
  box-shadow:inset 0 0 0 10px var(--card),inset 0 0 0 11px var(--gold),0 30px 60px -40px rgba(176,48,106,.45)}
.dish{border-bottom:1px dotted #E3C4CE}
.dish:nth-last-child(1),.dish:nth-last-child(2):nth-child(odd){border-bottom:0}
.dish img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;margin-top:14px;background:var(--warm)}
.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-family:var(--body);font-weight:700;font-size:17px;line-height:1.3;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.dish .favb{font-size:12px;font-weight:700;background:var(--soft);color:var(--accent);border-radius:999px;padding:2px 9px}
.dish p{grid-column:1;grid-row:2;margin:0;color:var(--muted);font-size:14.5px;line-height:1.45}
.dish .tags{grid-column:1;grid-row:3;display:flex;gap:5px;margin-top:2px}
.dish .tags span{font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted)}
.dish .foot{display:contents}
.dish .price{grid-column:2;grid-row:1;justify-self:end;font-family:var(--display);font-weight:400;font-size:20px;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.2}
.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:6px}
.dish .incart{font-size:12px;font-weight:700;color:var(--accent)}
.add{border:1.5px solid var(--accent);background:var(--card);color:var(--accent);border-radius:999px;padding:0 18px;min-height:44px;font:inherit;font-weight:700;font-size:14.5px;cursor:pointer;transition:background-color .15s,color .15s}
.add:hover{background:var(--accent);color:#fff}
@media (max-width:820px){.grid{grid-template-columns:1fr;padding:6px 24px}.dish:nth-last-child(2):nth-child(odd){border-bottom:1px dotted #E3C4CE}}
@media (max-width:600px){.cat{padding-top:40px}.grid{padding:4px 22px;border-radius:22px}.dish .body{padding:14px 0}.dish h3{font-size:16px}.dish p{font-size:14px}}
.legend{font-size:13.5px;color:var(--muted);margin:32px auto 48px;text-align:center;max-width:40em}

/* Floating cart */
.cart{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(16px + env(safe-area-inset-bottom,0px));width:min(560px,calc(100% - 24px));background:var(--ink);color:#fff;border-radius:999px;padding:8px 8px 8px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 18px 40px -14px rgba(0,0,0,.45);z-index:45;cursor:pointer}
.cart[hidden]{display:none}
.cart small{opacity:.75;display:block;font-size:12.5px}
.cart .btn{white-space:nowrap;background:var(--soft);color:var(--ink);border-color:var(--soft);padding:10px 20px}
.cart:focus-visible{outline-color:var(--accent)}
body.has-cart{padding-bottom:100px}

/* Customise sheet + order list */
.qty{display:inline-flex;align-items:center;gap:8px;background:var(--warm);border-radius:999px;padding:3px}
.qty button{width:44px;height:44px;border-radius:50%;border:0;background:var(--card);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(16,32,31,.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:26px 26px 0 0;z-index:71;display:flex;flex-direction:column;box-shadow:0 -20px 50px -20px rgba(0,0,0,.4);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (min-width:700px){.sheet{bottom:auto;top:50%;transform:translate(-50%,-50%);border-radius:26px}}
@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:26px 26px 0 0;display:block}
.sheet .hero-ph{height:68px;border-radius:26px 26px 0 0;background:var(--night);color:#FFF0F6;--sc:10px;
  background-image:radial-gradient(ellipse 60% 90% at 80% 0,rgba(255,79,163,.2),transparent 70%)}
.sheet .hero-ph .ph-title{display:none} /* the item name is the heading just below */
.sheet .x{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;border:0;background:var(--card);font-size:22px;cursor:pointer;color:var(--ink);box-shadow:0 4px 12px -4px rgba(0,0,0,.3)}
.sheet .scroll{overflow-y:auto;padding:18px 20px 8px;display:grid;gap:18px}
.sheet h3{font-family:var(--display);font-size:30px}
.sheet .sub{color:var(--muted);margin:4px 0 0;font-size:14.5px}
.grp h4{margin:0 0 9px;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:12.5px}
.grp h4 .req{background:var(--accent);color:#fff;border-radius:999px;padding:2px 9px;font-size:11.5px}
.grp.miss h4 .req{background:#B3261E}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opt{border:1.5px solid var(--line);background:var(--card);border-radius:999px;padding:0 15px;min-height:44px;font:inherit;font-size:14.5px;cursor:pointer;color:var(--ink);display:inline-flex;gap:6px;align-items:center}
.opt small{color:var(--muted);font-size:12.5px}
.opt[aria-pressed="true"]{border-color:var(--accent);background:var(--accent);color:#fff}
.opt[aria-pressed="true"] small{color:#fff}
.sheet textarea{width:100%;min-height:64px;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;font:inherit;font-size:16px;background:var(--card);color:var(--ink);resize:vertical}
.sheet textarea:focus{outline:none;border-color:var(--accent)}
.sheet .bar{flex:none;display:flex;gap:10px;align-items:center;padding:12px 20px 16px;border-top:1px solid var(--line)}
.sheet .bar .btn{flex:1;padding:12px 18px}
.btn-fill{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-fill:hover{background:#9A2659;border-color:#9A2659}
.list{display:grid;gap:10px}
.line{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:10px 10px 10px 14px}
.line.noimg{grid-template-columns:minmax(0,1fr) auto}
.line img{width:56px;height:56px;border-radius:12px;object-fit:cover}
.line b{display:block;font-size:15px}
.line span{display:block;font-size:13px;color:var(--muted);line-height:1.35}
.line .link{min-height:32px}
.line .r{display:grid;justify-items:end;gap:6px}
.line .qty{display:inline-flex}
.line .r strong{font-variant-numeric:tabular-nums}
.totals{display:flex;justify-content:space-between;font-weight:700;font-size:17px;padding:4px 2px}
.empty-o{text-align:center;color:var(--muted);padding:20px 0}
.demo-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 16px;border-radius:12px;font-size:14px;z-index:90;max-width:calc(100% - 32px);text-align:center;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
.site-foot{margin-top:0}
