/* ══ Palette — Rosso · Bianco · Neutri scuri ════════════════════════════════ */
:root {
  --red:        #9d2023;
  --red-dark:   #7f1a1c;
  --red-deeper: #4e0e10;
  --red-glow:   rgba(157,32,35,.4);
  --red-soft:   rgba(157,32,35,.12);
  --color-brand:    rgba(157,32,35,1);
  --color-brand-90: rgba(157,32,35,0.9);
  --color-brand-15: rgba(157,32,35,0.15);
  --color-brand-10: rgba(157,32,35,0.1);
  --color-brand-08: rgba(157,32,35,0.08);
  --color-brand-05: rgba(157,32,35,0.05);
  --white:      #ffffff;
  --cream:      #f0e8e5;
  --cream-dim:  #c4aeab;
  --bg:         #100c0b;
  --surface:    #1a1110;
  --surface2:   #221817;
  --surface3:   #2e2120;
  --border:     #3a2927;
  --border-dim: #2a1e1d;
  --r-sm:   8px;
  --r-md:   12px;
  --r-lg:   18px;
  --r-full: 9999px;
  --ease:     cubic-bezier(0.2,0,0,1);
  --dur-fast: 180ms;
  --dur-med:  300ms;
}

.visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }

*,*::before,*::after { box-sizing:border-box;margin:0;padding:0; }
html { scroll-behavior:smooth;-webkit-text-size-adjust:100%; }
body {
  font-family:'Montserrat',system-ui,sans-serif;
  background:var(--bg);color:var(--cream);
  line-height:1.5;-webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));
}

/* ══ Keyframes ═══════════════════════════════════════════════════════════════ */
@keyframes logoReveal { from{opacity:0;transform:translateY(-20px) scale(.93)} to{opacity:1;transform:translateY(0) scale(1)} }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-7px)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(10px)} to{opacity:1;transform:translateY(0)} }
@keyframes heroBg { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
@keyframes cardIn { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes sectionIn { from{opacity:0;transform:translateX(-10px)} to{opacity:1;transform:translateX(0)} }
@keyframes badgeShimmer { 0%{background-position:-200% center} 100%{background-position:200% center} }
@keyframes badgePulse { 0%,100%{box-shadow:0 0 0 0 var(--red-glow)} 50%{box-shadow:0 0 0 6px transparent} }
@keyframes spin { to{transform:rotate(360deg)} }

/* ══ Hero ════════════════════════════════════════════════════════════════════ */
.hero {
  position:relative;min-height:340px;
  display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;
  background:linear-gradient(135deg,var(--red-dark) 0%,var(--red) 25%,var(--red-deeper) 50%,var(--red) 75%,var(--red-dark) 100%);
  background-size:300% 300%;animation:heroBg 14s ease infinite;
}
.hero::before { content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,rgba(255,255,255,.03) 0px,rgba(255,255,255,.03) 1px,transparent 1px,transparent 16px);pointer-events:none; }
.hero::after { content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,var(--bg),transparent);pointer-events:none; }
.hero-content { position:relative;z-index:1;padding:52px 24px 70px;display:flex;flex-direction:column;align-items:center; }
.hero-logo { height:128px;width:auto;object-fit:contain;filter:drop-shadow(0 6px 24px rgba(0,0,0,.7)) brightness(1.08);animation:logoReveal 600ms var(--ease) both,float 5s ease-in-out 800ms infinite; }
.hero-divider { width:40px;height:1px;background:rgba(255,255,255,.35);margin:20px 0 14px;animation:fadeUp .4s var(--ease) .5s both; }
.hero-tagline { font-size:10px;font-weight:700;letter-spacing:3.5px;text-transform:uppercase;color:rgba(255,255,255,.55);animation:fadeUp .4s var(--ease) .65s both; }
.scroll-hint { position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:2;color:rgba(255,255,255,.3);font-size:22px;line-height:1;animation:bounce 1.8s ease-in-out 1s infinite; }
.hero-topbar { position:absolute;top:14px;right:14px;z-index:10;display:flex;align-items:center;gap:4px; }
.hero-topbar-btn { background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.18);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,.9);position:relative;transition:background .2s;-webkit-tap-highlight-color:transparent;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px); }
.hero-topbar-btn:active { background:rgba(157,32,35,.5); }
.hero-topbar-btn .material-symbols-rounded { font-size:22px; }

/* Mode Pill */
.mode-pill-wrap { margin-bottom:18px;display:flex;justify-content:center; }
.mode-pill { display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.06);border:1px solid var(--border);border-radius:var(--r-full);padding:7px 14px 7px 10px;color:var(--cream-dim);font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:all var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent; }
.mode-pill:hover { background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:var(--cream); }
.mode-pill.active-asporto,.mode-pill.active-tavolo { background:var(--color-brand-15);border-color:var(--red-glow);color:var(--cream); }
.mode-pill .material-symbols-rounded { font-size:16px;color:var(--red); }
.mode-pill-chevron { font-size:14px !important;color:var(--cream-dim) !important; }

/* ══ Sticky Header ═══════════════════════════════════════════════════════════ */
#stickyHeader { position:fixed;top:0;left:0;right:0;z-index:300;background:rgba(16,12,11,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);box-shadow:0 2px 20px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 16px;transform:translateY(-100%);transition:transform .3s var(--ease);pointer-events:none; }
#stickyHeader.visible { transform:translateY(0);pointer-events:auto; }
.sticky-logo { height:32px;object-fit:contain;filter:brightness(1.05); }
.sticky-actions { display:flex;align-items:center;gap:4px; }
.sticky-action-btn { background:none;border:none;color:var(--cream-dim);cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;transition:color .2s,background .2s;-webkit-tap-highlight-color:transparent; }
.sticky-action-btn:active { color:var(--red);background:var(--red-soft); }
.sticky-action-btn .material-symbols-rounded { font-size:22px; }
#stickySearchBar { position:absolute;top:0;left:0;right:0;bottom:0;padding:8px 12px 8px 16px;clip-path:circle(0px at calc(100% - 32px) 50%);transition:clip-path .5s cubic-bezier(.4,0,.2,1);pointer-events:none;background:rgba(16,12,11,.95); }
#stickySearchBar.search-open { clip-path:circle(120% at calc(100% - 32px) 50%);pointer-events:auto; }
.nav-search-input { flex:1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:var(--r-full);color:var(--cream);font-family:'Montserrat',sans-serif;font-size:.88rem;padding:7px 14px;outline:none;transition:border-color .2s,background .2s; }
.nav-search-input:focus { border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.14); }
.nav-search-input::placeholder { color:var(--cream-dim); }

/* ══ Nav Rail ════════════════════════════════════════════════════════════════ */
.nav-rail { position:sticky;top:0;z-index:200;background:var(--surface);border-bottom:1px solid var(--border);padding:10px 0 11px;transition:box-shadow var(--dur-med) var(--ease),background var(--dur-med),top .3s cubic-bezier(0.2,0,0,1); }
.nav-rail.elevated { background:rgba(20,13,12,.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 4px 24px rgba(0,0,0,.6); }
.nav-chips { display:flex;gap:7px;overflow-x:auto;padding:0 20px;scrollbar-width:none; }
.nav-chips::-webkit-scrollbar { display:none; }
.nav-chip { display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:var(--r-full);border:1px solid var(--border);background:transparent;color:var(--cream-dim);font-family:inherit;font-size:12px;font-weight:600;letter-spacing:.2px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent; }
.nav-chip .material-symbols-rounded { font-size:15px;line-height:1; }
.nav-chip:hover { border-color:rgba(255,255,255,.2);color:var(--cream);background:rgba(255,255,255,.05); }
.nav-chip.active { background:var(--red);border-color:var(--red);color:var(--white);box-shadow:0 2px 12px var(--red-glow); }

/* ══ Main / Section / Grid ═══════════════════════════════════════════════════ */
main { max-width:1080px;margin:0 auto;padding:0 16px 100px; }
.category-section { padding:44px 0 0; }
.section-header { display:flex;align-items:center;gap:12px;margin-bottom:20px;animation:sectionIn .35s var(--ease) both; }
.section-header::after { content:'';flex:1;height:1px;background:linear-gradient(to right,var(--border) 0%,transparent 100%); }
.section-icon { width:40px;height:40px;border-radius:var(--r-md);background:var(--red);color:var(--white);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 10px var(--red-glow); }
.section-icon .material-symbols-rounded { font-size:20px; }
.section-title { font-size:20px;font-weight:800;color:var(--cream);letter-spacing:-.3px;white-space:nowrap; }
.items-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:12px; }

/* ══ Card ════════════════════════════════════════════════════════════════════ */
.item-card { background:var(--surface2);border-radius:var(--r-lg);border:1px solid var(--border-dim);padding:16px 16px 14px;display:flex;flex-direction:column;position:relative;overflow:hidden;opacity:0;animation:cardIn .4s var(--ease) both;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),transform var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease); }
.item-card.is-new::before { content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--red),transparent); }
.item-card:hover { background:var(--surface3);border-color:rgba(157,32,35,.35);transform:translateY(-3px);box-shadow:0 8px 28px rgba(0,0,0,.5),0 0 0 1px rgba(157,32,35,.2); }
.item-card-top { display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:6px; }
.item-name { font-size:14px;font-weight:700;color:var(--cream);line-height:1.35;flex:1;letter-spacing:-.1px; }
.badge-new { display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border-radius:var(--r-full);font-size:9px;font-weight:800;letter-spacing:1px;text-transform:uppercase;white-space:nowrap;flex-shrink:0;color:var(--white);overflow:hidden;background:linear-gradient(120deg,var(--red-dark) 0%,var(--red) 35%,#d43a3d 50%,var(--red) 65%,var(--red-dark) 100%);background-size:200% auto;animation:badgeShimmer 3s linear infinite,badgePulse 2.4s ease-in-out infinite; }
.badge-new .material-symbols-rounded { font-size:11px; }
.item-desc { font-size:11.5px;color:var(--cream-dim);line-height:1.55;margin-bottom:10px; }
.item-price-row { display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;border-top:1px solid var(--border-dim); }
.item-price { font-size:15px;font-weight:800;color:var(--white);letter-spacing:-.2px; }
.item-price-row .btn-group { display:flex;gap:6px;align-items:center;flex-shrink:0; }
.btn-add-cart { width:32px;height:32px;border-radius:var(--r-full);border:none;background:var(--red);color:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px var(--red-glow);transition:transform var(--dur-fast) var(--ease),background var(--dur-fast);-webkit-tap-highlight-color:transparent; }
.btn-add-cart .material-symbols-rounded { font-size:18px; }
.btn-add-cart:hover { transform:scale(1.1);background:var(--red-dark); }
.btn-add-cart.in-cart { background:transparent;border:2px solid var(--red);color:var(--red);box-shadow:none; }
.btn-customize { width:32px;height:32px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface3);color:var(--cream-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent; }
.btn-customize .material-symbols-rounded { font-size:16px; }
.btn-customize:hover { border-color:var(--red);color:var(--red);background:var(--red-soft); }
.btn-customize.in-cart { background:transparent;border:2px solid var(--red);color:var(--red); }

/* Discount badges */
.badge-discount { display:inline-flex;align-items:center;gap:3px;background:var(--red);color:#fff;border-radius:var(--r-full);font-size:.68rem;font-weight:800;padding:2px 7px;text-transform:uppercase;letter-spacing:.03em; }
.item-price-original { font-size:.78rem;color:var(--cream-dim);text-decoration:line-through;margin-right:4px; }
.item-price-discounted { color:var(--red);font-weight:800; }

/* ══ States / Footer ═════════════════════════════════════════════════════════ */
.state-center { display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:100px 24px;color:var(--cream-dim);font-size:14px;text-align:center; }
.spinner { width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--red);border-radius:50%;animation:spin .8s linear infinite; }
footer { text-align:center;padding:28px 24px 24px;margin-top:40px;color:var(--cream-dim);font-size:12px;position:relative; }
footer::before { content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent); }
.footer-logo { height:36px;opacity:.55;margin-bottom:10px;display:block;margin-left:auto;margin-right:auto; }
footer a { color:rgba(255,255,255,.5);text-decoration:none; }
footer a:hover { color:var(--white); }
.footer-credit { margin-top:10px;font-size:10px;color:rgba(255,255,255,.25);letter-spacing:.3px; }
.footer-credit a { color:rgba(255,255,255,.35);text-decoration:none;transition:color .2s; }
.footer-credit a:hover { color:rgba(255,255,255,.65); }
.footer-heart { color:var(--red);opacity:.8; }

/* ══ Responsive ══════════════════════════════════════════════════════════════ */
@media(max-width:540px) { .hero-logo{height:96px} .section-title{font-size:17px} .items-grid{grid-template-columns:1fr} }
@media(min-width:900px) { .items-grid{grid-template-columns:repeat(3,1fr)} }

/* ══ Cart ════════════════════════════════════════════════════════════════════ */
.cart-backdrop { position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease); }
.cart-backdrop.open { opacity:1;pointer-events:all; }
.cart-drawer { position:fixed;left:0;right:0;bottom:0;z-index:700;background:var(--surface);border-top:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:85vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform var(--dur-med) var(--ease); }
.cart-drawer.open { transform:translateY(0); }
@media(min-width:600px) { .cart-drawer{left:auto;right:20px;bottom:90px;width:360px;border-radius:var(--r-lg);border:1px solid var(--border);max-height:72vh;transform:translateY(12px) scale(.97);opacity:0;transition:transform var(--dur-med) var(--ease),opacity var(--dur-med) var(--ease)} .cart-drawer.open{transform:none;opacity:1} }
.cart-drawer-handle { width:40px;height:4px;border-radius:2px;background:var(--border);margin:10px auto 0;flex-shrink:0; }
@media(min-width:600px) { .cart-drawer-handle{display:none} }
.cart-drawer-header { display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border-dim);flex-shrink:0; }
.cart-drawer-title { font-size:16px;font-weight:800;color:var(--cream);margin-bottom:4px; }
.cart-session-tag { display:inline-block;background:var(--red-soft);color:var(--red);border:1px solid rgba(157,32,35,.3);border-radius:var(--r-full);padding:2px 10px;font-size:11px;font-weight:700;letter-spacing:.2px; }
.cart-close-btn { width:34px;height:34px;border-radius:var(--r-full);background:var(--surface3);border:none;color:var(--cream-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent; }
.cart-close-btn .material-symbols-rounded { font-size:18px; }
.cart-items { flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent; }
.cart-empty-msg { text-align:center;padding:40px 20px;color:var(--cream-dim);font-size:13px; }
.cart-item { display:flex;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid var(--border-dim); }
.cart-item-name { flex:1;font-size:13px;font-weight:600;color:var(--cream);line-height:1.3; }
.cart-item-price { font-size:13px;font-weight:700;color:var(--white);min-width:50px;text-align:right;white-space:nowrap; }
.qty-controls { display:flex;align-items:center;gap:6px;flex-shrink:0; }
.qty-btn { width:28px;height:28px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface2);color:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color var(--dur-fast),background var(--dur-fast);-webkit-tap-highlight-color:transparent; }
.qty-btn .material-symbols-rounded { font-size:14px; }
.qty-btn:hover { border-color:var(--red);background:var(--red-soft);color:var(--white); }
.qty-val { font-size:14px;font-weight:700;color:var(--cream);min-width:20px;text-align:center; }
.cart-footer { padding:14px 18px 16px;border-top:1px solid var(--border);flex-shrink:0; }
.cart-total-row { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px; }
.cart-total-label { font-size:12px;color:var(--cream-dim);font-weight:600; }
.cart-total-value { font-size:22px;font-weight:800;color:var(--white); }
.cart-clear-btn { width:100%;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--cream-dim);font-family:inherit;font-size:12px;font-weight:700;padding:10px;cursor:pointer;transition:all var(--dur-fast);-webkit-tap-highlight-color:transparent; }
.cart-clear-btn:hover { background:var(--surface3);color:var(--red);border-color:var(--red); }
.btn-cart-checkout { width:100%;background:var(--red);border:none;border-radius:var(--r-sm);color:var(--white);font-family:inherit;font-size:14px;font-weight:700;padding:13px 20px;cursor:pointer;margin-top:10px;transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;gap:8px; }
.btn-cart-checkout:hover { background:var(--red-dark); }
.btn-cart-checkout .material-symbols-rounded { font-size:18px; }

/* ══ Size Modal ══════════════════════════════════════════════════════════════ */
.size-modal-overlay { position:fixed;inset:0;z-index:1100;background:rgba(8,5,4,.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:24px; }
.size-modal { background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px 20px 20px;width:100%;max-width:320px;animation:fadeUp .25s var(--ease) both; }
.size-modal-title { font-size:15px;font-weight:800;color:var(--cream);margin-bottom:4px;line-height:1.3; }
.size-modal-sub { font-size:12px;color:var(--cream-dim);margin-bottom:16px; }
.size-opts { display:flex;flex-direction:column;gap:8px; }
.size-opt-btn { display:flex;align-items:center;justify-content:space-between;background:var(--surface3);border:2px solid var(--border);border-radius:var(--r-md);padding:14px 16px;cursor:pointer;color:var(--cream);font-family:inherit;transition:all var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent; }
.size-opt-btn:hover { border-color:var(--red);background:var(--red-soft); }
.size-opt-label { font-size:14px;font-weight:700; }
.size-opt-price { font-size:14px;font-weight:800;color:var(--white); }
.size-modal-cancel { width:100%;background:transparent;border:none;color:var(--cream-dim);font-family:inherit;font-size:13px;font-weight:600;padding:12px;cursor:pointer;margin-top:4px;-webkit-tap-highlight-color:transparent; }
.size-modal-cancel:hover { color:var(--cream); }

/* ══ Customize Modal ═════════════════════════════════════════════════════════ */
.customize-overlay { position:fixed;inset:0;z-index:1200;background:rgba(8,5,4,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:flex-end;justify-content:center;padding:0; }
@media(min-width:600px) { .customize-overlay{align-items:center;padding:24px} }
.customize-modal { background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg) var(--r-lg) 0 0;width:100%;max-height:90vh;display:flex;flex-direction:column;animation:fadeUp .28s var(--ease) both; }
@media(min-width:600px) { .customize-modal{border-radius:var(--r-lg);max-width:420px;max-height:80vh} }
.customize-handle { width:36px;height:4px;background:var(--border);border-radius:var(--r-full);margin:10px auto 0;flex-shrink:0; }
@media(min-width:600px) { .customize-handle{display:none} }
.customize-header { padding:14px 18px 12px;flex-shrink:0;border-bottom:1px solid var(--border-dim);display:flex;align-items:flex-start;justify-content:space-between;gap:12px; }
.customize-title { font-size:15px;font-weight:800;color:var(--cream);line-height:1.3;flex:1; }
.customize-base-price { font-size:13px;color:var(--cream-dim);margin-top:2px; }
.customize-close { background:none;border:none;cursor:pointer;color:var(--cream-dim);padding:4px;border-radius:var(--r-full);display:flex;transition:color var(--dur-fast);-webkit-tap-highlight-color:transparent; }
.customize-close:hover { color:var(--cream); }
.customize-close .material-symbols-rounded { font-size:20px; }
.customize-body { overflow-y:auto;flex:1;padding:16px 18px; }
.customize-section-title { font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--cream-dim);margin-bottom:10px;margin-top:16px;display:flex;align-items:center;gap:8px; }
.customize-section-title:first-child { margin-top:0; }
.customize-section-title::after { content:'';flex:1;height:1px;background:var(--border-dim); }
.ingr-list { display:flex;flex-direction:column;gap:6px; }
.ingr-row { display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--surface3);border:1px solid var(--border-dim);border-radius:var(--r-md);cursor:pointer;transition:all var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent;user-select:none;width:100%;font-family:inherit;font-size:inherit;color:inherit;text-align:left; }
.ingr-row:hover { border-color:rgba(157,32,35,.3);background:var(--surface2); }
.ingr-row.active { border-color:var(--red);background:var(--red-soft); }
.ingr-row.removing { border-color:rgba(255,100,100,.4);background:rgba(255,50,50,.06); }
.ingr-toggle { width:22px;height:22px;border-radius:var(--r-full);border:2px solid var(--border);background:var(--surface2);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--dur-fast) var(--ease); }
.ingr-row.active .ingr-toggle { background:var(--red);border-color:var(--red); }
.ingr-row.removing .ingr-toggle { background:rgba(200,50,50,.5);border-color:rgba(200,50,50,.7); }
.ingr-toggle .material-symbols-rounded { font-size:13px;color:var(--white);display:none; }
.ingr-row.active .ingr-toggle .material-symbols-rounded,.ingr-row.removing .ingr-toggle .material-symbols-rounded { display:block; }
.ingr-name { flex:1;font-size:13px;font-weight:600;color:var(--cream); }
.ingr-row.removing .ingr-name { text-decoration:line-through;color:var(--cream-dim); }
.ingr-price { font-size:11px;font-weight:700;color:var(--red);background:var(--red-soft);border-radius:var(--r-full);padding:2px 8px;white-space:nowrap; }
.ingr-price.free { color:var(--cream-dim);background:transparent; }
.customize-footer { padding:14px 18px 18px;border-top:1px solid var(--border-dim);flex-shrink:0; }
.customize-price-row { display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px; }
.customize-price-label { font-size:12px;color:var(--cream-dim);font-weight:600; }
.customize-price-value { font-size:20px;font-weight:800;color:var(--white); }
.customize-add-btn { width:100%;background:var(--red);color:var(--white);border:none;border-radius:var(--r-sm);font-family:inherit;font-size:14px;font-weight:700;padding:14px;cursor:pointer;transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent; }
.customize-add-btn:hover { background:var(--red-dark); }

/* ══ Search ══════════════════════════════════════════════════════════════════ */
#searchResultsWrap { max-width:1080px;margin:0 auto;padding:12px 16px 120px;display:none; }
.search-results-count { font-size:.75rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--cream-dim);padding:4px 2px 12px; }
.search-result-card { display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border-dim);border-radius:var(--r-md);padding:14px 14px 14px 16px;margin-bottom:8px;animation:fadeUp .18s var(--ease) both;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast); }
.search-result-card:active { background:var(--surface2);border-color:var(--border); }
.search-result-body { flex:1;min-width:0; }
.search-result-cat { font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--red);margin-bottom:3px; }
.search-result-name { font-size:.95rem;font-weight:700;color:var(--cream);line-height:1.3; }
.search-result-desc { font-size:.78rem;color:var(--cream-dim);margin-top:3px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.search-hl { background:transparent;color:var(--red);font-weight:800; }
.search-result-side { display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0; }
.search-result-price { font-size:.88rem;font-weight:800;color:var(--white);white-space:nowrap;text-align:right; }
.search-empty { text-align:center;padding:60px 20px 40px;color:var(--cream-dim); }
.search-empty .material-symbols-rounded { font-size:48px;display:block;margin-bottom:12px;opacity:.35; }
.search-empty p { font-size:.9rem;line-height:1.6; }

/* ══ Bottom Navigation Bar ═══════════════════════════════════════════════════ */
.bottom-nav-bar { position:fixed;bottom:0;left:0;right:0;z-index:450;background:rgba(16,12,11,.97);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);display:flex;align-items:stretch;height:64px;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -2px 16px rgba(0,0,0,.5); }
.nav-bar-btn { flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;color:var(--cream-dim);font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.3px;cursor:pointer;position:relative;transition:color var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent;padding:0; }
.nav-bar-btn .material-symbols-rounded { font-size:24px; }
.nav-bar-btn:hover { color:var(--cream); }
.nav-bar-btn.active { color:var(--red); }
.nav-bar-btn.active .material-symbols-rounded { font-weight:700; }
.nav-bar-badge { position:absolute;top:6px;right:calc(50% - 18px);min-width:17px;height:17px;background:var(--red);color:white;border-radius:var(--r-full);font-size:10px;font-weight:700;display:none;align-items:center;justify-content:center;padding:0 4px;border:2px solid var(--bg); }

/* Desktop layout */
.desk-fab { display:none;position:fixed;z-index:450;width:56px;height:56px;border-radius:50%;border:2px solid var(--red);background:var(--surface2);color:var(--cream);cursor:pointer;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(0,0,0,.4);transition:transform .2s var(--ease),background .2s,box-shadow .2s;-webkit-tap-highlight-color:transparent; }
.desk-fab:hover { background:var(--red);box-shadow:0 6px 28px var(--red-glow);transform:scale(1.08); }
.desk-fab:active { transform:scale(.95); }
.desk-fab .material-symbols-rounded { font-size:24px; }
.desk-fab-cart { bottom:32px;right:32px; }
.desk-fab-badge { position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;background:var(--red);color:#fff;border-radius:var(--r-full);font-size:.7rem;font-weight:700;line-height:20px;text-align:center;padding:0 5px;display:none;border:2px solid var(--surface2); }
@media(min-width:768px) { body{padding-bottom:0} .bottom-nav-bar{display:none !important} .desk-fab{display:flex} }

/* ══ Cookie Banner ═══════════════════════════════════════════════════════════ */
.cookie-banner { position:fixed;bottom:calc(64px + env(safe-area-inset-bottom,0px));left:0;right:0;z-index:600;padding:0 16px 10px;transform:translateY(120%);transition:transform .4s cubic-bezier(0.2,0,0,1);pointer-events:none; }
@media(min-width:768px) { .cookie-banner{bottom:16px} }
.cookie-banner.visible { transform:translateY(0);pointer-events:all; }
.cookie-inner { max-width:600px;margin:0 auto;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 20px;box-shadow:0 -4px 32px rgba(0,0,0,.6),0 0 0 1px rgba(157,32,35,.2);display:flex;gap:14px;align-items:flex-start; }
.cookie-icon { flex-shrink:0;width:40px;height:40px;background:var(--red-soft);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center; }
.cookie-icon .material-symbols-rounded { color:var(--red);font-size:22px; }
.cookie-text { flex:1; }
.cookie-text strong { font-size:14px;font-weight:700;color:var(--cream);display:block;margin-bottom:4px; }
.cookie-text p { font-size:12px;color:var(--cream-dim);line-height:1.5;margin:0; }
.cookie-actions { display:flex;flex-direction:column;gap:6px;flex-shrink:0;align-items:stretch;min-width:130px; }
.cookie-btn-accept { background:var(--red);border:none;border-radius:var(--r-full);padding:10px 20px;color:white;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background var(--dur-fast) var(--ease);white-space:nowrap; }
.cookie-btn-accept:hover { background:var(--red-dark); }
.cookie-btn-decline { background:transparent;border:1px solid var(--border);border-radius:var(--r-full);padding:8px 16px;color:var(--cream-dim);font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;transition:color var(--dur-fast);text-align:center;white-space:nowrap; }
.cookie-btn-decline:hover { color:var(--cream); }
@media(max-width:560px) { .cookie-inner{flex-direction:column} .cookie-actions{flex-direction:row;min-width:unset} .cookie-btn-accept,.cookie-btn-decline{flex:1} }

/* PWA Install Banner */
.install-banner { position:fixed;top:0;left:0;right:0;z-index:590;padding:10px 12px;transform:translateY(-110%);transition:transform .4s cubic-bezier(0.2,0,0,1);pointer-events:none; }
.install-banner.visible { transform:translateY(0);pointer-events:all; }
.install-inner { max-width:600px;margin:0 auto;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;box-shadow:0 4px 24px rgba(0,0,0,.5);display:flex;gap:12px;align-items:center; }
.install-icon { width:44px;height:44px;border-radius:var(--r-sm);flex-shrink:0;object-fit:cover; }
.install-text { flex:1;min-width:0; }
.install-text strong { font-size:13px;font-weight:700;color:var(--cream);display:block; }
.install-text p { font-size:11px;color:var(--cream-dim);line-height:1.4;margin:2px 0 0; }
.install-btn-accept { background:var(--red);border:none;border-radius:var(--r-full);padding:9px 18px;color:white;font-family:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--dur-fast) var(--ease); }
.install-btn-accept:hover { background:var(--red-dark); }
.install-dismiss { background:transparent;border:none;cursor:pointer;color:var(--cream-dim);padding:4px;flex-shrink:0;display:flex;align-items:center;transition:color var(--dur-fast) var(--ease); }
.install-dismiss:hover { color:var(--cream); }
.install-dismiss .material-symbols-rounded { font-size:18px; }

/* SW Update Popup */
.update-popup { position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px rgba(0,0,0,.6);z-index:500;max-width:340px;width:calc(100vw - 40px);opacity:0;pointer-events:none;transition:all .3s var(--ease); }
.update-popup.visible { opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0); }
.update-popup-text { flex:1;font-size:.82rem;color:var(--cream);font-weight:600;line-height:1.3; }
.update-popup-btn { background:var(--red);color:#fff;border:none;border-radius:var(--r-full);font-family:'Montserrat',sans-serif;font-size:.78rem;font-weight:700;padding:8px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0; }

/* ══ Checkout Sheet ══════════════════════════════════════════════════════════ */
.checkout-backdrop { position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease); }
.checkout-backdrop.open { opacity:1;pointer-events:all; }
.checkout-sheet { position:fixed;bottom:0;left:0;right:0;z-index:801;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;max-height:92vh;display:flex;flex-direction:column;transform:translateY(100%);transition:transform var(--dur-med) var(--ease);box-shadow:0 -4px 32px rgba(0,0,0,.5);pointer-events:none; }
.checkout-sheet.open { transform:translateY(0);pointer-events:auto; }
@media(min-width:600px) { .checkout-sheet{left:auto;right:20px;bottom:20px;width:420px;border-radius:var(--r-lg);transform:translateY(20px) scale(.97);opacity:0;transition:transform var(--dur-med) var(--ease),opacity var(--dur-med) var(--ease);max-height:90vh} .checkout-sheet.open{transform:none;opacity:1} }
.checkout-handle { width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 0;flex-shrink:0; }
@media(min-width:600px) { .checkout-handle{display:none} }
.checkout-header { display:flex;align-items:center;justify-content:space-between;padding:14px 18px 0;flex-shrink:0; }
.checkout-title { font-size:16px;font-weight:800;color:var(--cream); }
.checkout-close { background:none;border:none;color:var(--cream-dim);cursor:pointer;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent; }
.checkout-progress { display:flex;align-items:center;gap:4px;padding:12px 18px 0;flex-shrink:0; }
.checkout-progress-step { flex:1;height:3px;border-radius:2px;background:var(--border);transition:background var(--dur-med); }
.checkout-progress-step.done { background:var(--red); }
.checkout-progress-step.active { background:var(--red-dark); }
.checkout-body { overflow-y:auto;flex:1;padding:16px 18px; }
.checkout-step-title { font-size:11px;font-weight:700;color:var(--cream-dim);text-transform:uppercase;letter-spacing:.8px;margin-bottom:16px; }
.checkout-footer { padding:14px 18px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);flex-shrink:0;display:flex;gap:10px; }
.btn-checkout-back { background:var(--surface3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--cream-dim);font-family:inherit;font-size:14px;font-weight:700;padding:13px 18px;cursor:pointer;transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent;flex-shrink:0; }
.btn-checkout-back:hover { background:var(--border);color:var(--cream); }
.btn-checkout-next { flex:1;background:var(--red);border:none;border-radius:var(--r-sm);color:var(--white);font-family:inherit;font-size:14px;font-weight:700;padding:13px 20px;cursor:pointer;transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent; }
.btn-checkout-next:hover:not(:disabled) { background:var(--red-dark); }
.btn-checkout-next:disabled { opacity:.4;cursor:not-allowed; }
.checkout-type-btns { display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px; }
.checkout-type-btn { background:var(--surface3);border:2px solid var(--border);border-radius:var(--r-md);color:var(--cream);font-family:inherit;font-size:13px;font-weight:700;padding:18px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all var(--dur-fast) var(--ease);-webkit-tap-highlight-color:transparent; }
.checkout-type-btn .material-symbols-rounded { font-size:30px; }
.checkout-type-btn.selected { background:var(--red-soft);border-color:var(--red);color:var(--white);box-shadow:0 0 0 2px var(--red-glow); }
.form-field { margin-bottom:14px; }
.form-label { display:block;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--cream-dim);margin-bottom:7px; }
.form-input,.form-textarea { width:100%;background:var(--surface3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--cream);font-family:inherit;font-size:14px;padding:11px 14px;outline:none;transition:border-color var(--dur-fast),box-shadow var(--dur-fast); }
.form-textarea { resize:vertical;min-height:72px;max-height:140px; }
.form-input:focus,.form-textarea:focus { border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft); }
.form-input::placeholder,.form-textarea::placeholder { color:var(--cream-dim);opacity:.5; }
.form-input.error { border-color:#ff6b6b; }
.form-error { font-size:11px;color:#ff6b6b;margin-top:4px;display:none; }
.form-error.visible { display:block; }
.slot-date-input { width:100%;background:var(--surface3);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--cream);font-family:inherit;font-size:14px;padding:11px 14px;outline:none;margin-bottom:14px;transition:border-color var(--dur-fast); color-scheme:dark; }
.slot-date-input:focus { border-color:var(--red); }
.slot-chips { display:flex;flex-wrap:wrap;gap:8px; }
.slot-chip { padding:8px 16px;border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface3);color:var(--cream-dim);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-fast) var(--ease); }
.slot-chip:hover { border-color:var(--red);color:var(--cream); }
.slot-chip.selected { background:var(--red);border-color:var(--red);color:#fff; }
.slot-chip:disabled { opacity:.35;cursor:not-allowed; }
.slot-empty { color:var(--cream-dim);font-size:13px;padding:16px 0;text-align:center; }
.slot-loading { display:flex;align-items:center;gap:10px;color:var(--cream-dim);font-size:13px;padding:8px 0; }
.checkout-summary-item { display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-dim); }
.checkout-summary-item:last-child { border-bottom:none; }
.checkout-summary-qty { font-size:13px;font-weight:800;color:var(--red);min-width:24px; }
.checkout-summary-name { flex:1;font-size:13px;font-weight:600;color:var(--cream); }
.checkout-summary-price { font-size:13px;font-weight:700;color:var(--white); }
.checkout-total-row { display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;border-top:1px solid var(--border); }
.checkout-total-label { font-size:13px;color:var(--cream-dim); }
.checkout-total-value { font-size:22px;font-weight:800;color:var(--white); }
.checkout-confirm { text-align:center;padding:24px 0; }
.checkout-confirm-icon { width:72px;height:72px;border-radius:50%;background:var(--red-soft);border:2px solid var(--red);display:flex;align-items:center;justify-content:center;margin:0 auto 16px; }
.checkout-confirm-icon .material-symbols-rounded { font-size:36px;color:var(--red); }
.checkout-confirm h2 { font-size:20px;font-weight:800;color:var(--cream);margin-bottom:8px; }
.checkout-confirm p { font-size:13px;color:var(--cream-dim);line-height:1.6; }
.checkout-order-number { display:inline-block;background:var(--red-soft);color:var(--red);border:1px solid rgba(157,32,35,.3);border-radius:var(--r-full);padding:4px 16px;font-size:14px;font-weight:800;margin:12px 0;letter-spacing:1px; }
.checkout-info-box { background:var(--color-brand-08);border:1px solid rgba(157,32,35,.2);border-radius:var(--r-md);padding:12px 14px;margin-bottom:14px;font-size:12px;color:var(--cream-dim);line-height:1.5;display:flex;gap:10px;align-items:flex-start; }
.checkout-info-box .material-symbols-rounded { color:var(--red);font-size:18px;flex-shrink:0;margin-top:1px; }

/* ══ Account Sheet ═══════════════════════════════════════════════════════════ */
.account-backdrop { position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.6);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease); }
.account-backdrop.open { opacity:1;pointer-events:all; }
.account-sheet { position:fixed;bottom:0;left:0;right:0;z-index:801;background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;transform:translateY(100%);transition:transform var(--dur-med) var(--ease);pointer-events:none; }
.account-sheet.open { transform:translateY(0);pointer-events:auto; }
.account-handle { width:36px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 0; }
.account-header { display:flex;align-items:center;justify-content:space-between;padding:14px 18px 12px;border-bottom:1px solid var(--border); }
.account-title { font-size:16px;font-weight:800;color:var(--cream); }
.account-body { padding:18px 18px calc(24px + env(safe-area-inset-bottom,0px)); }
.account-save-btn { width:100%;background:var(--red);border:none;border-radius:var(--r-sm);color:#fff;font-family:inherit;font-size:14px;font-weight:700;padding:13px;cursor:pointer;margin-top:8px;transition:background var(--dur-fast); }
.account-save-btn:hover { background:var(--red-dark); }
.account-clear-btn { width:100%;background:transparent;border:1px solid var(--border);border-radius:var(--r-sm);color:var(--cream-dim);font-family:inherit;font-size:13px;font-weight:600;padding:11px;cursor:pointer;margin-top:8px;transition:all var(--dur-fast); }
.account-clear-btn:hover { border-color:#ff6b6b;color:#ff6b6b; }
.account-close { background:none;border:none;color:var(--cream-dim);cursor:pointer;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center; }

/* ══ Checkout sheet header/body ══════════════════════════════════════════════ */
.checkout-sheet-header { display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border);flex-shrink:0; }
.checkout-sheet-title { flex:1;font-size:15px;font-weight:800;color:var(--cream);text-align:center; }
.checkout-back-btn,.checkout-close-btn { background:none;border:none;color:var(--cream-dim);cursor:pointer;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;-webkit-tap-highlight-color:transparent;transition:background var(--dur-fast); }
.checkout-back-btn:hover,.checkout-close-btn:hover { background:var(--surface3); }
.checkout-sheet-body { overflow-y:auto;flex:1;padding:18px 18px calc(24px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch; }

/* Also patch account sheet to use same header/body structure */
.checkout-sheet-header .checkout-sheet-title { margin:0; }

/* ── Progress bar (simple fill bar) ─────────────────────────────────────────── */
.checkout-pbar { height:3px;background:var(--border);flex-shrink:0; }
.checkout-pbar-fill { height:100%;background:var(--red);transition:width .35s var(--ease); }

/* ── Shared confirm button ───────────────────────────────────────────────────── */
.btn-confirm-order { width:100%;background:var(--red);border:none;border-radius:var(--r-sm);color:#fff;font-family:'Montserrat',sans-serif;font-size:14px;font-weight:700;padding:14px;cursor:pointer;transition:background var(--dur-fast);-webkit-tap-highlight-color:transparent; }
.btn-confirm-order:hover:not(:disabled) { background:var(--red-dark); }
.btn-confirm-order:disabled { opacity:.4;cursor:not-allowed; }

/* ── Error / success feedback ────────────────────────────────────────────────── */
.checkout-error { background:rgba(255,80,80,.12);border:1px solid rgba(255,80,80,.3);border-radius:var(--r-sm);color:#ff8080;font-size:13px;padding:10px 14px;margin-bottom:12px; }
.account-msg { font-size:13px;margin:8px 0;min-height:18px; }

/* ── Checkout success state ──────────────────────────────────────────────────── */
.checkout-success { text-align:center;padding:24px 0 8px; }
.checkout-success-icon { width:72px;height:72px;border-radius:50%;background:var(--red-soft);border:2px solid var(--red);display:flex;align-items:center;justify-content:center;margin:0 auto 16px; }
.checkout-success-icon .material-symbols-rounded { font-size:36px;color:var(--red); }
.checkout-success h3 { font-size:20px;font-weight:800;color:var(--cream);margin-bottom:8px; }
.checkout-success p { font-size:13px;color:var(--cream-dim);line-height:1.6; }

/* ── Order type info ─────────────────────────────────────────────────────────── */
.checkout-type-info { display:flex;gap:12px;align-items:flex-start;background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-md);padding:14px;margin:12px 0 16px; }
.order-type-info-icon { width:36px;height:36px;border-radius:50%;background:var(--red-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.order-type-info-icon .material-symbols-rounded { font-size:20px;color:var(--red); }
.order-type-info-body { flex:1; }
.order-type-info-title { font-size:14px;font-weight:700;color:var(--cream);margin-bottom:4px; }
.order-type-info-desc { font-size:12px;color:var(--cream-dim);line-height:1.55; }
.order-type-info-note { display:flex;gap:6px;align-items:center;font-size:11px;color:var(--cream-dim);margin-top:8px;opacity:.7; }
.order-type-info-note .material-symbols-rounded { font-size:14px; }

/* ── Slot date label ─────────────────────────────────────────────────────────── */
.slot-date-label { font-size:12px;font-weight:700;color:var(--cream-dim);text-transform:uppercase;letter-spacing:.6px;margin:16px 0 8px; }
.slot-date-label:first-child { margin-top:0; }

/* ── Order summary ───────────────────────────────────────────────────────────── */
.summary-meta { background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;margin-bottom:14px; }
.summary-meta-row { display:flex;align-items:center;gap:10px;padding:5px 0;font-size:13px;color:var(--cream-dim); }
.summary-meta-row .material-symbols-rounded { font-size:18px;color:var(--red);flex-shrink:0; }
.summary-items { border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;margin-bottom:14px; }
.summary-item { display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border-dim); }
.summary-item:last-child { border-bottom:none; }
.summary-item-name { flex:1;font-size:13px;color:var(--cream);display:flex;flex-direction:column;gap:3px; }
.summary-item-price { font-size:13px;font-weight:700;color:var(--white);margin-left:12px;flex-shrink:0; }
.summary-total-row { display:flex;justify-content:space-between;align-items:baseline;font-size:15px;font-weight:800;color:var(--white);padding:10px 0 0; }

/* ── Ingredient row: non-removable ───────────────────────────────────────────── */
.ingr-row.non-removable { cursor:default;opacity:.6; }

/* ── Update popup dismiss button ─────────────────────────────────────────────── */
.update-popup-dismiss { background:none;border:none;color:var(--cream-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;flex-shrink:0;-webkit-tap-highlight-color:transparent; }
