:root{
  --cream:#FBF3E6;
  --cream-deep:#F1E3CB;
  --paper:#FFFDF9;
  --ink:#2A1B10;
  --ink-soft:#5E3F2A;
  --ink-mute:#8A6B4E;
  --terracotta:#AB6731;
  --amber:#CE772A;
  --gold:#F0A430;
  --ember:#E4650A;
  --line:rgba(42,27,16,.13);
  --shadow-sm:0 6px 18px rgba(42,27,16,.10);
  --shadow-lg:0 30px 70px -20px rgba(42,27,16,.35);
  --dark:#241509;
  --dark-2:#170D05;
  --radius:22px;
  --radius-sm:14px;
  --maxw:1320px;
}
*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html{-webkit-text-size-adjust:100%;}
html,body{overflow-x:clip; background:var(--cream); color:var(--ink);}
html.lenis, html.lenis body{height:auto;}
html.lenis.lenis-smooth{scroll-behavior:auto!important;}
body{
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:16px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
[hidden]{display:none!important;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
input{font:inherit;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:'Bodoni Moda',serif; font-weight:600; line-height:1.06; letter-spacing:-.01em;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4vw,64px);}
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--terracotta);
}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--terracotta);}
.italic{font-style:italic; font-weight:500;}
::selection{background:var(--terracotta); color:var(--cream);}

/* ---------- grain + cursor ---------- */
.grain{
  position:fixed; inset:0; z-index:9998; pointer-events:none; opacity:.045; mix-blend-mode:multiply;
  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");
}
.cursor-dot,.cursor-ring{position:fixed; top:0; left:0; border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%);}
.cursor-dot{width:6px; height:6px; background:var(--ink); transition:opacity .2s;}
.cursor-ring{width:34px; height:34px; border:1.4px solid var(--ink-soft); opacity:.6; transition:width .25s,height .25s,opacity .25s,border-color .25s,background-color .25s;}
.cursor-ring.is-hover{width:58px; height:58px; background:rgba(171,103,49,.1); border-color:var(--terracotta);}
@media (hover:none),(pointer:coarse){.cursor-dot,.cursor-ring{display:none;}}

/* ---------- preloader ---------- */
#preloader{
  position:fixed; inset:0; z-index:10000; background:var(--dark);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:22px;
  color:var(--cream);
}
#preloader .pl-mark{width:64px; height:64px; animation:spin 2.6s linear infinite;}
#preloader .pl-count{font-family:'Bodoni Moda',serif; font-size:15px; letter-spacing:.1em; font-variant-numeric:tabular-nums; color:var(--gold);}
#preloader .pl-word{font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--ink-mute);}
.pl-hide{transition:opacity .7s ease, transform .8s ease;}
@keyframes spin{to{transform:rotate(360deg);}}

/* ---------- header ---------- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:500;
  padding:16px clamp(20px,4vw,64px);
  display:flex; align-items:center; justify-content:space-between; gap:20px;
  transition:transform .5s cubic-bezier(.22,1,.36,1), background-color .4s, box-shadow .4s, padding .3s;
}
.site-header.is-solid{background:rgba(251,243,230,.86); backdrop-filter:blur(14px) saturate(1.3); box-shadow:0 8px 30px -12px rgba(42,27,16,.18);}
.site-header.is-hidden{transform:translateY(-115%);}
.brand{display:flex; align-items:center; gap:10px; font-family:'Bodoni Moda',serif; font-weight:700; font-size:21px;}
.brand img{height:30px; width:auto;}
.nav-links{display:flex; align-items:center; gap:34px; font-size:14.5px; font-weight:600;}
.nav-links a{position:relative; padding:4px 0;}
.nav-links a::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:1.5px; background:var(--terracotta); transition:right .3s ease;}
.nav-links a:hover::after{right:0;}
.nav-links a.is-current::after{right:0;}
.nav-actions{display:flex; align-items:center; gap:10px;}
.icon-btn{
  width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--paper); border:1px solid var(--line); position:relative; transition:background .25s,border-color .25s,transform .25s;
}
.icon-btn:hover{background:var(--terracotta); border-color:var(--terracotta); color:#fff; transform:translateY(-2px);}
.icon-btn svg{width:18px; height:18px;}
.cart-badge{
  position:absolute; top:-4px; right:-4px; min-width:19px; height:19px; padding:0 4px; border-radius:10px;
  background:var(--ember); color:#fff; font-size:10.5px; font-weight:800; display:flex; align-items:center; justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif; box-shadow:0 0 0 2px var(--cream);
}
.cart-badge[data-zero="1"]{display:none;}
.burger{display:none; width:42px; height:42px; border-radius:50%; border:1px solid var(--line); background:var(--paper); align-items:center; justify-content:center; flex-direction:column; gap:5px;}
.burger span{width:17px; height:1.6px; background:var(--ink); display:block; transition:transform .3s, opacity .3s;}
.mobile-panel{position:fixed; inset:0; z-index:490; background:var(--cream); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:28px; transform:translateY(-100%); transition:transform .5s cubic-bezier(.22,1,.36,1); }
.mobile-panel.open{transform:translateY(0);}
.mobile-panel a{font-family:'Bodoni Moda',serif; font-size:32px;}
.mobile-panel .mp-wa{font-family:'Plus Jakarta Sans',sans-serif; font-size:15px; font-weight:700; color:var(--terracotta); border:1.5px solid var(--terracotta); padding:12px 26px; border-radius:40px; margin-top:10px;}

/* ---------- buttons ---------- */
.btn-primary,.btn-ghost{
  display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:15px 30px; border-radius:40px; font-weight:700; font-size:14.5px; letter-spacing:.01em;
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s, background .3s, color .3s, border-color .3s;
  white-space:nowrap;
}
.btn-primary{background:var(--ink); color:var(--cream); box-shadow:0 12px 26px -10px rgba(42,27,16,.5);}
.btn-primary:hover{background:var(--terracotta); transform:translateY(-3px); box-shadow:0 16px 30px -10px rgba(171,103,49,.55);}
.btn-ghost{border:1.5px solid var(--ink); color:var(--ink); background:transparent;}
.btn-ghost:hover{background:var(--ink); color:var(--cream); transform:translateY(-3px);}
.btn-block{width:100%;}
.btn-sm{padding:10px 20px; font-size:13px;}

/* ---------- hero ---------- */
.hero{position:relative; padding:150px 0 90px; overflow:visible;}
.hero-inner{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center;}
.hero-eyebrow{margin-bottom:22px;}
.hero h1{font-size:clamp(46px,6vw,84px); color:var(--ink);}
.hero h1 em{font-style:italic; color:var(--terracotta); font-weight:500;}
.hero .lead{margin:26px 0 36px; font-size:17px; color:var(--ink-soft); max-width:460px; line-height:1.65;}
.hero-ctas{display:flex; align-items:center; gap:16px; flex-wrap:wrap;}
.badge-rotate-wrap{position:absolute; left:clamp(20px,4vw,64px); bottom:-40px; width:120px; height:120px; z-index:20;}
.badge-rotate-wrap svg.orbit{animation:spin 20s linear infinite; color:var(--ink-soft);}
.badge-rotate-wrap .badge-center{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:26px;}
@media (prefers-reduced-motion:reduce){.badge-rotate-wrap svg.orbit{animation:none;}}

.hero-bento{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:100px; gap:12px; grid-auto-flow:dense;}
.bento-item{position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-sm); background:var(--cream-deep);}
.bento-item img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1);}
.bento-item:hover img{transform:scale(1.08);}
.bento-item.big{grid-column:span 2; grid-row:span 3;}
.bento-item.wide{grid-column:span 2; grid-row:span 2;}
.bento-item.tall{grid-column:span 1; grid-row:span 3;}
.bento-item.small{grid-column:span 1; grid-row:span 2;}
@media (max-width:860px){
  .hero-bento{display:flex; overflow-x:auto; gap:12px; padding-bottom:6px; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;}
  .hero-bento::-webkit-scrollbar{display:none;}
  .bento-item{flex:0 0 58%; aspect-ratio:1/1; height:auto; scroll-snap-align:start;}
  .bento-item.big,.bento-item.wide,.bento-item.tall,.bento-item.small{grid-column:unset; grid-row:unset;}
}

/* ---------- marquee ---------- */
.marquee-wrap{border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden; background:var(--ink); padding:16px 0;}
.marquee-track{display:flex; width:max-content; will-change:transform;}
.marquee-track span{
  font-family:'Bodoni Moda',serif; font-style:italic; font-size:clamp(22px,3vw,34px); color:var(--cream);
  padding:0 28px; white-space:nowrap; display:flex; align-items:center; gap:28px;
}
.marquee-track span::after{content:'✦'; font-style:normal; color:var(--gold); font-size:16px;}

/* ---------- poveste ---------- */
.poveste{padding:150px 0; position:relative;}
.poveste-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start;}
.poveste h2{font-size:clamp(32px,3.6vw,48px); margin:18px 0 0;}
.poveste-text p{font-family:'Bodoni Moda',serif; font-size:clamp(21px,2.2vw,29px); line-height:1.45; color:var(--ink-soft);}
.poveste-text .word{display:inline-block; opacity:.18; transition:opacity .25s;}
.poveste-counters{display:grid; grid-template-columns:repeat(2,1fr); gap:36px 24px; align-self:stretch; align-content:center;}
.counter-item{border-left:2px solid var(--terracotta); padding-left:20px;}
.counter-item b{display:block; font-family:'Bodoni Moda',serif; font-size:clamp(38px,4vw,56px); color:var(--ink);}
.counter-item span{font-size:12.5px; letter-spacing:.05em; color:var(--ink-mute); text-transform:uppercase;}

/* ---------- categorii pinned ---------- */
.cat-pin{position:relative; height:100vh; overflow:hidden; background:var(--dark);}
.cat-track{display:flex; height:100%; width:400%;}
.cat-panel{position:relative; width:100vw; height:100%; flex-shrink:0; overflow:hidden;}
.cat-panel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(.62) saturate(1.05);}
.cat-panel-text{position:relative; z-index:2; height:100%; display:flex; flex-direction:column; justify-content:flex-end; padding:70px clamp(20px,5vw,90px); color:var(--cream);
  opacity:.35; transform:translateY(24px); transition:opacity .6s ease, transform .6s ease;}
.cat-panel.is-active .cat-panel-text{opacity:1; transform:translateY(0);}
.cat-panel-index{font-family:'Bodoni Moda',serif; font-style:italic; font-size:16px; color:var(--gold); margin-bottom:14px; display:block;}
.cat-panel-text h3{font-size:clamp(38px,6vw,80px); margin-bottom:16px;}
.cat-panel-text p{max-width:480px; color:rgba(251,243,230,.8); margin-bottom:26px; font-size:15.5px;}
.cat-panel-text .btn-ghost{border-color:var(--cream); color:var(--cream);}
.cat-panel-text .btn-ghost:hover{background:var(--cream); color:var(--ink);}
.cat-progress{position:absolute; left:clamp(20px,5vw,90px); top:56px; z-index:2; display:flex; gap:8px;}
.cat-progress span{width:34px; height:2px; background:rgba(251,243,230,.3); position:relative; overflow:hidden;}
.cat-progress span::after{content:''; position:absolute; inset:0; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .4s;}
.cat-panel.is-active ~ .cat-progress, .cat-progress{}
@media (max-width:860px){
  .cat-panel-text{padding:30px 24px;}
  .cat-panel-text h3{font-size:clamp(30px,9vw,42px);}
  .cat-panel-text p{font-size:14px;}
  .cat-progress{left:24px; top:24px;}
}

/* ---------- menu / product grid (shared: bestsellers, meniu.html, similar products) ---------- */
.menu-section{padding:150px 0 100px; background:var(--paper);}
.menu-head{max-width:640px; margin-bottom:50px;}
.menu-head h2{font-size:clamp(32px,3.6vw,48px); margin:16px 0 18px;}
.menu-head p{color:var(--ink-soft); font-size:15.5px;}
.menu-controls{position:sticky; top:76px; z-index:80; background:var(--paper); padding:18px 0; margin-bottom:10px; border-bottom:1px solid var(--line); display:flex; gap:20px; flex-wrap:wrap; align-items:center; justify-content:space-between;}
.menu-filters{display:flex; gap:10px; flex-wrap:wrap;}
.filter-btn{padding:10px 18px; border-radius:30px; border:1.5px solid var(--line); font-size:13.5px; font-weight:700; color:var(--ink-soft); display:flex; gap:7px; transition:all .25s;}
.filter-btn span{color:var(--ink-mute); font-weight:600;}
.filter-btn:hover{border-color:var(--terracotta);}
.filter-btn.active{background:var(--ink); border-color:var(--ink); color:var(--cream);}
.filter-btn.active span{color:var(--gold);}
.menu-search{position:relative;}
.menu-search input{width:240px; max-width:60vw; padding:11px 18px 11px 40px; border-radius:30px; border:1.5px solid var(--line); background:var(--cream); font-size:13.5px;}
.menu-search input:focus{outline:none; border-color:var(--terracotta);}
.menu-search svg{position:absolute; left:14px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--ink-mute);}

.best-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:40px;}
.best-head-text{max-width:600px;}
.best-head-text h2{font-size:clamp(32px,3.6vw,48px); margin:16px 0 0;}
.best-cta{text-align:center; margin-top:46px;}

.menu-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(268px,1fr)); gap:22px; margin-top:30px;}
.best-section .menu-grid,.similar-section .menu-grid{margin-top:0;}
.card{background:var(--cream); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; opacity:0; transform:translateY(26px); transition:box-shadow .3s, transform .3s;}
.card.revealed{opacity:1; transform:none;}
.card:hover{box-shadow:var(--shadow-lg); transform:translateY(-4px);}
.card-media-link{display:block;}
.card-media{aspect-ratio:1/1; overflow:hidden; position:relative; background:var(--cream-deep);}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,1,.36,1);}
.card:hover .card-media img{transform:scale(1.07);}
.card-media--empty{display:flex; align-items:center; justify-content:center; font-size:44px; background:linear-gradient(135deg,var(--cream-deep),var(--cream));}
.card-tag{position:absolute; top:12px; left:12px; z-index:2; font-size:10.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; padding:6px 11px; border-radius:20px; color:#fff; display:flex; align-items:center; gap:4px;}
.card-tag--viral{background:linear-gradient(120deg,var(--ember),var(--gold));}
.card-tag--nou{background:var(--ink);}
.card-tag--bestseller{background:linear-gradient(120deg,#7A5A22,var(--gold)); color:#2A1B10;}
.card-body{padding:20px 20px 22px; display:flex; flex-direction:column; gap:10px; flex:1;}
.card-title-row{display:flex; justify-content:space-between; align-items:baseline; gap:10px;}
.card-title-row h3{font-size:18px; font-weight:600; line-height:1.2;}
.card-title-row a:hover h3{color:var(--terracotta);}
.card-weight{font-size:11.5px; color:var(--ink-mute); white-space:nowrap; font-weight:600;}
.card-desc{font-size:13px; color:var(--ink-soft); line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.card-variants{display:flex; flex-wrap:wrap; gap:6px;}
.card-variants span{font-size:10.5px; color:var(--ink-mute); background:var(--cream-deep); padding:4px 9px; border-radius:20px;}
.card-foot{margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; padding-top:8px;}
.card-price{font-family:'Bodoni Moda',serif; font-size:20px; font-weight:600; color:var(--terracotta);}
.card-price small{font-family:'Plus Jakarta Sans',sans-serif; font-size:11px; color:var(--ink-mute); font-weight:600;}
.card-actions{display:flex; align-items:center; gap:8px;}
.stepper{display:flex; align-items:center; border:1.5px solid var(--line); border-radius:20px; overflow:hidden;}
.stepper button{width:26px; height:26px; font-size:15px; font-weight:700; display:flex; align-items:center; justify-content:center;}
.stepper button:hover{background:var(--cream-deep);}
.step-qty{width:20px; text-align:center; font-size:13px; font-weight:700;}
.add-btn{background:var(--ink); color:var(--cream); padding:8px 16px; border-radius:20px; font-size:12.5px; font-weight:700; transition:background .25s, transform .25s;}
.add-btn:hover{background:var(--terracotta); transform:translateY(-2px);}
.add-btn.is-added{background:#3E7A4E;}
.menu-empty{text-align:center; padding:60px 0; color:var(--ink-mute); font-size:15px;}

@media (max-width:600px){
  .menu-grid{grid-template-columns:repeat(2,1fr); gap:12px;}
  .card-body{padding:12px 12px 14px; gap:5px;}
  .card-title-row{flex-direction:column; align-items:flex-start; gap:2px;}
  .card-title-row h3{font-size:13.5px; line-height:1.25;}
  .card-weight{font-size:10px;}
  .card-desc{font-size:11px; -webkit-line-clamp:2; line-height:1.4;}
  .card-variants{display:none;}
  .card-tag{font-size:9px; padding:4px 8px; top:8px; left:8px;}
  .card-foot{flex-direction:column; align-items:stretch; gap:8px; padding-top:4px;}
  .card-price{font-size:15px;}
  .card-actions{width:100%;}
  .stepper{display:none;}
  .add-btn{width:100%; text-align:center; padding:9px 12px; font-size:12px;}
}

/* ---------- viral spotlight ---------- */
.viral-section{background:var(--dark); color:var(--cream); position:relative; overflow:hidden;}
.viral-inner{display:grid; grid-template-columns:1fr 1fr; align-items:center; min-height:78vh;}
.viral-media{height:100%; position:relative; overflow:hidden;}
.viral-media img{width:100%; height:100%; object-fit:cover; min-height:420px;}
.viral-media::after{content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(23,13,5,.05),rgba(23,13,5,.65));}
.viral-text{padding:60px clamp(24px,5vw,90px);}
.viral-text .eyebrow{color:var(--gold);}
.viral-text .eyebrow::before{background:var(--gold);}
.viral-text h2{font-size:clamp(46px,6vw,76px); margin:18px 0 20px;}
.viral-text p{color:rgba(251,243,230,.78); font-size:16px; max-width:440px; margin-bottom:28px; line-height:1.6;}
.viral-price{font-family:'Bodoni Moda',serif; font-size:30px; color:var(--gold); margin-bottom:28px;}
.viral-price span{font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; color:rgba(251,243,230,.55);}
.viral-text .btn-primary{background:var(--gold); color:var(--dark-2);}
.viral-text .btn-primary:hover{background:var(--cream); color:var(--dark-2);}
@media (max-width:860px){.viral-inner{grid-template-columns:1fr;} .viral-media img{min-height:320px;}}

/* ---------- locatii ---------- */
.locatii-section{padding:140px 0;}
.section-head{max-width:600px; margin-bottom:50px;}
.section-head h2{font-size:clamp(32px,3.6vw,48px); margin-top:16px;}
.locatii-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px;}
.loc-card{background:var(--cream-deep); border-radius:var(--radius); padding:38px; display:flex; flex-direction:column; gap:18px;}
.loc-card h3{font-size:23px;}
.loc-card address{font-style:normal; color:var(--ink-soft); font-size:15px;}
.loc-hours{font-size:13.5px; color:var(--ink-soft); display:flex; flex-direction:column; gap:4px;}
.loc-hours b{color:var(--ink);}
.loc-actions{display:flex; gap:10px; margin-top:auto; flex-wrap:wrap;}
@media (max-width:860px){.locatii-grid{grid-template-columns:1fr;}}

/* ---------- cta final ---------- */
.cta-final{padding:120px 0; text-align:center;}
.cta-final h2{font-size:clamp(36px,5vw,64px); max-width:800px; margin:0 auto 30px;}
.cta-final .btn-primary{margin:0 auto;}

/* ---------- footer ---------- */
.site-footer{background:var(--dark); color:rgba(251,243,230,.8); padding:80px 0 30px;}
.footer-top{display:flex; align-items:center; gap:14px; margin-bottom:50px;}
.footer-top img{height:34px; filter:brightness(0) invert(1);}
.footer-top span{font-family:'Bodoni Moda',serif; font-style:italic; color:rgba(251,243,230,.55);}
.footer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding-bottom:50px; border-bottom:1px solid rgba(251,243,230,.14);}
.footer-grid h4{font-family:'Plus Jakarta Sans',sans-serif; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); margin-bottom:16px;}
.footer-grid a,.footer-grid p{display:block; font-size:14.5px; margin-bottom:9px; color:rgba(251,243,230,.75);}
.footer-grid a:hover{color:var(--cream);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:26px; font-size:12.5px; color:rgba(251,243,230,.45); flex-wrap:wrap; gap:10px;}
.footer-bottom a{color:rgba(251,243,230,.6);}

/* ---------- cart ---------- */
.cart-fab{position:fixed; right:26px; bottom:26px; z-index:300; width:60px; height:60px; border-radius:50%; background:var(--ink); color:var(--cream); display:flex; align-items:center; justify-content:center; box-shadow:0 14px 30px -8px rgba(42,27,16,.55); transition:transform .3s, opacity .4s, visibility .4s; opacity:0; visibility:hidden; transform:translateY(14px);}
.cart-fab.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
.cart-fab.is-visible:hover{transform:translateY(-3px) scale(1.04);}
.cart-fab svg{width:23px; height:23px;}
.cart-fab .cart-badge{top:-2px; right:-2px;}
.cart-fab.bump{animation:bump .4s ease;}
@keyframes bump{0%{transform:scale(1);}40%{transform:scale(1.18);}100%{transform:scale(1);}}

.cart-overlay{position:fixed; inset:0; background:rgba(23,13,5,.5); z-index:400; opacity:0; pointer-events:none; transition:opacity .35s; backdrop-filter:blur(2px);}
.cart-overlay.open{opacity:1; pointer-events:auto;}
.cart-drawer{position:fixed; top:0; right:0; height:100%; width:min(420px,92vw); background:var(--paper); z-index:401; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .45s cubic-bezier(.22,1,.36,1); box-shadow:-20px 0 50px rgba(42,27,16,.25);}
.cart-drawer.open{transform:translateX(0);}
.cart-head{display:flex; align-items:center; justify-content:space-between; padding:24px 26px; border-bottom:1px solid var(--line);}
.cart-head h3{font-size:22px;}
.cart-close{width:34px; height:34px; border-radius:50%; border:1px solid var(--line); font-size:16px;}
.cart-items{flex:1; overflow-y:auto; padding:10px 26px;}
.cart-line{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line);}
.cart-line img{width:60px; height:60px; border-radius:12px; object-fit:cover; background:var(--cream-deep);}
.cart-line-body{flex:1; display:flex; flex-direction:column; gap:6px;}
.cart-line-top{display:flex; justify-content:space-between; gap:8px;}
.cart-line-top h4{font-size:14.5px; font-weight:700;}
.cart-line-remove{font-size:11px; color:var(--ink-mute); text-decoration:underline; align-self:flex-start;}
.cart-line-bottom{display:flex; align-items:center; justify-content:space-between;}
.cart-line-price{font-weight:700; font-size:14px; color:var(--terracotta);}
.cart-empty{text-align:center; padding:60px 20px; color:var(--ink-mute);}
.cart-empty span{font-size:38px; display:block; margin-bottom:14px;}
.cart-foot{padding:22px 26px 28px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:14px;}
.cart-subtotal{display:flex; justify-content:space-between; font-size:15px; font-weight:700;}
.cart-subtotal strong{font-family:'Bodoni Moda',serif; font-size:22px; color:var(--terracotta);}
.cart-clear{font-size:12.5px; color:var(--ink-mute); text-decoration:underline; align-self:center;}

/* ---------- toast ---------- */
.toast{position:fixed; left:50%; bottom:100px; transform:translate(-50%,20px); background:var(--ink); color:var(--cream); padding:13px 24px; border-radius:30px; font-size:13.5px; font-weight:700; z-index:600; opacity:0; transition:opacity .3s, transform .3s; display:flex; align-items:center; gap:8px; pointer-events:none;}
.toast.show{opacity:1; transform:translate(-50%,0);}

/* ---------- vs pill ---------- */
.vs-pill{position:fixed; left:26px; bottom:26px; z-index:300; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .4s, visibility .4s, transform .4s;}
.vs-pill.is-visible{opacity:1; visibility:visible; transform:translateY(0);}
.vs-pill a{display:flex; align-items:center; gap:8px; background:var(--paper); border:1px solid var(--line); padding:11px 18px 11px 14px; border-radius:30px; font-size:12px; font-weight:700; color:var(--ink-soft); box-shadow:var(--shadow-sm);}
.vs-pill a:hover{border-color:var(--terracotta); color:var(--terracotta);}
.vs-pill svg{width:14px; height:14px; color:var(--terracotta);}

/* ---------- product page ---------- */
.breadcrumb{padding:130px 0 0; font-size:13px; color:var(--ink-mute);}
.breadcrumb a{color:var(--ink-soft); text-decoration:underline;}
.breadcrumb a:hover{color:var(--terracotta);}
.breadcrumb span{margin:0 6px;}
.product-hero{padding:26px 0 100px;}
.product-hero-inner{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:flex-start;}
.product-media{position:relative; border-radius:var(--radius); overflow:hidden; aspect-ratio:1/1; box-shadow:var(--shadow-lg); background:var(--cream-deep);}
.product-media img{width:100%; height:100%; object-fit:cover;}
.product-info h1{font-size:clamp(32px,4vw,50px); margin:14px 0 10px;}
.product-weight-row{display:flex; align-items:baseline; gap:14px; margin-bottom:24px; flex-wrap:wrap;}
.product-price{font-family:'Bodoni Moda',serif; font-size:32px; color:var(--terracotta); font-weight:600;}
.product-weight{color:var(--ink-mute); font-size:13.5px; font-weight:600;}
.product-desc{color:var(--ink-soft); font-size:15.5px; line-height:1.7; margin-bottom:30px; max-width:520px;}
.variant-picker{margin-bottom:30px;}
.variant-picker h4{font-size:11.5px; text-transform:uppercase; letter-spacing:.09em; color:var(--ink-mute); margin-bottom:12px;}
.variant-chips{display:flex; flex-wrap:wrap; gap:9px;}
.variant-chip{padding:9px 17px; border-radius:30px; border:1.5px solid var(--line); font-size:13px; font-weight:600; color:var(--ink-soft); transition:all .2s;}
.variant-chip:hover{border-color:var(--terracotta);}
.variant-chip.selected{background:var(--ink); border-color:var(--ink); color:var(--cream);}
.product-actions{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:16px;}
.product-actions .stepper{transform:scale(1.15); transform-origin:left center;}
.product-wa-link{display:inline-block; margin-top:6px; font-size:13.5px; color:var(--ink-mute); text-decoration:underline;}
.product-wa-link:hover{color:var(--terracotta);}
.similar-section{padding:20px 0 120px; background:var(--paper);}
.similar-section h2{font-size:clamp(24px,3vw,34px); margin-bottom:28px;}
.not-found{padding:220px 0 140px; text-align:center;}
.not-found h1{font-size:clamp(32px,4vw,48px); margin-bottom:16px;}
.not-found p{color:var(--ink-soft); margin-bottom:26px;}
@media (max-width:860px){.product-hero-inner{grid-template-columns:1fr; gap:36px;}}

/* ---------- checkout ---------- */
.checkout-section{padding:150px 0 130px;}
.checkout-crumbs{font-size:13px; color:var(--ink-mute); margin-bottom:14px;}
.checkout-crumbs a{color:var(--ink-soft); text-decoration:underline;}
.checkout-crumbs a:hover{color:var(--terracotta);}
.checkout-head{max-width:640px; margin-bottom:44px;}
.checkout-head h2{font-size:clamp(32px,3.6vw,48px); margin:6px 0 0;}
.checkout-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:50px; align-items:start;}

.co-block{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:28px 30px; margin-bottom:22px;}
.co-title{display:flex; align-items:center; gap:12px; font-size:19px; margin-bottom:20px;}
.co-step{display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--ink); color:var(--cream); font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:800; flex-shrink:0;}

.co-items{display:flex; flex-direction:column;}
.co-item{display:flex; align-items:center; gap:14px; padding:14px 0; border-bottom:1px solid var(--line);}
.co-item:last-child{border-bottom:none;}
.co-item img{width:56px; height:56px; border-radius:12px; object-fit:cover; background:var(--cream-deep); flex-shrink:0;}
.co-item-noimg{width:56px; height:56px; border-radius:12px; background:var(--cream-deep); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.co-item-body{flex:1; min-width:0;}
.co-item-body h4{font-size:14.5px; font-weight:700;}
.co-item-body span{font-size:12px; color:var(--ink-mute);}
.co-item .stepper{transform:scale(.92); transform-origin:left center;}
.co-item-price{font-weight:700; font-size:14px; color:var(--terracotta); white-space:nowrap; min-width:56px; text-align:right;}
.co-item-remove{font-size:15px; color:var(--ink-mute);}
.co-item-remove:hover{color:var(--ember);}

.mode-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.mode-btn{display:flex; align-items:center; gap:12px; text-align:left; padding:16px 18px; border:1.5px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); transition:border-color .2s, background .2s;}
.mode-btn:hover{border-color:var(--terracotta);}
.mode-btn.is-active{border-color:var(--terracotta); background:rgba(171,103,49,.07);}
.mode-ico{font-size:22px; flex-shrink:0;}
.mode-t{display:flex; flex-direction:column; gap:2px;}
.mode-t strong{font-size:14.5px;}
.mode-t small{font-size:12px; color:var(--ink-mute);}

.co-label{font-size:12px; font-weight:700; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;}
.chip-row{display:flex; flex-wrap:wrap; gap:9px; margin-bottom:20px;}
.chip-row:last-child{margin-bottom:0;}
.chip{display:flex; flex-direction:column; align-items:center; gap:2px; padding:9px 14px; border:1.5px solid var(--line); border-radius:var(--radius-sm); background:var(--paper); font-size:13px; font-weight:700; color:var(--ink-soft); min-width:64px; transition:all .2s;}
.chip span{font-size:11px; font-weight:600; color:var(--ink-mute);}
.chip:hover{border-color:var(--terracotta);}
.chip.is-active{background:var(--ink); border-color:var(--ink); color:var(--cream);}
.chip.is-active span{color:rgba(251,243,230,.65);}
.chip-sm{flex-direction:row; min-width:0; font-family:'Plus Jakarta Sans',sans-serif; font-size:12.5px; padding:9px 14px;}
.co-note{font-size:13px; color:var(--ink-soft); background:var(--cream-deep); padding:12px 16px; border-radius:var(--radius-sm); margin-bottom:16px;}

.field-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
.field-grid > .field-full{grid-column:1/-1;}

.gdpr{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:var(--ink-mute); margin:4px 0 20px; cursor:pointer; font-weight:400;}
.gdpr input{width:16px; height:16px; margin-top:2px; accent-color:var(--terracotta); flex-shrink:0;}

.co-warn{font-size:12.5px; color:var(--ember); margin-top:10px; font-weight:600;}

.checkout-summary{background:var(--cream-deep); border-radius:var(--radius); padding:32px; position:sticky; top:100px;}
.checkout-summary h3{font-size:20px; margin-bottom:20px;}
.checkout-line{display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--line); font-size:14.5px;}
.checkout-total{display:flex; justify-content:space-between; align-items:baseline; padding-top:18px; margin-top:6px; font-weight:700; font-size:16px;}
.checkout-total strong{font-family:'Bodoni Moda',serif; font-size:26px; color:var(--terracotta);}
.sum-trust{margin-top:22px; padding-top:18px; border-top:1px solid var(--line); display:flex; flex-direction:column; gap:9px; font-size:12.5px; color:var(--ink-soft);}

.checkout-form{display:flex; flex-direction:column; gap:16px;}
.checkout-form label{display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:700; color:var(--ink-soft);}
.checkout-form input[type=text],.checkout-form input[type=tel],.checkout-form input[type=email],.checkout-form input[type=date],.checkout-form textarea{
  font:inherit; font-weight:400; font-size:15px; padding:13px 16px; border-radius:var(--radius-sm); border:1.5px solid var(--line); background:var(--paper); color:var(--ink);
}
.checkout-form input:focus,.checkout-form textarea:focus{outline:none; border-color:var(--terracotta);}
.checkout-form textarea{resize:vertical; min-height:70px;}
.checkout-required{color:var(--terracotta);}
.checkout-note{font-size:12.5px; color:var(--ink-mute); text-align:center; margin-top:14px;}

.checkout-empty{text-align:center; padding:60px 20px; max-width:480px; margin:0 auto;}

.order-ok{text-align:center; max-width:560px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:16px;}
.ok-badge{width:60px; height:60px; border-radius:50%; background:var(--ink); color:var(--gold); font-size:26px; display:flex; align-items:center; justify-content:center;}
.order-ok h2{font-size:clamp(28px,3.4vw,38px);}
.order-ok .ok-sub{color:var(--ink-soft); font-size:15px; margin-top:-6px;}
.ok-card{background:var(--cream-deep); border-radius:var(--radius); padding:26px 28px; width:100%; text-align:left;}
.ok-card p{display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-bottom:1px solid var(--line); font-size:14px;}
.ok-card p:last-child{border-bottom:none;}
.ok-card .ok-total{font-weight:700; font-size:16px;}
.ok-card .ok-total strong{font-family:'Bodoni Moda',serif; font-size:20px; color:var(--terracotta);}
.ok-card .ok-meta{display:block; color:var(--ink-soft); font-size:13.5px; line-height:1.7; padding-top:14px; border-bottom:none;}
.ok-actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; width:100%;}
.ok-wa{background:#25D366; color:#fff; box-shadow:0 12px 26px -10px rgba(37,211,102,.55);}
.ok-wa:hover{background:#1EBE5A; color:#fff;}
.ok-note{font-size:12.5px; color:var(--ink-mute); max-width:420px;}

@media (max-width:860px){
  .checkout-grid{grid-template-columns:1fr;}
  .checkout-summary{position:static;}
  .mode-row{grid-template-columns:1fr;}
  .field-grid{grid-template-columns:1fr;}
}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .nav-links{display:none;}
  .burger{display:flex;}
  .hero-inner{grid-template-columns:1fr;}
  .poveste-grid{grid-template-columns:1fr; gap:50px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .hero{padding:130px 0 60px;}
  .hero-ctas{flex-wrap:nowrap; gap:10px;}
  .hero-ctas .btn-primary,.hero-ctas .btn-ghost{flex:1; padding:14px 10px; font-size:13px; white-space:normal; text-align:center;}
  .poveste,.locatii-section,.cta-final,.menu-section{padding-top:90px; padding-bottom:70px;}
  .footer-grid{grid-template-columns:1fr;}
  .menu-controls{position:static;}
  .vs-pill{left:16px; bottom:16px;}
  .vs-pill a span{display:none;}
  .cart-fab{right:16px; bottom:16px;}
}

/* ---------- static/QA mode ---------- */
body.qa-static .reveal-on-scroll,body.qa-static .card,body.qa-static .cat-panel-text{opacity:1!important; transform:none!important;}
body.qa-static #preloader{display:none!important;}
