/* ══ Beauty Vision — global stylesheet (extras 1:1 din design) ══ */
/* ── Fonturi găzduite local (mutate din assets/fonts/fonts.css: o cerere CSS în minus) ── */
/* Fonturi variabile (axa wght): un fișier pe stil și subset. Intervalele sunt cele declarate înainte pe fiecare greutate, deci nicio greutate nu se schimbă. */
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/CormorantGaramond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400 500;
  font-display: swap;
  src: url(/assets/fonts/CormorantGaramond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/CormorantGaramond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/fonts/CormorantGaramond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/Jost-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Jost';
  font-style: normal;
  font-weight: 300 600;
  font-display: swap;
  src: url(/assets/fonts/Jost-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  --bg:#FFFFFF; --ink:#113B3C; --muted:#527172; --accent:#0F7E81;
  --accent-d:#0C6A6D; --cyan:#57E3E1; --line:rgba(17,59,60,.14); --field:#7E9596; --soft:#EAF7F6; --soft2:#B8F0EB;
  --bandB:#F4FBFA; --deep:#0C2E2F; --error:#C93B3B; --error-bg:#FBF1F1; --btnR:999px; --cardR:12px; --cardP:28px; --cardP-sm:24px; --measure:29em;
  --serif:'Cormorant Garamond',serif; --sans:'Jost',system-ui,sans-serif;
  --fs-display:54px; --fs-title:46px; --fs-section:38px; --fs-heading:32px; --fs-subhead:26px; --fs-card:22px;
  --fs-lead:17px; --fs-body:16px; --fs-small:14.5px; --fs-note:13px; --fs-label:12px;
  --footMut:rgba(17,59,60,.75);
}
*{box-sizing:border-box}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
/* overflow-wrap: un cuvânt mai lat decât coloana se rupe în loc să facă scroll orizontal (de exemplu „Microdermabraziunea:” sub 347 px); unde cuvintele încap, nu schimbă nimic */
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;margin:0;overflow-wrap:break-word;text-wrap:balance}
/* Titlurile se rup în rânduri egale, iar paragrafele nu lasă un cuvânt singur pe ultimul rând; browserele fără text-wrap rup rândurile ca înainte */
p,li{text-wrap:pretty}
/* Supratitlul de deasupra titlurilor: 12 px, majuscule rare la .3em. Inline rămân marginea, alinierea și, peste poze, culoarea */
.bv-kicker{font-size:var(--fs-label);letter-spacing:.3em;text-transform:uppercase;color:var(--accent-d)}
/* Bara de sub titlurile de listă (Tratamente, Prețuri, Abonamente); marginile sunt plasare, deci inline */
.bv-rule{width:52px;height:2px;background:var(--accent)}
/* Grila de carduri pe două coloane (Tratamente): un card rămas singur pe ultimul rând stă la mijloc, cu lățimea unei coloane (11 px = jumătate din gap) */
.bv-grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.bv-grid2>:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 11px)}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-d)}
img{display:block;max-width:100%}
input,select,textarea,button{font-family:var(--sans)}
/* Butoanele „Programează-te" fără .bv-btn (FAB-ul) sunt <button>: resetul le dă comportamentul fostelor linkuri, stilurile inline fac restul */
button[data-book]:not(.bv-btn){font:inherit;color:inherit;background:none;border:0;border-radius:0;padding:0;margin:0;letter-spacing:inherit;text-transform:inherit;text-align:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
::selection{background:var(--soft2)}
/* Secțiunile se ascund doar cu JS (clasa .js din <head>) și fără „reduce motion"; altfel se văd direct. Dacă main.js nu pornește animațiile în 3s, scriptul din <head> scoate .js */
@keyframes bvfade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes bvfadein{from{opacity:0}}
/* Pop-up-urile și „Sus" apar la fiecare deschidere; cu „reduce motion" doar printr-un fade scurt, fără urcare */
@media (prefers-reduced-motion:reduce){.bv-modal-box,#goTop.show{animation:bvfadein .2s ease both}}
@media (prefers-reduced-motion:no-preference){
  .bv-modal-box,#goTop.show{animation:bvfade .3s ease both}
  .bv-page{animation:bvfade .5s ease both}
  .js [data-anim]{opacity:0;transform:translateY(26px);transition:opacity .75s cubic-bezier(.22,.61,.36,1),transform .75s cubic-bezier(.22,.61,.36,1)}
  .js [data-anim].bv-in{opacity:1;transform:none}
}
.bv-revbox .bv-arrow{opacity:0;transition:opacity .35s ease,background .3s ease,color .3s ease}
.bv-revbox:hover .bv-arrow,.bv-revbox:focus-within .bv-arrow{opacity:1}
.bv-arr-l{left:28px}
.bv-arr-r{right:28px}
/* Voucherul e un buton: se întoarce la click / Enter / Space (aria-pressed) și, doar cu mouse-ul, la hover (pe touch, :hover rămâne „lipit") */
.bv-flip{display:block;padding:0;border:0;border-radius:var(--cardR);background:none;cursor:pointer;perspective:1200px;-webkit-appearance:none;appearance:none}
.bv-flip-inner{display:block;position:relative;transition:transform .85s cubic-bezier(.35,.1,.25,1);transform-style:preserve-3d}
.bv-flip[aria-pressed="true"] .bv-flip-inner{transform:rotateY(180deg)}
@media (hover:hover){.bv-flip:hover .bv-flip-inner{transform:rotateY(180deg)}}
/* „Reduce motion": voucherul nu se rotește, fața a doua apare prin fade (!important bate rotirea inline) */
@media (prefers-reduced-motion:reduce){
  .bv-flip:hover .bv-flip-inner,.bv-flip[aria-pressed="true"] .bv-flip-inner{transform:none}
  .bv-flip-inner img+img{transform:none!important;opacity:0;transition:opacity .3s ease}
  .bv-flip[aria-pressed="true"] .bv-flip-inner img+img{opacity:1}
}
@media (prefers-reduced-motion:reduce) and (hover:hover){.bv-flip:hover .bv-flip-inner img+img{opacity:1}}
.m-fab{display:none}
.m-burger{display:none}
.m-nav-panel{display:none}

/* „Sari la conținut": primul element din pagină, deasupra ecranului până primește focus */
.bv-skip{position:absolute;top:12px;left:12px;z-index:200;transform:translateY(-200%)}
.bv-skip:focus{transform:none}

/* Header-ul sticky are 73 px la orice lățime: scroll-padding ține sub el elementul care primește focus din tastatură (WCAG 2.4.11),
   ancorele și ținta lui „Sari la conținut" */
html{scroll-padding-top:73px}
/* Secțiunile din pagina Tratamente: 7 px de aer sub header */
#sec-epilare,#sec-faciale,#sec-corporale{scroll-margin-top:7px}

/* ── Hover-uri (echivalentul style-hover din design). Linkurile își iau culoarea din clasă, nu inline, iar clasa scrie și :hover, altfel câștigă a:hover;
   hover-ul vine și la focus din tastatură. !important rămâne doar unde fundalul sau marginea sunt inline (butoanele, săgețile, cardurile) ── */
.hv-accent:hover{background:var(--accent-d)!important;color:var(--bg)!important}
/* Linkurile din subsol: Gri subsol, Petrol adânc la hover */
.hv-ink{color:var(--footMut);transition:color .2s ease}
.hv-ink:hover,.hv-ink:focus-visible{color:var(--ink)}
/* Meniul și telefonul și emailul de la Contact: Petrol adânc, Turcoaz închis la hover; în panoul burgerului, pagina curentă e Turcoaz închis */
.hv-link{color:var(--ink);transition:color .2s ease}
.hv-link:hover,.hv-link:focus-visible,.m-nav-panel .hv-link[aria-current]{color:var(--accent-d)}
/* Telefonul din bara de sus: culoarea barei, subliniat la hover (albul pe Apă pală nu s-ar vedea) */
.hv-under,.hv-under:hover{color:inherit}
.hv-under:hover,.hv-under:focus-visible{text-decoration:underline;text-underline-offset:3px}
/* Cardurile-pilon de pe home: Petrol adânc, titlul trece pe Turcoaz închis */
.hv-title,.hv-title:hover{color:var(--ink)}
.hv-title h3{transition:color .2s ease}
.hv-title:hover h3,.hv-title:focus-visible h3{color:var(--accent-d)}
.hv-fade:hover{opacity:.85!important}
.hv-arrow-hero:hover{background:rgba(255,255,255,.92)!important;color:var(--ink)!important}
.hv-arrow-rev:hover{background:var(--accent)!important;color:var(--bg)!important}
.hv-card,.hv-card-post{transition:transform .45s cubic-bezier(.22,.61,.36,1),background .45s ease,border-color .3s ease,box-shadow .45s ease}
.hv-card:hover,.hv-card:focus-visible{transform:scale(1.03);background:var(--bandB)!important;border-color:var(--accent)!important;box-shadow:0 16px 38px rgba(17,59,60,.12)!important}
.hv-card-post:hover,.hv-card-post:focus-visible{transform:scale(1.02);border-color:var(--accent)!important;box-shadow:0 16px 38px rgba(17,59,60,.12)!important}
/* „Reduce motion": cardurile nu se măresc; fundalul, marginea și umbra se schimbă în continuare */
@media (prefers-reduced-motion:reduce){.hv-card:hover,.hv-card:focus-visible,.hv-card-post:hover,.hv-card-post:focus-visible{transform:none}}

/* ── „Citește mai mult" dintr-un card-link (Tratamente, Noutăți): text → pastilă la hover sau focus pe card ── */
/* Pilula e un ::before (opacity + scale), iar textul se mută cu transform: cardul nu-și schimbă înălțimea. Marginea de sus e plasare, deci inline */
.bv-more{position:relative;isolation:isolate;display:inline-block;font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--accent-d);transition:color .35s ease,transform .35s ease}
.bv-more::before{content:"";position:absolute;inset:-11px -24px;z-index:-1;border-radius:var(--btnR);background:var(--accent);opacity:0;transform:scale(.92);transition:opacity .35s ease,transform .35s ease}
:is(.hv-card,.hv-card-post):is(:hover,:focus-visible) .bv-more{color:var(--bg);transform:translateX(24px)}
:is(.hv-card,.hv-card-post):is(:hover,:focus-visible) .bv-more::before{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.bv-more,.bv-more::before{transition-property:color,opacity}}

/* ── Carusele (hero + recenzii) ── */
/* Slide-urile hero stau suprapuse în grilă, ca recenziile: hero-ul ia înălțimea celui mai înalt, deci crește cu textul (WCAG 1.4.12) și nu sare la schimbare.
   Blocul de text are 64 px sus și jos: rândul de puncte ocupă 56 px de jos (24 + 32), plus 8 px aer */
.bv-slide{grid-area:1/1;position:relative;transition:opacity 1s ease;opacity:0;pointer-events:none}
.bv-slide.active{opacity:1;pointer-events:auto}
/* „Reduce motion": schimbarea de slide rămâne vizibilă, dar printr-un fade scurt */
@media (prefers-reduced-motion:reduce){.bv-slide{transition-duration:.2s}}
/* Voal local în spatele textului din hero: textul are 4,5:1 pe orice poză, iar restul pozei rămâne luminos */
.bv-hero-copy{position:relative;display:flex;flex-direction:column;align-items:center}
.bv-hero-copy::before{content:"";position:absolute;inset:-40px -60px;z-index:-1;background:var(--deep);opacity:.5;filter:blur(40px);pointer-events:none}
/* Recenziile stau suprapuse: caseta ia înălțimea celei mai lungi, deci conținutul de dedesubt nu sare la schimbare */
.bv-review-stack{display:grid}
.bv-review-slide{grid-area:1/1;align-self:center;visibility:hidden}
.bv-review-slide.active{visibility:visible}
.bv-arrow{padding:0;border:0}
/* Swipe-ul orizontal e al caruselului: browserul nu-l mai ia drept „înapoi” în istoric. Derularea verticală și zoom-ul rămân ale browserului */
.bv-revbox{touch-action:pan-y pinch-zoom}
/* Punctele rămân mici vizual; ::after le mărește zona de click la minim 24×26 px. Cu 18 px între puncte, zonele se ating fără să se suprapună */
.bv-dot{position:relative;flex:none;padding:0;border:0;cursor:pointer;transition:background .3s ease}
.bv-dot::after{content:"";position:absolute;inset:-10px -9px}
.bv-pause{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:6px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer}
.bv-pause .ic-play,.is-paused .bv-pause .ic-pause{display:none}
.is-paused .bv-pause .ic-play{display:block}

/* ── Formulare (stări de eroare, aplicate din JS) ── */
.field>label{display:block;margin:0 0 6px;font-size:var(--fs-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1.5px solid var(--field);border-radius:8px;background:var(--bg);font-size:15px}
.field.err input,.field.err select,.field.err textarea{border-color:var(--error);background:var(--error-bg)}
.field .err-msg{display:none;margin-top:5px;font-size:var(--fs-note);color:var(--error)}
.field.err .err-msg{display:block}
.form-hidden{display:none!important}

/* honeypot — invizibil pentru oameni, „vizibil" pentru boți */
.hp-field{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;overflow:hidden}

/* GDPR checkbox */
.gdpr-row{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-note);font-weight:300;color:var(--muted);line-height:1.5}
.gdpr-row input{width:16px;height:16px;margin:2px 0 0;flex:none;accent-color:var(--accent)}
.gdpr-row a{color:var(--accent-d);text-decoration:underline}
/* Linkurile din textul politicii: culoarea singură nu le deosebește de text (WCAG 1.4.1) */
.bv-legal a{color:var(--accent-d);text-decoration:underline}
.gdpr-err{display:none;font-size:var(--fs-note);color:var(--error)}
.gdpr-err.show{display:block}
/* Eroarea de server sau de rețea, deasupra butonului de trimitere; goală, nu ocupă loc */
.form-err{padding:12px 14px;border:1px solid var(--error);border-radius:8px;background:var(--error-bg);color:var(--error);font-size:var(--fs-note);line-height:1.5}
.form-err:empty{display:none}

/* Pop-up-uri: <dialog> nativ pe tot ecranul; z-index contează doar fără showModal (browsere vechi) */
.bv-modal{position:fixed;inset:0;z-index:120;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;padding:24px;background:transparent;color:inherit;overflow:visible;display:none;align-items:center;justify-content:center}
.bv-modal[open]{display:flex}
.bv-modal::backdrop{background:transparent}
html:has(.bv-modal[open]){overflow:hidden}
/* Pop-up programare: variantele MERO (câte un rând-link) și separatorul „sau" dintre MERO și formular */
.bk-mero-list{list-style:none;margin:0;padding:0}
.bk-mero-list a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 2px;border-top:1px solid var(--line);font-size:var(--fs-small);color:var(--ink)}
.bk-mero-list li:last-child a{border-bottom:1px solid var(--line)}
.bk-mero-list a:hover{color:var(--accent-d)}
.bk-or{display:flex;align-items:center;gap:14px;margin:24px 0 20px;font-size:var(--fs-label);letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}
.bk-or::before,.bk-or::after{content:"";flex:1;border-top:1px solid var(--line)}
/* Apelul și „Te sunăm noi": două butoane cu contur, pe toată lățimea; săgeata se întoarce când formularul e deschis */
.bk-alt{display:flex;flex-direction:column;gap:12px}
#bookMero.form-hidden + .bk-alt{margin-top:18px}
.bk-alt .bv-btn{display:flex;align-items:center;justify-content:center;gap:10px}
.bk-call[aria-expanded="true"] svg{transform:rotate(180deg)}
.bv-x{display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:none;color:var(--muted);cursor:pointer;transition:color .2s ease}
.bv-x:hover,.bv-x:focus-visible{color:var(--ink)}
/* Pop-up politică — strat peste cel de programare */
#privacyModal{z-index:130}
.gdpr-row a{cursor:pointer}

/* Go-to-top */
#goTop{display:none}
#goTop.show{display:flex}

/* Buton care arată ca un link (ex. „Setări cookie" din subsol) */
.bv-linkbtn{font:inherit;letter-spacing:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none}

/* Butoane: .bv-btn (plin) + mărime (-lg, -sm; fără = normal) + variantă (-outline, -light, -text). Conturul de 1px e în toate variantele, deci plin și contur au aceeași mărime; inline rămâne doar plasarea */
.bv-btn{display:inline-block;margin:0;padding:14px 31px;border:1px solid var(--accent);border-radius:var(--btnR);background:var(--accent);color:var(--bg);font-family:var(--sans);font-size:13px;font-weight:400;line-height:normal;letter-spacing:.1em;text-transform:uppercase;text-align:center;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}
.bv-btn:hover{background:var(--accent-d);border-color:var(--accent-d);color:var(--bg)}
.bv-btn-lg{padding:15px 37px}
.bv-btn-sm{padding:11px 25px;font-size:12px}
.bv-btn-outline{background:none;color:var(--accent-d)}
.bv-btn-light{background:none;border-color:rgba(255,255,255,.5)}
.bv-btn-light:hover{background:var(--bg);border-color:var(--bg);color:var(--ink)}
.bv-btn-text{padding:0 0 3px;border-width:0 0 1px;border-color:var(--cyan);border-radius:0;background:none;color:var(--ink)}
.bv-btn-text:hover{background:none;border-color:var(--accent);color:var(--accent-d)}
/* Dezactivat (cât se trimite un formular): mai palid și fără hover. Se dezactivează doar butoanele pline de trimitere */
.bv-btn:disabled,.bv-btn:disabled:hover{background:var(--accent);border-color:var(--accent);color:var(--bg);opacity:.75;cursor:progress}

/* Focus din tastatură: inel de 2px în Turcoaz închis, la 2px de element. Doar :focus-visible: click-ul cu mouse-ul nu-l arată, iar browserele vechi păstrează focusul implicit */
:focus-visible{outline:2px solid var(--accent-d);outline-offset:2px}
/* Pe fundal închis sau peste poze: inel alb între două benzi de Petrol nocturn (alb/Petrol nocturn = 14,5:1, deci una dintre culori are minim 3,8:1 pe orice fundal) */
#heroCarousel :focus-visible,.m-topbar :focus-visible,.bv-skip:focus-visible{outline-color:var(--bg);box-shadow:0 0 0 6px var(--deep)}
/* FAB-ul și „Sus" plutesc peste orice conținut și au umbra inline: umbra rămâne lângă inel */
.m-fab:focus-visible{outline-color:var(--bg);box-shadow:0 0 0 6px var(--deep),0 12px 30px rgba(12,46,47,.32)!important}
#goTop:focus-visible{outline-color:var(--bg);box-shadow:0 0 0 6px var(--deep),0 8px 22px rgba(12,46,47,.25)!important}

/* Banner cookie-uri: Accept și Refuz au aceeași greutate vizuală (refuzul trebuie să fie la fel de ușor) */
.bv-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:110;max-width:760px;margin:0 auto;display:flex;align-items:center;gap:14px 20px;flex-wrap:wrap;background:var(--bg);border:1px solid var(--line);border-radius:var(--cardR);box-shadow:0 18px 48px rgba(12,46,47,.22);padding:18px 22px;font-size:var(--fs-small);line-height:1.55;color:var(--ink)}
.bv-cookie[hidden]{display:none}
.bv-cookie p{margin:0;flex:1 1 320px;font-weight:300}
.bv-cookie a{color:var(--accent-d);text-decoration:underline}
.bv-cookie-btns{display:flex;gap:10px;flex:none}
.bv-cookie-btns button{min-width:108px}
.bv-consent-open .m-fab,.bv-consent-open #goTop.show{display:none!important}
.bv-consent-open .m-footbar{padding-bottom:var(--consentH,28px)!important}

/* Tabletă: cele 4 carduri de zone devin 2×2, ca eticheta „Popular" să nu acopere numele zonei (la 4 coloane, sub ~890 px). Doar pentru layout, nu pentru ajustări de mobil.
   Fără min-width: între 768 și 769 px (zoom) n-ar mai prinde niciun breakpoint. Sub 768, .m-flow2 de mai jos câștigă prin ordine */
@media (max-width:1024px){
  .t-2col{grid-template-columns:repeat(2,1fr) !important}
}

/* Header-ul de mobil (burger + FAB) până la 880 px: meniul întreg cere 847 px lângă logo, deci cu bara de derulare clasică nu încape sub ~866 px. Se aplică și sub 768.
   Panoul burgerului se arată doar aici: lăsat deschis, nu rămâne sub meniul întreg când fereastra se lărgește */
@media (max-width:880px){
  .m-nav-panel.open{display:flex}
  .m-links{display:none !important}
  .m-burger{display:flex !important}
  .m-head{justify-content:center !important;position:relative}
  .m-fab{display:flex !important}
  .m-footbar{padding-bottom:90px !important}
}

@media (max-width:768px){
  .m-stack{grid-template-columns:1fr !important}
  .bv-grid2>:last-child:nth-child(odd){justify-self:stretch;width:auto}
  .field input,.field select,.field textarea{font-size:16px !important}
  /* min(…,100%): sub lățimea minimă, coloana se îngustează în loc să iasă din pagină (WCAG 1.4.10); prima declarație rămâne pentru browserele fără min() */
  .m-flow{grid-template-columns:repeat(auto-fit,minmax(200px,1fr)) !important;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr)) !important}
  .m-flow2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)) !important}
  .m-foot{grid-template-columns:1fr 1fr !important}
  .m-hero{min-height:520px !important}
  .m-hero-t{font-size:36px !important}
  .m-h1{font-size:36px !important}
  .m-h2{font-size:29px !important}
  .m-quote{font-size:22px !important}
  .m-topbar{display:none !important}
  .m-center{text-align:center !important;justify-items:center !important}
  .bv-revbox .bv-arrow{opacity:1}
  .bv-arr-l{left:10px}
  .bv-arr-r{right:10px}
  .hv-arrow-hero{display:none !important}
  .bv-cookie-btns{width:100%}
  .bv-cookie-btns button{flex:1}
  /* Pop-up-urile, cardul de contact și caseta din articol: mai mult loc pentru câmpuri și text (20 px pe telefon, ~38 px la 768) */
  .bv-modal{padding:16px}
  .m-padx{padding-left:clamp(20px,5vw,40px) !important;padding-right:clamp(20px,5vw,40px) !important}
  .m-padx-sm{padding-left:12px !important;padding-right:12px !important}
  /* Secțiunile cu 70–110 px sus sau jos pe desktop au 56 px pe telefon; cele de 52–66 px rămân cum sunt */
  .m-pady,.m-padt{padding-top:56px !important}
  .m-pady,.m-padb{padding-bottom:56px !important}
  /* La 320 px, CTA-ul final și „Deschide în Google Maps" rămân pe un rând */
  .bv-btn-lg{padding-left:20px;padding-right:20px}
  .bv-btn-sm{padding-left:16px;padding-right:16px}
}
