.elementor-20864 .elementor-element.elementor-element-4b980ee{--display:flex;--background-transition:0.3s;--margin-top:-41px;--margin-bottom:-41px;--margin-left:0px;--margin-right:0px;}/* Start custom CSS for container, class: .elementor-element-4b980ee *//* ==========================================================================
   Komarom — CSS pentru landing pages
   ==========================================================================

   FIȘIERUL ĂSTA NU SE PUNE NICĂIERI PE SITE. E sursa componentelor.

   Build-ul îl copiază în fiecare pagină — gata/<slug>/stil.css și, mai important, într-un
   bloc de stil la începutul primului widget HTML al paginii. Așa fiecare pagină publicată
   își poartă stilul în ea și nu poate fi stricată de o modificare făcută pentru alta.
   În Woodmart → Custom CSS nu mai stă nimic; dacă a stat vreodată, se scoate.

   Reguli numai pentru o pagină: pagini/<slug>/stil.css. Vin după astea, deci le rescriu.

   Totul e scopat sub .kmr, deci nu se bate cu tema.
   Când se adaugă o pagină nouă cu componente noi, se adaugă aici, nu se rescrie.

   Sistemul de design e citit din CSS-ul live al komarom.ro, nu inventat.
   ========================================================================== */
  .kmr {
    --blue:#134285; --blue-dark:#092143; --blue-deep:#061530; --blue-soft:#4277BA;
    --blue-pale:#D8E4F2; --blue-tint:#EAF1F9; --blue-linie:#B4CBE6;
    /* albastrul benzii de beneficii și chenarul cardurilor ei, luate din secțiunea
       „Certificări și succese" de pe komarom.ro/servicii/ — vezi unelte/design3.js */
    --blue-band:#3160B8; --band-linie:#C7CADC;
    --green:#5EC95E; --green-dark:#43AE43;
    --ink:#222222; --muted:#5C6774; --line:#E2E7EE; --wash:#F4F7FA; --white:#FFFFFF;
    --wrap:1222px; --pad:15px;

    /* Rotunjirea. A stat o vreme în trei trepte — 16 / 10 / 22 — dar pe pagină ieșeau
       trei colțuri diferite unul lângă altul: criteriile la 16, casetele la 22, cardurile
       de beneficii la 6, cât are site-ul. Acum e una singură, 6px, cea de pe komarom.ro.
       Numele rămân toate trei, ca să nu fie de umblat prin fișier: dacă vrem iar trepte,
       se schimbă doar valorile de aici. */
    --rot:6px;         /* carduri, plăci, panouri, poze */
    --rot-mic:6px;     /* lucruri mici: cutia pozei de produs, chenare */
    --rot-mare:6px;    /* suprafețe mari: casetele, blocul de întrebări */
    --pastila:999px;   /* butoane și chipuri rămân pastile — altfel n-ar mai fi butoane */
    font-family:"DM Sans",Arial,Helvetica,sans-serif; font-size:16px; line-height:1.6;
    color:var(--ink); background:var(--white); -webkit-font-smoothing:antialiased;
  }
  .kmr *,
  .kmr *::before,
  .kmr *::after { box-sizing:border-box; }
  /* Marginile pe verticală de pe elementele de listă vin de la temă, nu de la noi, și
     strică grilele. S-a văzut pe site, nu în previzualizare: lista din „În portofoliul
     nostru găsiți" are gap:1px, cât să iasă o linie subțire între rânduri — dar Woodmart
     pune margine pe li, iar marginea se adună peste gap. În loc de linii de 1px ieșeau
     benzi groase, ca niște dungi de tabel. Previzualizarea nu prinde asta, pentru că
     acolo nu există CSS-ul temei. Are !important pentru că regulile temei sunt mai
     specifice decât „.kmr ul li" — singurul loc din fișier unde nu câștigăm cu .elementor-20864 .elementor-element.elementor-element-4b980eeul.

     NUMAI sus și jos, dinadins. Prima formă a acestei reguli era `margin:0 !important` și
     a stricat panglica de pași de la Municipalități: plăcile se îmbucă printr-o margine
     NEGATIVĂ la dreapta, iar shorthandul cu !important a omorât-o. Săgețile s-au despărțit
     și între ele a rămas o pană albă cât vârful. Se măsura: cele șase plăci însumau exact
     lățimea containerului, semn că nu se mai suprapun deloc.
     Un reset care folosește !important trebuie să atingă exact proprietatea stricată,
     nimic mai mult — altfel repară un lucru și strică altul, tăcut. */
  .kmr ul li,
  .kmr ol li { margin-top:0 !important; margin-bottom:0 !important; }
  .kmr__in { max-width:var(--wrap); margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
  .kmr__sec { padding:82px 0; }
  .kmr__sec--wash { background:var(--wash); }
  .kmr__sec--tint { background:var(--blue-tint); }
  .kmr [id] { scroll-margin-top:90px; }
  .kmr h1,
  .kmr h2,
  .kmr h3,
  .kmr h4 { margin:0; font-weight:700; color:var(--ink); text-wrap:balance; }
  .kmr h1 { font-size:clamp(32px,4.6vw,50px); line-height:1.03; letter-spacing:-.018em; }
  .kmr h2 { font-size:clamp(26px,3.5vw,36px); line-height:1.18; letter-spacing:-.014em; }
  /* Titlurile care ocupă singure un rând întreg stau pe centru — pe stânga, cu tot spațiul
     gol în dreapta, arătau ca și cum ar fi rămas neterminate. Cele dintr-o coloană (secțiunea
     editorială, panoul) rămân pe stânga, unde începe și textul de sub ele. */
  /* ATENȚIE la specificitate: regula de mai sus, .kmr h2, are 0-1-1, iar o singură clasă
     are 0-1-0 — deci margin:0 de acolo bătea margin:auto de aici și titlul rămânea lipit
     de stânga, cu textul centrat degeaba în interiorul cutiei. De aia .elementor-20864 .elementor-element.elementor-element-4b980eeul e dublu. */
  .kmr .kmr__h2-centru { text-align:center; max-width:30ch; margin-left:auto; margin-right:auto; }
  @media (max-width:600px) {
  .kmr .kmr__h2-centru { text-align:left; margin-left:0; max-width:none; } }
  .kmr h3 { font-size:18px; line-height:1.35; font-weight:800; }
  .kmr p { margin:0; }
  .kmr__eyebrow { display:inline-flex; align-items:center; gap:9px; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--blue-soft); }
  .kmr__eyebrow::before { content:""; width:22px; height:2px; background:var(--green); }

  /* ---------- butoane ---------- */
  .kmr__btns { display:flex; flex-wrap:wrap; gap:12px; }
  .kmr__btn { display:inline-flex; align-items:center; justify-content:center; font:600 14px/1 "DM Sans",Arial,sans-serif; text-transform:uppercase; text-decoration:none; padding:17px 35px; border-radius:var(--pastila); border:2px solid transparent; cursor:pointer; transition:background-color .18s,color .18s,border-color .18s,transform .18s; }
  .kmr__btn--primary { background:var(--green); color:var(--white); }
  .kmr__btn--primary:hover { background:var(--green-dark); transform:translateY(-2px); }
  .kmr__btn:focus-visible { outline:3px solid var(--green); outline-offset:3px; }

  /* Culoarea textului, apărată de temă. Woodmart colorează `a:hover`, iar `a:hover` are
     0-1-1 și bate o singură clasă, 0-1-0 — deci pe site textul butonului verde devenea
     albastru la trecerea cu mouse-ul. În previzualizare nu se vedea, pentru că acolo nu
     există CSS-ul temei; e a doua oară când tema ne ia o regulă (prima au fost marginile
     pe li). Culoarea e repetată pe toate stările, cu .elementor-20864 .elementor-element.elementor-element-4b980eeul dublat și cu tagul `a`
     în el — 0-3-1, cât să nu mai poată fi luată de nimeni. */
  .kmr a.kmr__btn,
  .kmr a.kmr__btn:hover,
  .kmr a.kmr__btn:focus,
  .kmr a.kmr__btn:active,
  .kmr a.kmr__btn:visited { text-decoration:none; }
  .kmr a.kmr__btn--primary,
  .kmr a.kmr__btn--primary:hover,
  .kmr a.kmr__btn--primary:focus,
  .kmr a.kmr__btn--primary:active,
  .kmr a.kmr__btn--primary:visited { color:var(--white); }

  /* ---------- HERO pe două coloane ---------- */
  .kmr__hero { position:relative; background:var(--blue-dark); overflow:hidden; }
  .kmr__hero::before {
    content:""; position:absolute; inset:0;
    background:
      radial-gradient(120% 90% at 82% 18%, rgba(66,119,186,.42), transparent 62%),
      linear-gradient(180deg, var(--blue-dark) 0%, var(--blue-deep) 100%);
  }
  .kmr__hero::after {
    content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
    background:linear-gradient(90deg, transparent, rgba(94,201,94,.55), transparent);
  }
  .kmr__hero-in { position:relative; max-width:var(--wrap); margin:0 auto; padding:74px var(--pad) 84px; display:grid; grid-template-columns:1fr; gap:44px; align-items:center; }
  @media (min-width:960px) {
  .kmr__hero-in { grid-template-columns:1.06fr .94fr; gap:64px; padding-top:88px; padding-bottom:96px; } }
  .kmr__hero-copy { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
  .kmr__hero h1 { color:var(--white); }
  /* „curățenie urbană" e miezul paginii — o scoatem în verde, fără să atingem textul */
  .kmr__hero h1 .kmr__cheie { color:var(--green); }
  .kmr__hero-lead { color:rgba(255,255,255,.82); font-size:18px; line-height:1.62; max-width:54ch; }
  .kmr__hero-media { position:relative; }
  .kmr__hero-media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--rot); }

  /* ---------- intro ---------- */
  .kmr__intro { display:flex; flex-direction:column; align-items:center; text-align:center; gap:20px; }
  .kmr__intro::before { content:""; width:56px; height:3px; background:var(--green); }
  .kmr__intro p { font-size:clamp(18px,2.1vw,22px); line-height:1.55; font-weight:500; color:var(--blue-soft); max-width:60ch; text-wrap:pretty; }

  /* ---------- bento ---------- */
  .kmr__bento { display:grid; grid-template-columns:1fr; gap:14px; }
  @media (min-width:900px) {
  .kmr__bento { grid-template-columns:repeat(6,1fr); grid-auto-rows:minmax(0,auto); } }
  .kmr__cell { background:var(--white); border:1px solid var(--line); border-radius:var(--rot); padding:28px 26px; display:flex; flex-direction:column; gap:11px; transition:border-color .2s,transform .2s,box-shadow .2s; }
  .kmr__cell:hover { border-color:var(--blue-pale); transform:translateY(-3px); box-shadow:0 14px 30px -20px rgba(19,66,133,.5); }
  .kmr__bento--dunga .kmr__cell p { font-size:14.5px; line-height:1.5; }
  .kmr__bento--dunga .kmr__cell h3 { font-size:17px; }
  .kmr__cell h3 { color:var(--blue); }
  .kmr__cell p { font-size:15px; line-height:1.55; color:var(--muted); }

  /* ---------- beneficii, banda albastră ----------
     Refăcută după secțiunea „Certificări și succese" de pe komarom.ro/servicii/, pe care
     clientul a arătat-o ca model. Valorile sunt citite din pagina live cu
     unelte/design3.js, nu potrivite din ochi: fundal #3160B8, carduri transparente cu
     chenar #C7CADC de 1px și colț de 6px, padding 32px, distanță 20px, titlu 22px/700,
     text 16px/1.6, iconiță verde de 42px.

     A treia formă a zonei: linii subțiri pe cinci coloane → carduri albe-translucide →
     acum chenar deschis pe albastru mai luminos, ca pe site. Diferența față de site e că
     acolo cardurile au 3 coloane egale; aici sunt cinci beneficii, deci grila e de șase
     coloane — trei sus, două late jos — ca să nu rămână un gol în rândul al doilea. */
  .kmr__band { background:var(--blue-band); position:relative; overflow:hidden; }
  .kmr__band .kmr__in { padding-top:74px; padding-bottom:74px; position:relative; z-index:1; }
  .kmr__band h2 { color:var(--white); }

  /* Punctele din fundal. Pe site sunt un PNG de 1920px (our-services-bg-img.png); aici
     sunt desenate în CSS, ca previzualizarea trimisă clientului să rămână autonomă și ca
     banda să arate la fel la orice lățime. Se sting spre mijloc, unde stă textul. */
  .kmr__band::before {
    content:""; position:absolute; inset:0; pointer-events:none;
    background-image:radial-gradient(rgba(255,255,255,.20) 1.6px, transparent 1.7px);
    background-size:17px 17px;
    -webkit-mask-image:linear-gradient(90deg, #000 0, transparent 30%, transparent 70%, #000 100%);
            mask-image:linear-gradient(90deg, #000 0, transparent 30%, transparent 70%, #000 100%);
  }
  .kmr__bens { display:grid; grid-template-columns:1fr; gap:20px; }
  @media (min-width:620px)  {
  .kmr__bens { grid-template-columns:repeat(2,1fr); } }
  @media (min-width:1040px) {
  .kmr__bens { grid-template-columns:repeat(6,1fr); } }
  @media (min-width:1040px) {
  .kmr__ben:nth-child(-n+3) { grid-column:span 2; }
  .kmr__ben:nth-child(n+4) { grid-column:span 3; }
  }
  /* Varianta cu număr par de carduri — trei pe rând, toate egale, ca pe komarom.ro.
     Grila de șase de mai sus e făcută pentru cinci beneficii (trei sus, două late jos);
     la șase ar lăsa ultimul card singur pe al treilea rând. */
  @media (min-width:1040px) {
  .kmr__bens--3 { grid-template-columns:repeat(3,1fr); }
  .kmr__bens--3 .kmr__ben:nth-child(-n+3),
  .kmr__bens--3 .kmr__ben:nth-child(n+4) { grid-column:auto; }
  }
  .kmr__ben {
    position:relative; isolation:isolate; overflow:hidden;
    display:flex; flex-direction:column; gap:14px; padding:32px;
    border:1px solid var(--band-linie); border-radius:var(--rot);
    transition:box-shadow .3s, border-color .3s, transform .4s;
  }
  /* Umbra și degradeul de la hover sunt tot de pe site: linear-gradient(60deg,#61CE70,
     #134285) la 46% opacitate, plus 0 0 60px rgba(19,66,133,.24). Degradeul stă pe un
     strat separat ca să se poată aprinde treptat — pe fundal nu s-ar putea anima. */
  .kmr__ben::before {
    content:""; position:absolute; inset:0; z-index:-1; opacity:0;
    background:linear-gradient(60deg, #61CE70 0%, var(--blue) 100%);
    transition:opacity .3s;
  }
  .kmr__ben:hover { border-color:transparent; box-shadow:0 0 60px 0 rgba(19,66,133,.24); }
  .kmr__ben:hover::before { opacity:.46; }
  .kmr__ben-ico { color:var(--green); line-height:0; }
  .kmr__ben-ico svg { width:42px; height:42px; }
  .kmr__ben h3 { font-size:22px; font-weight:700; line-height:1.4; color:var(--white); letter-spacing:-.01em; }
  .kmr__ben p { font-size:16px; line-height:1.6; color:var(--white); }

  /* ---------- capul unei liste ----------
     Rândurile care anunță o listă — „Soluțiile IPC sunt potrivite pentru:", „În
     portofoliul nostru găsiți:" — nu sunt paragrafe, sunt capul listei de sub ele. Ca
     paragraf obișnuit, gri și mic, treceau neobservate exact lângă lucrul pe care îl
     introduc. Sunt mai mari, albastre, cu o dungă verde dedesubt.

     `width:fit-content` face dunga lată exact cât textul, nu cât coloana — și merge la
     fel și într-o coloană îngustă, și centrat, fără două seturi de reguli.
     Selectorul e dublu pentru că `.kmr__duo-copy p` are 0-1-1 și ar bate o clasă simplă. */
  .kmr .kmr__lista-titlu {
    font-weight:700; color:var(--blue);
    padding-bottom:12px; border-bottom:2px solid var(--green);
    width:fit-content; margin-bottom:4px; max-width:100%;
  }
  /* Mărimea vine din tag, nu din clasă. Ca <p> e un rând care anunță o listă dintr-o
     coloană; ca <h2> e chiar titlul secțiunii și ia mărimea de titlu de la .kmr h2,
     păstrând albastrul și dunga verde. Regula de 20px e legată de `p` dinadins —
     altfel ar fi bătut mărimea titlului, fiind mai specifică. */
  .kmr p.kmr__lista-titlu { font-size:20px; line-height:1.35; }
  .kmr .kmr__lista-titlu--centru { margin-left:auto; margin-right:auto; text-align:center; }
  @media (max-width:600px) {
  .kmr .kmr__lista-titlu { font-size:18px; }
  .kmr .kmr__lista-titlu--centru { margin-left:0; text-align:left; }
  }

  /* ---------- CTA final ---------- */
  .kmr__cta { background:var(--blue-deep); color:var(--white); position:relative; overflow:hidden; }
  .kmr__cta::before { content:""; position:absolute; inset:0; background:radial-gradient(90% 120% at 50% 0%, rgba(66,119,186,.34), transparent 60%); }
  .kmr__cta .kmr__in { position:relative; padding-top:76px; padding-bottom:76px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
  .kmr__cta h2 { color:var(--white); max-width:26ch; }
  .kmr__cta p { color:rgba(255,255,255,.82); max-width:60ch; font-size:17px; }

  /* ---------- utilitare ---------- */
  .kmr__stack { display:flex; flex-direction:column; }
  .kmr__stack--20 {gap:20px}
  .kmr__stack--28 {gap:28px}

  /* ---------- apariție la scroll ----------
     ATENȚIE: conținutul e VIZIBIL implicit. Ascunderea se activează doar prin clasa
     .kmr--anim, pe care o pune scriptul paginii. Dacă scriptul lipsește sau e eliminat
     de Elementor, pagina rămâne vizibilă — doar fără animație. Nu inversa regula asta. */
  .kmr__rise { transition:opacity .6s ease, transform .6s ease, filter .6s ease; }
  .kmr--anim .kmr__rise { opacity:0; transform:translateY(18px); filter:blur(6px); }
  .kmr--anim .kmr__rise.is-in { opacity:1; transform:none; filter:none; }

  @media (prefers-reduced-motion:reduce) {
  .kmr *,
  .kmr *::before,
  .kmr *::after { transition:none !important; animation:none !important; }
  .kmr--anim .kmr__rise { opacity:1; transform:none; filter:none; }
  }
  @media (max-width:700px) {
  .kmr__sec { padding:54px 0; }
  .kmr__btn { padding:15px 28px; }
  }

  /* ================================================================
     ADĂUGAT PENTRU MUNICIPALITĂȚI & SPAȚII PUBLICE — 20 august 2026
     Componente noi, cerute de structura acestui text (proces, întrebări
     frecvente). Se adaugă la CSS-ul comun, nu îl înlocuiesc. Paginile
     deja publicate nu sunt afectate.
     ================================================================ */

  /* ---------- secțiune editorială pe două coloane, cu imagine ---------- */
  .kmr__duo { display:grid; grid-template-columns:1fr; gap:32px; align-items:start; }
  @media (min-width:900px) {
  .kmr__duo { grid-template-columns:1.04fr .96fr; gap:58px; } }
  .kmr__duo-copy { display:flex; flex-direction:column; gap:16px; }
  .kmr__duo-copy p { color:var(--muted); font-size:16.5px; line-height:1.65; max-width:62ch; }
  .kmr__duo-copy p.kmr__duo-first { font-size:18px; color:var(--ink); font-weight:500; }
  /* Rotunjirea și tăierea stau pe container, nu pe poză: așa dunga verde de jos e tăiată
     de aceleași colțuri. Cu raza pusă pe poză, dunga ieșea cu capetele drepte în afara ei. */
  .kmr__duo-media { position:relative; border-radius:var(--rot); overflow:hidden; }
  .kmr__duo-media img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
  /* bara verde urmează colțurile pozei — altfel colțurile ei drepte ies în afară */
  .kmr__duo-media::after { content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:var(--green); }

  /* ---------- varianta cu poza pe toată înălțimea rândului ----------
     Când coloana de text e mult mai înaltă decât 4:3, sub poză rămâne o bandă albă
     lângă ultimele rânduri de text, iar zona se citește ca o poză scăpată prea sus,
     nu ca două coloane. La DU-PUY erau 68px, la Green Machines 129 — text de 537px
     lângă o poză de 408.

     Poza se întinde pe toată înălțimea rândului și se încadrează cu object-fit, deci
     pierde puțin din laturi, nu se deformează. `aspect-ratio:auto` e scris explicit:
     cu lățime și înălțime amândouă definite, raportul din regula de deasupra n-ar mai
     avea ce face, dar așa se vede din citit că e intenționat.

     A stat o vreme numai în pagini/du-puy/stil.css. S-a mutat aici când a cerut-o și
     Green Machines — a doua pagină, regula proiectului. Cine o folosește pune clasa
     pe .kmr__duo, nu rescrie nimic.

     ATENȚIE la poza care intră aici: se taie pe laturi, cu atât mai mult cu cât textul
     de lângă e mai lung. Se măsoară: node unelte/masoara.js <slug> ".kmr__duo > *" —
     cele două coloane trebuie să iasă la aceeași înălțime.

     Numai de la 900px în sus, unde grila chiar are două coloane; sub asta cele două se
     așază una sub alta, iar o poză întinsă pe înălțimea unui rând care nu mai există
     n-are sens. */
  @media (min-width:900px) {
  .kmr__duo--inalt { align-items:stretch; }
  .kmr__duo--inalt .kmr__duo-media img { height:100%; aspect-ratio:auto; object-fit:cover; }
  }
  /* Sub 900px cele două coloane se așază una sub alta, deci nu mai e nimic de egalat —
     iar atunci n-are rost nici să forțăm 4:3. Poza își păstrează raportul ei.

     Nu e o subtilitate: poza de la Green Machines e 3:4, pe verticală, tocmai ca să
     reziste tăierii de pe desktop. Cu raportul comun de 4:3, pe telefon ar fi pierdut
     44% din înălțime — adică exact capul operatorului, sus, și roțile, jos.
     Pentru o poză care e oricum 4:3, ca la DU-PUY, regula asta nu schimbă nimic.
     899.98, nu 899: altfel rămâne o crăpătură la lățimi fracționare, din zoom. */
  @media (max-width:899.98px) {
  .kmr__duo--inalt .kmr__duo-media img { aspect-ratio:auto; }
  }

  /* ---------- grila de produse ----------
     Înlocuiește caruselul Woodmart, care ieșea pe toată lățimea ferestrei, în afara
     containerului paginii. Pozele de produs au proporții foarte diferite pe site, de
     aceea cutia are raport fix și `object-fit:contain` — se încadrează, nu se taie. */
  .kmr__prods { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
  @media (min-width:700px)  {
  .kmr__prods { grid-template-columns:repeat(3,1fr); } }
  @media (min-width:1000px) {
  .kmr__prods { grid-template-columns:repeat(4,1fr); } }
  .kmr__prod {
    display:flex; flex-direction:column; gap:6px; text-decoration:none; text-align:center;
    background:var(--white); border:1px solid var(--line); border-radius:var(--rot); padding:14px 16px 18px;
    transition:border-color .2s, transform .2s, box-shadow .2s;
  }
  .kmr__prod:hover { border-color:var(--blue-pale); transform:translateY(-3px); box-shadow:0 14px 30px -20px rgba(19,66,133,.5); }
  .kmr__prod:focus-visible { outline:3px solid var(--green); outline-offset:2px; }

  /* Cutia pozei: pătrată și cu poza încadrată întreagă înăuntru.
     Înainte era `display:grid; place-items:center` cu poza pe `max-width/max-height:100%`.
     Nu ținea: procentele alea se raportează la înălțimea zonei de grilă, care aici vine
     din `aspect-ratio` și nu e definită la momentul măsurării — deci pozele mai înalte
     ieșeau din cutie și `overflow:hidden` le reteza. Se vedea la monodisc și la sistemul
     cu apă pură, ambele înalte și subțiri: li se tăia mânerul.

     Acum poza umple cutia (`width/height:100%`) și se încadrează cu `object-fit:contain`
     — deci se vede întreagă, oricât de înaltă sau lată ar fi, iar cutiile rămân toate
     identice. Raportul e 1:1, nu 4:3: pozele de pe site sunt amestecate, dar utilajele
     înalte pierdeau cel mai mult pe o cutie lată. Paddingul ține produsul dezlipit de
     chenar. */
  .kmr__prod-img {
    display:block; background:var(--white); margin-bottom:8px; border-radius:var(--rot-mic);
    aspect-ratio:1/1; overflow:hidden; padding:10px;
  }
  .kmr__prod-img img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }

  /* min-height de doua randuri: numele produselor raman aliniate intre carduri,
     chiar daca denumirea categoriei se rupe pe doua randuri la unele */
  .kmr__prod-cat { font-size:11.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-soft); line-height:1.3; min-height:2.6em; }
  /* Spațiul de deasupra butonului stă aici, nu pe buton: butonul are `margin-top:auto`
     ca să cadă la baza cardului, iar un al doilea margin-top l-ar anula. Așa cardul cel
     mai înalt — cel fără spațiu de prisos — tot are aer între nume și buton. */
  .kmr__prod-nume { font-size:16px; font-weight:700; line-height:1.3; color:var(--ink); margin-bottom:8px; }
  /* „Vezi detalii" — cerut de client, pe amândouă paginile cu grilă.
     Verde, ca butoanele obișnuite: verdele e culoarea de acțiune a site-ului, iar un
     buton albastru într-o pagină în care tot ce se apasă e verde ar cere să fie învățat
     din nou. La hover trece pe verdele închis, exact ca .kmr__btn--primary.

     `margin-top:auto` îl împinge la baza cardului, deci butoanele stau pe aceeași linie
     în tot rândul, oricât de lungi sunt numele produselor deasupra.
     `align-self:center` îl ține lat cât textul, dar centrat în card.
     Nu e <a>, e <span>: cardul întreg e deja legătură. */
  .kmr__prod-link {
    margin-top:auto; align-self:center;
    display:inline-flex; align-items:center; gap:7px;
    padding:10px 18px;
    font-size:13px; font-weight:700; letter-spacing:.02em;
    color:var(--white); background:var(--green);
    border:1px solid var(--green); border-radius:var(--pastila);
    transition:background-color .2s, border-color .2s, color .2s;
  }
  .kmr__prod-link::after { content:"→"; transition:transform .2s; }
  .kmr__prod:hover .kmr__prod-link {
    background:var(--green-dark); border-color:var(--green-dark); color:var(--white);
  }
  .kmr__prod:hover .kmr__prod-link::after { transform:translateX(3px); }

  /* ---------- lista de acoperire ----------
     Cartonaș alb, cu chenar și o umbră moale, sub hero. A stat o vreme urcat peste
     marginea hero-ului, dar așa se citea ca și cum ar fi lipit de el. Acum are aer
     deasupra și se vede singur, din chenar și umbră.
     Eticheta era „Include", cuvântul din docx; singur, deasupra unei liste de opt,
     nu spunea ce e lista. Acum scrie „Soluții potrivite pentru". */
  .kmr__covers {
    background:var(--white); border:1px solid var(--line); border-radius:var(--rot-mare);
    box-shadow:0 22px 46px -34px rgba(6,21,48,.42);
    padding:32px 36px; display:flex; flex-direction:column; gap:22px;
  }
  @media (max-width:700px) {
  .kmr__covers { padding:24px 22px; gap:18px; } }
  .kmr__acoperiri { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr; gap:14px 30px; }
  @media (min-width:520px)  {
  .kmr__acoperiri { grid-template-columns:1fr 1fr; } }
  @media (min-width:1000px) {
  .kmr__acoperiri { grid-template-columns:repeat(4,1fr); } }
  .kmr__acoperiri li { display:flex; align-items:flex-start; gap:11px; font-size:15.5px; font-weight:600; line-height:1.35; color:var(--blue-dark); }
  .kmr__acoperiri li::before { content:""; flex:none; width:8px; height:8px; margin-top:6px; border-radius:50%; background:var(--green); }


/* ==========================================================================
   Reguli numai pentru pagina „dr-gansow-gmatic"
   Din pagini/dr-gansow-gmatic/stil.css. Vin după cele comune, deci le pot rescrie.
   ========================================================================== */

/* ==========================================================================
   Componentele paginii „dr-gansow-gmatic"

   Numai ale ei. Build-ul le adaugă DUPĂ cele comune, deci pot rescrie o regulă
   comună fără !important. Se scriu AICI, nu în gata/: acela se regenerează la
   fiecare build.

   Pagina e construită pe șablonul de furnizor aprobat. Cele două reguli de mai jos
   sunt potriviri pentru numărul de intrări din ACEST text, nu componente noi.
   ========================================================================== */

  /* ---------- gama, două casete pe jumătate de rând ----------
     Lista de gamă a lui Gansow are DOUĂ intrări (par. 359–362), nu opt sau nouă ca
     pe celelalte pagini de furnizor, și fiecare are și o descriere, nu doar un nume.
     Cartonașele obișnuite de gamă (.kmr__gama) sunt făcute pentru nume scurte,
     centrate, într-o grilă de trei sau patru — două cartonașe acolo ar fi lăsat
     rândul pe sfert plin.

     Casetele din bento se potrivesc: au titlu și text, și există deja. Grila bento
     are șase coloane, iar o celulă fără regulă proprie ține una singură — de asta
     e nevoie de rândul de mai jos: câte trei coloane fiecare, adică jumătate și
     jumătate.

     Sub 900px grila bento e oricum pe o coloană, deci regula nu se aplică și
     casetele se așază una sub alta.
     Se măsoară: node unelte/masoara.js dr-gansow-gmatic ".kmr__bento--doua > *" */
  @media (min-width:900px) {
  .kmr__bento--doua .kmr__cell { grid-column:span 3; }
  }

  /* ---------- grila de produse, pe trei coloane ----------
     Cinci produse, exact ca la Green Machines — catalogul are cinci mașini Gansow,
     toate în grilă.

     Regula comună trece la patru coloane de la 1000px. Cu cinci carduri, asta dă un
     rând de patru și unul cu un singur card, singur în colțul din stânga. Pe trei
     ies trei plus doi, iar cardurile sunt mai mari — la 1222px ies de 388px în loc
     de 283, deci pozele se văd mai bine.

     Dacă gama se schimbă și grila ajunge la opt, REGULA ASTA SE ȘTERGE.
     Se măsoară: node unelte/masoara.js dr-gansow-gmatic ".kmr__prod" */
  @media (min-width:1000px) {
  .kmr__prods { grid-template-columns:repeat(3,1fr); }
  }/* End custom CSS */