/* ============================================================
   Blanchette ArtSweets — demo VisionSite
   Concept: "Galeria de arome" — atelierul de artă în torturi al
   Ligiei Albu (Sibiu), tratat ca o mică galerie: pereți ivoire,
   cerneală aproape-neagră, un singur accent bijuterie (prun) și
   linii fine de aur vechi. Fiecare desert are eticheta lui, ca
   într-o expoziție.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Jost:wght@300;400;500;600;700&family=Mrs+Saint+Delafield&display=swap');

:root{
  --ink:#18131A;
  --ink-soft:#4B3B49;
  --ink-mute:#8A7A87;
  --ivory:#FAF6EF;
  --ivory-deep:#F1E7D6;
  --paper:#FFFEFB;
  --plum:#5C3358;
  --plum-deep:#301A32;
  --plum-soft:#8A5F82;
  --gold:#B4863C;
  --gold-soft:#D9BE87;
  --line:rgba(24,19,26,.14);
  --line-soft:rgba(24,19,26,.08);
  --shadow-sm:0 10px 26px rgba(24,19,26,.10);
  --shadow-md:0 24px 60px -16px rgba(24,19,26,.28);
  --radius:24px;
  --radius-sm:14px;
  --maxw:1240px;
  --font-display:'Cormorant Garamond', serif;
  --font-body:'Jost', system-ui, sans-serif;
  --font-script:'Mrs Saint Delafield', cursive;
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:auto;}
html,body{background:var(--ivory); color:var(--ink); overflow-x:clip;}
body{font-family:var(--font-body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; font-weight:400;}
h1,h2,h3,h4{font-family:var(--font-display); font-weight:600; line-height:1.05; letter-spacing:-.01em; color:var(--ink);}
h1 em, h2 em, h3 em{font-style:italic; color:var(--plum); font-weight:500;}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
img{max-width:100%; display:block;}
ul{list-style:none;}
[hidden]{display:none!important;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,56px);}

::selection{background:var(--plum); color:var(--ivory);}

/* ---- scrollbar (webkit, subtle) ---- */
::-webkit-scrollbar{width:10px;}
::-webkit-scrollbar-track{background:var(--ivory);}
::-webkit-scrollbar-thumb{background:var(--gold-soft); border-radius:10px;}

/* ---- eyebrow / labels ---- */
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:var(--font-body); font-size:12.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--plum);}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--gold);}
.eyebrow.on-dark{color:var(--gold-soft);}
.eyebrow.on-dark::before{background:var(--gold-soft);}
.eyebrow.center{justify-content:center;}
.eyebrow.center::before{display:none;}
.eyebrow.center::after{content:''; width:26px; height:1px; background:var(--gold); margin-left:10px;}

.script-accent{font-family:var(--font-script); font-size:1.5em; color:var(--plum); font-weight:400;}

/* ---- buttons ---- */
.btn-primary,.btn-ghost,.btn-dark{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:16px 32px; border-radius:40px; font-weight:600; font-size:14px; letter-spacing:.03em; transition:transform .3s cubic-bezier(.16,1,.3,1), box-shadow .3s, background .3s, color .3s, border-color .3s; white-space:nowrap;}
.btn-primary{background:var(--plum); color:var(--ivory); box-shadow:0 14px 30px -12px rgba(92,51,88,.55);}
.btn-primary:hover{background:var(--plum-deep); transform:translateY(-2px);}
.btn-ghost{border:1.5px solid var(--ink); color:var(--ink);}
.btn-ghost:hover{border-color:var(--plum); color:var(--plum); transform:translateY(-2px);}
.btn-dark{background:var(--ink); color:var(--ivory);}
.btn-dark:hover{background:var(--plum-deep); transform:translateY(-2px);}
.btn-on-dark{border:1.5px solid rgba(250,246,239,.4); color:var(--ivory);}
.btn-on-dark:hover{border-color:var(--gold-soft); color:var(--gold-soft); transform:translateY(-2px);}
.btn-block{width:100%;}
.btn-sm{padding:11px 20px; font-size:12.5px;}

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:fixed; top:0; left:0; right:0; z-index:200; padding:20px 0; transition:background .4s, padding .4s, box-shadow .4s;}
.site-header .container{display:flex; align-items:center; justify-content:space-between; gap:20px;}
.site-header.is-scrolled{background:rgba(250,246,239,.92); backdrop-filter:blur(14px); padding:12px 0; box-shadow:0 1px 0 var(--line);}
.brand{display:flex; align-items:center;}
.brand img{height:44px; width:auto; transition:height .4s;}
.is-scrolled .brand img{height:36px;}
.nav-main{display:flex; align-items:center; gap:38px;}
.nav-links{display:flex; align-items:center; gap:34px; font-size:13px; font-weight:600; letter-spacing:.09em; text-transform:uppercase;}
.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(--plum); transition:right .3s cubic-bezier(.16,1,.3,1);}
.nav-links a:hover::after,.nav-links a.is-active::after{right:0;}
.nav-links a.is-active{color:var(--plum);}
.nav-actions{display:flex; align-items:center; gap:16px;}
.icon-btn{position:relative; width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:1.5px solid var(--line); transition:border-color .3s, background .3s;}
.icon-btn:hover{border-color:var(--plum);}
.icon-btn svg{width:18px; height:18px; stroke:var(--ink); fill:none; stroke-width:1.6;}
.cart-badge{position:absolute; top:-4px; right:-4px; min-width:19px; height:19px; padding:0 4px; border-radius:50%; background:var(--plum); color:var(--ivory); font-size:10.5px; font-weight:700; display:flex; align-items:center; justify-content:center; font-family:var(--font-body);}
.cart-badge:empty,.cart-badge[data-zero]{display:none;}
.nav-burger{display:none; width:42px; height:42px; border-radius:50%; border:1.5px solid var(--line); flex-direction:column; align-items:center; justify-content:center; gap:5px;}
.nav-burger span{width:18px; height:1.5px; background:var(--ink); transition:transform .3s, opacity .3s;}
.nav-burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-burger.is-open span:nth-child(2){opacity:0;}
.nav-burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

.mobile-nav{position:fixed; inset:0; z-index:190; background:var(--ivory); display:flex; flex-direction:column; padding:110px 32px 40px; transform:translateY(-100%); transition:transform .5s cubic-bezier(.16,1,.3,1); opacity:0;}
.mobile-nav.is-open{transform:translateY(0); opacity:1;}
.mobile-nav a{font-family:var(--font-display); font-size:34px; font-weight:600; padding:14px 0; border-bottom:1px solid var(--line);}
.mobile-nav .mn-contact{margin-top:auto; font-size:13px; color:var(--ink-mute); display:flex; flex-direction:column; gap:8px;}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative; min-height:100vh; display:flex; align-items:center; padding:150px 0 90px; overflow:hidden; background:var(--ivory);}
.hero-bg-tex{position:absolute; inset:0; opacity:.5; mix-blend-mode:multiply; background-size:cover; background-position:center; pointer-events:none;}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,5vw,70px); align-items:center; position:relative; z-index:2;}
.hero-copy .eyebrow{margin-bottom:22px;}
.hero-copy h1{font-size:clamp(44px,6.4vw,84px); font-weight:600;}
.hero-copy p.lede{margin-top:24px; font-size:clamp(16px,1.6vw,19px); color:var(--ink-soft); max-width:480px; line-height:1.7;}
.hero-actions{display:flex; flex-wrap:wrap; gap:16px; margin-top:38px;}
.hero-signature{margin-top:46px; display:flex; align-items:center; gap:16px; font-size:13px; color:var(--ink-mute);}
.hero-signature .sig-name{font-family:var(--font-script); font-size:30px; color:var(--ink); line-height:1;}

.hero-art{position:relative; aspect-ratio:4/5; border-radius:var(--radius);}
.hero-art-frame{position:absolute; inset:0; border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md);}
.hero-art-frame img{width:100%; height:100%; object-fit:cover;}
.hero-plate{position:absolute; left:-18px; bottom:34px; background:var(--paper); border:1px solid var(--line); border-radius:16px; padding:16px 20px; box-shadow:var(--shadow-sm); max-width:230px;}
.hero-plate .plate-no{font-family:var(--font-body); font-size:10.5px; letter-spacing:.16em; color:var(--gold); font-weight:700;}
.hero-plate h4{font-size:19px; margin-top:4px;}
.hero-plate span{font-size:11.5px; color:var(--ink-mute);}
.hero-ring{position:absolute; width:150px; height:150px; border:1px solid var(--gold-soft); border-radius:50%; top:-40px; right:-40px; z-index:-1;}

/* ============================================================
   GOLD DIVIDER (motiv de tuș/pensulă de aur)
   ============================================================ */
.gold-divider{display:flex; align-items:center; justify-content:center; gap:18px; padding:64px 0 0;}
.gold-divider svg{width:min(320px,70%); height:14px;}
.gold-divider svg path{stroke:var(--gold); stroke-width:1.4; fill:none;}

/* ============================================================
   PINNED GALLERY (Sala Torturilor / Bufetul Dulce)
   ============================================================ */
.gallery-pin{position:relative; height:100vh; height:100dvh; overflow:hidden; background:var(--ink);}
.gallery-track{display:flex; height:100%; width:max-content; will-change:transform;}
.gallery-panel{position:relative; width:100vw; height:100%; flex-shrink:0; display:flex; align-items:flex-end; overflow:hidden;}
.gallery-panel img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.06); filter:brightness(.62) saturate(1.05);}
.gallery-panel-body{position:relative; z-index:2; padding:clamp(28px,6vw,90px); width:100%; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap;}
.gallery-panel .g-num{font-family:var(--font-body); font-size:12px; letter-spacing:.24em; color:var(--gold-soft); text-transform:uppercase; margin-bottom:14px; display:block;}
.gallery-panel h3{font-size:clamp(38px,6.4vw,86px); color:var(--ivory); max-width:14ch;}
.gallery-panel p{color:rgba(250,246,239,.78); max-width:40ch; margin-top:16px; font-size:15px; line-height:1.7;}
.gallery-panel .g-cta{flex-shrink:0;}
.gallery-progress{position:absolute; left:clamp(20px,5vw,56px); top:clamp(20px,5vw,56px); z-index:3; display:flex; gap:8px;}
.gallery-progress span{width:34px; height:2px; background:rgba(250,246,239,.3); position:relative; overflow:hidden;}
.gallery-progress span::after{content:''; position:absolute; inset:0; background:var(--gold-soft); transform:scaleX(0); transform-origin:left; transition:transform .2s linear;}
.gallery-progress span.is-active::after{transform:scaleX(1);}
.gallery-progress span.is-done::after{transform:scaleX(1);}
.gallery-hint{position:absolute; right:clamp(20px,5vw,56px); top:clamp(20px,5vw,56px); z-index:3; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:rgba(250,246,239,.6); display:flex; align-items:center; gap:8px;}
.gallery-hint svg{width:16px; height:16px; stroke:var(--gold-soft); fill:none; stroke-width:1.6;}

/* ============================================================
   SECTION HEADS
   ============================================================ */
.section{padding:110px 0;}
.section.tight{padding:70px 0;}
.section-head{display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:56px; flex-wrap:wrap;}
.section-head h2{font-size:clamp(32px,4.2vw,54px); max-width:14ch;}
.section-head p{color:var(--ink-soft); max-width:38ch; font-size:15px; line-height:1.7;}
.section-on-dark{background:var(--ink); color:var(--ivory);}
.section-on-dark h2,.section-on-dark h3{color:var(--ivory);}
.section-on-plum{background:var(--plum-deep); color:var(--ivory);}
.section-on-plum h2,.section-on-plum h3{color:var(--ivory);}

/* ============================================================
   PRODUCT GRID + CARD (museum plate)
   ============================================================ */
.product-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.card{position:relative; min-width:0; opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1);}
.card.revealed{opacity:1; transform:none;}
.card-frame{position:relative; border-radius:var(--radius-sm); overflow:hidden; aspect-ratio:4/5; background:var(--ivory-deep);}
.card-frame img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,1,.3,1);}
.card:hover .card-frame img{transform:scale(1.06);}
.card-cat-badge{position:absolute; top:14px; left:14px; background:rgba(250,246,239,.92); backdrop-filter:blur(6px); padding:6px 13px; border-radius:20px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--plum); z-index:2;}
.card-plate{margin-top:16px; padding-top:14px; border-top:1px solid var(--line); display:flex; align-items:flex-start; justify-content:space-between; gap:10px;}
.card-plate > div{min-width:0;}
.card-plate .cp-no{font-size:10.5px; letter-spacing:.16em; color:var(--gold); font-weight:700; display:block; margin-bottom:5px;}
.card-plate h4{font-size:19px; font-weight:600;}
.card-plate .cp-tag{display:block; font-size:12px; color:var(--ink-mute); margin-top:3px;}
.card-plate .cp-price{font-family:var(--font-display); font-size:18px; color:var(--plum); font-weight:600; text-align:right;}
.card-action{margin-top:14px;}
.card-action .stepper{display:flex; align-items:center; justify-content:center; gap:20px; width:100%; border:1.5px solid var(--ink); border-radius:30px; padding:10px 20px;}
.card-action .stepper button{width:22px; height:22px; flex-shrink:0; display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:16px; font-weight:700; line-height:1; transition:background .2s, color .2s;}
.card-action .stepper button:hover{background:var(--ink); color:var(--ivory);}
.card-action .stepper .st-qty{font-size:14px; font-weight:700; min-width:14px; text-align:center;}
.card-add-btn{display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:12px; border:1.5px solid var(--ink); border-radius:30px; font-size:12.5px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; transition:background .25s, color .25s, border-color .25s;}
.card-add-btn:hover{background:var(--ink); color:var(--ivory);}

/* ============================================================
   STORY SECTION (Ligia, citat, info practice)
   ============================================================ */
.story-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,6vw,90px); align-items:center;}
.story-art{position:relative;}
.story-art-main{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md);}
.story-art-main img{aspect-ratio:3/4; object-fit:cover;}
.story-art-sig{position:absolute; bottom:-24px; right:-18px; background:var(--paper); border-radius:20px; padding:18px 22px; box-shadow:var(--shadow-sm); border:1px solid var(--line);}
.story-art-sig .sig-name{font-family:var(--font-script); font-size:32px; color:var(--plum);}
.story-art-sig span{display:block; font-size:11px; color:var(--ink-mute); letter-spacing:.06em; text-transform:uppercase; margin-top:2px;}
.story-copy .eyebrow{margin-bottom:20px;}
.story-copy h2{font-size:clamp(30px,4vw,46px); margin-bottom:22px;}
.story-copy p{color:var(--ink-soft); font-size:15.5px; line-height:1.85; max-width:56ch;}
.story-copy p + p{margin-top:16px;}
.story-quote{margin:30px 0; padding:26px 28px; border-left:2px solid var(--gold); background:var(--ivory-deep); border-radius:0 var(--radius-sm) var(--radius-sm) 0;}
.story-quote p{font-family:var(--font-display); font-style:italic; font-size:18px; color:var(--ink); line-height:1.6;}
.story-quote cite{display:block; margin-top:12px; font-family:var(--font-body); font-style:normal; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--plum); font-weight:600;}
.story-facts{display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:34px;}
.story-fact{padding:18px 20px; border:1px solid var(--line); border-radius:var(--radius-sm);}
.story-fact .sf-num{font-family:var(--font-display); font-size:26px; color:var(--plum); font-weight:600;}
.story-fact span{display:block; font-size:12px; color:var(--ink-mute); margin-top:4px; line-height:1.5;}

/* ============================================================
   GALLERY STRIP
   ============================================================ */
.gstrip{display:flex; gap:20px; overflow-x:auto; padding-bottom:10px; scrollbar-width:none;}
.gstrip::-webkit-scrollbar{display:none;}
.gstrip-item{flex:0 0 auto; width:min(78vw,340px); border-radius:var(--radius-sm); overflow:hidden; position:relative; aspect-ratio:3/4;}
.gstrip-item img{width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.16,1,.3,1);}
.gstrip-item:hover img{transform:scale(1.05);}
.gstrip-item span{position:absolute; left:0; right:0; bottom:0; padding:16px; font-size:12.5px; color:var(--ivory); background:linear-gradient(0deg,rgba(24,19,26,.75),transparent 70%);}

/* ============================================================
   CTA
   ============================================================ */
.cta-section{position:relative; padding:130px 0; text-align:center; background:var(--plum-deep); overflow:hidden;}
.cta-section h2{color:var(--ivory); font-size:clamp(34px,5.4vw,64px); max-width:16ch; margin:0 auto;}
.cta-section p{color:rgba(250,246,239,.75); max-width:46ch; margin:22px auto 0; font-size:15.5px;}
.cta-actions{display:flex; justify-content:center; gap:16px; margin-top:38px; flex-wrap:wrap;}
.cta-ring{position:absolute; border:1px solid rgba(212,190,135,.28); border-radius:50%;}
.cta-ring.r1{width:520px; height:520px; top:-260px; left:-160px;}
.cta-ring.r2{width:320px; height:320px; bottom:-180px; right:-100px;}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--ink); color:var(--ivory); padding:80px 0 30px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:50px;}
.footer-brand img{height:46px; filter:brightness(0) invert(1);}
.footer-brand p{margin-top:20px; color:rgba(250,246,239,.65); font-size:14px; max-width:32ch; line-height:1.7;}
.footer-col h5{font-family:var(--font-body); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:18px; font-weight:600;}
.footer-col ul{display:flex; flex-direction:column; gap:11px; font-size:14.5px; color:rgba(250,246,239,.82);}
.footer-col a:hover{color:var(--gold-soft);}
.footer-bottom{margin-top:70px; padding-top:26px; border-top:1px solid rgba(250,246,239,.14); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:14px; font-size:12.5px; color:rgba(250,246,239,.5);}
.demo-badge{position:fixed; left:22px; bottom:22px; z-index:150; display:flex; align-items:center; gap:9px; padding:10px 18px 10px 14px; border-radius:30px; background:var(--ink); color:var(--ivory); font-size:12px; font-weight:600; letter-spacing:.03em; box-shadow:var(--shadow-md); border:1px solid rgba(212,190,135,.3);}
.demo-badge::before{content:'✦'; color:var(--gold-soft);}
.demo-badge:hover{background:var(--plum-deep);}

/* ============================================================
   CART DRAWER
   ============================================================ */
.cart-overlay{position:fixed; inset:0; background:rgba(24,19,26,.5); z-index:300; opacity:0; pointer-events:none; transition:opacity .4s;}
.cart-overlay.is-open{opacity:1; pointer-events:auto;}
.cart-drawer{position:fixed; top:0; right:0; bottom:0; width:min(440px,92vw); background:var(--paper); z-index:301; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .5s cubic-bezier(.16,1,.3,1);}
.cart-drawer.is-open{transform:translateX(0);}
.cart-head{display:flex; align-items:center; justify-content:space-between; padding:26px 26px 20px; border-bottom:1px solid var(--line);}
.cart-head h3{font-size:24px;}
.cart-close{width:38px; height:38px; border-radius:50%; border:1.5px solid var(--line); display:flex; align-items:center; justify-content:center; font-size:16px;}
.cart-close:hover{border-color:var(--plum); color:var(--plum);}
.cart-body{flex:1; overflow-y:auto; padding:20px 26px;}
.cart-line{display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line-soft);}
.cart-line img{width:64px; height:64px; border-radius:12px; object-fit:cover; flex-shrink:0;}
.cart-line-body{flex:1; min-width:0;}
.cart-line-body h4{font-size:15px; font-weight:600; font-family:var(--font-body);}
.cart-line-body span{font-size:12px; color:var(--ink-mute); display:block; margin-top:2px;}
.cart-line-foot{display:flex; align-items:center; justify-content:space-between; margin-top:10px;}
.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;}
.stepper button:hover{background:var(--ivory-deep);}
.step-qty{width:20px; text-align:center; font-size:13px; font-weight:700;}
.cart-line-price{font-weight:600; font-size:13.5px; color:var(--plum);}
.cart-line-remove{font-size:12px; color:var(--ink-mute); text-decoration:underline; margin-top:8px;}
.cart-line-remove:hover{color:var(--plum);}
.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);}
.cart-total-row{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:16px;}
.cart-total-row strong{font-family:var(--font-display); font-size:26px; color:var(--plum);}

/* ============================================================
   PAGE HERO (inside pages)
   ============================================================ */
.page-hero{padding:150px 0 60px; background:var(--ivory-deep);}
.breadcrumb{font-size:12.5px; color:var(--ink-mute); margin-bottom:16px; letter-spacing:.02em;}
.breadcrumb a:hover{color:var(--plum);}
.page-hero h1{font-size:clamp(38px,5.4vw,64px);}
.page-hero p{margin-top:14px; color:var(--ink-soft); max-width:52ch; font-size:15.5px;}

/* ---- meniu.html ---- */
.menu-toolbar{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:44px; padding-bottom:26px; border-bottom:1px solid var(--line);}
.menu-tabs{display:flex; gap:10px; flex-wrap:wrap;}
.menu-tab{padding:11px 22px; border-radius:30px; border:1.5px solid var(--line); font-size:13px; font-weight:600; letter-spacing:.03em; transition:all .25s;}
.menu-tab:hover{border-color:var(--plum);}
.menu-tab.is-active{background:var(--ink); border-color:var(--ink); color:var(--ivory);}
.menu-search{position:relative; min-width:220px;}
.menu-search input{width:100%; font:inherit; font-size:14px; padding:12px 18px 12px 40px; border-radius:30px; border:1.5px solid var(--line); background:var(--paper);}
.menu-search input:focus{outline:none; border-color:var(--plum);}
.menu-search svg{position:absolute; left:15px; top:50%; transform:translateY(-50%); width:16px; height:16px; stroke:var(--ink-mute); fill:none; stroke-width:1.8;}
.menu-empty{text-align:center; padding:80px 20px; color:var(--ink-mute);}

/* ---- produs.html ---- */
.product-detail{display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,6vw,80px); align-items:start;}
.pd-media{position:sticky; top:110px;}
.pd-media-main{border-radius:var(--radius); overflow:hidden; aspect-ratio:4/5; box-shadow:var(--shadow-md);}
.pd-media-main img{width:100%; height:100%; object-fit:cover;}
.pd-thumbs{display:flex; gap:12px; margin-top:14px;}
.pd-thumb{width:74px; height:74px; border-radius:12px; overflow:hidden; border:1.5px solid var(--line); cursor:pointer; opacity:.7; transition:opacity .2s, border-color .2s;}
.pd-thumb:hover,.pd-thumb.is-active{opacity:1; border-color:var(--plum);}
.pd-body .cp-no{font-size:11.5px; letter-spacing:.18em; color:var(--gold); font-weight:700;}
.pd-body h1{font-size:clamp(32px,4vw,50px); margin-top:10px;}
.pd-body .pd-tagline{color:var(--ink-soft); font-size:15.5px; margin-top:10px;}
.pd-price{font-family:var(--font-display); font-size:30px; color:var(--plum); font-weight:600; margin-top:22px;}
.pd-price small{font-family:var(--font-body); font-size:13px; color:var(--ink-mute); font-weight:400;}
.pd-desc{margin-top:18px; color:var(--ink-soft); font-size:15px; line-height:1.85; max-width:52ch;}
.pd-block{margin-top:30px; padding-top:26px; border-top:1px solid var(--line);}
.pd-block h5{font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute); font-weight:600; margin-bottom:14px;}
.weight-chips{display:flex; gap:10px; flex-wrap:wrap;}
.weight-chip{padding:12px 20px; border-radius:14px; border:1.5px solid var(--line); font-size:13.5px; font-weight:600; text-align:center; transition:all .2s;}
.weight-chip span{display:block; font-size:11px; color:var(--ink-mute); font-weight:400; margin-top:2px;}
.weight-chip:hover{border-color:var(--plum);}
.weight-chip.is-active{background:var(--ink); border-color:var(--ink); color:var(--ivory);}
.weight-chip.is-active span{color:rgba(250,246,239,.65);}
.pd-actions{display:flex; align-items:center; gap:16px; margin-top:30px; flex-wrap:wrap;}
.pd-actions .stepper{transform:scale(1.1); transform-origin:left center;}
.pd-note{margin-top:16px; font-size:12.5px; color:var(--ink-mute); display:flex; gap:8px; align-items:flex-start;}
.pd-quick{margin-top:14px;}
.pd-notfound{text-align:center; padding:100px 20px;}

.similar-strip{margin-top:110px;}
.similar-strip h3{font-size:clamp(26px,3.2vw,36px); margin-bottom:34px;}

/* ============================================================
   REVEAL utility
   ============================================================ */
.reveal{opacity:0; transform:translateY(30px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.revealed{opacity:1; transform:none;}

/* ============================================================
   CURSOR (desktop only)
   ============================================================ */
.cursor-dot{position:fixed; top:0; left:0; width:9px; height:9px; border-radius:50%; background:var(--plum); pointer-events:none; z-index:999; transform:translate(-50%,-50%); transition:opacity .3s; mix-blend-mode:normal;}
.cursor-ring{position:fixed; top:0; left:0; width:38px; height:38px; border-radius:50%; border:1px solid var(--plum); pointer-events:none; z-index:999; transform:translate(-50%,-50%); transition:width .3s,height .3s,opacity .3s,border-color .3s;}
.cursor-ring.is-big{width:64px; height:64px; border-color:var(--gold);}

/* ============================================================
   CHECKOUT (adaptat din reference_checkout_template)
   ============================================================ */
.checkout-section{padding:150px 0 110px;}
.checkout-head{max-width:640px; margin-bottom:40px;}
.checkout-head h1{font-size:clamp(32px,3.8vw,48px); margin-top:8px;}
.checkout-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:start;}
.co-block{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:30px 32px; margin-bottom:22px;}
.co-title{display:flex; align-items:center; gap:14px; font-size:21px; margin-bottom:22px;}
.co-step{display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:var(--ink); color:var(--ivory); font-family:var(--font-body); font-size:13px; font-weight:700; flex-shrink:0;}
.co-items{display:flex; flex-direction:column;}
.co-item{display:flex; align-items:flex-start; gap:14px; padding:15px 0; border-bottom:1px solid var(--line-soft);}
.co-item:last-child{border-bottom:none;}
.co-item-media{width:58px; height:58px; border-radius:12px; object-fit:cover; flex-shrink:0; background:var(--ivory-deep);}
.co-item-body{flex:1; min-width:0;}
.co-item-body h4{font-size:14.5px; font-weight:600; font-family:var(--font-body);}
.co-item-body span{font-size:12px; color:var(--ink-mute);}
.co-item-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; flex-wrap:wrap;}
.co-item .stepper{transform:scale(.92); transform-origin:left center;}
.co-item-price{font-weight:700; font-size:14px; color:var(--plum); white-space:nowrap;}
.co-item-remove{font-size:15px; color:var(--ink-mute); flex-shrink:0;}
.co-item-remove:hover{color:var(--plum);}
.mode-row{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.mode-btn{display:flex; align-items:center; gap:12px; text-align:left; padding:17px 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(--plum);}
.mode-btn.is-active{border-color:var(--plum); background:rgba(92,51,88,.06);}
.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:11.5px; color:var(--ink-mute); line-height:1.4;}
.co-label{font-size:11.5px; font-weight:700; color:var(--ink-mute); text-transform:uppercase; letter-spacing:.08em; margin-bottom:11px;}
.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:10px 15px; 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:500; color:var(--ink-mute);}
.chip:hover{border-color:var(--plum);}
.chip.is-active{background:var(--ink); border-color:var(--ink); color:var(--ivory);}
.chip.is-active span{color:rgba(250,246,239,.65);}
.chip-sm{flex-direction:row; min-width:0; font-size:12.5px; padding:10px 15px;}
.co-warn{font-size:12.5px; color:var(--plum); margin-top:10px; font-weight:600;}
.co-info{font-size:12.5px; color:var(--ink-mute); margin-top:12px; line-height:1.6; background:var(--ivory-deep); padding:12px 16px; border-radius:12px;}
.field-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 16px;}
.field-grid > .field-full{grid-column:1/-1;}
.checkout-form{display:flex; flex-direction:column; gap:16px;}
.checkout-form label{display:flex; flex-direction:column; gap:8px; font-size:13px; font-weight:600; 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(--plum);}
.checkout-form textarea{resize:vertical; min-height:70px;}
.checkout-required{color:var(--plum);}
.checkout-note{font-size:12.5px; color:var(--ink-mute); text-align:center; margin-top:14px;}
.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(--plum); flex-shrink:0;}
.checkout-summary{background:var(--ivory-deep); border-radius:var(--radius); padding:32px; position:sticky; top:110px;}
.checkout-summary h3{font-size:21px; 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:var(--font-display); font-size:28px; color:var(--plum);}
.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);}
.order-ok{text-align:center; max-width:560px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:16px;}
.ok-badge{width:62px; height:62px; border-radius:50%; background:var(--ink); color:var(--gold-soft); 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(--ivory-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:var(--font-display); font-size:20px; color:var(--plum);}
.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;}
.checkout-empty{text-align:center; padding:60px 20px; max-width:480px; margin:0 auto;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .nav-main{gap:16px;}
  .nav-links{display:none;}
  .nav-burger{display:flex;}
  .hero-grid{grid-template-columns:1fr; text-align:center;}
  .hero-copy p.lede{margin-left:auto; margin-right:auto;}
  .hero-actions{justify-content:center;}
  .hero-signature{justify-content:center;}
  .hero-art{margin-top:50px; max-width:440px; margin-left:auto; margin-right:auto;}
  .story-grid{grid-template-columns:1fr;}
  .story-art{max-width:420px; margin:0 auto;}
  .product-detail{grid-template-columns:1fr;}
  .pd-media{position:static;}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:40px;}
  .checkout-grid{grid-template-columns:1fr;}
  .checkout-summary{position:static;}
  .cursor-dot,.cursor-ring{display:none;}
}

@media (max-width:900px){
  .product-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:640px){
  .section{padding:76px 0;}
  .page-hero{padding:130px 0 44px;}
  .product-grid{grid-template-columns:1fr 1fr; gap:14px;}
  .card-plate{flex-direction:column; gap:4px;}
  .card-plate .cp-price{align-self:flex-start;}
  .card-action .stepper{display:none;}
  .card-frame{aspect-ratio:1/1.1;}
  .card-plate h4{font-size:15px;}
  .card-plate .cp-tag{display:none;}
  .footer-grid{grid-template-columns:1fr; gap:34px;}
  .footer-bottom{flex-direction:column; align-items:flex-start;}
  .demo-badge{left:14px; bottom:14px; padding:9px 14px 9px 12px; font-size:11px;}
  .mode-row{grid-template-columns:1fr;}
  .field-grid{grid-template-columns:1fr;}
  .menu-toolbar{flex-direction:column; align-items:stretch;}
  .menu-search{min-width:0;}
  .gallery-panel h3{max-width:11ch;}
  .gallery-panel-body{align-items:flex-end;}
  .gallery-panel .g-cta{width:100%;}
  .gallery-panel .g-cta .btn-on-dark{width:100%;}
}
