/* ============================================================
   MIRUNA GAG PAN — Brutărie & Patiserie, Zărand (jud. Arad)
   Sistem de design.

   Concept: "Foaia de pergament". Coperta lor de Facebook e o foaie
   de hârtie veche cu marginea ruptă și o ramă verde-salvie, cu numele
   scris cu grațe maro-nuc și proverbul dedesubt:
   „Nici pâine fără muncă, nici muncă fără pâine".
   Site-ul e făcut din aceeași foaie. Toate culorile de mai jos sunt
   măsurate direct din poza copertei.
   ============================================================ */
:root{
  --paper:#F4EED6;
  --paper-deep:#E9DFBE;
  --paper-warm:#EFE6C9;
  --flour:#FDFAF0;
  --ink:#241C10;
  --ink-soft:#4C3E29;
  --ink-mute:#8A7B60;
  --walnut:#6B4A2A;
  --walnut-deep:#40361B;
  --walnut-hot:#8B5E31;
  --walnut-soft:rgba(107,74,42,.10);
  --sage:#A0A881;
  --sage-deep:#6C7550;
  --sage-soft:rgba(160,168,129,.22);
  --line:rgba(36,28,16,.14);
  --line-soft:rgba(36,28,16,.07);
  --shadow-sm:0 6px 18px rgba(64,54,27,.10);
  --shadow-md:0 18px 44px -14px rgba(64,54,27,.30);
  --shadow-lg:0 34px 80px -24px rgba(64,54,27,.45);
  --radius:6px;
  --radius-lg:10px;
  --maxw:1280px;
  --ff-display:'Cormorant Garamond',Garamond,Georgia,serif;
  --ff-body:'Onest',system-ui,-apple-system,sans-serif;
  --ff-script:'Pinyon Script','Cormorant Garamond',cursive;
  --ease:cubic-bezier(.16,.8,.24,1);
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
[hidden]{display:none!important;}
html{-webkit-text-size-adjust:100%; scroll-behavior:auto;}
html,body{background:var(--paper); color:var(--ink); overflow-x:clip; overscroll-behavior-y:none;}
html.lenis, html.lenis body{height:auto;}
html.lenis.lenis-smooth{scroll-behavior:auto!important;}
html.lenis.lenis-stopped{overflow:hidden;}
body{
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer;}
input,textarea,select{font:inherit; color:inherit;}
::selection{background:var(--walnut); color:var(--flour);}

h1,h2,h3,h4{font-family:var(--ff-display); font-weight:600; line-height:1.14; letter-spacing:-.005em; color:var(--ink);}
h1 em, h2 em{font-style:italic; color:var(--walnut);}
.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4.5vw,56px);}
.container-narrow{max-width:840px; margin:0 auto; padding:0 clamp(20px,4.5vw,56px);}

/* granulație de hârtie — ornament 1/2 */
body::before{
  content:''; position:fixed; inset:0; z-index:2000; pointer-events:none;
  opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- eyebrow ---- */
.eyebrow{display:inline-flex; align-items:center; gap:10px; font-family:var(--ff-body); font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--walnut);}
.eyebrow::before{content:''; width:26px; height:1px; background:var(--walnut);}
.eyebrow.on-dark{color:var(--sage);}
.eyebrow.on-dark::before{background:var(--sage);}

.section-head{max-width:720px; margin-bottom:clamp(32px,4vw,52px);}
.section-head h2{font-size:clamp(32px,4.4vw,56px); margin-top:14px;}
.section-head p{margin-top:16px; color:var(--ink-soft); font-size:16.5px; max-width:600px; text-wrap:pretty;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head.center .eyebrow{justify-content:center;}
.section-head.center p{margin-left:auto; margin-right:auto;}

/* ---- butoane ---- */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 28px; border-radius:999px; font-family:var(--ff-body); font-weight:600; font-size:14.5px; white-space:nowrap; transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);}
.btn-primary{background:var(--walnut); color:var(--flour); box-shadow:0 14px 30px -12px rgba(107,74,42,.6);}
.btn-primary:hover{background:var(--walnut-hot); transform:translateY(-2px);}
.btn-ink{background:var(--ink); color:var(--paper);}
.btn-ink:hover{background:var(--walnut); transform:translateY(-2px);}
.btn-ghost{border:1.5px solid var(--ink); color:var(--ink);}
.btn-ghost:hover{border-color:var(--walnut); color:var(--walnut);}
.btn-ghost.on-dark{border-color:rgba(244,238,214,.45); color:var(--paper);}
.btn-ghost.on-dark:hover{border-color:var(--sage); color:var(--sage);}
.btn-wa{background:#128C7E; color:#fff; box-shadow:0 14px 30px -12px rgba(18,140,126,.6);}
.btn-wa:hover{background:#0F7166; transform:translateY(-2px);}
.btn-sm{padding:10px 20px; font-size:13px;}
.btn-block{width:100%;}
.btn[disabled]{opacity:.4; pointer-events:none;}
.magnetic{will-change:transform;}

/* ---- chips ---- */
.chip-row{display:flex; flex-wrap:wrap; gap:9px;}
.chip{display:inline-flex; align-items:center; gap:7px; padding:9px 16px; border-radius:999px; border:1.4px solid var(--line); font-size:13.5px; font-weight:600; color:var(--ink-soft); background:var(--flour); transition:all .25s var(--ease);}
.chip:hover{border-color:var(--walnut); color:var(--walnut);}
.chip.is-on{background:var(--walnut); border-color:var(--walnut); color:var(--flour);}
.chip span{font-size:11.5px; color:var(--ink-mute); font-weight:600;}
.chip.is-on span{color:rgba(253,250,240,.7);}
.chip-sm{padding:6px 12px; font-size:12px;}

/* ============================================================
   SEMNĂTURA — FOAIA DE PERGAMENT
   Marginea ruptă + rama de salvie din coperta lor de Facebook.
   Nu apare la niciun alt demo, pentru că nu e a nimănui altcuiva.
   ============================================================ */
.pergament{
  position:relative; background:var(--paper-warm);
  padding:clamp(28px,4vw,54px);
  box-shadow:var(--shadow-md);
  /* marginea ruptă, tăiată în clip-path cu dinți neregulați */
  clip-path:polygon(
    0% 2.2%, 3% 0.6%, 8% 2.0%, 14% 0.4%, 21% 1.8%, 28% 0.3%, 36% 1.6%, 44% 0.5%,
    52% 1.9%, 60% 0.4%, 68% 1.7%, 76% 0.6%, 84% 1.9%, 91% 0.5%, 97% 1.8%, 100% 0.9%,
    99.2% 8%, 100% 16%, 98.8% 26%, 100% 36%, 99% 47%, 100% 58%, 98.9% 69%, 100% 80%, 99.2% 90%, 100% 98.6%,
    96% 99.5%, 89% 98.2%, 81% 99.6%, 73% 98.3%, 64% 99.7%, 55% 98.4%, 46% 99.6%, 37% 98.2%,
    28% 99.5%, 20% 98.3%, 12% 99.6%, 5% 98.4%, 0% 99.2%,
    0.9% 90%, 0% 80%, 1.1% 69%, 0% 58%, 1% 47%, 0% 36%, 1.2% 26%, 0% 16%, 0.8% 8%
  );
}
.pergament::after{
  content:''; position:absolute; inset:12px; pointer-events:none;
  border:1px solid rgba(107,74,42,.28);
  box-shadow:inset 0 0 0 3px rgba(160,168,129,.30);
}
/* varianta cu ramă de salvie plină, ca pe copertă */
.pergament--sage{background:var(--sage); padding:clamp(14px,1.7vw,22px);}
.pergament--sage > .pergament-inner{
  background:var(--paper-warm); padding:clamp(26px,3.6vw,52px); position:relative;
  clip-path:polygon(
    0% 1.6%, 4% 0.4%, 11% 1.5%, 19% 0.3%, 28% 1.4%, 38% 0.4%, 48% 1.5%, 58% 0.3%,
    68% 1.4%, 78% 0.5%, 87% 1.5%, 94% 0.4%, 100% 1.2%,
    99.3% 12%, 100% 25%, 99% 38%, 100% 52%, 99.2% 66%, 100% 80%, 99.4% 92%, 100% 98.8%,
    94% 99.6%, 86% 98.5%, 77% 99.7%, 67% 98.5%, 56% 99.6%, 45% 98.4%, 34% 99.6%, 24% 98.5%,
    14% 99.7%, 6% 98.6%, 0% 99.4%,
    0.7% 92%, 0% 80%, 0.9% 66%, 0% 52%, 1% 38%, 0% 25%, 0.8% 12%
  );
}
.pergament--sage > .pergament-inner::after{
  content:''; position:absolute; inset:10px; pointer-events:none;
  border:1px solid rgba(107,74,42,.30);
}
/* fâșia subțire, folosită ca despărțitor de secțiuni */
.pergament-rule{height:14px; background:var(--sage); margin:0; opacity:.55;
  clip-path:polygon(0% 30%,4% 0%,9% 46%,15% 4%,22% 52%,29% 8%,36% 48%,44% 2%,52% 50%,60% 6%,67% 46%,75% 0%,82% 52%,89% 8%,95% 44%,100% 4%,100% 100%,0% 100%);}

/* motto-ul lor, cu cursiva gravată */
.motto{font-family:var(--ff-script); font-size:clamp(26px,3.6vw,46px); line-height:1.5; color:var(--walnut-deep); text-align:center; text-wrap:balance;}
.motto-sm{font-family:var(--ff-script); font-size:clamp(20px,2.4vw,28px); color:var(--walnut); line-height:1.6;}
.script{font-family:var(--ff-script); font-style:normal;}

/* ---- sigiliul rotund — ornament 2/2 ---- */
.seal{width:118px; height:118px; position:relative; flex-shrink:0;}
.seal svg{width:100%; height:100%; animation:sealSpin 34s linear infinite;}
.seal-core{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--ff-display); font-weight:600; font-size:15px; line-height:1.1; text-align:center; color:var(--walnut);}
@keyframes sealSpin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){ .seal svg{animation:none;} }

/* ============================================================
   HEADER
   ============================================================ */
.site-header{position:sticky; top:0; z-index:500; background:rgba(244,238,214,.9); backdrop-filter:blur(14px) saturate(1.1); border-bottom:1px solid var(--line);}
.header-row{display:flex; align-items:center; justify-content:space-between; gap:24px; padding:13px clamp(20px,4.5vw,56px); max-width:var(--maxw); margin:0 auto;}
.brand{display:flex; flex-direction:column; line-height:1; flex-shrink:0;}
.brand-name{font-family:var(--ff-display); font-weight:600; font-size:25px; letter-spacing:.005em;}
.brand-sub{font-family:var(--ff-script); font-size:16px; color:var(--walnut); margin-top:2px;}

.main-nav{display:flex; align-items:center; gap:2px;}
.main-nav a{padding:9px 15px; font-size:14.5px; font-weight:500; border-radius:999px; transition:background .25s, color .25s;}
.main-nav a:hover, .main-nav a.is-active{background:var(--ink); color:var(--paper);}

.header-actions{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.cart-fab{position:relative; display:flex; align-items:center; gap:8px; padding:10px 16px 10px 12px; border-radius:999px; background:var(--ink); color:var(--paper); font-weight:600; font-size:13.5px; transition:transform .3s var(--ease), background .3s;}
.cart-fab:hover{background:var(--walnut);}
.cart-fab svg{width:19px; height:19px;}
.cart-fab.is-bump{animation:fabBump .5s var(--ease);}
@keyframes fabBump{30%{transform:scale(1.14);}}
.cart-badge{display:inline-flex; align-items:center; justify-content:center; min-width:19px; height:19px; padding:0 5px; border-radius:999px; background:var(--sage); color:var(--ink); font-size:11px; font-weight:700;}
.cart-badge[data-zero="1"]{display:none;}

.burger{display:none; flex-direction:column; gap:5px; width:26px; padding:6px 0;}
.burger span{display:block; width:100%; height:2px; background:var(--ink);}

/* ---- meniu mobil ---- */
.mobile-nav{position:fixed; inset:0; z-index:900; pointer-events:none;}
.mobile-nav.is-open{pointer-events:auto;}
.mobile-nav-overlay{position:absolute; inset:0; background:rgba(36,28,16,.5); opacity:0; transition:opacity .35s var(--ease);}
.mobile-nav.is-open .mobile-nav-overlay{opacity:1;}
.mobile-nav-panel{position:absolute; top:0; right:0; bottom:0; width:min(86vw,340px); background:var(--paper); padding:74px 30px 30px; display:flex; flex-direction:column; gap:4px; transform:translateX(100%); transition:transform .4s var(--ease); box-shadow:var(--shadow-lg);}
.mobile-nav.is-open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav-panel a{padding:13px 0; font-family:var(--ff-display); font-size:26px; border-bottom:1px solid var(--line-soft);}
.mobile-nav-close{position:absolute; top:22px; right:24px; width:38px; height:38px; border:1.5px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.mobile-nav-foot{margin-top:auto; padding-top:22px; font-size:13.5px; color:var(--ink-mute);}

/* ============================================================
   HERO — planșa de pergament
   ============================================================ */
.hero{position:relative; padding:clamp(46px,6vw,86px) 0 clamp(56px,7vw,104px); overflow:hidden;}
.hero-inner{display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(30px,4.5vw,66px); align-items:center;}
.hero h1{font-size:clamp(44px,6.4vw,88px); letter-spacing:-.015em; line-height:1.08;}
.hero h1 .script{display:block; font-size:.86em; color:var(--walnut); line-height:1.25; margin-top:.06em;}
.hero-lead{margin-top:24px; font-size:clamp(16.5px,1.35vw,18.5px); color:var(--ink-soft); max-width:520px;}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
.hero-meta{display:flex; align-items:center; gap:16px; margin-top:30px; font-size:13.5px; color:var(--ink-mute); flex-wrap:wrap;}
.hero-meta b{color:var(--ink); font-weight:600;}

.hero-plate{position:relative; width:100%; max-width:460px; margin-left:auto; margin-right:24px;}
.hero-plate-photo{aspect-ratio:1/1; overflow:hidden; border-radius:50%; box-shadow:var(--shadow-lg); border:10px solid var(--paper-warm);}
.hero-plate-photo img{width:100%; height:100%; object-fit:cover;}
.hero-seal{position:absolute; right:-34px; bottom:6px;}
.hero-tag{position:absolute; left:-34px; top:34px; background:var(--flour); border:1px solid var(--line); border-radius:var(--radius); padding:13px 18px; box-shadow:var(--shadow-sm); max-width:210px;}
.hero-tag strong{display:block; font-family:var(--ff-display); font-size:19px;}
.hero-tag span{font-size:12.5px; color:var(--ink-mute);}

/* banda de cifre */
.hero-stats{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:clamp(44px,5vw,72px); padding-top:clamp(28px,3vw,40px); border-top:1px solid var(--line);}
.hero-stat b{display:block; font-family:var(--ff-display); font-size:clamp(34px,3.8vw,50px); color:var(--walnut); line-height:1;}
.hero-stat span{display:block; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mute); margin-top:9px;}

/* ============================================================
   MARCHIZĂ
   ============================================================ */
.marquee{background:var(--ink); color:var(--paper); padding:20px 0; overflow:hidden; white-space:nowrap;}
.marquee-track{display:inline-flex; align-items:center; gap:34px; animation:marq 42s linear infinite; will-change:transform;}
.marquee-track span{font-family:var(--ff-display); font-style:italic; font-size:clamp(22px,2.4vw,32px);}
.marquee-track i{color:var(--sage); font-style:normal; font-size:15px;}
@keyframes marq{to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){ .marquee-track{animation:none;} }

/* ============================================================
   CATEGORII
   ============================================================ */
.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.cat-card{position:relative; display:block; border-radius:var(--radius); overflow:hidden; background:var(--ink); aspect-ratio:4/3.2; box-shadow:var(--shadow-sm); transition:transform .45s var(--ease), box-shadow .45s var(--ease);}
.cat-card:hover{transform:translateY(-5px); box-shadow:var(--shadow-md);}
.cat-card-media{position:absolute; inset:0;}
.cat-card-media img{width:100%; height:100%; object-fit:cover; opacity:.62; transition:transform .8s var(--ease), opacity .5s;}
.cat-card:hover .cat-card-media img{transform:scale(1.06); opacity:.5;}
.cat-card-body{position:absolute; left:0; right:0; bottom:0; padding:22px; color:var(--paper); background:linear-gradient(to top,rgba(36,28,16,.9),rgba(36,28,16,0));}
.cat-card-body h4{color:var(--paper); font-size:26px; line-height:1.2;}
.cat-card-body span{display:block; font-size:13px; color:rgba(244,238,214,.72); margin-top:5px;}
.cat-card-count{position:absolute; top:16px; right:16px; background:var(--paper-warm); color:var(--walnut); font-size:12px; font-weight:700; padding:4px 11px; border-radius:999px;}

/* ============================================================
   POVESTEA — panou
   ============================================================ */
.story{background:var(--paper-deep); padding:clamp(58px,7vw,104px) 0;}
.story-grid{display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(28px,4vw,58px); align-items:center;}
.story-photo{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md);}
.story-panel{background:var(--ink); color:rgba(244,238,214,.82); border-radius:var(--radius); padding:clamp(30px,3.6vw,50px);}
.story-panel h2{color:var(--paper); font-size:clamp(30px,3.6vw,46px); margin:14px 0 20px;}
.story-panel h2 em{color:var(--sage);}
.story-panel p + p{margin-top:14px;}
.story-quote{margin:26px 0; padding-left:20px; border-left:2px solid var(--sage); font-family:var(--ff-script); font-size:24px; color:var(--sage); line-height:1.5;}

/* ============================================================
   PROCES
   ============================================================ */
.proces{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.proces-step{position:relative; padding-top:26px; border-top:2px solid var(--line);}
.proces-step b{position:absolute; top:-13px; left:0; background:var(--paper); padding-right:12px; font-family:var(--ff-display); font-size:24px; color:var(--walnut);}
.proces-step h4{font-size:23px; margin-bottom:10px;}
.proces-step p{font-size:14.5px; color:var(--ink-soft);}

/* ============================================================
   CARD DE PRODUS
   ============================================================ */
.grid-products{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.card{background:var(--flour); border:1px solid var(--line-soft); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;}
.card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--line);}
.card-media{position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--paper-deep);}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.card:hover .card-media img{transform:scale(1.05);}
.card-tag{position:absolute; top:12px; left:12px; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:5px 10px; border-radius:999px; background:var(--paper-warm); color:var(--walnut);}
.card-tag--best{background:var(--walnut); color:var(--flour);}
.card-tag--sarbatori{background:var(--sage); color:var(--ink);}
.card-body{padding:18px 18px 20px; display:flex; flex-direction:column; flex:1; gap:8px;}
.card-body h4{font-size:23px; line-height:1.2;}
.card-body p{font-size:13.5px; color:var(--ink-mute); flex:1;}
.card-foot{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:4px;}
.card-unit{font-size:12px; color:var(--ink-mute); letter-spacing:.04em;}
.card-add{display:inline-flex; align-items:center; gap:6px; padding:9px 15px; border-radius:999px; border:1.4px solid var(--ink); font-size:12.5px; font-weight:600; transition:all .25s var(--ease);}
.card-add:hover{background:var(--ink); color:var(--paper);}
.card-add.is-added{background:var(--sage); border-color:var(--sage); color:var(--ink);}
.card-add svg{width:15px; height:15px; flex-shrink:0;}

/* filtre */
.menu-bar{position:sticky; top:63px; z-index:300; background:rgba(244,238,214,.94); backdrop-filter:blur(12px); padding:16px 0; border-bottom:1px solid var(--line); margin-bottom:34px;}
.menu-bar-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.menu-search{flex:1; min-width:190px; display:flex; align-items:center; gap:9px; background:var(--flour); border:1.4px solid var(--line); border-radius:999px; padding:9px 17px;}
.menu-search input{flex:1; border:0; background:none; outline:none; font-size:14px;}
.menu-search svg{width:16px; height:16px; color:var(--ink-mute); flex-shrink:0;}
.menu-empty{text-align:center; padding:70px 20px; color:var(--ink-mute);}

/* ============================================================
   COȘ (aici: „lista de comandă") — șasiu
   ============================================================ */
.cart-overlay{position:fixed; inset:0; background:rgba(36,28,16,.5); opacity:0; pointer-events:none; transition:opacity .35s var(--ease); z-index:800;}
.cart-overlay.is-open{opacity:1; pointer-events:auto;}
.cart-drawer{position:fixed; top:0; right:0; bottom:0; width:min(94vw,430px); background:var(--paper); z-index:801; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .4s var(--ease); box-shadow:var(--shadow-lg);}
.cart-drawer.is-open{transform:translateX(0);}
.cart-drawer-head{display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--line);}
.cart-drawer-head h3{font-size:24px;}
.cart-drawer-close{width:36px; height:36px; border:1.5px solid var(--line); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.cart-drawer-body{flex:1; overflow-y:auto; padding:6px 24px;}
.cart-empty{text-align:center; padding:60px 10px; color:var(--ink-mute);}
.cart-empty svg{width:44px; height:44px; margin:0 auto 16px; color:var(--sage);}
.cart-line{display:flex; align-items:center; gap:13px; padding:15px 0; border-bottom:1px solid var(--line-soft);}
.cart-line-media{width:56px; height:56px; border-radius:var(--radius); overflow:hidden; background:var(--paper-deep); flex-shrink:0;}
.cart-line-media img{width:100%; height:100%; object-fit:cover;}
.cart-line-body{flex:1; min-width:0;}
.cart-line-top{display:flex; justify-content:space-between; gap:8px;}
.cart-line-top h4{font-family:var(--ff-body); font-size:14px; font-weight:600; line-height:1.3;}
.cart-line-remove{font-size:12px; color:var(--ink-mute); flex-shrink:0;}
.cart-line-remove:hover{color:var(--walnut);}
.cart-line-bottom{display:flex; align-items:center; justify-content:space-between; margin-top:7px;}
.cart-line-unit{font-size:12px; color:var(--ink-mute);}
.stepper{display:inline-flex; align-items:center; gap:2px; border:1.3px solid var(--line); border-radius:999px; overflow:hidden;}
.stepper button{width:28px; height:28px; display:flex; align-items:center; justify-content:center; font-size:15px; line-height:1; color:var(--ink-soft);}
.stepper button:hover{background:var(--paper-deep);}
.stepper b{min-width:26px; text-align:center; font-size:13.5px; font-weight:700;}
.cart-drawer-foot{padding:18px 24px 24px; border-top:1px solid var(--line);}
.cart-count-row{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; font-size:14px;}
.cart-count-row strong{font-family:var(--ff-display); font-size:24px; color:var(--walnut);}

/* bara fixă de coș pe telefon */
.cart-bar{position:fixed; left:12px; right:12px; bottom:12px; z-index:420; display:none; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px 11px 18px; border-radius:999px; background:var(--ink); color:var(--paper); box-shadow:var(--shadow-lg);}
.cart-bar span{font-size:13.5px; font-weight:600;}
.cart-bar .btn{padding:11px 20px; font-size:13px;}

/* ============================================================
   CHECKOUT — „trimite comanda"
   ============================================================ */
.checkout-section{padding:40px 0 110px;}
.checkout-crumbs{font-size:13px; color:var(--ink-mute); margin-bottom:14px;}
.checkout-crumbs a:hover{color:var(--walnut);}
.checkout-head{max-width:660px; margin-bottom:34px;}
.checkout-head h1{font-size:clamp(34px,4.4vw,54px); margin-top:12px;}
.checkout-head p{margin-top:14px; color:var(--ink-soft);}
.checkout-grid{display:grid; grid-template-columns:1.12fr .88fr; gap:40px; align-items:start;}
.co-steps{display:flex; flex-direction:column; gap:26px;}
.co-step-head{display:flex; align-items:center; gap:12px; margin-bottom:16px;}
.co-step{display:flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:var(--ink); color:var(--paper); font-size:12.5px; font-weight:700; flex-shrink:0;}
.co-step-head h3{font-size:24px;}
.checkout-form{display:flex; flex-direction:column; gap:15px;}
.checkout-form label{display:block; font-size:13px; font-weight:600; color:var(--ink-soft);}
.checkout-form label > input,.checkout-form label > textarea,.checkout-form label > select{display:block; width:100%; margin-top:7px;}
.checkout-form label > .err-msg{display:block; margin-top:6px;}
.checkout-form input[type=text],.checkout-form input[type=tel],.checkout-form input[type=date],.checkout-form input[type=time],.checkout-form textarea,.checkout-form select{
  padding:13px 15px; border:1.4px solid var(--line); border-radius:var(--radius); background:var(--flour); font-size:14.5px; font-weight:400;
}
.checkout-form input:focus,.checkout-form textarea:focus,.checkout-form select:focus{outline:none; border-color:var(--walnut);}
.checkout-form textarea{resize:vertical; min-height:76px;}
.form-2{display:grid; grid-template-columns:1fr 1fr; gap:15px;}
.checkout-required{color:var(--walnut);}
.checkout-note{font-size:12.5px; color:var(--ink-mute); text-align:center; margin-top:13px;}
.field-err{border-color:#B4442E!important;}
.err-msg{font-size:12px; color:#B4442E; font-weight:500;}
.gdpr{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:var(--ink-mute); margin:6px 0 18px; cursor:pointer; font-weight:400;}
.gdpr input{width:16px; height:16px; margin-top:2px; accent-color:var(--walnut); flex-shrink:0;}
.checkout-summary{background:var(--paper-deep); border-radius:var(--radius-lg); padding:28px; position:sticky; top:88px;}
.checkout-summary h3{font-size:24px; margin-bottom:18px;}
.checkout-line{display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--line-soft); font-size:14px;}
.checkout-line b{font-weight:700; color:var(--walnut);}
.checkout-total{display:flex; justify-content:space-between; align-items:baseline; padding-top:16px; margin-top:6px; font-weight:600; font-size:15px;}
.checkout-total strong{font-family:var(--ff-display); font-size:26px; color:var(--walnut);}
.checkout-facts{margin-top:20px; padding-top:18px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-soft); display:flex; flex-direction:column; gap:8px;}
.checkout-empty{text-align:center; padding:70px 20px; max-width:480px; margin:0 auto;}
.co-success{text-align:center; padding:60px 20px; max-width:560px; margin:0 auto;}
.co-success .seal{margin:0 auto 24px;}

/* ============================================================
   CONTACT / LOCAȚIE
   ============================================================ */
.contact-cards{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; align-items:start;}
.contact-card{background:var(--flour); border:1px solid var(--line-soft); border-radius:var(--radius); padding:26px;}
.contact-card svg{width:24px; height:24px; color:var(--walnut); margin-bottom:14px;}
.contact-card h4{font-size:23px; margin-bottom:8px;}
.contact-card p, .contact-card a{display:block; font-size:14.5px; color:var(--ink-soft); margin-bottom:3px;}
.contact-card a:hover{color:var(--walnut);}
.loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch;}
.loc-map{border-radius:var(--radius); overflow:hidden; min-height:340px; border:1px solid var(--line); filter:sepia(.22) saturate(.85);}
.loc-map iframe{width:100%; height:100%; min-height:340px; border:0; display:block;}
.program-row{display:flex; justify-content:space-between; padding:11px 0; border-bottom:1px solid var(--line-soft); font-size:14.5px;}
.program-row:last-child{border-bottom:0;}
.program-row.is-today{color:var(--walnut); font-weight:700;}

/* ---- recenzii ---- */
.rev-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.rev{background:var(--flour); border:1px solid var(--line-soft); border-radius:var(--radius); padding:26px;}
.rev-stars{color:var(--walnut); letter-spacing:2px; font-size:14px; margin-bottom:12px;}
.rev p{font-family:var(--ff-display); font-size:21px; font-style:italic; line-height:1.4; color:var(--ink-soft);}
.rev b{display:block; margin-top:14px; font-family:var(--ff-body); font-size:13px; font-weight:600;}
.rev b span{color:var(--ink-mute); font-weight:400;}

/* ---- galerie mozaic ---- */
.mozaic{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:12px;}
.mozaic a{border-radius:var(--radius); overflow:hidden; display:block; background:var(--paper-deep);}
.mozaic img{width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease);}
.mozaic a:hover img{transform:scale(1.05);}
.mozaic .wide{grid-column:span 2;}
.mozaic .tall{grid-row:span 2;}

/* ---- bandă promo evenimente ---- */
.promo{background:var(--sage); color:var(--ink); border-radius:var(--radius-lg); padding:clamp(30px,4vw,52px); display:grid; grid-template-columns:1.25fr .75fr; gap:34px; align-items:center;}
.promo h3{font-size:clamp(28px,3.4vw,42px);}
.promo p{margin-top:14px; color:rgba(36,28,16,.78); max-width:520px;}
.promo-photo{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:1/1;}
.promo-photo img{width:100%; height:100%; object-fit:cover;}

/* ============================================================
   SUBSOL
   ============================================================ */
.site-footer{background:var(--ink); color:rgba(244,238,214,.72); padding:66px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:38px; padding-bottom:44px; border-bottom:1px solid rgba(244,238,214,.14);}
.footer-brand .brand-name{color:var(--paper); font-size:29px;}
.footer-brand .brand-sub{color:var(--sage); font-size:19px;}
.footer-brand p{margin-top:16px; font-size:14.5px; max-width:320px;}
.footer-col h5{font-size:11.5px; letter-spacing:.13em; text-transform:uppercase; color:var(--sage); margin-bottom:15px; font-weight:600;}
.footer-col a, .footer-col p{display:block; font-size:14.5px; margin-bottom:9px; color:rgba(244,238,214,.7);}
.footer-col a:hover{color:var(--paper);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:24px; font-size:12.5px; color:rgba(244,238,214,.45); flex-wrap:wrap; gap:12px;}
.footer-social{display:flex; gap:10px;}
.footer-social a{width:36px; height:36px; border:1px solid rgba(244,238,214,.2); border-radius:50%; display:flex; align-items:center; justify-content:center;}
.footer-social a:hover{border-color:var(--sage); color:var(--sage);}

/* ---- pastila VisionSite ---- */
.vs-pill{position:fixed; left:20px; bottom:20px; z-index:400; opacity:0; transform:translateY(12px); transition:opacity .5s var(--ease), transform .5s var(--ease); pointer-events:none;}
.vs-pill.is-visible{opacity:1; transform:translateY(0); pointer-events:auto;}
.vs-pill a{display:flex; align-items:center; gap:8px; background:var(--ink); color:var(--paper); padding:10px 16px 10px 12px; border-radius:999px; font-size:12px; font-weight:600; box-shadow:var(--shadow-md);}
.vs-pill svg{width:15px; height:15px; color:var(--sage);}

/* ---- banda GDPR ---- */
.gdpr-bar{position:fixed; left:0; right:0; bottom:0; z-index:700; background:var(--ink); color:rgba(244,238,214,.8); padding:15px clamp(18px,4vw,40px); display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; transform:translateY(110%); transition:transform .5s var(--ease); font-size:13px;}
.gdpr-bar.is-in{transform:translateY(0);}
.gdpr-bar a{color:var(--sage); text-decoration:underline;}
.gdpr-bar-actions{display:flex; gap:9px; flex-shrink:0;}

/* ---- reveal ---- */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease);}
.reveal.is-in{opacity:1; transform:translateY(0);}
.reveal-stagger > *{opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal-stagger.is-in > *{opacity:1; transform:translateY(0);}
.reveal-stagger.is-in > *:nth-child(1){transition-delay:.02s;}
.reveal-stagger.is-in > *:nth-child(2){transition-delay:.07s;}
.reveal-stagger.is-in > *:nth-child(3){transition-delay:.12s;}
.reveal-stagger.is-in > *:nth-child(4){transition-delay:.17s;}
.reveal-stagger.is-in > *:nth-child(5){transition-delay:.22s;}
.reveal-stagger.is-in > *:nth-child(6){transition-delay:.27s;}
.reveal-stagger.is-in > *:nth-child(7){transition-delay:.32s;}
.reveal-stagger.is-in > *:nth-child(8){transition-delay:.37s;}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal-stagger > *{opacity:1!important; transform:none!important;}
}

.section{padding:clamp(58px,7vw,104px) 0;}
.section--tight{padding:clamp(42px,5vw,72px) 0;}

/* ---- lightbox ---- */
.lb{position:fixed; inset:0; z-index:950; background:rgba(36,28,16,.92); display:none; align-items:center; justify-content:center; padding:24px;}
.lb.is-open{display:flex;}
.lb img{max-width:min(94vw,1000px); max-height:88vh; object-fit:contain; border-radius:var(--radius);}
.lb-close{position:absolute; top:22px; right:24px; width:42px; height:42px; border:1px solid rgba(244,238,214,.3); border-radius:50%; color:var(--paper); display:flex; align-items:center; justify-content:center;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .grid-products{grid-template-columns:repeat(3,1fr);}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .proces{grid-template-columns:1fr 1fr; gap:28px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .mozaic{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:900px){
  .main-nav{display:none;}
  .burger{display:flex;}
  .hero-inner{grid-template-columns:1fr; gap:40px;}
  .hero-plate{max-width:420px; margin:0 auto; width:calc(100% - 40px);}
  .hero-tag{left:-10px;}
  .hero-seal{right:-10px;}
  .story-grid{grid-template-columns:1fr;}
  .checkout-grid{grid-template-columns:1fr;}
  .checkout-summary{position:static;}
  .loc-grid{grid-template-columns:1fr;}
  .contact-cards{grid-template-columns:1fr;}
  .rev-grid{grid-template-columns:1fr;}
  .promo{grid-template-columns:1fr;}
  .promo-photo{max-width:340px;}
  .menu-bar{top:57px;}
}
@media (max-width:720px){
  .grid-products{grid-template-columns:repeat(2,1fr); gap:13px;}
  .hero-stats{grid-template-columns:1fr 1fr; gap:22px;}
  .cat-grid{grid-template-columns:1fr;}
  .form-2{grid-template-columns:1fr;}
  .mozaic{grid-template-columns:repeat(2,1fr); grid-auto-rows:140px;}
  .cart-fab span{display:none;}
  .cart-fab{padding:10px 12px;}
  .card-body{padding:14px;}
  .card-body h4{font-size:20px;}
  .card-foot{flex-direction:column; align-items:flex-start; gap:8px;}
  .card-add{width:100%; justify-content:center;}
  .menu-bar{position:static; padding:14px 0 12px;}
  .menu-bar-row{gap:10px;}
  .menu-bar .chip-row{flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; width:100%; padding-bottom:2px;}
  .menu-bar .chip-row::-webkit-scrollbar{display:none;}
  .menu-bar .chip{flex-shrink:0;}
  .menu-search{width:100%;}
  .footer-grid{grid-template-columns:1fr; gap:28px;}
  .vs-pill{left:12px; bottom:auto; top:12px;}
  body.has-cart .cart-bar{display:flex;}
  body.has-cart:has(.cart-bar){padding-bottom:74px;}
  .proces{grid-template-columns:1fr;}
  .seal{width:84px; height:84px;}
  .hero-plate{max-width:330px; width:calc(100% - 30px); margin:0 auto;}
  .hero-tag{position:static; max-width:none; margin:18px auto 0; text-align:center; box-shadow:none; background:transparent; border:0; padding:0;}
  .hero-tag strong{font-size:22px;}
  .hero-seal{right:-14px; bottom:56px;}
}
