/* === FRIDA index.html — extracted inline <style> blocks ===
   Originally on lines 10-1565 and 4982-5585 of index.html.
   Concatenated in document order so cascade is preserved. */

:root {
  /* ── Frida Kahlo · Autorretrato palette ── */
  --ink:     #0e0503;          /* copal smoke near-black           */
  --ink2:    #1a0808;          /* deep chili-dark                  */
  --paper:   #f5ead4;          /* aged huipil ivory                */
  --dust:    #d4b896;          /* raw cotton / unbleached linen    */
  --ghost:   #8a6858;          /* dried earth                      */
  --seam:    rgba(212,139,60,.15);

  /* Primary: marigold — cempasúchil, her flower crown */
  --marigold:  #e8890a;
  --marigold2: #f5a623;
  --marigold3: #fcc440;

  /* Drama: dark red — her lips, rebozo, blood */
  --rojo:    #8b1a0e;
  --rojo2:   #b52212;
  --rojo3:   #d4321f;

  /* Support: terracotta — oaxacan walls, clay */
  --terra:   #7a3018;
  --terra2:  #a04020;

  /* Accent: teal — La Casa Azul hints */
  --teal:    #0d4a4a;
  --teal2:   #1b6b6b;
  --teal3:   #2a9090;

  /* Greens — Coyoacán garden */
  --verde:   #2d5a27;
  --verde2:  #3d7a35;

  /* Legacy aliases so existing code doesn't break */
  --ember:   #e8890a;
  --ember2:  #f5a623;
  --wine:    #8b1a0e;
  --wine2:   #b52212;
  --wine3:   #d4321f;
  --gold:    #e8890a;
  --gold2:   #f5ead4;
  --gold3:   #fcc440;
  --moss:    #2d5a27;
  --moss2:   #3d7a35;
  --chili:   #8b1a0e;

  --mono:    'Unbounded', monospace;
  --display: 'Playfair Display', Georgia, serif;
  --serif:   'Crimson Pro', Georgia, serif;
}
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { background:var(--ink); color:var(--paper); font-family:var(--serif); font-weight:300; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
body.locked { overflow:hidden; }

/* CURSOR */
#dot { position:fixed; z-index:9999; pointer-events:none; width:5px; height:5px; border-radius:50%; background:var(--ember); transform:translate(-50%,-50%); mix-blend-mode:screen; transition:width .3s,height .3s; }
#ring { position:fixed; z-index:9998; pointer-events:none; width:28px; height:28px; border-radius:50%; border:1px solid rgba(196,133,58,.35); transform:translate(-50%,-50%); transition:all .14s; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:400; height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 32px; background:rgba(15,14,12,.96); backdrop-filter:blur(24px); border-bottom:1px solid var(--seam); }
.nav-mark { font-family:var(--mono); font-size:10px; letter-spacing:.5em; text-transform:uppercase; color:var(--ember); text-decoration:none; cursor:pointer; }
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a { font-family:var(--mono); font-size:7.5px; letter-spacing:.45em; text-transform:uppercase; color:#d4c8ae; text-decoration:none; transition:color .25s; cursor:pointer; }
.nav-links a:hover, .nav-links a.active { color:var(--ember); }
.nav-right { display:flex; align-items:center; gap:10px; }
.nav-pill { font-family:var(--mono); font-size:7px; letter-spacing:.4em; text-transform:uppercase; padding:9px 16px; border:1px solid rgba(196,133,58,.4); color:#d4c8ae; background:none; cursor:pointer; transition:all .25s; white-space:nowrap; }
.nav-pill:hover { border-color:var(--ember); color:var(--ember); }
.nav-pill.logged { border-color:var(--moss2); color:var(--moss2); }
.cart-btn { position:relative; width:38px; height:38px; border:1px solid rgba(196,133,58,.4); background:none; color:#d4c8ae; font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .25s; }
.cart-btn:hover { border-color:var(--ember); color:var(--ember); }
.cart-num { position:absolute; top:-5px; right:-5px; background:var(--blood2); color:#fff; font-family:var(--mono); font-size:7px; width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .2s; }
.cart-num.on { opacity:1; }
/* Hamburger button */
.nav-burger { display:none; flex-direction:column; justify-content:center; gap:5px; width:36px; height:36px; background:none; border:none; cursor:pointer; padding:4px; }
.nav-burger span { display:block; width:22px; height:1.5px; background:var(--dust); transition:all .25s; transform-origin:center; }
.nav-burger.open span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.nav-burger.open span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
/* Mobile drawer */
.nav-drawer { display:none; position:fixed; top:64px; left:0; right:0; bottom:0; z-index:399; background:rgba(14,5,3,.98); backdrop-filter:blur(20px); padding:32px 28px; overflow-y:auto; flex-direction:column; gap:0; }
.nav-drawer.open { display:flex; animation:drawerIn .22s ease; }
@keyframes drawerIn { from{opacity:0;transform:translateY(-8px)} to{opacity:1;transform:none} }
.nav-drawer li { list-style:none; border-bottom:1px solid var(--seam); }
.nav-drawer li a, .nav-drawer li button { display:block; width:100%; text-align:left; font-family:var(--mono); font-size:9px; letter-spacing:.35em; text-transform:uppercase; color:var(--dust); text-decoration:none; padding:18px 0; background:none; border:none; cursor:pointer; transition:color .15s; }
.nav-drawer li a:hover, .nav-drawer li button:hover { color:var(--ember); }
.nav-drawer li a.hi { color:var(--ember); }
.nav-drawer-actions { margin-top:28px; display:flex; flex-direction:column; gap:10px; }
.nav-drawer-actions button { font-family:var(--mono); font-size:8px; letter-spacing:.35em; text-transform:uppercase; padding:14px; background:var(--ember); color:var(--ink); border:none; cursor:pointer; }
@media(max-width:1024px) {
  .nav-links { display:none; }
  .nav-pill { display:none; }
  nav .cta-primary { display:none; }
  .nav-burger { display:flex; }
}

/* HERO */
.hero { min-height:100vh; display:grid; place-items:center; padding:80px 24px 60px; position:relative; overflow:hidden; }

/* ── Cinematic BG image ── */
.hero-bg {
  position:absolute; inset:0;
  background-color: var(--ink);
}
.hero-bg-img {
  position:absolute; inset:0;
  background-size:cover;
  background-position:center 30%;
  background-repeat:no-repeat;
  opacity:0;
  transition:opacity 1.4s cubic-bezier(.4,0,.2,1);
  /* Slight Ken Burns drift */
  animation: heroDrift 18s ease-in-out infinite alternate;
  will-change: transform;
}
.hero-bg-img.loaded { opacity:1; }
/* Video hero */
.hero-bg-video {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:center;
  opacity:0; transition:opacity 1.6s cubic-bezier(.4,0,.2,1);
}
.hero-bg-video.loaded { opacity:.55; filter: brightness(.8) saturate(.7); }
@keyframes heroDrift {
  from { transform: scale(1.04) translateX(0)   translateY(0); }
  to   { transform: scale(1.08) translateX(-1%) translateY(-0.5%); }
}

/* Cinematic overlays stacked on top of image */
.hero-bg-vignette {
  position:absolute; inset:0;
  background:
    /* Radial spotlight — dark edges, lighter center */
    radial-gradient(ellipse 60% 55% at 50% 42%,
      rgba(10,5,2,.0)  0%,
      rgba(10,5,2,.15) 35%,
      rgba(10,5,2,.55) 65%,
      rgba(10,5,2,.88) 85%,
      rgba(10,5,2,.97) 100%),
    /* Bottom always dark so buttons readable */
    linear-gradient(to bottom,
      transparent 0%,
      transparent 55%,
      rgba(10,5,2,.75) 80%,
      rgba(10,5,2,.97) 100%);
}
.hero-bg-grain {
  position:absolute; inset:0; opacity:.06; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='250' height='250'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='250' height='250' filter='url(%23n)'/%3E%3C/svg%3E");
}
.hero-bg-bar {
  position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(to right, transparent, var(--ember), var(--ember2), var(--ember), transparent);
  opacity:.7;
}
/* Letterbox bars — cinematic feel */
.hero-bg-lb-top, .hero-bg-lb-bottom {
  position:absolute; left:0; right:0; height:clamp(20px,3.5vw,44px);
  background:var(--ink);
}
.hero-bg-lb-top    { top:0; }
.hero-bg-lb-bottom { bottom:0; }

.hero-noise { display:none; }
.hero-inner { position:relative; z-index:1; text-align:center; max-width:900px; }
.hero-tag { font-family:var(--mono); font-size:7px; letter-spacing:.7em; text-transform:uppercase; color:var(--ember); display:block; margin-bottom:24px; animation:rise .9s var(--ease) both; }
.hero-h1 { font-family:var(--display); font-size:clamp(44px,7vw,96px); font-weight:400; line-height:.95; color:var(--paper); animation:rise .9s var(--ease) .1s both; }
.hero-h1 em { font-style:italic; color:var(--ember); display:block; }
.hero-sub { font-family:var(--mono); font-size:7px; letter-spacing:.5em; text-transform:uppercase; color:var(--ghost); margin-top:20px; animation:rise .9s var(--ease) .2s both; }
.hero-rule { width:1px; height:60px; background:linear-gradient(to bottom, transparent, var(--ember3), transparent); margin:28px auto; animation:rise .9s var(--ease) .3s both; }
.hero-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; animation:rise .9s var(--ease) .4s both; }
.cta-primary { font-family:var(--mono); font-size:7px; letter-spacing:.5em; text-transform:uppercase; padding:15px 36px; background:var(--ember); color:var(--ink); border:none; cursor:pointer; transition:background .25s,transform .2s; }
.cta-primary:hover { background:var(--ember2); transform:translateY(-2px); }
.cta-outline { font-family:var(--mono); font-size:7px; letter-spacing:.5em; text-transform:uppercase; padding:15px 36px; border:1px solid rgba(196,133,58,.4); color:var(--ember); background:none; cursor:pointer; transition:all .25s; }
.cta-outline:hover { border-color:var(--ember); background:rgba(196,133,58,.07); }
@media(max-width:600px) {
  .hero-actions { flex-direction:column; align-items:center; width:100%; max-width:320px; margin-left:auto; margin-right:auto; }
  .hero-actions .cta-primary,
  .hero-actions .cta-outline,
  .hero-actions a { width:100%; }
  .hero-actions .cta-primary,
  .hero-actions .cta-outline { width:100%; text-align:center; display:block; }
  .hero-actions a .cta-outline { width:100%; display:block; text-align:center; }
}
.hero-stats { display:flex; border:1px solid var(--seam); margin-top:52px; animation:rise .9s var(--ease) .5s both; }
.hs { flex:1; padding:16px 20px; text-align:center; border-right:1px solid var(--seam); }
.hs:last-child { border-right:none; }
.hs-k { font-family:var(--mono); font-size:6.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--ghost); display:block; margin-bottom:5px; }
.hs-v { font-family:var(--display); font-size:14px; color:var(--ember); font-style:italic; }
@media(max-width:560px){ .hero-stats { flex-wrap:wrap; } .hs { flex:1 1 50%; border-bottom:1px solid var(--seam); } .hs:nth-child(2n){ border-right:none; } .hs:nth-last-child(-n+2){ border-bottom:none; } }

/* LOYALTY STRIP */
.loyalty { background:linear-gradient(135deg, rgba(26,92,48,.25) 0%, transparent 70%); border-top:1px solid var(--seam); border-bottom:1px solid var(--seam); padding:22px 36px; }
.loyalty-in { max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.loy-left { display:flex; align-items:center; gap:16px; }
.loy-icon { font-size:28px; }
.loy-text h3 { font-family:var(--display); font-size:18px; color:var(--paper); }
.loy-text h3 em { font-style:italic; color:var(--ember); }
.loy-text p { font-family:var(--mono); font-size:7px; letter-spacing:.18em; color:var(--dust); margin-top:3px; }
.loy-perks { display:flex; gap:28px; flex-wrap:wrap; }
.loy-perk { text-align:center; }
.loy-perk span:first-child { font-family:var(--display); font-size:19px; color:var(--ember); display:block; font-style:italic; }
.loy-perk span:last-child { font-family:var(--mono); font-size:6.5px; letter-spacing:.3em; text-transform:uppercase; color:var(--ghost); }
.loy-btn { font-family:var(--mono); font-size:7px; letter-spacing:.4em; text-transform:uppercase; padding:11px 22px; border:1px solid var(--moss2); color:var(--moss2); background:none; cursor:pointer; transition:all .25s; white-space:nowrap; }
.loy-btn:hover { background:rgba(34,128,64,.12); }
@media(max-width:700px){ .loy-perks { display:none; } .loyalty { padding:18px 20px; } }

/* SECTIONS */
.section { padding:80px 0; }
.wrap { max-width:1240px; margin:0 auto; padding:0 40px; }
@media(max-width:600px){ .wrap { padding:0 20px; } }
.sec-eye { font-family:var(--mono); font-size:7px; letter-spacing:.6em; text-transform:uppercase; color:var(--ember); display:block; margin-bottom:14px; }
.sec-h { font-family:var(--display); font-size:clamp(28px,4vw,52px); font-weight:400; color:var(--paper); line-height:1.05; }
.sec-h em { font-style:italic; color:var(--ember); }
.sec-hr { width:40px; height:1px; background:var(--ember3); margin:18px 0; }
.sec-p { font-family:var(--serif); font-size:13.5px; font-weight:300; line-height:1.85; color:var(--dust); max-width:520px; }

/* MENU */
.menu-wrap { padding:80px 0 100px; }
.menu-top { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:44px; flex-wrap:wrap; }
.menu-count { font-family:var(--mono); font-size:7.5px; letter-spacing:.35em; text-transform:uppercase; color:var(--dust); text-align:right; }
.menu-count span { display:block; font-family:var(--display); font-size:14px; font-style:italic; color:var(--paper2); letter-spacing:0; text-transform:none; margin-top:4px; }
.grp-bar { display:flex; border:1px solid var(--seam); width:fit-content; }
.grp-btn { font-family:var(--mono); font-size:7px; letter-spacing:.5em; text-transform:uppercase; background:none; border:none; border-right:1px solid var(--seam); color:var(--ghost); padding:13px 28px; cursor:pointer; transition:all .22s; white-space:nowrap; }
.grp-btn:last-child { border-right:none; }
.grp-btn.on { background:var(--ember); color:var(--ink); }
.grp-btn:not(.on):hover { color:var(--ember); background:rgba(196,133,58,.07); }
.tab-strip { display:flex; border:1px solid var(--seam); border-top:none; overflow-x:auto; scrollbar-width:none; flex:1; }
.tab-strip::-webkit-scrollbar { display:none; }
/* Tab strip wrapper with arrow buttons */
.tab-strip-wrap { position:relative; display:flex; align-items:stretch; border-top:1px solid var(--seam); }
.tab-strip-wrap .tab-strip { border-top:none; border-left:none; border-right:none; }
.tab-arrow { flex-shrink:0; width:38px; background:var(--ink2); border:1px solid var(--seam); border-top:none; color:var(--ghost); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .15s; z-index:2; }
.tab-arrow:hover { background:rgba(196,133,58,.1); color:var(--ember); border-color:var(--ember); }
.tab-arrow-l { border-right:none; }
.tab-arrow-r { border-left:none; }
.tab-arrow.hidden { opacity:.25; pointer-events:none; }
.tab { font-family:var(--mono); font-size:6.5px; letter-spacing:.38em; text-transform:uppercase; background:none; border:none; border-right:1px solid var(--seam); color:var(--ghost); padding:11px 18px; cursor:pointer; transition:all .2s; white-space:nowrap; flex-shrink:0; position:relative; }
.tab:last-child { border-right:none; }
.tab::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--ember); transform:scaleX(0); transition:transform .2s var(--ease); }
.tab.on { color:var(--paper2); }
.tab.on::after { transform:scaleX(1); }
.tab:not(.on):hover { color:var(--ember); }
.cat-meta { font-family:var(--mono); font-size:7.5px; letter-spacing:.38em; text-transform:uppercase; color:var(--dust); padding:13px 0; display:flex; align-items:center; gap:12px; border-bottom:1px solid var(--seam2); }
.cat-meta::after { content:''; flex:1; height:1px; background:var(--seam2); }
.menu-list { display:flex; flex-direction:column; border:1px solid var(--seam); border-bottom:none; }
.mi { padding:16px 20px; border-bottom:1px solid var(--seam); display:flex; align-items:center; gap:12px; transition:background .2s; position:relative; overflow:hidden; }
.mi::before { content:''; position:absolute; left:0; top:0; bottom:0; width:2px; background:var(--ember); transform:scaleY(0); transform-origin:bottom; transition:transform .3s var(--ease); }
.mi:hover { background:rgba(196,133,58,.035); }
.mi:hover::before { transform:scaleY(1); }
.mi-icon { font-size:14px; flex-shrink:0; width:20px; text-align:center; opacity:.7; }
.mi-left { flex:1; min-width:0; }
.mi-name { font-family:var(--display); font-size:15px; color:var(--paper); margin-bottom:2px; }
.mi-desc { font-family:var(--serif); font-size:11px; color:var(--dust); line-height:1.55; }
.mi-right { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.mi-price { font-family:var(--display); font-size:14px; color:var(--ember); white-space:nowrap; font-style:italic; }
.mi-price.onreq { font-family:var(--mono); font-size:7px; letter-spacing:.12em; color:var(--ghost); font-style:normal; }
.mi-add { width:26px; height:26px; border:1px solid var(--seam); background:none; color:var(--ghost); font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; flex-shrink:0; }
.mi-add:hover { border-color:var(--ember); color:var(--ember); background:rgba(196,133,58,.08); }

/* CART FAB */
.fab { position:fixed; bottom:28px; right:28px; z-index:300; background:var(--ember); color:var(--ink); border:none; cursor:pointer; width:52px; height:52px; display:flex; align-items:center; justify-content:center; font-size:19px; transition:transform .3s var(--ease),opacity .3s; opacity:0; pointer-events:none; transform:translateY(14px) scale(.85); box-shadow:0 8px 36px rgba(0,0,0,.5); }
.fab.show { opacity:1; pointer-events:auto; transform:none; }
.fab:hover { background:var(--ember2); transform:scale(1.06) !important; }
.fab-badge { position:absolute; top:-5px; right:-5px; background:var(--blood2); color:#fff; font-family:var(--mono); font-size:7px; width:17px; height:17px; border-radius:50%; display:flex; align-items:center; justify-content:center; }

/* OVERLAY + DRAWER */
.overlay { position:fixed; inset:0; z-index:500; background:rgba(0,0,0,.7); backdrop-filter:blur(8px); opacity:0; pointer-events:none; transition:opacity .3s; }
.overlay.on { opacity:1; pointer-events:auto; }
.drawer { position:fixed; right:0; top:0; bottom:0; z-index:501; width:min(420px,100vw); background:var(--ink4); border-left:1px solid var(--seam); transform:translateX(100%); transition:transform .4s var(--ease); display:flex; flex-direction:column; }
.drawer.on { transform:none; }
.dr-head { padding:24px; border-bottom:1px solid var(--seam); display:flex; align-items:center; justify-content:space-between; flex-shrink:0; }
.dr-title { font-family:var(--display); font-size:22px; color:var(--paper); }
.dr-sub { font-family:var(--mono); font-size:6.5px; letter-spacing:.35em; text-transform:uppercase; color:var(--dust); margin-top:3px; }
.dr-close { background:none; border:1px solid var(--seam); color:var(--ghost); width:32px; height:32px; cursor:pointer; font-size:16px; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.dr-close:hover { border-color:var(--ember); color:var(--ember); }
.dr-body { flex:1; overflow-y:auto; padding:0 24px; }
.dr-body::-webkit-scrollbar { width:3px; }
.dr-body::-webkit-scrollbar-thumb { background:var(--ember3); }
.empty-msg { padding:44px 0; text-align:center; font-family:var(--display); font-style:italic; color:var(--dust); font-size:16px; }
.oi { display:flex; align-items:center; gap:10px; padding:13px 0; border-bottom:1px solid var(--seam2); }
.oi-name { font-family:var(--display); font-size:14px; color:var(--paper2); flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.oi-price { font-family:var(--display); font-size:13px; color:var(--ember); font-style:italic; white-space:nowrap; min-width:44px; text-align:right; }
.qty { display:flex; align-items:center; border:1px solid var(--seam); flex-shrink:0; }
.qty-btn { background:none; border:none; color:var(--ghost); width:25px; height:25px; cursor:pointer; font-size:13px; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.qty-btn:hover { color:var(--ember); background:rgba(196,133,58,.08); }
.qty-n { font-family:var(--mono); font-size:9px; color:var(--paper); min-width:22px; text-align:center; }
.oi-del { background:none; border:none; color:var(--ghost); cursor:pointer; font-size:13px; padding:4px; transition:color .2s; flex-shrink:0; }
.oi-del:hover { color:var(--blood2); }
/* T4 — browse-only banner shown inside the cart drawer when no
   table is assigned. Calm ember tint, monospace voice — matches
   the existing dust/seam visual language. */
.dr-browse-banner { display:flex; align-items:flex-start; gap:10px; padding:12px 14px; margin:14px 0; background:rgba(232,150,58,.07); border:1px solid var(--ember3); color:var(--dust); font-family:var(--serif); font-size:12px; line-height:1.55; }
.dr-browse-banner svg { color:var(--ember); margin-top:1px; }
.dr-notes { padding:16px 0 0; }
.notes-lbl { font-family:var(--mono); font-size:7px; letter-spacing:.44em; text-transform:uppercase; color:var(--ghost); display:block; margin-bottom:8px; }
.notes-ta { width:100%; background:none; border:1px solid var(--seam); color:var(--paper); font-family:var(--serif); font-size:12px; padding:10px 14px; outline:none; resize:none; height:60px; transition:border-color .25s; }
.notes-ta:focus { border-color:var(--ember); }
.dr-foot { padding:20px 24px; border-top:1px solid var(--seam); flex-shrink:0; }
.total-row { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px; }
.total-lbl { font-family:var(--mono); font-size:7.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--dust); }
.total-val { font-family:var(--display); font-size:26px; color:var(--ember); font-style:italic; }
.btn-order { width:100%; background:var(--ember); color:var(--ink); border:none; padding:15px; font-family:var(--mono); font-size:8px; letter-spacing:.55em; text-transform:uppercase; cursor:pointer; transition:background .25s; margin-bottom:10px; }
.btn-order:hover { background:var(--ember2); }
.btn-order:disabled { background:var(--ink3); color:var(--ghost); cursor:not-allowed; }
.btn-wa-send { width:100%; background:#25D366; color:#fff; border:none; padding:12px; font-family:var(--mono); font-size:8px; letter-spacing:.4em; text-transform:uppercase; cursor:pointer; transition:opacity .25s; }
.btn-wa-send:hover { opacity:.88; }
.order-note { font-family:var(--serif); font-size:10px; color:var(--dust); text-align:center; margin-top:10px; }

/* AUTH MODAL */
.modal-wrap { position:fixed; inset:0; z-index:700; background:rgba(0,0,0,.8); backdrop-filter:blur(10px); display:flex; align-items:center; justify-content:center; padding:20px; opacity:0; pointer-events:none; transition:opacity .3s; }
.modal-wrap.on { opacity:1; pointer-events:auto; }
.modal { background:var(--ink4); border:1px solid var(--seam); width:100%; max-width:480px; max-height:90vh; overflow-y:auto; animation:rise .4s var(--ease) both; }
.modal-head { padding:28px 28px 0; display:flex; justify-content:space-between; align-items:flex-start; }
.modal-t { font-family:var(--display); font-size:26px; color:var(--paper); }
.modal-t em { font-style:italic; color:var(--ember); }
.modal-s { font-family:var(--mono); font-size:7px; letter-spacing:.38em; text-transform:uppercase; color:var(--dust); margin-top:5px; }
.modal-x { background:none; border:1px solid var(--seam); color:var(--ghost); width:32px; height:32px; cursor:pointer; font-size:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all .2s; }
.modal-x:hover { border-color:var(--ember); color:var(--ember); }
.modal-body { padding:28px; }
.mstep { display:none; animation:rise .35s var(--ease) both; }
.mstep.on { display:block; }
.auth-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
.auth-card { border:1px solid var(--seam); padding:20px 16px; cursor:pointer; background:none; text-align:left; transition:all .25s; }
.auth-card:hover { border-color:rgba(196,133,58,.4); background:rgba(196,133,58,.04); }
.auth-card.pass { border-color:rgba(245,240,232,.06); }
.auth-icon { font-size:22px; display:block; margin-bottom:10px; }
.auth-lbl { font-family:var(--display); font-size:15px; color:var(--paper); display:block; margin-bottom:4px; }
.auth-sub { font-family:var(--serif); font-size:11px; color:var(--dust); line-height:1.5; }
.pts-box { display:flex; align-items:center; gap:16px; background:rgba(196,133,58,.06); border:1px solid var(--ember3); padding:18px 20px; margin-bottom:20px; }
.pts-num { font-family:var(--display); font-size:38px; color:var(--ember); font-style:italic; }
.pts-label { font-family:var(--mono); font-size:7px; letter-spacing:.42em; text-transform:uppercase; color:var(--ghost); }
.pts-info { font-family:var(--serif); font-size:11px; color:var(--dust); line-height:1.75; }
.perks-list { display:flex; flex-direction:column; }
.perk-r { display:flex; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--seam2); }
.perk-pts { font-family:var(--display); font-size:17px; color:var(--ember); font-style:italic; min-width:52px; }
.perk-info { flex:1; }
.perk-name { font-family:var(--display); font-size:14px; color:var(--paper); }
.perk-desc { font-family:var(--serif); font-size:10px; color:var(--ghost); }
.perk-lock { font-size:13px; }
.field-g { margin-bottom:16px; }
.field-l { font-family:var(--mono); font-size:7px; letter-spacing:.44em; text-transform:uppercase; color:var(--ghost); display:block; margin-bottom:8px; }
.field-i { width:100%; background:none; border:1px solid var(--seam); color:var(--paper); font-family:var(--serif); font-size:13px; padding:12px 14px; outline:none; transition:border-color .25s; -webkit-appearance:none; }
.field-i:focus { border-color:var(--ember); }
.field-i::placeholder { color:var(--ghost); }
.wa-hint { font-family:var(--serif); font-size:11px; color:var(--dust); line-height:1.75; margin:12px 0; padding:12px 14px; border-left:2px solid var(--ember3); }
.wa-hint strong { color:var(--ember); font-weight:400; }
.btn-wa { width:100%; background:#25D366; color:#fff; border:none; padding:14px; font-family:var(--mono); font-size:8px; letter-spacing:.4em; text-transform:uppercase; cursor:pointer; transition:opacity .25s; margin-top:8px; }
.btn-wa:hover { opacity:.88; }
.btn-wa-v { width:100%; background:none; border:1px solid var(--moss2); color:var(--moss2); padding:12px; font-family:var(--mono); font-size:8px; letter-spacing:.38em; text-transform:uppercase; cursor:pointer; transition:all .25s; margin-top:8px; }
.btn-wa-v:hover { background:rgba(34,128,64,.1); }
.back-lnk { background:none; border:none; color:var(--dust); font-family:var(--mono); font-size:8px; letter-spacing:.25em; cursor:pointer; text-decoration:underline; margin-top:14px; display:block; text-align:center; }
.order-done { text-align:center; padding:20px 0 10px; }
.done-icon { font-size:46px; display:block; margin-bottom:14px; }
.done-t { font-family:var(--display); font-size:26px; color:var(--paper); margin-bottom:8px; }
.done-t em { color:var(--ember); font-style:italic; }
.done-p { font-family:var(--serif); font-size:12px; color:var(--dust); line-height:1.85; margin-bottom:20px; }
.done-pts { background:rgba(196,133,58,.06); border:1px solid var(--ember3); padding:14px 18px; display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.done-pts span:first-child { font-family:var(--mono); font-size:7px; letter-spacing:.38em; text-transform:uppercase; color:var(--ghost); }
.done-pts span:last-child { font-family:var(--display); font-size:21px; color:var(--ember); font-style:italic; }

/* STORY */
.story { padding:72px 40px; background:var(--ink4); border-top:1px solid var(--seam); border-bottom:1px solid var(--seam); }
.story-grid { max-width:1100px; margin:0 auto; display:grid; grid-template-columns:1fr 1px 1fr 1px 1fr; gap:48px; align-items:start; }
.story-div { background:var(--seam); }
.st-eye { font-family:var(--mono); font-size:7px; letter-spacing:.55em; text-transform:uppercase; color:var(--ember); display:block; margin-bottom:12px; }
.st-h { font-family:var(--display); font-size:clamp(18px,2.2vw,27px); color:var(--paper); margin-bottom:10px; line-height:1.15; }
.st-h em { font-style:italic; color:var(--ember); }
.st-p { font-family:var(--serif); font-size:12px; line-height:1.9; color:var(--dust); }
@media(max-width:800px){ .story-grid { grid-template-columns:1fr; gap:36px; } .story-div { display:none; } .story { padding:52px 20px; } }

/* BRAND CARDS */
.features { padding:80px 0; background:var(--ink2); border-top:1px solid var(--seam); }
.feat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--seam); border:1px solid var(--seam); margin-top:44px; }
.feat-card { background:var(--ink2); padding:36px; transition:background .25s; }
.feat-card:hover { background:rgba(196,133,58,.03); }
.fc-icon { font-size:26px; margin-bottom:14px; display:block; }
.fc-t { font-family:var(--display); font-size:19px; color:var(--paper); margin-bottom:8px; }
.fc-t em { font-style:italic; color:var(--ember); }
.fc-p { font-family:var(--serif); font-size:12px; line-height:1.9; color:var(--dust); }
@media(max-width:600px){ .feat-grid { grid-template-columns:1fr; } .feat-card { padding:24px; } }

/* PRIVATE EVENTS SECTION */
.pe-section { padding:90px 0; background:linear-gradient(180deg, var(--ink) 0%, var(--ink2) 50%, var(--ink) 100%); border-top:1px solid var(--seam); }
.pe-types-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1px; border:1px solid var(--seam); margin-bottom:48px; }
.pe-type-card { padding:28px 24px; border-right:1px solid var(--seam); border-bottom:1px solid var(--seam); transition:background .25s; }
.pe-type-card:hover { background:rgba(212,139,60,.04); }
.pe-type-icon { font-size:28px; margin-bottom:12px; display:block; }
.pe-type-t { font-family:var(--display); font-size:19px; color:var(--paper); margin-bottom:8px; line-height:1.2; }
.pe-type-t em { font-style:italic; color:var(--ember); }
.pe-type-p { font-family:var(--serif); font-size:13px; color:var(--dust); line-height:1.65; }
.pe-stats { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--seam); margin-bottom:52px; }
.pe-stat { text-align:center; padding:28px 16px; border-right:1px solid var(--seam); }
.pe-stat:last-child { border-right:none; }
.pe-stat-n { font-family:var(--display); font-size:clamp(30px,3.5vw,48px); color:var(--ember); font-style:italic; }
.pe-stat-l { font-family:var(--mono); font-size:6.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--ghost); margin-top:4px; }
.pe-form-wrap { max-width:700px; margin:0 auto; padding:48px 40px; background:rgba(255,255,255,.02); border:1px solid var(--seam); }
.pe-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pe-full { grid-column:span 2; }
.pe-check { display:flex; align-items:flex-start; gap:10px; }
.pe-check input { margin-top:4px; accent-color:var(--ember); flex-shrink:0; width:auto; }
.pe-check label { font-family:var(--serif); font-size:13px; color:var(--dust); line-height:1.5; font-weight:300; }
.pe-field label { font-family:var(--mono); font-size:6.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--ghost); display:block; margin-bottom:6px; }
.pe-field input, .pe-field select, .pe-field textarea { width:100%; padding:12px 14px; background:rgba(255,255,255,.05); border:1px solid rgba(212,139,60,.18); color:var(--paper); font-family:var(--serif); font-size:15px; outline:none; transition:border .2s; appearance:none; }
.pe-field input:focus, .pe-field select:focus, .pe-field textarea:focus { border-color:rgba(232,137,10,.6); }
.pe-field select { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a6858'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:calc(100% - 12px) 50%; padding-right:28px; background-color:rgba(255,255,255,.05); }
.pe-field textarea { resize:vertical; min-height:90px; line-height:1.6; }
.pe-field input::placeholder, .pe-field textarea::placeholder { color:var(--ghost); font-style:italic; }
@media(max-width:600px) { .pe-stats { grid-template-columns:repeat(2,1fr); } .pe-stat:nth-child(2) { border-right:none; } .pe-stat:nth-child(-n+2) { border-bottom:1px solid var(--seam); } .pe-grid { grid-template-columns:1fr; } .pe-full { grid-column:span 1; } .pe-form-wrap { padding:32px 20px; } }

/* BOOKING */
.book-section { padding:90px 0; background:var(--ink3); border-top:1px solid var(--seam); }
.book-intro { text-align:center; margin-bottom:56px; }
.book-intro .sec-hr { margin:18px auto; }
.book-intro .sec-p { margin:0 auto; text-align:center; }
.wizard { max-width:860px; margin:0 auto; }
.resv-form { max-width:520px; margin:0 auto; padding:32px 28px; background:rgba(26,18,12,.55); border:1px solid var(--seam); border-radius:4px; }
.resv-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 14px; }
.resv-full { grid-column:1 / -1; }
.resv-field { display:flex; flex-direction:column; gap:7px; }
.resv-lbl { font-family:var(--mono); font-size:8px; letter-spacing:.4em; text-transform:uppercase; color:var(--ghost); }
.resv-in { font-family:var(--serif); font-size:14px; color:var(--paper); background:transparent; border:none; border-bottom:1px solid var(--seam); padding:8px 2px; outline:none; transition:border-color .2s; }
.resv-in:focus { border-bottom-color:var(--ember); }
.resv-in::placeholder { color:var(--ghost); opacity:.5; }
.resv-in[type="date"], .resv-in[type="time"] { cursor:pointer; color-scheme:dark; }
.events-gallery { padding:90px 0; background:var(--ink3); border-top:1px solid var(--seam); }
.evt-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1200px; margin:0 auto; }
.evt-card { position:relative; display:block; aspect-ratio:3/4; overflow:hidden; border:1px solid var(--seam); text-decoration:none; cursor:pointer; background:#1a120c; }
.evt-img { position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .6s ease; }
.evt-card:hover .evt-img { transform:scale(1.05); }
.evt-overlay { position:absolute; inset:0; display:flex; align-items:flex-end; justify-content:center; padding:22px; background:linear-gradient(to top, rgba(14,5,3,.85) 0%, rgba(14,5,3,.15) 55%, rgba(14,5,3,0) 100%); }
.evt-lbl { font-family:var(--mono); font-size:9px; letter-spacing:.45em; text-transform:uppercase; color:var(--ember); display:block; }
.evt-desc { display:block; font-family:var(--serif); font-size:12px; color:var(--paper2); margin-top:8px; line-height:1.5; max-width:260px; text-align:center; }
.evt-overlay { flex-direction:column; gap:0; }
@media (max-width:720px) { .evt-grid { grid-template-columns:1fr; gap:14px; } .evt-card { aspect-ratio:4/3; } }
.resv-in[type="date"]::-webkit-calendar-picker-indicator,
.resv-in[type="time"]::-webkit-calendar-picker-indicator { filter:invert(0.7) sepia(0.4) saturate(3) hue-rotate(-10deg); cursor:pointer; }
.resv-actions { display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:10px; }
.resv-actions .cta-primary { min-width:220px; }
.resv-msg { font-family:var(--mono); font-size:9px; letter-spacing:.3em; text-transform:uppercase; text-align:center; min-height:14px; }
.resv-msg.ok { color:var(--moss2); }
.resv-msg.err { color:#c0392b; }
@media (max-width:540px) { .resv-grid { grid-template-columns:1fr; } .resv-full { grid-column:1; } }
.progress { display:flex; align-items:center; margin-bottom:48px; }
.prog-step { display:flex; flex-direction:column; align-items:center; gap:7px; flex:1; position:relative; }
.prog-step::after { content:''; position:absolute; top:14px; left:50%; width:100%; height:1px; background:var(--seam); z-index:0; }
.prog-step:last-child::after { display:none; }
.prog-dot { width:28px; height:28px; border:1px solid var(--seam); border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:8px; color:var(--ghost); background:var(--ink3); transition:all .3s; position:relative; z-index:1; }
.prog-lbl { font-family:var(--mono); font-size:6px; letter-spacing:.3em; text-transform:uppercase; color:var(--ghost); transition:color .3s; white-space:nowrap; }
.prog-step.cur .prog-dot { border-color:var(--ember); background:var(--ember); color:var(--ink); }
.prog-step.cur .prog-lbl { color:var(--ember); }
.prog-step.done .prog-dot { border-color:var(--ember3); background:rgba(196,133,58,.1); color:var(--ember); }
.prog-step.done::after { background:var(--ember3); }
.bstep { display:none; animation:rise .4s var(--ease) both; }
.bstep.on { display:block; }
.step-h { font-family:var(--display); font-size:clamp(20px,2.8vw,34px); color:var(--paper); margin-bottom:6px; }
.step-h em { font-style:italic; color:var(--ember); }
.step-hint { font-family:var(--mono); font-size:8px; letter-spacing:.2em; color:var(--dust); margin-bottom:32px; }
.opt-grid { display:grid; gap:10px; margin-bottom:36px; }
.opt-grid.c2 { grid-template-columns:repeat(2,1fr); }
.opt-grid.c3 { grid-template-columns:repeat(2,1fr); }
@media(max-width:600px){ .opt-grid.c3 { grid-template-columns:1fr 1fr; } }
.opt-card { border:1px solid var(--seam); padding:18px 16px; cursor:pointer; transition:all .22s; background:none; text-align:left; position:relative; }
.opt-card:hover { border-color:rgba(196,133,58,.38); background:rgba(196,133,58,.04); }
.opt-card.sel { border-color:var(--ember); background:rgba(196,133,58,.07); }
.opt-card.sel::before { content:''; position:absolute; top:10px; right:10px; width:8px; height:8px; border-radius:50%; background:var(--ember); font-family:var(--mono); font-size:8px; color:var(--ember); }
.opt-ico { font-size:22px; display:block; margin-bottom:10px; }
.opt-lbl { font-family:var(--display); font-size:15px; color:var(--paper); display:block; margin-bottom:3px; }
.opt-sub { font-family:var(--serif); font-size:10px; color:var(--dust); line-height:1.5; }
.bfields { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:36px; }
.bfield { display:flex; flex-direction:column; gap:7px; }
.bfield.full { grid-column:1/-1; }
.flbl { font-family:var(--mono); font-size:7px; letter-spacing:.44em; text-transform:uppercase; color:var(--ghost); }
.finp, .fsel, .fta { background:none; border:1px solid var(--seam); color:var(--paper); font-family:var(--serif); font-size:13px; padding:11px 14px; outline:none; transition:border-color .22s; -webkit-appearance:none; width:100%; }
.fsel { background:var(--ink3); cursor:pointer; }
.fta { resize:vertical; min-height:72px; }
.finp:focus, .fsel:focus, .fta:focus { border-color:var(--ember); }
.finp::placeholder, .fta::placeholder { color:var(--ghost); }
.fsel option { background:#1a1610; }
.dish-search { display:flex; margin-bottom:16px; }
.dish-q { flex:1; background:none; border:1px solid var(--seam); border-right:none; color:var(--paper); font-family:var(--serif); font-size:12px; padding:10px 14px; outline:none; transition:border-color .22s; }
.dish-q:focus { border-color:var(--ember); }
.dish-cat { background:var(--ink3); border:1px solid var(--seam); color:var(--ghost); font-family:var(--mono); font-size:7.5px; letter-spacing:.15em; padding:10px 12px; cursor:pointer; outline:none; -webkit-appearance:none; min-width:110px; }
.dish-chips { display:grid; grid-template-columns:repeat(2,1fr); gap:7px; max-height:260px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:var(--ember3) transparent; margin-bottom:14px; }
@media(max-width:560px){ .dish-chips { grid-template-columns:1fr 1fr; } }
.chip { border:1px solid var(--seam); padding:9px 11px; cursor:pointer; transition:all .18s; background:none; text-align:left; }
.chip:hover { border-color:rgba(196,133,58,.38); }
.chip.picked { border-color:var(--ember); background:rgba(196,133,58,.07); }
.chip-name { font-family:var(--display); font-size:12px; color:var(--paper); display:block; margin-bottom:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chip-price { font-family:var(--mono); font-size:8px; color:var(--ember); }
.sel-dishes { display:flex; flex-wrap:wrap; gap:7px; min-height:30px; padding:10px 0; border-top:1px solid var(--seam2); }
.dish-tag { font-family:var(--mono); font-size:8px; letter-spacing:.12em; border:1px solid var(--ember3); padding:4px 9px; color:var(--ember); display:flex; align-items:center; gap:5px; }
.dish-tag button { background:none; border:none; color:var(--ghost); cursor:pointer; font-size:11px; padding:0; transition:color .2s; }
.dish-tag button:hover { color:var(--blood2); }
.book-summary { border:1px solid var(--seam); padding:28px; margin-bottom:28px; background:rgba(196,133,58,.03); }
.bs-row { display:flex; justify-content:space-between; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--seam2); gap:12px; }
.bs-row:last-child { border-bottom:none; }
.bs-k { font-family:var(--mono); font-size:7.5px; letter-spacing:.38em; text-transform:uppercase; color:var(--ghost); }
.bs-v { font-family:var(--display); font-size:14px; color:var(--paper2); text-align:right; font-style:italic; }
.book-nav { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }
.btn-back { font-family:var(--mono); font-size:7.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--ghost); background:none; border:1px solid var(--seam); padding:12px 22px; cursor:pointer; transition:all .22s; }
.btn-back:hover { color:var(--ember); border-color:var(--ember); }
.btn-next { font-family:var(--mono); font-size:7.5px; letter-spacing:.48em; text-transform:uppercase; background:var(--ember); color:var(--ink); border:none; padding:13px 32px; cursor:pointer; transition:background .22s; }
.btn-next:hover { background:var(--ember2); }
.book-confirm { text-align:center; padding:40px 0; }
.confirm-icon { font-size:46px; display:block; margin-bottom:18px; }
.confirm-t { font-family:var(--display); font-size:clamp(24px,3.5vw,40px); color:var(--paper); margin-bottom:10px; }
.confirm-t em { font-style:italic; color:var(--ember); }
.confirm-p { font-family:var(--serif); font-size:12px; line-height:1.9; color:var(--dust); max-width:400px; margin:0 auto 28px; }
@media(max-width:520px){ .bfields { grid-template-columns:1fr; } }

/* VISIT */
.visit-section { padding:80px 0; border-top:1px solid var(--seam); }
.visit-grid { display:grid; grid-template-columns:1fr 1px 1fr 1px 1fr; gap:48px; align-items:start; margin-top:44px; }
.visit-div { background:var(--seam); align-self:stretch; }
.vc-eye { font-family:var(--mono); font-size:7px; letter-spacing:.55em; text-transform:uppercase; color:var(--ember); display:block; margin-bottom:14px; }
.vc-t { font-family:var(--display); font-size:20px; color:var(--paper); margin-bottom:14px; }
.vc-p { font-family:var(--serif); font-size:12px; line-height:1.9; color:var(--dust); }
.vc-p a { color:var(--ember); text-decoration:none; }
.hours-t { width:100%; border-collapse:collapse; margin-top:4px; }
.hours-t td { font-family:var(--serif); font-size:11px; padding:5px 0; color:var(--dust); }
.hours-t td:last-child { text-align:right; color:var(--paper2); }
.hours-t tr.today td { color:var(--ember); }
.soc-row { display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; }
.soc { font-family:var(--mono); font-size:7px; letter-spacing:.3em; text-transform:uppercase; color:var(--ghost); text-decoration:none; border:1px solid var(--seam); padding:7px 13px; transition:all .22s; }
.soc:hover { color:var(--ember); border-color:var(--ember); }
.visit-cta { display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:7.5px; letter-spacing:.4em; text-transform:uppercase; color:var(--ember); text-decoration:none; border:1px solid var(--seam); padding:12px 20px; transition:all .25s; margin-top:18px; }
.visit-cta:hover { border-color:var(--ember); background:rgba(196,133,58,.05); }
@media(max-width:800px){ .visit-grid { grid-template-columns:1fr; gap:36px; } .visit-div { display:none; } }

/* FOOTER */
footer { background:var(--ink); border-top:1px solid var(--seam); padding:44px 40px 28px; }
.foot-in { max-width:1200px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:24px; }
.foot-nav { display:flex; gap:28px; flex-wrap:wrap; justify-content:center; }
.foot-nav a { font-family:var(--mono); font-size:7px; letter-spacing:.42em; text-transform:uppercase; color:var(--ghost); text-decoration:none; transition:color .25s; }
.foot-nav a:hover { color:var(--ember); }
.foot-hr { width:100%; height:1px; background:var(--seam); }
.foot-bottom { display:flex; justify-content:space-between; width:100%; flex-wrap:wrap; gap:10px; }
.foot-q { font-family:var(--display); font-size:12px; font-style:italic; color:var(--ghost); }
.foot-c { font-family:var(--mono); font-size:7px; letter-spacing:.26em; text-transform:uppercase; color:var(--ghost); }

/* ANIMATIONS + SCROLL */
@keyframes rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
.reveal.vis { opacity:1; transform:none; }
.d1 { transition-delay:.1s; } .d2 { transition-delay:.2s; } .d3 { transition-delay:.3s; }


/* ══ MENU OVERLAY ══ */
#menuOverlay {
  position:fixed; inset:0; z-index:600;
  background:var(--ink);
  display:flex; flex-direction:column;
  visibility:hidden; opacity:0;
  pointer-events:none;
  transition:opacity .05s;
  overflow:hidden;
}
#menuOverlay.active { visibility:visible; opacity:1; pointer-events:auto; }

/* Curtain */
.ov-curtain {
  position:absolute; inset:0;
  display:grid; grid-template-columns:1fr 1fr;
  z-index:2; pointer-events:none;
}
.ov-cl, .ov-cr {
  background:var(--ink2);
  transform:translateY(0);
  transition:transform .7s cubic-bezier(.77,0,.18,1);
}
.ov-cr { background:var(--ink3); transition-delay:.055s; }
#menuOverlay.curtain-up .ov-cl,
#menuOverlay.curtain-up .ov-cr { transform:translateY(-101%); }

/* Splash */
.ov-splash {
  position:absolute; inset:0; z-index:3;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none; transition:opacity .25s ease .42s;
}
.ov-splash-word {
  font-family:var(--display); font-size:clamp(64px,11vw,130px);
  font-style:italic; color:var(--ember); letter-spacing:-.02em;
  opacity:0; transform:scale(.82);
  transition:opacity .36s ease, transform .6s var(--ease);
}
#menuOverlay.active .ov-splash-word { opacity:1; transform:scale(1); }
#menuOverlay.curtain-up .ov-splash { opacity:0; pointer-events:none; }

/* Inner */
.ov-inner {
  position:relative; z-index:4;
  display:flex; flex-direction:column; height:100%;
  opacity:0; transition:opacity .3s ease .58s;
}
#menuOverlay.curtain-up .ov-inner { opacity:1; }

/* ── TOP BAR ──────────────────────────────── */
.ov-bar {
  height:60px; flex-shrink:0;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 20px 0 24px;
  border-bottom:1px solid var(--seam);
  background:var(--ink); gap:12px;
}
.ov-bar-brand {
  font-family:var(--display); font-size:20px;
  font-style:italic; color:var(--paper);
  display:flex; align-items:center; gap:12px; flex:1; min-width:0;
}
.ov-bar-brand em { color:var(--ember); }
.ov-bar-tag {
  font-family:var(--mono); font-size:6.5px; letter-spacing:.5em;
  text-transform:uppercase; color:var(--ghost); font-style:normal;
}
@media(max-width:500px) { .ov-bar-tag { display:none; } }

.ov-bar-right { display:flex; align-items:center; gap:10px; flex-shrink:0; }

/* Cart pill button — prominent, always visible when items added */
.ov-cart-pill {
  display:none; /* shown via JS when cart has items */
  align-items:center; gap:8px;
  background:var(--ember); border:none;
  color:var(--ink); cursor:pointer;
  padding:0 14px; height:40px;
  font-family:var(--mono); font-size:8px; letter-spacing:.25em;
  text-transform:uppercase; transition:background .2s; white-space:nowrap;
}
.ov-cart-pill:hover { background:var(--ember2); }
.ov-cart-pill-ico { font-size:15px; }
.ov-cart-pill-count {
  background:var(--ink); color:var(--ember2); border-radius:50%;
  width:22px; height:22px; display:flex; align-items:center;
  justify-content:center; font-size:11px; font-weight:700;
}

.ov-close {
  width:44px; height:44px; flex-shrink:0;
  background:none; border:1.5px solid rgba(247,242,232,.12);
  color:var(--paper2); font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .22s;
}
.ov-close:hover { border-color:var(--ember); background:var(--ember); color:var(--ink); }

/* ── GROUP TOGGLE: FOOD / DRINKS ──────────── */
.ov-grp-bar {
  display:flex; flex-shrink:0;
  border-bottom:2px solid var(--seam);
}
.ov-grp-pill {
  flex:1; display:flex; align-items:center; justify-content:center;
  gap:8px; padding:8px 12px;          /* compact — was 16px vertical */
  background:var(--ink4); border:none;
  border-right:1px solid var(--seam);
  cursor:pointer; transition:all .22s;
}
.ov-grp-pill svg { width:16px; height:auto; }
.ov-grp-pill:last-child { border-right:none; }
.ov-grp-ico { display:flex; align-items:center; color:var(--ember); }
.ov-grp-txt {
  font-family:var(--mono); font-size:9.5px; letter-spacing:.38em;
  text-transform:uppercase; color:var(--ghost); transition:color .2s;
}
.ov-grp-pill.on { background:var(--ink5); }
.ov-grp-pill.on .ov-grp-txt { color:var(--ember2); }
.ov-grp-pill:not(.on):hover { background:var(--ink5); }
.ov-grp-pill:not(.on):hover .ov-grp-txt { color:var(--dust); }

/* ── CATEGORY SCROLL STRIP ────────────────── */
.ov-cat-wrap {
  position:relative; flex-shrink:0;
  border-bottom:1px solid var(--seam);
}
.ov-cat-wrap::before, .ov-cat-wrap::after {
  content:''; position:absolute; top:0; bottom:0;
  width:36px; pointer-events:none; z-index:2;
  opacity:0; transition:opacity .25s;
}
.ov-cat-wrap::before {
  left:0;
  background:linear-gradient(to right, var(--ink) 25%, rgba(15,14,12,0));
}
.ov-cat-wrap::after {
  right:0;
  background:linear-gradient(to left, var(--ink) 25%, rgba(15,14,12,0));
}
.ov-cat-wrap.has-prev::before { opacity:1; }
.ov-cat-wrap.has-next::after { opacity:1; }

.ov-cat-arrow {
  position:absolute; top:50%; transform:translateY(-50%);
  width:30px; height:30px;
  background:rgba(15,14,12,.94);
  border:1px solid var(--ember3);
  color:var(--ember); font-size:0;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:3;
  opacity:0; pointer-events:none;
  transition:opacity .25s, background .2s, border-color .2s;
}
.ov-cat-arrow.left  { left:6px; }
.ov-cat-arrow.right { right:6px; }
.ov-cat-arrow:hover { background:var(--ember); color:var(--ink); border-color:var(--ember); }
.ov-cat-wrap.has-prev .ov-cat-arrow.left  { opacity:1; pointer-events:auto; }
.ov-cat-wrap.has-next .ov-cat-arrow.right { opacity:1; pointer-events:auto; }

/* First-time hint: a single gentle bounce on the right arrow to signal "scrollable" */
@keyframes ovCatHint {
  0%, 100% { transform:translateY(-50%) translateX(0); }
  50%      { transform:translateY(-50%) translateX(5px); }
}
.ov-cat-wrap.first-hint .ov-cat-arrow.right { animation:ovCatHint .7s ease-in-out 2; }

.ov-cat-scroll {
  overflow-x:auto; scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
}
.ov-cat-scroll::-webkit-scrollbar { display:none; }
.ov-tabs { display:flex; min-width:max-content; }
.ov-tab {
  font-family:var(--mono); font-size:8px; letter-spacing:.26em;
  text-transform:uppercase; background:none; border:none;
  border-right:1px solid var(--seam);
  color:var(--ghost);
  padding:0 16px; height:40px;          /* compact — was 52px */
  cursor:pointer; white-space:nowrap;
  flex-shrink:0; position:relative; transition:color .18s, background .18s;
  display:flex; align-items:center;
}
.ov-tab::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:var(--ember); transform:scaleX(0);
  transition:transform .22s var(--ease);
}
.ov-tab.on { color:var(--paper); background:rgba(232,150,58,.07); }
.ov-tab.on::after { transform:scaleX(1); }
.ov-tab:not(.on):hover { color:var(--paper2); background:rgba(247,242,232,.04); }
@media(max-width:500px) {
  .ov-tab { height:36px; padding:0 13px; font-size:7.5px; }
  .ov-cat-arrow { width:24px; height:24px; }
  .ov-cat-arrow.left  { left:3px; }
  .ov-cat-arrow.right { right:3px; }
}

/* ══ CONTINUOUS SCROLL MENU ══════════════════════════════════
   One scroll container holds every category as a <section>.
   Section headers stick to the top as you scroll past them.
   Jump pills (above) scroll-snap to each section. */
.ov-scroll {
  flex:1; position:relative;
  overflow-y:auto; -webkit-overflow-scrolling:touch;
  padding-bottom:84px;          /* clearance for the sticky cart bar */
  scroll-behavior:smooth;
}
.ov-scroll::-webkit-scrollbar { width:4px; }
.ov-scroll::-webkit-scrollbar-thumb { background:var(--ember3); }

.ov-sec { position:relative; }
.ov-sec-hd {
  position:sticky; top:0; z-index:3;
  background:rgba(15,14,12,.97); backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  padding:11px 24px 10px;
  border-bottom:1px solid var(--seam2);
  display:flex; align-items:baseline; gap:12px;
}
.ov-sec-title { font-family:var(--display); font-size:19px; font-style:italic; color:var(--ember2); }
.ov-sec-n { font-family:var(--mono); font-size:7px; letter-spacing:.32em; text-transform:uppercase; color:var(--dust); }

/* Item rows */
.ov-item-row {
  display:flex; align-items:center; gap:14px;
  padding:14px 24px;
  border-bottom:1px solid var(--seam2);
  position:relative; cursor:default;
}
.ov-item-row:hover { background:rgba(232,150,58,.03); }

/* Optional dish photo thumbnail */
.ov-ithumb {
  width:54px; height:54px; flex-shrink:0;
  object-fit:cover; border-radius:6px;
  background:var(--ink4); border:1px solid var(--seam);
}
.ov-ileft { flex:1; min-width:0; }
.ov-iname { font-family:var(--display); font-size:16px; color:var(--paper); margin-bottom:2px; }
.ov-idesc { font-family:var(--serif); font-size:11.5px; color:var(--dust); line-height:1.45; }
.ov-iright { display:flex; align-items:center; gap:12px; flex-shrink:0; }
.ov-iprice { font-family:var(--display); font-size:16px; font-style:italic; color:var(--ember); white-space:nowrap; }
.ov-iprice.onreq { font-family:var(--mono); font-size:7px; letter-spacing:.12em; color:var(--ghost); font-style:normal; }

/* ── QUANTITY STEPPER ──────────────────────────────────────
   Collapsed to a single "+" until the item is in the cart,
   then expands to  −  n  +  inline. */
.ov-stepper {
  display:flex; align-items:center; gap:0;
  border:1.5px solid var(--seam); border-radius:0;
  overflow:hidden; flex-shrink:0;
  transition:border-color .2s;
}
.ov-stepper.active { border-color:var(--ember); }
.ov-step-btn {
  width:38px; height:38px;
  background:none; border:none; cursor:pointer;
  color:var(--paper2); font-size:21px; line-height:1;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s, color .15s;
}
.ov-step-btn.plus { color:var(--ember); }
.ov-stepper.active .ov-step-btn.plus { color:var(--ember); }
.ov-step-btn:hover, .ov-step-btn:active { background:var(--ember); color:var(--ink); }
.ov-step-n {
  min-width:26px; text-align:center;
  font-family:var(--display); font-size:16px; color:var(--paper);
}
/* Hide minus + count until the item is in the cart */
.ov-stepper .ov-step-btn.minus,
.ov-stepper .ov-step-n { display:none; }
.ov-stepper.active .ov-step-btn.minus,
.ov-stepper.active .ov-step-n { display:flex; align-items:center; justify-content:center; }

@media(max-width:700px) {
  .ov-sec-hd { padding:10px 16px 9px; }
  .ov-sec-title { font-size:17px; }
  .ov-item-row { padding:12px 16px; gap:11px; }
  .ov-ithumb { width:48px; height:48px; }
  .ov-iname { font-size:15px; }
  .ov-idesc { font-size:11px; }
  .ov-iright { gap:9px; }
  .ov-iprice { font-size:15px; }
  .ov-step-btn { width:36px; height:36px; font-size:20px; }
  .ov-scroll { padding-bottom:78px; }
}

/* ══ STICKY CART BAR ══════════════════════════════════════ */
.ov-cartbar {
  position:absolute; left:0; right:0; bottom:0; z-index:6;
  display:none; align-items:center; gap:12px;
  width:100%; padding:14px 22px;
  background:linear-gradient(135deg, var(--ember) 0%, var(--ember2) 100%);
  border:none; cursor:pointer;
  box-shadow:0 -4px 22px rgba(0,0,0,.4);
  transform:translateY(100%); transition:transform .3s var(--ease);
}
.ov-cartbar.show { display:flex; transform:translateY(0); }
.ov-cartbar-ico { display:flex; align-items:center; color:var(--ink); }
.ov-cartbar-count {
  font-family:var(--mono); font-size:9px; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink); opacity:.85;
}
.ov-cartbar-total {
  font-family:var(--display); font-size:19px; font-style:italic;
  color:var(--ink); margin-left:2px;
}
.ov-cartbar-cta {
  margin-left:auto;
  font-family:var(--mono); font-size:10px; font-weight:600;
  letter-spacing:.24em; text-transform:uppercase; color:var(--ink);
}
@media(max-width:700px) {
  .ov-cartbar { padding:12px 16px; gap:9px; }
  .ov-cartbar-total { font-size:17px; }
  .ov-cartbar-cta { font-size:9px; letter-spacing:.18em; }
}

/* ══ TOP PICKS STRIP — compact everywhere (~85px tall on desktop, less on mobile) ══ */
.ov-picks {
  flex-shrink:0;
  background:linear-gradient(180deg, rgba(232,150,58,.06) 0%, rgba(0,0,0,.18) 100%);
  border-bottom:1px solid var(--seam);
  padding:6px 0 8px;
  position:relative;
}
.ov-picks::before {
  content:''; position:absolute; left:0; right:0; top:0; height:1px;
  background:linear-gradient(to right, transparent, var(--ember), transparent);
}
.ov-picks-hd {
  display:flex; align-items:center; gap:12px;
  padding:0 24px 5px; flex-wrap:nowrap;
}
.ov-picks-eye {
  font-family:var(--mono); font-size:7px; letter-spacing:.5em;
  text-transform:uppercase; color:var(--ember);
}
.ov-picks-title {
  font-family:var(--display); font-size:14px; font-style:italic; color:var(--paper);
}
.ov-picks-sub {
  font-family:var(--mono); font-size:6.5px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--dust);
}
.ov-picks-scroll {
  display:flex; gap:8px; padding:0 24px 4px;
  overflow-x:auto; scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x mandatory;
}
.ov-picks-scroll::-webkit-scrollbar { display:none; }
.ov-pick-card {
  flex:0 0 130px; scroll-snap-align:start;
  position:relative; padding:18px 9px 9px;
  background:rgba(15,14,12,.55);
  border:1px solid var(--seam);
  display:flex; flex-direction:column; gap:3px;
  transition:border-color .22s, transform .22s, background .22s;
}
.ov-pick-card:hover {
  border-color:var(--ember); background:rgba(232,150,58,.05);
  transform:translateY(-2px);
}
.ov-pick-badge {
  position:absolute; top:4px; left:5px;
  font-family:var(--mono); font-size:5.5px; letter-spacing:.24em;
  text-transform:uppercase;
  padding:2px 5px;
  background:var(--ember); color:var(--ink);
}
.ov-pick-badge.alt { background:rgba(232,150,58,.15); color:var(--ember2); border:1px solid var(--ember3); }
.ov-pick-name {
  font-family:var(--display); font-size:12.5px; color:var(--paper);
  line-height:1.15; min-height:auto;
  overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
/* Description never shown — saves big vertical space across all viewports */
.ov-pick-desc { display:none; }
.ov-pick-foot {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:3px; padding-top:5px; gap:4px;
  border-top:1px solid var(--seam2);
}
.ov-pick-price {
  font-family:var(--display); font-size:14px; font-style:italic; color:var(--ember);
}
.ov-pick-add {
  width:28px; height:28px;
  border:1px solid var(--ember); background:none;
  color:var(--ember); font-size:16px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:all .2s; border-radius:0;
}
.ov-pick-add:hover, .ov-pick-add:active {
  background:var(--ember); color:var(--ink);
}

/* Collapse toggle — shown on all widths; Top Picks auto-collapses on scroll
   and the guest can tap the header to expand/collapse manually. */
.ov-picks-hd { cursor:pointer; user-select:none; }
.ov-picks-toggle {
  display:flex;
  width:28px; height:28px;
  background:none; border:1px solid var(--seam);
  color:var(--ember);
  align-items:center; justify-content:center;
  transition:transform .25s var(--ease), border-color .2s;
  flex-shrink:0; margin-left:auto;
}
.ov-picks.collapsed .ov-picks-toggle { transform:rotate(180deg); }
/* Collapsed state — works on every viewport: hide the cards, keep the bar */
.ov-picks.collapsed { padding-bottom:0; }
.ov-picks.collapsed .ov-picks-hd { padding-bottom:6px; }
.ov-picks.collapsed .ov-picks-scroll { display:none; }

@media(max-width:700px) {
  /* Ultra-compact mobile layout — cards ~half-width so guests see ~3 at a glance */
  .ov-picks { padding:6px 0 8px; }
  .ov-picks-hd {
    padding:0 12px 6px; gap:8px;
    flex-wrap:nowrap; align-items:center;
    cursor:pointer; user-select:none;
  }
  .ov-picks-eye { display:none; }
  .ov-picks-sub { display:none; }
  .ov-picks-title { font-size:13px; flex:1; }
  .ov-picks-toggle { display:flex; width:26px; height:26px; }
  .ov-picks-scroll { padding:0 12px 2px; gap:6px; }

  /* CARD — 95px wide (was 150px, ~⅔ reduction) */
  .ov-pick-card { flex:0 0 95px; padding:16px 7px 7px; gap:2px; }
  .ov-pick-badge { font-size:5.5px; padding:1.5px 4px; letter-spacing:.22em; top:3px; left:4px; }
  .ov-pick-name {
    font-size:10.5px; min-height:auto; line-height:1.15;
    overflow:hidden;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  }
  .ov-pick-desc { display:none; }
  .ov-pick-foot { margin-top:2px; padding-top:4px; gap:4px; }
  .ov-pick-price { font-size:12.5px; }
  .ov-pick-add { width:24px; height:24px; font-size:14px; border-width:1px; }

  /* FOOD / DRINKS toggle — compact horizontal pill (was 50px tall, now ~30px) */
  .ov-grp-pill { padding:7px 10px; gap:6px; }
  .ov-grp-ico  { transform:scale(.82); transform-origin:center; }
  .ov-grp-txt  { font-size:8.5px; letter-spacing:.32em; }
  .ov-grp-bar  { border-bottom-width:1px; }

  /* Collapsed Top Picks: just the header bar */
  .ov-picks.collapsed { padding:4px 0; }
  .ov-picks.collapsed .ov-picks-hd { padding:3px 12px; }
  .ov-picks.collapsed .ov-picks-scroll { display:none; }
}


/* ══ STEP 4 — ENHANCED MENU SELECTION ══ */

/* Mode selector tiles */
.ms4-modes {
  display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-bottom:24px;
}
.ms4-mode {
  border:1px solid var(--seam); background:none; padding:16px 10px 14px;
  cursor:pointer; text-align:center; transition:all .22s var(--ease);
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.ms4-mode:hover { border-color:var(--ember); background:rgba(196,133,58,.04); }
.ms4-mode.sel { border-color:var(--ember); background:rgba(196,133,58,.09); }
.ms4-mode-ico { display:flex; justify-content:center; color:var(--ember); margin-bottom:2px; }
.ms4-mode-label {
  font-family:var(--mono); font-size:6.5px; letter-spacing:.45em;
  text-transform:uppercase; color:var(--paper);
}
.ms4-mode-desc { font-family:var(--serif); font-size:10px; color:var(--ghost); line-height:1.4; }
.ms4-mode.sel .ms4-mode-label { color:var(--ember); }

/* Mode panels */
.ms4-panel { display:none; }
.ms4-panel.on { display:block; }

/* ── SHARE panel ─────────────────────────────────────── */
.share-intro { font-family:var(--serif); font-size:13px; color:var(--dust); margin-bottom:16px; line-height:1.6; }
.share-link-box {
  display:flex; gap:8px; align-items:center; margin-bottom:20px;
}
.share-link-input {
  flex:1; background:rgba(245,240,232,.05); border:1px solid var(--seam);
  color:var(--paper); font-family:var(--mono); font-size:9px;
  padding:10px 12px; letter-spacing:.05em;
}
.share-copy-btn {
  background:var(--ember); border:none; color:var(--ink); padding:10px 16px;
  font-family:var(--mono); font-size:7px; letter-spacing:.35em;
  text-transform:uppercase; cursor:pointer; white-space:nowrap; transition:all .2s;
}
.share-copy-btn:hover { background:var(--ember2); }
.share-guests-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:8px; margin-bottom:20px;
}
.share-guest-card {
  border:1px solid var(--seam); padding:12px 14px;
  font-family:var(--mono); font-size:8px; color:var(--ghost); line-height:1.8;
}
.share-guest-card .sgc-name { font-family:var(--display); font-size:14px; color:var(--paper); font-style:italic; }
.share-guest-card .sgc-items { color:var(--ember); }
.share-guest-card .sgc-total { color:var(--paper2); }

/* ── BUDGET / AI Suggest panel ───────────────────────── */
.ai-q-wrap { margin-bottom:20px; }
.ai-q-label {
  font-family:var(--mono); font-size:7px; letter-spacing:.42em;
  text-transform:uppercase; color:var(--ember2); margin-bottom:8px; display:block;
}
.ai-q-text {
  font-family:var(--display); font-size:17px; font-style:italic;
  color:var(--paper); margin-bottom:12px; line-height:1.4;
}
.ai-opts { display:flex; flex-wrap:wrap; gap:8px; }
.ai-opt {
  border:1px solid var(--seam); background:none; color:var(--paper);
  font-family:var(--serif); font-size:12px; padding:8px 16px;
  cursor:pointer; transition:all .2s; line-height:1.3; text-align:left;
}
.ai-opt:hover { border-color:var(--ember); background:rgba(196,133,58,.05); }
.ai-opt.sel { border-color:var(--ember); background:rgba(196,133,58,.1); color:var(--ember); }
.ai-budget-row {
  display:flex; align-items:center; gap:12px; margin-bottom:20px;
}
.ai-budget-label {
  font-family:var(--mono); font-size:7px; letter-spacing:.42em;
  text-transform:uppercase; color:var(--ghost); white-space:nowrap;
}
.ai-budget-input {
  width:90px; background:rgba(245,240,232,.05); border:1px solid var(--seam);
  color:var(--paper); font-family:var(--display); font-size:18px; font-style:italic;
  padding:8px 12px; text-align:center;
}
.ai-budget-input::placeholder { color:var(--ghost); font-size:14px; }
.ai-suggest-btn {
  flex:1; background:var(--ember); border:none; color:var(--ink);
  font-family:var(--mono); font-size:7px; letter-spacing:.42em;
  text-transform:uppercase; padding:12px 20px; cursor:pointer; transition:all .2s;
}
.ai-suggest-btn:hover { background:var(--ember2); }
.ai-suggest-btn:disabled { opacity:.4; cursor:not-allowed; }

/* AI loading */
.ai-thinking {
  display:none; align-items:center; gap:10px; padding:16px 0;
  font-family:var(--mono); font-size:8px; letter-spacing:.3em; color:var(--ghost);
}
.ai-thinking.show { display:flex; }
.ai-dot { width:4px; height:4px; background:var(--ember); border-radius:50%; animation:aiPulse 1.2s ease-in-out infinite; }
.ai-dot:nth-child(2) { animation-delay:.2s; }
.ai-dot:nth-child(3) { animation-delay:.4s; }
@keyframes aiPulse { 0%,80%,100%{transform:scale(0.6);opacity:.4} 40%{transform:scale(1);opacity:1} }

/* AI result */
.ai-result { display:none; }
.ai-result.show { display:block; }
.ai-result-header {
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:14px; padding-bottom:10px; border-bottom:1px solid var(--seam);
}
.ai-result-title {
  font-family:var(--display); font-size:18px; font-style:italic; color:var(--paper);
}
.ai-result-subtitle {
  font-family:var(--mono); font-size:7px; letter-spacing:.35em; color:var(--ember);
  text-transform:uppercase;
}
.ai-result-why {
  font-family:var(--serif); font-size:12px; color:var(--ghost);
  line-height:1.65; margin-bottom:14px; border-left:2px solid var(--ember);
  padding-left:12px;
}
.ai-dish-list { display:flex; flex-direction:column; gap:6px; margin-bottom:16px; }
.ai-dish-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px; border:1px solid var(--seam);
  transition:background .18s;
}
.ai-dish-row:hover { background:rgba(196,133,58,.04); }
.ai-dish-row.picked { border-color:var(--ember); background:rgba(196,133,58,.07); }
.ai-dish-name { font-family:var(--display); font-size:14px; color:var(--paper); font-style:italic; }
.ai-dish-cat { font-family:var(--mono); font-size:6.5px; letter-spacing:.38em; color:var(--ghost); margin-top:2px; }
.ai-dish-price { font-family:var(--display); font-size:14px; color:var(--ember); font-style:italic; }
.ai-result-actions { display:flex; gap:10px; }
.ai-accept-btn {
  flex:1; background:var(--ember); border:none; color:var(--ink);
  font-family:var(--mono); font-size:7px; letter-spacing:.42em;
  text-transform:uppercase; padding:12px; cursor:pointer; transition:all .2s;
}
.ai-accept-btn:hover { background:var(--ember2); }
.ai-retry-btn {
  background:none; border:1px solid var(--seam); color:var(--ghost);
  font-family:var(--mono); font-size:7px; letter-spacing:.42em;
  text-transform:uppercase; padding:12px 16px; cursor:pointer; transition:all .2s;
}
.ai-retry-btn:hover { border-color:var(--ember); color:var(--ember); }

/* ── Pricing / Discounts (all modes) ─────────────── */
.price-summary-box {
  border:1px solid var(--seam); padding:16px 20px; margin-top:18px;
  display:none;
}
.price-summary-box.show { display:block; }
.psb-title {
  font-family:var(--mono); font-size:7px; letter-spacing:.52em;
  text-transform:uppercase; color:var(--ember); margin-bottom:12px;
}
.psb-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:5px 0; border-bottom:1px solid rgba(196,133,58,.08);
  font-family:var(--serif); font-size:12.5px; color:var(--dust);
}
.psb-row:last-child { border:none; }
.psb-row.discount { color:var(--moss2); }
.psb-row.total {
  font-family:var(--display); font-size:17px; font-style:italic;
  color:var(--paper); border-top:1px solid var(--seam); margin-top:6px;
  padding-top:10px;
}
.psb-row .psb-val { font-family:var(--display); font-style:italic; }
.psb-saving {
  font-family:var(--mono); font-size:8px; letter-spacing:.2em;
  color:var(--moss2); margin-top:10px; padding:8px 12px;
  background:rgba(34,128,64,.08); border:1px solid rgba(34,128,64,.2); text-align:center;
}


/* ══ GLOBAL READABILITY BOOSTS ══ */

/* Ensure all step hints are readable */
.step-hint, .book-hint, .step-sub { color: var(--dust) !important; }

/* All mono label text in forms/cards */
.flbl, .field-lbl, .bs-k, .ai-q-label { color: var(--dust) !important; }

/* Description text throughout */
.mi-desc, .ov-idesc, .ai-result-why,
.share-intro, .fc-p, .st-p { color: var(--dust) !important; }

/* Category count / meta labels */
.ov-cat-n, .mo-cat-count, .ov-items-meta,
.mo-items-meta, .cat-meta { color: var(--dust) !important; }

/* Perk / loyalty text */
.perk-desc, .pts-info, .loy-text p,
.auth-hint, .wa-hint { color: var(--dust) !important; }

/* Cart / order notes */
.order-note, .dr-hint { color: var(--dust) !important; }

/* Visit section */
.vis-p, .hr-day, .hr-time { color: var(--dust) !important; }

/* Progress labels */
.prog-lbl { color: var(--dust) !important; }

/* Booking summary keys */
.bs-k { color: var(--dust) !important; }
.bs-v { color: var(--paper) !important; }

/* AI suggest text */
.ai-q-text { color: var(--paper) !important; }
.ai-opt { color: var(--paper2) !important; border-color: rgba(247,242,232,.15) !important; }
.ai-opt:not(.sel) { color: var(--dust) !important; }

/* Overlay tab labels when not active */
.ov-tab:not(.on), .mo-tab:not(.on) { color: var(--ghost) !important; }
.tab:not(.on) { color: var(--ghost) !important; }
.grp-btn:not(.on) { color: var(--ghost) !important; }

/* Share link input */
.share-link-input { color: var(--paper) !important; }
.share-link-input::placeholder { color: var(--ghost) !important; }

/* MS4 mode card descriptions */
.ms4-mode-desc { color: var(--dust) !important; }
.ms4-mode-label { color: var(--paper2) !important; }
.ms4-mode.sel .ms4-mode-label { color: var(--ember2) !important; }

/* Input placeholders */
input::placeholder, textarea::placeholder { color: var(--ghost) !important; }
input, select, textarea { color: var(--paper) !important; }

/* Footer */
.ft-p { color: var(--dust) !important; }

/* Discount / saving text */
.psb-row { color: var(--dust) !important; }
.psb-row.discount { color: var(--moss2) !important; }
.psb-row.total { color: var(--paper) !important; }

/* Nav links */
.nav-links a { color: var(--paper2) !important; }
.nav-links a:hover, .nav-links a.active { color: var(--ember2) !important; }

/* Stat bar labels */
.stat-lbl { color: var(--dust) !important; }
.stat-val { color: var(--ember2) !important; }

/* Section eye labels */
.sec-eye, .st-eye { color: var(--ember2) !important; }

/* Menu item descriptions */
.mi-desc { color: var(--dust) !important; font-size: 11.5px !important; }

/* "On request" price label */
.mi-price.onreq, .ov-iprice.onreq { color: var(--ghost) !important; }

/* Chip inactive */
.chip:not(.picked) .chip-price { color: var(--dust) !important; }
.chip.picked .chip-price { color: var(--ember2) !important; }

/* AI dish category label */
.ai-dish-cat { color: var(--dust) !important; }

/* Share guest card */
.sgc-name { color: var(--paper) !important; }
.sgc-items { color: var(--dust) !important; }
.sgc-total { color: var(--ember2) !important; }

/* PSB saving */
.psb-saving { color: var(--moss2) !important; }

/* Budget input */
.ai-budget-label { color: var(--dust) !important; }


/* ══ AUTH MODAL — OTP SYSTEM ══ */
.otp-inputs {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin: 24px 0;
}
.otp-digit {
  width: 52px; height: 64px;
  background: rgba(247,242,232,.05);
  border: 1.5px solid var(--seam);
  color: var(--paper);
  font-family: var(--display);
  font-size: 28px;
  font-style: italic;
  text-align: center;
  caret-color: var(--ember);
  transition: border-color .2s, background .2s;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
}
.otp-digit:focus {
  border-color: var(--ember);
  background: rgba(232,150,58,.07);
}
.otp-digit.filled {
  border-color: var(--ember2);
  color: var(--ember2);
}
.otp-digit.error {
  border-color: var(--red);
  background: rgba(224,82,82,.08);
  animation: otpShake .35s ease;
}
@keyframes otpShake {
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-4px)}
  40%{transform:translateX(4px)}
  60%{transform:translateX(-3px)}
  80%{transform:translateX(3px)}
}
.otp-hint {
  font-family: var(--serif);
  font-size: 12px;
  color: var(--dust);
  text-align: center;
  line-height: 1.7;
  margin-bottom: 8px;
}
.otp-phone-display {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .25em;
  color: var(--ember2);
  text-align: center;
  margin-bottom: 16px;
  display: block;
}
.otp-timer {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .3em;
  color: var(--ghost);
  text-align: center;
  margin-top: 10px;
}
.otp-timer.urgent { color: var(--red); }
.otp-resend {
  background: none; border: none;
  font-family: var(--mono); font-size: 8px;
  letter-spacing: .28em; text-transform: uppercase;
  color: var(--ember); cursor: pointer;
  text-decoration: underline; text-underline-offset: 3px;
  display: block; margin: 10px auto 0;
  transition: color .2s;
}
.otp-resend:disabled { color: var(--ghost); cursor: not-allowed; text-decoration: none; }
.otp-resend:not(:disabled):hover { color: var(--ember2); }

.wa-open-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  background: #25D366;
  border: none;
  color: #fff;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .38em;
  text-transform: uppercase;
  padding: 15px;
  cursor: pointer;
  transition: background .2s;
  margin-bottom: 12px;
}
.wa-open-btn:hover { background: #1ebe5a; }
.wa-open-btn svg { flex-shrink: 0; }

.auth-step-title {
  font-family: var(--display);
  font-size: 20px;
  font-style: italic;
  color: var(--paper);
  margin-bottom: 6px;
}
.auth-step-sub {
  font-family: var(--serif);
  font-size: 12.5px;
  color: var(--dust);
  line-height: 1.7;
  margin-bottom: 22px;
}

.pts-box-row {
  display: flex;
  align-items: center;
  gap: 20px;
  background: rgba(232,150,58,.07);
  border: 1px solid var(--seam);
  padding: 16px 20px;
  margin-bottom: 18px;
}
.pts-big {
  font-family: var(--display);
  font-size: 42px;
  font-style: italic;
  color: var(--ember2);
  line-height: 1;
}
.pts-box-right { flex: 1; }
.pts-box-label {
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .5em;
  text-transform: uppercase;
  color: var(--dust);
  margin-bottom: 4px;
}
.pts-box-name {
  font-family: var(--display);
  font-size: 16px;
  color: var(--paper);
  font-style: italic;
}
.pts-box-since {
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .2em;
  color: var(--ghost);
  margin-top: 3px;
}
.pts-progress-bar {
  height: 3px;
  background: rgba(232,150,58,.12);
  margin: 12px 0;
  position: relative;
  overflow: hidden;
}
.pts-progress-fill {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  background: var(--ember);
  transition: width .8s var(--ease);
}
.pts-next-perk {
  font-family: var(--mono);
  font-size: 7.5px;
  letter-spacing: .22em;
  color: var(--dust);
  display: flex;
  justify-content: space-between;
}
.pts-next-perk span:last-child { color: var(--ember2); }


.btn-logout {
  background:none; border:1px solid rgba(224,82,82,.3);
  color:var(--red); font-family:var(--mono); font-size:7.5px;
  letter-spacing:.3em; text-transform:uppercase; padding:12px 16px;
  cursor:pointer; transition:all .25s;
}
.btn-logout:hover { border-color:var(--red); background:rgba(224,82,82,.08); }


/* ══ TABLE PICKER ═══════════════════════════════════════════ */
.dr-table-pick-btn {
  display: inline-flex; align-items: center; gap: 4px;
  background: none; border: 1px solid rgba(196,133,58,.3);
  color: var(--ember); font-family: var(--mono); font-size: 7px;
  letter-spacing: .3em; text-transform: uppercase;
  padding: 3px 8px; cursor: pointer; margin-left: 8px;
  vertical-align: middle; transition: all .18s;
}
.dr-table-pick-btn:hover { background: rgba(196,133,58,.1); border-color: var(--ember); }
#drawerInfo { display: flex; align-items: center; flex-wrap: wrap; gap: 2px; }

/* Modal backdrop */
.tpk-bg {
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(10,9,7,.85); backdrop-filter: blur(6px);
  display: flex; align-items: flex-end; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity .28s;
}
.tpk-bg.open { opacity: 1; pointer-events: all; }

.tpk-modal {
  width: 100%; max-width: 540px; max-height: 82vh;
  background: #1a1812; border: 1px solid rgba(196,133,58,.18);
  border-bottom: none; display: flex; flex-direction: column;
  transform: translateY(40px); transition: transform .3s cubic-bezier(.22,1,.36,1);
  overflow: hidden;
}
.tpk-bg.open .tpk-modal { transform: translateY(0); }

.tpk-head {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 20px 22px 14px; border-bottom: 1px solid rgba(196,133,58,.1);
  flex-shrink: 0;
}
.tpk-title { font-family: var(--display); font-style: italic; font-size: 22px; color: var(--paper); }
.tpk-sub { font-family: var(--mono); font-size: 7.5px; letter-spacing: .35em; text-transform: uppercase; color: var(--ghost); margin-top: 3px; }
.tpk-x { background: none; border: 1px solid rgba(196,133,58,.2); padding: 5px; color: var(--ghost); cursor: pointer; transition: all .18s; }
.tpk-x:hover { border-color: var(--ember); color: var(--ember); }

/* Tabs */
.tpk-tabs { display: flex; border-bottom: 1px solid rgba(196,133,58,.1); flex-shrink: 0; }
.tpk-tab {
  flex: 1; padding: 11px; background: none; border: none;
  font-family: var(--mono); font-size: 8px; letter-spacing: .3em;
  text-transform: uppercase; color: var(--ghost); cursor: pointer;
  border-bottom: 2px solid transparent; margin-bottom: -1px; transition: all .18s;
}
.tpk-tab.on { color: var(--ember); border-bottom-color: var(--ember); }
.tpk-tab:not(.on):hover { color: var(--paper); }

/* Search */
.tpk-search-wrap {
  position: relative; padding: 14px 16px 0; flex-shrink: 0;
}
.tpk-search-ico {
  position: absolute; left: 28px; top: 50%; transform: translateY(20%);
  color: var(--ghost); pointer-events: none;
}
.tpk-search {
  width: 100%; box-sizing: border-box;
  background: rgba(255,255,255,.04); border: 1px solid rgba(196,133,58,.2);
  color: var(--paper); font-family: var(--mono); font-size: 11px;
  padding: 10px 12px 10px 32px; outline: none; letter-spacing: .05em;
  transition: border-color .18s;
}
.tpk-search::placeholder { color: var(--ghost); }
.tpk-search:focus { border-color: var(--ember); }

/* Table grid */
#tpkPanelTable { overflow-y: auto; flex: 1; padding-bottom: 8px; }
.tpk-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 8px; padding: 14px 16px;
}
.tpk-cell {
  padding: 10px 6px; border: 1px solid rgba(196,133,58,.15);
  text-align: center; cursor: pointer; transition: all .18s;
  background: rgba(255,255,255,.02);
}
.tpk-cell:hover { border-color: var(--ember); background: rgba(196,133,58,.07); }
.tpk-cell.sel { border-color: var(--ember); background: rgba(196,133,58,.15); }
.tpk-cell-num { font-family: var(--mono); font-size: 8px; letter-spacing: .3em; color: var(--ghost); }
.tpk-cell-name { font-family: var(--display); font-style: italic; font-size: 12px; color: var(--paper); margin-top: 2px; }

/* Waiter mode */
#tpkPanelWaiter { overflow-y: auto; flex: 1; padding-bottom: 8px; }
.tpk-waiter-intro {
  padding: 12px 16px 0; font-family: var(--body); font-size: 12px;
  color: var(--ghost); line-height: 1.5;
}
.tpk-waiter-list { padding: 10px 16px; display: flex; flex-direction: column; gap: 6px; }
.tpk-waiter-row {
  display: flex; align-items: center; gap: 12px; padding: 11px 14px;
  border: 1px solid rgba(196,133,58,.12); cursor: pointer; transition: all .18s;
}
.tpk-waiter-row:hover { border-color: var(--ember); background: rgba(196,133,58,.06); }
.tpk-waiter-row.sel { border-color: var(--ember); background: rgba(196,133,58,.13); }
.tpk-waiter-avatar {
  width: 34px; height: 34px; border-radius: 50%;
  background: rgba(196,133,58,.12); border: 1px solid rgba(196,133,58,.25);
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.tpk-waiter-info { flex: 1; }
.tpk-waiter-name { font-family: var(--display); font-size: 14px; color: var(--paper); }
.tpk-waiter-tables { font-family: var(--mono); font-size: 8px; letter-spacing: .2em; color: var(--ember); text-transform: uppercase; margin-top: 2px; }
.tpk-waiter-none { padding: 20px 16px; font-family: var(--mono); font-size: 9px; letter-spacing: .3em; text-transform: uppercase; color: var(--ghost); text-align: center; }

/* Confirm bar */
.tpk-confirm-bar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px; border-top: 1px solid rgba(196,133,58,.15);
  background: rgba(196,133,58,.05); flex-shrink: 0;
}
.tpk-confirm-info {
  font-family: var(--display); font-style: italic; font-size: 14px; color: var(--paper);
}
.tpk-confirm-btn {
  padding: 10px 20px; background: var(--ember); border: none;
  font-family: var(--mono); font-size: 8px; letter-spacing: .4em;
  text-transform: uppercase; color: var(--ink); cursor: pointer; transition: background .2s;
}
.tpk-confirm-btn:hover { background: var(--ember2); }

/* Assigned state in drawer */
.dr-table-assigned { color: var(--ember); font-family: var(--mono); font-size: 9px; letter-spacing: .2em; text-transform: uppercase; }


/* ── City intro card in table picker ── */
.tpk-city-intro {
  margin: 0 16px 14px;
  background: linear-gradient(135deg, rgba(196,133,58,.12), rgba(196,133,58,.04));
  border: 1px solid rgba(196,133,58,.3);
  border-radius: 0; padding: 14px 16px;
  display: none; animation: cityFadeIn .3s ease;
}
.tpk-city-intro.show { display: flex; gap: 12px; align-items: flex-start; }
@keyframes cityFadeIn { from{opacity:0;transform:translateY(6px)} to{opacity:1;transform:translateY(0)} }
.tpk-city-flag { font-size: 28px; flex-shrink: 0; margin-top: 2px; }
.tpk-city-name { font-family: var(--display); font-style: italic; font-size: 17px; color: var(--ember); }
.tpk-city-fact { font-family: var(--serif); font-size: 11.5px; color: var(--dust); line-height: 1.7; margin-top: 3px; }


/* ── Order review / modify UI ── */
.order-done { text-align:center; padding: 20px 10px; }
.order-done-head { font-family:var(--display); font-style:italic; font-size:22px; color:var(--paper); margin:12px 0 6px; }
.order-done-sub { font-family:var(--mono); font-size:8px; letter-spacing:.3em; text-transform:uppercase; color:var(--ghost); margin-bottom:16px; }
.order-review-card {
  background: rgba(196,133,58,.05); border: 1px solid rgba(196,133,58,.2);
  padding: 14px; margin: 12px 0; text-align:left;
}
.orv-item { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid rgba(196,133,58,.08); }
.orv-item:last-child { border-bottom:none; }
.orv-name { font-family:var(--serif); font-size:13px; color:var(--paper); }
.orv-qty  { font-family:var(--mono); font-size:9px; color:var(--ghost); margin-top:2px; }
.orv-price{ font-family:var(--mono); font-size:10px; color:var(--ember); }
.orv-remove { background:none; border:1px solid rgba(196,133,58,.2); color:var(--ghost); padding:3px 8px; font-size:9px; cursor:pointer; transition:all .15s; }
.orv-remove:hover { border-color:#c0392b; color:#c0392b; }
.orv-remove:disabled { opacity:.3; cursor:not-allowed; }
.order-timer-bar {
  background: rgba(196,133,58,.08); border: 1px solid rgba(196,133,58,.2);
  padding: 10px 14px; margin: 10px 0; display:flex; align-items:center; gap:8px;
}
.order-timer-ico { font-size:14px; }
.order-timer-txt { font-family:var(--mono); font-size:8px; letter-spacing:.2em; text-transform:uppercase; color:var(--ghost); flex:1; }
.order-timer-countdown { font-family:var(--display); font-size:16px; color:var(--ember); }
.order-timer-bar.locked { background:rgba(150,150,150,.05); border-color:rgba(150,150,150,.15); }
.order-timer-bar.locked .order-timer-countdown { color:var(--ghost); }
.order-done-pts { display:flex; justify-content:space-between; font-family:var(--mono); font-size:9px; letter-spacing:.2em; background:rgba(45,158,82,.08); border:1px solid rgba(45,158,82,.2); padding:8px 12px; color:#2d9e52; margin:8px 0; }


@keyframes cityIntroIn {
  from { transform: translateY(30px) scale(.95); opacity: 0; }
  to   { transform: translateY(0) scale(1); opacity: 1; }
}

/* ── Profile orders list ── */
.prof-order-row {
  display: flex; justify-content: space-between; align-items: flex-start;
  padding: 10px 0; border-bottom: 1px solid var(--seam);
  font-family: var(--mono); font-size: 9px;
}
.prof-order-row:last-child { border-bottom: none; }
.prof-order-id { color: var(--ghost); letter-spacing: .1em; margin-bottom: 3px; font-size: 8px; }
.prof-order-items { color: var(--dust); font-size: 9px; }
.prof-order-total { color: var(--ember); font-size: 11px; white-space: nowrap; margin-left: 12px; }
.prof-order-status {
  font-size: 7px; letter-spacing: .2em; text-transform: uppercase;
  padding: 2px 6px; margin-top: 3px; display: inline-block;
}
.status-new { color: #e74c3c; background: rgba(231,76,60,.1); }
.status-preparing { color: #e67e22; background: rgba(230,126,34,.1); }
.status-ready { color: var(--moss,#2d9e52); background: rgba(39,174,96,.1); }
.status-served { color: var(--ghost); background: rgba(150,150,150,.08); }


/* AI drink cards */
.ai-drink-card:hover { border-color: var(--ember) !important; background: rgba(196,133,58,.06) !important; }
.ai-dish-toggle:hover { background: var(--ember2) !important; }




/* ──── second <style> block (originally L4982-5585) ──── */

/* ═══════════════════════════════════════════════════════════════════
   FRIDA KAHLO · AUTORRETRATO — FULL COLOR SYSTEM
   Canvas: copal smoke black · Drama: blood red · Joy: cempasúchil
   Text: huipil ivory · Accents: marigold fire · Teal: Casa Azul
═══════════════════════════════════════════════════════════════════ */

/* ── Base ── */
html, body {
  background: #0e0503 !important;
  color: var(--paper) !important;
}

/* ── NAV ── */
nav {
  background: rgba(14,5,3,.97) !important;
  border-bottom: 2px solid rgba(232,137,10,.2) !important;
  backdrop-filter: blur(20px) saturate(1.6) !important;
}
.nav-brand {
  color: var(--marigold) !important;
  letter-spacing: .15em !important;
  text-shadow: 0 0 24px rgba(232,137,10,.35) !important;
}
.nav-links a { color: rgba(245,234,212,.55) !important; letter-spacing: .08em !important; }
.nav-links a:hover, .nav-links a.active {
  color: var(--marigold) !important;
}
.nav-cart-btn {
  background: var(--rojo) !important;
  color: var(--marigold3) !important;
  border: 1px solid rgba(232,137,10,.3) !important;
}
.nav-cart-btn:hover { background: var(--rojo2) !important; color: #fff !important; }

/* ── HERO ── */
.hero, .hero-bg {
  background: radial-gradient(ellipse at 60% 40%, #2a0c06 0%, #0e0503 55%, #050200 100%) !important;
}
#heroBgImg { opacity: .55 !important; filter: saturate(.7) brightness(.85) sepia(.1) !important; }
.hero-tagline {
  color: var(--marigold) !important;
  letter-spacing: .55em !important;
  text-shadow: 0 0 30px rgba(232,137,10,.4) !important;
}
.hero-title { color: var(--paper) !important; }
.hero-title em { color: var(--marigold) !important; }
.hero-sub { color: var(--dust) !important; }
.cta-primary {
  background: var(--rojo) !important;
  color: var(--marigold3) !important;
  border: 1px solid rgba(232,137,10,.3) !important;
  letter-spacing: .12em !important;
  text-shadow: none !important;
}
.cta-primary:hover {
  background: var(--rojo2) !important;
  color: #fff !important;
  box-shadow: 0 4px 24px rgba(139,26,14,.5) !important;
}
.cta-outline {
  border: 1px solid rgba(232,137,10,.4) !important;
  color: var(--marigold) !important;
  letter-spacing: .12em !important;
}
.cta-outline:hover {
  background: rgba(232,137,10,.1) !important;
  color: var(--marigold3) !important;
}

/* ═══════════════════════════════════════════════
   FRIDA HERO CHAT — Embedded Glass Panel
   ═══════════════════════════════════════════════ */
.frida-hero-chat {
  position:relative;
  width:100%; max-width:480px;
  margin:0 auto 20px;
  animation:rise .9s var(--ease) .35s both;
}
.fhc-glow {
  position:absolute; inset:-1px; border-radius:20px;
  background:linear-gradient(135deg, rgba(232,137,10,.05), rgba(139,26,14,.03), rgba(232,137,10,.03));
  filter:blur(1px);
  z-index:0;
}
.fhc-inner {
  position:relative; z-index:1;
  background:rgba(14,5,3,.1);
  backdrop-filter:blur(16px) saturate(1.1);
  -webkit-backdrop-filter:blur(16px) saturate(1.1);
  border:1px solid rgba(232,137,10,.05);
  border-radius:20px;
  padding:0;
  overflow:hidden;
}
.fhc-messages {
  overflow-y:auto;
  padding:10px 10px 4px;
  display:flex;
  flex-direction:column;
  gap:6px;
  scroll-behavior:smooth;
  max-height:240px;
}
.fhc-messages::-webkit-scrollbar { width:2px; }
.fhc-messages::-webkit-scrollbar-thumb { background:rgba(232,137,10,.15); border-radius:2px; }

/* Messages */
.fhc-msg { max-width:95%; animation:fhcIn .35s cubic-bezier(.34,1.56,.64,1) both; }
@keyframes fhcIn { from{opacity:0;transform:translateY(8px) scale(.97)} to{opacity:1;transform:none} }
.fhc-msg.bot { align-self:flex-start; }
.fhc-msg.user { align-self:flex-end; }

.fhc-sender {
  font-family:var(--mono);
  font-size:6px; letter-spacing:.35em; text-transform:uppercase;
  color:var(--marigold); opacity:.5;
  margin-bottom:2px; padding-left:2px;
}
.fhc-bubble {
  padding:8px 12px; border-radius:12px;
  font-family:var(--serif); font-size:13px; line-height:1.5;
  color:var(--paper); word-break:break-word;
}
.fhc-msg.bot .fhc-bubble {
  background:rgba(232,137,10,.03);
  border:1px solid rgba(232,137,10,.04);
  border-radius:4px 12px 12px 12px;
}
.fhc-msg.user .fhc-bubble {
  background:rgba(139,26,14,.12);
  border:1px solid rgba(139,26,14,.12);
  border-radius:12px 12px 4px 12px;
  color:var(--dust);
}
.fhc-bubble strong { color:var(--marigold); font-weight:600; }
.fhc-bubble em { font-style:italic; color:var(--dust); opacity:.85; }
.fhc-bubble a { color:var(--marigold2); text-decoration:underline; text-underline-offset:2px; }
.fhc-bubble p { margin:0 0 4px; } .fhc-bubble p:last-child { margin:0; }

/* Typing dots */
.fhc-typing {
  align-self:flex-start; display:none; gap:4px;
  padding:10px 16px;
  background:rgba(232,137,10,.03); border:1px solid rgba(232,137,10,.05);
  border-radius:4px 14px 14px 14px;
}
.fhc-typing.on { display:flex; }
.fhc-dot { width:6px; height:6px; border-radius:50%; background:var(--marigold); opacity:.3; animation:fhcPulse 1.4s ease-in-out infinite; }
.fhc-dot:nth-child(2) { animation-delay:.15s; }
.fhc-dot:nth-child(3) { animation-delay:.3s; }
@keyframes fhcPulse { 0%,60%,100%{transform:translateY(0);opacity:.25} 30%{transform:translateY(-4px);opacity:.8} }

/* Quick action chips */
.fhc-chips {
  display:flex; gap:6px; flex-wrap:wrap; padding:0 10px 4px;
  animation:fhcIn .4s cubic-bezier(.34,1.56,.64,1) both; animation-delay:.15s;
}
.fhc-chip {
  font-family:var(--serif); font-size:11px; font-weight:400;
  padding:5px 11px; border:1px solid rgba(232,137,10,.2); border-radius:16px;
  background:rgba(232,137,10,.04); color:var(--dust);
  cursor:pointer; transition:all .2s; white-space:nowrap;
}
.fhc-chip:hover { border-color:var(--marigold); color:var(--marigold); background:rgba(232,137,10,.1); }

/* Reserve CTA */
.fhc-reserve-wrap { padding:2px 18px 6px; animation:fhcIn .4s cubic-bezier(.34,1.56,.64,1) both; }
.fhc-reserve-btn {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--serif); font-size:12px; font-weight:600;
  padding:8px 18px; border:1px solid rgba(232,137,10,.4); border-radius:20px;
  background:linear-gradient(135deg, rgba(139,26,14,.35), rgba(232,137,10,.1));
  color:var(--marigold); cursor:pointer; transition:all .25s;
}
.fhc-reserve-btn:hover { border-color:var(--marigold); background:linear-gradient(135deg, rgba(139,26,14,.5), rgba(232,137,10,.18)); transform:translateY(-1px); }

/* Input row */
.fhc-input-row {
  display:flex; align-items:center;
  padding:4px 8px 8px;
  border-top:1px solid rgba(232,137,10,.03);
}
.fhc-input-wrap {
  position:relative; flex:1; min-width:0;
}
#fhcInput {
  width:100%; resize:none;
  border:1px solid rgba(232,137,10,.04); border-radius:20px;
  background:rgba(232,137,10,.02); color:var(--paper);
  font-family:var(--serif); font-size:13px;
  padding:9px 58px 9px 14px; outline:none;
  height:38px; max-height:38px;
  line-height:1.4; transition:border-color .2s;
  overflow:hidden;
  box-sizing:border-box;
}
#fhcInput::placeholder { color:var(--ghost); font-style:italic; }
#fhcInput:focus { border-color:rgba(232,137,10,.15); }
#fhcSend {
  position:absolute; right:4px; top:50%; transform:translateY(-50%);
  width:48px; height:30px; border-radius:15px; border:none;
  background:rgba(232,137,10,.12);
  color:var(--marigold); cursor:pointer; display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:all .2s;
}
#fhcSend:hover { background:rgba(232,137,10,.3); }
#fhcSend:active { transform:translateY(-50%) scale(.94); }
#fhcSend:disabled { opacity:.35; cursor:default; }

@media(max-width:600px) {
  .frida-hero-chat { width:80%; max-width:none; margin:0 auto 12px; }
  .fhc-inner { border-radius:16px; }
  .fhc-messages { padding:8px 8px 3px; gap:5px; max-height:180px; }
  .fhc-bubble { padding:7px 9px; font-size:12px; line-height:1.45; border-radius:10px; }
  .fhc-msg { max-width:95%; }
  .fhc-input-row { padding:3px 6px 6px; }
  #fhcInput { padding:7px 50px 7px 11px; font-size:12.5px; height:34px; max-height:34px; border-radius:17px; }
  #fhcSend { width:42px; height:26px; border-radius:13px; right:4px; }
  #fhcSend svg { width:13px; height:13px; }
  .fhc-chips { padding:0 8px 3px; gap:4px; }
  .fhc-chip { font-size:10px; padding:4px 8px; border-radius:12px; }
  .fhc-sender { font-size:5.5px; }

  /* ── Tighten hero vertical rhythm on mobile ── */
  .hero { min-height:100vh !important; place-items:end center !important; padding:0 12px 16px !important; }
  .hero-inner { max-width:100%; padding-top:70px; }
  .hero-tag { margin-bottom:10px !important; }
  .hero-h1 { font-size:clamp(32px,8.5vw,48px) !important; line-height:.9 !important; }
  .hero-sub { margin-top:8px !important; font-size:6.5px !important; }
  .hero-rule { height:20px !important; margin:8px auto !important; }
  .hero-stats { margin-top:14px !important; }
  /* Keep the new ember/pulse treatment on mobile — only tune dimensions for thumbs */
  .hero-glass-btn { padding:15px 20px; font-size:11px; letter-spacing:.28em; border-radius:14px; width:100%; max-width:none; gap:10px; }
  .hero-actions { width:80% !important; max-width:none !important; }
}

/* ═══ Explore Menu CTA — solid ember, pulsing glow so guests can't miss it ═══ */
.hero-glass-btn {
  position:relative;
  display:flex; align-items:center; justify-content:center; gap:12px;
  width:100%; max-width:480px;
  font-family:var(--mono); font-size:11px; font-weight:600;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--ink);
  padding:18px 32px;
  background:linear-gradient(135deg, var(--ember) 0%, var(--ember2) 100%);
  border:none;
  border-radius:14px;
  cursor:pointer;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s, background .3s;
  margin:0 auto;
  box-sizing:border-box;
  box-shadow:0 4px 20px rgba(232,137,10,.4), 0 0 0 1px rgba(232,137,10,.6) inset;
  animation:heroBtnPulse 2.6s ease-in-out infinite;
}
.hero-glass-btn svg { stroke:var(--ink); opacity:1; transition:transform .2s; }
.hero-glass-btn:hover {
  background:linear-gradient(135deg, var(--ember2) 0%, var(--ember) 100%);
  transform:translateY(-2px) scale(1.02);
  box-shadow:0 8px 28px rgba(232,137,10,.6), 0 0 0 1px var(--ember) inset;
  animation:none;
}
.hero-glass-btn:hover svg { transform:translateX(3px); }
.hero-glass-btn:active { transform:scale(.97); }
@keyframes heroBtnPulse {
  0%, 100% { box-shadow:0 4px 20px rgba(232,137,10,.4),  0 0 0 1px rgba(232,137,10,.6) inset; }
  50%      { box-shadow:0 4px 32px rgba(232,137,10,.7),  0 0 0 1px rgba(232,137,10,.95) inset; }
}

/* ── SECTIONS ── */
section, .story, .features, .book-section, .visit-section, .menu-wrap {
  background: #0e0503 !important;
}
.sec-eye {
  color: var(--marigold) !important;
  letter-spacing: .55em !important;
  text-shadow: 0 0 20px rgba(232,137,10,.3) !important;
}
.sec-h { color: var(--paper) !important; }
.sec-h em { color: var(--marigold) !important; }
.sec-sub { color: var(--dust) !important; }
.sec-hr {
  background: linear-gradient(90deg, var(--rojo2), var(--marigold), transparent) !important;
  opacity: .7 !important;
}

/* ── STORY ── */
.st-eye { color: var(--marigold) !important; }
.st-h { color: var(--paper) !important; }
.st-h em { color: var(--marigold) !important; }
.st-p { color: var(--dust) !important; line-height: 1.85 !important; }
.story-div { background: rgba(232,137,10,.15) !important; }

/* ── FEATURE CARDS ── */
.feat-card {
  background: #160804 !important;
  border: 1px solid rgba(232,137,10,.1) !important;
  border-bottom: 2px solid rgba(139,26,14,.4) !important;
}
.feat-card:hover {
  background: #1e0c06 !important;
  border-color: rgba(232,137,10,.25) !important;
  box-shadow: 0 8px 32px rgba(139,26,14,.3) !important;
}
.fc-t { color: var(--paper) !important; }
.fc-t em { color: var(--marigold) !important; }
.fc-p { color: var(--dust) !important; }
.fc-icon { color: var(--marigold) !important; }

/* ── MENU OVERLAY ── */
.overlay-menu, .ov-body { background: #0e0503 !important; }
.ov-bar {
  background: rgba(14,5,3,.98) !important;
  border-bottom: 2px solid rgba(139,26,14,.4) !important;
}
.ov-grp-btn { color: rgba(245,234,212,.4) !important; }
.ov-grp-btn.active {
  color: var(--marigold) !important;
  border-bottom: 2px solid var(--marigold) !important;
}
.ov-cat-scroll {
  background: rgba(14,5,3,.96) !important;
  border-bottom: 1px solid rgba(232,137,10,.1) !important;
}
.ov-cat-btn {
  color: rgba(245,234,212,.5) !important;
  border: 1px solid rgba(232,137,10,.15) !important;
}
.ov-cat-btn.active, .ov-cat-btn:hover {
  background: var(--rojo) !important;
  border-color: var(--marigold) !important;
  color: var(--marigold3) !important;
}
.ov-sec-title { color: var(--paper) !important; }
.ov-sec-meta { color: var(--ghost) !important; }
.ov-sec-div { background: rgba(232,137,10,.1) !important; }
.ov-cart-pill {
  background: var(--rojo) !important;
  border: 1px solid rgba(232,137,10,.3) !important;
  color: var(--marigold3) !important;
}

/* ── MENU ITEMS ── */
.item-row { border-bottom: 1px solid rgba(232,137,10,.08) !important; }
.item-row:hover { background: rgba(139,26,14,.08) !important; }
.item-name { color: var(--paper) !important; }
.item-price { color: var(--marigold) !important; }
.item-desc { color: var(--dust) !important; }
.item-add {
  border: 1px solid rgba(232,137,10,.35) !important;
  color: var(--marigold) !important;
  background: transparent !important;
}
.item-add:hover {
  background: var(--rojo) !important;
  border-color: var(--marigold) !important;
  color: var(--marigold3) !important;
}

/* ── DRAWER ── */
.drawer {
  background: #120402 !important;
  border-left: 2px solid rgba(139,26,14,.5) !important;
}
.drawer-head {
  background: rgba(14,5,3,.98) !important;
  border-bottom: 2px solid rgba(139,26,14,.35) !important;
}
.dr-title { color: var(--paper) !important; }
.dr-table-assigned { color: var(--marigold) !important; }
.cart-row { border-bottom: 1px solid rgba(232,137,10,.08) !important; }
.cart-item-name { color: var(--paper) !important; }
.cart-item-price { color: var(--marigold) !important; }
.qty-btn {
  border: 1px solid rgba(232,137,10,.25) !important;
  color: var(--marigold) !important;
  background: transparent !important;
}
.qty-btn:hover { background: var(--rojo) !important; border-color: var(--marigold) !important; }
.dr-total-row { border-top: 2px solid rgba(139,26,14,.3) !important; }
.dr-total-lbl { color: var(--dust) !important; letter-spacing: .35em !important; }
.total-val { color: var(--marigold) !important; }
.btn-order {
  background: var(--rojo) !important;
  color: var(--marigold3) !important;
  border: 1px solid rgba(232,137,10,.25) !important;
  letter-spacing: .14em !important;
}
.btn-order:hover {
  background: var(--rojo2) !important;
  color: #fff !important;
  box-shadow: 0 4px 20px rgba(139,26,14,.5) !important;
}

/* ── TABLE PICKER ── */
.tpk-bg { background: rgba(5,1,0,.94) !important; backdrop-filter: blur(14px) !important; }
.tpk-modal {
  background: #160804 !important;
  border: 1px solid rgba(232,137,10,.2) !important;
}
.tpk-head {
  background: rgba(139,26,14,.2) !important;
  border-bottom: 2px solid rgba(232,137,10,.15) !important;
}
.tpk-title { color: var(--paper) !important; }
.tpk-title em { color: var(--marigold) !important; }
.tpk-tab { color: rgba(245,234,212,.4) !important; }
.tpk-tab.active {
  color: var(--marigold) !important;
  border-bottom: 2px solid var(--marigold) !important;
}
.tpk-search {
  background: rgba(232,137,10,.06) !important;
  border: 1px solid rgba(232,137,10,.2) !important;
  color: var(--paper) !important;
}
.tpk-search::placeholder { color: var(--ghost) !important; }
.tpk-cell {
  background: rgba(232,137,10,.04) !important;
  border: 1px solid rgba(232,137,10,.12) !important;
  color: var(--dust) !important;
}
.tpk-cell:hover {
  background: rgba(139,26,14,.35) !important;
  border-color: var(--marigold) !important;
  color: var(--marigold3) !important;
}
.tpk-cell.sel {
  background: var(--rojo) !important;
  border-color: var(--marigold) !important;
  color: var(--marigold3) !important;
  box-shadow: 0 0 12px rgba(232,137,10,.3) !important;
}
.tpk-confirm-bar {
  background: rgba(139,26,14,.2) !important;
  border-top: 2px solid rgba(232,137,10,.15) !important;
}
.tpk-confirm-lbl { color: var(--dust) !important; }
.tpk-confirm-name { color: var(--marigold) !important; }
.tpk-confirm-btn {
  background: var(--rojo) !important;
  color: var(--marigold3) !important;
  border: 1px solid rgba(232,137,10,.25) !important;
  letter-spacing: .12em !important;
}
.tpk-confirm-btn:hover { background: var(--rojo2) !important; color: #fff !important; }

/* ── CITY INTRO OVERLAY ── */
#cityIntroOverlay {
  background: rgba(5,1,0,.96) !important;
  backdrop-filter: blur(16px) !important;
}
.city-dish-btn:hover {
  border-color: var(--marigold) !important;
  background: rgba(139,26,14,.3) !important;
}

/* ── AUTH MODAL ── */
.auth-bg { background: rgba(5,1,0,.95) !important; }
.auth-modal {
  background: #160804 !important;
  border: 1px solid rgba(232,137,10,.2) !important;
}
.auth-title { color: var(--paper) !important; }
.auth-title em { color: var(--marigold) !important; }
.auth-sub { color: var(--dust) !important; }
.flbl { color: var(--dust) !important; letter-spacing: .25em !important; }
.finp, .fsel, .fta {
  background: rgba(232,137,10,.05) !important;
  border: 1px solid rgba(232,137,10,.18) !important;
  color: var(--paper) !important;
}
.finp:focus, .fsel:focus, .fta:focus {
  border-color: var(--marigold) !important;
  background: rgba(139,26,14,.1) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(232,137,10,.15) !important;
}
.finp::placeholder { color: var(--ghost) !important; }
.auth-btn {
  background: var(--rojo) !important;
  color: var(--marigold3) !important;
  border: 1px solid rgba(232,137,10,.2) !important;
}
.auth-btn:hover { background: var(--rojo2) !important; color: #fff !important; }
.auth-link { color: var(--marigold) !important; }

/* ── BOOKING WIZARD ── */
.book-section { background: #0e0503 !important; }
.bk-modal {
  background: #160804 !important;
  border: 1px solid rgba(232,137,10,.15) !important;
}
.step-eye { color: var(--marigold) !important; letter-spacing: .45em !important; }
.step-h { color: var(--paper) !important; }
.step-h em { color: var(--marigold) !important; }
.step-sub { color: var(--dust) !important; }
.opt-card {
  background: rgba(232,137,10,.04) !important;
  border: 1px solid rgba(232,137,10,.14) !important;
  color: var(--dust) !important;
}
.opt-card:hover {
  background: rgba(139,26,14,.2) !important;
  border-color: rgba(232,137,10,.3) !important;
  color: var(--paper) !important;
}
.opt-card.sel {
  background: var(--rojo) !important;
  border-color: var(--marigold) !important;
  color: var(--marigold3) !important;
  box-shadow: 0 4px 16px rgba(139,26,14,.4) !important;
}
.btn-next {
  background: var(--rojo) !important;
  color: var(--marigold3) !important;
  border: 1px solid rgba(232,137,10,.2) !important;
  letter-spacing: .12em !important;
}
.btn-next:hover { background: var(--rojo2) !important; color: #fff !important; }
.btn-back { color: var(--ghost) !important; }
.btn-back:hover { color: var(--marigold) !important; }
.progress-bar { background: rgba(232,137,10,.1) !important; }
.progress-fill { background: linear-gradient(90deg, var(--rojo), var(--marigold)) !important; }
.step-dot { background: rgba(232,137,10,.15) !important; }
.step-dot.active { background: var(--marigold) !important; }

/* ── AI SUGGESTION ── */
.ai-result-title em { color: var(--marigold) !important; }
.ai-result-why { color: var(--dust) !important; }
.ai-accept-btn {
  background: var(--rojo) !important;
  color: var(--marigold3) !important;
  border: 1px solid rgba(232,137,10,.2) !important;
}
.ai-accept-btn:hover { background: var(--rojo2) !important; color: #fff !important; }
.ai-retry-btn {
  background: transparent !important;
  border: 1px solid rgba(232,137,10,.2) !important;
  color: var(--ghost) !important;
}
.ai-retry-btn:hover { border-color: var(--marigold) !important; color: var(--marigold) !important; }
.ai-drink-card { background: rgba(232,137,10,.03) !important; }
.ai-drink-card:hover {
  border-color: var(--marigold) !important;
  background: rgba(139,26,14,.2) !important;
}

/* ── HOURS / VISIT ── */
.visit-section { background: #0e0503 !important; }
.hours-table td, .hours-table th { color: var(--dust) !important; border-color: rgba(232,137,10,.08) !important; }
.hours-table tr.today td { color: var(--marigold) !important; font-weight: 600 !important; }

/* ── LOYALTY / POINTS ── */
.pts-box {
  background: rgba(139,26,14,.2) !important;
  border: 1px solid rgba(232,137,10,.2) !important;
}
.pts-big { color: var(--marigold) !important; }
.pts-lbl { color: var(--ghost) !important; }
.perks-bar { background: rgba(232,137,10,.1) !important; }
.perks-fill { background: linear-gradient(90deg, var(--rojo), var(--marigold)) !important; }
.perk-pts { color: var(--marigold) !important; }
.perk-nm { color: var(--paper) !important; }
.perk-item { border-bottom: 1px solid rgba(232,137,10,.08) !important; }

/* ── ORDER REVIEW ── */
.orv-name { color: var(--paper) !important; }
.orv-price { color: var(--marigold) !important; }
.orv-remove {
  border: 1px solid rgba(232,137,10,.2) !important;
  color: var(--ghost) !important;
  background: transparent !important;
}
.orv-remove:hover { background: var(--rojo) !important; color: var(--marigold3) !important; }
.order-done-head { color: var(--paper) !important; }
.order-done-head em { color: var(--marigold) !important; }
.order-success-icon { color: var(--marigold) !important; }
.order-id { color: var(--marigold) !important; }

/* ── FOOTER ── */
footer, .site-footer {
  background: #080300 !important;
  border-top: 2px solid rgba(139,26,14,.4) !important;
}
.ft-brand { color: var(--marigold) !important; }
.ft-link { color: var(--ghost) !important; }
.ft-link:hover { color: var(--marigold) !important; }

/* ── NUDGE BANNER ── */
.drawer-table-nudge, #drawerTableNudge {
  background: rgba(139,26,14,.25) !important;
  border: 1px solid rgba(232,137,10,.25) !important;
  color: var(--marigold) !important;
}

/* ── SCROLLBAR ── */
::-webkit-scrollbar { width: 5px; background: #0e0503; }
::-webkit-scrollbar-thumb { background: rgba(232,137,10,.25); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(232,137,10,.45); }

/* ── SELECTION HIGHLIGHT ── */
::selection { background: rgba(139,26,14,.5); color: var(--marigold3); }

/* ── WHATSAPP FLOATING BUTTON (replaces old AI chat FAB) ── */
#waFab {
  position:fixed; bottom:24px; right:24px; z-index:900;
  width:60px; height:60px; border-radius:50%;
  background:#25d366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  text-decoration:none; cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.35), 0 2px 8px rgba(37,211,102,.45);
  transition:transform .25s var(--ease), box-shadow .25s;
}
#waFab:hover  { transform:scale(1.08); box-shadow:0 6px 24px rgba(37,211,102,.55); }
#waFab:active { transform:scale(.95); }
#waFab::before {
  content:''; position:absolute; inset:-4px; border-radius:50%;
  background:rgba(37,211,102,.35); z-index:-1;
  animation:waPulse 2.4s ease-in-out infinite;
}
@keyframes waPulse {
  0%,100% { transform:scale(1);   opacity:0; }
  50%     { transform:scale(1.18); opacity:.55; }
}
@media(max-width:700px) {
  #waFab { bottom:16px; right:16px; width:54px; height:54px; }
  #waFab svg { width:26px; height:26px; }
}

