/* ============================================================
   Pită de casă „La Matei" — Hunedoara · demo VisionSite
   ------------------------------------------------------------
   Arhetipul e FIRMA LOR, nu o siglă: panoul crem de deasupra
   intrării, cu literele PITĂ DE CASĂ roșii, gravate cu dungi
   interioare, încadrate sus și jos de o bandă de cusătură
   populară. Banda aia (romburi + X, punct cu punct, ca la
   gherghef) e semnătura care ține tot site-ul: separă secțiuni,
   tivește cardurile, închide subsolul.
   Paleta: crem de panou, roșu de firmă, cărămida cuptorului cu
   vatră, gri de fațadă.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&family=Onest:wght@300;400;500;600;700&family=Caveat:wght@500;600;700&display=swap');

:root{
  /* culori măsurate de pe firma și din cuptorul lor */
  --paine:#F6F0E1;
  --paine-cald:#EEE4CE;
  --hartie:#FDFAF3;
  --rosu:#B23A2E;
  --rosu-adanc:#8A2A21;
  --rosu-pal:#D9A79E;
  --vatra:#A4644F;
  --vatra-adanc:#6E3B2C;
  --coaja:#C98A3C;
  --cerneala:#2B211B;
  --cerneala-2:#5C4C40;
  --cerneala-3:#8B7A6B;
  --fum:#42474A;
  --linie:rgba(43,33,27,.16);
  --linie-fina:rgba(43,33,27,.08);
  --umbra-mica:0 8px 22px rgba(43,33,27,.10);
  --umbra:0 22px 54px -18px rgba(43,33,27,.32);
  --raza:18px;
  --raza-mica:10px;
  --maxw:1220px;
  --font-titlu:'Bitter', Georgia, serif;
  --font-corp:'Onest', system-ui, -apple-system, sans-serif;
  --font-scris:'Caveat', cursive;
}

*,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
html,body{background:var(--paine); color:var(--cerneala); overflow-x:clip;}
body{font-family:var(--font-corp); font-size:16.5px; line-height:1.65; font-weight:400; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--font-titlu); color:var(--cerneala); font-weight:700; letter-spacing:-.005em;}
/* leading generos: sub 1.1 virgula de sub Ș/Ț se lipește de rândul următor */
h1{line-height:1.14;}
h2{line-height:1.16;}
h3{line-height:1.22;}
a{color:inherit; text-decoration:none;}
button,input,select,textarea{font:inherit; color:inherit;}
button{background:none; border:0; cursor:pointer;}
img{max-width:100%; display:block;}
ul{list-style:none;}
[hidden]{display:none !important;}
::selection{background:var(--rosu); color:var(--paine);}

.container{max-width:var(--maxw); margin:0 auto; padding:0 clamp(20px,5vw,52px);}
.sr-only{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}

::-webkit-scrollbar{width:11px;}
::-webkit-scrollbar-track{background:var(--paine-cald);}
::-webkit-scrollbar-thumb{background:var(--vatra); border-radius:10px;}

/* ============================================================
   SEMNĂTURA — banda de cusătură populară de pe firma lor
   ============================================================ */
.cusatura{display:block; height:15px; background:url('cusatura-rosu.svg') repeat-x center/auto 15px; opacity:.9;}
.cusatura-crem{background-image:url('cusatura-crem.svg');}
.cusatura-adanc{background-image:url('cusatura-adanc.svg');}
.cusatura-sm{height:12px; background-size:auto 12px;}

/* despărțitorul de secțiuni: două linii subțiri + banda la mijloc */
.despartitor{position:relative; padding:26px 0; text-align:center;}
.despartitor::before,.despartitor::after{content:''; position:absolute; left:0; right:0; height:1px; background:var(--linie);}
.despartitor::before{top:6px;}
.despartitor::after{bottom:6px;}
.despartitor .cusatura{opacity:.85;}

/* spicul de grâu sablat pe geamurile lor, refolosit ca ornament */
.spic{width:26px; height:34px; flex:none; color:var(--rosu);}
.spic path{fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round;}

/* ---- firma: plăcuța crem cu literele gravate ---- */
.firma{display:inline-flex; flex-direction:column; align-items:center; gap:6px; background:var(--hartie); border:1px solid var(--rosu-pal); border-radius:6px; padding:8px 18px 9px; box-shadow:var(--umbra-mica);}
.firma-nume{font-family:var(--font-titlu); font-weight:800; text-transform:uppercase; color:var(--rosu); letter-spacing:.10em; line-height:1.05; white-space:nowrap;}
.firma-semnatura{font-family:var(--font-scris); color:var(--rosu-adanc); line-height:1; display:flex; align-items:center; gap:8px; white-space:nowrap;}
.firma-semnatura::before,.firma-semnatura::after{content:''; width:16px; height:1.5px; background:var(--rosu-adanc); opacity:.7;}
.firma .cusatura{width:100%;}

.firma-sm{padding:6px 13px 7px; gap:3px; border-radius:5px;}
.firma-sm .firma-nume{font-size:15px; letter-spacing:.09em;}
.firma-sm .firma-semnatura{font-size:15px;}
.firma-sm .firma-semnatura::before,.firma-sm .firma-semnatura::after{width:11px;}
.firma-sm .cusatura{height:7px; background-size:auto 7px;}

.firma-xl{padding:16px clamp(20px,4.5vw,46px) 18px; gap:10px; border-width:2px; border-radius:8px;}
.firma-xl .firma-nume{font-size:clamp(28px,6.4vw,62px); letter-spacing:.06em;}
.firma-xl .firma-semnatura{font-size:clamp(24px,4.4vw,40px);}
.firma-xl .firma-semnatura::before,.firma-xl .firma-semnatura::after{width:clamp(18px,3vw,34px);}
.firma-xl .cusatura{height:13px; background-size:auto 13px;}

/* literele gravate cu dungi, ca pe panoul lor; solid roșu ca rezervă */
@supports (-webkit-background-clip:text) or (background-clip:text){
  .firma-xl .firma-nume{
    background-image:repeating-linear-gradient(96deg, var(--rosu) 0 4px, rgba(253,250,243,.62) 4px 5.5px);
    -webkit-background-clip:text; background-clip:text; color:transparent;
    -webkit-text-stroke:.6px var(--rosu-adanc);
  }
}

/* ============================================================
   TIPOGRAFIE UTILITARĂ
   ============================================================ */
.ochelari{display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--rosu);}
.ochelari::before{content:''; width:24px; height:2px; background:var(--rosu); opacity:.55;}
.ochelari.pe-inchis{color:var(--coaja);}
.ochelari.pe-inchis::before{background:var(--coaja);}
.ochelari.centrat{justify-content:center;}
.ochelari.centrat::after{content:''; width:24px; height:2px; background:currentColor; opacity:.55;}

.titlu-sectiune{font-size:clamp(28px,4.2vw,46px); margin-top:16px; text-wrap:balance;}
.titlu-sectiune em{font-style:italic; color:var(--rosu);}
.lede{font-size:clamp(16px,1.5vw,18.5px); color:var(--cerneala-2); line-height:1.75; max-width:56ch; text-wrap:pretty;}
.scris{font-family:var(--font-scris); font-size:1.45em; color:var(--vatra-adanc); line-height:1.25;}

.sectiune{padding:clamp(60px,8vw,104px) 0;}
.sectiune-stransa{padding:clamp(44px,5.5vw,70px) 0;}
.pe-cald{background:var(--paine-cald);}
.pe-hartie{background:var(--hartie);}

/* ============================================================
   BUTOANE
   ============================================================ */
.btn,.btn-fantoma,.btn-inchis,.btn-pe-inchis{display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 30px; border-radius:44px; font-weight:600; font-size:14.5px; letter-spacing:.02em; transition:transform .25s cubic-bezier(.16,1,.3,1), background .25s, color .25s, border-color .25s, box-shadow .25s;}
.btn{background:var(--rosu); color:var(--hartie); box-shadow:0 12px 26px -12px rgba(178,58,46,.7);}
.btn:hover{background:var(--rosu-adanc); transform:translateY(-2px);}
.btn-fantoma{border:1.6px solid var(--cerneala); color:var(--cerneala);}
.btn-fantoma:hover{border-color:var(--rosu); color:var(--rosu); transform:translateY(-2px);}
.btn-inchis{background:var(--cerneala); color:var(--paine);}
.btn-inchis:hover{background:var(--vatra-adanc); transform:translateY(-2px);}
.btn-pe-inchis{border:1.6px solid rgba(246,240,225,.45); color:var(--paine);}
.btn-pe-inchis:hover{border-color:var(--coaja); color:var(--coaja); transform:translateY(-2px);}
.btn-lat{width:100%;}
.btn-mic{padding:11px 20px; font-size:13px;}
.btn svg,.btn-fantoma svg,.btn-inchis svg{width:17px; height:17px; flex:none;}

/* ============================================================
   ANTET
   ============================================================ */
.antet{position:fixed; inset:0 0 auto; z-index:200; padding:14px 0; transition:background .35s, padding .35s, box-shadow .35s;}
.antet .container{display:flex; align-items:center; justify-content:space-between; gap:20px; position:relative; z-index:2;}

/* pe prima pagină antetul stă peste fotografia de hero: voal + text deschis */
.antet.pe-hero:not(.e-derulat)::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(43,33,27,.62) 0%, rgba(43,33,27,0) 100%); pointer-events:none;}
.antet.pe-hero:not(.e-derulat) .nav-legaturi a{color:var(--paine);}
.antet.pe-hero:not(.e-derulat) .nav-legaturi a::after{background:var(--coaja);}
.antet.pe-hero:not(.e-derulat) .nav-tel{color:var(--paine);}
.antet.pe-hero:not(.e-derulat) .nav-burger{border-color:rgba(246,240,225,.55); background:rgba(43,33,27,.3);}
.antet.pe-hero:not(.e-derulat) .nav-burger span{background:var(--paine);}
.antet.e-derulat{background:rgba(246,240,225,.94); backdrop-filter:blur(12px); padding:9px 0; box-shadow:0 1px 0 var(--linie), 0 10px 30px -22px rgba(43,33,27,.5);}
.nav-principal{display:flex; align-items:center; gap:34px;}
.nav-legaturi{display:flex; align-items:center; gap:28px; font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;}
.nav-legaturi a{position:relative; padding:5px 0;}
.nav-legaturi a::after{content:''; position:absolute; left:0; right:100%; bottom:0; height:2px; background:var(--rosu); transition:right .3s cubic-bezier(.16,1,.3,1);}
.nav-legaturi a:hover::after,.nav-legaturi a.e-activ::after{right:0;}
.nav-legaturi a.e-activ{color:var(--rosu);}
.nav-actiuni{display:flex; align-items:center; gap:12px;}
.nav-tel{display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:14.5px; color:var(--rosu); white-space:nowrap;}
.nav-tel svg{width:16px; height:16px; fill:currentColor;}
.nav-burger{display:none; width:44px; height:44px; border-radius:50%; border:1.6px solid var(--linie); flex-direction:column; align-items:center; justify-content:center; gap:5px; background:var(--hartie);}
.nav-burger span{width:18px; height:2px; background:var(--cerneala); transition:transform .3s, opacity .3s;}
.nav-burger.e-deschis span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-burger.e-deschis span:nth-child(2){opacity:0;}
.nav-burger.e-deschis span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.nav-mobil{position:fixed; inset:0; z-index:190; background:var(--paine); display:flex; flex-direction:column; padding:104px 30px 34px; transform:translateY(-102%); transition:transform .45s cubic-bezier(.16,1,.3,1); opacity:0; overflow-y:auto;}
.nav-mobil.e-deschis{transform:translateY(0); opacity:1;}
.nav-mobil a.nav-mobil-link{font-family:var(--font-titlu); font-size:30px; font-weight:700; padding:15px 0; border-bottom:1px solid var(--linie);}
.nav-mobil-jos{margin-top:auto; padding-top:26px; display:flex; flex-direction:column; gap:8px; font-size:14px; color:var(--cerneala-2);}
.nav-mobil-jos strong{font-size:19px; color:var(--rosu);}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; padding:130px 0 0; overflow:hidden; background:var(--vatra-adanc);}
.hero-foto{position:absolute; inset:0;}
.hero-foto img{width:100%; height:100%; object-fit:cover; object-position:center 58%;}
.hero-voal{position:absolute; inset:0; background:linear-gradient(180deg, rgba(43,33,27,.66) 0%, rgba(43,33,27,.34) 26%, rgba(43,33,27,.62) 56%, rgba(43,33,27,.84) 80%, rgba(43,33,27,.94) 100%);}
.hero-cuprins{position:relative; z-index:3; width:100%; margin-top:auto; padding-bottom:clamp(30px,5vh,58px); text-align:center; display:flex; flex-direction:column; align-items:center; gap:clamp(18px,3vh,30px);}
.hero-cuprins .firma{align-self:center;}
.hero-slogan{font-family:var(--font-titlu); font-style:italic; font-weight:600; font-size:clamp(19px,2.6vw,31px); color:var(--paine); line-height:1.45; max-width:22ch; text-wrap:balance; text-shadow:0 2px 18px rgba(43,33,27,.6);}
.hero-sub{color:rgba(246,240,225,.86); font-size:clamp(14.5px,1.5vw,17px); max-width:50ch; text-shadow:0 1px 12px rgba(43,33,27,.7);}
.hero-butoane{display:flex; flex-wrap:wrap; gap:12px; justify-content:center;}

/* banda cu cele trei răspunsuri, lipită de baza hero-ului */
.hero-banda{position:relative; z-index:3; width:100%; background:var(--hartie); border-top:2px solid var(--rosu);}
.hero-banda-grid{display:grid; grid-template-columns:repeat(3,1fr);}
.hero-banda-cel{padding:20px 22px; display:flex; align-items:flex-start; gap:13px; border-right:1px solid var(--linie-fina);}
.hero-banda-cel:last-child{border-right:0;}
.hero-banda-cel svg.icon{width:21px; height:21px; flex:none; margin-top:3px; stroke:var(--rosu); fill:none; stroke-width:1.7;}
.hero-banda-et{display:block; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cerneala-3);}
.hero-banda-val{display:block; font-weight:600; font-size:15px; line-height:1.4; margin-top:3px;}
.hero-banda-val small{display:block; font-weight:400; font-size:12.5px; color:var(--cerneala-3); margin-top:1px;}

/* ============================================================
   „ÎNTREBĂRILE DE PE FACEBOOK" — cele trei răspunsuri
   ============================================================ */
.raspunsuri{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,26px); margin-top:44px;}
.raspuns{position:relative; background:var(--hartie); border:1px solid var(--linie); border-radius:var(--raza); padding:0 0 26px; overflow:hidden; box-shadow:var(--umbra-mica);}
.raspuns .cusatura{opacity:.75;}
.raspuns-corp{padding:24px clamp(20px,2.4vw,28px) 0;}
.raspuns-intrebare{font-family:var(--font-scris); font-size:23px; color:var(--vatra-adanc); line-height:1.3; padding-left:16px; border-left:3px solid var(--rosu-pal);}
.raspuns h3{font-size:22px; margin-top:16px;}
.raspuns p{margin-top:9px; color:var(--cerneala-2); font-size:15.5px;}
.raspuns-link{display:inline-flex; align-items:center; gap:7px; margin-top:14px; font-weight:600; font-size:14px; color:var(--rosu); border-bottom:1.5px solid transparent; transition:border-color .25s;}
.raspuns-link:hover{border-color:var(--rosu);}

/* ============================================================
   SORTIMENT — cardurile de pâine
   ============================================================ */
.grid-produse{display:grid; grid-template-columns:repeat(auto-fill,minmax(258px,1fr)); gap:clamp(16px,2.2vw,26px);}
.card-paine{position:relative; background:var(--hartie); border:1px solid var(--linie); border-radius:var(--raza); overflow:hidden; display:flex; flex-direction:column; transition:transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s, border-color .35s;}
.card-paine:hover{transform:translateY(-5px); box-shadow:var(--umbra); border-color:var(--rosu-pal);}
.card-media{position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--paine-cald);}
.card-media img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,1,.3,1);}
.card-paine:hover .card-media img{transform:scale(1.05);}
.card-eticheta{position:absolute; top:12px; left:12px; background:var(--hartie); color:var(--rosu); font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; padding:6px 11px; border-radius:30px; box-shadow:var(--umbra-mica);}
.card-corp{padding:20px 20px 22px; display:flex; flex-direction:column; flex:1; gap:8px;}
.card-corp h3{font-size:20px;}
.card-nota{font-size:14.5px; color:var(--cerneala-2); line-height:1.6; flex:1;}
/* Gramajul deasupra, butonul lat dedesubt: pe o coloană de ~210 px eticheta
   „Pune pe listă" se rupea în două rânduri și pastila ieșea ovală. */
.card-jos{display:flex; flex-direction:column; align-items:stretch; gap:11px; margin-top:6px; padding-top:14px; border-top:1px dashed var(--linie);}
.card-gramaj{font-size:12.5px; color:var(--cerneala-3); font-weight:600; letter-spacing:.03em;}
.card-adauga{display:inline-flex; align-items:center; justify-content:center; gap:7px; font-weight:600; font-size:13.5px; white-space:nowrap; color:var(--rosu); padding:11px 16px; border:1.5px solid var(--rosu-pal); border-radius:30px; transition:background .25s, color .25s, border-color .25s;}
.card-adauga:hover{background:var(--rosu); color:var(--hartie); border-color:var(--rosu);}
.card-adauga.e-pus{background:var(--rosu); color:var(--hartie); border-color:var(--rosu);}

/* filtre */
.filtre{display:flex; flex-wrap:wrap; gap:9px; margin-top:26px;}
.filtru{padding:9px 18px; border-radius:30px; border:1.5px solid var(--linie); font-size:13.5px; font-weight:600; color:var(--cerneala-2); transition:all .25s;}
.filtru:hover{border-color:var(--rosu-pal); color:var(--rosu);}
.filtru.e-activ{background:var(--rosu); border-color:var(--rosu); color:var(--hartie);}

/* nota despre prețuri */
.nota-preturi{display:flex; gap:14px; align-items:flex-start; background:var(--paine-cald); border:1px dashed var(--vatra); border-radius:var(--raza-mica); padding:18px 20px; margin-top:26px; font-size:14.5px; color:var(--cerneala-2);}
.nota-preturi strong{color:var(--vatra-adanc);}

/* ============================================================
   VATRA — panoul de cărămidă
   ============================================================ */
.vatra-sectiune{position:relative; background:var(--vatra-adanc); color:var(--paine); overflow:hidden;}
.vatra-fundal{position:absolute; inset:0; opacity:.30;}
.vatra-fundal img{width:100%; height:100%; object-fit:cover;}
.vatra-sectiune::after{content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(50,26,18,.94) 0%, rgba(50,26,18,.7) 52%, rgba(50,26,18,.42) 100%);}
.vatra-grid{position:relative; z-index:3; display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(30px,5vw,66px); align-items:center;}
.vatra-sectiune h2{color:var(--paine);}
.vatra-sectiune h2 em{color:var(--coaja); font-style:italic;}
.vatra-text p{color:rgba(246,240,225,.84); margin-top:16px; font-size:16.5px; line-height:1.78;}
.vatra-cifre{display:flex; flex-wrap:wrap; gap:clamp(20px,4vw,48px); margin-top:32px; padding-top:26px; border-top:1px solid rgba(246,240,225,.2);}
.vatra-cifra b{display:block; font-family:var(--font-titlu); font-size:clamp(30px,4.2vw,44px); font-weight:800; color:var(--coaja); line-height:1;}
.vatra-cifra span{display:block; font-size:13px; color:rgba(246,240,225,.7); margin-top:7px; letter-spacing:.05em;}
.vatra-media{position:relative;}
.vatra-media img{width:100%; border-radius:var(--raza); box-shadow:var(--umbra);}
.vatra-media .cusatura{position:absolute; left:0; right:0; bottom:-8px; height:15px;}
.vatra-eticheta{position:absolute; left:-14px; top:-16px; background:var(--hartie); color:var(--vatra-adanc); font-family:var(--font-scris); font-size:22px; padding:8px 18px; border-radius:6px; box-shadow:var(--umbra-mica); transform:rotate(-3deg);}

/* ============================================================
   MĂRTURII
   ============================================================ */
.marturii{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(16px,2.4vw,26px); margin-top:44px;}
.marturie{background:var(--hartie); border:1px solid var(--linie); border-radius:var(--raza); padding:28px clamp(20px,2.4vw,28px); display:flex; flex-direction:column; gap:14px; position:relative;}
.marturie::before{content:'„'; position:absolute; top:6px; right:20px; font-family:var(--font-titlu); font-size:74px; line-height:1; color:var(--rosu); opacity:.14;}
.marturie p{font-size:16px; line-height:1.72; color:var(--cerneala); position:relative; z-index:2;}
.marturie footer{margin-top:auto; display:flex; align-items:center; gap:11px; padding-top:12px; border-top:1px dashed var(--linie);}
.marturie-init{width:38px; height:38px; flex:none; border-radius:50%; background:var(--rosu); color:var(--hartie); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px;}
.marturie-nume{font-weight:600; font-size:14.5px; line-height:1.3;}
.marturie-nume small{display:block; font-weight:400; font-size:12.5px; color:var(--cerneala-3);}
.marturie-mare{grid-column:span 2;}
.marturie-mare p{font-family:var(--font-titlu); font-style:italic; font-size:clamp(18px,2.1vw,23px); line-height:1.55;}

/* ============================================================
   PROGRAM + LOCAȚIE
   ============================================================ */
.loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,36px); align-items:stretch;}
.fisa{background:var(--hartie); border:1px solid var(--linie); border-radius:var(--raza); overflow:hidden; display:flex; flex-direction:column;}
.fisa-corp{padding:clamp(24px,3vw,34px); display:flex; flex-direction:column; gap:16px; flex:1;}
.fisa h3{font-size:24px;}
.orar{display:flex; flex-direction:column; gap:2px; margin-top:4px;}
.orar-rand{display:flex; align-items:baseline; justify-content:space-between; gap:14px; padding:11px 0; border-bottom:1px dashed var(--linie); font-size:15.5px;}
.orar-rand:last-child{border-bottom:0;}
.orar-rand span:first-child{font-weight:600;}
.orar-rand span:last-child{color:var(--cerneala-2); font-variant-numeric:tabular-nums;}
.orar-rand.e-azi{color:var(--rosu);}
.orar-rand.e-azi span:last-child{color:var(--rosu); font-weight:600;}
.orar-rand.e-inchis span:last-child{color:var(--cerneala-3);}
.fisa-foto{aspect-ratio:16/10; overflow:hidden; background:var(--paine-cald);}
.fisa-foto img{width:100%; height:100%; object-fit:cover;}
.contact-lista{display:flex; flex-direction:column; gap:14px; margin-top:4px;}
.contact-rand{display:flex; gap:13px; align-items:flex-start;}
.contact-rand svg{width:20px; height:20px; flex:none; margin-top:3px; stroke:var(--rosu); fill:none; stroke-width:1.7;}
.contact-rand b{display:block; font-size:11px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--cerneala-3);}
.contact-rand span{display:block; font-size:16px; font-weight:500; margin-top:2px;}
.contact-rand small{display:block; font-size:13px; color:var(--cerneala-3); margin-top:2px;}

/* ============================================================
   CHEMARE FINALĂ
   ============================================================ */
.chemare{background:var(--rosu); color:var(--hartie); text-align:center; position:relative; overflow:hidden;}
.chemare h2{color:var(--hartie); font-size:clamp(28px,4.4vw,48px);}
.chemare p{color:rgba(253,250,243,.9); margin:16px auto 0; max-width:54ch; font-size:17px;}
.chemare .btn-inchis{margin-top:28px;}
.chemare-butoane{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:28px;}

/* ============================================================
   FORMULAR DE COMANDĂ
   ============================================================ */
.comanda-grid{display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(24px,3.5vw,46px); align-items:start;}
.formular{background:var(--hartie); border:1px solid var(--linie); border-radius:var(--raza); overflow:hidden;}
.formular-corp{padding:clamp(24px,3.2vw,38px); display:flex; flex-direction:column; gap:26px;}
.camp{display:flex; flex-direction:column; gap:8px;}
.camp label,.grup-titlu{font-size:12.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--cerneala-3);}
.camp input,.camp select,.camp textarea{padding:14px 16px; border:1.5px solid var(--linie); border-radius:var(--raza-mica); background:var(--paine); font-size:15.5px; transition:border-color .25s, background .25s;}
.camp input:focus,.camp select:focus,.camp textarea:focus{outline:0; border-color:var(--rosu); background:var(--hartie);}
.camp textarea{resize:vertical; min-height:96px;}
.camp-dubla{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
.camp-ajutor{font-size:13px; color:var(--cerneala-3);}

.alegeri{display:flex; flex-direction:column; gap:10px;}
.alegere{display:flex; align-items:center; gap:14px; padding:13px 16px; border:1.5px solid var(--linie); border-radius:var(--raza-mica); background:var(--paine); transition:border-color .25s, background .25s;}
.alegere.are-cantitate{border-color:var(--rosu); background:var(--hartie);}
.alegere-nume{flex:1; min-width:0;}
.alegere-nume b{display:block; font-size:15.5px; font-weight:600; line-height:1.3;}
.alegere-nume small{display:block; font-size:12.5px; color:var(--cerneala-3); margin-top:2px;}
.pas{display:flex; align-items:center; gap:4px; flex:none; background:var(--paine-cald); border-radius:30px; padding:4px;}
.pas button{width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px; font-weight:600; color:var(--rosu); background:var(--hartie); border:1px solid var(--linie); transition:background .2s, color .2s;}
.pas button:hover{background:var(--rosu); color:var(--hartie);}
.pas button[disabled]{opacity:.35; cursor:default;}
.pas button[disabled]:hover{background:var(--hartie); color:var(--rosu);}
.pas output{min-width:26px; text-align:center; font-weight:700; font-variant-numeric:tabular-nums;}

.zile{display:flex; flex-wrap:wrap; gap:9px;}
.zi{padding:11px 17px; border-radius:30px; border:1.5px solid var(--linie); font-size:14px; font-weight:600; color:var(--cerneala-2); transition:all .25s;}
.zi.e-activ{background:var(--rosu); border-color:var(--rosu); color:var(--hartie);}

/* sumarul lipicios */
.sumar{position:sticky; top:96px; background:var(--hartie); border:1px solid var(--linie); border-radius:var(--raza); overflow:hidden; box-shadow:var(--umbra-mica);}
.sumar-corp{padding:clamp(22px,2.8vw,30px); display:flex; flex-direction:column; gap:16px;}
.sumar h3{font-size:21px;}
.sumar-lista{display:flex; flex-direction:column; gap:9px; font-size:15px;}
.sumar-rand{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px dashed var(--linie);}
.sumar-rand:last-child{border-bottom:0;}
.sumar-rand b{font-weight:600;}
.sumar-gol{color:var(--cerneala-3); font-size:14.5px; font-style:italic;}
.sumar-nota{font-size:13px; color:var(--cerneala-3); line-height:1.6;}
.sumar-cand{background:var(--paine-cald); border-radius:var(--raza-mica); padding:14px 16px; font-size:14.5px;}
.sumar-cand b{display:block; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--cerneala-3); margin-bottom:3px;}

/* ============================================================
   ÎNTREBĂRI FRECVENTE
   ============================================================ */
.intrebari{margin-top:36px; border-top:1px solid var(--linie);}
.intrebare{border-bottom:1px solid var(--linie);}
.intrebare summary{list-style:none; cursor:pointer; padding:22px 44px 22px 0; position:relative; font-family:var(--font-titlu); font-size:clamp(17px,2vw,20px); font-weight:600; line-height:1.4;}
.intrebare summary::-webkit-details-marker{display:none;}
.intrebare summary::after{content:''; position:absolute; right:8px; top:50%; width:11px; height:11px; border-right:2px solid var(--rosu); border-bottom:2px solid var(--rosu); transform:translateY(-70%) rotate(45deg); transition:transform .3s;}
.intrebare[open] summary::after{transform:translateY(-20%) rotate(-135deg);}
.intrebare-corp{padding:0 0 24px; color:var(--cerneala-2); font-size:16px; line-height:1.75; max-width:70ch;}
.intrebare-corp p + p{margin-top:12px;}

/* ============================================================
   MOZAIC DE POZE
   ============================================================ */
/* 9 poze pe grilă de 4 coloane, prima ocupând 2x2 — singura combinație care
   se închide fără goluri (2 rânduri: 1 mare + 4 mici; al treilea rând: 4 mici).
   Celulele își păstrează pătratul; fără asta, o poză portret întindea rândul. */
.mozaic{display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:auto; gap:12px; margin-top:40px;}
.mozaic figure{position:relative; overflow:hidden; border-radius:var(--raza-mica); background:var(--paine-cald); aspect-ratio:1; cursor:zoom-in;}
/* fără aspect-ratio:1 aici, o poză portret (908x2016) întindea cele două rânduri
   la 607 px fiecare și lăsa goluri sub celulele mici de 270 px */
.mozaic figure:nth-child(1){grid-column:span 2; grid-row:span 2; aspect-ratio:1;}
.mozaic img{width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.16,1,.3,1);}
.mozaic figure:hover img{transform:scale(1.06);}

.lupa{position:fixed; inset:0; z-index:400; background:rgba(43,33,27,.93); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; pointer-events:none; transition:opacity .3s;}
.lupa.e-deschis{opacity:1; pointer-events:auto;}
.lupa img{max-width:min(94vw,1000px); max-height:88vh; width:auto; border-radius:var(--raza-mica); box-shadow:var(--umbra);}
.lupa-inchide{position:absolute; top:20px; right:24px; width:46px; height:46px; border-radius:50%; background:rgba(246,240,225,.15); color:var(--paine); font-size:24px; display:flex; align-items:center; justify-content:center;}
.lupa-inchide:hover{background:var(--rosu);}

/* ============================================================
   BANDĂ RULANTĂ
   ============================================================ */
.marchiza{overflow:hidden; background:var(--cerneala); color:var(--paine); padding:15px 0; border-top:2px solid var(--rosu); border-bottom:2px solid var(--rosu);}
.marchiza-pista{display:flex; gap:0; width:max-content; animation:aluneca 34s linear infinite;}
.marchiza-grup{display:flex; align-items:center; gap:34px; padding-right:34px; white-space:nowrap;}
.marchiza-grup span{font-family:var(--font-titlu); font-size:15px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;}
.marchiza-grup i{color:var(--coaja); font-style:normal;}
@keyframes aluneca{to{transform:translateX(-50%);}}

/* ============================================================
   SUBSOL
   ============================================================ */
.subsol{background:var(--cerneala); color:var(--paine);}
.subsol-sus{padding:clamp(50px,6vw,76px) 0 40px;}
.subsol-grid{display:grid; grid-template-columns:1.25fr .9fr .9fr; gap:clamp(28px,4vw,52px);}
.subsol h4{font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--coaja); margin-bottom:16px; font-family:var(--font-corp);}
.subsol p,.subsol li,.subsol a{color:rgba(246,240,225,.78); font-size:15px; line-height:1.8;}
.subsol a:hover{color:var(--coaja);}
.subsol-intro{margin-top:18px; max-width:40ch;}
.subsol-lista{display:flex; flex-direction:column; gap:5px;}
.subsol-jos{border-top:1px solid rgba(246,240,225,.16); padding:20px 0 26px; display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; font-size:13px; color:rgba(246,240,225,.55);}
.subsol .firma{background:var(--paine); border-color:var(--rosu);}

.insigna-demo{position:fixed; left:20px; bottom:20px; z-index:150; display:inline-flex; align-items:center; gap:9px; padding:10px 17px 10px 14px; border-radius:30px; background:var(--cerneala); color:var(--paine); font-size:12px; font-weight:600; box-shadow:var(--umbra); border:1px solid rgba(201,138,60,.35);}
.insigna-demo::before{content:'✦'; color:var(--coaja);}
.insigna-demo:hover{background:var(--rosu);}

/* ============================================================
   APARIȚIE LA SCROLL
   ============================================================ */
.apare{opacity:0; transform:translateY(26px); transition:opacity .75s cubic-bezier(.16,1,.3,1), transform .75s cubic-bezier(.16,1,.3,1);}
.apare.s-aratat{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){
  .apare{opacity:1; transform:none; transition:none;}
  .marchiza-pista{animation:none;}
  *{scroll-behavior:auto !important;}
}

/* ============================================================
   404
   ============================================================ */
.pagina-404{min-height:100svh; display:flex; align-items:center; justify-content:center; text-align:center; padding:120px 0 70px;}
.pagina-404 .cifra{font-family:var(--font-titlu); font-size:clamp(80px,17vw,180px); font-weight:800; color:var(--rosu); line-height:1; opacity:.9;}
.pagina-404 h1{font-size:clamp(26px,4vw,42px); margin-top:10px;}
.pagina-404 p{margin-top:16px; color:var(--cerneala-2); max-width:46ch; margin-inline:auto;}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1000px){
  .vatra-grid,.loc-grid,.comanda-grid{grid-template-columns:1fr;}
  .sumar{position:static;}
  .raspunsuri,.marturii{grid-template-columns:1fr 1fr;}
  .marturie-mare{grid-column:span 2;}
  .mozaic{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:860px){
  .nav-legaturi{display:none;}
  .nav-burger{display:flex;}
  .nav-tel span{display:none;}
  .nav-tel{width:44px; height:44px; justify-content:center; border-radius:50%; border:1.6px solid var(--linie); background:var(--hartie);}
  /* peste hero butonul de telefon devine pastilă întunecată, ca burgerul */
  .antet.pe-hero:not(.e-derulat) .nav-tel{border-color:rgba(246,240,225,.55); background:rgba(43,33,27,.3);}
}
@media (max-width:720px){
  body{font-size:16px;}
  .raspunsuri,.marturii{grid-template-columns:1fr;}
  .marturie-mare{grid-column:auto;}
  .hero-banda-grid{grid-template-columns:1fr;}
  .hero-banda-cel{border-right:0; border-bottom:1px solid var(--linie-fina); padding:15px 20px;}
  .hero-banda-cel:last-child{border-bottom:0;}
  .hero{min-height:auto; padding-top:118px;}
  .hero-cuprins{padding-bottom:34px;}
  .subsol-grid{grid-template-columns:1fr; gap:32px;}
  .mozaic{grid-template-columns:repeat(2,1fr); gap:9px;}
  .mozaic figure:nth-child(1){grid-column:span 2; grid-row:auto; aspect-ratio:4/3;}
  .camp-dubla{grid-template-columns:1fr;}
  .grid-produse{grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:13px;}
  .card-corp{padding:16px 15px 18px;}
  .card-corp h3{font-size:17.5px;}
  .card-jos{gap:9px;}
  .insigna-demo{left:12px; bottom:12px; padding:9px 13px 9px 11px; font-size:11px;}
  .vatra-eticheta{left:8px; top:-12px; font-size:19px;}
}
@media (max-width:420px){
  .firma-xl .firma-nume{font-size:26px; letter-spacing:.04em;}
  .grid-produse{grid-template-columns:1fr;}
}
