
:root{
  --bg:#14100d;
  --bg-soft:#1b1510;
  --surface:#221a13;
  --surface-2:#2b2118;
  --line:rgba(241,232,220,0.12);
  --line-strong:rgba(241,232,220,0.22);
  --text:#f1e8dc;
  --text-dim:#b7a996;
  --text-faint:#8a7d6c;
  --gold:#c9a15c;
  --gold-bright:#e7c583;
  --rust:#b5502f;
  --sage:#8a9764;
  --wine:#7a2e3a;
  --teal:#3a2a1c;
  --teal-bright:#e7c583;
  --teal-deep:#1b1510;
  --radius-s:4px;
  --radius-m:10px;
  --radius-l:22px;
  --ease:cubic-bezier(.22,.68,.32,1);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Manrope',sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;margin:0;line-height:1.08;letter-spacing:-.01em;}
p{margin:0;}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,56px);}

.grain{position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- nav ---------- */
header.nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px clamp(20px,4vw,56px);
  background:rgba(20,16,13,.55);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line);
  transition:background .4s var(--ease),padding .4s var(--ease);
}
header.nav.scrolled{background:rgba(20,16,13,.86);padding-top:10px;padding-bottom:10px;}
.back-home-btn{position:fixed;top:clamp(76px,9vw,92px);left:16px;z-index:150;width:40px;height:40px;border-radius:50%;
  display:none;align-items:center;justify-content:center;
  background:rgba(20,16,13,.55);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);
  border:1px solid var(--line-strong);color:var(--text);cursor:pointer;
  transition:border-color .25s var(--ease),color .25s var(--ease),transform .2s var(--ease);}
.back-home-btn.show{display:flex;}
.back-home-btn:hover{border-color:var(--gold);color:var(--gold-bright);transform:translateX(-2px);}
.back-home-btn .ic{width:18px;height:18px;transform:rotate(180deg);}
@media(max-width:700px){.back-home-btn{top:70px;left:12px;width:36px;height:36px;}.back-home-btn .ic{width:16px;height:16px;}}
.brand{display:flex;align-items:center;gap:10px;line-height:1;user-select:none;-webkit-user-select:none;}
.brand img{height:48px;width:auto;transition:transform .3s var(--ease),filter .3s var(--ease);filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));}
.brand:active img{transform:scale(.92);}
nav.links{display:flex;align-items:center;gap:30px;}
nav.links a{font-size:.92rem;color:var(--text-dim);transition:color .25s var(--ease);position:relative;}
nav.links a:hover{color:var(--text);}
nav.links a.accent-link:hover{color:var(--teal-bright);}
nav.links a::after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease);}
nav.links a:hover::after{width:100%;}
nav.links a.accent-link:hover::after{background:var(--teal-bright);}
.nav-right{display:flex;align-items:center;gap:14px;}
.cart-btn{
  display:flex;align-items:center;gap:8px;
  border:1px solid var(--line-strong);background:transparent;color:var(--text);
  padding:9px 16px;border-radius:999px;font-size:.85rem;font-weight:600;
  transition:border-color .3s var(--ease),transform .2s var(--ease),background .3s var(--ease);
}
.cart-btn:hover{border-color:var(--gold);background:rgba(201,161,92,.08);}
.cart-btn.bump{animation:bump .4s var(--ease);}
@keyframes bump{0%{transform:scale(1);}35%{transform:scale(1.14);}100%{transform:scale(1);}}
.cart-count{background:var(--gold);color:#1b140d;font-size:.72rem;font-weight:800;min-width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:6px;position:relative;width:34px;height:34px;align-items:center;justify-content:center;}
.hamburger span{width:22px;height:1.5px;background:var(--text);display:block;transition:transform .3s var(--ease),opacity .3s var(--ease);position:absolute;}
.hamburger span:nth-child(1){transform:translateY(-6px);}
.hamburger span:nth-child(3){transform:translateY(6px);}
.hamburger.open span:nth-child(1){transform:translateY(0) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(0) rotate(-45deg);}

.mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:190;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;padding:0 32px;
  transform:translateY(-100%);transition:transform .5s var(--ease);}
.mobile-menu.open{transform:translateY(0);}
.mobile-menu .mm-close{position:absolute;top:22px;right:22px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line-strong);background:none;color:var(--text);font-size:1.2rem;display:flex;align-items:center;justify-content:center;}
.mobile-menu .mm-home{position:absolute;top:22px;left:22px;display:inline-flex;align-items:center;gap:8px;padding:9px 16px 9px 12px;border-radius:999px;border:1px solid var(--line-strong);background:none;color:var(--text);font-family:'Manrope',sans-serif;font-size:.85rem;font-weight:700;}
.mobile-menu .mm-home .ic{width:17px;height:17px;}
.mobile-menu .mm-home:hover{border-color:var(--gold);color:var(--gold-bright);}
.mobile-menu .mm-close:hover{border-color:var(--gold);color:var(--gold-bright);}
.mobile-menu a{font-family:var(--serif);font-size:1.9rem;color:var(--text);}
.mobile-menu .mm-cart{display:flex;align-items:center;gap:10px;font-family:'Manrope',sans-serif;font-size:1rem;font-weight:700;border:1px solid var(--line-strong);padding:10px 18px;border-radius:999px;margin-top:6px;}
.mobile-menu .mm-meta{margin-top:14px;color:var(--text-faint);font-size:.85rem;}

/* ---------- app / transitions ---------- */
#app{padding-top:0;min-height:100vh;opacity:1;transform:translateY(0);transition:opacity .32s var(--ease),transform .32s var(--ease);}
#app.leaving{opacity:0;transform:translateY(10px);}

/* ---------- hero ---------- */
/* nav entrance, played once the intro reveals the site */
nav.links a{opacity:0;transform:translateY(-8px);}
.nav-ready nav.links a{animation:navFadeIn .6s var(--ease) forwards;}
.nav-ready nav.links a:nth-child(1){animation-delay:.05s;}
.nav-ready nav.links a:nth-child(2){animation-delay:.12s;}
.nav-ready nav.links a:nth-child(3){animation-delay:.19s;}
.nav-ready nav.links a:nth-child(4){animation-delay:.26s;}
.nav-ready nav.links a:nth-child(5){animation-delay:.33s;}
@keyframes navFadeIn{to{opacity:1;transform:translateY(0);}}

/* ---------- hero2 (warm-elegant x clean-modern, split layout) ---------- */
.hero2{
  --h2-cream:#faf3e7; --h2-cream-2:#f2e3cd; --h2-ink:#2a1d14; --h2-ink-soft:#5c4a38;
  --h2-line:rgba(42,29,20,.14);
  --h2-forest:#3d5c3a; --h2-forest-deep:#253b23; --h2-forest-bright:#6f9463;
  --h2-sage:#7c8a5e;
  position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(128px,15vw,168px) 0 clamp(64px,8vw,96px);
  background:
    radial-gradient(1100px 620px at 12% -12%,rgba(61,92,58,.14),transparent 60%),
    radial-gradient(900px 520px at 102% 6%,rgba(201,161,92,.16),transparent 58%),
    linear-gradient(180deg,var(--h2-cream) 0%,var(--h2-cream-2) 100%);
}
.hero2::after{content:"";position:absolute;left:0;right:0;bottom:0;z-index:1;pointer-events:none;
  height:clamp(120px,16vw,200px);
  background:linear-gradient(180deg,transparent 0%,rgba(34,26,19,.6) 45%,var(--bg) 100%);}
.hero2-blobs{position:absolute;inset:0;z-index:0;pointer-events:none;}
.hero2-blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;animation:h2drift 18s ease-in-out infinite;}
.hb1{width:420px;height:420px;background:var(--h2-forest);top:-180px;left:-140px;}
.hb2{width:360px;height:360px;background:var(--h2-sage);bottom:-160px;right:-100px;animation-delay:-6s;}
.hb3{width:280px;height:280px;background:var(--gold-bright);top:38%;left:46%;opacity:.22;animation-delay:-3s;}
@keyframes h2drift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(28px,-22px) scale(1.06);}}

.hero2-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,5vw,84px);align-items:center;}

.hero2-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 12px;border-radius:999px;
  background:rgba(61,92,58,.09);border:1px solid rgba(61,92,58,.3);
  color:var(--h2-forest-deep);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;
  opacity:0;animation:h2fade .8s var(--ease) .1s forwards;}
.hero2-eyebrow .ic{width:13px;height:13px;}
.hero2-title{margin-top:24px;font-size:clamp(2.5rem,5.4vw,4.4rem);line-height:1.06;max-width:13ch;
  color:var(--h2-ink);font-weight:500;
  opacity:0;animation:h2fade 1s var(--ease) .22s forwards;}
.hero2-lede{margin-top:20px;max-width:46ch;color:var(--h2-ink-soft);font-size:1.06rem;line-height:1.7;
  opacity:0;animation:h2fade 1s var(--ease) .36s forwards;}
.hero2-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;
  opacity:0;animation:h2fade 1s var(--ease) .5s forwards;}
.hero2-stats{display:flex;flex-wrap:wrap;gap:16px 0;margin-top:42px;
  opacity:0;animation:h2fade 1s var(--ease) .64s forwards;}
.hero2-stats>div{display:flex;align-items:center;gap:10px;padding:0 22px;}
.hero2-stats>div:first-child{padding-left:0;}
.hero2-stats>div+div{border-left:1px solid var(--h2-line);}
.hero2-stats .ic{width:19px;height:19px;color:var(--h2-forest);flex-shrink:0;}
.hero2-stats strong{display:block;font-size:1.05rem;font-weight:700;color:var(--h2-ink);}
.hero2-stats span{font-size:.78rem;color:var(--h2-ink-soft);}

.hero2-media{position:relative;opacity:0;animation:h2fadeScale 1.1s var(--ease) .3s forwards;}
.hero2-media-card{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4/5;
  box-shadow:0 34px 64px -22px rgba(42,29,20,.4),0 2px 0 rgba(255,255,255,.5) inset;}
.hero2-media-card video{width:100%;height:100%;object-fit:cover;filter:saturate(1.1) contrast(1.05);}
.hero2-media-card::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(205deg,transparent 55%,rgba(42,29,20,.38) 100%);}
.hero2-chip{position:absolute;width:92px;height:92px;border-radius:50%;overflow:hidden;
  border:4px solid var(--h2-cream);box-shadow:0 16px 32px -12px rgba(42,29,20,.4);
  animation:h2float 5.5s ease-in-out infinite;}
.hero2-chip img{width:100%;height:100%;object-fit:cover;}
.chip-1{top:-28px;left:-28px;animation-delay:.2s;}
.chip-2{width:74px;height:74px;bottom:-20px;right:26px;animation-delay:1.1s;}
.hero2-badge{position:absolute;left:-24px;bottom:56px;display:flex;align-items:center;gap:10px;
  background:var(--h2-cream);border-radius:16px;padding:13px 18px;
  box-shadow:0 22px 44px -20px rgba(42,29,20,.4);
  animation:h2float 6.5s ease-in-out infinite;animation-delay:.6s;}
.hero2-badge .ic{width:20px;height:20px;color:var(--h2-forest);}
.hero2-badge strong{display:block;font-size:.9rem;color:var(--h2-forest-deep);}
.hero2-badge span{font-size:.74rem;color:var(--h2-ink-soft);}

@keyframes h2fade{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
@keyframes h2fadeScale{from{opacity:0;transform:scale(.94) translateY(10px);}to{opacity:1;transform:scale(1) translateY(0);}}
@keyframes h2float{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}

.btn-ghost-warm{border:1px solid rgba(42,29,20,.32);color:var(--h2-ink);background:rgba(42,29,20,.04);}
.btn-ghost-warm:hover{border-color:var(--h2-forest);background:rgba(61,92,58,.08);transform:translateY(-2px);}

@media(max-width:900px){
  .hero2-grid{grid-template-columns:1fr;gap:56px;}
  .hero2-media{order:-1;max-width:460px;margin:0 auto;}
  .hero2-media-card{aspect-ratio:5/4;}
}
@media(max-width:560px){
  .hero2{padding-top:118px;}
  .hero2-title{max-width:none;}
  .hero2-stats{gap:14px 0;}
  .hero2-stats>div{padding:0 14px;}
  .hero2-chip{display:none;}
  .hero2-badge{left:14px;bottom:16px;padding:10px 14px;}
  .hero2-badge strong{font-size:.82rem;}
  .hero2-badge span{font-size:.68rem;}
}

.btn{display:inline-flex;align-items:center;gap:10px;padding:15px 28px;border-radius:999px;font-weight:700;font-size:.92rem;border:1px solid transparent;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease),border-color .3s var(--ease);}
.btn:active{transform:scale(.97);}
.btn-gold,.btn-teal{position:relative;overflow:hidden;}
.btn-gold::after,.btn-teal::after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(120deg, transparent, rgba(255,255,255,.4), transparent);transform:skewX(-20deg);transition:left .6s ease;}
.btn-gold:hover::after,.btn-teal:hover::after{left:130%;}
.btn-gold{background:linear-gradient(135deg,#f0dcae 0%,#c9a15c 45%,#8f662f 100%);color:#241705;box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 10px 24px -12px rgba(0,0,0,.55);}
.btn-gold:hover{box-shadow:0 16px 34px -12px rgba(201,161,92,.55);transform:translateY(-2px);}
.btn-ghost{border-color:var(--line-strong);color:var(--text);background:rgba(255,255,255,.03);}
.btn-ghost:hover{border-color:var(--gold);background:rgba(201,161,92,.08);transform:translateY(-2px);}
.btn-teal{background:linear-gradient(135deg,#6fe0be 0%,#1f6f63 55%,#0d2b26 100%);color:#eafff6;box-shadow:0 1px 0 rgba(255,255,255,.22) inset,0 10px 24px -12px rgba(0,0,0,.55);}
.btn-teal:hover{box-shadow:0 16px 34px -12px rgba(231,197,131,.55);transform:translateY(-2px);}
.btn-block{width:100%;justify-content:center;}
.btn-sm{padding:9px 16px;font-size:.8rem;}

.ticker{position:relative;z-index:3;border-top:1px solid rgba(241,232,220,.15);background:rgba(15,11,8,.6);backdrop-filter:blur(6px);overflow:hidden;white-space:nowrap;}
.ticker-track{display:inline-flex;animation:scroll 26s linear infinite;padding:13px 0;}
.ticker-track span{padding:0 34px;font-size:.8rem;letter-spacing:.06em;color:var(--text-dim);display:inline-flex;align-items:center;gap:10px;}
.ticker-track span::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);vertical-align:middle;margin-left:34px;}
.ticker-track span.tl::after{color:var(--teal-bright);}
@keyframes scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- sections ---------- */
section{padding:clamp(64px,10vw,120px) 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:44px;flex-wrap:wrap;}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);}
.section-tag{color:var(--gold);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px;display:block;}
.hl{color:var(--teal-bright);position:relative;white-space:nowrap;}
.hl::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--teal-bright),var(--gold-bright));opacity:.85;}

.section-tag.teal-tag{color:var(--teal-bright);}
.section-head p{color:var(--text-dim);max-width:420px;font-size:.98rem;line-height:1.6;}
.view-link{color:var(--gold-bright);font-size:.9rem;font-weight:700;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;}
.view-link:hover{text-decoration:underline;}

/* reveal — directional entrance/exit, replays every time */
.reveal,.reveal-top,.reveal-left,.reveal-right{opacity:0;transition:opacity .85s var(--ease),transform .85s var(--ease);}
.reveal{transform:translateY(28px);}
.reveal-top{transform:translateY(-44px);}
.reveal-left{transform:translateX(-52px);}
.reveal-right{transform:translateX(52px);}
.reveal.revealed,.reveal-top.revealed,.reveal-left.revealed,.reveal-right.revealed{opacity:1;transform:translate(0,0);}
/* safe fade — used for grid tiles (bento, product cards) so an interrupted animation can never shift a card into a neighbor's space */
.reveal-fade{opacity:0;transform:scale(.97);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.reveal-fade.revealed{opacity:1;transform:scale(1);}

/* bento category grid */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:20px;}
.bento .cat-card:nth-child(1){grid-column:span 4;}
.bento .cat-card:nth-child(2){grid-column:span 2;}
.bento .cat-card:nth-child(3){grid-column:span 2;}
.bento .cat-card:nth-child(4){grid-column:span 2;}
.bento .cat-card:nth-child(5){grid-column:span 2;}
.bento .cat-card:nth-child(6){grid-column:span 3;}
.bento .cat-card:nth-child(7){grid-column:span 3;}
.cat-card{position:relative;display:block;border-radius:var(--radius-l);overflow:hidden;aspect-ratio:4/3;min-height:320px;background:var(--surface);border:1px solid var(--line);will-change:transform;transform-style:preserve-3d;transition:box-shadow .3s var(--ease);}
.cat-card .cc-imgwrap{position:absolute;inset:0;overflow:hidden;}
.cat-card .cc-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);}

.cat-card:hover .cc-imgwrap img{transform:scale(1.1);}
.cat-card:hover{box-shadow:0 24px 50px -20px rgba(0,0,0,.65);}
.cat-card .cc-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,11,8,.05) 0%,rgba(15,11,8,.15) 22%,rgba(15,11,8,.94) 100%);}
.cat-card .cc-body{position:absolute;left:0;right:0;bottom:0;padding:20px 22px;z-index:2;}
.cat-card .cc-top-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;}
.cat-card .cc-price{color:var(--gold-bright);font-size:.75rem;font-weight:700;letter-spacing:.04em;display:block;}
.cat-card .cc-count{flex-shrink:0;background:rgba(15,11,8,.55);backdrop-filter:blur(4px);color:var(--gold-bright);font-size:.64rem;font-weight:800;padding:4px 10px;border-radius:999px;border:1px solid rgba(201,161,92,.4);white-space:nowrap;}
.menu-search-row{margin-bottom:20px;}
.menu-search-box{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line-strong);border-radius:999px;padding:14px 22px;max-width:540px;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);}
.menu-search-box:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,161,92,.14);}
.menu-search-box .msi{opacity:.65;font-size:.9rem;}
.menu-search-box input{flex:1;background:none;border:none;color:var(--text);font-family:inherit;font-size:.94rem;}
.menu-search-box input:focus{outline:none;}
.menu-search-box input::placeholder{color:var(--text-faint);}
.cat-chip-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;}
.cat-chip{border:1px solid var(--line-strong);color:var(--text-dim);padding:9px 18px;border-radius:999px;font-size:.82rem;font-weight:600;transition:all .25s var(--ease);}
.cat-chip:hover{border-color:var(--gold);color:var(--gold-bright);background:rgba(201,161,92,.08);transform:translateY(-2px);}
.pc-tag.best{}

.route-loader{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--teal-bright));z-index:600;transition:width .4s ease,opacity .3s ease;opacity:0;}
.route-loader.active{opacity:1;width:70%;}
.route-loader.done{width:100%;opacity:0;}
.cat-card h3{color:#fff;font-size:1.3rem;position:relative;z-index:2;}
.cat-card p{color:var(--text-dim);font-size:.85rem;margin-top:6px;max-width:34ch;position:relative;z-index:2;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* product grid + card (tilt) */
.grid-products{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:26px;}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;transition:border-color .3s var(--ease),box-shadow .3s var(--ease);will-change:transform;transform-style:preserve-3d;}
.pcard:hover{border-color:var(--line-strong);box-shadow:0 22px 44px -20px rgba(0,0,0,.6);}
.pcard .pc-imgwrap{position:relative;aspect-ratio:1/1;overflow:hidden;}
.pcard .pc-imgwrap img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}

.pcard:hover .pc-imgwrap img{transform:scale(1.06);}
.pcard .pc-tag{position:absolute;top:12px;left:12px;font-size:.68rem;font-weight:800;letter-spacing:.04em;padding:5px 10px;border-radius:999px;background:rgba(15,11,8,.75);backdrop-filter:blur(4px);}
.pcard .pc-tag.veg{color:var(--sage);border:1px solid var(--sage);}
.pcard .pc-tag.nonveg{color:var(--rust);border:1px solid var(--rust);}
.pcard .pc-tag.best{color:var(--gold-bright);border:1px solid var(--gold);}
.pcard .pc-body{padding:18px 18px 20px;}
.pcard h4{font-size:1.05rem;margin-bottom:6px;}
.pcard .pc-desc{color:var(--text-dim);font-size:.84rem;line-height:1.55;min-height:2.7em;}
.pcard .pc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:16px;}
.price{font-family:var(--serif);font-size:1.15rem;color:var(--gold-bright);position:relative;background:linear-gradient(90deg,var(--gold-bright) 40%,#fff 50%,var(--gold-bright) 60%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}

.add-btn{border:1px solid var(--line-strong);background:transparent;color:var(--text);padding:9px 15px;border-radius:999px;font-size:.78rem;font-weight:700;display:inline-flex;align-items:center;gap:6px;transition:all .25s var(--ease);}
.add-btn:hover{background:var(--gold);border-color:var(--gold);color:#1c150d;}
.add-btn.flying{animation:pop .45s var(--ease);}
@keyframes pop{0%{transform:scale(1);}50%{transform:scale(.88);}100%{transform:scale(1);}}

/* why-us teal feature strip */
.why-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.why-card{border:1px solid rgba(201,161,92,.25);background:linear-gradient(160deg,rgba(201,161,92,.10),rgba(43,33,24,.06));border-radius:var(--radius-m);padding:26px;transition:transform .35s var(--ease),border-color .35s var(--ease),box-shadow .35s var(--ease);}
.why-card:hover{transform:translateY(-6px);border-color:var(--gold);box-shadow:0 18px 40px -18px rgba(201,161,92,.35);}
.why-icon{width:56px;height:56px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold-bright);font-size:1.4rem;margin-bottom:16px;}

.why-card h4{font-size:1.05rem;color:var(--text);margin-bottom:8px;}
.why-card p{color:var(--text-dim);font-size:.88rem;line-height:1.55;}

/* about / split */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split img,.split video{border-radius:var(--radius-l);width:100%;height:520px;object-fit:cover;}
.split .num-row{display:flex;gap:40px;margin-top:34px;}
.num-row .num{font-family:var(--serif);font-size:2rem;color:var(--gold-bright);}
.num-row .lbl{color:var(--text-faint);font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;margin-top:2px;}

/* visit/footer */
.visit{background:var(--bg-soft);border-top:1px solid var(--line);}
.visit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;}
.visit-list{display:flex;flex-direction:column;gap:20px;margin-top:28px;}
.visit-row{display:flex;gap:16px;align-items:flex-start;padding-bottom:18px;border-bottom:1px solid var(--line);}
.visit-row .vi{color:var(--gold);font-size:1.1rem;width:22px;}
.visit-row strong{display:block;font-size:.95rem;margin-bottom:2px;}
.visit-row span{color:var(--text-dim);font-size:.88rem;}
.map-box{border-radius:var(--radius-l);border:1px solid var(--line);overflow:hidden;min-height:340px;position:relative;background:var(--surface);}
.map-box iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.25) sepia(.15) saturate(1.1);}
.map-box .map-cta{position:absolute;left:16px;bottom:16px;z-index:2;}
footer{padding:30px 0;border-top:1px solid var(--line);}
.footer-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;color:var(--text-faint);font-size:.82rem;}
.footer-row a{color:var(--text-dim);}
.footer-row a:hover{color:var(--gold-bright);}

/* breadcrumb */
.crumbs{display:flex;gap:8px;align-items:center;color:var(--text-faint);font-size:.82rem;margin-bottom:30px;flex-wrap:wrap;}
.crumbs a{color:var(--text-dim);}
.crumbs a:hover{color:var(--gold-bright);}

/* category page header */
.cat-hero{position:relative;height:46vh;min-height:320px;display:flex;align-items:flex-end;overflow:hidden;border-radius:0 0 var(--radius-l) var(--radius-l);}
.cat-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.cat-hero .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,11,8,.2),rgba(15,11,8,.92));}
.cat-hero .ch-body{position:relative;z-index:2;padding:0 clamp(20px,4vw,56px) 46px;}
.cat-hero h1{color:#fff;font-size:clamp(2.1rem,4.4vw,3.4rem);}
.cat-hero p{color:var(--text-dim);margin-top:12px;max-width:520px;}

/* product detail */
.pdetail{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:flex-start;}
.pdetail-img{border-radius:var(--radius-l);overflow:hidden;aspect-ratio:1/1;will-change:transform;transform-style:preserve-3d;}
.pdetail-img img{width:100%;height:100%;object-fit:cover;}
.pdetail h1{font-size:clamp(1.8rem,3.2vw,2.6rem);}
.pdetail .price{font-size:1.6rem;margin-top:14px;display:block;}
.pdetail .desc{color:var(--text-dim);margin-top:20px;line-height:1.7;font-size:1rem;max-width:46ch;}
.pdetail .pair{margin-top:18px;color:var(--gold-bright);font-size:.85rem;}
.qty-row{display:flex;align-items:center;gap:18px;margin-top:32px;}
.qty-control{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;}
.qty-control button{width:40px;height:40px;background:none;border:none;color:var(--text);font-size:1.1rem;}
.qty-control button:hover{background:rgba(201,161,92,.12);}
.qty-control span{width:36px;text-align:center;font-weight:700;}
.pdetail-ctas{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}

/* cart drawer */
.overlay{position:fixed;inset:0;background:rgba(10,8,6,.6);backdrop-filter:blur(2px);z-index:210;opacity:0;pointer-events:none;transition:opacity .35s var(--ease);}
.overlay.open{opacity:1;pointer-events:auto;}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(430px,92vw);background:var(--bg-soft);border-left:1px solid var(--line);z-index:211;
  transform:translateX(100%);transition:transform .45s var(--ease);display:flex;flex-direction:column;}
.drawer.open{transform:translateX(0);}
.drawer-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;}
.drawer-head h3{font-size:1.3rem;}
.drawer-close{background:none;border:1px solid var(--line-strong);border-radius:50%;width:34px;height:34px;color:var(--text);font-size:1rem;}
.drawer-close:hover{border-color:var(--gold);color:var(--gold-bright);}
.drawer-items{flex:1;overflow-y:auto;padding:16px 24px;display:flex;flex-direction:column;gap:18px;}
.cart-line{display:flex;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--line);animation:cartLineIn .45s var(--ease) backwards;}
.cart-line:nth-child(1){animation-delay:.02s;}
.cart-line:nth-child(2){animation-delay:.08s;}
.cart-line:nth-child(3){animation-delay:.14s;}
.cart-line:nth-child(4){animation-delay:.2s;}
.cart-line:nth-child(5){animation-delay:.26s;}
@keyframes cartLineIn{from{opacity:0;transform:translateX(18px);}to{opacity:1;transform:translateX(0);}}
.cart-line img{width:66px;height:66px;border-radius:var(--radius-s);object-fit:cover;flex-shrink:0;}
.cl-info{flex:1;display:flex;flex-direction:column;gap:6px;}
.cl-top{display:flex;justify-content:space-between;gap:8px;}
.cl-top .cl-name{font-size:.92rem;font-weight:700;}
.cl-remove{color:var(--text-faint);font-size:.75rem;background:none;border:none;text-decoration:underline;padding:0;}
.cl-remove:hover{color:var(--rust);}
.cl-bottom{display:flex;justify-content:space-between;align-items:center;}
.mini-qty{display:flex;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:999px;padding:2px 4px;}
.mini-qty button{width:22px;height:22px;background:none;border:none;color:var(--text);}
.mini-qty span{font-size:.82rem;font-weight:700;min-width:14px;text-align:center;}
.drawer-empty{padding:60px 24px;text-align:center;color:var(--text-dim);}
.drawer-foot{padding:20px 24px 26px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;}
.df-row{display:flex;justify-content:space-between;font-size:.9rem;color:var(--text-dim);}
.df-row.total{font-size:1.15rem;color:var(--text);font-family:var(--serif);margin-top:4px;}

/* toast */
.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(140%);background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text);padding:14px 22px;border-radius:999px;font-size:.88rem;z-index:260;display:flex;align-items:center;gap:10px;transition:transform .45s var(--ease);box-shadow:0 18px 40px -14px rgba(0,0,0,.6);}
.toast.show{transform:translateX(-50%) translateY(0);}
.toast .dot{width:8px;height:8px;border-radius:50%;background:var(--sage);}

/* checkout */
.checkout-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:56px;align-items:flex-start;}
.field-group{margin-bottom:18px;}
.field-group label{display:block;font-size:.8rem;color:var(--text-dim);margin-bottom:7px;}
.field-group input,.field-group textarea{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:13px 14px;color:var(--text);font-family:inherit;font-size:.92rem;transition:border-color .25s var(--ease);}
.field-group input:focus,.field-group textarea:focus{outline:none;border-color:var(--gold);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px;position:sticky;top:100px;}
.summary-card h3{font-size:1.15rem;margin-bottom:18px;}
.summary-line{display:flex;justify-content:space-between;font-size:.88rem;color:var(--text-dim);padding:9px 0;border-bottom:1px solid var(--line);}
.pay-option{margin-top:22px;border:1px solid var(--gold);background:rgba(201,161,92,.08);border-radius:var(--radius-s);padding:16px;display:flex;gap:12px;align-items:flex-start;}

.pay-option .po-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--gold);flex-shrink:0;margin-top:2px;position:relative;}
.pay-option .po-dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold);}
.pay-option strong{font-size:.92rem;}
.pay-option p{color:var(--text-dim);font-size:.8rem;margin-top:4px;}

/* confirmation */
.confirm-wrap{max-width:620px;margin:0 auto;text-align:center;}
.check-circle{width:88px;height:88px;border-radius:50%;border:2px solid var(--sage);display:flex;align-items:center;justify-content:center;margin:0 auto 26px;animation:popIn .6s var(--ease);}
@keyframes popIn{0%{transform:scale(0);opacity:0;}70%{transform:scale(1.08);opacity:1;}100%{transform:scale(1);}}
.check-circle svg{width:38px;height:38px;}
.order-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:28px;margin-top:34px;text-align:left;}
.oc-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line);font-size:.9rem;}
.oc-row:last-child{border-bottom:none;}
.oc-items{margin:14px 0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px;}
.oc-item-row{display:flex;justify-content:space-between;font-size:.86rem;color:var(--text-dim);}

/* order history */
.orders-list{display:flex;flex-direction:column;gap:18px;}
.order-row-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px 24px;transition:border-color .3s var(--ease),transform .3s var(--ease);}
.order-row-card:hover{border-color:var(--line-strong);transform:translateY(-3px);}
.orc-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
.orc-id{font-family:var(--serif);font-size:1.1rem;}
.orc-date{color:var(--text-faint);font-size:.8rem;margin-top:2px;}
.orc-status{font-size:.72rem;font-weight:800;letter-spacing:.03em;padding:6px 12px;border-radius:999px;white-space:nowrap;}
.orc-status.placed{color:var(--gold-bright);border:1px solid var(--gold);}
.orc-status.preparing{color:var(--teal-bright);border:1px solid var(--teal-bright);}
.orc-status.delivered{color:var(--sage);border:1px solid var(--sage);}
.delivery-timer{display:inline-flex;align-items:center;gap:5px;font-size:.7rem;font-weight:800;letter-spacing:.02em;padding:5px 12px;border-radius:999px;white-space:nowrap;}
.delivery-timer.dt-blazing{color:#ff7a3d;border:1px solid #ff7a3d;animation:dtFlicker 1.1s ease-in-out infinite;}
.delivery-timer.dt-fast{color:var(--teal-bright);border:1px solid var(--teal-bright);}
.delivery-timer.dt-normal{color:var(--sage);border:1px solid var(--sage);}
.delivery-timer.dt-slow{color:var(--text-faint);border:1px solid var(--line-strong);}
@keyframes dtFlicker{0%,100%{transform:scale(1);opacity:1;}50%{transform:scale(1.1);opacity:.82;}}
.orc-items{color:var(--text-dim);font-size:.86rem;line-height:1.6;margin-bottom:12px;}
.orc-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;}
.orc-total{font-family:var(--serif);color:var(--gold-bright);font-size:1.05rem;}

/* empty view */
.empty-state{text-align:center;padding:80px 20px;color:var(--text-dim);}

/* ---------- admin login modal ---------- */
.admin-modal-overlay{position:fixed;inset:0;background:rgba(8,6,5,.78);backdrop-filter:blur(6px);z-index:400;display:none;align-items:center;justify-content:center;padding:20px;}
.admin-modal-overlay.open{display:flex;}
.admin-modal{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-m);padding:34px;width:min(400px,94vw);max-height:90vh;overflow-y:auto;position:relative;animation:popIn .4s var(--ease);}
.admin-modal .mm-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line-strong);background:none;color:var(--text);}
.admin-modal .mm-close:hover{border-color:var(--gold);color:var(--gold-bright);}
.admin-modal h3{font-size:1.4rem;margin-bottom:6px;}
.admin-modal p{color:var(--text-dim);font-size:.88rem;margin-bottom:24px;}
.admin-login-error{color:var(--rust);font-size:.82rem;margin:-8px 0 16px;display:none;}
/* ---------- customer auth ---------- */
.auth-nav{display:flex;align-items:center;gap:8px;}
.customer-pill{display:none;align-items:center;gap:8px;border:1px solid var(--line-strong);border-radius:999px;padding:6px 8px 6px 16px;font-size:.82rem;}
.customer-pill.on{display:inline-flex;}
.customer-pill .cp-wallet{background:var(--gold);color:#1c150d;font-weight:800;border-radius:999px;padding:5px 12px;font-size:.78rem;}
.customer-pill .cp-gift{border:none;background:rgba(231,197,131,.14);color:var(--gold-bright);width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s ease,transform .15s ease;}
.customer-pill .cp-gift:hover{background:rgba(231,197,131,.28);transform:scale(1.07);}
.customer-pill .cp-gift .ic{width:1.05em;height:1.05em;}
.auth-toggle{display:flex;gap:6px;background:rgba(255,255,255,.04);border-radius:999px;padding:4px;margin-bottom:22px;}
.auth-toggle button{flex:1;padding:9px;border-radius:999px;font-size:.85rem;font-weight:700;color:var(--text-dim);background:none;}
.auth-toggle button.active{background:var(--gold);color:#1c150d;}
.auth-skip{display:block;text-align:center;color:var(--text-faint);font-size:.8rem;margin-top:16px;}
.auth-skip:hover{color:var(--gold-bright);}
.auth-form{display:none;}
.auth-form.active{display:block;}
.auth-note{color:var(--text-faint);font-size:.78rem;margin:-10px 0 16px;}

/* ---------- admin dashboard ---------- */
.admin-shell{min-height:100vh;background:var(--bg);}
.admin-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px clamp(20px,4vw,56px);border-bottom:1px solid var(--line);background:rgba(20,16,13,.9);position:sticky;top:0;z-index:5;}
.admin-header-left{display:flex;align-items:center;gap:12px;}
.admin-header-left img{height:38px;}
.admin-badge{font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-bright);border:1px solid var(--teal-bright);padding:4px 10px;border-radius:999px;}
.admin-tabs{display:flex;gap:10px;flex-wrap:wrap;}
.admin-tab-btn{padding:9px 18px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--text-dim);font-size:.85rem;font-weight:700;transition:all .25s var(--ease);}
.admin-tab-btn.active{background:var(--gold);color:#1c150d;border-color:var(--gold);}
.admin-tab-btn:hover:not(.active){border-color:var(--gold);color:var(--text);}
.admin-tab-btn.ed-entry{border-color:var(--teal-bright);color:var(--teal-bright);}
.admin-tab-btn.ed-entry:hover{background:var(--teal-bright);color:#0e1512;}
.admin-body{padding:36px clamp(20px,4vw,56px) 80px;}

/* ---------- Edit Website (live in-place visual editor) ---------- */
.ed-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9999;display:flex;align-items:center;gap:12px;background:rgba(17,13,10,.96);border:1px solid var(--teal-bright);border-radius:999px;padding:10px 10px 10px 18px;box-shadow:0 12px 30px rgba(0,0,0,.4);max-width:92vw;flex-wrap:wrap;justify-content:center;}
.ed-banner span:not(.ed-banner-dot){color:var(--text);font-size:.82rem;font-weight:600;}
.ed-banner-dot{width:9px;height:9px;border-radius:50%;background:#ff5b5b;flex:0 0 auto;animation:edPulse 1.4s ease-in-out infinite;}
@keyframes edPulse{0%,100%{opacity:1;}50%{opacity:.35;}}
body.editmode-on{padding-bottom:70px;}
.ed-text{outline:1.5px dashed var(--teal-bright);outline-offset:3px;border-radius:5px;cursor:text;transition:background .2s;}
.ed-text:hover{background:rgba(231,197,131,.08);}
.ed-text:focus{outline:2px solid var(--gold-bright);background:rgba(231,197,131,.12);}
.ed-text.ed-saved{background:rgba(138,151,100,.28);}
.ed-sel-trigger{position:absolute;display:none;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;
  background:rgba(17,13,10,.96);border:1px solid var(--teal-bright);color:var(--gold-bright);font-size:1.1rem;line-height:1;
  z-index:9998;cursor:pointer;box-shadow:0 8px 20px rgba(0,0,0,.4);}
.ed-sel-trigger.show{display:flex;}
.ed-sel-toolbar{position:absolute;display:none;align-items:center;gap:4px;flex-wrap:wrap;max-width:min(360px,92vw);
  background:rgba(17,13,10,.98);border:1px solid var(--teal-bright);border-radius:14px;padding:8px;
  z-index:9998;box-shadow:0 16px 40px rgba(0,0,0,.5);}
.ed-sel-toolbar.show{display:flex;}
.ed-sel-toolbar button{background:var(--surface-2);border:1px solid var(--line-strong);color:var(--text);
  border-radius:8px;min-width:32px;height:32px;padding:0 9px;font-size:.85rem;cursor:pointer;}
.ed-sel-toolbar button:hover{border-color:var(--gold);color:var(--gold-bright);}
.ed-sel-sep{width:1px;align-self:stretch;background:var(--line-strong);margin:0 2px;}
.ed-sel-btnadd{font-family:'Manrope',sans-serif;font-weight:700;color:var(--gold-bright)!important;white-space:nowrap;}
.ed-btn{cursor:pointer;}
body.editmode-on .ed-btn{outline:1.5px dashed var(--teal-bright);outline-offset:2px;}
body.editmode-on .cat-card,body.editmode-on .pcard,body.editmode-on .gallery figure,body.editmode-on .ed-item-card{position:relative;}
.ed-tools{position:absolute;top:8px;right:8px;display:flex;gap:5px;z-index:6;}
.ed-tools button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line-strong);background:rgba(12,10,8,.82);color:var(--teal-bright);font-size:.85rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(2px);}
.ed-tools button:hover{background:var(--teal-bright);color:#0e1512;border-color:var(--teal-bright);}
.ed-tools button.ed-danger:hover{background:#c85c4a;border-color:#c85c4a;color:#fff;}
.ed-img-btn{position:absolute;left:8px;bottom:8px;z-index:6;padding:6px 12px;border-radius:999px;border:1px solid var(--teal-bright);background:rgba(12,10,8,.82);color:var(--teal-bright);font-size:.72rem;font-weight:700;cursor:pointer;}
.ed-img-btn:hover{background:var(--teal-bright);color:#0e1512;}
.ed-add-tile{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:2px dashed var(--line-strong);border-radius:var(--radius-m);min-height:220px;color:var(--text-faint);font-weight:700;background:transparent;cursor:pointer;transition:all .2s;}
.ed-add-tile:hover{border-color:var(--teal-bright);color:var(--teal-bright);}
.ed-add-tile .ed-add-plus{font-size:2rem;line-height:1;}

/* ---------- Blocks / shapes (Edit Website) — iOS glass style ---------- */
.blk-zone{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:16px;padding:6px clamp(20px,4vw,56px);}
.blk-item{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:6px;max-width:100%;}
.blk-shape{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;word-break:break-word;font-size:.95rem;box-sizing:border-box;max-width:100%;}
.blk-bean{position:relative;}
.blk-bean::after{content:"";position:absolute;top:14%;bottom:14%;left:50%;width:3px;margin-left:-1.5px;background:rgba(0,0,0,.3);border-radius:3px;transform:rotate(10deg);}
.blk-video-frame{position:relative;background:#000;max-width:100%;}
.blk-video-frame video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;}
.blk-video-cap{margin-top:6px;font-size:.85rem;color:var(--text-dim);text-align:center;}
.blk-ov-anchor{position:relative;height:0;z-index:6;}
.blk-ov{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;}
.blk-ov.editing{cursor:grab;touch-action:none;outline:2px dashed rgba(231,197,131,.75);outline-offset:4px;border-radius:6px;}
.blk-ov.editing.dragging{cursor:grabbing;opacity:.92;}
.blk-tools{display:flex;gap:2px;padding:3px;border-radius:999px;background:rgba(30,23,18,.72);backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border:1px solid rgba(255,255,255,.16);box-shadow:0 6px 18px rgba(0,0,0,.4);}
.blk-tools button{border:none;background:transparent;color:#f1e8dc;width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.95rem;}
.blk-tools button:active{background:rgba(255,255,255,.18);}
.blk-tools button.danger{color:#ff8a7d;}
/* dashed "add here" lines */
.blk-add-strip{flex:1 1 100%;display:flex;align-items:center;justify-content:center;min-height:38px;border:1.5px dashed rgba(231,197,131,.4);border-radius:14px;color:var(--text-faint);font-size:.8rem;font-weight:600;background:rgba(255,255,255,.02);cursor:pointer;transition:all .2s;}
.blk-add-strip:hover{border-color:var(--gold-bright);color:var(--gold-bright);}
.blk-lbl{display:inline-flex;align-items:center;gap:6px;}
.blk-lbl-flow,.blk-lbl-ov{display:none;}
body.blk-placing .blk-lbl-idle{display:none;}
body.blk-placing.blk-mode-flow .blk-lbl-flow{display:inline-flex;}
body.blk-placing.blk-mode-overlay .blk-lbl-ov{display:inline-flex;}
body.blk-placing .blk-add-strip{min-height:46px;border-style:solid;border-color:var(--gold-bright);color:var(--gold-bright);background:rgba(231,197,131,.1);animation:blkPulse 1.3s ease-in-out infinite;}
@keyframes blkPulse{0%,100%{box-shadow:0 0 0 0 rgba(231,197,131,.35);}50%{box-shadow:0 0 0 6px rgba(231,197,131,0);}}
/* floating + button (liquid glass) */
.blk-fab{position:fixed;right:18px;bottom:96px;z-index:9997;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,rgba(255,236,196,.38),rgba(231,197,131,.2));backdrop-filter:blur(22px) saturate(190%);-webkit-backdrop-filter:blur(22px) saturate(190%);color:#f7dfae;border:1px solid rgba(255,236,196,.55);box-shadow:0 12px 30px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.5),inset 0 -6px 14px rgba(201,161,92,.18);font-size:1.7rem;display:flex;align-items:center;justify-content:center;cursor:grab;transition:transform .15s;touch-action:none;}
.blk-fab:active{transform:scale(.92);}
.blk-fab svg{width:26px;height:26px;}
/* the "placing" pill */
.blk-placing-pill{position:fixed;left:50%;bottom:104px;transform:translateX(-50%);z-index:10000;display:flex;align-items:center;gap:10px;background:rgba(30,23,18,.78);backdrop-filter:blur(26px) saturate(180%);-webkit-backdrop-filter:blur(26px) saturate(180%);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:10px 12px;box-shadow:0 16px 40px rgba(0,0,0,.55);width:min(92vw,420px);animation:blkPillIn .3s cubic-bezier(.32,.72,0,1);}
@keyframes blkPillIn{from{opacity:0;transform:translateX(-50%) translateY(14px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.blk-place-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.blk-place-txt b{font-size:.92rem;}
.blk-place-txt small{font-size:.74rem;color:var(--text-dim);line-height:1.3;}
.blk-place-cancel{border:none;background:rgba(255,255,255,.14);color:var(--text);width:30px;height:30px;border-radius:50%;font-size:.8rem;cursor:pointer;flex-shrink:0;}
/* iOS sheets */
.ios-scrim{position:fixed;inset:0;background:rgba(0,0,0,.42);opacity:0;pointer-events:none;transition:opacity .3s;z-index:9600;}
.ios-scrim.open{opacity:1;pointer-events:auto;}
.ios-sheet{position:fixed;left:50%;bottom:0;width:min(560px,100vw);max-height:92vh;display:flex;flex-direction:column;transform:translate(-50%,106%);transition:transform .42s cubic-bezier(.32,.72,0,1),visibility 0s .42s;visibility:hidden;z-index:9700;background:rgba(34,26,20,.86);backdrop-filter:blur(36px) saturate(180%);-webkit-backdrop-filter:blur(36px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-bottom:none;border-radius:30px 30px 0 0;box-shadow:0 -22px 70px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.16);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Manrope,sans-serif;}
.ios-sheet.open{transform:translate(-50%,0);visibility:visible;transition:transform .42s cubic-bezier(.32,.72,0,1),visibility 0s;}
.ios-grab{width:40px;height:5px;border-radius:3px;background:rgba(255,255,255,.3);margin:9px auto 2px;flex-shrink:0;}
.ios-head{display:flex;align-items:center;justify-content:space-between;padding:6px 14px 10px;gap:8px;flex-shrink:0;}
.ios-head h3{font-family:inherit;font-size:1.05rem;font-weight:700;margin:0;text-align:center;flex:1;letter-spacing:0;line-height:1.2;}
.ios-link{background:none;border:none;color:var(--gold-bright);font:600 1rem/1 inherit;font-family:inherit;padding:10px 6px;min-width:64px;cursor:pointer;text-align:left;}
.ios-link.bold{font-weight:700;text-align:right;}
.ios-body{overflow-y:auto;padding:2px 16px 34px;-webkit-overflow-scrolling:touch;}
.ios-hint{color:var(--text-dim);font-size:.88rem;line-height:1.5;margin:2px 4px 6px;}
.ios-sec-title{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin:20px 8px 8px;}
.ios-group{background:rgba(255,255,255,.075);border-radius:18px;overflow:hidden;}
.ios-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;min-height:48px;border-top:1px solid rgba(255,255,255,.07);}
.ios-row:first-child{border-top:none;}
.ios-row.col{flex-direction:column;align-items:stretch;gap:10px;}
.ios-row-l{font-size:.95rem;}
.ios-row-top{display:flex;justify-content:space-between;align-items:center;}
.ios-val{color:var(--text-dim);font-size:.88rem;font-variant-numeric:tabular-nums;}
.ios-mini{font-size:.76rem;color:var(--text-faint);line-height:1.4;}
.ios-input,.ios-select{width:100%;box-sizing:border-box;background:rgba(255,255,255,.09);border:none;border-radius:12px;color:var(--text);padding:12px 14px;font:inherit;font-size:.95rem;outline:none;}
.ios-input:focus,.ios-select:focus{box-shadow:0 0 0 2px rgba(231,197,131,.6);}
.ios-select option{background:#221a13;color:#f1e8dc;}
.ios-hex{width:104px;flex-shrink:0;text-transform:uppercase;}
.chips{display:flex;flex-wrap:wrap;gap:11px;}
.chip{width:32px;height:32px;border-radius:50%;border:2px solid rgba(255,255,255,.22);padding:0;cursor:pointer;flex-shrink:0;}
.chip.on{box-shadow:0 0 0 2px #221a13,0 0 0 4px var(--gold-bright);}
.chip-custom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.chip-picker{width:40px;height:34px;padding:0;border:none;background:none;border-radius:10px;cursor:pointer;flex-shrink:0;}
.ios-seg{display:flex;background:rgba(255,255,255,.09);border-radius:12px;padding:3px;gap:2px;}
.ios-seg button{flex:1;border:none;background:transparent;color:var(--text);padding:9px 6px;border-radius:9px;font:600 .86rem/1.1 inherit;font-family:inherit;cursor:pointer;transition:background .2s;}
.ios-seg button.on{background:rgba(255,255,255,.22);box-shadow:0 2px 8px rgba(0,0,0,.3);}
.ios-range{width:100%;accent-color:var(--gold-bright);height:28px;}
.ios-switch{position:relative;width:51px;height:31px;display:inline-block;flex-shrink:0;}
.ios-switch input{opacity:0;width:0;height:0;position:absolute;}
.ios-switch span{position:absolute;inset:0;border-radius:999px;background:rgba(255,255,255,.2);transition:background .3s;cursor:pointer;}
.ios-switch span::after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.35);transition:transform .3s cubic-bezier(.4,0,.2,1);}
.ios-switch input:checked + span{background:#30d158;}
.ios-switch input:checked + span::after{transform:translateX(20px);}
.ios-btnrow{display:flex;gap:10px;flex-wrap:wrap;}
.ios-btn{display:inline-flex;align-items:center;justify-content:center;background:rgba(231,197,131,.16);color:var(--gold-bright);border:none;border-radius:14px;padding:12px 16px;font:600 .92rem/1.1 inherit;font-family:inherit;cursor:pointer;}
.ios-btn.small{padding:8px 12px;font-size:.8rem;}
.ios-btn.danger{background:rgba(255,90,78,.14);color:#ff7d70;}
.ios-actions{display:flex;flex-direction:column;gap:10px;margin-top:22px;}
.ios-preview{height:200px;border-radius:20px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg);border:1px solid rgba(255,255,255,.12);margin:4px 0 2px;}
.shp-scroll{display:flex;gap:8px;overflow-x:auto;padding:12px;-webkit-overflow-scrolling:touch;}
.shp-mini{flex:0 0 auto;width:80px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;border:1.5px solid transparent;border-radius:14px;background:rgba(255,255,255,.05);color:var(--text);cursor:pointer;font:600 .68rem/1.15 inherit;font-family:inherit;text-align:center;}
.shp-mini.on{border-color:var(--gold-bright);background:rgba(231,197,131,.12);}
.shp-thumb-wrap{height:60px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.shp-thumb-wrap.sm{height:44px;width:44px;transform:scale(.8);}
.shp-thumb{display:block;flex-shrink:0;}
.shp-video{width:52px;height:32px;border-radius:8px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.2);}
.shp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.shp-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.06);color:var(--text);cursor:pointer;text-align:center;font-family:inherit;}
.shp-card:active{background:rgba(231,197,131,.14);}
.shp-card b{font-size:.8rem;font-weight:700;}
.shp-card small{font-size:.66rem;color:var(--text-faint);line-height:1.3;}
.mode-picked{display:flex;align-items:center;gap:12px;padding:6px 6px 10px;}
.mode-picked small{display:block;color:var(--text-faint);font-size:.76rem;}
.mode-card{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:16px;margin-bottom:12px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background:rgba(255,255,255,.07);color:var(--text);cursor:pointer;font-family:inherit;}
.mode-card:active{background:rgba(231,197,131,.14);}
.mode-ico{color:var(--gold-bright);flex-shrink:0;display:flex;}
.mode-card b{display:block;font-size:1rem;margin-bottom:4px;}
.mode-card small{display:block;font-size:.82rem;color:var(--text-dim);line-height:1.45;}
/* edit bar (glass) */
.ed-banner{background:rgba(30,23,18,.74)!important;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:1px solid rgba(255,255,255,.16)!important;border-radius:24px!important;box-shadow:0 16px 44px rgba(0,0,0,.5)!important;}
.ed-banner-txt{font-size:.82rem;color:var(--text-dim);}
.blk-item{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:6px;}
.blk-shape{display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;word-break:break-word;font-size:.95rem;box-sizing:border-box;transition:transform .2s;}
.blk-item:hover .blk-shape{transform:translateY(-2px);}
.blk-bean{position:relative;}
.blk-bean::after{content:"";position:absolute;top:14%;bottom:14%;left:50%;width:3px;margin-left:-1.5px;background:rgba(0,0,0,.3);border-radius:3px;transform:rotate(10deg);}
.blk-tools{display:flex;gap:4px;background:rgba(20,16,13,.85);border-radius:999px;padding:3px;}
.blk-tools button{border:none;background:transparent;color:var(--text);width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.82rem;display:flex;align-items:center;justify-content:center;}
.blk-tools button:hover{background:var(--teal-bright);color:#2a1d14;}
.blk-tools button.ed-danger:hover{background:#c85c4a;color:#fff;}
.blk-item-video{width:100%;max-width:340px;}
.blk-video-frame{position:relative;background:#000;}
.blk-video-frame video{width:100%;display:block;aspect-ratio:16/9;object-fit:cover;}
.blk-video-cap{margin-top:6px;font-size:.85rem;color:var(--text-dim);text-align:center;}
.shape-panel-overlay{position:fixed;inset:0;background:rgba(10,8,6,.55);z-index:9600;display:none;}
.shape-panel-overlay.open{display:block;}
.shape-panel{position:fixed;top:0;right:0;bottom:0;width:min(340px,90vw);background:var(--surface);border-left:1px solid var(--line-strong);box-shadow:-12px 0 30px rgba(0,0,0,.4);padding:20px;overflow-y:auto;}
.shape-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.shape-panel-head h3{font-size:1.2rem;}
.shape-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;}
.shape-section-label{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--text-faint);margin:2px 0 10px;}
.shape-btn{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 6px;border:1px solid var(--line);border-radius:var(--radius-m);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.76rem;font-weight:600;transition:all .2s;}
.shape-btn:hover{border-color:var(--teal-bright);color:var(--teal-bright);}
.shape-btn-icon{font-size:1.5rem;}
.blk-color-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.blk-color-row input[type=color]{width:38px;height:38px;border:none;border-radius:8px;padding:0;background:none;cursor:pointer;}
.blk-color-row input[type=text]{width:100px;}
#blkBold.on,#blkItalic.on{background:var(--teal-bright);color:#2a1d14;border-color:var(--teal-bright);}
.ed-item-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);overflow:hidden;margin-bottom:18px;}
.ed-item-card .ed-item-imgwrap{position:relative;height:160px;}
.ed-item-card .ed-item-imgwrap img{width:100%;height:100%;object-fit:cover;display:block;}
.ed-item-card .ed-item-body{padding:16px 18px 18px;}
.ed-item-card h4{font-size:1.05rem;margin-bottom:6px;color:var(--text);}
.ed-item-card .pc-desc{color:var(--text-dim);font-size:.84rem;line-height:1.55;}
.ed-tag-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-strong);border-radius:999px;padding:5px 12px;font-size:.72rem;font-weight:700;background:transparent;color:var(--text-dim);cursor:pointer;margin-right:8px;}
.ed-tag-btn.on{border-color:var(--sage);color:var(--sage);}
.ed-tag-btn.best.on{border-color:var(--gold-bright);color:var(--gold-bright);}
.gallery.ed-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-template-rows:none;}
.gallery.ed-gallery-grid figure{border-radius:var(--radius-m) !important;overflow:visible;background:var(--surface);border:1px solid var(--line);}
.gallery.ed-gallery-grid figure .ed-item-imgwrap{height:150px;border-radius:var(--radius-m) var(--radius-m) 0 0;overflow:hidden;position:relative;}
.gallery.ed-gallery-grid figure .ed-item-imgwrap img{width:100%;height:100%;object-fit:cover;}
.gallery.ed-gallery-grid figcaption{display:block;padding:10px 12px;font-size:.8rem;color:var(--text-dim);}
.ed-banner button:disabled{opacity:.35;cursor:not-allowed;}
.ed-launch-card{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:linear-gradient(135deg,rgba(231,197,131,.14),rgba(138,151,100,.08));border:1px solid var(--teal-bright);border-radius:var(--radius-l);padding:28px;margin-bottom:22px;}
.ed-launch-btn{font-size:1.02rem;padding:18px 32px;border-radius:999px;box-shadow:0 10px 28px rgba(231,197,131,.22);white-space:nowrap;}
.ed-history-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px 24px;}
.admin-loading{padding:100px 20px;text-align:center;color:var(--text-dim);}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:18px;margin-bottom:44px;}
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;transition:transform .3s var(--ease),border-color .3s var(--ease);}
.stat-card:hover{transform:translateY(-4px);border-color:var(--line-strong);}
.stat-card .stat-num{font-family:var(--serif);font-size:2.1rem;color:var(--gold-bright);}
.stat-card .stat-lbl{color:var(--text-dim);font-size:.8rem;margin-top:6px;}
.stat-card.teal{border-color:rgba(231,197,131,.3);}
.stat-card.teal .stat-num{color:var(--teal-bright);}
.admin-section-title{font-size:1.3rem;margin-bottom:20px;}
.admin-order-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px 22px;margin-bottom:14px;}
.admin-order-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:flex-start;}
.admin-order-id{font-family:var(--serif);font-size:1.05rem;}
.admin-order-date{color:var(--text-faint);font-size:.78rem;margin-top:2px;}
.admin-order-cust{color:var(--text);font-size:.9rem;margin-top:10px;font-weight:700;}
.admin-order-phone{color:var(--text-dim);font-size:.85rem;margin-top:2px;}
.admin-order-addr{color:var(--text-faint);font-size:.8rem;margin-top:4px;max-width:60ch;}
.admin-order-items{color:var(--text-dim);font-size:.84rem;margin-top:10px;line-height:1.6;}
.admin-order-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:12px;}
.aib-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px;margin-bottom:14px;}
.aib-log{display:flex;flex-direction:column;gap:10px;max-height:52vh;overflow-y:auto;margin-bottom:12px;}
.aib-m{padding:10px 13px;border-radius:12px;font-size:.9rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;}
.aib-m.u{background:rgba(231,197,131,.14);align-self:flex-end;max-width:90%;} .aib-m.a{background:var(--bg);border:1px solid var(--line);}
.aib-m.t{font-size:.78rem;color:var(--text-dim);padding:2px 4px;} .aib-m.e{color:#e98b7b;border:1px solid #e98b7b;}
.aib-m img{max-width:90px;border-radius:8px;margin:4px 4px 0 0;}
.aib-in{width:100%;min-height:84px;background:var(--bg);color:var(--text);border:1px solid var(--line-strong);border-radius:12px;padding:12px;font-family:inherit;font-size:.92rem;resize:vertical;box-sizing:border-box;}
.aib-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;} .aib-row select,.aib-row input{background:var(--bg);color:var(--text);border:1px solid var(--line-strong);border-radius:10px;padding:9px;font-family:inherit;}
.aib-wrap{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start;}.aib-main{min-width:0;}.aib-side{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:12px;max-height:80vh;overflow-y:auto;}
.aib-ch{display:flex;justify-content:space-between;gap:6px;align-items:flex-start;padding:8px;border-radius:10px;cursor:pointer;font-size:.82rem;border:1px solid transparent;}.aib-ch:hover{background:var(--bg);}.aib-ch.on{border-color:var(--gold);background:var(--bg);}.aib-ch b{display:block;font-weight:600;word-break:break-word;}.aib-ch small{color:var(--text-dim);}.aib-ch button{background:none;border:none;color:var(--rust);cursor:pointer;font-size:.9rem;}
@media(max-width:760px){.aib-wrap{grid-template-columns:1fr;}.aib-side{max-height:200px;}}
.aib-tg{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid var(--line-strong);border-radius:999px;font-size:.84rem;cursor:pointer;color:var(--text-dim);}.aib-tg:has(input:checked){border-color:var(--gold);color:var(--gold-bright);background:rgba(231,197,131,.1);}
#aiAskOv{position:fixed;inset:0;z-index:100002;background:rgba(0,0,0,.62);display:flex;align-items:flex-end;justify-content:center;}
.aq-card{background:var(--surface,#1d1812);color:var(--text,#f3ead9);border:1px solid var(--line-strong,#4a3d2a);border-radius:18px 18px 0 0;width:100%;max-width:520px;max-height:88vh;overflow-y:auto;padding:18px 16px 14px;box-sizing:border-box;}
@media(min-width:700px){#aiAskOv{align-items:center;}.aq-card{border-radius:18px;}}
.aq-q{font-size:1.04rem;font-weight:700;margin-bottom:4px;line-height:1.4;}.aq-hint{color:var(--text-dim,#b9a98a);font-size:.78rem;margin-bottom:12px;}
.aq-opt{display:flex;gap:11px;align-items:flex-start;width:100%;text-align:left;background:var(--bg,#120e0a);color:inherit;border:1px solid var(--line-strong,#4a3d2a);border-radius:12px;padding:12px;margin-bottom:8px;font:inherit;font-size:.92rem;cursor:pointer;}
.aq-opt.on{border-color:var(--gold,#e7c583);background:rgba(231,197,131,.12);}
.aq-n{min-width:24px;height:24px;border-radius:50%;border:1px solid var(--line-strong,#4a3d2a);display:flex;align-items:center;justify-content:center;font-size:.78rem;}.aq-opt.on .aq-n{background:var(--gold,#e7c583);color:#1b120c;border-color:var(--gold,#e7c583);}
.aq-other input{width:100%;box-sizing:border-box;background:var(--bg,#120e0a);color:inherit;border:1px dashed var(--line-strong,#4a3d2a);border-radius:12px;padding:12px;font:inherit;font-size:.92rem;margin:2px 0 12px;}
.aq-foot{display:flex;gap:8px;justify-content:flex-end;}.aq-foot button{border:none;border-radius:999px;padding:10px 20px;font:inherit;font-weight:700;cursor:pointer;}
.aq-skip{background:transparent;color:var(--text-dim,#b9a98a);border:1px solid var(--line-strong,#4a3d2a)!important;}.aq-go{background:var(--gold,#e7c583);color:#1b120c;}.aq-go:disabled{opacity:.4;}
.aib-th img{width:54px;height:54px;object-fit:cover;border-radius:8px;margin-right:6px;}
.ao-pay{gap:12px;flex-wrap:wrap;}
.ao-pay-txt{display:flex;flex-direction:column;gap:3px;min-width:0;}
.ao-pay-main{font-weight:700;font-size:.9rem;}
.ao-pay-main.cod{color:#e8b58a;} .ao-pay-main.paid{color:var(--sage);} .ao-pay-main.x{color:var(--text-faint);}
.ao-pay-sub{color:var(--text-faint);font-size:.78rem;}
.bill-btn{display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:#1b120c;border:none;border-radius:999px;padding:9px 16px;font-weight:700;font-size:.82rem;font-family:inherit;cursor:pointer;}
.bill-btn svg{width:15px;height:15px;}
#billOverlay{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.72);display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:18px 12px;}
#billOverlay.open{display:flex;}
#billSheet{background:#fff;color:#1a1a1a;width:100%;max-width:440px;border-radius:14px;padding:22px 20px 18px;box-shadow:0 20px 60px rgba(0,0,0,.5);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:13.5px;line-height:1.45;}
#billSheet h2{margin:0;font-size:19px;text-align:center;letter-spacing:.3px;color:#111;}
#billSheet .b-sub{text-align:center;color:#555;font-size:12px;margin-top:2px;}
#billSheet .b-tag{text-align:center;margin:12px 0 10px;font-weight:700;letter-spacing:2px;font-size:12px;border-top:1px dashed #999;border-bottom:1px dashed #999;padding:6px 0;}
#billSheet .b-meta{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:12.5px;margin-bottom:8px;}
#billSheet .b-meta b{color:#555;font-weight:600;} #billSheet .b-meta span{text-align:right;word-break:break-word;}
#billSheet table{width:100%;border-collapse:collapse;margin:6px 0;}
#billSheet th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:#555;border-bottom:1px solid #222;padding:5px 0;text-align:left;}
#billSheet td{padding:5px 0;border-bottom:1px dotted #ccc;vertical-align:top;}
#billSheet .c{text-align:center;} #billSheet .r{text-align:right;white-space:nowrap;}
#billSheet .b-row{display:flex;justify-content:space-between;gap:10px;padding:3px 0;}
#billSheet .b-row.disc{color:#0a7a3d;} #billSheet .b-row.total{font-size:16px;font-weight:800;border-top:1.5px solid #222;margin-top:5px;padding-top:7px;}
#billSheet .b-box{background:#f5f5f5;border-radius:10px;padding:8px 12px;margin:10px 0;}
#billSheet .b-box h4{margin:0 0 4px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:#555;}
#billSheet .b-pay{border-radius:10px;padding:10px 12px;margin-top:10px;display:flex;justify-content:space-between;align-items:center;font-weight:800;font-size:16px;}
#billSheet .b-pay.cod{background:#fff1dc;color:#9a4a00;border:1.5px solid #e8a553;} #billSheet .b-pay.paid{background:#e4f6ea;color:#0a7a3d;border:1.5px solid #6cc48f;}
#billSheet .b-foot{text-align:center;color:#666;font-size:11.5px;margin-top:12px;}
.bill-actions{display:flex;gap:10px;margin-top:14px;}
.bill-actions button{flex:1;border:none;border-radius:10px;padding:11px;font-weight:700;font-size:14px;font-family:inherit;cursor:pointer;}
.bill-actions .pr{background:#1a1a1a;color:#fff;} .bill-actions .cl{background:#eee;color:#222;}
@media print{
  body>*:not(#billOverlay){display:none!important;}
  #billOverlay{position:static!important;display:block!important;background:#fff!important;padding:0!important;overflow:visible!important;}
  #billSheet{box-shadow:none!important;max-width:100%!important;border-radius:0!important;}
  .bill-actions{display:none!important;}
}
.admin-live{display:inline-flex;align-items:center;gap:6px;color:var(--sage);font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-left:4px;}
.admin-live .dot{width:7px;height:7px;border-radius:50%;background:var(--sage);animation:livepulse 1.6s ease-in-out infinite;}
.admin-live.closed{color:#c9553a;}
.admin-live.closed .dot{background:#c9553a;animation:none;}
@keyframes livepulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(138,151,100,.5);}50%{opacity:.4;box-shadow:0 0 0 4px rgba(138,151,100,0);}}
.cafe-switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;margin-left:10px;padding-left:10px;border-left:1px solid var(--line-strong);user-select:none;}
.cafe-switch input{position:absolute;opacity:0;width:0;height:0;}
.cafe-switch-track{position:relative;width:51px;height:31px;border-radius:999px;background:#c9553a;transition:background .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;box-shadow:inset 0 0 1px rgba(0,0,0,.15);}
.cafe-switch.on .cafe-switch-track{background:#30d158;}
.cafe-switch-thumb{position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;transition:transform .3s cubic-bezier(.4,0,.2,1),width .18s ease,left .18s ease;box-shadow:0 3px 8px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.25);}
.cafe-switch.on .cafe-switch-thumb{transform:translateX(20px);}
.cafe-switch:active .cafe-switch-thumb{width:32px;}
.cafe-switch.on:active .cafe-switch-thumb{transform:translateX(15px);}
.cafe-switch-lbl{font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#c9553a;}
.cafe-switch.on .cafe-switch-lbl{color:#30d158;}
.closed-modal{text-align:center;}
.closed-modal-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(201,85,58,.14);color:#c9553a;}
.closed-modal-icon .ic{width:26px;height:26px;}
.closed-modal p{color:var(--text-dim);margin:10px 0 20px;}
.edit-hero-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px;margin-bottom:20px;}
details.edit-cat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);margin-bottom:16px;overflow:hidden;}
details.edit-cat summary{padding:18px 22px;cursor:pointer;font-family:var(--serif);font-size:1.1rem;list-style:none;display:flex;align-items:center;gap:8px;}
details.edit-cat summary::-webkit-details-marker{display:none;}
details.edit-cat summary::before{content:"";width:.7em;height:.7em;background:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 5 7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .25s var(--ease);display:inline-block;}
details.edit-cat[open] summary::before{transform:rotate(90deg);}
.edit-cat-body{padding:0 22px 22px;border-top:1px solid var(--line);padding-top:18px;}
.edit-items{display:flex;flex-direction:column;gap:16px;margin-top:18px;}
.edit-item-row{display:flex;gap:16px;background:var(--bg-soft);border:1px solid var(--line);border-radius:var(--radius-s);padding:16px;}
.edit-item-thumb{width:64px;height:64px;border-radius:var(--radius-s);object-fit:cover;flex-shrink:0;}
.edit-item-fields{flex:1;min-width:0;}
.edit-note{color:var(--text-dim);margin-bottom:24px;max-width:70ch;font-size:.9rem;line-height:1.6;}
@media(max-width:640px){
  .field-row{grid-template-columns:1fr;}
  .edit-item-row{flex-direction:column;}
}

/* ---------- coupon / voucher UI ---------- */
.coupon-row{display:flex;gap:8px;margin-bottom:14px;}
.coupon-row input{flex:1;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:10px 12px;color:var(--text);font-family:inherit;font-size:.85rem;text-transform:uppercase;}
.coupon-row input:focus{outline:none;border-color:var(--gold);}
.coupon-applied{display:flex;justify-content:space-between;align-items:center;background:rgba(231,197,131,.12);border:1px solid var(--teal-bright);border-radius:var(--radius-s);padding:10px 12px;margin-bottom:14px;font-size:.85rem;color:var(--teal-bright);}
.coupon-applied button{background:none;border:none;color:var(--rust);font-size:.78rem;text-decoration:underline;padding:0;}
.df-row.discount,.summary-line.discount{color:var(--teal-bright);}
.voucher-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px 20px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.voucher-card-full{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px 22px;margin-bottom:16px;}
.voucher-card-top{margin-bottom:16px;}
.voucher-code{font-family:var(--serif);font-size:1.2rem;color:var(--gold-bright);}
.voucher-meta{color:var(--text-dim);font-size:.82rem;margin-top:4px;}
.voucher-meta.off{color:var(--rust);}
.voucher-actions{display:flex;gap:8px;}
.cust-card{cursor:pointer;}
.cust-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;}
.cust-chev{display:inline-flex;color:var(--text-dim);flex:0 0 auto;margin-top:4px;}
.cust-chev-ic{width:16px;height:16px;transform:rotate(90deg);transition:transform .25s var(--ease);}
.cust-chev.open .cust-chev-ic{transform:rotate(-90deg);}
.cust-detail{display:none;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);cursor:default;}
.cust-detail.open{display:block;}
.cust-detail .voucher-meta{margin-top:8px;}
.wallet-row{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:10px 12px;margin-bottom:14px;font-size:.85rem;color:var(--text-dim);}
.wallet-row button{background:none;border:none;color:var(--gold-bright);font-size:.78rem;text-decoration:underline;padding:0;}
.wallet-row.on{background:rgba(231,197,131,.12);border-color:var(--teal-bright);color:var(--teal-bright);}
.wallet-row.on button{color:var(--rust);}
.admin-select{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:13px 14px;color:var(--text);font-family:inherit;font-size:.92rem;}

@media(max-width:900px){
  nav.links{display:none;}
  .hamburger{display:flex;}
  .bento{grid-template-columns:repeat(2,1fr);}
  .bento .cat-card{grid-column:span 2 !important;min-height:340px;}
  .grid-products .pcard .pc-imgwrap{aspect-ratio:4/3;}
  .split,.pdetail,.checkout-grid,.visit-grid,.why-strip{grid-template-columns:1fr;}
  .split img,.split video{height:340px;}
  .summary-card{position:static;}
  .admin-tabs{width:100%;}
}
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}

/* =====================================================================
   v2 · refinement layer
   Direction: candle-lit café. Espresso + champagne gold, Cormorant for
   display, Manrope for everything functional. One signature motif — the
   arch (café window / doorway) — used in the intro, story and gallery.
   ===================================================================== */
:root{
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --hair:rgba(231,197,131,.28);
}
html{-webkit-text-size-adjust:100%;}
body{font-size:16px;line-height:1.55;}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;font-feature-settings:"lnum" 1,"kern" 1;line-height:1.04;letter-spacing:-.005em;}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px;border-radius:4px;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.ic{width:1.15em;height:1.15em;flex-shrink:0;display:inline-block;vertical-align:-.2em;}
img.img-fail{opacity:0;}
.grain{opacity:.035;}
@media(hover:none){.grain{display:none;}}
[hidden]{display:none !important;}

/* ---------- nav ---------- */
header.nav{padding-top:12px;padding-bottom:12px;}
.brand img{height:52px;}
nav.links{gap:34px;}
nav.links a{font-size:.9rem;}
nav.links a.is-active{color:var(--text);}
nav.links a.is-active::after{width:100%;}
.nav-ready nav.links a:nth-child(6){animation-delay:.4s;}
.cart-btn .ic{width:18px;height:18px;}
.cart-btn{padding:9px 18px;}

/* ---------- buttons ---------- */
.btn{font-family:'Manrope',sans-serif;letter-spacing:.01em;}
.btn .ic{width:18px;height:18px;}
.btn-teal{background:transparent;color:var(--gold-bright);border-color:var(--gold);box-shadow:none;}
.btn-teal::after{display:none;}
.btn-teal:hover{background:rgba(201,161,92,.12);box-shadow:none;transform:translateY(-2px);}

/* ---------- intro: the archway ---------- */
.intro-screen{position:fixed;inset:0;z-index:500;background:#0d0a08;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:opacity 1s var(--ease);}
.intro-screen::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 46%,rgba(201,161,92,.16),transparent 58%);}
.intro-screen.hide{opacity:0;pointer-events:none;}
.no-intro .intro-screen{display:none;}
.intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;filter:none;transform:none;transition:opacity 1.4s ease;}
.intro-screen.video-on .intro-video{opacity:.6;}
@keyframes introZoom{0%{transform:scale(1.05);}100%{transform:scale(1.18);}}
.intro-scrim{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(13,10,8,.2) 0%,rgba(13,10,8,.68) 68%,rgba(13,10,8,.94) 100%);}
.intro-stage{position:relative;z-index:2;width:min(300px,66vw);aspect-ratio:3/4;transition:transform 1.15s cubic-bezier(.7,0,.3,1),opacity .9s ease .1s;}
.intro-screen.hide .intro-stage{transform:scale(6);opacity:0;}
.intro-arch{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.intro-arch path{fill:none;stroke:var(--gold-bright);stroke-width:1.2;stroke-dasharray:1;stroke-dashoffset:1;}
.intro-arch path.inner{stroke:var(--gold);stroke-width:.7;opacity:.6;}
@keyframes drawArch{to{stroke-dashoffset:0;}}
.intro-logo{position:absolute;left:50%;top:53%;width:76%;height:auto;transform:translate(-50%,-50%) scale(.94);opacity:0;filter:drop-shadow(0 12px 30px rgba(0,0,0,.6));}
@keyframes logoIn{to{opacity:1;transform:translate(-50%,-50%) scale(1);}}
@keyframes introSkipIn{from{opacity:0;transform:translateY(14px) scale(.94);}to{opacity:1;transform:none;}}
@keyframes introSkipGlow{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 0 0 rgba(231,197,131,.5);}50%{box-shadow:0 8px 24px rgba(0,0,0,.55),0 0 0 10px rgba(231,197,131,0);}}
.intro-skip{position:absolute;bottom:34px;left:0;right:0;margin:0 auto;width:max-content;z-index:20;display:inline-flex;align-items:center;gap:8px;cursor:pointer;background:linear-gradient(180deg,#f3dba3,#c9a15c);color:#1a120a;font:700 .92rem 'Manrope',sans-serif;letter-spacing:.01em;padding:12px 20px 12px 24px;border-radius:999px;border:1px solid rgba(255,240,205,.75);opacity:0;animation:introSkipIn .7s var(--ease) .4s forwards,introSkipGlow 2.4s ease-in-out 1.2s infinite;-webkit-tap-highlight-color:transparent;transition:filter .2s var(--ease);}
.intro-skip::after{content:"\203A";font-size:1.3rem;line-height:1;margin-top:-2px;}
.intro-skip:hover{filter:brightness(1.1);color:#1a120a;}
.intro-skip:active{filter:brightness(.94);}
.intro-skip:focus-visible{outline:2px solid #fff;outline-offset:3px;}
.intro-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;z-index:3;background:rgba(241,232,220,.08);}
.intro-bar span{display:block;height:100%;width:0;background:var(--gold);}
@keyframes introBar{to{width:100%;}}
.intro-stage::after{content:"";position:absolute;left:50%;bottom:0;width:min(92vw,980px);height:1px;background:linear-gradient(90deg,transparent,var(--gold) 50%,transparent);transform:translateX(-50%) scaleX(0);}
@keyframes floorIn{to{transform:translateX(-50%) scaleX(1);}}
@media(max-width:640px){.intro-skip{bottom:26px;}}

/* ---------- hero2 refinements ---------- */
.hero2-title{font-weight:500;text-wrap:balance;}

.info-bar{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);}
.info-item{display:flex;gap:16px;align-items:center;padding:28px 28px 28px 0;}
.info-item + .info-item{padding-left:32px;border-left:1px solid var(--line);}
.info-item .ic{width:22px;height:22px;color:var(--gold);stroke-width:1.4;}
.info-item strong{display:block;font-weight:600;font-size:.95rem;}
.info-item span{color:var(--text-dim);font-size:.88rem;}

/* ---------- sections ---------- */
section{padding:clamp(64px,9vw,112px) 0;}
.section-head{margin-bottom:48px;}
.section-head h2{font-size:clamp(2.3rem,4.4vw,3.6rem);max-width:18ch;}
.section-head p{font-size:1rem;max-width:42ch;color:var(--text-dim);}
.view-link{display:inline-flex;align-items:center;gap:8px;color:var(--gold-bright);font-weight:600;font-size:.92rem;border-bottom:1px solid var(--hair);padding-bottom:3px;}
.view-link:hover{text-decoration:none;border-color:var(--gold-bright);}
.view-link .ic{width:16px;height:16px;}
.reveal,.reveal-top,.reveal-left,.reveal-right{transition:opacity 1s var(--ease),transform 1s var(--ease);}
.reveal{transform:translateY(18px);}
.reveal-top{transform:translateY(-12px);}
.reveal-left{transform:translateX(-22px);}
.reveal-right{transform:translateX(22px);}

/* ---------- menu chapters (bento) ---------- */
.bento{gap:16px;}
.cat-card{border-radius:6px;aspect-ratio:auto;min-height:340px;}
.cat-card .cc-imgwrap{animation:none;}
.cat-card h3{font-size:2rem;font-weight:500;}
.cat-card p{font-size:.92rem;color:#d3c7b6;max-width:38ch;}
.cat-card .cc-count{font-size:.7rem;padding:4px 11px;}
.cat-card .cc-price{font-size:.8rem;}

/* ---------- product cards: editorial, no boxes ---------- */
.grid-products{gap:44px 26px;}
.pcard{background:transparent;border:none;border-radius:0;overflow:visible;box-shadow:none;}
.pcard:hover{border:none;box-shadow:none;}
.pcard .pc-imgwrap{aspect-ratio:4/5;border-radius:4px;animation:none;background:var(--surface);}
.pcard .pc-body{padding:18px 2px 0;}
.pcard h4{font-size:1.5rem;margin-bottom:8px;line-height:1.1;}
.pcard .pc-desc{font-size:.9rem;min-height:0;}
.pcard .pc-foot{border-top:1px solid var(--line);padding-top:14px;margin-top:16px;}
.pc-diet{position:absolute;top:12px;left:12px;width:26px;height:26px;border-radius:4px;background:rgba(15,11,8,.74);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;}
.pc-diet svg{width:16px;height:16px;display:block;}
.pc-best{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;padding:5px 11px 5px 9px;border-radius:999px;background:rgba(15,11,8,.74);color:var(--gold-bright);border:1px solid var(--hair);backdrop-filter:blur(4px);}
.pc-best .ic{width:12px;height:12px;fill:currentColor;stroke:none;}
.price{font-family:'Manrope',sans-serif;font-weight:600;font-size:1.02rem;letter-spacing:.01em;color:var(--gold-bright);background:none;-webkit-text-fill-color:currentColor;animation:none;}
.pdetail .price{font-size:1.6rem;}
.add-btn .ic{width:14px;height:14px;}
.add-btn{padding:9px 16px 9px 13px;}

/* ---------- how we do it ---------- */
.why-strip{gap:52px;}
.why-card{background:none;border:none;border-top:1px solid var(--gold);border-radius:0;padding:28px 0 0;transition:none;}
.why-card:hover{transform:none;box-shadow:none;border-color:var(--gold);}
.why-icon{width:auto;height:auto;border:none;border-radius:0;margin-bottom:20px;animation:none;color:var(--gold-bright);display:block;}
.why-icon .ic{width:32px;height:32px;stroke-width:1.2;}
.why-card h4{font-size:1.85rem;margin-bottom:10px;}
.why-card p{font-size:.96rem;max-width:36ch;line-height:1.65;}

/* ---------- story ---------- */
.split{gap:clamp(48px,8vw,110px);}
.split h2{font-size:clamp(2.3rem,4.2vw,3.5rem);}
.split .arch{border-radius:999px 999px 8px 8px;height:600px;width:100%;object-fit:cover;background:var(--surface);}
.arch-frame{position:relative;padding:0;}
.arch-frame::before{content:"";position:absolute;inset:-14px;border:1px solid var(--hair);border-radius:999px 999px 16px 16px;pointer-events:none;}
.split .num-row{gap:44px;margin-top:40px;border-top:1px solid var(--line);padding-top:28px;flex-wrap:wrap;}
.num-row .num{font-family:var(--serif);font-size:3.2rem;font-weight:500;color:var(--gold-bright);line-height:1;font-feature-settings:"lnum" 1;}
.num-row .lbl{text-transform:none;letter-spacing:0;font-size:.86rem;color:var(--text-dim);margin-top:6px;}
.story-copy{color:var(--text-dim);margin-top:22px;line-height:1.75;max-width:52ch;font-size:1.02rem;}

/* ---------- guest words ---------- */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);}
.quote{margin:0;padding:6px 40px;border-left:1px solid var(--line);}
.quote:first-child{border-left:none;padding-left:0;}
.quote:last-child{padding-right:0;}
.quote .stars{display:flex;gap:3px;color:var(--gold);margin-bottom:20px;}
.quote .stars .ic{width:14px;height:14px;fill:currentColor;stroke:none;}
.quote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:1.6rem;line-height:1.28;color:var(--text);}
.quote figcaption{margin-top:22px;font-size:.88rem;color:var(--text-dim);}

/* ---------- gallery ---------- */
.gallery{display:grid;grid-template-columns:1.1fr 1fr 1fr;grid-template-rows:repeat(2,minmax(190px,min(26vw,320px)));gap:16px;}
.gallery figure{margin:0;overflow:hidden;border-radius:6px;position:relative;background:var(--surface);}
.gallery figure img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease);}
.gallery figure:hover img{transform:scale(1.04);}
.gallery figure:nth-child(1){grid-row:span 2;border-radius:999px 999px 6px 6px;}

/* ---------- reserve band ---------- */
.band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(201,161,92,.09),transparent 65%);padding:clamp(52px,7vw,88px) 0;}
.band-inner{display:flex;justify-content:space-between;align-items:center;gap:36px;flex-wrap:wrap;}
.band h2{font-size:clamp(2.1rem,3.8vw,3.2rem);max-width:19ch;}
.band p{color:var(--text-dim);margin-top:14px;max-width:44ch;}
.band .hero-ctas{margin-top:0;}

/* ---------- visit + footer ---------- */
.visit-row .vi{color:var(--gold);width:24px;}
.visit-row .vi .ic{width:20px;height:20px;stroke-width:1.4;}
.map-box{border-radius:6px;}
footer{padding:68px 0 28px;border-top:1px solid var(--line);background:var(--bg-soft);}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:44px;margin-bottom:52px;}
.f-brand img{height:92px;width:auto;margin-bottom:18px;}
.f-brand p{font-family:var(--serif);font-style:italic;font-size:1.45rem;color:var(--text-dim);max-width:20ch;line-height:1.2;}
.f-col h5{font-family:'Manrope',sans-serif;font-size:.88rem;font-weight:700;margin:0 0 18px;color:var(--text);}
.f-col a,.f-col span{display:block;color:var(--text-dim);font-size:.9rem;margin-bottom:11px;line-height:1.5;}
.f-col a:hover{color:var(--gold-bright);}
.f-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--line);color:var(--text-faint);font-size:.82rem;}
.f-bottom a{color:var(--text-dim);}
.f-bottom a:hover{color:var(--gold-bright);}

/* ---------- menu page ---------- */
.cat-chip-row{align-items:center;}
.cat-chip.on{border-color:var(--gold);color:var(--gold-bright);background:rgba(201,161,92,.1);}
.chip-veg{display:inline-flex;align-items:center;gap:8px;background:none;}
.chip-veg svg{width:15px;height:15px;}
.menu-search-box .ic{width:18px;height:18px;color:var(--text-faint);}
.cat-hero h1{font-size:clamp(2.8rem,6vw,5rem);}
.pdetail h1{font-size:clamp(2.5rem,4.6vw,3.8rem);}
.pdetail .desc{font-size:1.05rem;}
.pdetail .diet-line{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--text-dim);}
.pdetail .diet-line svg{width:16px;height:16px;}
.pairing{margin-top:32px;padding-top:24px;border-top:1px solid var(--line);display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.pairing .pl{color:var(--text-dim);font-size:.86rem;width:100%;}
.pair-item{display:flex;align-items:center;gap:14px;flex:1;min-width:220px;}
.pair-item img{width:68px;height:68px;border-radius:4px;object-fit:cover;background:var(--surface);}
.pair-item strong{display:block;font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.1;}
.pair-item small{color:var(--gold-bright);font-weight:600;font-size:.88rem;}

/* ---------- forms ---------- */
.field-group input,.field-group textarea,.field-group select,.admin-select{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:13px 14px;color:var(--text);font-family:inherit;font-size:.92rem;transition:border-color .25s var(--ease),box-shadow .25s var(--ease);}
.field-group select,.admin-select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23b7a996' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;}
.field-group input:focus,.field-group textarea:focus,.field-group select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,161,92,.14);}
input[type=date],input[type=time],input[type=datetime-local]{color-scheme:dark;}
select option{background:var(--surface);color:var(--text);}
.form-note{color:var(--text-faint);font-size:.82rem;margin-top:14px;line-height:1.6;}
.seg{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}
.seg label{position:relative;cursor:pointer;}
.seg input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0;}
.seg span{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:1px solid var(--line-strong);border-radius:999px;font-size:.88rem;font-weight:600;color:var(--text-dim);transition:all .25s var(--ease);}
.seg input:checked + span{border-color:var(--gold);background:rgba(201,161,92,.12);color:var(--gold-bright);}
.seg input:focus-visible + span{outline:2px solid var(--gold-bright);outline-offset:3px;}
.seg .ic{width:17px;height:17px;}
.pay-list{display:flex;flex-direction:column;gap:10px;margin-top:22px;}
.pay-option{margin-top:0;animation:none;}
.pay-option.disabled{border-color:var(--line);background:none;opacity:.72;}
.pay-option.disabled .po-dot{border-color:var(--line-strong);}
.pay-option.disabled .po-dot::after{display:none;}
.po-tag{font-size:.7rem;border:1px solid var(--hair);color:var(--gold-bright);padding:2px 9px;border-radius:999px;margin-left:8px;font-weight:600;white-space:nowrap;}
.confirm-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px;}
.confirm-wrap h1{font-size:clamp(2.6rem,5vw,3.8rem);}
.reserve-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:flex-start;}
.reserve-aside{border-left:1px solid var(--line);padding-left:48px;}
.reserve-aside h3{font-size:1.9rem;margin-bottom:14px;}
.reserve-aside p{color:var(--text-dim);line-height:1.7;font-size:.96rem;margin-bottom:26px;}
.status-line{display:inline-flex;align-items:center;gap:8px;}

/* ---------- floating whatsapp ---------- */
.wa-float{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:var(--surface-2);border:1px solid var(--gold);color:var(--gold-bright);display:flex;align-items:center;justify-content:center;z-index:150;box-shadow:0 14px 30px -12px rgba(0,0,0,.7);transition:transform .3s var(--ease),background .3s var(--ease);}
.wa-float:hover{transform:translateY(-3px);background:var(--surface);}
.wa-float .ic{width:24px;height:24px;}
.admin-on .wa-float{display:none;}
.toast .dot{background:var(--gold);}

/* ---------- order status colours (single accent family) ---------- */
.orc-status.preparing{color:#d99a6c;border:1px solid #d99a6c;}

/* ---------- admin additions ---------- */
.admin-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px;align-items:center;}
.sample-pill{font-size:.68rem;font-weight:700;border:1px solid var(--hair);color:var(--gold-bright);padding:3px 9px;border-radius:999px;margin-left:8px;white-space:nowrap;}
.admin-note{color:var(--text-faint);font-size:.82rem;margin:-6px 0 22px;}
.chart-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:24px;}
.chart-card h3{font-size:1.4rem;margin-bottom:4px;}
.chart-card .sub{color:var(--text-faint);font-size:.82rem;margin-bottom:16px;}
.chart-card svg{width:100%;height:auto;display:block;}
.two-col{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:40px;}
.dish-row{margin-bottom:14px;}
.dish-row .dr-top{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;margin-bottom:6px;}
.dish-row .dr-top span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dish-row .dr-top span:last-child{color:var(--text-dim);}
.dish-row .dr-bar{height:4px;border-radius:2px;background:rgba(241,232,220,.08);overflow:hidden;}
.dish-row .dr-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-bright));border-radius:2px;}
.res-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:20px 22px;margin-bottom:14px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.res-card .rc-when{font-family:var(--serif);font-size:1.5rem;line-height:1.1;}
.res-card .rc-meta{color:var(--text-dim);font-size:.86rem;margin-top:6px;}
.res-card .rc-who{text-align:right;}
.demo-creds{background:rgba(201,161,92,.08);border:1px solid var(--hair);border-radius:var(--radius-s);padding:12px 14px;font-size:.82rem;color:var(--text-dim);margin-bottom:18px;line-height:1.55;}
.admin-modal h3{font-size:1.8rem;}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .info-bar{grid-template-columns:1fr;}
  .info-item{padding:18px 0;}
  .info-item + .info-item{padding-left:0;border-left:none;border-top:1px solid var(--line);}
  .quotes{grid-template-columns:1fr;}
  .quote,.quote:first-child,.quote:last-child{padding:30px 0;border-left:none;border-top:1px solid var(--line);}
  .quote:first-child{border-top:none;padding-top:0;}
  .f-grid{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:190px;}
  .gallery figure:nth-child(1){grid-row:span 2;}
  .split .arch{height:460px;}
  .arch-frame::before{inset:-10px;}
  .two-col,.reserve-grid{grid-template-columns:1fr;}
  .reserve-aside{border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:32px;}
  .why-strip{gap:38px;}
  .grid-products{gap:38px 18px;}
}
@media(max-width:560px){
  .f-grid{grid-template-columns:1fr;gap:32px;}
  .hero h1{font-size:clamp(2.1rem,10vw,3rem);}
  .band-inner{flex-direction:column;align-items:flex-start;}
  .wa-float{right:14px;bottom:14px;width:48px;height:48px;}
  .grid-products{grid-template-columns:1fr 1fr;gap:34px 14px;}
  .pcard h4{font-size:1.2rem;}
  .pcard .pc-desc{display:none;}
  .pcard .pc-foot{flex-direction:column;align-items:flex-start;gap:10px;}
  .pc-best span{display:none;}
  .pc-best{padding:6px;}
  .cat-card h3{font-size:1.7rem;}
}

/* ---------- section rhythm + cta rows ---------- */
section.wrap{padding-bottom:clamp(40px,6vw,72px);}
.wrap.sec{padding-top:clamp(48px,7vw,88px);padding-bottom:clamp(48px,7vw,88px);}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.hero-text{max-width:760px;}

.toast{opacity:0;visibility:hidden;transition:transform .45s var(--ease),opacity .3s var(--ease),visibility 0s linear .45s;}
.toast.show{opacity:1;visibility:visible;transition-delay:0s;}

.section-head h2 + p{margin-top:14px;}
.grid-products.cols4{grid-template-columns:repeat(4,1fr);}
.pcard{display:flex;flex-direction:column;}
.pcard > a{display:block;}
.pcard .pc-body{display:flex;flex-direction:column;flex:1;}
.pcard .pc-desc{flex:1;}
.mobile-menu{visibility:hidden;transition:transform .5s var(--ease),visibility 0s linear .5s;}
.mobile-menu.open{visibility:visible;transition-delay:0s;}
@media(max-width:1100px){.grid-products.cols4{grid-template-columns:repeat(2,1fr);}}
.mobile-menu .mm-close{display:none;}
.mm-cart{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;background:transparent;border:1px solid var(--gold);color:var(--gold-bright);padding:12px 24px;border-radius:999px;font-family:'Manrope',sans-serif;font-weight:700;font-size:.95rem;margin-top:14px;}
.mm-cart .cart-count{background:var(--gold);color:#1a120a;border-radius:999px;min-width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;padding:0 6px;}
.mm-meta{color:var(--text-faint);font-size:.85rem;margin-top:22px;}
@media(max-width:700px){
  .cat-chip-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;}
  .cat-chip-row::-webkit-scrollbar{display:none;}
  .cat-chip{flex:0 0 auto;white-space:nowrap;}
}
@media(max-width:560px){
  .cat-card{min-height:240px;}
  .hero-ctas .btn{flex:1 1 100%;justify-content:center;}
  .pcard .pc-foot{flex-direction:row;align-items:center;gap:8px;}
  .add-btn{padding:8px 12px 8px 10px;}
}

/* ---------- intro v3: timeline is driven by JS variables once .go is set ---------- */
.intro-screen.go .intro-arch path{animation:drawArch 2.4s cubic-bezier(.6,.05,.2,1) var(--t-arch,.25s) forwards;}
.intro-screen.go .intro-arch path.inner{animation-delay:var(--t-arch2,.65s);}
.intro-screen.go .intro-logo{animation:logoIn 1.6s var(--ease) var(--t-logo,1.2s) forwards;}
.intro-screen.go .intro-stage::after{animation:floorIn 1.8s cubic-bezier(.6,.05,.2,1) var(--t-floor,1.2s) forwards;}
.intro-screen.go .intro-bar span{animation:introBar var(--intro-ms,6500ms) linear forwards;}
.intro-shots{position:absolute;inset:0;}
.shot{position:absolute;inset:0;opacity:0;overflow:hidden;}
.shot img{position:absolute;left:-4%;top:-4%;width:108%;height:108%;object-fit:cover;transform-origin:50% 55%;will-change:transform;}
.shot::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,16,9,.62) 0%,rgba(24,16,9,.2) 42%,rgba(24,16,9,.74) 100%),radial-gradient(ellipse at 50% 60%,rgba(201,161,92,.2),transparent 60%);}
.mode-shots .shot.s1{animation:shotIn 1s ease-out .2s forwards;}
.mode-shots .shot.s2{animation:shotIn 1s ease-in-out 2.4s forwards;}
.mode-shots .shot.s3{animation:shotIn 1.1s ease-in-out 4.6s forwards;}
.mode-shots .shot.s1 img{animation:pushIn 3.6s linear .2s forwards;}
.mode-shots .shot.s2 img{animation:panLeft 3.8s linear 2.4s forwards;}
.mode-shots .shot.s3 img{animation:pullBack 4.4s linear 4.6s forwards;}
@keyframes shotIn{to{opacity:1;}}
@keyframes pushIn{from{transform:scale(1);}to{transform:scale(1.16);}}
@keyframes panLeft{from{transform:scale(1.14) translateX(3%);}to{transform:scale(1.14) translateX(-3%);}}
@keyframes pullBack{from{transform:scale(1.16);}to{transform:scale(1.02);}}
.intro-dim{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 55%,rgba(13,10,8,.92) 0%,rgba(13,10,8,.6) 42%,rgba(13,10,8,.2) 100%);}
.mode-shots .intro-dim{animation:dimIn 1.6s ease 5s forwards;}
@keyframes dimIn{to{opacity:1;}}
.intro-dust{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;}
.intro-letterbox::before,.intro-letterbox::after{content:"";position:absolute;left:0;right:0;height:0;background:#050403;z-index:1;transition:height 1.3s var(--ease);}
.intro-letterbox::before{top:0;}
.intro-letterbox::after{bottom:0;}
.mode-shots .intro-letterbox::before,.mode-shots .intro-letterbox::after{height:7vh;}
@media(max-aspect-ratio:1/1){.mode-shots .intro-letterbox::before,.mode-shots .intro-letterbox::after{height:0;}}

/* ---------- intro v4: 3D burger (WebGL) ---------- */
.intro-burger{position:absolute;inset:0;width:100%;height:100%;display:none;opacity:0;transition:opacity 1.2s ease,transform 1.3s var(--ease);}
.mode-burger .intro-burger{display:block;}
.intro-screen.go.mode-burger .intro-burger{opacity:1;}
.intro-screen.hide.mode-burger .intro-burger{transform:scale(1.1);}
.mode-burger .intro-scrim{background:radial-gradient(ellipse at 50% 44%,rgba(13,10,8,0) 0%,rgba(13,10,8,.30) 58%,rgba(13,10,8,.90) 100%);}
.mode-burger .intro-arch,.mode-burger .intro-stage::after{display:none;}
.mode-burger .intro-stage{position:absolute;left:50%;top:auto;bottom:calc(2.6vh + env(safe-area-inset-bottom,0px));width:min(190px,50vw);aspect-ratio:auto;height:auto;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;}
.intro-screen.hide.mode-burger .intro-stage{transform:translateX(-50%);opacity:0;}
.mode-burger .intro-logo{position:relative;left:auto;top:auto;width:auto;height:min(54px,7.2vh);transform:translateY(14px);}
.intro-screen.go.mode-burger .intro-logo{animation:burgerCaptionIn 1.5s var(--ease) var(--t-logo,10s) forwards;}
.intro-tag{display:none;}
.mode-burger .intro-tag{display:block;font-size:.62rem;font-weight:600;letter-spacing:.36em;text-transform:uppercase;color:var(--gold);white-space:nowrap;opacity:0;transform:translateY(10px);padding-left:.36em;}
.intro-screen.go.mode-burger .intro-tag{animation:burgerCaptionIn 1.3s var(--ease) calc(var(--t-logo,10s) + .45s) forwards;}
@keyframes burgerCaptionIn{to{opacity:1;transform:translateY(0);}}
.intro-bloom,.intro-soft,.intro-grain{position:absolute;pointer-events:none;display:none;}
.mode-burger .intro-bloom,.mode-burger .intro-soft,.mode-burger .intro-grain{display:block;}
.intro-bloom{inset:0;width:100%;height:100%;mix-blend-mode:screen;filter:blur(11px) brightness(1.1) saturate(1.08);opacity:0;transition:opacity 1.4s ease;}
.intro-screen.go.mode-burger .intro-bloom{opacity:.16;}
.intro-soft{inset:0;width:100%;height:100%;filter:blur(2.5px);opacity:0;transition:opacity 1.4s ease;-webkit-mask-image:radial-gradient(ellipse 60% 64% at 50% 46%,transparent 78%,#000 100%);mask-image:radial-gradient(ellipse 60% 64% at 50% 46%,transparent 78%,#000 100%);}
.intro-screen.go.mode-burger .intro-soft{opacity:.55;}
.intro-grain{inset:-60px;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:introGrain .8s steps(1) infinite;}
@keyframes introGrain{0%{transform:translate(0,0);}20%{transform:translate(-22px,14px);}40%{transform:translate(16px,-26px);}60%{transform:translate(-12px,-10px);}80%{transform:translate(24px,18px);}100%{transform:translate(0,0);}}

.mode-burger .intro-skip{left:auto;right:22px;margin:0;bottom:calc(22px + env(safe-area-inset-bottom,0px));}
@media(max-width:640px){.mode-burger .intro-skip{top:calc(14px + env(safe-area-inset-top,0px));bottom:auto;right:14px;padding:10px 16px 10px 18px;font-size:.86rem;}}

/* ---------- live orders (admin) ---------- */
.tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;margin-left:8px;padding:0 5px;background:#d99a6c;color:#1a120a;font-size:.68rem;font-weight:800;}
.admin-live.off .dot{background:#c9553a;animation:none;}
.live-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:34px;}
.live-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px 24px;}
.live-card .lc-num{font-family:var(--serif);font-size:2.6rem;line-height:1;color:var(--gold-bright);font-feature-settings:"lnum" 1;}
.live-card .lc-lbl{margin-top:8px;color:var(--text-dim);font-size:.86rem;}
.live-card.pending{border-color:#d99a6c;}
.live-card.pending .lc-num{color:#e8b58a;}
.live-card.delivered .lc-num{color:#a5b57d;}
.status-chip{margin-left:10px;font-size:.68rem;font-weight:700;padding:3px 10px;border-radius:999px;border:1px solid var(--hair);color:var(--gold-bright);white-space:nowrap;}
.status-chip.pending{color:#e8b58a;border-color:#d99a6c;}
.status-chip.preparing{color:var(--gold-bright);border-color:var(--gold);}
.status-chip.delivered{color:#a5b57d;border-color:#8a9764;}
.status-chip.cancelled{color:#c9553a;border-color:#c9553a;}
.admin-order-card.st-pending{border-left:3px solid #d99a6c;background:linear-gradient(90deg,rgba(217,154,108,.07),transparent 18%);}
.admin-order-card.st-preparing{border-left:3px solid var(--gold);background:linear-gradient(90deg,rgba(201,161,92,.07),transparent 18%);}
.admin-order-card.st-delivered{border-left:3px solid #8a9764;background:linear-gradient(90deg,rgba(138,151,100,.08),transparent 18%);}
.admin-order-card.st-cancelled{border-left:3px solid #c9553a;background:linear-gradient(90deg,rgba(201,85,58,.08),transparent 18%);opacity:.78;}
.st-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line);}
.stbtn{background:none;border:1px solid var(--line-strong);color:var(--text-dim);border-radius:999px;padding:8px 16px;font:600 .82rem 'Manrope',sans-serif;cursor:pointer;transition:all .2s var(--ease);}
.stbtn:hover{border-color:var(--gold);color:var(--text);}
.stbtn.on.pending{background:rgba(217,154,108,.16);border-color:#d99a6c;color:#e8b58a;}
.stbtn.on.preparing{background:rgba(201,161,92,.16);border-color:var(--gold);color:var(--gold-bright);}
.stbtn.on.delivered{background:rgba(138,151,100,.2);border-color:#8a9764;color:#b9c88f;}
.stbtn.on.cancelled{background:rgba(201,85,58,.16);border-color:#c9553a;color:#e07a5f;}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.filter-chip{background:none;border:1px solid var(--line-strong);color:var(--text-dim);border-radius:999px;padding:8px 16px;font:600 .84rem 'Manrope',sans-serif;cursor:pointer;}
.filter-chip span{opacity:.7;margin-left:4px;}
.filter-chip.on{border-color:var(--gold);color:var(--gold-bright);background:rgba(201,161,92,.1);}
.history-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px;padding:10px 14px;background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--radius-s);}
.history-bar label{font-size:.8rem;color:var(--text-dim);}
.history-bar select{background:var(--surface);border:1px solid var(--line-strong);color:var(--text);border-radius:999px;padding:6px 14px;font:600 .82rem 'Manrope',sans-serif;}
.history-clear-btn{margin-left:auto;border-color:#c9553a !important;color:#e07a5f !important;}
.history-clear-btn:hover{background:rgba(201,85,58,.14) !important;}
.history-clear-btn:disabled{opacity:.35;cursor:not-allowed;}
.admin-subsection-title{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:1.25rem;margin:26px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line);}
.subtitle-diet svg{width:15px;height:15px;flex-shrink:0;}
.order-note-highlight{display:flex;align-items:flex-start;gap:8px;background:rgba(231,197,131,.12);border:1px solid rgba(231,197,131,.4);border-radius:var(--radius-s);padding:9px 12px;margin-top:10px;font-size:.85rem;color:var(--gold-bright);font-weight:600;line-height:1.4;}
.order-note-highlight svg{width:15px;height:15px;flex-shrink:0;margin-top:2px;}
.orc-status.cancelled{color:#c9553a;border:1px solid #c9553a;}
.confirm-status{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:22px;}
.confirm-live{color:var(--text-faint);font-size:.82rem;}

/* ---------- reviews ---------- */
.stars-static{display:inline-flex;gap:2px;color:var(--gold);}
.stars-static .ic{width:16px;height:16px;fill:none;}
.stars-static .ic.on{fill:currentColor;}
.rev-summary{margin-bottom:26px;display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;}
.rev-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:18px 22px;margin-bottom:12px;}
.rev-card.low{border-left:3px solid #c9553a;}
.rev-top{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
.rev-meta{color:var(--text-dim);font-size:.82rem;}
.rev-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.rev-tags span{font-size:.78rem;border:1px solid var(--line-strong);border-radius:999px;padding:4px 12px;color:var(--text-dim);}
.rev-comment{margin-top:12px;font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--text);}
.rate-box{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);text-align:left;}
.confirm-wrap .rate-box{max-width:620px;margin:28px auto 0;}
.rate-head{font-family:var(--serif);font-size:1.5rem;margin-bottom:12px;}
.stars-input{display:flex;gap:6px;margin-bottom:6px;}
.star-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--gold);line-height:0;}
.star-btn .ic{width:34px;height:34px;fill:none;transition:transform .2s var(--ease),fill .2s var(--ease);}
.star-btn.on .ic{fill:currentColor;}
.star-btn:hover .ic{transform:scale(1.12);}
.rate-us-box{display:flex;align-items:center;gap:48px;flex-wrap:wrap;justify-content:space-between;
  padding:44px clamp(24px,5vw,64px);border:1px solid var(--line);border-radius:var(--radius-l);
  background:linear-gradient(135deg,var(--surface),var(--surface-2));}
.rate-us-score{text-align:center;min-width:180px;}
.rate-us-num{font-family:var(--serif);font-size:4rem;line-height:1;color:var(--gold-bright);}
.rate-us-score .stars-static{justify-content:center;margin:10px 0 8px;}
.rate-us-count{color:var(--text-dim);font-size:.92rem;}
.rate-us-cta{flex:1;min-width:260px;}
.rate-us-cta h3{font-family:var(--serif);font-size:1.6rem;margin:0 0 6px;}
.rate-us-cta p{color:var(--text-dim);margin:0 0 14px;}
.rate-us-input .star-btn .ic{width:38px;height:38px;}
@media(max-width:640px){
  .rate-us-box{flex-direction:column;text-align:center;gap:28px;padding:34px 22px;}
  .rate-us-cta{text-align:center;}
  .rate-us-input{justify-content:center;}
}
.rate-word{color:var(--gold-bright);font-weight:700;font-size:.88rem;margin-top:8px;}
.rate-title{font-family:var(--serif);font-size:1.35rem;margin:6px 0 14px;line-height:1.2;}
.rate-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;}
.chip-opt{background:none;border:1px solid var(--line-strong);color:var(--text-dim);border-radius:999px;padding:9px 16px;font:600 .84rem 'Manrope',sans-serif;cursor:pointer;transition:all .2s var(--ease);}
.chip-opt:hover{border-color:var(--gold);color:var(--text);}
.chip-opt.on{border-color:var(--gold);background:rgba(201,161,92,.14);color:var(--gold-bright);}
.rate-box textarea{width:100%;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:12px 14px;color:var(--text);font:inherit;font-size:.9rem;margin-bottom:14px;resize:vertical;}
.rate-box textarea:focus{outline:none;border-color:var(--gold);}
.rate-done .rev-tags{margin-bottom:14px;}
@media(max-width:900px){.live-grid{grid-template-columns:1fr 1fr;}.rev-summary{grid-template-columns:1fr;gap:20px;}}
@media(max-width:700px){
  .admin-header{flex-direction:column;align-items:flex-start;gap:12px;}
  .admin-tabs{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:6px;scrollbar-width:none;}
  .admin-tabs::-webkit-scrollbar{display:none;}
  .admin-tab-btn{flex:0 0 auto;white-space:nowrap;}
}



/* ===== Status plates: solid colour, readable at a glance ===== */
:root{--st-pending:#f2a93b;--st-preparing:#4a9be8;--st-delivered:#43a85f;--st-cancelled:#dc4a3c;}
.status-chip,.orc-status{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:800;letter-spacing:.02em;padding:5px 13px;border-radius:999px;border:0 !important;white-space:nowrap;}
.status-chip{margin-left:10px;}
.status-chip .ic{width:13px;height:13px;stroke-width:2.6;}
.status-chip.pending,.orc-status.placed,.orc-status.pending{background:var(--st-pending);color:#2b1900;}
.status-chip.preparing,.orc-status.preparing{background:var(--st-preparing);color:#fff;}
.status-chip.delivered,.orc-status.delivered{background:var(--st-delivered);color:#fff;}
.status-chip.cancelled,.orc-status.cancelled{background:var(--st-cancelled);color:#fff;}
.admin-order-card.st-pending{border-left:5px solid var(--st-pending);background:linear-gradient(90deg,rgba(242,169,59,.16),transparent 35%),var(--surface);}
.admin-order-card.st-preparing{border-left:5px solid var(--st-preparing);background:linear-gradient(90deg,rgba(74,155,232,.16),transparent 35%),var(--surface);}
.admin-order-card.st-delivered{border-left:5px solid var(--st-delivered);background:linear-gradient(90deg,rgba(67,168,95,.16),transparent 35%),var(--surface);}
.admin-order-card.st-cancelled{border-left:5px solid var(--st-cancelled);background:linear-gradient(90deg,rgba(220,74,60,.16),transparent 35%),var(--surface);opacity:.85;}
.stbtn.on.pending{background:var(--st-pending);border-color:var(--st-pending);color:#2b1900;}
.stbtn.on.preparing{background:var(--st-preparing);border-color:var(--st-preparing);color:#fff;}
.stbtn.on.delivered{background:var(--st-delivered);border-color:var(--st-delivered);color:#fff;}
.stbtn.on.cancelled{background:var(--st-cancelled);border-color:var(--st-cancelled);color:#fff;}
.live-card.pending{border-color:var(--st-pending);}.live-card.pending .lc-num{color:#f7c26b;}
.live-card.preparing{border-color:var(--st-preparing);}.live-card.preparing .lc-num{color:#86bdf3;}
.live-card.delivered{border-color:var(--st-delivered);}.live-card.delivered .lc-num{color:#75d18d;}
.filter-chip.fc-pending{border-color:rgba(242,169,59,.6);}.filter-chip.fc-preparing{border-color:rgba(74,155,232,.6);}
.filter-chip.fc-delivered{border-color:rgba(67,168,95,.6);}.filter-chip.fc-cancelled{border-color:rgba(220,74,60,.6);}
.filter-chip.fc-pending.on{background:var(--st-pending);color:#2b1900;border-color:var(--st-pending);}
.filter-chip.fc-preparing.on{background:var(--st-preparing);color:#fff;border-color:var(--st-preparing);}
.filter-chip.fc-delivered.on{background:var(--st-delivered);color:#fff;border-color:var(--st-delivered);}
.filter-chip.fc-cancelled.on{background:var(--st-cancelled);color:#fff;border-color:var(--st-cancelled);}
/* ===== Veg / Non-veg / Mixed order boxes ===== */
.diet-box{--dc:#3fae5a;--dc-rgb:63,174,90;border:1.5px solid var(--dc);border-radius:var(--radius-m);margin:22px 0;background:linear-gradient(180deg,rgba(var(--dc-rgb),.09),transparent 260px);overflow:hidden;}
.diet-box.diet-nonveg{--dc:#dc4a3c;--dc-rgb:220,74,60;}
.diet-box.diet-mixed{--dc:#8e7ce0;--dc-rgb:142,124,224;}
.diet-box-head{display:flex;align-items:center;gap:10px;margin:0;padding:14px 18px;background:rgba(var(--dc-rgb),.22);border-bottom:1.5px solid var(--dc);font:800 1.05rem 'Manrope',sans-serif;}
.diet-box-head .subtitle-diet{display:inline-flex;gap:4px;}
.diet-count{margin-left:auto;background:var(--dc);color:#fff;font-size:.78rem;font-weight:800;padding:3px 12px;border-radius:999px;}
.diet-box-body{padding:16px;}
.diet-box-body .admin-order-card:last-child{margin-bottom:0;}
/* ===== Delete dialog + manual selection ===== */
.del-modal{width:min(440px,94vw);}
.del-modal h3{margin-bottom:6px;}
.del-opts{display:grid;gap:10px;margin-top:18px;}
.del-opt{text-align:left;display:flex;flex-direction:column;gap:2px;padding:14px 16px;border:1px solid var(--line-strong);border-radius:var(--radius-s);background:var(--bg-soft);color:var(--text);cursor:pointer;font-family:inherit;}
.del-opt b{font-size:.95rem;}.del-opt span{font-size:.8rem;color:var(--text-dim);}
.del-opt:hover:not(:disabled){border-color:var(--gold);}.del-opt:disabled{opacity:.4;cursor:not-allowed;}
.del-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px;}
.del-go{background:var(--st-cancelled) !important;color:#fff !important;border-color:var(--st-cancelled) !important;}
.sel-bar b{font-size:.9rem;}
.selectable{position:relative;cursor:pointer;padding-left:58px !important;}
.selectable .st-row{display:none;}
.selectable.is-sel{outline:2px solid var(--gold-bright);outline-offset:-2px;}
.sel-box{position:absolute;left:16px;top:18px;width:24px;height:24px;border:2px solid var(--line-strong);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#1c150d;background:transparent;}
.sel-box .ic{width:15px;height:15px;stroke-width:3;}
.is-sel .sel-box{background:var(--gold-bright);border-color:var(--gold-bright);}


.diet-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;}
.diet-chip{--dcc:var(--gold);--dcr:201,161,92;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1.5px solid var(--dcc);background:transparent;color:var(--text);font:700 .86rem 'Manrope',sans-serif;cursor:pointer;}
.diet-chip svg{width:15px;height:15px;}
.diet-chip span{opacity:.7;}
.diet-chip.dc-veg{--dcc:#3fae5a;--dcr:63,174,90;}.diet-chip.dc-nonveg{--dcc:#dc4a3c;--dcr:220,74,60;}.diet-chip.dc-mixed{--dcc:#8e7ce0;--dcr:142,124,224;}
.diet-chip.on{background:rgba(var(--dcr),.26);box-shadow:0 0 0 2px var(--dcc) inset;}
.pin-btn{margin-left:auto;}
.pin-btn.on{background:var(--gold) !important;color:#1c150d !important;border-color:var(--gold) !important;}
.rev-card.pinned{border-color:var(--gold);}
.selectable .pin-btn{display:none;}
.pin-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:26px 0;}
.pin-grid .quote{border-left:0;border-top:1px solid var(--line);padding:22px 32px 6px 0;}
.pin-grid .quote blockquote{font-size:1.3rem;}
.pin-grid .quote .stars-static{margin-bottom:16px;}
.ratings-more{margin-top:30px;display:flex;justify-content:center;}
.all-ratings{margin-top:26px;display:grid;gap:12px;max-width:820px;margin-left:auto;margin-right:auto;}
.ar-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px 20px;}
.ar-row.pin{border-color:var(--gold);}
.ar-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-dim);font-size:.84rem;}
.ar-row p{margin:10px 0 0;color:var(--text);}


.vp-badge{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 9px 2px 6px;border-radius:999px;background:rgba(67,168,95,.16);border:1px solid rgba(67,168,95,.55);color:#7fd79a;font-size:.68rem;font-weight:800;letter-spacing:.02em;position:relative;overflow:hidden;white-space:nowrap;vertical-align:middle;animation:vpPop .6s var(--ease) both;}
.vp-badge::after{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);animation:vpShine 3.6s ease-in-out 1s infinite;}
.vp-check{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;stroke-dashoffset:24;animation:vpDraw .6s ease .35s forwards;}
@keyframes vpPop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.08);opacity:1}100%{transform:scale(1)}}
@keyframes vpShine{0%,55%{left:-70%}100%{left:130%}}
@keyframes vpDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.vp-badge,.vp-badge::after,.vp-check{animation:none}.vp-check{stroke-dashoffset:0}}
.cm-panel{margin-top:16px;padding-top:16px;border-top:1px dashed var(--line-strong);display:grid;gap:20px;}
.cm-title{font-weight:800;font-size:.9rem;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.cm-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.cm-row input{flex:1 1 130px;min-width:0;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);padding:9px 12px;color:var(--text);font:inherit;}
.cs-chip{display:inline-block;font-size:.66rem;font-weight:800;padding:2px 9px;border-radius:999px;margin-left:6px;vertical-align:middle;}
.cs-chip.frozen{background:#4a9be8;color:#fff;}.cs-chip.blocked{background:#dc4a3c;color:#fff;}
.cs-chip.beh{background:transparent;border:1.5px solid var(--bc);color:var(--bc);}
.beh-card{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Manrope,sans-serif;}
.beh-val{text-align:center;font-size:2.7rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1;transition:color .2s;}
.beh-val small{font-size:1rem;font-weight:600;color:var(--text-dim);margin-left:3px;letter-spacing:0;}
.beh-label{text-align:center;font-size:.8rem;font-weight:600;margin-top:6px;transition:color .2s;}
.beh-slider{display:flex;align-items:center;gap:12px;margin-top:16px;}
.beh-slider > span{font-size:.75rem;color:var(--text-faint);font-weight:600;font-variant-numeric:tabular-nums;}
.beh-range{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:28px;background:transparent;margin:0;padding:0;outline:none;cursor:pointer;--p:50%;}
.beh-range::-webkit-slider-runnable-track{height:8px;border-radius:999px;background:linear-gradient(90deg,transparent var(--p),rgba(255,255,255,.14) var(--p)),linear-gradient(90deg,#dc4a3c,#f2a93b 50%,#43a85f);}
.beh-range::-moz-range-track{height:8px;border-radius:999px;background:linear-gradient(90deg,transparent var(--p),rgba(255,255,255,.14) var(--p)),linear-gradient(90deg,#dc4a3c,#f2a93b 50%,#43a85f);}
.beh-range.unrated::-webkit-slider-runnable-track{background:rgba(255,255,255,.14);}
.beh-range.unrated::-moz-range-track{background:rgba(255,255,255,.14);}
.beh-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-10px;border-radius:50%;background:#fff;border:0;box-shadow:0 3px 8px rgba(0,0,0,.4),0 0 0 .5px rgba(0,0,0,.12);transition:transform .15s;}
.beh-range::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.4),0 0 0 .5px rgba(0,0,0,.12);}
.beh-range:active::-webkit-slider-thumb{transform:scale(1.08);}
.beh-range:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px;border-radius:14px;}
.beh-actions{display:flex;justify-content:center;margin-top:14px;}


/* wallet pill: always one line; frozen shows a lock icon instead of wrapping text */
.customer-pill .cp-wallet{white-space:nowrap;display:inline-flex;align-items:center;gap:5px;line-height:1.2;}
.customer-pill .cp-wallet .ic{width:12px;height:12px;stroke-width:2.4;flex-shrink:0;}
.customer-pill .cp-wallet.frozen{background:#4a9be8;color:#fff;}
/* slightly smaller cart button */
.cart-btn{padding:7px 14px;font-size:.82rem;gap:8px;}
.cart-btn .ic{width:16px;height:16px;}
.cart-count{min-width:18px;height:18px;font-size:.68rem;}
@media(max-width:640px){
  .nav-right{gap:8px;}
  .cart-btn{padding:6px 11px;font-size:.78rem;gap:6px;}
  .cart-btn .ic{width:15px;height:15px;}
  .cart-count{min-width:17px;height:17px;font-size:.64rem;}
  .customer-pill{padding:4px 5px 4px 12px;gap:6px;font-size:.78rem;}
}
/* iOS-style behaviour indicator (same red / yellow / green colours) */
.unrated{--u:1;}


.asp-list{margin:4px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-m);background:rgba(255,255,255,.03);}
.asp-head{font-weight:700;font-size:.9rem;margin-bottom:8px;}
.asp-head span{color:var(--text-faint);font-weight:500;}
.asp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--line);}
.asp-head + .asp-row,.asp-list.static > .asp-row:first-child{border-top:0;}
.asp-name{font-size:.88rem;color:var(--text-dim);}
.asp-stars{display:inline-flex;gap:2px;}
.asp-star{background:none;border:none;padding:3px;cursor:pointer;color:var(--gold);line-height:0;}
.asp-star .ic{width:24px;height:24px;fill:none;transition:transform .15s var(--ease),fill .15s var(--ease);}
.asp-star.on .ic{fill:currentColor;}
.asp-star:hover .ic{transform:scale(1.15);}
.asp-list.static .stars-static .ic{width:15px;height:15px;}
.asp-chip{border-color:var(--gold) !important;color:var(--gold-bright) !important;}
.asp-chip b{color:var(--text);font-weight:700;}
.asp-chip i{opacity:.7;font-style:normal;}


/* ---------- My Profile / Addresses / PIN ---------- */
.profile-wrap{display:grid;gap:26px;max-width:920px;}
.profile-head{display:flex;align-items:center;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px 24px;flex-wrap:wrap;}
.profile-avatar{width:74px;height:74px;border-radius:50%;flex-shrink:0;border:2px solid var(--gold);background:var(--bg-soft);}
.profile-head-info h2{font-size:1.4rem;margin-bottom:4px;}
.profile-head-info p{color:var(--text-dim);font-size:.86rem;}
.profile-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:22px 24px;}
.profile-card h3{font-size:1rem;font-weight:800;margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.profile-card h3 small{font-weight:500;color:var(--text-faint);font-size:.72rem;}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.stat-box{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:14px;padding:14px 16px;}
.stat-box span{display:block;color:var(--text-faint);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;}
.stat-box strong{font-size:1.25rem;font-weight:800;}
.stat-box small{display:block;color:var(--text-dim);font-size:.68rem;margin-top:4px;}
.addr-list{display:grid;gap:12px;margin-bottom:14px;}
.addr-card{border:1px solid var(--line);border-radius:14px;padding:14px 16px;position:relative;}
.addr-card.is-default{border-color:var(--gold);}
.addr-card .addr-label{font-weight:800;font-size:.86rem;display:flex;align-items:center;gap:8px;}
.addr-card .addr-text{color:var(--text-dim);font-size:.82rem;margin-top:6px;line-height:1.5;}
.addr-card .addr-actions{display:flex;gap:10px;margin-top:10px;}
.addr-card .addr-actions button{background:none;border:none;color:var(--gold-bright);font-size:.76rem;font-weight:700;cursor:pointer;padding:0;}
.addr-card .addr-actions button.danger{color:var(--rust);}
.gender-seg{display:flex;gap:10px;margin-bottom:18px;}
.gender-seg label{flex:1;border:1px solid var(--line-strong);border-radius:12px;padding:10px;text-align:center;cursor:pointer;font-size:.84rem;}
.gender-seg input{display:none;}
.gender-seg input:checked + span{color:var(--gold-bright);font-weight:800;}
.gender-seg label:has(input:checked){border-color:var(--gold);background:rgba(212,168,90,.08);}
.pin-boxes{display:flex;gap:10px;margin-bottom:6px;}
.pin-boxes input{width:44px;height:52px;text-align:center;font-size:1.3rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-s);color:var(--text);font:inherit;}
.pin-len-toggle{display:flex;gap:8px;margin-bottom:14px;}
.pin-len-toggle button{flex:1;padding:7px;border-radius:10px;border:1px solid var(--line-strong);background:none;color:var(--text-dim);font-size:.78rem;cursor:pointer;}
.pin-len-toggle button.active{border-color:var(--gold);color:var(--gold-bright);font-weight:800;}
.profile-note{color:var(--text-faint);font-size:.76rem;margin-top:10px;}
.readonly-field{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:var(--radius-s);padding:9px 12px;color:var(--text-dim);font-size:.9rem;}
.addr-pick-list{display:grid;gap:10px;margin-bottom:14px;}
.addr-pick{border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px;cursor:pointer;font-size:.84rem;}
.addr-pick.is-active{border-color:var(--gold);background:rgba(212,168,90,.08);}
.addr-pick .addr-pick-label{font-weight:800;margin-bottom:4px;}
.addr-pick .addr-pick-text{color:var(--text-dim);font-size:.8rem;}
#pinModalOverlay .admin-modal{width:min(340px,94vw);text-align:center;}
.eta-highlight{background:linear-gradient(135deg,rgba(212,168,90,.16),rgba(212,168,90,.05));border:1px solid var(--gold);border-radius:var(--radius-m);padding:16px 20px;margin:20px 0;display:grid;gap:10px;text-align:left;}
.eta-highlight-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.eta-highlight-row span{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:.84rem;font-weight:600;}
.eta-highlight-row span .ic{width:16px;height:16px;color:var(--gold-bright);flex-shrink:0;}
.eta-highlight-row strong{color:var(--gold-bright);font-size:1.02rem;font-weight:800;}
.eta-highlight-row strong small{color:var(--text-faint);font-weight:600;font-size:.68rem;}


/* ===== iOS 27 style: liquid glass materials, big radii, spring motion ===== */
:root{--radius-s:12px;--radius-m:20px;--radius-l:32px;
--g-fill:rgba(44,34,27,.52);--g-fill2:rgba(60,47,37,.72);--g-line:rgba(255,255,255,.2);
--g-spec:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -1px 0 rgba(255,255,255,.07),0 10px 30px rgba(0,0,0,.35);
--g-blur:blur(26px) saturate(190%);--spring:cubic-bezier(.32,.72,0,1);
--ios-font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display",Manrope,system-ui,sans-serif;}
body,button,input,select,textarea{font-family:var(--ios-font);-webkit-font-smoothing:antialiased;}
header,.site-header,nav.nav,.nav{background:var(--g-fill)!important;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);border-bottom:1px solid var(--g-line)!important;box-shadow:0 1px 0 rgba(255,255,255,.08) inset;}
.btn,.btn-gold,.btn-teal,.btn-ghost,.btn-ghost-warm,.cart-btn,.admin-tab-btn,.chip,.cat-chip,.drawer-close,.mm-close{border-radius:999px!important;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);box-shadow:var(--g-spec);transition:transform .35s var(--spring),background .25s,box-shadow .25s;}
.btn:active,.cart-btn:active,.admin-tab-btn:active{transform:scale(.95);}
.btn-ghost,.btn-ghost-warm,.cart-btn,.admin-tab-btn:not(.active){background:var(--g-fill)!important;border:1px solid var(--g-line)!important;}
.btn-gold,.btn-teal,.admin-tab-btn.active{background:linear-gradient(180deg,rgba(255,226,166,.95),rgba(214,172,96,.92))!important;border:1px solid rgba(255,240,205,.7)!important;color:#2a1d0c!important;}
.cat-card,.pcard,.drawer,.admin-modal,.admin-order-card,.ios-group,.gallery figure{background:var(--g-fill)!important;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);border:1px solid var(--g-line)!important;border-radius:var(--radius-l)!important;box-shadow:var(--g-spec);}
.cat-card,.pcard,.gallery figure{overflow:hidden;}
.drawer{border-radius:var(--radius-l) 0 0 var(--radius-l)!important;}
.field-group input,.field-group textarea,.field-group select,.admin-select,.ios-input,.ios-select{background:rgba(255,255,255,.08)!important;border:1px solid var(--g-line)!important;border-radius:14px!important;}
.field-group input:focus,.field-group textarea:focus,.field-group select:focus{box-shadow:0 0 0 4px rgba(231,197,131,.25)!important;}
.ed-banner,.ed-sel-toolbar,.ed-tools,.ed-img-btn,.ed-tools button{background:var(--g-fill2)!important;backdrop-filter:var(--g-blur);-webkit-backdrop-filter:var(--g-blur);border-color:var(--g-line)!important;box-shadow:var(--g-spec);}
.ed-tools button,.ed-sel-toolbar button{border-radius:999px!important;}
.ed-add-tile,.blk-add-strip{border-radius:var(--radius-l)!important;background:rgba(255,255,255,.04)!important;}
.ios-sheet{border-radius:32px 32px 0 0!important;box-shadow:var(--g-spec);}
/* ===== Adjust panel (select a block) ===== */
.blk-sel{outline:2px solid rgba(255,226,166,.9)!important;outline-offset:6px;border-radius:14px;}
.blk-sel .blk-shape,.blk-sel .blk-video-frame{touch-action:none;cursor:grab;}
.adj-grip{position:absolute;width:30px;height:30px;border-radius:50%;z-index:9;touch-action:none;cursor:nwse-resize;
background:linear-gradient(145deg,rgba(255,240,205,.95),rgba(214,172,96,.9));border:2px solid #fff;box-shadow:0 4px 14px rgba(0,0,0,.5);}
.adj-grip::after{content:"";position:absolute;inset:8px;border-right:2.5px solid #4a3413;border-bottom:2.5px solid #4a3413;transform:translate(1px,1px) scale(.9);}
.adj-panel{position:fixed;z-index:9990;width:min(340px,calc(100vw - 24px));padding:12px 14px 14px;border-radius:28px;color:#f6ecdd;
background:var(--g-fill2);backdrop-filter:blur(34px) saturate(200%);-webkit-backdrop-filter:blur(34px) saturate(200%);
border:1px solid var(--g-line);box-shadow:var(--g-spec),0 24px 60px rgba(0,0,0,.5);animation:adjIn .38s var(--spring);}
@keyframes adjIn{from{opacity:0;transform:translateY(10px) scale(.94);}to{opacity:1;transform:none;}}
.adj-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:700;font-size:.98rem;}
.adj-done{border:none;border-radius:999px;padding:7px 16px;font:700 .85rem var(--ios-font);background:rgba(255,226,166,.95);color:#2a1d0c;}
.adj-seg{display:flex;padding:3px;border-radius:14px;background:rgba(255,255,255,.1);margin-bottom:12px;}
.adj-seg button{flex:1;border:none;background:none;color:inherit;padding:8px 0;border-radius:11px;font:600 .82rem var(--ios-font);transition:all .3s var(--spring);}
.adj-seg button.on{background:rgba(255,255,255,.22);box-shadow:0 2px 8px rgba(0,0,0,.3);}
.adj-row{display:flex;align-items:center;gap:10px;margin:8px 0;}
.adj-row label{width:64px;font-size:.78rem;opacity:.75;flex-shrink:0;}
.adj-row input[type=range]{flex:1;accent-color:#e7c583;min-width:0;height:28px;}
.adj-row output{width:54px;text-align:right;font-size:.78rem;font-variant-numeric:tabular-nums;opacity:.85;}
.adj-step{width:38px;height:38px;border-radius:50%;border:1px solid var(--g-line);background:rgba(255,255,255,.12);color:inherit;font-size:1.3rem;line-height:1;flex-shrink:0;}
.adj-step:active{background:rgba(255,255,255,.28);}
.adj-pad{display:grid;grid-template-columns:repeat(3,44px);grid-template-rows:repeat(2,40px);gap:6px;justify-content:center;margin-top:8px;}
.adj-pad button{border-radius:14px;border:1px solid var(--g-line);background:rgba(255,255,255,.12);color:inherit;font-size:1.05rem;}
.adj-pad button:active{background:rgba(255,255,255,.28);}
.adj-pad .u{grid-column:2;grid-row:1}.adj-pad .l{grid-column:1;grid-row:2}.adj-pad .d{grid-column:2;grid-row:2}.adj-pad .r{grid-column:3;grid-row:2}
.adj-reset{display:block;margin:10px auto 0;border:none;background:none;color:#e7c583;font:600 .82rem var(--ios-font);}
.adj-tip{font-size:.72rem;opacity:.65;text-align:center;margin-top:6px;}


.sf{display:inline-block;vertical-align:-.2em;flex-shrink:0;}
.btn:has(.sf),.admin-tab-btn:has(.sf),.ed-img-btn:has(.sf),.ed-tag-btn:has(.sf){display:inline-flex;align-items:center;justify-content:center;gap:6px;}
.ed-tools button .sf{width:16px;height:16px;}
.blk-tools button .sf,.blk-tools button svg{width:17px;height:17px;}
.blk-ov-anchor{z-index:30!important;}
.blk-item,.blk-ov{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.blk-ov.editing:not(.blk-sel){touch-action:manipulation;}
.blk-item.blk-sel,.blk-ov.editing.blk-sel{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.blk-sel.dragging{filter:drop-shadow(0 18px 26px rgba(0,0,0,.55));opacity:.94;}
.blk-placed{animation:blkPlaced .7s var(--spring);}
@keyframes blkPlaced{0%{filter:none}35%{filter:brightness(1.3) drop-shadow(0 0 20px rgba(255,226,166,.85))}100%{filter:none}}
.adj-panel.fade{opacity:0;pointer-events:none;transition:opacity .15s;}
.adj-pad .sf{width:18px;height:18px;}
.adj-badge{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 72px);transform:translateX(-50%);z-index:10001;padding:8px 16px;border-radius:999px;font:700 .85rem var(--ios-font);color:#f6ecdd;background:var(--g-fill2);-webkit-backdrop-filter:var(--g-blur);backdrop-filter:var(--g-blur);border:1px solid var(--g-line);box-shadow:var(--g-spec);opacity:0;pointer-events:none;transition:opacity .2s;white-space:nowrap;}
.adj-badge.show{opacity:1;}


:root{--ios-font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",system-ui,sans-serif}
html:root{--serif:var(--ios-font)}
body,body *{font-family:var(--ios-font)!important}
h1,h2,h3,h4{font-weight:700!important;letter-spacing:-.022em!important}
.btn,.chip{border-radius:999px!important;font-weight:600!important;letter-spacing:0!important}
.pcard,.cat-card,.gallery figure,.orc,.field-group input,.field-group textarea{border-radius:24px!important}
.pcard,.cat-card,.orc{box-shadow:0 10px 32px rgba(0,0,0,.3),inset 0 .5px 0 rgba(255,255,255,.18)!important;border:.5px solid rgba(255,255,255,.14)!important}
#siteNav{-webkit-backdrop-filter:blur(30px) saturate(190%);backdrop-filter:blur(30px) saturate(190%);background:rgba(28,22,18,.5)!important;border-bottom:.5px solid rgba(255,255,255,.14)!important}
@keyframes fxa-fade{from{opacity:0}}@keyframes fxa-up{from{opacity:0;transform:translateY(40px)}}@keyframes fxa-down{from{opacity:0;transform:translateY(-40px)}}
@keyframes fxa-left{from{opacity:0;transform:translateX(-50px)}}@keyframes fxa-right{from{opacity:0;transform:translateX(50px)}}
@keyframes fxa-zoom{from{opacity:0;transform:scale(.6)}}@keyframes fxa-flip{from{opacity:0;transform:perspective(600px) rotateY(80deg)}}
@keyframes fxa-bounce{0%,100%{transform:none}40%{transform:translateY(-16px)}60%{transform:translateY(-6px)}}
@keyframes fxa-pulse{50%{transform:scale(1.07)}}@keyframes fxa-float{50%{transform:translateY(-10px)}}
@keyframes fxa-shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
@keyframes fxa-glow{50%{filter:drop-shadow(0 0 14px #f4d58d)}}@keyframes fxa-spin{to{transform:rotate(360deg)}}
@keyframes fxa-swing{20%{transform:rotate(14deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(6deg)}80%{transform:rotate(-4deg)}100%{transform:none}}
@keyframes fxa-tada{0%,100%{transform:none}10%,20%{transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}}
@keyframes fxa-wobble{15%{transform:translateX(-14px) rotate(-5deg)}30%{transform:translateX(10px) rotate(3deg)}45%{transform:translateX(-8px) rotate(-3deg)}60%{transform:translateX(5px) rotate(2deg)}75%{transform:translateX(-3px) rotate(-1deg)}100%{transform:none}}
@keyframes fxa-jello{22%{transform:skewX(-12deg) skewY(-12deg)}33%{transform:skewX(6deg) skewY(6deg)}44%{transform:skewX(-3deg) skewY(-3deg)}55%{transform:skewX(1.5deg) skewY(1.5deg)}100%{transform:none}}
@keyframes fxa-heartbeat{14%{transform:scale(1.18)}28%{transform:none}42%{transform:scale(1.18)}70%{transform:none}}
@keyframes fxa-rubber{30%{transform:scale(1.25,.75)}40%{transform:scale(.75,1.25)}50%{transform:scale(1.15,.85)}65%{transform:scale(.95,1.05)}75%{transform:scale(1.05,.95)}100%{transform:none}}
@keyframes fxa-blink{50%{opacity:.15}}
@keyframes fxa-rotatein{from{opacity:0;transform:rotate(-200deg) scale(.4)}}
@keyframes fxa-blurin{from{opacity:0;filter:blur(18px)}}
@keyframes fxa-dropin{0%{opacity:0;transform:translateY(-120px)}60%{opacity:1;transform:translateY(14px)}80%{transform:translateY(-6px)}100%{transform:none}}
@keyframes fxa-breathe{50%{transform:scale(1.04);opacity:.85}}
@keyframes fxa-sway{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
body.admin-on #fxs-root{display:none!important}
#fxs-root{position:absolute;left:0;top:0;width:100%;pointer-events:none;overflow:hidden}
.fxs-r{position:absolute;pointer-events:none}
#fxs-btn{display:none;position:fixed;left:14px;bottom:86px;z-index:9990;align-items:center;gap:7px;padding:11px 16px;border-radius:999px;border:.5px solid rgba(255,255,255,.28);background:rgba(44,36,30,.55);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);color:#fff;font-weight:600;font-size:.9rem;box-shadow:0 8px 28px rgba(0,0,0,.4)}
body.editmode-on #fxs-btn{display:flex}body:not(.editmode-on) #fxs-sheet,body:not(.editmode-on) #fxs-snip,body:not(.editmode-on) #fxs-bar{display:none!important}
.fxs-glass{background:rgba(38,31,26,.74);-webkit-backdrop-filter:blur(36px) saturate(190%);backdrop-filter:blur(36px) saturate(190%);border:.5px solid rgba(255,255,255,.2);color:#fff}
#fxs-sheet{position:fixed;left:50%;bottom:0;width:min(560px,100vw);max-height:64vh;overflow:auto;z-index:9991;border-radius:28px 28px 0 0;padding:10px 16px calc(26px + env(safe-area-inset-bottom));transform:translate(-50%,110%);transition:transform .45s cubic-bezier(.32,.72,0,1)}
#fxs-sheet.open{transform:translate(-50%,0)}
.fxs-grab{width:38px;height:5px;border-radius:9px;background:rgba(255,255,255,.3);margin:0 auto 12px}
.fxs-seg{display:flex;background:rgba(120,120,128,.32);border-radius:10px;padding:2px;margin-bottom:14px}
.fxs-seg button{flex:1;border:0;background:none;color:#fff;padding:8px 4px;border-radius:8px;font-weight:600;font-size:.85rem}.fxs-seg button.on{background:rgba(255,255,255,.24)}
.fxs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.fxs-grid button,.fxs-b,#fxs-bar button{border:0;border-radius:14px;padding:12px 8px;background:rgba(120,120,128,.3);color:#fff;font-weight:600;font-size:.82rem}
.fxs-grid button.on,.fxs-b.p{background:#0a84ff}.fxs-b.d,#fxs-bar .x{background:rgba(255,69,58,.85)}
.fxs-ch{border-radius:50%!important;height:36px;padding:0!important;border:2px solid transparent!important}.fxs-ch.on{border-color:#fff!important}
.fxs-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;font-size:.88rem}
.fxs-row input[type=range]{flex:1;accent-color:#0a84ff}.fxs-row input[type=color]{width:46px;height:32px;border:0;background:none;padding:0}
.fxs-sw{-webkit-appearance:none;appearance:none;width:51px;height:31px;border-radius:99px;background:rgba(120,120,128,.4);position:relative;transition:.25s;flex:none}
.fxs-sw:checked{background:#30d158}.fxs-sw:before{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;transition:.25s;box-shadow:0 2px 5px rgba(0,0,0,.3)}.fxs-sw:checked:before{transform:translateX(20px)}
.fxs-h{font-size:.78rem;opacity:.7;margin:4px 2px 10px;line-height:1.4}.fxs-dot{display:inline-block;width:13px;height:13px;border-radius:50%;margin-right:6px;vertical-align:-2px}
#fxs-snip{display:none;position:fixed;inset:0;z-index:9992;cursor:crosshair;touch-action:none}
#fxs-rect{position:fixed;border:2px dashed #fff;background:rgba(10,132,255,.22);border-radius:6px;display:none;box-shadow:0 0 0 9999px rgba(0,0,0,.4)}
#fxs-bar{display:none;position:fixed;top:max(10px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:9993;padding:8px;border-radius:22px;gap:6px;max-width:96vw;flex-wrap:wrap;justify-content:center}
.fxs-pick{outline:2px dashed #0a84ff!important;outline-offset:2px}


.mode-switch{display:flex;gap:3px;flex-wrap:wrap;padding:4px;background:rgba(120,120,128,.28)!important;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-radius:999px!important;border:.5px solid rgba(255,255,255,.16);}
.mode-switch button{border:0;background:none;color:rgba(255,255,255,.72);padding:8px 14px;border-radius:999px!important;font-weight:600;font-size:.8rem;cursor:pointer;min-height:0;transition:transform .35s cubic-bezier(.32,.72,0,1),background .25s,color .25s;}
.mode-switch button:active{transform:scale(.93);}
.mode-switch button.on{background:linear-gradient(180deg,#f0d29a,#c9a15c)!important;color:#2a1c0b!important;box-shadow:0 4px 14px rgba(201,161,92,.4),inset 0 1px 0 rgba(255,255,255,.5);}
.role-seg{display:flex;flex-wrap:wrap;gap:5px;background:rgba(120,120,128,.28)!important;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border-radius:16px!important;padding:5px;margin-bottom:18px;border:.5px solid rgba(255,255,255,.16);}
.role-seg button{flex:1 1 auto;min-width:60px;border:0;background:none;color:rgba(255,255,255,.72);padding:9px 6px;border-radius:12px!important;font-weight:600;font-size:.76rem;cursor:pointer;min-height:0;transition:transform .35s cubic-bezier(.32,.72,0,1),background .25s,color .25s;}
.role-seg button:active{transform:scale(.93);}
.role-seg button.on{background:linear-gradient(180deg,#f0d29a,#c9a15c)!important;color:#2a1c0b!important;box-shadow:0 4px 14px rgba(201,161,92,.4),inset 0 1px 0 rgba(255,255,255,.5);}
.team-add{margin-bottom:26px;background:rgba(120,120,128,.16)!important;border:.5px solid rgba(255,255,255,.12)!important;border-radius:26px!important;padding:22px 24px;-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);}
.team-card{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;background:rgba(120,120,128,.16)!important;border:.5px solid rgba(255,255,255,.12)!important;border-radius:22px!important;padding:16px 18px;margin-bottom:12px;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:0 6px 20px rgba(0,0,0,.18);}
.team-card.frozen{opacity:.55;}
.team-card-actions{display:flex;gap:8px;flex-wrap:wrap;}
.team-card-actions .btn{padding:8px 14px;font-size:.78rem;}
.staff-hint{margin:2px 0 14px;font-size:.84rem;line-height:1.5;color:var(--text-dim);padding:10px 12px;border:1px dashed var(--hair);border-radius:12px;}
.staff-hint b{color:var(--gold-bright);}
.admin-hello{font-weight:700;color:var(--gold-bright);font-size:.95rem;white-space:nowrap;}


.customer-pill .cp-wallet{cursor:pointer}
.wl-hero{border-radius:28px;padding:26px 24px;background:linear-gradient(145deg,#efd394,#b98a3e);color:#2a1d0c;display:flex;flex-direction:column;gap:4px;box-shadow:0 14px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.5)}
.wl-hero span{font-size:.8rem;font-weight:700;opacity:.75}.wl-hero strong{font-size:2.6rem;font-weight:800;line-height:1.1}.wl-hero small{opacity:.7}
.wl-frozen{font-style:normal;background:#4a9be8;color:#fff;border-radius:999px;padding:3px 10px;font-size:.72rem;font-weight:700;align-self:flex-start;margin-top:4px}
.wl-tabs{display:flex;gap:4px;margin:18px 0;padding:3px;background:rgba(120,120,128,.28);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:.5px solid rgba(255,255,255,.14);border-radius:999px}
.wl-tabs button{flex:1;border:0;background:none;color:var(--text);padding:11px 4px;border-radius:999px;font-weight:700;font-size:.82rem}.wl-tabs button.on{background:rgba(255,255,255,.24)}
.wl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.wl-chips button{border:.5px solid rgba(255,255,255,.22);background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text);border-radius:999px;padding:9px 16px;font-weight:700}
.wl-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 2px;border-bottom:.5px solid rgba(255,255,255,.1)}.wl-row:last-child{border-bottom:0}
.wl-row b{font-size:1.02rem;white-space:nowrap}.wl-row b.in{color:#5ee38a}.wl-row b.out{color:#ff8a7a}


.fxs-top{position:sticky;top:-10px;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0 10px;background:rgba(38,31,26,.92)}.fxs-top span{display:flex;gap:6px}.fxs-top .fxs-b{padding:8px 14px}
.fxs-done{width:100%;margin-top:14px}
.fxs-hex{width:98px;background:rgba(120,120,128,.3)!important;border:1.5px solid transparent!important;border-radius:10px!important;color:#fff!important;padding:8px 10px!important;font-size:.9rem!important;text-transform:uppercase}.fxs-hex.bad{border-color:#ff453a!important}
html.fxs-solid body,html.fxs-solid #app,html.fxs-solid #app>div,html.fxs-solid #app section{background:transparent!important}


:root{color-scheme:dark;--ios-blue:#0a84ff;--ios-green:#30d158;--ios-red:#ff453a;--ios-fill:rgba(120,120,128,.24);--spring:cubic-bezier(.32,.72,0,1);--glass:rgba(38,31,26,.58);--rd:ui-rounded,"SF Pro Rounded",var(--ios-font);--radius-s:12px;--radius-m:18px;--radius-l:28px;--ease:cubic-bezier(.32,.72,0,1)}
html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%}body{font-size:17px;line-height:1.4;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(10,132,255,.45)}
h1{font-size:clamp(2.3rem,7vw,4.2rem)!important;font-weight:800!important;letter-spacing:-.034em!important;line-height:1.04!important}
h2{font-size:clamp(1.7rem,4.6vw,2.6rem)!important;letter-spacing:-.028em!important}h3{font-size:1.25rem!important}
.section-tag,.hero2-eyebrow,.blk-lbl,.po-tag,.pc-tag,.section-tag.teal-tag{text-transform:none!important;letter-spacing:0!important;font-weight:600!important;font-size:.82rem!important}
.price,.cart-count,.num-row .num,.orc-total,.orc-id,.df-row.total,.qty-control,.stat-card b{font-family:var(--rd)!important;font-weight:700!important}
/* Liquid Glass */
header.nav,header.nav.scrolled{top:max(8px,env(safe-area-inset-top))!important;left:10px!important;right:10px!important;border-radius:30px!important;padding:9px 12px 9px 18px!important;background:var(--glass)!important;-webkit-backdrop-filter:blur(40px) saturate(210%)!important;backdrop-filter:blur(40px) saturate(210%)!important;border:.5px solid rgba(255,255,255,.2)!important;box-shadow:0 12px 40px rgba(0,0,0,.35),inset 0 .5px 0 rgba(255,255,255,.35),inset 0 -.5px 0 rgba(255,255,255,.06)!important}
.drawer,.mobile-menu,.admin-modal,.closed-modal,.ios-sheet,.shape-panel,.ed-banner,.ed-sel-toolbar{-webkit-backdrop-filter:blur(44px) saturate(200%)!important;backdrop-filter:blur(44px) saturate(200%)!important;background:rgba(32,26,21,.72)!important;border:.5px solid rgba(255,255,255,.18)!important;box-shadow:0 20px 60px rgba(0,0,0,.5),inset 0 .5px 0 rgba(255,255,255,.3)!important}
.drawer{border-radius:32px 0 0 32px!important}.admin-modal,.closed-modal{border-radius:34px!important}.ios-sheet,.shape-panel{border-radius:34px 34px 0 0!important}.overlay,.ios-scrim,.admin-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.toast{top:calc(env(safe-area-inset-top) + 10px)!important;bottom:auto!important;transform:translateX(-50%) translateY(-170%)!important;background:#000!important;border:.5px solid rgba(255,255,255,.14)!important;padding:12px 22px!important;font-weight:600!important;box-shadow:0 10px 34px rgba(0,0,0,.55)!important;transition:transform .6s cubic-bezier(.34,1.5,.5,1)!important}.toast.show{transform:translateX(-50%) translateY(0)!important}
/* buttons, controls */
.btn,.add-btn,.cat-chip,.view-link,.ios-btn,.auth-toggle,.customer-pill{border-radius:999px!important;min-height:44px;transition:transform .35s var(--spring),background .25s,filter .25s!important}
.btn:active,.add-btn:active,.cat-chip:active,.ios-btn:active,.cart-btn:active,.hamburger:active,.pcard:active,.cat-card:active,.tab27 a:active{transform:scale(.95)!important}
.btn-gold{background:linear-gradient(180deg,#f0d29a,#c9a15c)!important;color:#2a1c0b!important;border:0!important;font-weight:700!important;box-shadow:0 8px 24px rgba(201,161,92,.35),inset 0 1px 0 rgba(255,255,255,.55)!important}
.btn-ghost,.btn-ghost-warm,.btn-teal,.cat-chip{background:rgba(255,255,255,.1)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:.5px solid rgba(255,255,255,.22)!important;color:var(--text)!important}
.cat-chip.on{background:var(--gold-bright)!important;color:#2a1c0b!important}
.cart-btn,.hamburger,.drawer-close,.back-home-btn,.cl-remove{border-radius:50%!important;background:rgba(255,255,255,.12)!important;border:.5px solid rgba(255,255,255,.2)!important}
.cart-count{background:var(--ios-red)!important;color:#fff!important;border-radius:999px!important;min-width:20px;box-shadow:0 2px 8px rgba(255,69,58,.5)}
input,select,textarea,.ios-input,.ios-select,.menu-search-box{background:var(--ios-fill)!important;border:0!important;border-radius:14px!important;font-size:17px!important;color:var(--text)!important}
.menu-search-box{border-radius:999px!important}input:focus,select:focus,textarea:focus{outline:0!important;box-shadow:0 0 0 3px rgba(10,132,255,.5)!important}
.ios-group,.summary-card,.why-card,.voucher-card,.cust-card,.admin-order-card,.stat-card,.chart-card,.res-card,.order-row-card,.quote{background:rgba(120,120,128,.16)!important;border:.5px solid rgba(255,255,255,.12)!important;border-radius:26px!important}
.ios-row{border-color:rgba(255,255,255,.1)!important}
.seg,.ios-seg,.admin-tabs{background:rgba(120,120,128,.28)!important;border-radius:14px!important;padding:3px!important;border:0!important}
.seg>*,.ios-seg>*,.admin-tab-btn{border-radius:11px!important}.admin-tab-btn.active,.seg .on,.ios-seg .on{background:rgba(255,255,255,.22)!important;box-shadow:0 2px 8px rgba(0,0,0,.25)}
.orc-status,.pc-tag,.pc-diet,.po-tag,.sample-pill,.admin-badge,.hero2-chip{border-radius:999px!important;font-weight:600!important;border:0!important}
.orc-status.delivered{background:rgba(48,209,88,.2)!important;color:#5ee38a!important}.orc-status.placed{background:rgba(10,132,255,.22)!important;color:#6cb6ff!important}.orc-status.preparing{background:rgba(255,159,10,.22)!important;color:#ffbd4a!important}
/* SF Symbols-style icons + app-icon squircles */
svg{stroke-linecap:round;stroke-linejoin:round}.btn svg,.nav svg,.cart-btn svg,.ios-row svg,.admin-tab-btn svg,.view-link svg,.tab27 svg,.drawer svg{stroke-width:1.8;overflow:visible}
.why-icon,.mode-ico,.shape-btn-icon,.closed-modal-icon,.check-circle,.edit-item-thumb{border-radius:22.4%!important;background:linear-gradient(160deg,rgba(255,255,255,.22),rgba(255,255,255,.05)),var(--gold)!important;color:#2a1c0b!important;box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.5)!important;border:0!important}
.check-circle{border-radius:50%!important;background:var(--ios-green)!important;color:#fff!important}
img{border-radius:inherit}.pcard,.cat-card,.gallery figure,.hero2-media-card,.map-box,.pdetail-img{border-radius:28px!important;overflow:hidden}
::-webkit-scrollbar{width:0;height:0}
/* floating tab bar (phones) */
.tab27{display:none;position:fixed;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:180;width:min(92vw,400px);padding:6px;border-radius:999px;justify-content:space-around;gap:2px;background:var(--glass);-webkit-backdrop-filter:blur(40px) saturate(210%);backdrop-filter:blur(40px) saturate(210%);border:.5px solid rgba(255,255,255,.22);box-shadow:0 14px 44px rgba(0,0,0,.45),inset 0 .5px 0 rgba(255,255,255,.35)}
.tab27 a{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 4px 6px;border-radius:999px;color:rgba(255,255,255,.72);font-size:.68rem;font-weight:600;transition:transform .35s var(--spring),background .25s}
.tab27 a.on{background:rgba(255,255,255,.16);color:var(--gold-bright)}.tab27 svg{width:24px;height:24px;fill:none;stroke:currentColor}
.tab27 i{position:absolute;top:2px;left:calc(50% + 6px);min-width:17px;height:17px;border-radius:9px;background:var(--ios-red);color:#fff;font:700 .65rem/17px var(--rd);text-align:center;font-style:normal;display:none;padding:0 4px}
@media(max-width:820px){body:not(.editmode-on):not(.admin-on) .tab27{display:flex}body:not(.editmode-on):not(.admin-on){padding-bottom:88px}.wa-float{bottom:96px!important}body:not(.admin-on) .cart-btn{display:none!important}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}


#fxw{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--a) 35%,#120d09),#0c0806 70%);animation:fxwIn .5s ease both}
#fxw.out{animation:fxwOut .5s ease both}
#fxw canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fxw-card{position:relative;text-align:center;max-width:420px;padding:34px 26px;border-radius:34px;background:rgba(38,31,26,.6);-webkit-backdrop-filter:blur(30px) saturate(190%);backdrop-filter:blur(30px) saturate(190%);border:.5px solid rgba(255,255,255,.25);box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 90px color-mix(in srgb,var(--a) 40%,transparent);animation:fxwPop .8s cubic-bezier(.34,1.5,.5,1) both}
.fxw-mono{position:relative;width:92px;height:92px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:800 2.4rem ui-rounded,system-ui,sans-serif;color:#22160a;background:linear-gradient(145deg,var(--a),var(--b))}
.fxw-mono:before,.fxw-mono:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--a);animation:fxwRing 2s ease-out infinite}.fxw-mono:after{animation-delay:1s;border-color:var(--c)}
.fxw-tag{display:inline-block;padding:5px 14px;border-radius:999px;font-weight:700;font-size:.72rem;letter-spacing:.14em;color:#22160a;background:linear-gradient(90deg,var(--a),var(--c))}
.fxw-t{margin:14px 0 4px;font-size:1.05rem;font-weight:600;color:rgba(255,255,255,.85)}
.fxw-n{margin:0 0 10px;font-size:2.3rem;font-weight:800;line-height:1.1;background:linear-gradient(90deg,var(--a),var(--b),var(--c),var(--a));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxwShine 3s linear infinite}
.fxw-s{color:rgba(255,255,255,.72);font-size:.95rem;margin:0 0 20px}
.fxw-go{border:0;border-radius:999px;padding:13px 34px;font-weight:700;font-size:1rem;color:#22160a;background:linear-gradient(90deg,var(--a),var(--c));box-shadow:0 8px 26px color-mix(in srgb,var(--a) 50%,transparent)}
@keyframes fxwIn{from{opacity:0}}@keyframes fxwOut{to{opacity:0}}@keyframes fxwPop{from{opacity:0;transform:scale(.6) translateY(40px)}}
@keyframes fxwRing{from{transform:scale(1);opacity:.9}to{transform:scale(1.7);opacity:0}}@keyframes fxwShine{to{background-position:300% 0}}
.dc-panel{flex-basis:100%;margin-top:6px;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.06);border:.5px solid rgba(255,255,255,.12)}
.dc-panel .dcr{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:.86rem}.dc-panel .dcr>span:first-child{min-width:78px;color:var(--text-dim)}
.dc-panel input[type=range]{flex:1;accent-color:#0a84ff}.dc-panel input[type=number],.dc-panel select{width:110px;padding:8px 10px;border-radius:12px}
.pf-hero{display:flex;gap:16px;align-items:center;padding:20px;border-radius:28px;margin-bottom:16px;background:linear-gradient(145deg,#efd394,#b98a3e);color:#2a1d0c}.pf-av{width:64px;height:64px;border-radius:50%;background:#2a1d0c;color:#f6dc9a;display:flex;align-items:center;justify-content:center;font:800 1.8rem ui-rounded,system-ui}.pf-stars{margin-top:4px;letter-spacing:2px}
.pf-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.pf-card{padding:18px 20px;margin-bottom:14px}.pf-card h3{margin-bottom:8px}.pf-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:.5px solid rgba(255,255,255,.1)}.pf-row:last-of-type{border:0}.pf-row span{color:var(--text-dim)}.pf-row b{text-align:right}
.dc-prev{font-size:.84rem;color:var(--gold-bright);font-weight:600;margin:8px 0 10px}

.inc-s{padding:12px;border-radius:16px;background:rgba(255,255,255,.06);margin:10px 0}.inc-s .g{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.inc-s label{font-size:.72rem;opacity:.7;display:block;margin:6px 0 3px}.inc-s input,.inc-s select{width:100%;padding:9px 10px;border-radius:12px;box-sizing:border-box}.inc-x{float:right;border:0;background:rgba(255,80,80,.2);color:#ff8d8d;border-radius:12px;padding:5px 12px}

#fxw2{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px;animation:fxwIn .5s ease both;overflow:hidden}
#fxw2.out{animation:fxwOut .5s ease both}#fxw2 canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fx2-card{position:relative;text-align:center;width:min(400px,100%);padding:64px 24px 26px;border-radius:34px;background:rgba(24,20,30,.62);-webkit-backdrop-filter:blur(30px) saturate(190%);backdrop-filter:blur(30px) saturate(190%);border:1px solid color-mix(in srgb,var(--a) 55%,transparent);box-shadow:0 26px 90px rgba(0,0,0,.6),0 0 100px color-mix(in srgb,var(--a) 35%,transparent);overflow:hidden}
.fx2-em{position:absolute;left:50%;top:-4px;width:100px;height:100px;margin-left:-50px;transform:translateY(-38%);display:flex;align-items:center;justify-content:center;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--a) 45%,#1b1410),#120d09);border:2px solid var(--a);box-shadow:0 0 40px color-mix(in srgb,var(--a) 60%,transparent)}
.fx2-em svg{width:58px;height:58px;position:relative;z-index:1}.fx2-em:before{content:"";position:absolute;inset:-24px;border-radius:50%;z-index:-1}
.fx2-bd{display:inline-block;margin-top:6px;padding:5px 16px;border-radius:999px;font-weight:800;font-size:.72rem;letter-spacing:.2em;color:#1a1208;background:linear-gradient(90deg,var(--a),var(--c),var(--b))}
.fx2-g{margin:14px 0 2px;font-size:.85rem;letter-spacing:.08em;color:rgba(255,255,255,.65);text-transform:uppercase}.fx2-t{margin:0;font-size:1.1rem;font-weight:600;color:rgba(255,255,255,.9)}
.fx2-n{margin:6px 0 10px;font-size:2.5rem;font-weight:800;line-height:1.08;background:linear-gradient(90deg,var(--a),var(--c),var(--b),var(--a));background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:fxwShine 3s linear infinite}
.fx2-s{color:rgba(255,255,255,.75);font-size:.95rem;margin:0 0 14px}.fx2-ch{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.fx2-ch span{padding:6px 12px;border-radius:999px;font-size:.78rem;font-weight:600;color:var(--c);background:color-mix(in srgb,var(--a) 16%,transparent);border:.5px solid color-mix(in srgb,var(--a) 50%,transparent);opacity:0;animation:fx2up .5s ease forwards}
.fx2-ch span:nth-child(1){animation-delay:.9s}.fx2-ch span:nth-child(2){animation-delay:1.1s}.fx2-ch span:nth-child(3){animation-delay:1.3s}
.fx2-go{border:0;border-radius:999px;padding:13px 34px;font-weight:800;font-size:1rem;color:#1a1208;background:linear-gradient(90deg,var(--a),var(--c));box-shadow:0 8px 28px color-mix(in srgb,var(--a) 55%,transparent)}
.fx2-bar{position:absolute;left:0;bottom:0;height:4px;width:100%;background:linear-gradient(90deg,var(--a),var(--b));transform-origin:left;animation:fx2bar 6s linear forwards}
._rx0 .fx2-card{animation:fx2x0 1s cubic-bezier(.34,1.56,.5,1) both}._rx0 .fx2-em:before{background:conic-gradient(from 0deg,transparent,var(--a),transparent,var(--b),transparent,var(--a),transparent);filter:blur(7px);opacity:.75;animation:fx2spin 5s linear infinite}
.R-admin .fx2-card{animation:fx2adm .8s cubic-bezier(.2,.9,.3,1) both;border-radius:22px;background:rgba(10,14,32,.7)}.R-admin .fx2-em{border-radius:26px}.R-admin .fx2-em:before{border-radius:34px;border:2px solid var(--b);inset:-10px;animation:fx2ring 1.8s ease-out infinite}
.R-admin .fx2-card:after{content:"";position:absolute;left:0;right:0;height:60px;top:-60px;background:linear-gradient(transparent,color-mix(in srgb,var(--b) 30%,transparent),transparent);animation:fx2scan 2.6s linear infinite;pointer-events:none}
.R-restaurant .fx2-card{animation:fx2rest 1s cubic-bezier(.3,1.5,.5,1) both;border-radius:12px 12px 34px 34px;background:rgba(30,22,14,.66)}.R-restaurant .fx2-card:before{content:"";position:absolute;left:0;right:0;top:0;height:16px;background:repeating-linear-gradient(90deg,var(--a) 0 22px,var(--c) 22px 44px)}
.R-restaurant .fx2-em{border-radius:50%}.R-restaurant .fx2-em:before{inset:-8px;border-radius:50%;border:2px dashed var(--b);animation:fx2spin 8s linear infinite}
#fxw2t{position:fixed;left:50%;top:max(14px,env(safe-area-inset-top));transform:translateX(-50%);z-index:100000;display:flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:999px;background:rgba(30,25,20,.82);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:.5px solid rgba(255,255,255,.22);box-shadow:0 12px 36px rgba(0,0,0,.4);color:#fff;animation:fx2drop .5s cubic-bezier(.3,1.4,.5,1) both;max-width:92vw}
#fxw2t.out{animation:fx2gone .4s ease both}#fxw2t .fx-ti{width:42px;height:42px;border-radius:50%;background:var(--a);display:flex;align-items:center;justify-content:center;flex:none}#fxw2t .fx-ti svg{width:24px;height:24px}#fxw2t b{display:block;font-size:.98rem}#fxw2t span{font-size:.8rem;opacity:.75}
@keyframes fx2up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fx2bar{to{transform:scaleX(0)}}@keyframes fx2spin{to{transform:rotate(360deg)}}@keyframes fx2ring{from{transform:scale(.9);opacity:1}to{transform:scale(1.5);opacity:0}}@keyframes fx2scan{to{top:110%}}
@keyframes fx2x0{from{opacity:0;transform:scale(.5) rotate(-6deg)}}@keyframes fx2adm{from{opacity:0;transform:translateY(90px) scaleY(.8)}}@keyframes fx2rest{from{opacity:0;transform:translateY(-120px)}}@keyframes fx2drop{from{opacity:0;transform:translate(-50%,-70px)}}@keyframes fx2gone{to{opacity:0;transform:translate(-50%,-50px)}}


#m3-cv{position:fixed;inset:0;width:100%;height:100%;z-index:40;pointer-events:none}
.m3-h{position:absolute;z-index:41;pointer-events:none;border-radius:16px}
body.editmode-on .m3-h{pointer-events:auto;touch-action:none;outline:1px dashed rgba(255,255,255,.35)}
body.editmode-on .m3-h.sel{outline:2px solid #f6c463;box-shadow:0 0 0 4px rgba(246,196,99,.2)}
body.admin-on .m3-h,body.admin-on #m3-cv{display:none!important}
#m3-btn{display:none;position:fixed;left:14px;bottom:134px;z-index:9990;align-items:center;gap:7px;padding:11px 16px;border-radius:999px;border:.5px solid rgba(255,255,255,.28);background:rgba(30,25,20,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;font:600 .9rem system-ui,sans-serif}
body.editmode-on #m3-btn{display:flex}body:not(.editmode-on) #m3-sheet{display:none!important}
#m3-sheet{position:fixed;left:50%;bottom:0;width:min(560px,100vw);max-height:62vh;overflow:auto;z-index:9994;border-radius:28px 28px 0 0;padding:12px 16px calc(24px + env(safe-area-inset-bottom));background:rgba(32,26,22,.86);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border:.5px solid rgba(255,255,255,.18);color:#fff;transform:translate(-50%,110%);transition:transform .35s cubic-bezier(.3,1,.4,1);box-sizing:border-box}
#m3-sheet.open{transform:translate(-50%,0)}
.m3-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.m3-top span{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.m3-b{border:0;border-radius:14px;padding:9px 13px;font:600 .85rem system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.14)}.m3-b.on,.m3-b.p{background:#0a84ff}.m3-b.d{background:rgba(255,69,58,.35)}
.m3-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.m3-g.c4{grid-template-columns:repeat(4,1fr)}.m3-g.c2{grid-template-columns:1fr 1fr}
.m3-p{font-size:.82rem;opacity:.75;margin:4px 0 8px}
.m3-r{display:flex;align-items:center;gap:10px;margin:9px 0;font-size:.85rem}.m3-r>label{min-width:104px}.m3-r input[type=range]{flex:1;accent-color:#0a84ff}.m3-r output{min-width:48px;text-align:right;opacity:.85}
.m3-hex{width:92px;padding:8px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.3);color:#fff;text-transform:uppercase}.m3-hex.bad{border-color:#ff453a}


.bt-el{position:absolute;z-index:42;display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bt-el.prev{position:relative;z-index:1}.bt-in{width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box;padding:4px 10%;line-height:1.15;overflow:hidden;word-break:break-word}
body.editmode-on .bt-el:not(.prev){touch-action:none;outline:1.5px dashed rgba(255,255,255,.55);outline-offset:3px}body.admin-on .bt-el:not(.prev){display:none!important}
@keyframes btPulse{50%{transform:scale(1.07)}}@keyframes btFloat{50%{transform:translateY(-9px)}}@keyframes btShake{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes btSwing{50%{transform:rotate(6deg)}0%,100%{transform:rotate(-6deg)}}
#bt-btn{display:none;position:fixed;left:14px;bottom:182px;z-index:9990;align-items:center;gap:7px;padding:11px 16px;border-radius:999px;border:.5px solid rgba(255,255,255,.28);background:rgba(30,25,20,.7);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#fff;font:600 .9rem system-ui,sans-serif}body.editmode-on #bt-btn{display:flex}
#bt-page{position:fixed;inset:0;z-index:9997;display:none;flex-direction:column;background:rgba(22,17,14,.97);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);color:#fff;font-family:system-ui,sans-serif}#bt-page.open{display:flex}body:not(.editmode-on) #bt-page{display:none!important}
.bt-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:max(12px,env(safe-area-inset-top)) 14px 10px}.bt-hd b{font-size:1.05rem}
.bt-x,.bt-ok{border:0;border-radius:999px;padding:10px 18px;font:700 .9rem system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.14)}.bt-ok{background:#0a84ff}
.bt-pv{margin:0 14px;min-height:150px;max-height:32vh;overflow:auto;border-radius:22px;display:flex;align-items:center;justify-content:center;padding:18px;background:repeating-conic-gradient(#2a2521 0 25%,#231f1b 0 50%) 0 0/22px 22px;border:.5px solid rgba(255,255,255,.14)}
.bt-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 14px 6px}.bt-tabs button{flex:none;border:0;border-radius:999px;padding:9px 16px;font:600 .85rem system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.1)}.bt-tabs button.on{background:#0a84ff}
.bt-body{flex:1;overflow:auto;padding:6px 14px calc(30px + env(safe-area-inset-bottom))}
.bt-r{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:.86rem}.bt-r>label{min-width:96px;opacity:.85}.bt-r input[type=range]{flex:1;accent-color:#0a84ff}.bt-r output{min-width:52px;text-align:right;opacity:.85}
.bt-r input[type=text],.bt-r select,.bt-in2{flex:1;padding:11px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.35);color:#fff;font-size:.95rem;box-sizing:border-box;min-width:0}
.bt-hex{width:96px;padding:9px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(0,0,0,.35);color:#fff;text-transform:uppercase}.bt-hex.bad{border-color:#ff453a}
.bt-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:8px 0}.bt-c{border:0;border-radius:14px;padding:11px 8px;font:600 .82rem system-ui,sans-serif;color:#fff;background:rgba(255,255,255,.12)}.bt-c.on{background:#0a84ff}.bt-c.d{background:rgba(255,69,58,.35)}
.bt-sg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.bt-sb{border:2px solid transparent;border-radius:16px;padding:10px 6px;background:rgba(255,255,255,.08);color:#fff;display:flex;flex-direction:column;align-items:center;gap:7px;font:600 .74rem system-ui,sans-serif}.bt-sb.on{border-color:#0a84ff;background:rgba(10,132,255,.18)}.bt-sb span{display:block}
.bt-sw{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.bt-sw i{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.35)}.bt-h{font-size:.8rem;opacity:.7;margin:6px 0}


.orc-status.out{color:#7fd8ff!important;border:1px solid #7fd8ff!important}.status-chip.out{color:#7fd8ff;border-color:#7fd8ff}.stbtn.out{color:#7fd8ff}.stbtn.out.on{background:#7fd8ff;color:#0b2a36}
.cf2{max-width:560px;margin:0 auto;padding:0 2px 44px}
.cf2-hero{text-align:center;position:relative;padding:6px 0 4px}.cf2-hero h1{font-size:clamp(2rem,8vw,2.7rem);margin:8px 0 8px;line-height:1.1}.cf2-lead{color:var(--text-dim);margin:0 auto;max-width:440px}
.cf2-ok{width:108px;height:108px;margin:0 auto 12px;border-radius:50%;background:radial-gradient(circle at 30% 25%,#5ee68a,#1fb35a);display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 14px 40px rgba(46,204,113,.35);animation:cf2pop .7s cubic-bezier(.3,1.6,.5,1) both}
.cf2-ok:before,.cf2-ok:after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #2ecc71;animation:cf2r 2.4s ease-out infinite}.cf2-ok:after{animation-delay:1.2s}
.cf2-ok svg{width:56px;height:56px;position:relative}.cf2-ok path{stroke-dasharray:30;stroke-dashoffset:30;animation:cf2d .7s .35s ease forwards}
.cf2-cf{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cf2-cf i{position:absolute;top:-10px;left:var(--x);width:8px;height:13px;border-radius:2px;background:var(--c);opacity:0;animation:cf2f 2s var(--d) ease-out both}
.cf2-live{margin-top:22px;padding:18px 16px 14px;border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.02));border:1px solid rgba(246,196,99,.28);box-shadow:0 18px 50px rgba(0,0,0,.35)}
.cf2-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.cf2-snd{border:0;border-radius:999px;padding:7px 12px;font:600 .74rem system-ui,sans-serif;color:var(--text-dim);background:rgba(255,255,255,.08)}
.cf2-eta{text-align:center;margin:16px 0 4px}.cf2-eta small{display:block;color:var(--text-faint);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.cf2-eta strong{display:block;font-family:var(--serif);font-size:2.3rem;line-height:1.15;color:var(--gold-bright)}
.cf2-trk{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);margin:18px 0 8px;--p:0%}
.cf2-line{position:absolute;left:calc(100% / var(--n) / 2);right:calc(100% / var(--n) / 2);top:22px;height:4px;border-radius:4px;background:rgba(255,255,255,.12)}.cf2-line i{display:block;height:100%;width:var(--p);border-radius:4px;background:linear-gradient(90deg,#f6c463,#2ecc71);transition:width .9s ease}
.cf2-st{position:relative;z-index:1;text-align:center}.cf2-dot{width:46px;height:46px;margin:0 auto 8px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#2a221b;border:2px solid rgba(255,255,255,.15);color:var(--text-faint);transition:all .4s}.cf2-dot svg{width:22px;height:22px}
.cf2-st b{display:block;font-size:.74rem;font-weight:600;color:var(--text-faint);line-height:1.2}
.cf2-st.done .cf2-dot{background:#2ecc71;border-color:#2ecc71;color:#0d2415}.cf2-st.done b{color:var(--text)}
.cf2-st.now .cf2-dot{background:#f6c463;border-color:#f6c463;color:#2a1d0c;animation:cf2p 1.6s ease-in-out infinite}.cf2-st.now b{color:var(--gold-bright)}
.cf2-trk.cx .cf2-line i{background:#e05a4f}.cf2-msg{text-align:center;margin:10px 0 2px;color:var(--text-dim);font-size:.92rem}.cf2-note{text-align:center;margin:6px 0 0;color:var(--text-faint);font-size:.76rem}
.cf2-times{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.cf2-times div{padding:14px;border-radius:22px;background:rgba(255,255,255,.05);border:.5px solid rgba(255,255,255,.12)}.cf2-times small{display:flex;gap:6px;align-items:center;color:var(--text-faint);font-size:.74rem}.cf2-times small svg{width:15px;height:15px}.cf2-times strong{display:block;margin-top:6px;font-size:1.05rem;color:var(--gold-bright)}.cf2-times em{font-style:normal;font-size:.7rem;opacity:.7}
.cf2-sum{margin:0 0 14px;border-radius:24px;background:rgba(255,255,255,.04);border:.5px solid rgba(255,255,255,.12);overflow:hidden}.cf2-sum summary{cursor:pointer;list-style:none;padding:16px 18px;display:flex;justify-content:space-between;gap:10px;font-weight:700}.cf2-sum summary::-webkit-details-marker{display:none}.cf2-sum summary span{color:var(--gold-bright);font-weight:600;font-size:.88rem}.cf2-sum .order-card{margin:0;border:0;border-top:.5px solid rgba(255,255,255,.1);border-radius:0;background:transparent}
@keyframes cf2pop{from{transform:scale(.3);opacity:0}}@keyframes cf2r{from{transform:scale(1);opacity:.8}to{transform:scale(1.7);opacity:0}}@keyframes cf2d{to{stroke-dashoffset:0}}@keyframes cf2f{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:0;transform:translateY(190px) rotate(300deg)}}@keyframes cf2p{50%{box-shadow:0 0 0 9px rgba(246,196,99,.2)}}


/* clearer keyboard focus + comfortable tap size */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid var(--gold-bright,#e7c583);outline-offset:3px;}
@media(pointer:coarse){button,.btn,a.btn,select,input:not([type=checkbox]):not([type=radio]){min-height:44px;}}
/* cart count pops when it changes */
@keyframes cartBump{0%{transform:scale(1);}35%{transform:scale(1.45);}100%{transform:scale(1);}}
.cart-count.bump{animation:cartBump .45s cubic-bezier(.2,.9,.3,1.4);}
/* connection banner */
#netBanner{position:fixed;left:50%;top:calc(10px + env(safe-area-inset-top,0px));transform:translate(-50%,-140%);z-index:2147483000;padding:10px 18px;border-radius:999px;font:700 .86rem 'Manrope',sans-serif;background:#7a2c1c;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .35s cubic-bezier(.2,.9,.3,1.1);pointer-events:none;max-width:92vw;text-align:center;}
#netBanner.show{transform:translate(-50%,0);}
#netBanner.ok{background:#1f6b3f;}
.menu-search-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.menu-search-row .menu-search-box{flex:1 1 240px;}
.menu-sort{flex:0 0 auto;background:rgba(255,255,255,.08);color:var(--text);border:1px solid var(--line-strong);border-radius:999px;padding:11px 16px;font:600 .84rem 'Manrope',sans-serif;max-width:100%;}
.menu-sort option{color:#222;}
.menu-count{margin:2px 2px 14px;font-size:.84rem;color:var(--text-dim);}
#trackPill{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:900;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;cursor:pointer;border:1px solid rgba(255,240,205,.6);background:linear-gradient(180deg,#f3dba3,#c9a15c);color:#1a120a;font:700 .84rem 'Manrope',sans-serif;box-shadow:0 10px 28px rgba(0,0,0,.45);transition:all .35s cubic-bezier(.2,.9,.3,1.1);max-width:92vw;white-space:nowrap;}
#trackPill.show{opacity:1;transform:translate(-50%,0);pointer-events:auto;}
#trackPill .tp-dot{width:9px;height:9px;border-radius:50%;background:#1a120a;animation:tpPulse 1.4s ease-in-out infinite;}
@keyframes tpPulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.35;transform:scale(1.5);}}
/* hero: the second button was invisible (light text on a light hero) */
.hero2 .btn-ghost-warm{color:#2a1d14!important;background:rgba(42,29,20,.07)!important;border:1px solid rgba(42,29,20,.4)!important;font-weight:700;}
.hero2 .btn-ghost-warm:hover{background:rgba(61,92,58,.14)!important;border-color:#3d5c3a!important;}
/* top bar: links stay readable on the light hero */
header.nav{background:rgba(24,18,14,.78)!important;}
nav.links a{color:#e6d9c4!important;}
nav.links a:hover,nav.links a.active{color:#f3dba3!important;}
nav.links a.accent-link{color:#f3dba3!important;}
/* open / closed badge */
.hero2-open{display:inline-flex;align-items:center;gap:8px;margin:10px 0 0 10px;padding:8px 14px;border-radius:999px;font-size:.76rem;font-weight:700;letter-spacing:.02em;border:1px solid;vertical-align:middle;}
.hero2-open i{width:8px;height:8px;border-radius:50%;background:currentColor;}
.hero2-open.on{color:#1f5a34;background:rgba(31,107,63,.12);border-color:rgba(31,107,63,.4);}
.hero2-open.on i{animation:tpPulse 1.6s ease-in-out infinite;}
.hero2-open.off{color:#8a3220;background:rgba(138,50,32,.1);border-color:rgba(138,50,32,.38);}
/* order again + steps */
#homeExtrasWrap{padding-top:26px;}
.hx-again{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 22px;margin-bottom:16px;border-radius:22px;border:1px solid var(--gold);background:linear-gradient(135deg,rgba(201,161,92,.16),rgba(201,161,92,.04));}
.hx-again strong{display:block;font-size:1.15rem;margin-top:2px;}
.hx-again p{margin-top:4px;color:var(--text-dim);font-size:.9rem;}
.hx-kicker{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-bright);font-weight:800;}
.hx-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.hx-step{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:18px;border:1px solid var(--line-strong);background:rgba(255,255,255,.04);}
.hx-step b{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#f3dba3,#c9a15c);color:#1a120a;font-weight:800;}
.hx-step strong{display:block;font-size:.98rem;}
.hx-step span{display:block;margin-top:2px;font-size:.82rem;color:var(--text-dim);line-height:1.4;}
@media(max-width:760px){.hx-steps{grid-template-columns:1fr;}.hero2-open{margin:10px 0 0 0;}}


/* Luxe palette: gold is now reserved for signature moments (main buttons, cart, stars, intro).
   Ivory carries numbers/prices/links/icons. Bordeaux carries tags, badges, steps and accents. */
:root{
  --ivory:#f3e6cf; --ivory-dim:#d8c8ab;
  --bordeaux:#8a2f45; --bordeaux-deep:#5a1c2e; --rose:#e8b2bb;
  --hair:rgba(243,230,207,.22);
}
/* ivory: numbers, prices, links, icons */
body .cat-card .cc-price, body .view-link, body .price, body .num-row .num, body .stat-card .stat-num,
body .live-card .lc-num, body .rate-us-num, body .rate-word, body .voucher-code, body .orc-total,
body .pdetail .pair, body .pair-item small, body .mode-ico, body .info-item .ic, body .visit-row .vi,
body .hx-kicker, body .staff-hint b, body .admin-hello, body .dc-prev, body .wallet-row button,
body .back-home-btn:hover, body .mobile-menu .mm-home:hover, body .mobile-menu .mm-close:hover,
body .drawer-close:hover, body .cat-chip:hover, body .f-col a:hover, body .f-bottom a:hover,
body .footer-row a:hover, body .crumbs a:hover, body .auth-skip:hover, body .ios-link{color:var(--ivory);}
body .view-link{border-bottom-color:rgba(243,230,207,.35);}
body .view-link:hover{border-color:var(--ivory);}
body .btn-ghost:hover{background:rgba(243,230,207,.08);border-color:var(--ivory);}
body .mm-cart{border-color:rgba(243,230,207,.45);color:var(--ivory);}
/* bordeaux: tags, badges, step numbers, chips */
body .section-tag, body .hx-kicker{color:var(--rose);}
body .pc-best, body .pcard .pc-tag.best, body .cat-card .cc-count, body .po-tag, body .sample-pill,
body .status-chip, body .orc-status.placed, body .ed-tag-btn.best.on{
  background:linear-gradient(135deg,var(--bordeaux),var(--bordeaux-deep))!important;color:var(--ivory)!important;border:1px solid rgba(232,178,187,.35)!important;}
body .hx-step b{background:linear-gradient(160deg,var(--bordeaux),var(--bordeaux-deep));color:var(--ivory);box-shadow:0 0 0 1px rgba(232,178,187,.35);}
body .why-icon, body .mode-ico{background:linear-gradient(160deg,var(--bordeaux),var(--bordeaux-deep))!important;color:var(--ivory)!important;box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.18)!important;}
body .why-card{border-top-color:rgba(232,178,187,.5);}
body .ticker-track span::after{background:var(--bordeaux);box-shadow:0 0 0 1px rgba(232,178,187,.4);}
body .hl::after{background:linear-gradient(90deg,var(--bordeaux),var(--rose));}
body .band{background:linear-gradient(90deg,rgba(138,47,69,.16),transparent 65%);}
body .cat-chip.on, body .filter-chip.on, body .chip-opt.on, body .seg input:checked + span{
  background:linear-gradient(135deg,var(--bordeaux),var(--bordeaux-deep))!important;color:var(--ivory)!important;border-color:rgba(232,178,187,.5)!important;}
body .cat-chip{border-color:var(--line-strong);}
body .cat-chip:hover, body .cat-chip:hover{border-color:var(--rose);background:rgba(138,47,69,.18);}
body .field-group input:focus, body .field-group textarea:focus, body .field-group select:focus, body .menu-search-box:focus-within{border-color:var(--rose);box-shadow:0 0 0 3px rgba(232,178,187,.16);}
body .dish-row .dr-bar i{background:linear-gradient(90deg,var(--bordeaux),var(--rose));}
body .demo-creds{background:rgba(138,47,69,.12);}
body .pay-option{border-color:var(--rose);background:rgba(138,47,69,.14);}
body .pay-option .po-dot{border-color:var(--rose);} body .pay-option .po-dot::after{background:var(--rose);}
body .pin-btn.on{background:var(--bordeaux)!important;color:var(--ivory)!important;border-color:var(--rose)!important;}
body .rev-card.pinned{border-color:var(--rose);}
/* gold stays for: .btn-gold, .cart-count, .add-btn:hover, stars, nav underline, intro screen, toasts */


/* ===== LUXURY FINAL PASS: one palette (espresso + champagne gold), Cormorant headings, warm surfaces ===== */
:root{--ios-font:'Manrope',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--rd:'Manrope',-apple-system,system-ui,sans-serif;--lux-serif:'Cormorant Garamond','Playfair Display',Georgia,'Times New Roman',serif;--glass:rgba(24,18,13,.74);--ios-red:#b5502f;--ios-blue:#c9a15c}
html:root{--serif:var(--lux-serif)}
::selection{background:rgba(201,161,92,.45)!important}
:focus-visible{outline:2px solid var(--gold-bright);outline-offset:3px}
body:not(.admin-on):not(.editmode-on) h1,body:not(.admin-on):not(.editmode-on) h2,body:not(.admin-on):not(.editmode-on) h3,body:not(.admin-on):not(.editmode-on) h4{font-family:var(--lux-serif)!important;font-weight:500!important;letter-spacing:-.004em!important}
body:not(.admin-on):not(.editmode-on) h1,body:not(.admin-on):not(.editmode-on) .hero2-title{font-size:clamp(2.7rem,10vw,4.9rem)!important;line-height:1.02!important}
body:not(.admin-on):not(.editmode-on) h2{font-size:clamp(2.1rem,6.6vw,3.3rem)!important;line-height:1.05!important}
body:not(.admin-on):not(.editmode-on) h3{font-size:1.55rem!important;line-height:1.1!important}
/* hero: dark, candle-lit, same family as the rest of the page */
.hero2{--h2-cream:#1b1510;--h2-cream-2:#14100d;--h2-ink:#f1e8dc;--h2-ink-soft:#c2b4a0;--h2-line:rgba(231,197,131,.22);--h2-forest:#e7c583;--h2-forest-deep:#e7c583;--h2-forest-bright:#e7c583;--h2-sage:#8a6a34;
  background:radial-gradient(900px 540px at 90% -6%,rgba(201,161,92,.24),transparent 60%),radial-gradient(760px 460px at -6% 100%,rgba(122,46,58,.30),transparent 62%),linear-gradient(180deg,#1b1510 0%,#14100d 100%)}
.hero2::after{background:linear-gradient(180deg,transparent 0%,var(--bg) 100%)}
.hero2-blob{opacity:.22}.hb1{background:#7a2e3a}.hb2{background:#8a6a34}
.hero2-eyebrow{background:rgba(201,161,92,.1);border-color:rgba(231,197,131,.42);color:var(--gold-bright)}
.hero2-badge{background:rgba(24,18,13,.82);border:1px solid rgba(231,197,131,.38);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hero2-badge strong{color:var(--gold-bright)}
.hero2-chip{border-color:var(--gold)}
.hero2-media-card{box-shadow:0 34px 70px -24px rgba(0,0,0,.85),0 0 0 1px rgba(231,197,131,.4)!important}
.btn-ghost-warm{border:1px solid rgba(231,197,131,.5)!important;color:var(--gold-bright)!important;background:rgba(231,197,131,.06)!important}
.btn-ghost-warm:hover{background:rgba(231,197,131,.14)!important}
/* warm surfaces instead of iOS grey */
.ios-group,.summary-card,.why-card,.voucher-card,.cust-card,.admin-order-card,.stat-card,.chart-card,.res-card,.order-row-card,.quote{background:linear-gradient(160deg,rgba(45,34,25,.92),rgba(27,21,16,.94))!important;border:1px solid rgba(201,161,92,.22)!important;border-radius:22px!important}
input,select,textarea,.ios-input,.ios-select,.menu-search-box{background:rgba(241,232,220,.06)!important;border:1px solid rgba(231,197,131,.2)!important}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px rgba(231,197,131,.55)!important}
.seg,.ios-seg,.admin-tabs{background:rgba(241,232,220,.07)!important}
.btn-ghost,.btn-teal,.cat-chip{border:1px solid rgba(231,197,131,.28)!important}
header.nav,header.nav.scrolled,.tab27{border:1px solid rgba(231,197,131,.22)!important}
.drawer,.mobile-menu,.admin-modal,.closed-modal,.ios-sheet{background:rgba(24,18,13,.86)!important;border:1px solid rgba(231,197,131,.22)!important}
.cart-count,.tab27 i{background:linear-gradient(180deg,#f0d29a,#c9a15c)!important;color:#2a1c0b!important;box-shadow:0 2px 8px rgba(201,161,92,.45)!important}
.toast{background:#1b1510!important;border:1px solid rgba(231,197,131,.4)!important;color:var(--gold-bright)!important}
/* photo frames: rich placeholder while photos load, gold hairline, deeper colour */
.pcard .pc-imgwrap,.cat-card .cc-imgwrap{background:radial-gradient(circle at 30% 20%,#3a2a1c 0%,#1b1510 75%)}
.pcard .pc-imgwrap{border:1px solid rgba(231,197,131,.2);box-shadow:0 18px 40px -22px rgba(0,0,0,.9)}
.pcard .pc-imgwrap img,.cat-card .cc-imgwrap img{filter:saturate(1.08) contrast(1.05) brightness(.97)}
.cat-card{border:1px solid rgba(231,197,131,.2)!important}
/* hero buttons: Explore the menu + Reserve a table share one deep burgundy with champagne-gold trim */
.hero2 .hero2-ctas .btn-gold,.hero2 .hero2-ctas .btn-ghost-warm{background:linear-gradient(180deg,#7d2436 0%,#4a1220 100%)!important;color:#f7e6bd!important;border:1px solid rgba(231,197,131,.75)!important;font-weight:700!important;letter-spacing:.02em;box-shadow:0 12px 30px -10px rgba(0,0,0,.75),0 0 0 1px rgba(0,0,0,.25),0 0 22px -6px rgba(201,161,92,.35),inset 0 1px 0 rgba(255,225,160,.28)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.hero2 .hero2-ctas .btn-gold:hover,.hero2 .hero2-ctas .btn-ghost-warm:hover{background:linear-gradient(180deg,#93304a 0%,#5a1727 100%)!important;border-color:#f0d29a!important;color:#fff3d6!important;box-shadow:0 16px 36px -12px rgba(122,36,54,.8),0 0 28px -4px rgba(231,197,131,.5),inset 0 1px 0 rgba(255,235,190,.4)!important}
.hero2 .hero2-ctas .btn .ic{color:#f0d29a!important}


#waFloat[data-gone="1"]{display:none!important}
.wa-x{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border-radius:50%;background:#b5332f;color:#fff;font:700 17px/1 system-ui,sans-serif;display:none;align-items:center;justify-content:center;border:1.5px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.5);cursor:pointer}
body.editmode-on #waFloat .wa-x{display:flex}
body.editmode-on #waFloat[data-gone="1"]{display:flex!important;opacity:.4}
body.editmode-on #waFloat[data-gone="1"] .wa-x{background:#2e8b57}


#billSheet .b-row span:last-child{white-space:nowrap}
.brk{display:block;font-size:.72rem;font-weight:600;color:var(--text-dim);margin-top:3px;white-space:normal;line-height:1.35}
.sr-bar{display:flex;gap:8px;align-items:center;margin:0 0 12px}.sr-bar .tk-in{margin:0;flex:1}
@media(min-width:601px){#billOverlay{padding:0;background:#fff}#billSheet{max-width:920px;min-height:100vh;border-radius:0;padding:42px 48px;box-shadow:none;font-size:17px;margin:0 auto}#billSheet h2{font-size:32px}#billSheet .b-sub{font-size:15px}#billSheet .b-tag{font-size:15px;padding:10px 0;margin:18px 0 14px}#billSheet .b-meta{font-size:16px;gap:6px 18px}#billSheet th{font-size:13px}#billSheet td{padding:10px 0;font-size:17px}#billSheet .b-row{font-size:18px;padding:6px 0}#billSheet .b-row.total{font-size:22px}#billSheet .b-box h4{font-size:13px}#billSheet .b-pay{font-size:26px;padding:20px 22px;margin-top:14px}#billSheet .b-foot{font-size:14px}}
@media(max-width:600px){#billOverlay{padding:0}#billSheet{min-height:100vh;border-radius:0;max-width:100%;font-size:15px}#billSheet .b-pay{font-size:19px;padding:14px}}

.fxg-btn{position:fixed;right:14px;bottom:90px;z-index:99990;display:none;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:999px;font-weight:800;font-size:.9rem;color:#1a1208;background:linear-gradient(90deg,var(--gold),var(--gold-bright));box-shadow:0 10px 28px rgba(0,0,0,.45);cursor:pointer}
.fxg-btn.show{display:inline-flex}
.tk-wrap{max-width:860px;margin:0 auto}
.tk-chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 14px}
.tk-chip{padding:7px 14px;border-radius:999px;border:1px solid var(--line-strong);background:transparent;color:var(--text);font-weight:700;font-size:.82rem;cursor:pointer}
.tk-chip.on{background:var(--gold);color:#1a1208;border-color:var(--gold)}
.tk-card{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin-bottom:10px;cursor:pointer}
.tk-card h4{margin:0 0 4px;font-size:1rem}
.tk-meta{font-size:.76rem;color:var(--text-dim);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tk-pill{padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:800;background:var(--surface-2);border:1px solid var(--line-strong)}
.tk-pill.open,.tk-pill.new{background:#f2a93b;color:#2b1900;border-color:transparent}
.tk-pill.resolved,.tk-pill.actioned{background:#43a85f;color:#fff;border-color:transparent}
.tk-pill.seen{background:#4a9be8;color:#fff;border-color:transparent}
.tk-th{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.tk-msg{max-width:85%;padding:10px 14px;border-radius:16px;background:var(--surface-2);font-size:.9rem;white-space:pre-wrap;word-break:break-word}
.tk-msg.me{align-self:flex-end;background:color-mix(in srgb,var(--gold) 28%,var(--surface))}
.tk-msg small{display:block;opacity:.65;font-size:.7rem;margin-bottom:3px}
.tk-box{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--surface);margin:12px 0}
.tk-box h4{margin:0 0 8px}
.tk-in,.tk-box textarea,.tk-box select{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:12px;border:1px solid var(--line-strong);background:var(--bg-soft);color:var(--text);font:inherit;margin:6px 0}
.tk-box textarea{min-height:84px;resize:vertical}
.tk-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}
#fxLook{position:fixed;inset:0;z-index:99995;background:rgba(0,0,0,.55);display:flex;align-items:flex-end;justify-content:center}
.fxl-card{width:min(760px,100%);max-height:86vh;overflow:auto;background:var(--surface);color:var(--text);border-radius:22px 22px 0 0;padding:18px 16px 26px;border:1px solid var(--line-strong)}
.fxl-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.fxl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.fxl-item{border:2px solid var(--line);border-radius:14px;padding:10px;background:var(--bg-soft);color:var(--text);text-align:left;cursor:pointer;font:inherit}
.fxl-item.on{border-color:var(--gold)}
.fxl-sw{display:flex;height:34px;border-radius:9px;overflow:hidden;margin-bottom:8px;border:1px solid rgba(128,128,128,.35)}
.fxl-sw i{flex:1}
.fxl-item b{display:block;font-size:.85rem}.fxl-item small{opacity:.7;font-size:.72rem}


#billSheet{max-width:380px;font-family:ui-monospace,"SF Mono","Courier New",monospace;font-size:13px}#billSheet h2{font-size:20px;letter-spacing:.6px}#billSheet small{color:#666;font-size:11px}#billSheet th{border-top:1px dashed #222;border-bottom:1px dashed #222}#billSheet td{border-bottom:0;padding:4px 0}#billSheet .b-grand{display:flex;justify-content:space-between;gap:10px;font-size:17px;font-weight:800;border-top:1px dashed #222;border-bottom:1px dashed #222;padding:7px 0;margin:8px 0}#billSheet .b-note{text-align:center;font-weight:700;padding:8px 0}#billSheet .b-box{background:none;border:0;border-top:1px dashed #999;border-radius:0;padding:8px 0 0;margin:10px 0 0;font-size:12px}#billSheet .b-box h4{text-transform:none;letter-spacing:0;color:#333}#billSheet .b-foot{color:#333}
.bill-actions{flex-wrap:wrap}.bill-actions>*{flex:1 1 45%}.fc-up{display:block;text-align:center;cursor:pointer;border-radius:10px;padding:11px;font-weight:700;font-size:14px}
.bt-bar{position:sticky;top:-18px;z-index:2;display:flex;gap:6px;flex-wrap:wrap;background:#f1f1f1;border-radius:10px;padding:8px;margin-bottom:8px}.bt-bar button,.bt-bar select,.bt-bar input{font:inherit;font-size:13px;padding:6px 9px;border:1px solid #ccc;border-radius:8px;background:#fff;color:#111}.bt-bar input[type=number]{width:58px}.bt-bar input[type=color]{width:40px;padding:1px}
.bt-note{font-size:11.5px;color:#666;margin-bottom:8px}.bt-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;font-size:12px}.bt-f{display:flex;flex-direction:column;gap:2px;color:#444}.bt-f input[type=checkbox]{width:auto}.bt-f input,.bt-f select{font:inherit;padding:6px;border:1px solid #ccc;border-radius:8px}
#bt-doc .bt-cur{outline:2px solid #1a73e8!important;background:rgba(26,115,232,.08)}#bt-doc [data-k]{outline:1px dashed #c9a15c;outline-offset:1px;border-radius:2px}
@media print{.fc-act,.bt-bar,.bt-fields,.bt-note{display:none!important}}


/* ---- Manual UPI payments ---- */
.pay-option.unsel{border-color:var(--line);background:none;opacity:.85;cursor:pointer;}
.pay-option.unsel .po-dot{border-color:var(--line-strong);}
.pay-option.unsel .po-dot::after{display:none;}
.pay-option[role="radio"]{cursor:pointer;}
.pay-option.disabled[role="radio"]{cursor:not-allowed;}
.upi-wrap{margin:18px 0;}
.upi-chip{border-radius:12px;padding:10px 14px;font-size:.88rem;font-weight:600;line-height:1.4;border:1px solid var(--line);}
.upi-chip small{display:block;font-weight:400;opacity:.75;margin-top:2px;}
.upi-chip.due{background:rgba(232,181,138,.12);color:#e8b58a;border-color:rgba(232,181,138,.35);}
.upi-chip.wait{background:rgba(231,197,131,.10);color:var(--gold-bright);border-color:rgba(231,197,131,.35);}
.upi-chip.ok{background:rgba(138,151,100,.16);color:var(--sage);border-color:rgba(138,151,100,.45);}
.upi-card{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;}
.upi-amt small,.upi-id small{display:block;color:var(--text-dim);font-size:.78rem;}
.upi-amt b{font-family:var(--serif);font-size:1.9rem;color:var(--gold-bright);}
.upi-qr{background:#fff;border-radius:14px;padding:8px;line-height:0;}
.upi-qr svg{display:block;max-width:100%;height:auto;}
.upi-id{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;}
.upi-id b{font-size:1rem;word-break:break-all;}
.upi-copy{border:1px solid var(--line-strong,var(--line));background:none;color:inherit;border-radius:999px;padding:4px 12px;font:inherit;font-size:.8rem;cursor:pointer;}
.upi-open{width:100%;max-width:320px;text-align:center;}
.upi-steps{text-align:left;color:var(--text-dim);font-size:.84rem;line-height:1.5;padding-left:18px;margin:0;max-width:420px;}
.upi-form{width:100%;max-width:420px;text-align:left;}
.upi-form label{display:block;font-size:.82rem;color:var(--text-dim);margin-bottom:6px;}
.upi-row{display:flex;gap:8px;}
.upi-row input{flex:1;min-width:0;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:inherit;font:inherit;letter-spacing:.06em;}
.upi-note{color:var(--text-faint);font-size:.76rem;line-height:1.45;max-width:420px;margin:0;}
.upi-det{margin-top:10px;}
.upi-det>summary{cursor:pointer;color:var(--gold-bright);font-size:.86rem;font-weight:600;padding:6px 0;}
/* admin payment section */
.ao-upi{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;}
.ao-upi.ok{border-color:rgba(138,151,100,.5);}
.ao-upi-h{display:flex;justify-content:space-between;align-items:center;gap:8px;font-weight:700;font-size:.9rem;margin-bottom:8px;}
.ao-upi-chip{border-radius:999px;padding:3px 11px;font-size:.76rem;font-weight:700;}
.ao-upi-chip.wait{background:rgba(231,197,131,.14);color:var(--gold-bright);}
.ao-upi-chip.ok{background:rgba(138,151,100,.2);color:var(--sage);}
.ao-upi-g{display:grid;grid-template-columns:auto 1fr;gap:5px 14px;font-size:.86rem;}
.ao-upi-g>span{color:var(--text-dim);}
.ao-upi-g>div{text-align:right;word-break:break-all;}
.ao-upi-g .mono{font-family:ui-monospace,Menlo,Consolas,monospace;letter-spacing:.04em;}
.ao-upi-g i{color:var(--text-faint);}
.ao-dup{display:block;color:#ff8a80;font-size:.76rem;font-weight:600;margin-top:2px;}
.ao-upi-act{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px;}
.ao-upi-act .ao-undo{background:none;border:0;color:var(--text-faint);text-decoration:underline;font:inherit;font-size:.78rem;cursor:pointer;padding:0;}
.ao-upi-hint{color:var(--text-faint);font-size:.76rem;}



/* prepared status */
.status-chip.prepared,.orc-status.prepared{background:#8e6bd8;color:#fff;border-color:#8e6bd8}
.admin-order-card.st-prepared{border-left:5px solid #8e6bd8;background:linear-gradient(90deg,rgba(142,107,216,.16),transparent 35%),var(--surface)}
.stbtn.on.prepared{background:#8e6bd8;border-color:#8e6bd8;color:#fff}
.stbtn[disabled]{opacity:.38;cursor:not-allowed}
.filter-chip.fc-prepared{border-color:rgba(142,107,216,.6)}.filter-chip.fc-prepared.on{background:#8e6bd8;color:#fff;border-color:#8e6bd8}
.live-card.prepared{border-color:#8e6bd8}.live-card.prepared .lc-num{color:#b9a3ee}
.live-grid{grid-template-columns:repeat(5,1fr)}
@media(max-width:900px){.live-grid{grid-template-columns:1fr 1fr}}
.flow-note{margin-top:14px;padding:10px 12px;border-radius:12px;border:1px dashed rgba(242,169,59,.6);background:rgba(242,169,59,.08);color:#f2c477;font-size:.82rem}
.flow-quick{border-top:0;padding-top:0;margin-top:12px}
.cf2-ok.cf2-wait{background:radial-gradient(circle at 30% 25%,#f7c566,#e08e1b);box-shadow:0 14px 40px rgba(242,169,59,.35)}
/* floating notification bell (admin + restaurant) */
#fxBell{position:fixed;right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:9000;width:56px;height:56px;border-radius:50%;border:1px solid var(--gold,#c9a15c);background:#1d1712;color:var(--gold-bright,#e7c583);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 26px rgba(0,0,0,.5)}
#fxBell[hidden],#fxBellPanel[hidden]{display:none}
#fxBell svg{width:26px;height:26px}
#fxBell .fb-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#dc4a3c;color:#fff;font:700 .72rem 'Manrope',sans-serif;display:flex;align-items:center;justify-content:center}
#fxBell .fb-badge:empty{display:none}
#fxBellPanel{position:fixed;right:16px;bottom:calc(86px + env(safe-area-inset-bottom,0px));z-index:9001;width:min(430px,calc(100vw - 32px));max-height:min(74vh,640px);display:flex;flex-direction:column;border-radius:22px;border:1px solid var(--line-strong,rgba(255,255,255,.18));background:#17120e;color:var(--text,#f3eadb);box-shadow:0 18px 50px rgba(0,0,0,.6);overflow:hidden}
#fxBellPanel .fb-head{padding:14px 16px 10px;border-bottom:1px solid var(--line,rgba(255,255,255,.1))}
#fxBellPanel .fb-title{display:flex;justify-content:space-between;align-items:center;font:700 1rem 'Manrope',sans-serif}
#fxBellPanel .fb-x{background:none;border:0;color:var(--text-dim,#bbb);font-size:1.3rem;cursor:pointer;line-height:1}
#fxBellPanel .fb-clock{margin-top:4px;font-size:.78rem;color:var(--gold-bright,#e7c583);font-variant-numeric:tabular-nums}
#fxBellPanel .fb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
#fxBellPanel .fb-chip{border:1px solid var(--line-strong,rgba(255,255,255,.2));background:none;color:var(--text-dim,#bbb);border-radius:999px;padding:5px 11px;font:600 .74rem 'Manrope',sans-serif;cursor:pointer}
#fxBellPanel .fb-chip.on{background:var(--gold,#c9a15c);border-color:var(--gold,#c9a15c);color:#1a1209}
#fxBellPanel .fb-list{overflow:auto;padding:6px 10px 12px;-webkit-overflow-scrolling:touch}
#fxBellPanel .fb-item{display:flex;gap:10px;padding:10px 6px;border-bottom:1px solid var(--line,rgba(255,255,255,.08))}
#fxBellPanel .fb-dot{flex:0 0 auto;width:9px;height:9px;margin-top:6px;border-radius:50%;background:#c9a15c}
#fxBellPanel .fb-dot.order{background:#f2a93b}#fxBellPanel .fb-dot.pay,#fxBellPanel .fb-dot.paid{background:#43a85f}#fxBellPanel .fb-dot.status{background:#4a9be8}#fxBellPanel .fb-dot.res{background:#8e6bd8}#fxBellPanel .fb-dot.ticket,#fxBellPanel .fb-dot.report{background:#dc4a3c}
#fxBellPanel .fb-t{font:600 .86rem 'Manrope',sans-serif}
#fxBellPanel .fb-d{font-size:.78rem;color:var(--text-dim,#bbb);margin-top:2px;word-break:break-word}
#fxBellPanel .fb-w{font-size:.72rem;color:var(--text-faint,#8c8478);margin-top:3px}
#fxBellPanel .fb-empty{padding:26px 10px;text-align:center;color:var(--text-dim,#bbb);font-size:.86rem}


/* ---------- v62: new components ---------- */
.fx-card{background:var(--surface,rgba(255,255,255,.04));border:1px solid var(--line,rgba(255,255,255,.1));border-radius:16px;padding:20px 22px}
.fx-card h3{margin:0 0 14px;font-size:1.05rem}
.fx-search{width:100%;margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line-strong,rgba(255,255,255,.18));background:rgba(255,255,255,.04);color:inherit}
.fx-loy-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.fx-loy-row input{padding:8px 10px;border-radius:10px;border:1px solid var(--line-strong,rgba(255,255,255,.18));background:rgba(255,255,255,.04);color:inherit;min-width:0}
.fx-loy-row .lr-ic{width:54px;text-align:center}
.fx-loy-row .lr-nm{flex:1 1 130px}
.fx-loy-row .lr-mn{width:110px}
.fx-loy-row .lr-cl{width:46px;height:38px;padding:2px}
.fx-loy-row .lr-rs{font-size:.8rem;color:var(--text-dim)}
.fx-cust-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--line,rgba(255,255,255,.08))}
.fx-cust-row .cr-who{flex:1 1 170px;display:flex;flex-direction:column}
.fx-cust-row .cr-who small{color:var(--text-dim)}
.fx-cust-row select{padding:8px 10px;border-radius:10px;border:1px solid var(--line-strong,rgba(255,255,255,.18));background:rgba(255,255,255,.05);color:inherit;max-width:100%}
.fx-badge-pill{--lc:#8a8478;display:inline-flex;align-items:center;gap:6px;padding:5px 13px;border-radius:999px;font-weight:800;font-size:.84rem;color:#1a1410;background:linear-gradient(120deg,var(--lc),#fff 55%,var(--lc));background-size:220% 100%;box-shadow:0 0 0 1px rgba(255,255,255,.25) inset,0 4px 14px color-mix(in srgb,var(--lc) 45%,transparent)}
.fx-badge-pill i{font-style:normal}
.fx-badge-pill.none{background:rgba(255,255,255,.07);color:var(--text-dim);box-shadow:none;font-weight:600}
.fx-loy-card{border-color:color-mix(in srgb,var(--lc) 55%,transparent)}
.fx-loy-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fx-loy-top small{color:var(--text-dim)}
.fx-loy-bar{height:9px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.fx-loy-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--lc),#fff);transition:width 1.2s var(--ease,ease)}
.fx-tier-chips{display:flex;gap:8px;flex-wrap:wrap}
.fx-tier-chip{--lc:#888;display:inline-flex;flex-direction:column;padding:7px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);font-size:.8rem;font-weight:700;opacity:.55}
.fx-tier-chip small{font-weight:500;color:var(--text-dim)}
.fx-tier-chip.on{opacity:1;border-color:var(--lc);box-shadow:0 0 14px color-mix(in srgb,var(--lc) 35%,transparent)}
.fx-pol h2{font-size:clamp(1.7rem,4vw,2.4rem);margin-bottom:6px}
.fx-pol-when{color:var(--text-faint,#9a9186);font-size:.82rem;margin-bottom:18px}
.fx-pol-img{display:block;max-width:100%;border-radius:16px;margin:10px 0 22px;border:1px solid var(--line,rgba(255,255,255,.1));cursor:zoom-in}
.fx-pol-body p{color:var(--text-dim);line-height:1.8;margin:0 0 16px;font-size:.98rem}
.fx-pol-pv{margin:6px 0 10px;min-height:46px}
.fx-pol-pv img{max-width:260px;max-height:200px;border-radius:12px;border:1px solid var(--line,rgba(255,255,255,.12))}
.fx-pol-pv small{color:var(--text-dim)}
.fx-comm{margin:12px 0 4px;padding:12px 14px;border-radius:14px;border:1px dashed var(--line-strong,rgba(255,255,255,.2));background:rgba(255,255,255,.03)}
.fx-comm-h{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-weight:700;font-size:.88rem;margin-bottom:8px}
.fx-comm-set{color:var(--gold-bright,#e7c583)}
.fx-comm-def{color:var(--text-faint,#9a9186);font-weight:500}
.fx-comm-row{display:flex;gap:8px;align-items:center}
.fx-comm-row input{flex:1;min-width:0;padding:9px 12px;border-radius:10px;border:1px solid var(--line-strong,rgba(255,255,255,.18));background:rgba(255,255,255,.05);color:inherit}
.fx-comm small{display:block;margin-top:8px;color:var(--text-dim);font-size:.76rem;line-height:1.5}
.fx-profile-end{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.fb-dot.review{background:#e9b949}

/* ---------- v62: animations (all switched off for people who prefer less motion) ---------- */
@keyframes fxUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fxPop{0%{opacity:0;transform:scale(.94)}100%{opacity:1;transform:none}}
@keyframes fxShine{0%{background-position:0% 0}100%{background-position:220% 0}}
@keyframes fxSwing{0%,100%{transform:rotate(0)}15%{transform:rotate(14deg)}30%{transform:rotate(-12deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}75%{transform:rotate(0)}}
@keyframes fxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media (prefers-reduced-motion:no-preference){
  #app>*{animation:fxUp .6s var(--ease,ease) both}
  .admin-section-title{animation:fxUp .45s var(--ease,ease) both}
  .profile-wrap>*,.fx-card,.fx-pol>*{animation:fxUp .55s var(--ease,ease) both}
  .profile-wrap>*:nth-child(2){animation-delay:.06s}.profile-wrap>*:nth-child(3){animation-delay:.12s}
  .profile-wrap>*:nth-child(4){animation-delay:.18s}.profile-wrap>*:nth-child(5){animation-delay:.24s}
  .profile-wrap>*:nth-child(6){animation-delay:.3s}.profile-wrap>*:nth-child(7){animation-delay:.36s}
  .profile-wrap>*:nth-child(n+8){animation-delay:.42s}
  .stat-box{animation:fxPop .5s var(--ease,ease) both}
  .stat-box:nth-child(2){animation-delay:.05s}.stat-box:nth-child(3){animation-delay:.1s}.stat-box:nth-child(4){animation-delay:.15s}
  .stat-box:nth-child(5){animation-delay:.2s}.stat-box:nth-child(6){animation-delay:.25s}.stat-box:nth-child(n+7){animation-delay:.3s}
  .fx-badge-pill:not(.none){animation:fxShine 3.2s linear infinite}
  .fx-tier-chip.on{animation:fxPop .5s var(--ease,ease) both}
  #fxBell{animation:fxFloat 3.6s ease-in-out infinite}
  #fxBell:has(.fb-badge:not(:empty)){animation:fxSwing 2.4s ease-in-out infinite}
  .fb-item{animation:fxUp .35s var(--ease,ease) both}
  .btn{transition:transform .22s var(--ease,ease),box-shadow .25s var(--ease,ease),background-color .25s,border-color .25s,color .25s}
  .btn:active{transform:scale(.97)}
  .fx-comm{animation:fxPop .4s var(--ease,ease) both}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .profile-card,.stat-box,.fx-card,.admin-order-card{transition:transform .3s var(--ease,ease),box-shadow .3s var(--ease,ease),border-color .3s}
  .profile-card:hover,.stat-box:hover,.fx-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.32);border-color:var(--gold,#c9a15c)}
  .btn:hover{transform:translateY(-2px)}
  .btn-gold:hover{box-shadow:0 8px 24px rgba(201,161,92,.38)}
}


/* ---------- v63 ---------- */
/* home "why" cards: proper padding + a square icon tile instead of a stretched bar */
body .why-card{padding:30px 26px 28px!important;border-top:1px solid rgba(201,161,92,.35)!important;}
body .why-icon{width:60px!important;height:60px!important;min-width:60px;display:flex!important;align-items:center;justify-content:center;border-radius:18px!important;margin-bottom:20px!important;}
body .why-icon .ic{width:30px;height:30px;}
body .why-card p{max-width:none!important;}
/* "Open my panel" button no longer sits on top of the order tracker pill */
.fxg-btn{bottom:calc(152px + env(safe-area-inset-bottom,0px))!important;}

/* delivery admin tab */
.fx-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.fx-stats .stat-box{margin:0!important;max-width:none!important}
.fx-payrow{margin-top:10px}
.fx-pay{display:inline-block;padding:6px 12px;border-radius:999px;font-weight:800;font-size:.8rem;letter-spacing:.02em}
.fx-pay.pre{background:rgba(94,176,126,.18);color:#8fdcaa;border:1px solid rgba(94,176,126,.5)}
.fx-pay.cod{background:rgba(242,169,59,.16);color:#f5c273;border:1px solid rgba(242,169,59,.5)}
.fx-rider{margin-top:10px;font-size:.92rem;color:var(--text,#f1e8dc)}
.fx-credited{margin-top:8px;font-size:.88rem;color:#8fdcaa;font-weight:700}
.fx-rw{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--line,rgba(255,255,255,.1))}
.fx-rw:last-child{border-bottom:0}
.fx-rw-n{flex:1 1 180px}.fx-rw-n b{display:block;font-size:1.02rem}.fx-rw-n small,.fx-rw-b small{display:block;color:var(--text-dim,#b7a996);font-size:.8rem;margin-top:2px}
.fx-rw-b b{font-size:1.35rem;color:var(--gold-bright,#e7c583)}
.fx-rw-p{display:flex;gap:8px;align-items:center}
.fx-rw-p input{width:110px;padding:9px 10px;border-radius:10px;border:1px solid var(--line-strong,rgba(255,255,255,.2));background:rgba(255,255,255,.05);color:inherit;font:inherit}

/* rider wallet */
.fx-wallet{margin:0 0 22px;padding:20px;border-radius:22px;background:linear-gradient(150deg,#2a2018,#14100d);border:1px solid rgba(201,161,92,.5);color:#f3ecdc}
.fx-w-h{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;color:#e7c583}
.fx-w-bal{margin:8px 0 6px}.fx-w-bal small{display:block;opacity:.8;font-size:.82rem}.fx-w-bal b{font-size:2.5rem;font-family:var(--serif,Georgia,serif);color:#fff}
.fx-w-sub{display:flex;gap:18px;flex-wrap:wrap;font-size:.88rem;opacity:.92}
.fx-w-note{font-size:.84rem;opacity:.85;margin:10px 0 0}
.fx-w-list{margin-top:12px;border-top:1px solid rgba(231,197,131,.3)}
.fx-w-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-bottom:1px solid rgba(231,197,131,.15)}
.fx-w-row b{display:block;font-size:.92rem}.fx-w-row small{opacity:.7;font-size:.76rem}
.fx-w-row span{font-weight:800;font-size:1.02rem}.fx-w-row.in span{color:#8fe3b0}.fx-w-row.out span{color:#f3b98c}

/* ===== Policies band (above footer) ===== */
.fx-legal-band{margin-top:70px;padding:64px 0 60px;background:linear-gradient(180deg,#1d1610 0%,#14100d 100%);border-top:2px solid var(--gold,#c9a15c);border-bottom:1px solid rgba(201,161,92,.35)}
.fx-lb-head{text-align:center;margin:0 auto 34px;max-width:680px}
.fx-lb-kicker{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(231,197,131,.14);border:1px solid rgba(231,197,131,.5);color:#e7c583;font-weight:800;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}
.fx-lb-head h2{font-size:clamp(2.1rem,6vw,3.2rem);margin:14px 0 10px;color:#fff}
.fx-lb-head p{color:#d8cbb8;font-size:1.08rem;line-height:1.6;margin:0}
.fx-lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:980px;margin:0 auto}
.fx-lb-card{display:flex;flex-direction:column;gap:16px;padding:28px 26px;border-radius:24px;background:rgba(255,255,255,.06);border:1.5px solid rgba(231,197,131,.55);text-decoration:none!important;color:#fff!important;transition:transform .3s,box-shadow .3s,background .3s}
.fx-lb-card:hover{transform:translateY(-5px);background:rgba(255,255,255,.1);box-shadow:0 22px 44px -20px rgba(0,0,0,.7)}
.fx-lb-ic{width:62px;height:62px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#e7c583,#c9a15c);color:#1b1208}
.fx-lb-t h3{font-size:1.6rem;margin:0 0 6px;color:#fff}.fx-lb-t p{margin:0;color:#d8cbb8;font-size:1rem;line-height:1.5}
.fx-lb-btn{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:4px;padding:15px 20px;border-radius:999px;background:linear-gradient(90deg,#c9a15c,#e7c583);color:#1b1208;font-weight:800;font-size:1.02rem;text-align:center}
.fx-lb-btn i{font-style:normal;transition:transform .25s}.fx-lb-card:hover .fx-lb-btn i{transform:translateX(6px)}
@media(max-width:720px){.fx-lb-grid{grid-template-columns:1fr}.fx-legal-band{padding:48px 0 44px}}
@media(prefers-reduced-motion:no-preference){.fx-lb-btn{animation:fxLbGlow 2.8s ease-in-out infinite}@keyframes fxLbGlow{0%,100%{box-shadow:0 0 0 0 rgba(231,197,131,.0)}50%{box-shadow:0 0 0 7px rgba(231,197,131,.18)}}}

/* ===== Policy pages ===== */
.fx-pol-page .fx-pol-top{margin-bottom:26px;padding-bottom:22px;border-bottom:2px solid rgba(201,161,92,.5)}
.fx-pol-kicker{display:inline-block;color:#e7c583;font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.fx-pol-page h1{font-size:clamp(2.3rem,7vw,3.6rem);line-height:1.1;margin:10px 0 12px;color:var(--text,#f3ecdc)}
.fx-pol-page .fx-pol-when{color:#d6c9b4;font-size:.95rem;margin:0 0 14px}
.fx-pol-lead{font-size:1.2rem;line-height:1.7;color:var(--text,#f3ecdc);margin:0}
.fx-pol-toc{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 30px;padding:16px 18px;border-radius:18px;background:rgba(201,161,92,.1);border:1px solid rgba(201,161,92,.4)}
.fx-pol-toc b{width:100%;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#e7c583}
.fx-pol-toc a{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(231,197,131,.45);color:var(--text,#f3ecdc);font-weight:700;font-size:.92rem;text-decoration:none}
.fx-pol-toc a:hover{background:rgba(231,197,131,.2)}
.fx-pol-page .fx-pol-img{max-width:100%;border-radius:18px;margin:6px 0 28px;border:1px solid rgba(201,161,92,.4)}
.fx-pol-body .fx-sec{margin:0 0 34px;scroll-margin-top:110px}
.fx-pol-body h2{display:flex;align-items:center;gap:14px;font-size:clamp(1.5rem,4.4vw,2rem);line-height:1.25;margin:0 0 14px;color:#fff}
.fx-num{flex:0 0 auto;width:44px;height:44px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#3a2c1c,#221a13);border:1px solid rgba(231,197,131,.6);color:#e7c583;font-size:1.15rem;font-weight:800}
.fx-pol-page .fx-pol-body p{color:var(--text,#f3ecdc)!important;opacity:.96;font-size:1.14rem!important;line-height:1.9!important;margin:0 0 16px!important}
.fx-pol-body ul{margin:0 0 16px;padding-left:1.3em}.fx-pol-body li{color:var(--text,#f3ecdc);font-size:1.12rem;line-height:1.85;margin-bottom:6px}
.fx-pol-foot{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line,rgba(255,255,255,.12))}
.fx-pol-btn{display:inline-flex;align-items:center;padding:13px 22px;border-radius:999px;background:linear-gradient(90deg,#c9a15c,#e7c583);color:#1b1208!important;font-weight:800;text-decoration:none!important}
.fx-pol-btn.alt{background:none;border:1.5px solid rgba(231,197,131,.7);color:#e7c583!important}

/* ===== Notification bell: big, clear, tappable ===== */
#fxBell{width:64px!important;height:64px!important;background:linear-gradient(150deg,#2a2018,#14100d)!important;box-shadow:0 10px 28px rgba(0,0,0,.55),0 0 0 3px rgba(231,197,131,.35)!important}
#fxBell svg{width:30px!important;height:30px!important}
#fxBell .fb-badge{min-width:26px!important;height:26px!important;font-size:.84rem!important;border:2px solid #14100d}
#fxBellPanel{width:min(480px,calc(100vw - 20px))!important;right:10px!important;max-height:min(80vh,700px)!important;background:#17120e!important;border:1.5px solid rgba(231,197,131,.6)!important;box-shadow:0 24px 60px rgba(0,0,0,.7)!important}
#fxBellPanel .fb-title{font-size:1.25rem!important;color:#fff}
#fxBellPanel .fb-chip{font-size:.86rem!important;padding:8px 14px!important;color:#e9efe9!important;border-color:rgba(231,197,131,.45)!important}
#fxBellPanel .fb-chip.on{color:#1a1209!important}
#fxBellPanel .fb-item{align-items:center;gap:12px;margin:9px 0;padding:14px 12px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-left:6px solid var(--kc,#c9a15c);cursor:pointer;transition:background .2s,transform .2s}
#fxBellPanel .fb-item:hover,#fxBellPanel .fb-item:focus-visible{background:rgba(255,255,255,.13);transform:translateX(2px);outline:none}
#fxBellPanel .fb-item.fresh{background:rgba(231,197,131,.16);border-color:rgba(231,197,131,.7);border-left-color:var(--kc,#c9a15c)}
.fb-item.k-order{--kc:#f2a93b}.fb-item.k-pay{--kc:#3fc77a}.fb-item.k-paid{--kc:#3fc77a}.fb-item.k-status{--kc:#4a9be8}.fb-item.k-res{--kc:#a98bf0}.fb-item.k-ticket{--kc:#f06a7a}.fb-item.k-report{--kc:#f06a7a}.fb-item.k-review{--kc:#f2d04a}
#fxBellPanel .fb-ic{flex:0 0 auto;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;background:rgba(255,255,255,.1)}
#fxBellPanel .fb-main{flex:1 1 auto;min-width:0}
#fxBellPanel .fb-t{font-size:1.04rem!important;font-weight:800!important;color:#fff!important;line-height:1.3}
#fxBellPanel .fb-d{font-size:.92rem!important;color:#e7ece7!important;margin-top:4px!important;line-height:1.4}
#fxBellPanel .fb-w{font-size:.8rem!important;color:#e7c583!important;font-weight:700;margin-top:6px!important}
#fxBellPanel .fb-new{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#e8503f;color:#fff;font-size:.68rem;font-weight:800;vertical-align:middle;letter-spacing:.06em}
#fxBellPanel .fb-go{flex:0 0 auto;font-size:1.7rem;color:#e7c583;line-height:1}
#fxBellPanel .fb-empty{color:#e0e6e0!important;font-size:1rem!important}
.fb-back{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:999px;padding:10px 16px;font:700 .9rem 'Manrope',sans-serif;cursor:pointer;margin:6px 4px 12px}
.fb-dh{padding:4px 6px 10px}.fb-dh h3{margin:0 0 8px;font-size:1.3rem;color:#fff}
.fb-dchip{display:inline-block;padding:5px 12px;border-radius:999px;background:rgba(231,197,131,.2);border:1px solid rgba(231,197,131,.6);color:#f3d796;font-weight:800;font-size:.8rem}
.fb-sec{margin:14px 4px 0;padding:14px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.fb-sec h4{margin:0 0 10px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#e7c583}
.fb-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.09);font-size:.96rem;color:#eef2ee}
.fb-row:last-child{border-bottom:0}.fb-row span{color:#c9d3cb;flex:0 0 auto}.fb-row b{text-align:right;color:#fff;word-break:break-word}
.fb-row.big b{font-size:1.15rem;color:#e7c583}
.fb-go-btn{display:inline-block;margin:16px 4px 6px;padding:13px 22px;border:0;border-radius:999px;background:linear-gradient(90deg,#c9a15c,#e7c583);color:#1b1208;font-weight:800;font-size:.98rem;cursor:pointer}
@media(prefers-reduced-motion:no-preference){#fxBell:has(.fb-badge:not(:empty)){animation:fxBellPulse 2s ease-in-out infinite}@keyframes fxBellPulse{0%,100%{box-shadow:0 10px 28px rgba(0,0,0,.55),0 0 0 3px rgba(231,197,131,.35)}50%{box-shadow:0 10px 28px rgba(0,0,0,.55),0 0 0 11px rgba(231,197,131,.12)}}}

#netBanner:not(.show){opacity:0;visibility:hidden}

/* green ONLY for the three home "why" cards (From scratch / Coffee, properly / Your way) */
body .why-icon{background:linear-gradient(160deg,#1d6a4d,#0e3e2e)!important;color:#f3e6cf!important;box-shadow:0 6px 18px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.18)!important;}
body .why-card{border-top-color:rgba(191,227,204,.5)!important;}



.fx-xl{margin-bottom:16px}.fx-xl h3{margin:0 0 8px;font-size:1.2rem}.fx-xl p{margin:0 0 10px;line-height:1.55}.fx-xl .fx-xl-s{font-size:.88rem;color:var(--text-dim,#b7a996)}

/* Public palette only. Original menu geometry, images, icons and hero CTAs are untouched. */
body.pine-preview:not(.admin-on){--bg:#F5F0E8;--bg-soft:#E7E0D6;--surface:#F5F0E8;--surface-2:#E7E0D6;--text:#211A17;--text-dim:#655C52;--text-faint:#746B60;--line:rgba(33,26,23,.13);--line-strong:rgba(33,26,23,.25);--gold:#A17A38;--gold-bright:#C9A15C;--teal:#1C2724;--teal-bright:#38554B;--teal-deep:#1C2724;background:#F5F0E8!important;color:#211A17!important;}
body.pine-preview:not(.admin-on) #app{background:#F5F0E8!important;}
body.pine-preview:not(.admin-on) .hero2{--text:#F5F0E8;--text-dim:#D5DCD3;--text-faint:#BDC9C0;--line:rgba(245,240,232,.2);--gold:#C9A15C;--gold-bright:#E7C583;background:#1C2724!important;color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) .hero2 :is(.hero2-title,.hero2-title span){color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) .hero2 :is(.hero2-lede,.hero2-stats,.hero2-stats span,.hero2-eyebrow){color:#D5DCD3!important;}
body.pine-preview:not(.admin-on) .hero2 :is(.hero2-badge,.hero2-open){background:#25352E!important;color:#F5F0E8!important;border-color:rgba(201,161,92,.4)!important;}
body.pine-preview:not(.admin-on) .hero2-blobs{opacity:.28;}
body.pine-preview:not(.admin-on) :is(.info-bar,.why,.visit,.about,.home-extra-card,.home-extra-step){background:#E7E0D6!important;color:#211A17!important;}
body.pine-preview:not(.admin-on) :is(.info-bar,.info-item,.why,.visit,.about) :is(h2,h3,h4,strong){color:#211A17!important;}
body.pine-preview:not(.admin-on) :is(.info-bar,.why,.visit,.about) :is(p,span){color:#655C52;}
body.pine-preview:not(.admin-on) :is(.pcard,.summary-card,.why-card,.profile-card,.cust-card,.res-card,.order-row-card,.menu-search-box,.quote,.ios-group,.addr-card){background:#F5F0E8!important;color:#211A17!important;border-color:#D8CFC2!important;}
body.pine-preview:not(.admin-on) :is(.pcard,.profile-card,.summary-card,.order-row-card,.addr-card) :is(h2,h3,h4,h5,.price,.pc-price){color:#211A17!important;}
body.pine-preview:not(.admin-on) :is(.pcard,.profile-card,.summary-card) p{color:#655C52!important;}
body.pine-preview:not(.admin-on) .cat-card{--text:#F5F0E8;--text-dim:#E0E4DA;--gold-bright:#E7C583;background:#1C2724!important;}
body.pine-preview:not(.admin-on) .cat-card .cc-scrim{background:linear-gradient(180deg,rgba(28,39,36,.02),rgba(28,39,36,.15) 25%,rgba(28,39,36,.95))!important;}
body.pine-preview:not(.admin-on) .cat-card :is(h3,p){color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) :is(.section-head p,.crumbs,.menu-sub,.profile-note){color:#655C52!important;}
body.pine-preview:not(.admin-on) #app :is(.view-link,.info-item .ic,.visit-row .vi,.rate-word){color:#264C3C!important;-webkit-text-fill-color:#264C3C!important;}
body.pine-preview:not(.admin-on) footer{--text:#F5F0E8;--text-dim:#D8D1C8;--text-faint:#C2B9AF;--gold:#C9A15C;--gold-bright:#E7C583;--line:rgba(245,240,232,.14);background:#29231F!important;color:#F5F0E8!important;border-color:#5C5147!important;}
body.pine-preview:not(.admin-on) footer :is(p,span,a,h5){color:#DDD2C5!important;}
body.pine-preview:not(.admin-on) :is(.auth-modal,.admin-modal){background:#FBF8F2!important;color:#211A17!important;border:1px solid #D8CFC2!important;box-shadow:0 24px 70px #0004!important;}
body.pine-preview:not(.admin-on) :is(.auth-modal,.admin-modal) :is(h3,p,label,.auth-intro,.auth-skip){color:#211A17!important;}
body.pine-preview:not(.admin-on) :is(.auth-modal,.admin-modal,.profile-card,#checkoutForm,#reserveForm) :is(input,select,textarea){background:#fffdf8!important;color:#211A17!important;border-color:#B7AB9B!important;}
body.pine-preview:not(.admin-on) :is(.auth-modal,.admin-modal) .auth-tab{color:#655C52!important;background:transparent!important;}
body.pine-preview:not(.admin-on) :is(.auth-modal,.admin-modal) .auth-tab.active{background:#1C2724!important;color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) :is(.admin-login-error,.auth-error){background:#F9E6E6!important;color:#812D3E!important;border-color:#D1A0A9!important;}
body.pine-preview:not(.admin-on) :is(.auth-modal,.admin-modal) .btn-gold{background:#1C2724!important;color:#F5F0E8!important;border:1px solid #657A6F!important;box-shadow:0 4px 12px #1C272418!important;}
body.pine-preview:not(.admin-on) header#siteNav{background:rgba(28,39,36,.96)!important;border-color:rgba(201,161,92,.35)!important;color:#F5F0E8!important;box-shadow:0 10px 35px #101b1622!important;backdrop-filter:blur(12px);}
body.pine-preview:not(.admin-on) header#siteNav nav.links{gap:20px;}
body.pine-preview:not(.admin-on) header#siteNav nav.links a{color:#F5F0E8!important;font-weight:650;white-space:nowrap;}
body.pine-preview:not(.admin-on) header#siteNav nav.links a.is-active{color:#E7C583!important;}
body.pine-preview:not(.admin-on) header#siteNav .customer-pill{background:#33453B!important;color:#F5F0E8!important;border-color:#6B7667!important;}
body.pine-preview:not(.admin-on) .customer-pill .cp-wallet:not(.frozen){background:linear-gradient(135deg,#F5DDA7,#DCB76E)!important;color:#382A12!important;-webkit-text-fill-color:#382A12!important;border:1px solid #C5A35F;box-shadow:0 0 0 2px rgba(227,194,126,.18)!important;}
body.pine-preview:not(.admin-on) .customer-pill .cp-wallet{font:600 14px/1.2 Manrope,system-ui,sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:0!important;min-height:30px;min-width:48px;padding:5px 10px;justify-content:center;flex-shrink:0;}
body.pine-preview:not(.admin-on) .customer-pill :is(#cpName,#cpNameMobile){display:block;width:auto;max-width:110px;min-width:0;height:auto;flex:0 1 auto;border-radius:0;background:transparent;color:#F5F0E8;font:600 13px/1.3 Manrope,system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.pine-preview:not(.admin-on) header#siteNav nav.links a.pine-home-link{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid rgba(245,240,232,.32);border-radius:9px;background:rgba(245,240,232,.08);color:#F5F0E8!important;line-height:1.3;}
body.pine-preview:not(.admin-on) header#siteNav nav.links a.pine-home-link:is(:hover,.is-active){background:#F5F0E8;color:#1C2724!important;border-color:#F5F0E8;}
.pine-home-link svg{width:16px;height:16px;flex-shrink:0;}
/* Dedicated house control retains the original back-control position on inner pages. */
body.pine-preview:not(.admin-on) .back-home-btn{top:var(--pine-home-top,100px)!important;width:44px;height:44px;background:#F5F0E8!important;color:#1C2724!important;border:1px solid #C1CEC4!important;box-shadow:0 3px 12px #1C27241A;}
body.pine-preview:not(.admin-on) .back-home-btn svg{width:20px;height:20px;transform:none;}
body.pine-preview:not(.admin-on) .back-home-btn:hover{transform:none;background:#E7E0D6!important;}
body.pine-preview.admin-on .back-home-btn{display:none!important;}
.pine-mobile-primary{display:none;}
/* Restore a draggable native page scrollbar for mouse/trackpad users. */
html{scrollbar-width:thin;scrollbar-color:#64786A #E7E0D6;}
html::-webkit-scrollbar,body.pine-preview::-webkit-scrollbar{width:10px;height:10px;}
html::-webkit-scrollbar-track,body.pine-preview::-webkit-scrollbar-track{background:#E7E0D6;}
html::-webkit-scrollbar-thumb,body.pine-preview::-webkit-scrollbar-thumb{background:#64786A;border:2px solid #E7E0D6;border-radius:8px;}
html::-webkit-scrollbar-thumb:hover,body.pine-preview::-webkit-scrollbar-thumb:hover{background:#36533E;}

body.pine-preview :is(input[autocomplete="name"],#pf-name,#af-name,input[id^="cp-name-"]){text-transform:capitalize;}
body.pine-preview:not(.admin-on) header#siteNav .cart-btn{background:#F5F0E8!important;color:#211A17!important;}
body.pine-preview:not(.admin-on) header#siteNav .btn-ghost{color:#F5F0E8!important;background:#ffffff12!important;border-color:#D4C9B6!important;}
.pine-more-toggle{border:0;background:transparent;color:#F5F0E8;padding:8px 0;font:650 .92rem/1.4 Manrope,sans-serif;display:flex;gap:8px;align-items:center;cursor:pointer;white-space:nowrap;}
.pine-more-toggle span{display:inline-block;transition:transform .25s ease;}
.pine-more-toggle[aria-expanded=true] span{transform:rotate(180deg);}
.pine-more-panel{position:fixed;right:22px;top:100px;z-index:1000;width:min(326px,calc(100vw - 32px));max-height:calc(100dvh - 150px);overflow:auto;padding:18px 16px;background:#FBF8F2;color:#211A17;border:1px solid #D8CFC2;border-radius:18px;box-shadow:0 18px 45px #0003;opacity:0;visibility:hidden;transform:translateY(-9px);transition:opacity .22s ease,transform .22s ease,visibility .22s;}
.pine-more-panel.open{opacity:1;visibility:visible;transform:translateY(0);}
.pine-more-panel h4{font:750 10px/1.6 Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#746453;margin:14px 12px 8px;}
.pine-more-panel :is(a,button){display:block;width:100%;text-align:left;padding:11px 12px;margin:2px 0;background:transparent;border:0;border-radius:8px;font:500 15px/1.4 Manrope,sans-serif;color:#211A17;cursor:pointer;transition:background .2s ease,transform .2s ease;}
.pine-more-panel :is(a,button):hover{background:#E7E0D6;transform:translateX(3px);}
.pine-more-panel [hidden]{display:none!important;}
.pine-demo-badge{position:fixed;bottom:14px;left:14px;z-index:700;background:#F5F0E8;color:#1C2724;border:1px solid #9AA89E;border-radius:999px;padding:6px 12px;font:650 10px/1.4 Manrope,sans-serif;box-shadow:0 3px 10px #0001;}
.pine-demo-note{font:500 12px/1.65 Manrope,sans-serif;color:#655C52;background:#E7E0D6;border:1px solid #D8CFC2;border-radius:9px;padding:10px 12px;margin:12px 0;}
.pine-gift-scanner{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0;}
.pine-gift-scanner video{display:block;max-width:100%;width:100%;max-height:300px;border-radius:12px;background:#1C2724;}
.pine-gift-scanner video[hidden]{display:none;}
.pine-gift-scanner .scan-status{width:100%;font-size:12px;line-height:1.6;color:#655C52;}
body.pine-preview:not(.admin-on) :is(.pcard,.cat-card,.why-card,.gallery figure){transition:box-shadow .3s ease,opacity .6s ease,transform .6s ease;}
body.pine-preview:not(.admin-on) .pcard:hover{box-shadow:0 14px 35px #1C272414!important;}
body.pine-preview:not(.admin-on) .auth-modal-overlay.open .auth-modal{animation:pine-modal-in .3s ease both;}
@keyframes pine-modal-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
body.pine-preview :is(a,button,input,select,textarea):focus-visible{outline:3px solid #A17A38!important;outline-offset:3px;}
@media(max-width:980px){body.pine-preview:not(.admin-on) #siteNav{display:grid!important;grid-template-columns:auto 1fr;gap:12px 18px;padding:12px 18px!important;}
 body.pine-preview:not(.admin-on) #siteNav nav.links{grid-column:1/-1;grid-row:2;display:flex!important;gap:20px;overflow:auto;padding-bottom:7px;scrollbar-width:none;}
 body.pine-preview:not(.admin-on) #siteNav .nav-right{justify-self:end;gap:8px;}
 body.pine-preview:not(.admin-on) #siteNav .hamburger{display:none!important;}
 body.pine-preview:not(.admin-on) #siteNav .brand{width:52px;flex-shrink:0;}
 body.pine-preview:not(.admin-on) .hero2{padding-top:172px!important;}
 .pine-demo-badge{bottom:86px;left:12px;font-size:9px;}
}
@media(max-width:480px){body.pine-preview:not(.admin-on) #siteNav .auth-nav .btn{padding:7px 11px!important;font-size:11px!important;}
 body.pine-preview:not(.admin-on) #siteNav .cart-btn{padding:9px 11px!important;}body.pine-preview:not(.admin-on) #siteNav nav.links{gap:18px;}body.pine-preview:not(.admin-on) #siteNav nav.links a,.pine-more-toggle{font-size:12px;}}
@media(prefers-reduced-motion:reduce){body.pine-preview{scroll-behavior:auto;}body.pine-preview *,body.pine-preview *::before,body.pine-preview *::after{animation:none!important;transition:none!important;}body.pine-preview .reveal,body.pine-preview [class*=reveal-]{opacity:1!important;transform:none!important;}}
/* Visible even when the original entrance animations are skipped or reduced. */
body.pine-preview:not(.admin-on) #siteNav nav.links{display:flex!important;align-items:center;min-width:0;}
body.pine-preview:not(.admin-on) #siteNav nav.links a{opacity:1!important;transform:none!important;animation:none!important;color:#F5F0E8!important;font-size:14px;font-weight:700;}
body.pine-preview:not(.admin-on) .hero2 :is(.hero2-copy,.hero2-title,.hero2-lede,.hero2-ctas,.hero2-stats,.hero2-eyebrow,.hero2-media){opacity:1!important;transform:none!important;filter:none!important;visibility:visible!important;}
body.pine-preview:not(.admin-on) .hero2 :is(.hero2-title,.hero2-title span,.hero2-lede){-webkit-text-fill-color:currentColor!important;background-image:none!important;}
body.pine-preview:not(.admin-on) #navSignupBtn{background:#F5F0E8!important;color:#1C2724!important;border:1px solid #D9C5A0!important;box-shadow:0 3px 8px #0001!important;}
body.pine-preview:not(.admin-on) #navSignupBtn:hover{background:#E7E0D6!important;}
body.pine-preview:not(.admin-on) :is(#authTabLoginBtn,#authTabSignupBtn){background:#E7E0D6!important;color:#3D433D!important;border:1px solid #D4CBBD!important;box-shadow:none!important;}
body.pine-preview:not(.admin-on) :is(#authTabLoginBtn,#authTabSignupBtn).active{background:#1C2724!important;color:#F5F0E8!important;border-color:#6B8174!important;box-shadow:none!important;}
body.pine-preview:not(.admin-on) .hero2 #heroOpenBadge{background:#D5E7D6!important;color:#18412A!important;border-color:#A4C7AC!important;font-size:13px;font-weight:800;box-shadow:0 4px 14px #0002;}
body.pine-preview:not(.admin-on) .hero2 #heroOpenBadge.off{background:#F3DEE1!important;color:#6B2635!important;border-color:#BC8F98!important;}
body.pine-preview:not(.admin-on) :is(.price,.num-row .num,.rate-us-num,.pub-rating-num,.stat-num){color:#264C3C!important;-webkit-text-fill-color:#264C3C!important;background:none!important;font-weight:750!important;}
body.pine-preview:not(.admin-on) :is(.num-row .lbl,.rate-us-count,.rate-us-cta p,.info-item span,.visit-row span){color:#4F564F!important;font-weight:600;}
body.pine-preview:not(.admin-on) :is(.rate-us-box,.num-row){background:#E7E0D6!important;border:1px solid #CEC4B5!important;border-radius:14px;padding:22px;}
body.pine-preview:not(.admin-on) :is(.stars-static,.rate-us-score .stars-static,.quote .stars,.star-btn){color:#87591D!important;}
body.pine-preview:not(.admin-on) .fx-legal-band{background:#E7E0D6!important;border-top:1px solid #C3B7A5!important;border-bottom:1px solid #C3B7A5!important;}
body.pine-preview:not(.admin-on) .fx-legal-band :is(h2,h3,h4,strong,.fx-lb-kicker){color:#1C2724!important;-webkit-text-fill-color:#1C2724!important;}
body.pine-preview:not(.admin-on) .fx-legal-band :is(p,span,a){color:#414B43!important;}
body.pine-preview:not(.admin-on) .fx-legal-band :is(.fx-lb-card,.fx-lb-link){background:#F5F0E8!important;border-color:#C3B7A5!important;box-shadow:none!important;}
body.pine-preview:not(.admin-on) .fx-legal-band :is(.fx-lb-btn,.fx-lb-ic){background:#1C2724!important;color:#F5F0E8!important;box-shadow:none!important;}
body.pine-preview:not(.admin-on) footer{background:#29231F!important;background-image:none!important;box-shadow:none!important;padding:52px 0 28px;}
body.pine-preview:not(.admin-on) footer :is(.f-grid,.f-col,.f-brand,.f-bottom){background:transparent!important;}
body.pine-preview:not(.admin-on) footer :is(a,span,p){color:#D8D1C8!important;-webkit-text-fill-color:#D8D1C8!important;}
body.pine-preview:not(.admin-on) footer h5{color:#F5F0E8!important;-webkit-text-fill-color:#F5F0E8!important;letter-spacing:.02em;}
body.pine-preview:not(.admin-on) footer .f-brand p{font:400 16px/1.65 Manrope,system-ui,sans-serif!important;max-width:26ch;}
body.pine-preview:not(.admin-on) footer .f-col :is(a,span){line-height:1.65;margin-bottom:10px;}
body.pine-preview:not(.admin-on) footer a:hover{color:#F5F0E8!important;-webkit-text-fill-color:#F5F0E8!important;text-decoration:underline;text-underline-offset:4px;}
body.pine-preview:not(.admin-on) .pcard .pc-imgwrap{aspect-ratio:4/3!important;max-height:260px;}
body.pine-preview:not(.admin-on) .pcard h4{font-size:clamp(17px,1.5vw,21px)!important;line-height:1.25!important;}
body.pine-preview:not(.admin-on) .pcard .pc-body{padding:15px!important;}
body.pine-preview:not(.admin-on) .pcard .pc-desc{font-size:13px!important;line-height:1.6!important;color:#414B43!important;}
body.pine-preview:not(.admin-on) .pine-favorites .pc-imgwrap{aspect-ratio:4/3!important;max-height:215px;}
body.pine-preview:not(.admin-on) .pine-favorites .grid-products{gap:20px!important;}
body.pine-preview:not(.admin-on) .pine-favorites h4{font-size:18px!important;}
.pine-more-toggle{font-size:14px!important;font-weight:700!important;}
.pine-more-panel{transition:opacity .32s ease,transform .32s cubic-bezier(.2,.7,.2,1),visibility .32s!important;transform:translateY(-16px);}
.pine-more-panel.open>button{animation:pine-option-in .35s ease both;animation-delay:var(--pine-delay,0ms);}
@keyframes pine-option-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:981px){body.pine-preview:not(.admin-on) #siteNav{gap:20px!important;}body.pine-preview:not(.admin-on) #siteNav nav.links{gap:16px!important;flex:1;justify-content:center;}body.pine-preview:not(.admin-on) #siteNav .brand{width:60px;flex-shrink:0;}body.pine-preview:not(.admin-on) #siteNav .nav-right{flex-shrink:0;gap:10px;}body.pine-preview:not(.admin-on) .pine-favorites .grid-products{grid-template-columns:repeat(4,minmax(0,1fr))!important;}}
@media(min-width:601px) and (max-width:980px){body.pine-preview:not(.admin-on) #siteNav nav.links{justify-content:center;}body.pine-preview:not(.admin-on) .pine-favorites .grid-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:600px){body.pine-preview:not(.admin-on) #siteNav nav.links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px!important;overflow:visible;}
body.pine-preview:not(.admin-on) #siteNav nav.links :is(a,button){font-size:12px!important;padding:6px 0;text-align:center;justify-content:center;}
body.pine-preview:not(.admin-on) .hero2{padding-top:205px!important;}
body.pine-preview:not(.admin-on) .pcard .pc-imgwrap{max-height:190px;}body.pine-preview:not(.admin-on) .pine-favorites .pc-imgwrap{max-height:155px;}
body.pine-preview:not(.admin-on) .pine-favorites .grid-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
body.pine-preview:not(.admin-on) .pcard .pc-body{padding:12px!important;}body.pine-preview:not(.admin-on) .pine-favorites h4{font-size:16px!important;}
body.pine-preview:not(.admin-on) .num-row{gap:18px!important;justify-content:space-between;}body.pine-preview:not(.admin-on) .num-row .num{font-size:32px!important;}
.pine-more-panel{max-height:calc(100dvh - 220px);}}
@media(max-width:480px){body.pine-preview:not(.admin-on) #siteNav .cart-btn>span:nth-child(2){display:none!important;}body.pine-preview:not(.admin-on) #siteNav .nav-right{gap:6px;}body.pine-preview:not(.admin-on) #siteNav .cart-btn{gap:6px!important;}}
@media(prefers-reduced-motion:reduce){.pine-more-panel{transition:none!important;}.pine-more-panel.open>button{animation:none!important;}}
/* Explicit in-preview opt-in; the OS accessibility setting itself is never changed. */
body.pine-menu-motion .pine-more-panel{transition:opacity .32s ease,transform .32s cubic-bezier(.2,.7,.2,1),visibility .32s!important;}
body.pine-menu-motion .pine-more-panel.open>button{animation:pine-option-in .35s ease both!important;animation-delay:var(--pine-delay,0ms)!important;}
/* Complete public palette, including drawers, checkout and legacy modal layers. */
body.pine-preview:not(.admin-on){--sage:#536C5E;--red:#7D2436;--red-bright:#7D2436;--cream:#F5F0E8;--brown:#1C2724;--espresso:#211A17;--muted:#505D54;--accent:#A17A38;--border:#C9D0C5;}
body.pine-preview:not(.admin-on) .hero2{--h2-cream:#1C2724;--h2-cream-2:#334B41;--h2-ink:#F5F0E8;--h2-ink-soft:#DAE4DA;--h2-line:#F5F0E833;--h2-forest:#BCD1BC;--h2-forest-deep:#F5F0E8;--h2-forest-bright:#D5E7D6;--h2-sage:#4D6B5A;background:linear-gradient(180deg,#1C2724 0%,#263B32 70%,#536C5E 100%)!important;}
body.pine-preview:not(.admin-on) .hero2::after{height:80px;background:linear-gradient(180deg,#F5F0E800,#F5F0E8)!important;}
body.pine-preview:not(.admin-on) .hero2 .hb1{background:#38574A!important;}
body.pine-preview:not(.admin-on) .hero2 .hb2{background:#718A77!important;}
body.pine-preview:not(.admin-on) .hero2 .hb3{background:#A5B8A3!important;}
body.pine-preview:not(.admin-on) .hero2 .hero2-stats :is(strong,.ic){color:#F5F0E8!important;-webkit-text-fill-color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) #heroOpenBadge i{background:#286D43!important;width:8px;height:8px;box-shadow:0 0 0 4px #286D431C;border-radius:50%;animation:pine-open-pulse 2.5s ease-in-out infinite;}
body.pine-preview:not(.admin-on) #heroOpenBadge.off i{background:#7D2436!important;box-shadow:none;animation:none;}
@keyframes pine-open-pulse{50%{box-shadow:0 0 0 7px #286D4300}}
.pine-more-panel{background:#F5F0E8!important;border-color:#BECABE!important;box-shadow:0 20px 50px #1C272433!important;}
.pine-more-panel h4{color:#506358!important;}
.pine-more-panel :is(a,button){color:#1C2724!important;font-weight:600!important;}
.pine-more-panel :is(a,button):hover,.pine-more-panel :is(a,button):focus-visible{background:#DFE7DC!important;color:#1C2724!important;}
body.pine-preview:not(.admin-on) :is(.drawer,.auth-modal,.admin-modal,.closed-cafe-card,.closed-modal,.fxl-card,.ios-sheet,.modal-card,.pay-modal,.gift-modal){background:#F5F0E8!important;background-image:none!important;color:#211A17!important;border-color:#BECABE!important;}
body.pine-preview:not(.admin-on) :is(.drawer-head,.drawer-footer,.drawer-summary,.auth-tabs,.ios-card,.tk-box,.wl-card,.checkout-grid .summary-card,.pay-option,.pay-option.selected,.pay-row,.pay-box){background:#E7E0D6!important;background-image:none!important;color:#211A17!important;border-color:#C6CFC1!important;}
body.pine-preview:not(.admin-on) :is(.drawer,.auth-modal,.admin-modal,#checkoutForm,.pay-box,.pay-option,.wl-card,.tk-box) :is(h2,h3,h4,label,strong,.cl-name,.cl-price,.ds-total,.drawer-close,.po-dot){color:#1C2724!important;-webkit-text-fill-color:#1C2724!important;}
body.pine-preview:not(.admin-on) :is(.drawer,.auth-modal,.admin-modal,#checkoutForm,.pay-box,.pay-option,.wl-card,.tk-box) :is(p,small,.cl-desc,.cl-meta,.ds-line){color:#505D54!important;}
body.pine-preview:not(.admin-on) :is(input:not([type=checkbox]):not([type=radio]),select,textarea){background:#FBF9F4!important;color:#211A17!important;border-color:#A4B3A5!important;caret-color:#1C2724;}
body.pine-preview:not(.admin-on) :is(input,textarea)::placeholder{color:#667467!important;opacity:1;}
body.pine-preview:not(.admin-on) :is(.btn-gold,.btn-teal):not(.hero2-ctas .btn-gold):not(.hero2-ctas .btn-teal):not(#navSignupBtn){background:#1C2724!important;background-image:none!important;color:#F5F0E8!important;-webkit-text-fill-color:#F5F0E8!important;border:1px solid #657A6F!important;box-shadow:0 4px 12px #1C272418!important;}
body.pine-preview:not(.admin-on) .btn-ghost:not(.hero2-ctas .btn-ghost):not(#siteNav .btn-ghost){background:#E7E0D6!important;background-image:none!important;color:#1C2724!important;border-color:#B4C2B5!important;box-shadow:none!important;}
body.pine-preview:not(.admin-on) :is(.qty-control button,.drawer-close,.auth-close,.admin-modal-close,.tab-btn,.wl-tab,.ios-btn,.tk-chip){background:#E7E0D6!important;color:#1C2724!important;border-color:#B4C2B5!important;box-shadow:none!important;}
body.pine-preview:not(.admin-on) :is(.wl-tab.active,.tab-btn.active,.tk-chip.on){background:#1C2724!important;color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) :is(.pc-price,.cl-price,.po-price,.cart-count,.badge-count){color:#7D2436!important;-webkit-text-fill-color:#7D2436!important;}
body.pine-preview:not(.admin-on) :is(.cat-hero .scrim,.cc-scrim){background:linear-gradient(180deg,#1C272400 0%,#1C2724ED 100%)!important;}
body.pine-preview:not(.admin-on) :is(.cat-hero,.cat-card) :is(h1,h2,h3,p){color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) :is(.toast,.toast.show){background:#1C2724!important;color:#F5F0E8!important;border-color:#78917E!important;}
body.pine-preview:not(.admin-on) #fxBell,body.pine-preview:not(.admin-on) #waFloat{background:#1C2724!important;color:#F5F0E8!important;border-color:#A5B8A3!important;box-shadow:0 6px 20px #1C272422!important;}
body.pine-preview:not(.admin-on) #fxBellPanel{--text:#211A17;--text-dim:#505D54;--text-faint:#58675C;background:#F5F0E8!important;color:#211A17!important;border-color:#BECABE!important;}
body.pine-preview:not(.admin-on) #fxBellPanel :is(.fb-title,.fb-t,.fb-d,.fb-w,.fb-clock,.fb-x){color:#1C2724!important;}
body.pine-preview:not(.admin-on) #fxBellPanel :is(.fb-chip,.fb-category){background:#E7E0D6!important;color:#1C2724!important;border-color:#BECABE!important;}
body.pine-preview:not(.admin-on) #fxBellPanel :is(.fb-chip.on,.fb-category.active){background:#1C2724!important;color:#F5F0E8!important;}
body.pine-preview{scrollbar-color:#657A6F #E7E0D6;}
body.pine-preview ::-webkit-scrollbar{width:9px;height:9px;}
body.pine-preview ::-webkit-scrollbar-track{background:#E7E0D6;}
body.pine-preview ::-webkit-scrollbar-thumb{background:#657A6F;border:2px solid #E7E0D6;border-radius:8px;}
.pine-gift-format-preview fieldset{display:flex;gap:16px;flex-wrap:wrap;padding:18px;border:1px solid #6D8979;border-radius:12px;margin:16px 0;}
.pine-gift-format-preview legend{padding:0 8px;font-weight:700;}
.pine-gift-format-preview label{display:flex;align-items:center;gap:10px;cursor:pointer;}
.pine-gift-format-preview input{accent-color:#B5EAD6;width:18px;height:18px;}
.pine-gift-code{display:block;overflow-wrap:anywhere;font:700 15px/1.8 ui-monospace,monospace;letter-spacing:.025em;color:#E4F6ED;padding:14px;border:1px solid #6D8979;border-radius:10px;background:#172B25;}
.pine-gift-qr{display:inline-block;background:#fff;padding:12px;margin:12px 0;border-radius:12px;}
.pine-gift-format-preview #pineGiftCard{padding:20px;margin-top:20px;border:1px solid #6D8979;border-radius:16px;background:#172B25;}
.pine-gift-format-preview #pineGiftCard h4{margin-top:16px;color:#D3EBDB;}
.pine-gift-format-preview #pineGiftCard button{margin:8px 8px 0 0;}
.pine-gift-status{font-size:13px;color:#D3EBDB;line-height:1.65;margin-top:12px;}
body.pine-preview.admin-on .pine-demo-note{color:#E3F0E6;background:#223D31;border-color:#587A63;}
@media(max-width:600px){.pine-gift-format-preview fieldset{flex-direction:column;}.pine-gift-code{font-size:12px;}body.pine-preview .drawer{width:min(430px,100vw)!important;}.pine-gift-qr svg{max-width:100%;height:auto;}}
@media(prefers-reduced-motion:reduce){body.pine-preview #heroOpenBadge i{animation:none!important;}}
/* Compact paired favorites; keep the original vertical photo/body/price/Add card format. */
body.pine-preview:not(.admin-on) .pine-favorites .grid-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:920px;margin-inline:auto;gap:24px!important;}
body.pine-preview:not(.admin-on) .pine-favorites .pc-imgwrap{max-height:205px;aspect-ratio:16/9!important;}
body.pine-preview:not(.admin-on) .pine-favorites .pc-body{padding:16px!important;}
body.pine-preview:not(.admin-on) .add-btn{background:#1C2724!important;background-image:none!important;color:#F5F0E8!important;-webkit-text-fill-color:#F5F0E8!important;border:1px solid #657A6F!important;box-shadow:none!important;min-height:36px!important;padding:8px 13px!important;font-size:12px!important;}
body.pine-preview:not(.admin-on) .add-btn :is(span,.ic){color:#F5F0E8!important;-webkit-text-fill-color:#F5F0E8!important;}
body.pine-preview:not(.admin-on) .add-btn:hover{background:#365246!important;border-color:#7B9785!important;}
body.pine-preview:not(.admin-on) :is(.pcard .pc-badge,.cat-card .cc-count){font-size:10px!important;padding:5px 9px!important;min-height:0!important;}
body.pine-preview:not(.admin-on) #app>:first-child{animation:pine-page-in .45s ease both;}
body.pine-preview:not(.admin-on) :is(.btn,.add-btn){transition:background .2s ease,box-shadow .2s ease,transform .2s ease!important;}
body.pine-preview:not(.admin-on) :is(.btn,.add-btn):hover{transform:translateY(-1px);}
body.pine-preview:not(.admin-on) :is(.btn,.add-btn):active{transform:translateY(0) scale(.98);}
@keyframes pine-page-in{from{opacity:.92;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){body.pine-preview:not(.admin-on) .pine-favorites .grid-products{gap:12px!important;}body.pine-preview:not(.admin-on) .pine-favorites .pc-imgwrap{max-height:150px;aspect-ratio:4/3!important;}body.pine-preview:not(.admin-on) .pine-favorites .pc-body{padding:12px!important;}}
@media(max-width:360px){body.pine-preview:not(.admin-on) .pine-favorites .grid-products{grid-template-columns:1fr!important;}}
@media(prefers-reduced-motion:reduce){body.pine-preview:not(.admin-on) #app>:first-child{animation:none!important;}}

@media(max-width:820px){
 body.pine-preview:not(.admin-on) #siteNav nav.links{display:none!important;}
 body.pine-preview:not(.admin-on):not(.editmode-on){padding-bottom:calc(var(--pine-dock-height,116px) + max(8px,env(safe-area-inset-bottom)) + 14px)!important;}
 body.pine-preview .tab27{display:none!important;}
 body.pine-preview:not(.admin-on):not(.editmode-on) .pine-mobile-primary{display:block;position:fixed;inset:auto 10px max(8px,env(safe-area-inset-bottom));z-index:180;padding:7px 10px;background:#1C2724;border:1px solid #526459;border-radius:20px;box-shadow:0 5px 20px #15281F33;}
 body.pine-preview .pine-mobile-primary nav.links{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px 7px;width:100%;padding:0;margin:0;overflow:visible;}
 body.pine-preview .pine-mobile-primary nav.links :is(a,button){display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:44px;padding:6px 3px;margin:0!important;border:0;border-radius:10px;white-space:nowrap;color:#F5F0E8!important;font:600 12px/1.2 Manrope,system-ui,sans-serif;text-decoration:none;opacity:1!important;transform:none!important;animation:none!important;}
 body.pine-preview #app .crumbs{padding-left:48px;}
 body.pine-preview .pine-mobile-primary nav.links :is(a,button):hover{background:#33473B;}
 body.pine-preview .pine-mobile-primary nav.links a.is-active{background:#D9EADD;color:#193C2A!important;}
 body.pine-preview .pine-mobile-primary .pine-home-link svg{width:16px;height:16px;}
 body.pine-preview:not(.admin-on) #siteNav{grid-template-columns:auto 1fr;}
 body.pine-preview:not(.admin-on) #siteNav .nav-right{gap:6px;min-width:0;}
 body.pine-preview:not(.admin-on) #siteNav .cart-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:4px;min-width:44px;min-height:44px;padding:6px!important;}
 body.pine-preview:not(.admin-on) #siteNav .cart-btn>span:nth-child(2){display:none;}
 body.pine-preview:not(.admin-on) .hero2{padding-top:126px!important;}
 body.pine-preview:not(.admin-on) .wa-float{bottom:calc(var(--pine-dock-height,116px) + max(8px,env(safe-area-inset-bottom)) + 22px)!important;}
 .pine-more-panel{right:12px;width:min(326px,calc(100vw - 24px));max-height:calc(100dvh - var(--pine-dock-height,116px) - 120px);}
 .pine-demo-badge{bottom:calc(var(--pine-dock-height,116px) + max(8px,env(safe-area-inset-bottom)) + 14px);}
}
@media(max-width:360px){
 body.pine-preview:not(.admin-on) #siteNav{padding:10px 12px!important;gap:10px;}
 body.pine-preview:not(.admin-on) #siteNav .brand{width:44px;}
 body.pine-preview:not(.admin-on) #siteNav .nav-right{gap:4px;}
 body.pine-preview:not(.admin-on) #siteNav .customer-pill{gap:6px;padding:6px 8px;}
 body.pine-preview:not(.admin-on) #siteNav #cpName{font-size:12px;}
 body.pine-preview:not(.admin-on) #siteNav .cp-wallet{min-width:44px;padding:5px 8px;font-size:13px!important;}
}

/* Restrained depth and motion for the public café, retaining the Pine palette. */
body.pine-preview:not(.admin-on) .hero2-media-card {
 border:1px solid #e8e0ce55;box-shadow:inset 0 1px 0 #ffffff30,0 30px 65px #07140f55,0 8px 18px #07140f30;
 isolation:isolate;
}
body.pine-preview:not(.admin-on) .hero2-media-card::after {
 content:'';position:absolute;inset:0;pointer-events:none;border-radius:inherit;
 background:linear-gradient(135deg,#fff9e61a,transparent 40%,#0d221a24);z-index:1;
}
body.pine-preview:not(.admin-on) :is(.why-card,.cat-card,.pcard) {box-shadow:inset 0 1px 0 #ffffff80,0 5px 16px #1c27240a;}
body.pine-preview:not(.admin-on) .pcard .pc-imgwrap img {transition:transform .6s cubic-bezier(.2,.65,.3,1);}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine) {
 body.pine-preview:not(.admin-on) .hero2-media-card {transition:transform .6s cubic-bezier(.2,.65,.3,1),box-shadow .6s ease;}
 body.pine-preview:not(.admin-on) .hero2-media-card:hover {transform:perspective(1200px) rotateY(-2deg) rotateX(1deg) translateY(-3px);box-shadow:0 38px 75px #07140f60;}
 body.pine-preview:not(.admin-on) .pcard:hover .pc-imgwrap img {transform:scale(1.045);}
 body.pine-preview:not(.admin-on) :is(.cat-card,.why-card):hover {transform:perspective(1100px) translateY(-4px) rotateX(1deg);box-shadow:0 16px 32px #1c27241a;}
}
@media(prefers-reduced-motion:reduce) {
 body.pine-preview:not(.admin-on) :is(.hero2-media-card,.pcard,.cat-card,.why-card,.pc-imgwrap img) {animation:none!important;transition:none!important;transform:none!important;}
}

.pine-preview #app [data-public-heading]{font-size:clamp(30px,4vw,48px)!important;line-height:1.15!important;letter-spacing:-.02em!important}
.pine-preview #app .hero-local-summary{max-width:580px;margin:18px 0 0;color:#f3eee5!important;font-size:16px!important;line-height:1.65!important}.pine-preview #app .local-visit-guide{max-width:1000px}.pine-preview #app .local-visit-guide h2{font-size:clamp(26px,3.5vw,38px)!important;line-height:1.25!important}.pine-preview #app .local-visit-guide h3{font-size:22px!important;line-height:1.35!important;margin:28px 0 10px}.pine-preview #app .local-visit-guide p{line-height:1.8!important;color:#43534b!important}.pine-preview #app .local-visit-guide a{color:#244f3d;text-decoration:underline}
.pine-preview #app .public-journal{padding:180px 24px 100px}.pine-preview #app .public-journal h1{font-size:clamp(30px,4vw,48px)!important;line-height:1.15!important;letter-spacing:-.02em!important}.pine-preview #app .public-journal h2{font-size:clamp(23px,3vw,30px)!important;line-height:1.3!important;letter-spacing:-.01em!important}.pine-preview #app .public-journal p{font-size:18px!important;line-height:1.8!important}@media(max-width:600px){.pine-preview #app .public-journal{padding:150px 20px 110px}}
.public-journal{max-width:900px;margin:auto;padding:clamp(24px,5vw,70px) 24px;color:#243c33}.public-journal h1{font-size:clamp(30px,4vw,52px)!important;line-height:1.15!important;margin:20px 0}.public-journal h2{font-size:clamp(23px,3vw,30px)!important;line-height:1.3!important;margin:32px 0 12px}.public-journal p{font-size:18px;line-height:1.8;color:#43534b}.public-journal a,.public-site-links a{color:#244f3d;text-decoration:underline;text-underline-offset:4px}.public-journal nav,.public-site-links{display:flex;flex-wrap:wrap;gap:18px}.public-site-links{justify-content:center;padding:24px;background:#f3eee5;border-top:1px solid #d4dbd3}.journal-list article{padding:12px 0 24px;border-bottom:1px solid #cdd5ce}.public-journal nav{padding-top:28px}