/* ==========================================================================
   Bakery, Piatra Neamț — plan prezentare (fără coș)
   Șasiu: bontalenti. Semnătura: peretele de tablă + creta + roșul tăvilor.
   ========================================================================== */

/* ---------- tokeni ---------- */
:root{
  --faina:#F7F4ED;
  --faina-deep:#EDE7DA;
  --paper:#FFFEFA;
  --ink:#1D1B18;
  --ink-soft:#4A463F;
  --ink-mute:#857A6C;
  --tabla:#191817;
  --tabla-2:#100F0E;
  --creta:#F2EEE6;
  --creta-mute:rgba(242,238,230,.6);
  --rosu:#C13B33;
  --rosu-deep:#982C25;
  --rosu-soft:rgba(193,59,51,.08);
  --line:rgba(29,27,24,.13);
  --line-soft:rgba(29,27,24,.07);
  --linie-creta:rgba(242,238,230,.16);
  --shadow-sm:0 6px 18px -6px rgba(29,27,24,.14);
  --shadow-md:0 14px 34px -14px rgba(29,27,24,.28);
  --shadow-lg:0 30px 66px -22px rgba(29,27,24,.4);
  --radius:14px;
  --radius-lg:20px;
  --maxw:1240px;
  --sp-1:.25rem; --sp-2:.5rem; --sp-3:.75rem; --sp-4:1rem;
  --sp-6:1.5rem; --sp-8:2rem; --sp-12:3rem; --sp-16:4rem;
  --sectiune:clamp(3.5rem, 2rem + 7vw, 6.5rem);
  --tranzitie:180ms cubic-bezier(.2,.7,.3,1);
  --pas:clamp(1rem, .95rem + .25vw, 1.0625rem);
  --h1:clamp(2.5rem, 1.7rem + 4.4vw, 4.4rem);
  --h2:clamp(1.85rem, 1.4rem + 2.2vw, 2.9rem);
  --h3:clamp(1.3rem, 1.15rem + .8vw, 1.65rem);
}

/* ---------- bază ---------- */
*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html{-webkit-text-size-adjust:100%;}
html,body{overflow-x:clip; background:var(--faina); color:var(--ink);}
body{font-family:'Jost',system-ui,sans-serif; font-size:var(--pas); line-height:1.55; -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,select,textarea{font:inherit;}
ul{list-style:none;}
h1,h2,h3,h4{font-family:'Rokkitt',Georgia,serif; font-weight:700; line-height:1.06; letter-spacing:.005em;}
.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,4vw,60px);}
.eyebrow{display:inline-flex; align-items:center; gap:9px; font-size:12.5px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--rosu);}
.eyebrow::before{content:''; width:22px; height:1px; background:var(--rosu);}
.creta{font-family:'Caveat',cursive; font-weight:600;}
::selection{background:var(--rosu); color:var(--creta);}
:focus-visible{outline:2px solid var(--rosu); outline-offset:2px;}
.grain{position:fixed; inset:0; z-index:9998; 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='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");}

/* dezvăluirea la scroll — doar sub html.js, condusă din ceas + scroll */
html.js .reveal{opacity:0; transform:translateY(18px); transition:opacity .55s ease, transform .55s cubic-bezier(.2,.7,.3,1);}
html.js .reveal.revealed{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important; transition:none!important;}
  html.js .reveal{opacity:1; transform:none;}
}

/* ---------- linia de cretă (gestul) ---------- */
.sublinie{display:block; width:min(150px,40%); height:10px; margin-top:12px;}
.sublinie path{fill:none; stroke:var(--rosu); stroke-width:2.6; stroke-linecap:round;
  stroke-dasharray:170; stroke-dashoffset:170; transition:stroke-dashoffset .9s cubic-bezier(.4,.1,.3,1) .15s;}
.revealed .sublinie path, html:not(.js) .sublinie path{stroke-dashoffset:0;}
.tabla-bloc .sublinie path{stroke:var(--creta);}

/* ---------- tabla (semnătura) ---------- */
.tabla-bloc{background:var(--tabla); color:var(--creta); position:relative;}
.tabla-bloc .eyebrow{color:var(--creta-mute);}
.tabla-bloc .eyebrow::before{background:var(--rosu);}
.perete{position:absolute; inset:0; pointer-events:none; opacity:.14; background-repeat:repeat; background-size:460px 460px;}
.tabla-nota{font-family:'Caveat',cursive; font-weight:600; font-size:clamp(20px,2.4vw,27px); color:var(--creta-mute); transform:rotate(-2deg); display:inline-block;}

/* ---------- antet ---------- */
.antet{position:fixed; top:0; left:0; right:0; z-index:500; padding:12px clamp(16px,4vw,60px);
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  transition:background-color .35s, box-shadow .35s, transform .45s cubic-bezier(.22,1,.36,1);}
.antet.e-solid{background:rgba(247,244,237,.97); box-shadow:0 8px 26px -14px rgba(29,27,24,.28);}
.antet.e-ascuns{transform:translateY(-110%);}
.brand{display:flex; align-items:center; gap:10px;}
.brand-unelte{width:26px; height:29px; background-color:var(--ink);
  -webkit-mask:url(img/sigla-unelte.svg) center/contain no-repeat; mask:url(img/sigla-unelte.svg) center/contain no-repeat;}
.brand-nume{font-family:'Rokkitt',Georgia,serif; font-weight:700; font-size:21px; letter-spacing:.14em;}
.brand-tag{font-size:9.5px; letter-spacing:.24em; color:var(--ink-mute); text-transform:uppercase; display:block; margin-top:-3px;}
.nav-linkuri{display:flex; align-items:center; gap:30px; font-size:15px; font-weight:500;}
.nav-linkuri a{position:relative; padding:4px 0;}
.nav-linkuri a::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--rosu); transition:right .3s ease;}
.nav-linkuri a:hover::after,.nav-linkuri a.e-curent::after{right:0;}
.antet-actiuni{display:flex; align-items:center; gap:10px;}
.btn-tel{display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:30px;
  background:var(--ink); color:var(--creta); font-weight:600; font-size:14px; white-space:nowrap;
  transition:background var(--tranzitie), transform var(--tranzitie);}
.btn-tel:hover{background:var(--rosu); transform:translateY(-2px);}
.btn-tel svg{width:15px; height:15px;}
.burger{display:none; width:44px; height:44px; 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:2px; background:var(--ink); display:block; transition:transform .3s, opacity .3s;}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0;}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
/* panoul mobil: fundal solid, FĂRĂ backdrop-filter (regula meniului derulat) */
.panou-mobil{position:fixed; inset:0; z-index:490; background:var(--tabla); color:var(--creta);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px;
  transform:translateY(-102%); transition:transform .5s cubic-bezier(.22,1,.36,1);}
.panou-mobil.deschis{transform:translateY(0);}
.panou-mobil a{font-family:'Rokkitt',Georgia,serif; font-size:30px; font-weight:700;}
.panou-mobil .pm-tel{font-family:'Jost',sans-serif; font-size:16px; font-weight:600; color:var(--creta);
  border:1.5px solid var(--rosu); background:var(--rosu); padding:13px 28px; border-radius:40px; margin-top:8px;}
.panou-mobil .pm-nota{font-family:'Caveat',cursive; font-size:22px; color:var(--creta-mute); transform:rotate(-2deg);}

/* ---------- butoane ---------- */
.btn-plin,.btn-contur{display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:15px 28px; border-radius:40px; font-weight:600; font-size:15px; letter-spacing:.01em; white-space:nowrap;
  transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s, background .3s, color .3s, border-color .3s;}
.btn-plin{background:var(--ink); color:var(--creta); box-shadow:0 12px 26px -12px rgba(29,27,24,.5);}
.btn-plin:hover{background:var(--rosu); transform:translateY(-3px); box-shadow:0 16px 30px -12px rgba(193,59,51,.5);}
.btn-contur{border:1.5px solid var(--ink); color:var(--ink); background:transparent;}
.btn-contur:hover{background:var(--ink); color:var(--creta); transform:translateY(-3px);}
.btn-rosu{background:var(--rosu); color:#fff;}
.btn-rosu:hover{background:var(--rosu-deep);}
.btn-mic{padding:10px 20px; font-size:13.5px;}
.btn-bloc{width:100%;}
.tabla-bloc .btn-contur{border-color:var(--creta); color:var(--creta);}
.tabla-bloc .btn-contur:hover{background:var(--creta); color:var(--ink);}

/* ---------- hero ---------- */
.hero{position:relative; padding:140px 0 70px;}
.hero-grila{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(30px,4vw,64px); align-items:center;}
.hero h1{font-size:var(--h1); color:var(--ink);}
.hero h1 .h1-creta{font-family:'Caveat',cursive; font-weight:600; color:var(--rosu); font-size:1.12em; letter-spacing:0; display:inline-block; transform:rotate(-1.5deg);}
.hero-lead{margin:24px 0 32px; font-size:17px; color:var(--ink-soft); max-width:470px; line-height:1.65;}
.hero-cta{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.hero-nota{margin-top:22px; font-size:14px; color:var(--ink-mute); display:flex; align-items:center; gap:8px;}
.hero-nota svg{width:15px; height:15px; color:var(--rosu); flex-shrink:0;}
.hero-scena{position:relative; padding:0 0 46px 0;}
.hero-poza{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/4.4; background:var(--faina-deep);}
.hero-poza img{width:100%; height:100%; object-fit:cover;}
.hero-accent{position:absolute; left:-8%; bottom:0; width:44%; aspect-ratio:1/1; border-radius:var(--radius-lg);
  overflow:hidden; box-shadow:var(--shadow-md); border:5px solid var(--faina);}
.hero-accent img{width:100%; height:100%; object-fit:cover;}
.sigiliu{position:absolute; right:-18px; top:-26px; width:112px; height:112px; color:var(--ink); z-index:3;}
.sigiliu .sigiliu-badge{width:100%; height:100%; background-color:currentColor;
  -webkit-mask:url(img/sigla-badge.svg) center/contain no-repeat; mask:url(img/sigla-badge.svg) center/contain no-repeat;
  animation:rotire 26s linear infinite;}
@keyframes rotire{from{transform:rotate(0)} to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.sigiliu .sigiliu-badge{animation:none;}}

/* ---------- marchiza pe tablă ---------- */
.marchiza{overflow:hidden; background:var(--tabla); padding:18px 0; position:relative;}
.marchiza-banda{display:flex; width:max-content; will-change:transform; animation:marchiza-rulare var(--marchiza-durata,40s) linear infinite;}
.marchiza span{font-family:'Caveat',cursive; font-weight:600; font-size:clamp(24px,3vw,34px); color:var(--creta);
  padding:0 26px; white-space:nowrap; display:flex; align-items:center; gap:26px;}
.marchiza span::after{content:'✦'; color:var(--rosu); font-size:15px;}
@keyframes marchiza-rulare{to{transform:translateX(calc(-1 * var(--marchiza-lat,50%)))}}
@media (prefers-reduced-motion:reduce){.marchiza-banda{animation:none;}}

/* ---------- capete de secțiune ---------- */
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:var(--h2); margin-top:14px;}
.section-head p{color:var(--ink-soft); margin-top:14px; max-width:56ch;}
.cap-rand{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:40px;}
.cap-rand .section-head{margin-bottom:0;}

/* ---------- vitrina (teaser + catalog) ---------- */
.vitrina{padding:var(--sectiune) 0;}
.vitrina-grila{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.vitrina-grila.grila-3{grid-template-columns:repeat(3,1fr);}
.card{background:var(--paper); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column; min-width:0; transition:box-shadow .3s, transform .3s;}
.card:hover{box-shadow:var(--shadow-md); transform:translateY(-4px);}
.card-media{aspect-ratio:1/1; overflow:hidden; position:relative; background:var(--faina-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.06);}
.card-eticheta{position:absolute; top:12px; left:12px; z-index:2; font-size:10.5px; font-weight:600; letter-spacing:.09em;
  text-transform:uppercase; padding:6px 11px; border-radius:20px; background:var(--tabla); color:var(--creta);}
.card-eticheta--rosu{background:var(--rosu); color:#fff;}
.card-body{padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1;}
.card-body h3{font-size:19px; line-height:1.2;}
.card-desc{font-size:13.5px; color:var(--ink-soft); line-height:1.5;}
.card-nota{margin-top:auto; padding-top:6px; font-size:12.5px; color:var(--ink-mute); display:flex; align-items:center; gap:6px;}
.card-nota svg{width:13px; height:13px; color:var(--rosu); flex-shrink:0;}

/* filtre catalog */
.filtre{background:var(--faina); padding:14px 0; margin-bottom:8px;
  border-bottom:1px solid var(--line); display:flex; gap:10px; flex-wrap:wrap;}
.filtru{padding:10px 18px; border-radius:30px; border:1.5px solid var(--line); font-size:14px; font-weight:500;
  color:var(--ink-soft); display:flex; gap:7px; transition:all .25s;}
.filtru b{color:var(--ink-mute); font-weight:500;}
.filtru:hover{border-color:var(--rosu);}
.filtru.activ{background:var(--ink); border-color:var(--ink); color:var(--creta);}
.filtru.activ b{color:var(--creta-mute);}
.categorie{padding:34px 0 8px;}
.categorie-cap{display:flex; align-items:baseline; gap:14px; margin-bottom:20px;}
.categorie-cap h2{font-size:var(--h3);}
.categorie-cap .tabla-nota{font-size:19px; color:var(--ink-mute);}
.mai-facem{margin:14px 0 0; padding:16px 20px; background:var(--paper); border:1px dashed var(--line);
  border-radius:var(--radius); font-size:14.5px; color:var(--ink-soft);}
.mai-facem b{font-weight:600; color:var(--ink);}
.nota-pret{display:flex; align-items:flex-start; gap:10px; margin:34px 0 0; padding:16px 20px;
  background:var(--rosu-soft); border-radius:var(--radius); font-size:14.5px; color:var(--ink-soft); max-width:560px;}
.nota-pret svg{width:17px; height:17px; color:var(--rosu); flex-shrink:0; margin-top:2px;}

/* ---------- panoul de poveste (pe tablă) ---------- */
.poveste{padding:var(--sectiune) 0; position:relative; overflow:hidden;}
.poveste-grila{display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(28px,4vw,60px); align-items:center; position:relative; z-index:2;}
.poveste-poza{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/4.6; position:relative;}
.poveste-poza img{width:100%; height:100%; object-fit:cover;}
.poveste-poza figcaption{position:absolute; left:0; right:0; bottom:0; padding:36px 18px 14px; font-family:'Caveat',cursive;
  font-weight:600; font-size:21px; color:#fff; background:linear-gradient(transparent, rgba(16,15,14,.72)); text-align:center;}
.poveste-text h2{font-size:var(--h2); margin:14px 0 20px;}
.poveste-text p{color:var(--creta-mute); line-height:1.7; margin-bottom:16px; max-width:56ch;}
.poveste-citat{border-left:2px solid var(--rosu); padding-left:18px; margin:24px 0 28px; font-family:'Caveat',cursive;
  font-weight:600; font-size:clamp(22px,2.6vw,28px); line-height:1.35; color:var(--creta);}
.poveste-citat cite{display:block; font-family:'Jost',sans-serif; font-style:normal; font-size:13px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--creta-mute); margin-top:10px;}

/* ---------- statistici ---------- */
.statistici{padding:var(--sectiune) 0;}
.statistici-grila{display:grid; grid-template-columns:repeat(4,1fr); gap:32px 24px;}
.stat{border-left:2px solid var(--rosu); padding-left:20px;}
.stat b{display:block; font-family:'Rokkitt',Georgia,serif; font-weight:700; font-size:clamp(34px,3.6vw,52px); color:var(--ink); line-height:1;}
.stat span{font-size:13px; letter-spacing:.06em; color:var(--ink-mute); text-transform:uppercase; display:block; margin-top:8px;}
.stat small{display:block; font-size:12px; color:var(--ink-mute); margin-top:2px; text-transform:none; letter-spacing:0;}

/* ---------- banda „vă punem deoparte" ---------- */
.deoparte{padding:var(--sectiune) 0; position:relative; overflow:hidden;}
.deoparte-panou{position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,4vw,60px); align-items:center;}
.deoparte h2{font-size:var(--h2); margin:14px 0 18px;}
.deoparte p{color:var(--creta-mute); max-width:52ch; margin-bottom:26px; line-height:1.7;}
.deoparte-pasi{display:flex; flex-direction:column; gap:16px;}
.pas{display:flex; gap:16px; align-items:flex-start;}
.pas-nr{font-family:'Caveat',cursive; font-weight:600; font-size:30px; color:var(--rosu); line-height:1; min-width:34px; text-align:center; transform:rotate(-3deg);}
.pas-text b{display:block; font-weight:600; color:var(--creta); margin-bottom:2px;}
.pas-text span{font-size:14px; color:var(--creta-mute);}

/* ---------- banda torturi ---------- */
.torturi{padding:var(--sectiune) 0;}
.torturi-grila{display:grid; grid-template-columns:.95fr 1.05fr; gap:clamp(28px,4vw,60px); align-items:center;}
.torturi-poza{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); aspect-ratio:4/4.3;}
.torturi-poza img{width:100%; height:100%; object-fit:cover;}
.torturi-text h2{font-size:var(--h2); margin:14px 0 18px;}
.torturi-text p{color:var(--ink-soft); max-width:54ch; margin-bottom:26px;}

/* ---------- cap de pagină interioară (două coloane, cu poză) ---------- */
.cap-pagina{padding:130px 0 0;}
.cap-pagina-grila{display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(28px,4vw,60px); align-items:center; padding-bottom:var(--sp-12);}
.cap-pagina h1{font-size:clamp(2.2rem,1.6rem + 3vw,3.6rem); margin:16px 0 18px;}
.cap-pagina .lead{color:var(--ink-soft); font-size:17px; max-width:54ch; line-height:1.65;}
.cap-pagina-poza{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:16/11;}
.cap-pagina-poza img{width:100%; height:100%; object-fit:cover;}

/* ---------- proces (despre) ---------- */
.proces{padding:var(--sectiune) 0;}
.proces-grila{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.proces-pas{background:var(--paper); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm);}
.proces-pas figure{aspect-ratio:4/3; overflow:hidden;}
.proces-pas img{width:100%; height:100%; object-fit:cover;}
.proces-pas-body{padding:20px;}
.proces-pas-body .pas-nr{display:inline-block; margin-bottom:6px;}
.proces-pas-body h3{font-size:19px; margin-bottom:8px;}
.proces-pas-body p{font-size:14px; color:var(--ink-soft); line-height:1.55;}
.proces-fapte{margin-top:34px; display:flex; gap:12px; flex-wrap:wrap;}
.fapt{padding:10px 18px; border:1.5px solid var(--line); border-radius:30px; font-size:14px; color:var(--ink-soft); background:var(--paper);}
.fapt b{color:var(--rosu); font-weight:600;}

/* ---------- galerie loc (despre) ---------- */
.loc-grila{display:grid; grid-template-columns:1.2fr .8fr; gap:20px;}
.loc-grila figure{border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-sm); position:relative; aspect-ratio:16/10;}
.loc-grila figure.inalt{aspect-ratio:auto;}
.loc-grila img{width:100%; height:100%; object-fit:cover;}
.loc-grila figcaption{position:absolute; left:14px; bottom:12px; background:rgba(16,15,14,.72); color:var(--creta);
  font-size:12.5px; padding:6px 12px; border-radius:20px;}

/* ---------- contact ---------- */
.contact-carduri{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-bottom:var(--sp-8);}
.contact-card{background:var(--paper); border-radius:var(--radius); padding:26px; box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:8px;}
.contact-card h3{font-size:17px; display:flex; align-items:center; gap:9px;}
.contact-card h3 svg{width:17px; height:17px; color:var(--rosu);}
.contact-card a{font-weight:600;}
.contact-card a:hover{color:var(--rosu);}
.contact-card p,.contact-card span{font-size:14.5px; color:var(--ink-soft);}
.program-lista{display:flex; flex-direction:column; gap:4px; font-size:14.5px; color:var(--ink-soft);}
.program-lista b{color:var(--ink); font-weight:600;}
.program-azi{margin-top:6px; font-size:13px; color:var(--rosu); font-weight:600;}

/* ---------- formulare ---------- */
.formular-sectiune{padding:var(--sectiune) 0;}
.formular-grila{display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(28px,5vw,70px); align-items:start;}
.formular{display:flex; flex-direction:column; gap:16px; background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:clamp(22px,3vw,34px); box-shadow:var(--shadow-sm);}
.formular label{display:flex; flex-direction:column; gap:7px; font-size:13.5px; font-weight:600; color:var(--ink-soft);}
.camp-nume{display:flex; align-items:baseline; gap:5px;}
.formular input,.formular select,.formular textarea{font-size:16px; font-weight:400; padding:13px 16px;
  border-radius:var(--radius); border:1.5px solid var(--line); background:var(--faina); color:var(--ink);}
.formular input:focus,.formular select:focus,.formular textarea:focus{outline:none; border-color:var(--rosu);}
.formular textarea{resize:vertical; min-height:74px;}
.camp-rand{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.camp-eroare{display:none; font-size:12.5px; color:var(--rosu-deep); font-weight:500;}
label.gresit input{border-color:var(--rosu);}
label.gresit .camp-eroare{display:block;}
.obligatoriu{color:var(--rosu);}
.gdpr{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:var(--ink-mute); margin:2px 0 4px; cursor:pointer; font-weight:400;}
.gdpr input{width:16px; height:16px; margin-top:2px; accent-color:var(--rosu); flex-shrink:0;}
.formular-nota{font-size:12.5px; color:var(--ink-mute); text-align:center;}
.btn-wa{background:#1FAF54; color:#fff; box-shadow:0 12px 26px -12px rgba(31,175,84,.55);}
.btn-wa:hover{background:#188A42; color:#fff; transform:translateY(-3px);}
.btn-wa svg{width:18px; height:18px;}
.formular-langa h2{font-size:var(--h2); margin:14px 0 16px;}
.formular-langa > p{color:var(--ink-soft); max-width:52ch; margin-bottom:22px; line-height:1.65;}
.tabla-bloc .formular-langa > p{color:var(--creta-mute);}
.mesaj-model{background:var(--tabla); color:var(--creta); border-radius:var(--radius-lg); padding:24px 26px; position:relative; overflow:hidden;}
.mesaj-model .perete{opacity:.1;}
.mesaj-model h4{font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--creta-mute); margin-bottom:12px; font-family:'Jost',sans-serif; font-weight:600; position:relative;}
.mesaj-model p{font-family:'Caveat',cursive; font-weight:600; font-size:23px; line-height:1.4; position:relative;}

/* ---------- 404 ---------- */
.negasit{padding:200px 0 120px; text-align:center;}
.negasit h1{font-size:clamp(2.4rem,5vw,4rem); margin:18px 0 14px;}
.negasit p{color:var(--ink-soft); margin-bottom:28px;}
.negasit .creta{color:var(--rosu); font-size:clamp(26px,3.4vw,36px); display:block; transform:rotate(-2deg);}

/* ---------- subsol (pe tablă) ---------- */
.subsol{background:var(--tabla); color:var(--creta-mute); padding:70px 0 28px; position:relative; overflow:hidden;}
.subsol-sus{display:flex; align-items:center; gap:16px; margin-bottom:44px; position:relative; z-index:2;}
.subsol-badge{width:74px; height:74px; background-color:var(--creta);
  -webkit-mask:url(img/sigla-badge.svg) center/contain no-repeat; mask:url(img/sigla-badge.svg) center/contain no-repeat; flex-shrink:0;}
.subsol-sus .tabla-nota{font-size:24px;}
.footer-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding-bottom:44px;
  border-bottom:1px solid var(--linie-creta); position:relative; z-index:2;}
.footer-grid h4{font-family:'Jost',sans-serif; font-size:12px; letter-spacing:.16em; text-transform:uppercase; color:var(--rosu); margin-bottom:14px; font-weight:600;}
.footer-grid a,.footer-grid p,.footer-grid span{display:block; font-size:14.5px; margin-bottom:8px; color:var(--creta-mute);}
.footer-grid a:hover{color:var(--creta);}
.footer-bottom{display:flex; justify-content:space-between; padding-top:24px; font-size:12.5px;
  color:rgba(242,238,230,.42); flex-wrap:wrap; gap:10px; position:relative; z-index:2;}
.footer-bottom a{color:rgba(242,238,230,.55);}

/* ---------- pastila VisionSite ---------- */
.vs-pill{position:fixed; left:22px; bottom:22px; z-index:300; opacity:0; visibility:hidden; transform:translateY(14px);
  transition:opacity .4s, visibility .4s, transform .4s;}
.vs-pill.e-vizibil{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:10px 16px 10px 13px; border-radius:30px; font-size:12px; font-weight:600; color:var(--ink-soft); box-shadow:var(--shadow-sm);}
.vs-pill a:hover{border-color:var(--rosu); color:var(--rosu);}
.vs-pill svg{width:14px; height:14px; color:var(--rosu);}

/* ---------- responsive: construit la 390, lărgit în sus ---------- */
@media (max-width:1080px){
  .vitrina-grila{grid-template-columns:repeat(3,1fr);}
  .statistici-grila{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:920px){
  .nav-linkuri{display:none;}
  .burger{display:flex;}
  .antet .btn-tel span{display:none;}
  .antet .btn-tel{padding:11px; border-radius:50%;}
  .hero{padding:110px 0 54px;}
  .hero-grila,.poveste-grila,.deoparte-panou,.torturi-grila,.cap-pagina-grila,.formular-grila{grid-template-columns:1fr;}
  .hero-scena{order:-1; max-width:520px;}
  .cap-pagina-grila .cap-pagina-poza{order:-1;}
  .proces-grila{grid-template-columns:1fr; max-width:520px;}
  .loc-grila{grid-template-columns:1fr;}
  .contact-carduri{grid-template-columns:1fr; max-width:520px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .sigiliu{width:92px; height:92px; right:-6px; top:-20px;}
}
@media (max-width:640px){
  .vitrina-grila,.vitrina-grila.grila-3{grid-template-columns:repeat(2,1fr); gap:12px;}
  .card-body{padding:13px 13px 15px; gap:5px;}
  .card-body h3{font-size:15px;}
  .card-desc{font-size:12px; line-height:1.45;}
  .card-nota{font-size:11.5px;}
  .card-eticheta{font-size:9px; padding:4px 8px; top:8px; left:8px;}
  .hero-cta{gap:10px;}
  .hero-cta .btn-plin,.hero-cta .btn-contur{flex:1; padding:14px 10px; font-size:13.5px; white-space:normal; text-align:center;}
  .camp-rand{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .statistici-grila{gap:24px 16px;}
  .vs-pill{left:14px; bottom:14px;}
  .vs-pill a span{display:none;}
}
