.elementor-20227 .elementor-element.elementor-element-35bd90e{--display:flex;--background-transition:0.3s;--margin-top:-41px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}/* Start custom CSS for container, class: .elementor-element-35bd90e *//* ==========================================================================
   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-20227 .elementor-element.elementor-element-35bd90eul.

     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__sec--tight { padding:58px 0; }
  /* secțiuni care se termină sau încep lângă un widget Shortcode: fără ele, paddingul
     celor două secțiuni se adună și rămâne o gaură mare în jurul gridului de produse */
  .kmr__sec--taiat-jos { padding-bottom:30px; }
  .kmr__sec--taiat-sus { padding-top:30px; }
  .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-20227 .elementor-element.elementor-element-35bd90eul 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__body { max-width:70ch; color:var(--muted); }
  .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--ghost { background:transparent; color:var(--white); border-color:rgba(255,255,255,.5); }
  .kmr__btn--ghost:hover { background:var(--white); color:var(--blue); border-color:var(--white); }
  .kmr__btn--blue { background:var(--blue); color:var(--white); }
  .kmr__btn--blue:hover { background:var(--blue-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-20227 .elementor-element.elementor-element-35bd90eul 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); }

  .kmr a.kmr__btn--blue,
  .kmr a.kmr__btn--blue:hover,
  .kmr a.kmr__btn--blue:focus,
  .kmr a.kmr__btn--blue:active,
  .kmr a.kmr__btn--blue:visited { color:var(--white); }

  /* Fantoma e singura care schimbă culoarea dinadins: la hover fundalul devine alb,
     deci textul trebuie să treacă pe albastru, altfel ar fi alb pe alb. */
  .kmr a.kmr__btn--ghost,
  .kmr a.kmr__btn--ghost:focus,
  .kmr a.kmr__btn--ghost:active,
  .kmr a.kmr__btn--ghost:visited { color:var(--white); }
  .kmr a.kmr__btn--ghost:hover { color:var(--blue); }

  /* ---------- 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__crumbs { font-size:13.5px; color:rgba(255,255,255,.6); }
  .kmr__crumbs a { color:rgba(255,255,255,.6); text-decoration:none; }
  .kmr__crumbs a:hover { color:var(--white); }
  .kmr__signals { display:flex; flex-wrap:wrap; gap:9px 22px; margin:2px 0 0; padding:0; font-size:14px; color:rgba(255,255,255,.78); }
  .kmr__signals li { list-style:none; display:flex; align-items:center; gap:8px; }
  .kmr__signals svg { width:15px; height:15px; flex:none; }

  .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); }
  /* Cartonașul cu cifra stă peste colțul din stânga-jos al pozei. Iese mult în afara
     imaginii, pe fundalul închis al hero-ului: la -14px acoperea utilajul din poza reală.
     Dacă se schimbă poza, se verifică din nou ce ascunde. */
  .kmr__hero-card {
    position:absolute; left:-44px; bottom:-30px; background:var(--white); border-radius:var(--rot-mic);
    padding:18px 22px; box-shadow:0 18px 44px -18px rgba(6,21,48,.62);
    display:flex; flex-direction:column; gap:2px; max-width:206px;
    border-bottom:3px solid var(--green);
  }
  @media (min-width:960px) and (max-width:1100px) { .kmr__hero-card { left:-24px; } }
  @media (max-width:959px) { .kmr__hero-card { position:static; margin-top:16px; max-width:none; } }
  .kmr__hero-card strong { font-size:34px; font-weight:800; line-height:1; color:var(--blue); letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
  .kmr__hero-card span { font-size:13.5px; color:var(--muted); line-height:1.4; }

  /* ---------- ancore ---------- */
  .kmr__jump { background:var(--white); border-bottom:1px solid var(--line); }
  .kmr__jump ul { max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); list-style:none; display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; }
  .kmr__jump ul::-webkit-scrollbar { display:none; }
  .kmr__jump a { display:block; padding:18px 16px; white-space:nowrap; text-decoration:none; font:700 13px/1 "DM Sans",Arial,sans-serif; text-transform:uppercase; letter-spacing:.03em; color:var(--blue); border-bottom:3px solid transparent; transition:border-color .16s,color .16s; }
  .kmr__jump a:hover { border-bottom-color:var(--green); }
  .kmr__jump a:focus-visible { outline:3px solid var(--green); outline-offset:-3px; }

  /* ---------- bandă de cifre ---------- */
  .kmr__stats { display:grid; grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--rot); overflow:hidden; }
  @media (min-width:700px) { .kmr__stats { grid-template-columns:repeat(3,1fr); } }
  .kmr__stat { background:var(--white); padding:28px 26px; display:flex; flex-direction:column; gap:5px; }
  .kmr__stat b { font-size:clamp(34px,4.4vw,44px); font-weight:800; line-height:1; color:var(--blue); letter-spacing:-.025em; font-variant-numeric:tabular-nums; }
  .kmr__stat span { font-size:15px; color:var(--muted); max-width:34ch; }

  /* ---------- 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__cell--lead { background:var(--blue-tint); border-color:transparent; }
  .kmr__cell--lead:hover { transform:none; box-shadow:none; border-color:transparent; }
  .kmr__cell--media { padding:0; overflow:hidden; border-radius:var(--rot); }
  .kmr__cell--media img { display:block; width:100%; height:100%; min-height:220px; object-fit:cover; }
  @media (min-width:900px) {
    .kmr__bento--a .kmr__cell:nth-child(1) { grid-column:span 4; }
    .kmr__bento--a .kmr__cell:nth-child(2) { grid-column:span 2; grid-row:span 2; }
    .kmr__bento--a .kmr__cell:nth-child(3),
    .kmr__bento--a .kmr__cell:nth-child(4) { grid-column:span 2; }
    .kmr__bento--a .kmr__cell:nth-child(5),
    .kmr__bento--a .kmr__cell:nth-child(6) { grid-column:span 3; }
    .kmr__bento--b .kmr__cell:nth-child(1) { grid-column:span 2; grid-row:span 2; }
    .kmr__bento--b .kmr__cell:nth-child(2) { grid-column:span 4; }
    .kmr__bento--b .kmr__cell:nth-child(3),
    .kmr__bento--b .kmr__cell:nth-child(4) { grid-column:span 2; }
    .kmr__bento--b .kmr__cell:nth-child(5),
    .kmr__bento--b .kmr__cell:nth-child(6) { grid-column:span 3; }
  }
  /* Iconițele cardurilor, ca cele din banda albastră: mari, verzi, fără cerc.
     Erau 22px într-un cerc de 44px, cu contur în două culori — la mărimea aia detaliile
     se împâcleau, iar cercul palid le mai și mânca din spațiu. Acum au 40px și o singură
     culoare, deci se citesc de la aceeași distanță ca cele de pe banda albastră.
     `color` de aici hrănește `currentColor` din desene; cele vechi, cu culori scrise în
     path, rămân cum sunt până se refac. */
  .kmr__ico { display:block; line-height:0; flex:none; color:var(--green); }
  .kmr__ico svg { width:40px; height:40px; }
  .kmr__cell h3 { color:var(--blue); }
  .kmr__cell p { font-size:15px; line-height:1.55; color:var(--muted); }
  .kmr__apps { display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:4px 0 0; list-style:none; }
  .kmr__apps li { font-size:13.5px; font-weight:600; color:var(--blue); background:var(--white); border:1px solid var(--blue-pale); border-radius:var(--pastila); padding:6px 14px; }

  /* ---------- slot produse + CTA de mijloc ---------- */
  .kmr__slot { border:2px dashed var(--blue-soft); border-radius:var(--rot); background:var(--white); padding:46px 24px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:8px; }
  .kmr__slot code { font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace; font-size:14px; color:var(--blue); background:var(--wash); border:1px solid var(--line); border-radius:4px; padding:6px 12px; }
  .kmr__slot span { font-size:14px; color:var(--muted); }
  .kmr__midcta { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; background:var(--white); border:1px solid var(--line); border-left:4px solid var(--green); border-radius:var(--rot); padding:26px 30px; }
  .kmr__midcta p { font-size:17px; font-weight:600; color:var(--ink); max-width:52ch; }
  .kmr__midcta small { display:block; font-size:14.5px; font-weight:400; color:var(--muted); margin-top:4px; }

  /* ---------- marquee branduri ---------- */
  .kmr__marquee { position:relative; overflow:hidden; padding:8px 0;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
            mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent); }
  .kmr__track { display:flex; width:max-content; gap:54px; animation:kmr-slide 34s linear infinite; }
  .kmr__marquee:hover .kmr__track { animation-play-state:paused; }
  .kmr__track span { font-size:20px; font-weight:700; color:var(--blue); opacity:.5; white-space:nowrap; letter-spacing:.01em; }
  @keyframes kmr-slide { from { transform:translateX(0); } to { transform:translateX(-50%); } }

  /* ---------- banda de branduri, a noastră ----------
     Aceleași sigle ca în blocul Woodmart 20506, din aceeași bibliotecă media, dar
     desenate de noi. Câștigul: controlăm mărimea, spațierea și rotunjirea, iar pagina
     rămâne UN SINGUR widget HTML în Elementor — fără widget Scurtcod între bucăți.
     Siglele vin în două seturi identice; al doilea e doar ca bucla să nu aibă cusătură.

     NU scrie numărul blocului în forma lui de scurtcod, nici măcar într-un comentariu.
     De când stilul intră în widget, WordPress îi execută scurtcodurile ORIUNDE în
     conținut — inclusiv în comentarii și înăuntrul blocului de stil. Menționat aici cu
     paranteze drepte, blocul 20506 chiar se executa: îți injecta siglele în mijlocul
     CSS-ului, închidea stilul mai devreme și restul fișierului ajungea text pe pagină. */
  .kmr__branduri {
    background:var(--white); border:1px solid var(--line); border-radius:var(--rot-mare);
    padding:34px 0; overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
            mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  }
  .kmr__branduri-sir {
    display:flex; width:max-content; align-items:center; gap:88px; padding:0 44px;
    animation:kmr-branduri 52s linear infinite;
  }
  .kmr__branduri:hover .kmr__branduri-sir { animation-play-state:paused; }
  /* siglele rămân colorate: pe o pagină de distribuitor, brandul recunoscut e
     jumătate din argument. Opacitatea puțin sub 1 le ține pe același plan. */
  .kmr__branduri img {
    height:104px; width:auto; flex:none; object-fit:contain;
    opacity:.88; transition:opacity .25s, transform .25s;
  }
  .kmr__branduri img:hover { opacity:1; transform:scale(1.06); }
  @keyframes kmr-branduri { from { transform:translateX(0); } to { transform:translateX(-50%); } }

  @media (max-width:700px) { .kmr__branduri img { height:70px; } .kmr__branduri-sir { gap:52px; } }

  /* fără animație: siglele se așază pe rânduri, nu rulează */
  @media (prefers-reduced-motion:reduce) {
    .kmr__branduri { -webkit-mask-image:none; mask-image:none; padding:24px; }
    .kmr__branduri-sir { animation:none; width:auto; flex-wrap:wrap; justify-content:center; gap:44px; padding:0; }
    .kmr__branduri img[aria-hidden="true"] { display:none; }
  }

  /* ---------- 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); }

  /* ---------- criteriile de alegere, cartonașe numerotate ----------
     A înlocuit panoul în două coloane cu săgeată la mijloc. Acolo, cele opt criterii
     stăteau pe două coloane într-o jumătate de pagină: „tipul zonelor care trebuie
     curățate" și „necesitatea unei soluții electrice" se rupeau pe două rânduri, iar
     rândurile ieșeau inegale, cu goluri între ele. Se citea ca un tabel prost aliniat.

     Acum ocupă toată lățimea, în cutii egale de patru pe rând. Numerele nu sunt o
     ordine de prioritate — sunt un inventar: se vede dintr-o privire că analiza are
     opt puncte, ceea ce e chiar argumentul secțiunii. */
  /* Selector dublu, din același motiv ca la .kmr__h2-centru: regula .kmr p de mai sus are
     0-1-1 și pune margin:0, iar o singură clasă are 0-1-0 — deci margin:auto nu se aplica
     deloc. Cutia rămânea lipită de stânga, cu textul centrat degeaba în interiorul ei,
     ceea ce arată aproape corect și nu e. Se măsoară, nu se verifică din ochi. */
  .kmr .kmr__lead-centru { max-width:62ch; margin:0 auto; text-align:center; color:var(--muted); font-size:17px; }
  @media (max-width:600px) { .kmr .kmr__lead-centru { text-align:left; margin-left:0; } }

  /* ---------- 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; }
  }

  .kmr__criterii {
    counter-reset:crt; list-style:none; margin:0; padding:0;
    display:grid; grid-template-columns:1fr; gap:14px;
  }
  @media (min-width:560px) { .kmr__criterii { grid-template-columns:repeat(2,1fr); } }
  @media (min-width:940px) { .kmr__criterii { grid-template-columns:repeat(4,1fr); } }
  .kmr__criterii li {
    counter-increment:crt;
    display:flex; flex-direction:column; gap:10px; padding:24px 22px 22px;
    background:var(--white); border:1px solid var(--line); border-radius:var(--rot);
    font-size:16px; line-height:1.45; font-weight:600; color:var(--ink);
    transition:border-color .2s, box-shadow .2s, transform .2s;
  }
  .kmr__criterii li::before {
    content:counter(crt,decimal-leading-zero);
    font-size:13px; font-weight:800; letter-spacing:.06em; color:var(--green);
    /* linia verde de sub cifră ține locul unei iconițe: dă cutiei un cap vizual
       fără să inventeze un simbol pentru fiecare criteriu */
    padding-bottom:9px; border-bottom:2px solid var(--green); align-self:flex-start;
  }
  .kmr__criterii li:hover {
    border-color:var(--blue-linie); transform:translateY(-2px);
    box-shadow:0 10px 24px -14px rgba(19,66,133,.45);
  }

  .kmr__svc { list-style:none; margin:2px 0 0; padding:0; display:grid; gap:1px; background:var(--blue-pale); border:1px solid var(--blue-pale); border-radius:var(--rot-mic); overflow:hidden; }
  /* Dunga verde stătea în poziție absolută, la left:4px și top:19px. Două lucruri
     greșite: 4px de margine nu e aer, e o scăpare — și un top fix nu se centrează pe
     nimic. Nimerea aproximativ mijlocul unui rând de o linie și ieșea complet din ax
     la rândurile care treceau pe două. Acum rândul e flex, deci dunga se centrează
     singură pe text, oricâte rânduri are. */
  .kmr__svc li {
    background:var(--blue-tint); display:flex; align-items:center; gap:14px;
    padding:14px 22px; font-size:15.5px; font-weight:600; line-height:1.45; color:var(--blue);
  }
  /* Semnul din fața fiecărui rând: frunzele din siglă. Nu desenate după ea — DECUPATE
     din ea, cu unelte/decupeaza-sigla.js. Prima încercare a fost un SVG desenat de mână
     după siglă și nu semăna deloc: două frunze la 22px se citeau ca o liniuță oblică.

     Se reface cu:
       node unelte/decupeaza-sigla.js landing-pages/imagini-sigla/komarom-logo.webp
            800 195 974 355 66 landing-pages/imagini-sigla/frunze-sigla.png

     Din sigla de 974×519, dreptunghiul 800,195–974,355 e colțul cu frunzele. Unealta
     păstrează numai pixelii verzi, restul devine transparent, apoi taie pe conținut.
     66px în fișier, 22px pe pagină — de trei ori, ca să fie curat pe ecrane retina.

     E singurul loc unde împrumutăm un element din siglă: e o listă de „ce oferim", iar
     frunza leagă lista de brand mai bine decât o linie. */
  .kmr__svc li::before {
    content:""; flex:none; width:22px; height:22px;
    background:url("data:image/png;base64,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") center/22px no-repeat;
  }
  /* ---------- gama de echipamente, cartonașe cu iconiță ----------
     Prima formă era lista cu linii subțiri (.kmr__svc) pusă pe trei coloane. Nu a mers:
     rândurile unui grid cu linii au înălțimea celui mai înalt element, iar „monodiscuri
     pentru spălare, decapare și lustruire" trece pe două rânduri — deci vecinii lui
     rămâneau cu o jumătate de casetă goală sub text. Se citea ca un tabel cu găuri.

     Aici fiecare intrare e un cartonaș, iar textul stă centrat pe verticală în el:
     cartonașele dintr-un rând se întind la aceeași înălțime și nu mai rămâne niciun gol.

     A doua încercare a avut și câte o iconiță pentru fiecare tip de utilaj. Au picat:
     nouă simboluri desenate pentru lucruri care seamănă între ele — mașină de spălat,
     mașină de măturat, aspirator — ies mici, se confundă între ele și arată desenate în
     grabă. Un utilaj nu se recunoaște dintr-o pictogramă de 32px; se recunoaște din poză
     sau din nume. Deci rămâne numele, cu o dungă verde pe muchia din stânga cât să dea
     ritm rândurilor. */
  /* grid-auto-rows:1fr — altfel fiecare RÂND al grilei își ia înălțimea din cel mai înalt
     cartonaș al lui, iar rândurile ies diferite între ele: primul de 78px, al doilea și al
     treilea de 88, pentru că acolo două texte trec pe două rânduri. În cartonașe se vedea
     ca o grilă strâmbă. Cu 1fr, toate rândurile primesc înălțimea celui mai înalt, deci
     toate cele nouă cutii sunt identice. Textul e centrat, pe ambele axe. */
  .kmr__gama { list-style:none; margin:0; padding:0; display:grid; gap:14px; grid-template-columns:1fr; grid-auto-rows:1fr; }
  @media (min-width:560px) { .kmr__gama { grid-template-columns:1fr 1fr; } }
  @media (min-width:960px) { .kmr__gama { grid-template-columns:repeat(3,1fr); } }
  .kmr__gama li {
    display:flex; align-items:center; justify-content:center; text-align:center;
    min-height:78px; padding:18px 24px;
    background:var(--white); border:1px solid var(--line); border-left:3px solid var(--green);
    border-radius:var(--rot);
    font-size:16.5px; font-weight:600; line-height:1.45; color:var(--blue-dark);
    transition:border-color .2s, box-shadow .2s, transform .2s;
  }
  .kmr__gama li:hover {
    border-top-color:var(--blue-linie); border-right-color:var(--blue-linie);
    border-bottom-color:var(--blue-linie); transform:translateY(-2px);
    box-shadow:0 10px 24px -14px rgba(19,66,133,.45);
  }

  .kmr__pull { margin-top:8px; font-size:17px; line-height:1.5; font-weight:500; color:var(--blue); }
  .kmr__pull b { display:block; font-weight:700; }

  /* ---------- 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--8{gap:8px} .kmr__stack--14{gap:14px} .kmr__stack--20{gap:20px}
  .kmr__stack--28{gap:28px} .kmr__stack--40{gap:40px}

  /* ---------- 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; }
    .kmr__track { animation:none; }
  }
  @media (max-width:700px) {
    .kmr__sec { padding:54px 0; }
    .kmr__btn { padding:15px 28px; }
    .kmr__faq summary { padding:20px 46px 20px 18px; font-size:16.5px; }
    .kmr__faq summary::after { right:16px; top:23px; }
    .kmr__faq-a { padding:0 18px 22px 18px; }
  }

  /* ================================================================
     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); }

  /* ---------- bento cu 5 celule: 1 imagine înaltă + 4 carduri ---------- */
  @media (min-width:900px) {
    .kmr__bento--c .kmr__cell:nth-child(1) { grid-column:span 2; grid-row:span 2; }
    .kmr__bento--c .kmr__cell:nth-child(n+2) { grid-column:span 2; }
  }

  /* ---------- pașii, ca panglică de săgeți ----------
     A patra încercare, și prima care pornește de la text, nu de la formă. În document
     (par. 161) pașii nu sunt o listă, ci un lanț scris chiar cu săgeți:
     „Analiză → Recomandare → Demonstrație → Livrare → Instruire → Service".
     Săgeata e informația. Cele trei încercări de dinainte au pierdut-o toate:

       1. căsuțe albe cu cifre mici        → se citea ca un tabel
       2. cercuri legate cu o linie        → linia părea decor, cercurile prea mici
       3. plăci pline, navy, cu cifra mare → șase insule egale; cifra ocupa tot locul,
                                             cuvântul — singura informație pe care o avem
                                             de la client — rămânea mărunt, jos de tot

     Acum plăcile se îmbucă una în alta: fiecare se termină într-un vârf care intră în
     scobitura următoarei. Nu mai e nevoie de nicio explicație ca să se vadă că e un
     parcurs, iar între ele rămâne un fir subțire de fundal, cât să se distingă.
     Cuvântul e mare și alb, cifra e mică și liniștită deasupra: numărul spune doar al
     câtelea e pasul, cuvântul spune ce se întâmplă. */
  .kmr__steps {
    --varf:26px;   /* adâncimea vârfului și a scobiturii — trebuie să fie egale */
    --gol:5px;     /* firul de fundal dintre plăci */
    list-style:none; margin:0; padding:0; counter-reset:kmr-step;
    display:flex; flex-direction:column; gap:9px;
  }
  .kmr__steps li {
    counter-increment:kmr-step; position:relative;
    display:flex; align-items:center; gap:16px;
    padding:16px 20px; border-radius:var(--rot);
    background:var(--blue-dark); color:var(--white);
    transition:background-color .2s;
  }
  .kmr__steps li::before {
    content:"0" counter(kmr-step);
    font:800 13px/1 "DM Sans",Arial,sans-serif; letter-spacing:.1em;
    font-variant-numeric:tabular-nums; color:var(--green);
    flex:none; min-width:22px;
  }
  /* pe telefon lanțul e vertical, deci firul care leagă plăcile e vertical */
  .kmr__steps li:not(:last-child)::after {
    content:""; position:absolute; left:31px; bottom:-9px; width:2px; height:9px;
    background:var(--blue-linie);
  }
  .kmr__steps b { font-size:17px; font-weight:700; line-height:1.25; color:var(--white); }
  .kmr__steps li:hover { background:var(--blue); }
  /* ultimul pas — service — nu e un capăt, ci ceva continuu: placă verde */
  .kmr__steps li:last-child { background:var(--green-dark); }
  .kmr__steps li:last-child::before { color:var(--white); }
  .kmr__steps li:last-child:hover { background:var(--green); }

  @media (min-width:1040px) {
    .kmr__steps { flex-direction:row; gap:0; }
    .kmr__steps li {
      flex:1; min-width:0; height:96px;
      flex-direction:column; align-items:flex-start; justify-content:center; gap:8px;
      border-radius:0; padding:0 var(--varf) 0 calc(var(--varf) + 22px);
      margin-right:calc(-1 * (var(--varf) - var(--gol)));
      clip-path:polygon(0 0, calc(100% - var(--varf)) 0, 100% 50%,
                        calc(100% - var(--varf)) 100%, 0 100%, var(--varf) 50%);
    }
    /* Prima placă n-are ce să îmbuce în stânga, ultima n-are unde să arate în dreapta.
       Tot ele duc și rotunjirea: panglica e o singură formă, deci se rotunjesc doar cele
       două capete — stânga la prima, dreapta la ultima. Îmbucările dintre ele rămân
       ascuțite, altfel vârfurile n-ar mai intra în scobituri.
       Rotunjirea trece prin clip-path: fundalul e rotunjit întâi, poligonul taie după. */
    .kmr__steps li:first-child {
      padding-left:26px; border-radius:var(--rot) 0 0 var(--rot);
      clip-path:polygon(0 0, calc(100% - var(--varf)) 0, 100% 50%, calc(100% - var(--varf)) 100%, 0 100%);
    }
    .kmr__steps li:last-child {
      margin-right:0; border-radius:0 var(--rot) var(--rot) 0;
      clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--varf) 50%);
    }
    .kmr__steps li::after { display:none; }
    .kmr__steps b { font-size:17px; }
  }
  /* Fără ridicare la hover: plăcile sunt îmbucate, iar una ridicată ar rupe lanțul
     și ar lăsa o crăpătură albă la mijloc. Se schimbă doar culoarea. */

  /* ---------- întrebări frecvente ---------- */
  .kmr__faq { display:grid; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--rot-mare); overflow:hidden; }
  .kmr__faq details { background:var(--white); }
  .kmr__faq summary {
    list-style:none; cursor:pointer; display:block; position:relative;
    padding:24px 58px 24px 28px; font-size:17px; font-weight:700; line-height:1.4;
    color:var(--blue); transition:color .16s;
  }
  .kmr__faq summary::-webkit-details-marker { display:none; }
  .kmr__faq summary:hover { color:var(--blue-dark); }
  .kmr__faq summary:focus-visible { outline:3px solid var(--green); outline-offset:-3px; }
  .kmr__faq summary::after {
    content:""; position:absolute; right:26px; top:26px; width:18px; height:18px;
    background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 2.5v13M2.5 9h13' stroke='%235EC95E' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat;
    transition:transform .22s ease;
  }
  .kmr__faq details[open] summary::after { transform:rotate(135deg); }
  .kmr__faq-a { padding:0 58px 26px 28px; }
  .kmr__faq-a p { color:var(--muted); font-size:15.5px; line-height:1.65; max-width:76ch; }

  /* ---------- 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); }

  /* legături către categoriile din care vin produsele */
  .kmr__cats { display:flex; flex-direction:column; gap:12px; }
  .kmr__cats ul { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
  .kmr__cats a {
    display:inline-flex; align-items:center; gap:8px; text-decoration:none;
    font-size:14px; font-weight:600; color:var(--blue);
    background:var(--white); border:1px solid var(--blue-pale); border-radius:var(--pastila); padding:8px 16px;
    transition:border-color .18s, background-color .18s;
  }
  .kmr__cats a:hover { border-color:var(--blue); background:var(--blue-tint); }
  .kmr__cats a:focus-visible { outline:3px solid var(--green); outline-offset:2px; }
  .kmr__cats b { font-weight:800; color:var(--blue-soft); font-variant-numeric:tabular-nums; }

  /* ---------- 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); }

  /* ---------- „cum alegem": titlu + criterii, pe două coloane ---------- */
  .kmr__alegem { display:grid; grid-template-columns:1fr; gap:26px; }
  @media (min-width:900px) { .kmr__alegem { grid-template-columns:.86fr 1.14fr; gap:56px; align-items:start; } }
  .kmr__lead { color:var(--muted); font-size:16.5px; line-height:1.65; }
  @media (min-width:900px) { .kmr__alegem .kmr__crit { padding-top:6px; } }

  /* Lista de criterii cu bifă, pe două coloane. A stat o vreme în blocul panoului, care
     nu mai există — pe Municipalități criteriile sunt acum cartonașe numerotate
     (.kmr__criterii). Regulile astea rămân pentru că Sănătate & Educație le folosește
     în continuare, într-o secțiune pe două coloane, unde forma compactă e potrivită. */
  .kmr__crit { list-style:none; margin:2px 0 0; padding:0; display:grid; grid-template-columns:1fr; gap:11px 22px; }
  @media (min-width:520px) { .kmr__crit { grid-template-columns:1fr 1fr; } }
  .kmr__crit li { display:flex; align-items:flex-start; gap:10px; font-size:15.5px; line-height:1.45; color:var(--ink); }
  .kmr__crit li::before {
    content:""; flex:none; width:16px; height:16px; margin-top:3px; border-radius:50%;
    background:var(--blue-tint) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.3 6.7 11l5.3-6' stroke='%23134285' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;
  }

  /* ---------- „de ce Komarom": titlu centrat + două casete ----------
     Era un bloc de text curgător, centrat. Al doilea paragraf ieșea mai mic și gri, deci
     se citea ca o notă de subsol — deși spune tocmai partea care contează după vânzare:
     demonstrații, livrare, punere în funcțiune, instruire, service, mentenanță, piese.

     Cele două paragrafe din docx (163 și 164) răspund la lucruri diferite — ce livrăm și
     ce se întâmplă după — așa că fiecare are caseta lui, la fel de vizibilă. Textul e
     neatins; s-a schimbat doar cutia în care stă. Casetele sunt pe fundal albastru-pal,
     nu albe, pentru că secțiunea e pe alb și niște casete albe n-ar avea niciun contur. */
  .kmr__dece { display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
  .kmr__dece::before { content:""; width:56px; height:3px; background:var(--green); }
  .kmr__dece h2 { max-width:24ch; }

  .kmr__casete { width:100%; margin-top:6px; display:grid; grid-template-columns:1fr; gap:16px; text-align:left; }
  @media (min-width:900px) { .kmr__casete { grid-template-columns:1fr 1fr; gap:20px; } }
  .kmr__caseta {
    display:flex; flex-direction:column; gap:15px; padding:32px 30px;
    background:var(--blue-tint); border:1px solid var(--blue-pale); border-radius:var(--rot-mare);
    transition:border-color .2s, box-shadow .2s, transform .2s;
  }
  @media (max-width:600px) { .kmr__caseta { padding:26px 22px; } }
  .kmr__caseta:hover {
    border-color:var(--blue-linie); transform:translateY(-2px);
    box-shadow:0 14px 30px -18px rgba(19,66,133,.45);
  }
  /* O singură casetă ține tot rândul. Altfel stă în prima coloană a grilei de două și
     lasă lângă ea o jumătate de pagină goală — se vede imediat ce e o cutie rămasă
     singură, nu o decizie. Fiind lată, iconița trece lângă text, nu deasupra. */
  .kmr__casete > .kmr__caseta:only-child { grid-column:1 / -1; }
  /* Iconița se centrează pe verticală față de textul de lângă ea. Era pusă sus, cu un
     margin-top de 2px — dar iconița are 38px, iar un rând de text are ~27px: așa,
     mijlocul ei cădea între primul și al doilea rând, deci nu era aliniată nici cu
     primul rând, nici cu blocul. Se vedea ca și cum ar fi scăpat acolo. */
  @media (min-width:700px) {
    .kmr__casete > .kmr__caseta:only-child { flex-direction:row; align-items:center; gap:22px; }
    .kmr__casete > .kmr__caseta:only-child .kmr__caseta-ico { flex:none; }
  }
  .kmr__caseta-ico { color:var(--green); line-height:0; }
  .kmr__caseta-ico svg { width:38px; height:38px; }
  /* .elementor-20227 .elementor-element.elementor-element-35bd90e dublu: .kmr p are 0-1-1 și ar bate o singură clasă — vezi nota de la titluri */
  .kmr .kmr__caseta p { max-width:none; font-size:17px; line-height:1.6; color:var(--ink); text-wrap:pretty; }/* End custom CSS */