:root{
  --black:#0b0906;
  --black-2:#131009;
  --gold:#d4af37;
  --gold-light:#f0d78c;
  --red:#a5261d;
  --cream:#f4ecd8;
  --text-dim:#c9bfa8;
  --radius:14px;
  --shadow:0 20px 50px rgba(0,0,0,.45);
  font-size:16px;
}

*{box-sizing:border-box;}
html{scroll-behavior:auto;}
html.lenis, html.lenis body{height:auto;}
body{
  margin:0;
  background:var(--black);
  color:var(--cream);
  font-family:'Poppins',sans-serif;
  overflow-x:hidden;
}
h1,h2,h3{font-family:'Cinzel',serif; margin:0;}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.container{width:min(1140px, 92%); margin-inline:auto;}
.tbd{color:#e0a95c; font-style:italic;}

.eyebrow{
  display:inline-block; color:var(--gold); font-family:'Cinzel',serif; font-size:.78rem;
  letter-spacing:.25em; text-transform:uppercase; margin-bottom:.8rem; text-align:center; width:100%;
}
.story-inner .eyebrow, .promo-video .eyebrow, .menu-section .eyebrow{display:block;}

/* ---------- Scroll progress ---------- */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%; z-index:300;
  background:linear-gradient(90deg, var(--gold), var(--gold-light));
  box-shadow:0 0 8px rgba(212,175,55,.6);
}

/* ---------- Header ---------- */
.site-header{
  position:fixed; inset:0 0 auto 0; z-index:100;
  background:rgba(11,9,6,.55);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(212,175,55,.1);
  transition:background .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.site-header.scrolled{
  background:rgba(11,9,6,.9);
  border-bottom-color:rgba(212,175,55,.25);
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

/* ---------- Ticker ---------- */
.ticker{
  overflow:hidden; background:linear-gradient(90deg, var(--gold), var(--gold-light), var(--gold));
  height:32px; transition:height .35s ease, opacity .35s ease;
}
.site-header.scrolled .ticker{height:0; opacity:0;}
.ticker-track{
  display:flex; gap:3rem; white-space:nowrap; width:max-content;
  animation:ticker-scroll 22s linear infinite;
  padding:0 1.5rem; align-items:center; height:32px;
}
.ticker-track span{color:#1a1206; font-size:.78rem; font-weight:700; letter-spacing:.05em;}
@keyframes ticker-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
.header-inner{display:flex; align-items:center; justify-content:space-between; padding:.5rem 0; transition:padding .35s ease;}
.site-header.scrolled .header-inner{padding:.3rem 0;}
.brand-logo{height:56px; width:auto; border-radius:8px; transition:height .35s ease, transform .35s ease;}
.site-header.scrolled .brand-logo{height:42px;}
.brand:hover .brand-logo{transform:scale(1.08) rotate(-3deg);}
.nav{display:flex; gap:2rem; font-weight:500; letter-spacing:.03em;}
.nav a{position:relative; padding:.3rem 0; color:var(--cream); font-size:.95rem; transition:color .2s;}
.nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--gold);transition:width .25s;}
.nav a:hover::after, .nav a.active::after{width:100%;}
.nav a.active{color:var(--gold-light);}
.header-actions{display:flex; align-items:center; gap:1rem;}
.cart-btn{position:relative; background:none; border:1px solid var(--gold); color:var(--gold); width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer; transition:transform .2s, background .2s;}
.cart-btn:hover{background:rgba(212,175,55,.12); transform:scale(1.05);}
.cart-count{position:absolute; top:-6px; right:-6px; background:var(--red); color:#fff; font-size:.7rem; font-weight:700; border-radius:50%; width:18px; height:18px; display:flex; align-items:center; justify-content:center;}
.burger{display:none; background:none; border:none; cursor:pointer; flex-direction:column; gap:5px; padding:0;}
.burger span{width:26px; height:2px; background:var(--gold);}

/* ---------- Hero ---------- */
.hero{
  position:relative; min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center;
  background:
    radial-gradient(ellipse at 50% 20%, rgba(165,38,29,.25), transparent 60%),
    radial-gradient(ellipse at 50% 100%, rgba(212,175,55,.12), transparent 55%),
    var(--black);
  padding:8rem 1.5rem 3rem;
  overflow:hidden;
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 50% 30%, rgba(212,175,55,.22), transparent 60%);
  animation:hero-glow 7s ease-in-out infinite;
}
@keyframes hero-glow{
  0%,100%{opacity:.35;}
  50%{opacity:1;}
}
.hero-embers{
  position:absolute; inset:0;
  background-image:
    radial-gradient(2px 2px at 20% 80%, rgba(255,150,60,.8), transparent),
    radial-gradient(2px 2px at 70% 90%, rgba(255,150,60,.6), transparent),
    radial-gradient(1.5px 1.5px at 40% 95%, rgba(255,180,90,.7), transparent),
    radial-gradient(2px 2px at 85% 85%, rgba(255,150,60,.5), transparent),
    radial-gradient(1.5px 1.5px at 55% 92%, rgba(255,180,90,.6), transparent);
  animation:embers 6s linear infinite;
  opacity:.6;
}
@keyframes embers{
  0%{transform:translateY(0); opacity:.6;}
  100%{transform:translateY(-100vh); opacity:0;}
}
.hero-content{position:relative; z-index:2; max-width:640px;}

.hero-logo-parallax{width:min(260px, 60vw); margin:0 auto 1.5rem;}
.hero-logo-wrap{
  position:relative; border-radius:18px; overflow:hidden;
  transition:transform .4s ease;
}
.hero-logo-wrap:hover{transform:scale(1.05) rotate(-1.5deg);}
.hero-logo{
  width:100%; display:block;
  filter:drop-shadow(0 10px 30px rgba(212,175,55,.25));
  animation:logo-float 4.5s ease-in-out infinite, logo-glow 4.5s ease-in-out infinite;
}
@keyframes logo-float{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-10px);}
}
@keyframes logo-glow{
  0%,100%{filter:drop-shadow(0 10px 30px rgba(212,175,55,.25));}
  50%{filter:drop-shadow(0 16px 42px rgba(212,175,55,.55));}
}
.hero-logo-shine{
  position:absolute; top:0; left:-60%; width:40%; height:100%; pointer-events:none;
  background:linear-gradient(115deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform:skewX(-20deg);
  animation:logo-shine 5s ease-in-out infinite;
  animation-delay:1.2s;
}
@keyframes logo-shine{
  0%{left:-60%;}
  25%{left:130%;}
  100%{left:130%;}
}
.hero-tagline{font-size:1.15rem; color:var(--text-dim); margin-bottom:2rem; letter-spacing:.02em;}
.hero-cta{display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;}
.scroll-cue{position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); color:var(--gold); font-size:1.5rem; animation:bounce 2s infinite;}
@keyframes bounce{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,10px);}}

.reveal{opacity:0; transform:translateY(30px);}

.btn{
  display:inline-block; padding:.9rem 1.8rem; border-radius:999px; font-weight:600; letter-spacing:.02em;
  cursor:pointer; border:1px solid transparent; transition:transform .2s, box-shadow .2s, background .2s;
  font-size:.95rem;
}
.btn:hover{transform:translateY(-2px);}
.btn-gold{background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:#1a1206; box-shadow:0 10px 25px rgba(212,175,55,.25);}
.hero-cta .btn-gold{animation:pulse-glow 2.6s ease-in-out infinite;}
@keyframes pulse-glow{
  0%,100%{box-shadow:0 10px 25px rgba(212,175,55,.25);}
  50%{box-shadow:0 10px 34px rgba(212,175,55,.55);}
}
.btn-outline{border-color:var(--gold); color:var(--gold);}
.btn-outline:hover{background:rgba(212,175,55,.1);}
.btn-block{width:100%; text-align:center;}

/* ---------- Story ---------- */
.story{padding:6rem 0; background:var(--black-2); position:relative;}
.story-inner{max-width:760px; text-align:center; margin-inline:auto;}
.story-flags{display:flex; justify-content:center; gap:1rem; margin-bottom:1.5rem;}
.flag{width:44px; height:30px; border-radius:4px; box-shadow:0 4px 14px rgba(0,0,0,.4); background-size:cover; background-position:center; transition:transform .3s;}
.flag:hover{transform:scale(1.12) rotate(-2deg);}
.flag-fr{background-image:linear-gradient(90deg,#0055A4 33%,#fff 33%,#fff 66%,#EF4135 66%);}
.flag-tr{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800'><rect width='1200' height='800' fill='%23E30A17'/><circle cx='425' cy='400' r='200' fill='%23fff'/><circle cx='485' cy='400' r='160' fill='%23E30A17'/><polygon points='620,330 636.5,377.3 686.6,378.4 646.6,408.7 661.1,456.6 620,428 578.9,456.6 593.4,408.7 553.4,378.4 603.5,377.3' fill='%23fff'/></svg>");}
.story h2{font-size:clamp(1.6rem,3vw,2.4rem); margin-bottom:1.2rem; color:var(--gold-light);}
.story p{color:var(--text-dim); line-height:1.8; font-size:1.05rem;}
.story-badges{display:flex; gap:1.2rem; justify-content:center; flex-wrap:wrap; margin-top:2.5rem;}
.badge{border:1px solid rgba(212,175,55,.3); border-radius:var(--radius); padding:1rem 1.4rem; min-width:150px; transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
.badge:hover{transform:translateY(-6px) scale(1.03); border-color:rgba(212,175,55,.7); box-shadow:0 14px 30px rgba(212,175,55,.15);}
.badge strong{display:block; color:var(--gold); font-family:'Cinzel',serif; font-size:1rem;}
.badge span{display:block; margin-top:.3rem; font-size:.82rem; color:var(--text-dim);}

/* ---------- Menu ---------- */
.menu-section{padding:6rem 0; background:var(--black);}
.section-title{text-align:center; font-size:clamp(1.8rem,3.5vw,2.6rem); color:var(--gold-light);}
.section-sub{text-align:center; color:var(--text-dim); margin-top:.6rem; margin-bottom:2.5rem;}
.menu-banner{width:100%; border-radius:var(--radius); box-shadow:var(--shadow); border:1px solid rgba(212,175,55,.25); margin-bottom:2.5rem;}
.menu-tabs{display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; margin-bottom:2.5rem;}
.menu-tab{
  padding:.6rem 1.3rem; border-radius:999px; border:1px solid rgba(212,175,55,.35); background:transparent;
  color:var(--text-dim); cursor:pointer; font-weight:500; font-size:.9rem; transition:.2s;
}
.menu-tab.active, .menu-tab:hover{background:var(--gold); color:#1a1206; border-color:var(--gold);}
.menu-panel{display:none;}
.menu-panel.active{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.4rem;}
.menu-card{
  position:relative; aspect-ratio:3/4; border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column; justify-content:flex-end;
  border:1px solid rgba(212,175,55,.18); background:#0b0906;
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.menu-card:hover{transform:translateY(-6px); border-color:rgba(212,175,55,.6); box-shadow:var(--shadow);}
.menu-card.unavailable{filter:grayscale(.85); opacity:.65;}
.menu-card.unavailable:hover{transform:none;}
.menu-card-oos{
  position:absolute; top:1rem; left:1rem; z-index:3; background:var(--red); color:#fff;
  font-size:.72rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase;
  padding:.35rem .7rem; border-radius:999px; box-shadow:0 4px 14px rgba(0,0,0,.4);
}
.menu-card-media{position:absolute; inset:0;}
.menu-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.menu-card:hover .menu-card-media img{transform:scale(1.09);}
.menu-card-media::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(ellipse at 50% 35%, transparent 45%, rgba(0,0,0,.55) 100%);
}
.menu-card-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(6,5,3,.97) 0%, rgba(6,5,3,.88) 28%, rgba(6,5,3,.15) 62%, transparent 100%);
}
.menu-card-body{position:relative; z-index:2; padding:1.2rem; display:flex; flex-direction:column; gap:.55rem;}
.menu-card-top{display:flex; justify-content:space-between; align-items:baseline; gap:1rem;}
.menu-card h4{font-family:'Cinzel',serif; color:#fff; font-size:1.08rem; text-shadow:0 2px 8px rgba(0,0,0,.6);}
.menu-price{color:var(--gold-light); font-weight:700; white-space:nowrap; text-shadow:0 2px 8px rgba(0,0,0,.6);}
.menu-desc{
  color:var(--text-dim); font-size:.82rem; line-height:1.45;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.menu-card select{
  background:rgba(11,9,6,.65); backdrop-filter:blur(4px); color:var(--cream);
  border:1px solid rgba(212,175,55,.4); border-radius:8px; padding:.5rem .6rem; font-size:.82rem;
}
.menu-card-actions{display:flex; align-items:center; gap:.7rem; margin-top:.2rem;}
.qty{display:flex; align-items:center; border:1px solid rgba(212,175,55,.4); border-radius:999px; overflow:hidden; background:rgba(11,9,6,.5);}
.qty button{background:none; border:none; color:var(--gold); width:30px; height:30px; cursor:pointer; font-size:1rem;}
.qty span{min-width:22px; text-align:center; font-size:.9rem; color:var(--cream);}
.add-btn{flex:1; background:var(--gold); color:#1a1206; border:none; border-radius:999px; padding:.6rem 1rem; font-weight:700; cursor:pointer; transition:transform .2s;}
.add-btn:hover{transform:translateY(-2px);}
.add-btn:disabled{opacity:.5; cursor:not-allowed; transform:none;}
.add-btn.added{background:var(--red); color:#fff;}

/* ---------- Promo video ---------- */
.promo-video{padding:6rem 0 2rem; background:var(--black); text-align:center;}
.video-wrap{
  position:relative; width:min(380px, 85vw); aspect-ratio:9/16; margin:2rem auto 0;
  border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); border:1px solid rgba(212,175,55,.25);
}
.video-wrap video{width:100%; height:100%; display:block; background:#000; object-fit:cover;}
.video-sound-btn{
  position:absolute; top:1rem; right:1rem; z-index:2;
  background:rgba(11,9,6,.75); backdrop-filter:blur(6px); color:var(--cream); border:1px solid rgba(212,175,55,.4);
  border-radius:999px; padding:.5rem .9rem; font-size:.78rem; cursor:pointer; transition:.2s;
}
.video-sound-btn:hover{background:rgba(212,175,55,.2);}
.video-sound-btn.is-unmuted{opacity:0; pointer-events:none;}

/* ---------- Social section ---------- */
.social-section{padding:6rem 0; background:var(--black);}
.social-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1.4rem; margin-top:2.5rem;
}
.social-card{
  display:flex; align-items:center; gap:1rem; padding:1.3rem 1.5rem; border-radius:var(--radius);
  border:1px solid rgba(212,175,55,.22); background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.social-card:hover{transform:translateY(-6px) scale(1.02); box-shadow:var(--shadow); border-color:rgba(212,175,55,.55);}
.social-icon{
  width:54px; height:54px; min-width:54px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  color:#fff; box-shadow:0 8px 20px rgba(0,0,0,.35);
}
.social-card-instagram .social-icon{background:linear-gradient(135deg,#f58529,#dd2a7b 45%,#8134af,#515bd4);}
.social-card-tiktok .social-icon{background:linear-gradient(135deg,#25f4ee,#010101 45%,#fe2c55); color:#fff;}
.social-card-snapchat .social-icon{background:#FFFC00; color:#111;}
.social-card-text{display:flex; flex-direction:column; gap:.15rem; flex:1;}
.social-card-text strong{font-family:'Cinzel',serif; color:var(--cream); font-size:1.02rem;}
.social-card-text span{color:var(--text-dim); font-size:.85rem;}
.social-arrow{color:var(--gold); font-size:1.3rem; transition:transform .3s ease;}
.social-card:hover .social-arrow{transform:translateX(6px);}

/* ---------- Food marquee ---------- */
.food-marquee{padding:3rem 0; background:var(--black-2); overflow:hidden; border-top:1px solid rgba(212,175,55,.1); border-bottom:1px solid rgba(212,175,55,.1);}
.marquee-track{
  display:flex; align-items:center; gap:1.6rem; width:max-content;
  animation:marquee-scroll 34s linear infinite;
}
.food-marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track img{
  width:140px; height:140px; object-fit:cover; border-radius:50%;
  border:2px solid rgba(212,175,55,.35); box-shadow:0 10px 25px rgba(0,0,0,.4);
  background:#fff; transition:transform .3s ease, border-color .3s ease;
}
.marquee-track img:hover{transform:scale(1.12); border-color:var(--gold);}
@keyframes marquee-scroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
@media (max-width:720px){
  .marquee-track img{width:100px; height:100px;}
  .marquee-track{gap:1rem;}
}

/* ---------- Contact ---------- */
.contact{padding:6rem 0; background:var(--black-2);}
.contact-inner{display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:stretch;}
.contact-info h2{color:var(--gold-light); font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:1.5rem;}
.contact-info ul{list-style:none; padding:0; margin:0 0 2rem; display:flex; flex-direction:column; gap:1.1rem;}
.contact-cta-row{display:flex; gap:1rem; flex-wrap:wrap;}
.contact-info li strong{color:var(--gold); font-family:'Cinzel',serif; font-size:.85rem; letter-spacing:.05em;}

.contact-info li a{color:var(--cream); border-bottom:1px solid rgba(212,175,55,.4);}
.contact-map iframe{width:100%; height:100%; min-height:320px; border:0; border-radius:var(--radius); filter:grayscale(.3) contrast(1.1);}

/* ---------- Footer ---------- */
.site-footer{padding:2.5rem 0; background:var(--black); border-top:1px solid rgba(212,175,55,.15);}
.footer-inner{display:flex; flex-direction:column; align-items:center; gap:.8rem; text-align:center;}
.footer-logo{height:38px; border-radius:6px;}
.footer-social{display:flex; gap:.9rem;}
.footer-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(212,175,55,.3); color:var(--gold);
  display:flex; align-items:center; justify-content:center; transition:transform .25s ease, background .25s ease, color .25s ease;
}
.footer-social a:hover{transform:translateY(-3px) scale(1.08); background:var(--gold); color:#1a1206;}
.footer-inner p{color:var(--text-dim); font-size:.82rem;}

/* ---------- Customize modal ---------- */
.customize-overlay{position:fixed; inset:0; background:rgba(0,0,0,.7); z-index:210; opacity:0; pointer-events:none; transition:opacity .3s;}
.customize-overlay.open{opacity:1; pointer-events:auto;}
.customize-modal{
  position:fixed; top:50%; left:50%; transform:translate(-50%,-48%) scale(.96); z-index:211;
  width:min(640px, 92vw); max-height:85vh; background:var(--black-2); border-radius:var(--radius);
  border:1px solid rgba(212,175,55,.3); box-shadow:0 30px 70px rgba(0,0,0,.6);
  display:flex; flex-direction:column; opacity:0; pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.customize-modal.open{opacity:1; transform:translate(-50%,-50%) scale(1); pointer-events:auto;}
.customize-modal-header{display:flex; justify-content:space-between; align-items:center; padding:1.2rem 1.4rem; border-bottom:1px solid rgba(212,175,55,.2);}
.customize-modal-header h3{font-family:'Cinzel',serif; color:var(--gold-light); font-size:1.2rem;}
.customize-modal-header button{background:none; border:none; color:var(--cream); font-size:1.6rem; cursor:pointer;}
.customize-modal-body{flex:1; overflow-y:auto; padding:1rem 1.4rem;}
.customize-section{margin-bottom:1.4rem;}
.customize-section h4{
  background:linear-gradient(135deg, var(--gold-light), var(--gold)); color:#1a1206;
  font-family:'Cinzel',serif; font-size:.85rem; letter-spacing:.03em; text-transform:uppercase;
  padding:.6rem 1rem; border-radius:8px; margin-bottom:.8rem;
}
.customize-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:.6rem;}
.customize-opt{
  display:flex; flex-direction:column; align-items:flex-start; gap:.2rem; text-align:left;
  background:rgba(255,255,255,.02); border:1px solid rgba(212,175,55,.25); border-radius:10px;
  padding:.6rem .8rem; color:var(--cream); font-size:.85rem; cursor:pointer; transition:.2s;
}
.customize-opt:hover{border-color:rgba(212,175,55,.6); background:rgba(212,175,55,.08);}
.customize-opt.selected{background:var(--gold); border-color:var(--gold); color:#1a1206; font-weight:600;}
.customize-opt small{color:var(--text-dim); font-size:.75rem;}
.customize-opt.selected small{color:#4a3a10;}
.customize-opt.disabled{opacity:.4; cursor:not-allowed; text-decoration:line-through;}
.customize-opt small.oos{color:var(--red); text-decoration:none; font-weight:700;}
.customize-opt-qty{flex-direction:row; align-items:center; justify-content:space-between; cursor:default;}
.customize-opt-qty span{display:flex; flex-direction:column; gap:.2rem;}
.qty-sm button{width:24px; height:24px; font-size:.85rem;}
.qty-sm span{font-size:.82rem;}
.customize-modal-footer{padding:1rem 1.4rem 1.3rem; border-top:1px solid rgba(212,175,55,.2);}
.customize-modal-footer textarea{
  width:100%; min-height:48px; resize:vertical; background:var(--black); border:1px solid rgba(212,175,55,.3);
  color:var(--cream); border-radius:8px; padding:.6rem .8rem; font-family:inherit; font-size:.85rem; margin-bottom:.9rem;
}
.customize-modal-actions{display:flex; gap:.8rem;}
.customize-modal-actions .btn{flex:1; text-align:center;}

/* ---------- Cart drawer ---------- */
.cart-overlay{position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:200; opacity:0; pointer-events:none; transition:opacity .3s;}
.cart-overlay.open{opacity:1; pointer-events:auto;}
.cart-drawer{
  position:fixed; top:0; right:0; height:100%; width:min(420px,92vw); background:var(--black-2); z-index:201;
  transform:translateX(100%); transition:transform .35s ease; display:flex; flex-direction:column;
  box-shadow:-20px 0 40px rgba(0,0,0,.5);
}
.cart-drawer.open{transform:translateX(0);}
.cart-drawer-header{display:flex; justify-content:space-between; align-items:center; padding:1.2rem 1.4rem; border-bottom:1px solid rgba(212,175,55,.2);}
.cart-drawer-header h3{color:var(--gold-light); font-size:1.2rem;}
.cart-drawer-header button{background:none; border:none; color:var(--cream); font-size:1.6rem; cursor:pointer;}
.cart-items{flex:1; overflow-y:auto; padding:1rem 1.4rem; display:flex; flex-direction:column; gap:.9rem;}
.cart-empty{color:var(--text-dim); text-align:center; margin-top:2rem; font-size:.9rem;}
.cart-item{display:flex; justify-content:space-between; gap:.8rem; border-bottom:1px dashed rgba(212,175,55,.15); padding-bottom:.8rem;}
.cart-item-name{font-weight:600; font-size:.9rem;}
.cart-item-meta{font-size:.78rem; color:var(--text-dim); margin-top:.2rem;}
.cart-item-remove{background:none; border:none; color:#c0705f; cursor:pointer; font-size:.78rem; margin-top:.3rem;}
.cart-item-price{white-space:nowrap; color:var(--gold); font-weight:600; font-size:.9rem;}
.cart-footer{padding:1.2rem 1.4rem 1.6rem; border-top:1px solid rgba(212,175,55,.2);}
.cart-subtotals{margin-bottom:.6rem;}
.cart-line{display:flex; justify-content:space-between; font-size:.85rem; color:var(--text-dim); padding:.2rem 0;}
.cart-line[hidden]{display:none;}
.cart-line strong{color:var(--cream); font-weight:600;}
.cart-total{display:flex; justify-content:space-between; margin-bottom:1rem; font-family:'Cinzel',serif; font-size:1.1rem; color:var(--cream); padding-top:.5rem; border-top:1px dashed rgba(212,175,55,.2);}
.order-form{display:flex; flex-direction:column; gap:.6rem;}
.delivery-address-wrap{display:flex; flex-direction:column; gap:.4rem; margin-top:-.2rem;}
.delivery-address-wrap[hidden]{display:none;}
.delivery-status{font-size:.76rem; margin:0; color:var(--text-dim);}
.delivery-status.loading{color:var(--gold);}
.delivery-status.success{color:#7fbf7f;}
.delivery-status.error{color:#e08a7a;}

.address-input-row{position:relative; display:flex; gap:.4rem;}
.address-input-row input{flex:1;}
.geolocate-btn{
  flex-shrink:0; width:40px; background:var(--black); border:1px solid rgba(212,175,55,.3);
  border-radius:8px; font-size:1rem; cursor:pointer; transition:.2s; color:var(--gold);
}
.geolocate-btn:hover{background:rgba(212,175,55,.15); border-color:var(--gold);}
.geolocate-btn.locating{animation:geo-pulse 1s ease-in-out infinite;}
@keyframes geo-pulse{0%,100%{opacity:1;}50%{opacity:.4;}}

.address-suggestions{
  position:absolute; top:calc(100% + 4px); left:0; right:44px; z-index:20;
  background:var(--black-2); border:1px solid rgba(212,175,55,.35); border-radius:8px;
  max-height:220px; overflow-y:auto; list-style:none; margin:0; padding:.3rem;
  box-shadow:0 12px 30px rgba(0,0,0,.5);
}
.address-suggestions[hidden]{display:none;}
.address-suggestions li{
  padding:.55rem .6rem; font-size:.82rem; color:var(--cream); border-radius:6px; cursor:pointer;
}
.address-suggestions li:hover, .address-suggestions li.active{background:rgba(212,175,55,.18);}
.order-form input, .order-form select, .order-form textarea{
  background:var(--black); border:1px solid rgba(212,175,55,.3); color:var(--cream); border-radius:8px; padding:.65rem .8rem; font-family:inherit; font-size:.88rem;
}
.order-form textarea{resize:vertical; min-height:52px;}
.cart-hint{font-size:.72rem; color:var(--text-dim); margin-top:.8rem; text-align:center; line-height:1.4;}

.cart-toast{position:fixed; bottom:1.5rem; left:50%; transform:translate(-50%,20px); background:var(--gold); color:#1a1206; padding:.7rem 1.3rem; border-radius:999px; font-weight:600; font-size:.85rem; z-index:300; opacity:0; transition:.3s; pointer-events:none;}
.cart-toast.show{opacity:1; transform:translate(-50%,0);}

/* ---------- Floating WhatsApp button ---------- */
.fab-whatsapp{
  position:fixed; bottom:1.6rem; right:1.6rem; z-index:150;
  width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center; box-shadow:0 10px 25px rgba(0,0,0,.4);
  opacity:0; transform:translateY(20px) scale(.8); pointer-events:none;
  transition:opacity .3s ease, transform .3s ease;
}
.fab-whatsapp.show{opacity:1; transform:translateY(0) scale(1); pointer-events:auto;}
.fab-whatsapp::before{
  content:""; position:absolute; inset:0; border-radius:50%; background:#25D366;
  animation:fab-pulse 2.4s ease-out infinite; z-index:-1;
}
@keyframes fab-pulse{
  0%{transform:scale(1); opacity:.6;}
  100%{transform:scale(1.8); opacity:0;}
}
.fab-whatsapp:hover{transform:translateY(-3px) scale(1.06);}

/* ---------- Responsive ---------- */
@media (max-width:820px){
  .contact-inner{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:1fr;}
}
@media (max-width:720px){
  .nav{position:fixed; top:108px; left:0; right:0; background:var(--black-2); flex-direction:column; padding:1.5rem; gap:1.2rem; transform:translateY(-130%); transition:transform .3s; border-bottom:1px solid rgba(212,175,55,.2);}
  .ticker{height:26px;}
  .ticker-track{height:26px; gap:2rem;}
  .ticker-track span{font-size:.68rem;}
  .fab-whatsapp{width:52px; height:52px; bottom:1.2rem; right:1.2rem;}
  .nav.open{transform:translateY(0);}
  .burger{display:flex;}
  .brand-logo{height:44px;}
}
