/* Adaptare la ecran, zoom și mărimea textului setată de vizitator.
   Textul e în rem (urmează setările browserului), iar titlurile nu pot depăși niciodată lățimea ecranului. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
img, video, iframe, svg:not(.snake) { max-width:100%; }
img { height:auto; }
h1, h2, h3, h4, .lead, .prose, .card, .post .b, .rev, .net > div, .steps li { overflow-wrap:break-word; hyphens:auto; }
.hero h1 { font-size:min(clamp(2.25rem, 5.4vw, 3.75rem), 12vw); }
.phero h1, .pagehead h1 { font-size:min(clamp(2.125rem, 4.6vw, 3.125rem), 10.5vw); }
.s-head h2 { font-size:min(clamp(1.8125rem, 3.6vw, 2.5rem), 9vw); }
.ctaband h2 { font-size:min(clamp(1.5625rem, 3vw, 2.125rem), 8.5vw); }
/* tabele și blocuri de cod din articole: derulează în interior, nu lărgesc pagina */
.prose table { display:block; max-width:100%; overflow-x:auto; }
.prose pre, .prose code { max-width:100%; overflow-x:auto; overflow-wrap:anywhere; }
/* zone de atingere confortabile pe telefon */
@media (pointer:coarse) { .btn, .fab a, .themebtn, .burger, nav a, nav button { min-height:44px; } }
/* mișcare redusă */
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
/* cuvintele foarte lungi (adrese, nume) se rup în loc să lărgească pagina; antetul de pe prima pagină poate trece pe al doilea rând */
main p, main li, main a, main b, main strong, main span, main dd, main figcaption, #ft p, #ft a, #ft li { overflow-wrap:anywhere; }
.hero-eyebrow { white-space:normal; }
/* butoanele-pastilă pot trece pe două rânduri când textul e mărit sau ecranul e foarte îngust */
.lbtn { white-space:normal; max-width:100%; text-align:center; justify-content:center; }
/* animația șarpelui din jurul butonului de teme apare doar pe prima pagină, la încărcare directă sau reîncărcare */
html:not(.snake-on) .snake { display:none; }
/* textele ocupă toată lățimea coloanei lor (fără spațiu gol lângă bara laterală sau lângă marginea paginii) */
.phero .lead, .pagehead .lead, .tarife-lead { max-width:none; }
.layout .prose, .faq .ans { max-width:none; }
/* pagini de text simplu (politica de cookie-uri): pe toată lățimea paginii, centrate */
.prose.full { max-width:none; text-align:center; }
.prose.full h2, .prose.full h3 { text-align:center; }
.prose.full ul { list-style:none; padding:0; margin:0 0 14px; text-align:center; }
.prose.full li { margin:0 0 8px; }
.phero.center { text-align:center; } .phero.center .lead { margin-inline:auto; }
.phero.center .crumbs { justify-content:center; }
/* testul de viteză (OpenSpeedTest) și galeriile Envira din articole */
.speedtest { margin-top:28px; padding:14px; border:1px solid var(--line); border-radius:14px; background:var(--surface); }
.speedtest > div { text-align:center !important; color:var(--muted); font-size:.9375rem; }
.speedtest iframe { border-radius:10px; }
@media (max-width:700px) { .speedtest > div > div > div { padding-bottom:140% !important; } }
.gallery-wrap { margin-top:10px; } .gallery-wrap img { border-radius:10px; }

/* comutator de limbă RO / EN (steaguri), la dreapta siglei */
.lang { position:relative; display:inline-flex; align-items:center; flex:none; height:40px; padding:3px; border-radius:999px; border:1px solid var(--line); background:var(--surface); text-decoration:none; -webkit-tap-highlight-color:transparent; }
.lang .lg { position:relative; z-index:1; width:38px; height:32px; display:grid; place-items:center; opacity:.5; transition:opacity .3s ease, transform .3s ease; }
.lang .lg svg { width:24px; height:16px; border-radius:3px; box-shadow:0 0 0 1px rgba(0,0,0,.22); display:block; }
.lang .knob { position:absolute; z-index:0; top:3px; left:3px; width:38px; height:32px; border-radius:999px; background:color-mix(in srgb, var(--accent) 24%, var(--bg)); border:1.5px solid var(--accent); box-shadow:0 2px 8px color-mix(in srgb, var(--accent) 30%, transparent); transition:transform .34s cubic-bezier(.3,.8,.2,1); }
.lang[data-cur="en"] .knob { transform:translateX(38px); }
.lang[data-cur="ro"] .lg.ro, .lang[data-cur="en"] .lg.en { opacity:1; }
.lang:hover .lg { opacity:.9; } .lang:hover .lg svg { transform:scale(1.06); } .lang .lg svg { transition:transform .25s ease; }
.lang.go-en .knob { transform:translateX(38px); } .lang.go-ro .knob { transform:translateX(0); }
.lang.go-en .lg.ro, .lang.go-ro .lg.en { opacity:.5; } .lang.go-en .lg.en, .lang.go-ro .lg.ro { opacity:1; }
.lang:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
@media (max-width:520px) { .lang { height:36px; } .lang .lg, .lang .knob { width:32px; height:28px; } .lang[data-cur="en"] .knob, .lang.go-en .knob { transform:translateX(32px); } .lang .lg svg { width:21px; height:14px; } }
@media (prefers-reduced-motion:reduce) { .lang .knob, .lang .lg, .lang .lg svg { transition:none; } }
/* antet pe telefon: cu comutatorul de limbă, elementele sunt puțin mai mici ca să încapă pe un singur rând */
@media (max-width:520px) {
  .top .wrap { gap:4px; }
  .brand svg { height:32px; }
  .lang { height:32px; padding:2px; } .lang .lg, .lang .knob { width:27px; height:26px; top:2px; left:2px; } .lang[data-cur="en"] .knob, .lang.go-en .knob { transform:translateX(27px); } .lang .lg svg { width:19px; height:13px; }
  .theme span { width:25px; height:24px; font-size:13px; }
  .themebtn, .burger { width:38px; height:38px; } .themebtn svg { width:20px; height:20px; }
}
@media (max-width:400px) { .brand svg { height:30px; } .themebtn, .burger { width:34px; height:34px; } }
@media (max-width:380px) { .brand svg { height:28px; } .lang .lg, .lang .knob { width:24px; } .lang[data-cur="en"] .knob, .lang.go-en .knob { transform:translateX(24px); } .lang .lg svg { width:17px; height:12px; } .theme span { width:22px; } .themebtn, .burger { width:32px; height:32px; } }


/* notă: prețuri actualizate */
.pupd { margin:10px 0 0; font:500 .875rem/1.4 var(--font-body); color:var(--muted); }
.cen + .pupd { text-align:center; margin-top:4px; }
