/* ==========================================================================
   NPA - sectiuni pentru paginile editoriale
   ========================================================================== */

.npa-section--alt { background: var(--npa-bg-alt); }

/* Antet de pagina ----------------------------------------------------------
   Ca in macheta: fir al Ariadnei mic, titlu mare, un paragraf introductiv
   scurt. Fara banda colorata pe toata latimea - continutul incepe direct,
   aliniat cu restul paginii.
   -------------------------------------------------------------------------- */
.npa-pagehead { padding: 34px 0 6px; background: #fff; }
.npa-pagehead .npa-breadcrumb { margin-bottom: 14px; font-size: 13.5px; color: var(--npa-muted); }
.npa-pagehead__title {
  margin: 0 0 12px;
  font-size: clamp(30px, 3vw, 42px); line-height: 1.14; letter-spacing: -.02em;
  color: var(--npa-navy);
}
.npa-pagehead__lead {
  max-width: 720px; margin: 0 0 8px;
  font-size: 17.5px; line-height: 1.6; color: var(--npa-muted);
}
.npa-pagehead .npa-btn { margin-top: 18px; }
.npa-pagehead__img { margin-top: 30px; border-radius: var(--npa-radius-lg); overflow: hidden; }
.npa-pagehead__img img { width: 100%; height: auto; display: block; }

/* Blocuri de continut ------------------------------------------------------
   Ritmul din macheta: 56px intre blocuri, nu 72, si fara benzi colorate care
   taie pagina la fiecare doua paragrafe.
   -------------------------------------------------------------------------- */
.npa-block { padding: 40px 0 0; }
.npa-block:last-child { padding-bottom: 84px; }
.npa-block--alt { padding: 44px 0; background: var(--npa-bg-alt); margin-top: 44px; }

.npa-blockhead { margin-bottom: 22px; }
.npa-blockhead h2 {
  margin: 0; font-size: clamp(24px, 2.1vw, 32px); line-height: 1.2;
  letter-spacing: -.015em; color: var(--npa-navy);
}
.npa-blockhead .npa-eyebrow { margin-bottom: 8px; }

/* Caseta de indemn, ca in macheta: chenar, colturi rotunjite, fundal deschis. */
.npa-callout {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 20px 32px;
  padding: 30px 34px; background: var(--npa-bg-alt);
  border: 1px solid var(--npa-line); border-radius: 16px;
}
.npa-callout__title { margin: 0 0 6px; font-size: 26px; line-height: 1.2; color: var(--npa-navy); }
.npa-callout__text { margin: 0; max-width: 620px; color: var(--npa-muted); font-size: 15.5px; line-height: 1.6; }

/* Carduri ------------------------------------------------------------------
   Exact ca in macheta: chenar de 1px, colturi de 14px, padding 26px,
   titlu de 19px, text gri.
   -------------------------------------------------------------------------- */
.npa-cards { display: grid; gap: 20px; }
.npa-cards--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.npa-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.npa-cards--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.npa-card {
  display: flex; flex-direction: column; gap: 8px;
  padding: 26px; background: #fff; color: inherit;
  border: 1px solid var(--npa-line); border-radius: 14px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
a.npa-card:hover { border-color: var(--npa-teal); box-shadow: 0 6px 18px rgba(11,42,74,.07); color: inherit; }
.npa-card__icon { color: var(--npa-teal); margin-bottom: 2px; }
.npa-card__title { font-family: var(--npa-font-head); font-size: 19px; font-weight: 700; line-height: 1.25; color: var(--npa-navy); }
.npa-card__text { font-size: 15px; line-height: 1.6; color: var(--npa-muted); }
.npa-card__meta { font-size: 13.5px; font-weight: 600; color: var(--npa-teal); }

/* Pasi --------------------------------------------------------------------- */
.npa-steps {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px;
  list-style: none; margin: 0; padding: 0;
}
.npa-step {
  display: flex; flex-direction: column; gap: 8px;
  padding: 26px; background: #fff;
  border: 1px solid var(--npa-line); border-radius: 14px;
}
.npa-step__num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--npa-cyan-bg); color: var(--npa-teal-dark);
  font-family: var(--npa-font-head); font-size: 16px; font-weight: 800;
}
.npa-step__title { font-family: var(--npa-font-head); font-size: 17px; font-weight: 700; color: var(--npa-navy); }
.npa-step__text { font-size: 15px; line-height: 1.6; color: var(--npa-muted); }

/* Logo-uri ----------------------------------------------------------------- */
.npa-logos {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 16px; align-items: center;
}
.npa-logos img {
  width: 100%; height: 64px; object-fit: contain; display: block;
  filter: grayscale(1); opacity: .7;
  transition: filter .15s ease, opacity .15s ease;
}
.npa-logos a { display: block; }
.npa-logos .npa-logos__item--text, .npa-logos a.npa-logos__item--text {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  min-height: 96px; padding: 18px 20px; background: #fff; border: 1px solid var(--npa-line); border-radius: 14px;
  text-align: center; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.npa-logos__item--text:hover { border-color: var(--npa-teal); box-shadow: var(--npa-shadow); }
.npa-logos__name { font-family: var(--npa-font-head); font-size: 22px; font-weight: 800; letter-spacing: -.01em; color: var(--npa-navy); }
.npa-logos__sub { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--npa-teal); }
.npa-logos a:hover img, .npa-logos img:hover { filter: none; opacity: 1; }
.npa-prose__logos {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: 14px; margin: 0 0 26px;
}
.npa-prose__logo {
  display: flex; align-items: center; justify-content: center;
  height: 112px; padding: 18px 24px; background: #fff; border: 1px solid var(--npa-line); border-radius: 14px;
}
.npa-prose__logo a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
.npa-prose .npa-prose__logo img {
  display: block; width: auto; height: auto; max-width: 100%; max-height: 60px; margin: 0;
  object-fit: contain; border-radius: 0; box-shadow: none;
}
@media (max-width: 600px) {
  .npa-prose__logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .npa-prose__logo { height: 92px; padding: 14px 16px; }
  .npa-prose .npa-prose__logo img { max-height: 46px; }
}

@media (max-width: 1100px) {
  .npa-cards--4, .npa-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .npa-cards--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .npa-logos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .npa-cards--2, .npa-cards--3, .npa-cards--4, .npa-steps { grid-template-columns: minmax(0, 1fr); }
  .npa-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .npa-pagehead { padding-top: 22px; }
  /* Pe telefon, titlul si butoanele stau unul sub altul, pe toata latimea:
     altfel al doilea buton iese din caseta. */
  .npa-callout { padding: 22px 18px; flex-direction: column; align-items: stretch; gap: 18px; }
  .npa-callout__title { font-size: 22px; }
  .npa-callout__actions { flex-direction: column; align-items: stretch; width: 100%; gap: 10px; }
  .npa-callout__actions .npa-btn { width: 100%; justify-content: center; text-align: center; }
}

/* Continutul adus de pe npa.ro ---------------------------------------------
   Textul importat vine ca o insiruire de paragrafe, cu imagini de dimensiuni
   diverse si tabele fara stil. Il asezam intr-o coloana de citit, cu ritm
   vertical si cu imaginile incadrate.
   -------------------------------------------------------------------------- */
/* Coloana de citit: latimea si spatierea vin de aici, nu din setarile
   Elementor, care ajung intr-un fisier CSS ce nu se regenereaza cand
   structura paginii e scrisa direct in baza de date. */
.npa-prose {
  /* Aliniata la stanga, sub titlu - nu centrata: altfel marginea din stanga
     nu se potriveste cu titlul si pagina pare stramba. */
  max-width: 760px; margin-left: 0; margin-right: auto;
  font-size: 16.5px; line-height: 1.72; color: var(--npa-text-2);
}
.npa-prose > * { max-width: 100%; }
.npa-prose > *:first-child { margin-top: 0; }
.npa-prose > *:last-child { margin-bottom: 0; }

.npa-prose p { margin: 0 0 18px; }
.npa-prose p:empty { display: none; margin: 0; }

.npa-prose h2,
.npa-prose h3,
.npa-prose h4 {
  font-family: var(--npa-font-head);
  color: var(--npa-navy); line-height: 1.22; letter-spacing: -.01em;
  margin: 38px 0 12px;
}
.npa-prose h2 { font-size: 26px; }
.npa-prose h3 { font-size: 21px; }
.npa-prose h4 { font-size: 18px; }
.npa-prose strong { color: var(--npa-navy); }

.npa-prose a { color: var(--npa-blue); text-decoration: underline; text-underline-offset: 2px; }
.npa-prose a:hover { color: var(--npa-teal); }

.npa-prose ul,
.npa-prose ol { margin: 0 0 20px; padding-left: 22px; }
.npa-prose li { margin-bottom: 7px; }

.npa-prose img {
  height: auto; border-radius: var(--npa-radius-lg);
  margin: 8px 0 22px;
}
.npa-prose figure { margin: 0 0 22px; }
.npa-prose figcaption {
  margin-top: 8px; font-size: 13.5px; color: var(--npa-muted); text-align: center;
}

/* Tabelele importate depasesc coloana pe mobil daca nu le lasam sa deruleze. */
.npa-prose table {
  width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px;
}
.npa-prose th,
.npa-prose td {
  padding: 10px 12px; border: 1px solid var(--npa-line); text-align: left;
}
.npa-prose th { background: var(--npa-bg-alt); color: var(--npa-navy); font-weight: 700; }

.npa-prose blockquote {
  margin: 0 0 22px; padding: 16px 20px;
  background: var(--npa-cyan-bg); border-left: 3px solid var(--npa-teal);
  border-radius: 0 var(--npa-radius-md) var(--npa-radius-md) 0;
  font-size: 16px; color: var(--npa-text-2);
}

.npa-prose hr {
  border: 0; border-top: 1px solid var(--npa-line); margin: 32px 0;
}

@media (max-width: 900px) {
  .npa-prose { font-size: 16px; }
  .npa-prose h2 { font-size: 22px; }
  .npa-prose h3 { font-size: 19px; }
}

/* Recenzii Google (widget Trustindex) -------------------------------------- */
.npa-reviews__widget { margin-top: 4px; }
.npa-reviews__widget .ti-widget { margin: 0 !important; }

/* Sectiunile NPA pe toata latimea, in Elementor -----------------------------
   Containerul care le poarta nu are voie sa adauge spatiere proprie:
   sectiunea isi are deja propriul padding si propriul container interior.
   -------------------------------------------------------------------------- */
/* Elementor nu preia clasele scrise direct in baza de date, asa ca tintim
   containerele pe toata latimea dupa clasa lui: pe paginile generate de tema
   ele contin doar sectiuni NPA, care isi au propria spatiere. */
.npa-elementor-page .elementor .e-con.e-con-full,
.elementor .e-con.npa-sectiune-full,
.elementor .elementor-element.npa-sectiune-full {
  padding-block-start: 0; padding-block-end: 0;
  padding-inline-start: 0; padding-inline-end: 0;
  margin-block-start: 0; margin-block-end: 0;
  --padding-top: 0px; --padding-bottom: 0px;
  --padding-left: 0px; --padding-right: 0px;
  --margin-top: 0px; --margin-bottom: 0px;
  row-gap: 0;
}
.npa-elementor-page .elementor .e-con-full > .elementor-element,
.elementor .npa-sectiune-full > .elementor-element,
.elementor .npa-sectiune-full > .elementor-widget { margin: 0; }

/* Banda de deschidere pe doua coloane (macheta: pagina Despre) --------------- */
.npa-intro2 { background: var(--npa-bg-alt); border-bottom: 1px solid var(--npa-line); }
.npa-intro2__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; padding-top: 52px; padding-bottom: 52px; }
.npa-intro2__grid--fara-img { grid-template-columns: minmax(0, 1fr); }
.npa-intro2 .npa-breadcrumb { margin-bottom: 12px; font-size: 13.5px; color: var(--npa-muted); }
.npa-intro2__title { margin: 4px 0 16px; font-size: clamp(30px, 3.1vw, 44px); line-height: 1.12; letter-spacing: -.02em; color: var(--npa-navy); }
.npa-intro2__lead { font-size: 17.5px; line-height: 1.65; color: var(--npa-text-2); }
.npa-intro2__lead p { margin: 0 0 14px; }
.npa-intro2__lead p:last-child { margin-bottom: 0; }
.npa-intro2__media { border-radius: 16px; overflow: hidden; background: #EDF1F8; }
.npa-intro2__media img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }

/* Titlul de bloc, ca "Repere" in macheta */
.npa-block__h2 { margin: 0 0 22px; font-size: clamp(24px, 2.2vw, 34px); line-height: 1.2; letter-spacing: -.015em; color: var(--npa-navy); }


/* Antet de bloc (supratitlu + titlu + text) --------------------------------- */
.npa-block__head { max-width: 720px; margin-bottom: 30px; }
.npa-block__head .npa-block__h2 { margin-bottom: 10px; }
.npa-block__lead { margin: 0; font-size: 17px; line-height: 1.6; color: var(--npa-text-2); }

/* Punct de recoltare evidentiat (Contact) ---------------------------------- */
.npa-locatie { background: var(--npa-bg-alt); }
.npa-locatie__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: start; }
.npa-locatie__lead { max-width: none; font-size: 16.5px; }
.npa-locatie__lead p { margin: 0 0 12px; }
.npa-locatie__badge {
  display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 0;
  padding: 8px 14px; border-radius: 999px;
  background: var(--npa-cyan-bg); color: var(--npa-navy); font-size: 14px; font-weight: 600;
}
.npa-locatie__badge .npa-icon { color: var(--npa-teal); }
.npa-locatie__media { margin-top: 24px; border-radius: 14px; overflow: hidden; }
.npa-locatie__media img { display: block; width: 100%; height: 260px; object-fit: cover; }
.npa-locatie__card {
  background: #fff; border: 1px solid var(--npa-line); border-radius: 16px;
  padding: 10px 26px 26px; box-shadow: var(--npa-shadow);
}
.npa-locatie__row {
  display: grid; grid-template-columns: 40px 1fr; gap: 12px; align-items: start;
  padding: 16px 0; border-bottom: 1px solid var(--npa-line-soft);
}
.npa-locatie__ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; border-radius: 10px; background: var(--npa-cyan-bg); color: var(--npa-blue);
}
.npa-locatie__label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--npa-muted); margin-bottom: 3px; }
.npa-locatie__val { display: block; font-size: 16px; font-weight: 600; color: var(--npa-navy); line-height: 1.45; }
.npa-locatie__tel { font-family: var(--npa-font-head); font-size: 20px; font-weight: 800; color: var(--npa-blue); }
.npa-locatie__tel:hover { color: var(--npa-teal); }
.npa-locatie__sub { display: block; font-size: 13.5px; color: var(--npa-muted); margin-top: 2px; }
.npa-locatie__actions { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 20px; }
.npa-locatie__actions .npa-btn { flex: 1 1 auto; justify-content: center; }

/* Cifre cheie --------------------------------------------------------------- */
.npa-cifre { padding: 40px 0; }
.npa-cifre--navy { background: var(--npa-navy); color: #fff; }
.npa-cifre--alb { background: #fff; border-top: 1px solid var(--npa-line); border-bottom: 1px solid var(--npa-line); }
.npa-cifre__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.npa-cifre__item { display: flex; flex-direction: column; gap: 4px; padding-left: 18px; border-left: 3px solid var(--npa-teal); }
.npa-cifre__val { font-family: var(--npa-font-head); font-size: clamp(30px, 3vw, 42px); font-weight: 800; line-height: 1; letter-spacing: -.02em; color: var(--npa-cyan); }
.npa-cifre--alb .npa-cifre__val { color: var(--npa-blue); }
.npa-cifre__lab { font-size: 14.5px; opacity: .85; }

/* Galerie foto -------------------------------------------------------------- */
.npa-galerie__grid { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; }
.npa-galerie__item { position: relative; margin: 0; border-radius: 14px; overflow: hidden; background: var(--npa-bg-alt); }
.npa-galerie__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.npa-galerie__item:hover img { transform: scale(1.04); }
.npa-galerie__item figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 16px 14px;
  background: linear-gradient(180deg, rgba(11,42,74,0), rgba(11,42,74,.75));
  color: #fff; font-size: 13.5px; font-weight: 600;
}
.npa-galerie__item:first-child { grid-column: span 2; grid-row: span 2; }
.npa-galerie__grid--2 .npa-galerie__item:first-child { grid-column: span 2; grid-row: span 2; }
.npa-galerie__grid--2 .npa-galerie__item:nth-child(2) { grid-column: span 2; grid-row: span 2; }
.npa-galerie__grid--3 .npa-galerie__item:nth-child(n+2) { grid-column: span 2; }
.npa-galerie__grid--4 .npa-galerie__item:nth-child(4) { grid-column: span 2; }

/* Cronologie ---------------------------------------------------------------- */
.npa-timeline { border-top: 1px solid var(--npa-line); }
.npa-timeline__row {
  display: grid; grid-template-columns: 120px 1fr; gap: 24px;
  padding: 20px 0; border-bottom: 1px solid var(--npa-line);
}
.npa-timeline__year { font-family: var(--npa-font-head); font-size: 24px; font-weight: 800; color: var(--npa-teal); line-height: 1.1; }
.npa-timeline__text { font-size: 16px; line-height: 1.6; color: var(--npa-text-2); align-self: center; }

/* Doua coloane: text + carduri de informatii ------------------------------- */
.npa-split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 44px; align-items: start; }
.npa-split--contact { grid-template-columns: 1.15fr .85fr; }
.npa-split__aside { display: flex; flex-direction: column; gap: 18px; position: sticky; top: 24px; }
.npa-prose--full { max-width: none; }

.npa-infocard {
  border: 1px solid var(--npa-line); border-radius: 14px; padding: 24px; background: #fff;
  display: flex; flex-direction: column; gap: 8px; align-items: flex-start;
}
.npa-infocard--accent { border-color: var(--npa-cyan); background: var(--npa-cyan-bg); }
.npa-infocard__label { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--npa-teal); }
.npa-infocard__big { font-family: var(--npa-font-head); font-size: 26px; font-weight: 800; color: var(--npa-navy); line-height: 1.1; }
.npa-infocard__big:hover { color: var(--npa-teal); }
.npa-infocard__text { font-size: 15px; line-height: 1.6; color: var(--npa-muted); }
.npa-infocard .npa-btn { margin-top: 6px; }

/* Formularul de programare ------------------------------------------------- */
.npa-formcard { border: 1px solid var(--npa-line); border-radius: 16px; padding: 28px; background: #fff; }
.npa-formcard__title { margin: 0 0 8px; font-size: 22px; color: var(--npa-navy); }
.npa-formcard__text { margin: 0 0 20px; font-size: 15px; line-height: 1.6; color: var(--npa-muted); }
.npa-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.npa-form input[type=text], .npa-form input[type=tel], .npa-form input[type=email], .npa-form textarea {
  width: 100%; height: 50px; border: 1px solid #C9D3E6; border-radius: 10px;
  padding: 0 14px; font-size: 15px; font-family: var(--npa-font); color: var(--npa-text); background: #fff;
}
.npa-form textarea { height: auto; padding: 14px; resize: vertical; margin-bottom: 14px; }
.npa-form input:focus, .npa-form textarea:focus { outline: none; border-color: var(--npa-teal); box-shadow: 0 0 0 3px rgba(0,166,166,.14); }
.npa-form__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.npa-chip { cursor: pointer; }
.npa-chip input { position: absolute; opacity: 0; width: 0; height: 0; }
.npa-chip span {
  display: inline-block; padding: 8px 14px; border-radius: 999px; font-size: 13.5px;
  background: var(--npa-bg-alt); border: 1px solid var(--npa-line); color: var(--npa-text-2);
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}
.npa-chip input:checked + span { background: var(--npa-teal); border-color: var(--npa-teal); color: #fff; }
.npa-form__consent { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 18px; font-size: 13.5px; line-height: 1.5; color: var(--npa-muted); }
.npa-form__consent input { margin-top: 3px; }
.npa-form__hp { position: absolute; left: -9999px; }
.npa-form__note { margin: 14px 0 0; font-size: 13px; color: var(--npa-muted); }
.npa-notice { padding: 14px 16px; border-radius: 10px; font-size: 15px; }
.npa-notice--ok { background: #E8F7EE; border: 1px solid #B7E4C7; color: #1E6B3A; }
.npa-notice--err { background: #FDECEC; border: 1px solid #F5B7B7; color: #8A2626; }

@media (max-width: 1000px) {
  .npa-intro2__grid, .npa-split, .npa-split--contact, .npa-locatie__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .npa-cifre__grid { grid-template-columns: repeat(2, 1fr); }
  .npa-galerie__grid { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 160px; }
  .npa-galerie__grid .npa-galerie__item { grid-column: span 1 !important; grid-row: span 1 !important; }
  .npa-galerie__grid .npa-galerie__item:first-child { grid-column: span 2 !important; }
  .npa-split__aside { position: static; }
  .npa-timeline__row { grid-template-columns: 80px 1fr; gap: 14px; }
}
@media (max-width: 700px) {
  .npa-form__grid { grid-template-columns: minmax(0, 1fr); }
  .npa-formcard { padding: 20px; }
}

/* Rezultate online --------------------------------------------------------- */
.npa-results { padding-top: 36px; }
.npa-results__grid { display: grid; grid-template-columns: 1fr 420px; gap: 56px; align-items: start; }
.npa-results .npa-breadcrumb { margin-bottom: 14px; font-size: 13.5px; color: var(--npa-muted); }
.npa-results__steps { list-style: none; margin: 26px 0 0; padding: 0; max-width: 560px; display: flex; flex-direction: column; gap: 16px; }
.npa-results__steps li { display: flex; gap: 16px; align-items: flex-start; font-size: 16px; line-height: 1.55; color: var(--npa-text-2); }
.npa-results__num {
  flex: 0 0 30px; width: 30px; height: 30px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--npa-cyan-bg); color: var(--npa-teal-dark);
  font-family: var(--npa-font-head); font-size: 14px; font-weight: 800;
}
.npa-results__note {
  display: flex; gap: 10px; align-items: flex-start; max-width: 560px;
  margin-top: 26px; padding: 14px 16px; border-radius: 12px;
  background: var(--npa-bg-alt); border: 1px solid var(--npa-line);
  font-size: 14px; line-height: 1.55; color: var(--npa-muted);
}
.npa-results__note .npa-icon { color: var(--npa-teal); flex: 0 0 auto; margin-top: 2px; }
.npa-results__card {
  border: 1px solid var(--npa-line); border-radius: 16px; padding: 28px; background: #fff;
  display: flex; flex-direction: column; gap: 12px; position: sticky; top: 24px;
}
.npa-results__card .npa-formcard__text { margin-bottom: 6px; }
.npa-results__help { margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--npa-muted); }
.npa-results__help a { color: var(--npa-blue); font-weight: 600; }
@media (max-width: 1000px) {
  .npa-results__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .npa-results__card { position: static; }
}

/* Acordeon de instructiuni ------------------------------------------------- */
.npa-acc { border-top: 1px solid var(--npa-line); margin-top: 18px; }
.npa-acc__item { border-bottom: 1px solid var(--npa-line); }
.npa-acc__item summary {
  list-style: none; cursor: pointer; position: relative;
  padding: 18px 44px 18px 0;
  font-family: var(--npa-font-head); font-size: 17px; font-weight: 700; color: var(--npa-navy);
}
.npa-acc__item summary::-webkit-details-marker { display: none; }
.npa-acc__item summary::after {
  content: '+'; position: absolute; right: 4px; top: 50%; transform: translateY(-50%);
  width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  border: 1px solid var(--npa-line); color: var(--npa-teal); font-size: 18px; font-weight: 400;
}
.npa-acc__item[open] summary::after { content: '–'; background: var(--npa-cyan-bg); border-color: var(--npa-cyan-bg); }
.npa-acc__item summary:hover { color: var(--npa-blue); }
.npa-acc__body { padding: 0 0 20px; font-size: 15.5px; }
.npa-acc__body p:last-child { margin-bottom: 0; }

/* Pe paginile Elementor, ".elementor img { height:auto }" ar bate regulile de
   mai sus la specificitate egala; le repetam cu un selector mai puternic. */
.npa-galerie .npa-galerie__grid .npa-galerie__item img { height: 100%; }
.npa-intro2 .npa-intro2__grid .npa-intro2__media img { height: 100%; }
.npa-locatie .npa-locatie__grid .npa-locatie__media img { height: 260px; }

/* Banda de indemn: doua butoane */
.npa-callout__actions { display: flex; flex-wrap: wrap; gap: 10px; flex: 0 0 auto; }

/* Oferte ------------------------------------------------------------------- */
.npa-oferte__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; align-items: stretch; }
.npa-oferta {
  position: relative; display: flex; flex-direction: column; gap: 10px;
  padding: 26px 24px 24px; background: #fff; border: 1px solid var(--npa-line); border-radius: 16px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.npa-oferta:hover { border-color: var(--npa-teal); box-shadow: var(--npa-shadow); }
.npa-oferta--top { border-color: var(--npa-teal); box-shadow: 0 16px 40px rgba(0,166,166,.14); }
.npa-oferta__badge {
  align-self: flex-start; padding: 5px 11px; border-radius: 999px;
  background: var(--npa-teal); color: #fff; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
.npa-oferta__title { margin: 4px 0 0; font-size: 21px; line-height: 1.25; color: var(--npa-navy); }
.npa-oferta__text { margin: 0; font-size: 14.5px; color: var(--npa-text-2); line-height: 1.55; }
.npa-oferta__list { list-style: none; margin: 4px 0 0; padding: 12px 0 0; border-top: 1px solid var(--npa-line-soft); display: flex; flex-direction: column; gap: 6px; }
.npa-oferta__list li { display: grid; grid-template-columns: 14px 1fr; gap: 8px; font-size: 13.5px; color: var(--npa-text-2); }
.npa-oferta__list .npa-icon { color: var(--npa-teal); margin-top: 3px; }
.npa-oferta__price { display: flex; align-items: baseline; gap: 10px; margin-top: auto; padding-top: 10px; }
.npa-oferta__price s { color: var(--npa-muted); font-size: 15px; }
.npa-oferta__price strong { font-family: var(--npa-font-head); font-size: 28px; font-weight: 800; color: var(--npa-blue); line-height: 1; }
.npa-oferta__valid { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 12.5px; color: var(--npa-muted); }
.npa-oferta .npa-btn--block { margin-top: 6px; }

/* Programari ---------------------------------------------------------------- */
.npa-prog { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 36px; align-items: start; }
.npa-prog__form { display: flex; flex-direction: column; gap: 18px; }
.npa-prog__aside { position: sticky; top: 110px; }
.npa-prog__types { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.npa-prog__type {
  position: relative; display: flex; flex-direction: column; gap: 3px; padding: 14px 16px;
  border: 1px solid var(--npa-line); border-radius: 10px; cursor: pointer; transition: border-color .15s ease, background .15s ease;
}
.npa-prog__type input { position: absolute; opacity: 0; width: 0; height: 0; }
.npa-prog__type:hover { border-color: var(--npa-teal); }
.npa-prog__type.is-checked { border-color: var(--npa-teal); background: var(--npa-cyan-bg); box-shadow: inset 0 0 0 1px var(--npa-teal); }
.npa-prog__type-name { font-weight: 700; color: var(--npa-navy); font-size: 15px; }
.npa-prog__type-desc { font-size: 13px; color: var(--npa-muted); line-height: 1.45; }
.npa-prog__when { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.npa-prog__field { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--npa-text-2); }
.npa-prog__field input, .npa-prog__field select {
  height: 50px; padding: 0 14px; border: 1px solid var(--npa-line-strong); border-radius: 10px; font-size: 15px; color: var(--npa-text); background: #fff;
}
.npa-prog__field input:focus, .npa-prog__field select:focus { outline: none; border-color: var(--npa-teal); box-shadow: 0 0 0 3px rgba(0,166,166,.15); }
.npa-prog__hint { margin: 12px 0 0; font-size: 13px; color: var(--npa-muted); }
.npa-prog .npa-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.npa-prog .npa-form__grid .npa-form__wide { grid-column: 1 / -1; }
.npa-prog__submit { margin-top: 12px; }
.npa-center-picker__item--home { border-style: dashed; }
.npa-prog .npa-thanks { margin-top: 0; }

@media (max-width: 900px) {
  .npa-oferte__grid { grid-template-columns: minmax(0, 1fr); }
  .npa-prog { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .npa-prog__aside { position: static; }
  .npa-prog__types, .npa-prog__when, .npa-prog .npa-form__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Blog ---------------------------------------------------------------------- */
.npa-blog__tools { margin-top: 22px; display: flex; flex-direction: column; gap: 14px; }
.npa-blog__search { max-width: 640px; }
.npa-blog__search .npa-search__input { min-width: 0; }
.npa-blog__cats { display: flex; flex-wrap: wrap; gap: 8px; }
.npa-blog__cats .npa-chip span { display: inline-flex; align-items: center; gap: 6px; }
.npa-blog__cats .npa-chip b { font-size: 11px; font-weight: 800; padding: 1px 7px; border-radius: 999px; background: rgba(11,42,74,.08); color: var(--npa-navy); }
.npa-blog__cats .npa-chip.is-active b { background: rgba(255,255,255,.2); color: #fff; }
.npa-blog__list .npa-card--article.is-ascuns, .npa-blog__list .npa-featured.is-ascuns { display: none; }
.npa-blog__cats .npa-chip.is-active span { background: var(--npa-navy); color: #fff; border-color: var(--npa-navy); }
.npa-featured {
  display: grid; grid-template-columns: 1.1fr .9fr; gap: 36px; align-items: center;
  margin-bottom: 36px; padding: 0; background: #fff; border: 1px solid var(--npa-line); border-radius: 18px; overflow: hidden;
}
.npa-featured__media { display: block; min-height: 320px; background: var(--npa-bg-alt); }
.npa-featured__media img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; display: block; }
.npa-featured__placeholder { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 320px; color: var(--npa-teal); }
.npa-featured__body { padding: 32px 36px 32px 0; }
.npa-featured__title { margin: 8px 0 12px; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.2; }
.npa-featured__title a { color: var(--npa-navy); }
.npa-featured__title a:hover { color: var(--npa-blue); }
.npa-featured__excerpt { margin: 0 0 18px; font-size: 16px; line-height: 1.6; color: var(--npa-text-2); }
.npa-featured__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; font-size: 13.5px; color: var(--npa-muted); }
@media (max-width: 900px) {
  .npa-featured { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .npa-featured__body { padding: 22px 22px 26px; }
  .npa-featured__media, .npa-featured__media img { min-height: 220px; }
}

/* Cariere ------------------------------------------------------------------- */
.npa-cariere { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 36px; align-items: start; }
.npa-cariere__aside { position: sticky; top: 110px; }
.npa-jobs { display: flex; flex-direction: column; gap: 14px; margin-bottom: 34px; }
.npa-job { padding: 22px 24px; background: #fff; border: 1px solid var(--npa-line); border-radius: 14px; }
.npa-job:hover { border-color: var(--npa-teal); }
.npa-job__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 18px; margin-bottom: 8px; }
.npa-job__title { margin: 0; font-size: 19px; color: var(--npa-navy); }
.npa-job__meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13px; color: var(--npa-muted); }
.npa-job__meta span { display: inline-flex; align-items: center; gap: 5px; }
.npa-job__text { font-size: 14.5px; color: var(--npa-text-2); line-height: 1.6; margin-bottom: 12px; }
.npa-job__text p { margin: 0 0 8px; }
.npa-cariere__form .npa-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.npa-cariere__form select { height: 50px; padding: 0 14px; border: 1px solid var(--npa-line-strong); border-radius: 10px; font-size: 15px; background: #fff; color: var(--npa-text); }
.npa-file { display: block; margin-bottom: 12px; cursor: pointer; }
.npa-file input { position: absolute; opacity: 0; width: 0; height: 0; }
.npa-file__box {
  display: flex; align-items: center; gap: 14px; padding: 16px 18px;
  border: 2px dashed var(--npa-line-strong); border-radius: 12px; background: var(--npa-bg-alt); color: var(--npa-navy);
  transition: border-color .15s ease, background .15s ease;
}
.npa-file:hover .npa-file__box, .npa-file input:focus + .npa-file__box { border-color: var(--npa-teal); background: var(--npa-cyan-bg); }
.npa-file__box .npa-icon { color: var(--npa-teal); flex: 0 0 auto; }
.npa-file__label { display: flex; flex-direction: column; gap: 2px; font-size: 14.5px; }
.npa-file__label small { font-size: 12.5px; color: var(--npa-muted); }
.npa-file__name { margin-left: auto; font-size: 13px; font-weight: 600; color: var(--npa-teal); text-align: right; word-break: break-all; }
@media (max-width: 900px) {
  .npa-cariere { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .npa-cariere__aside { position: static; }
  .npa-cariere__form .npa-form__grid { grid-template-columns: minmax(0, 1fr); }
}

/* Programare trimisa (multumire) ------------------------------------------- */
.npa-prog-ok { background: var(--npa-cyan-bg); }
.npa-prog-ok__grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px 36px; align-items: start; }
.npa-prog-ok__code {
  grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px;
  padding: 22px 28px; background: var(--npa-navy); color: #fff; border-radius: 16px;
}
.npa-prog-ok__label { font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--npa-cyan); flex: 1 1 100%; }
.npa-prog-ok__cod { font-family: var(--npa-font-head); font-size: clamp(30px, 4vw, 44px); font-weight: 800; letter-spacing: .08em; line-height: 1; }
.npa-prog-ok__code .npa-btn { color: #fff; border-color: rgba(255,255,255,.6); }
.npa-prog-ok__code .npa-btn:hover, .npa-prog-ok__code .npa-btn.is-copiat { background: #fff; color: var(--npa-navy); }
.npa-prog-ok__stare { margin-left: auto; font-size: 13.5px; color: rgba(255,255,255,.8); }
.npa-prog-ok__main { display: flex; flex-direction: column; gap: 18px; }
.npa-prog-ok__dl { display: grid; grid-template-columns: 120px 1fr; gap: 10px 14px; margin: 0 0 18px; font-size: 15px; }
.npa-prog-ok__dl dt { color: var(--npa-muted); }
.npa-prog-ok__dl dd { margin: 0; font-weight: 600; color: var(--npa-navy); }
.npa-prog-ok__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.npa-prog-ok__aside { position: sticky; top: 110px; }
@media (max-width: 900px) {
  .npa-prog-ok__grid { grid-template-columns: minmax(0, 1fr); }
  .npa-prog-ok__aside { position: static; }
  .npa-prog-ok__stare { margin-left: 0; }
}

/* ==========================================================================
   Aspect "document": pagini legale / informative si articole
   ========================================================================== */
.npa-container.npa-prose { margin-left: auto; margin-right: auto; }

.npa-doc__head { padding: 36px 0 30px; background: linear-gradient(180deg, var(--npa-bg-alt) 0%, #fff 100%); border-bottom: 1px solid var(--npa-line); }
.npa-doc__head .npa-breadcrumb { margin-bottom: 16px; }
.npa-doc__head .npa-eyebrow { margin-bottom: 10px; }
.npa-doc__title { font-size: 40px; line-height: 1.12; margin: 0 0 14px; max-width: 900px; }
.npa-doc__meta { display: flex; flex-wrap: wrap; gap: 8px 22px; font-size: 13.5px; color: var(--npa-muted); }
.npa-doc__meta span, .npa-doc__meta time { display: inline-flex; align-items: center; gap: 6px; }
.npa-doc__meta .npa-icon { color: var(--npa-teal); }

/*
 * Atentie: aceasta clasa sta pe acelasi element cu .npa-container. Scurtatura
 * "padding: 40px 0 72px" ii anula si padding-ul lateral, iar pe telefon textul
 * paginilor legale si al articolelor ajungea lipit de marginea ecranului.
 */
.npa-doc__layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 48px; align-items: start; padding-top: 40px; padding-bottom: 72px; }
.npa-doc__layout--articol { grid-template-columns: minmax(0, 1fr) 300px; padding-top: 8px; }
.npa-doc__aside { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 18px; }
.npa-doc__body { min-width: 0; }
.npa-prose--doc { max-width: 780px; margin: 0; font-size: 17px; line-height: 1.75; }
.npa-prose--doc h2 { font-size: 24px; margin: 2em 0 .7em; padding-top: 8px; scroll-margin-top: 110px; color: var(--npa-navy); }
.npa-prose--doc h2:first-child { margin-top: 0; }
.npa-prose--doc h3 { font-size: 19px; margin: 1.6em 0 .5em; scroll-margin-top: 110px; color: var(--npa-navy); }
.npa-prose--doc p { margin: 0 0 1.1em; }
.npa-prose--doc ul, .npa-prose--doc ol { margin: 0 0 1.3em; padding-left: 1.4em; }
.npa-prose--doc li { margin-bottom: .5em; }
.npa-prose--doc li::marker { color: var(--npa-teal); font-weight: 700; }
.npa-prose--doc a { color: var(--npa-blue); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(0, 91, 150, .35); }
.npa-prose--doc a:hover { text-decoration-color: currentColor; }
.npa-prose--doc img { max-width: 100%; height: auto; border-radius: var(--npa-radius-md); }
.npa-prose--doc table { display: block; overflow-x: auto; }
.npa-prose--doc > p:first-child em:only-child { display: inline-block; font-style: normal; font-size: 13px; color: var(--npa-muted); background: var(--npa-bg-alt); border-radius: 999px; padding: 4px 12px; }
.npa-prose--doc .cmplz-cookies-container, .npa-prose--doc .cmplz-manage-consent { margin: 0 0 1.3em; }
.npa-prose--doc .cmplz-manage-consent { display: inline-block; background: var(--npa-blue); color: #fff; border: 0; border-radius: 10px; padding: 12px 20px; font-weight: 700; cursor: pointer; }

/* Cuprins */
.npa-toc { border: 1px solid var(--npa-line); border-radius: var(--npa-radius-md); padding: 18px 18px 14px; background: #fff; }
.npa-toc[hidden] { display: none; }
.npa-toc__title { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--npa-muted); margin-bottom: 10px; }
.npa-toc__list { list-style: none; margin: 0; padding: 0; counter-reset: toc; max-height: calc(100vh - 320px); overflow: auto; }
.npa-toc__list li { margin: 0; }
.npa-toc__list a { display: flex; gap: 10px; padding: 7px 10px; border-radius: 8px; font-size: 13.5px; line-height: 1.4; color: var(--npa-text-2); text-decoration: none; border-left: 2px solid transparent; }
.npa-toc__list a::before { counter-increment: toc; content: counter(toc); flex: 0 0 18px; font-size: 11px; font-weight: 700; color: var(--npa-teal); padding-top: 2px; }
.npa-toc__list li.is-sub a { padding-left: 34px; font-size: 13px; }
.npa-toc__list li.is-sub a::before { content: "–"; counter-increment: none; }
.npa-toc__list a:hover { background: var(--npa-bg-alt); color: var(--npa-navy); }
.npa-toc__list li.is-active > a { color: var(--npa-blue); font-weight: 600; background: var(--npa-cyan-bg); border-left-color: var(--npa-teal); }

/* Carduri in coloana laterala */
.npa-doc__card { border: 1px solid var(--npa-line); border-radius: var(--npa-radius-md); padding: 20px; background: var(--npa-bg-alt); display: flex; flex-direction: column; gap: 8px; }
.npa-doc__card--cta { background: var(--npa-navy); color: var(--npa-on-navy-dim, #BFD3E6); border-color: var(--npa-navy); }
.npa-doc__card--cta .npa-doc__card-title { color: #fff; }
.npa-doc__card--cta .npa-btn:not(.npa-btn--solid) { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.npa-doc__card--cta .npa-btn:not(.npa-btn--solid):hover { background: rgba(255,255,255,.1); }
.npa-doc__card--cta .npa-doc__card-tel { color: #fff; }
.npa-doc__card-title { font-family: var(--npa-font-head); font-weight: 700; font-size: 16px; color: var(--npa-navy); }
.npa-doc__card p { margin: 0 0 4px; font-size: 14px; line-height: 1.55; }
.npa-doc__card > a:not(.npa-btn) { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; color: var(--npa-blue); text-decoration: none; }
.npa-doc__card > a:not(.npa-btn):hover { text-decoration: underline; }
.npa-doc__card .npa-btn { margin-top: 4px; }
.npa-doc__card-tel { justify-content: center; margin-top: 4px; }
.npa-doc__card--links { gap: 2px; }
.npa-doc__card--links a { padding: 6px 0; border-bottom: 1px solid var(--npa-line); color: var(--npa-text-2) !important; font-weight: 500 !important; }
.npa-doc__card--links a:last-child { border-bottom: 0; }
.npa-doc__card--links a.is-current { color: var(--npa-blue) !important; font-weight: 700 !important; }

/* Articol */
.npa-article__head { padding: 36px 0 22px; text-align: center; }
.npa-article__head .npa-breadcrumb { justify-content: center; }
.npa-article__head .npa-eyebrow { display: inline-block; margin-bottom: 12px; }
.npa-article__title { font-size: 42px; line-height: 1.12; margin: 0 auto 14px; max-width: 820px; }
.npa-article__lead { max-width: 720px; margin: 0 auto 16px; }
.npa-article__meta { justify-content: center; align-items: center; font-size: 13.5px; }
.npa-article__meta > * { display: inline-flex; align-items: center; gap: 6px; }
.npa-article__meta .npa-icon { color: var(--npa-teal); }
.npa-article__cover { margin: 8px auto 28px; }
.npa-article__cover img { width: 100%; height: auto; max-height: 460px; object-fit: cover; border-radius: var(--npa-radius-lg); box-shadow: var(--npa-shadow); }
.npa-article .npa-prose--doc { font-size: 17.5px; }
.npa-article .npa-prose--doc > p:first-child { font-size: 19px; color: var(--npa-navy); }
.npa-article__share { display: flex; align-items: center; gap: 8px; margin-top: 22px; font-size: 13.5px; color: var(--npa-muted); }
.npa-article__share span { margin-right: 6px; }
.npa-article__share a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--npa-line-strong); color: var(--npa-navy); transition: all .15s; }
.npa-article__share a:hover { background: var(--npa-blue); border-color: var(--npa-blue); color: #fff; }
.npa-article__more { padding-top: 0; }
.npa-article__more .npa-block__head { margin-bottom: 22px; }

@media (max-width: 1024px) {
  .npa-doc__layout, .npa-doc__layout--articol { grid-template-columns: 1fr; gap: 28px; }
  .npa-doc__aside { position: static; order: -1; }
  .npa-doc__layout--articol .npa-doc__aside { order: 1; }
  .npa-doc__layout--articol .npa-toc { display: none; }
  .npa-toc__list { max-height: none; }
  .npa-doc__title { font-size: 32px; }
  .npa-article__title { font-size: 31px; }
  .npa-prose--doc { font-size: 16.5px; }
}
@media (max-width: 640px) {
  .npa-doc__head { padding: 26px 0 20px; }
  .npa-doc__title { font-size: 27px; }
  .npa-article__title { font-size: 26px; }
  .npa-doc__layout { padding-top: 26px; padding-bottom: 48px; }
  .npa-article__cover img { max-height: 260px; }
}

/* Portaluri parteneri pe pagina de rezultate */
.npa-results__partners { margin: 16px 0 4px; padding-top: 14px; border-top: 1px solid var(--npa-line); display: flex; flex-direction: column; gap: 8px; }
.npa-results__partners-label { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--npa-muted); }

/* Harta si cuprinsul din textele SEO ---------------------------------------- */
.npa-seo-harta { margin: 1.6em 0; }
.npa-seo-harta img { width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--npa-line); display: block; }
.npa-seo-harta figcaption { margin-top: 8px; font-size: 13px; color: var(--npa-muted); }
.npa-cuprins { background: var(--npa-bg-alt); border: 1px solid var(--npa-line); border-radius: 12px; padding: 16px 18px 16px 34px; }
.npa-cuprins li { margin-bottom: .35em; }
.npa-tabel-analize { width: 100%; border-collapse: collapse; margin: 1.2em 0 1.6em; font-size: 15.5px; }
.npa-tabel-analize th, .npa-tabel-analize td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--npa-line); }
.npa-tabel-analize th { background: var(--npa-bg-alt); font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--npa-navy); }
.npa-tabel-analize td:last-child, .npa-tabel-analize th:last-child { text-align: right; white-space: nowrap; font-weight: 700; }

/* Analize decontate de CAS: lista Anexa 17 -------------------------------- */
.npa-tarife-wrap .npa-tarife__intro { max-width: 70ch; margin: 0 0 20px; color: var(--npa-muted); }
.npa-tarife__cauta { position: relative; max-width: 460px; margin: 0 0 18px; }
.npa-tarife__input {
  width: 100%; padding: 13px 16px; font-size: 16px;
  color: var(--npa-text); background: #fff;
  border: 1px solid var(--npa-line-strong); border-radius: 12px;
}
.npa-tarife__input:focus { outline: 2px solid var(--npa-teal); outline-offset: 1px; border-color: var(--npa-teal); }
.npa-tarife__gol { margin: 10px 0 0; color: var(--npa-muted); font-size: 14px; }

.npa-tarife {
  background: #fff; border: 1px solid var(--npa-line); border-radius: 16px;
  overflow: hidden;
}
.npa-tarife table { width: 100%; border-collapse: collapse; font-size: 15px; }
.npa-tarife thead th {
  position: sticky; top: 0; z-index: 2;
  padding: 12px 16px; text-align: left;
  background: var(--npa-navy); color: #fff;
  font-family: var(--npa-font-head); font-size: 13px; font-weight: 700;
  letter-spacing: .02em; text-transform: uppercase;
}
.npa-tarife tbody td { padding: 12px 16px; border-top: 1px solid var(--npa-line-soft); vertical-align: top; }
.npa-tarife tbody tr:hover td { background: var(--npa-bg-tint); }
.npa-tarife__grup th {
  padding: 12px 16px; text-align: left;
  background: var(--npa-cyan-bg); color: var(--npa-blue);
  font-family: var(--npa-font-head); font-size: 14px; font-weight: 700;
  border-top: 1px solid var(--npa-line);
}
.npa-tarife__cod { white-space: nowrap; color: var(--npa-muted-2); font-variant-numeric: tabular-nums; }
.npa-tarife__nume { color: var(--npa-text); }
.npa-tarife__marcaj { margin-left: 6px; color: var(--npa-placeholder); font-size: 12.5px; white-space: nowrap; }
th.npa-tarife__pret, td.npa-tarife__pret { text-align: right; white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }

.npa-tarife__note { margin: 20px 0 0; }
.npa-tarife__note > summary {
  cursor: pointer; padding: 12px 16px;
  background: #fff; border: 1px solid var(--npa-line); border-radius: 12px;
  font-family: var(--npa-font-head); font-weight: 700; color: var(--npa-blue);
}
.npa-tarife__note[open] > summary { border-radius: 12px 12px 0 0; }
.npa-tarife__note dl {
  margin: 0; padding: 18px 20px; font-size: 14.5px; line-height: 1.6;
  background: #fff; border: 1px solid var(--npa-line); border-top: 0; border-radius: 0 0 12px 12px;
}
.npa-tarife__note dt { margin-top: 12px; font-weight: 700; color: var(--npa-blue); }
.npa-tarife__note dt:first-child { margin-top: 0; }
.npa-tarife__note dd { margin: 4px 0 0; color: var(--npa-muted); }
.npa-tarife__sursa { margin: 16px 0 0; font-size: 13.5px; color: var(--npa-muted-2); }

@media (max-width: 760px) {
  .npa-tarife { border: 0; background: none; }
  .npa-tarife table, .npa-tarife tbody, .npa-tarife tr, .npa-tarife td { display: block; width: 100%; }
  .npa-tarife thead { display: none; }
  .npa-tarife__grup, .npa-tarife__grup th { display: block; }
  .npa-tarife__grup th { border-radius: 10px; margin: 18px 0 10px; }
  .npa-tarife tbody tr:not(.npa-tarife__grup) {
    margin-bottom: 10px; padding: 12px 14px;
    background: #fff; border: 1px solid var(--npa-line); border-radius: 12px;
  }
  .npa-tarife tbody td { padding: 2px 0; border: 0; }
  .npa-tarife tbody tr:hover td { background: none; }
  .npa-tarife__cod::before { content: attr(data-eticheta) ": "; }
  .npa-tarife__nume { font-weight: 600; padding-top: 4px !important; }
  td.npa-tarife__pret { text-align: left; padding-top: 6px !important; color: var(--npa-blue); }
  td.npa-tarife__pret::before { content: attr(data-eticheta) ": "; font-weight: 400; color: var(--npa-muted-2); }
}

/* Instructiuni de recoltare: butoane pe tip de proba ---------------------- */
.npa-ghiduri__intro { max-width: 68ch; margin: 0 0 28px; color: var(--npa-muted); }
.npa-ghiduri__grup { margin-bottom: 34px; }
.npa-ghiduri__grup:last-child { margin-bottom: 0; }
.npa-ghiduri__grup-titlu {
  display: flex; align-items: center; gap: 10px; margin: 0 0 14px;
  font-family: var(--npa-font-head); font-size: 17px; font-weight: 700; color: var(--npa-blue);
}
.npa-ghiduri__grup-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: 10px;
  background: var(--npa-cyan-bg); color: var(--npa-teal); flex: 0 0 auto;
}
.npa-ghiduri__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.npa-ghid {
  display: flex; flex-direction: column; gap: 6px;
  padding: 18px 20px; min-width: 0;
  background: #fff; border: 1px solid var(--npa-line); border-radius: 14px;
  text-decoration: none; color: inherit;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.npa-ghid:hover, .npa-ghid:focus-visible {
  border-color: var(--npa-teal); box-shadow: 0 10px 26px rgba(11, 42, 74, .10); transform: translateY(-2px);
}
.npa-ghid__titlu { font-family: var(--npa-font-head); font-weight: 700; font-size: 16px; color: var(--npa-blue); overflow-wrap: anywhere; }
.npa-ghid__text { font-size: 14.5px; line-height: 1.55; color: var(--npa-muted); }
.npa-ghid__cta { display: inline-flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 14px; font-weight: 600; color: var(--npa-teal); }
.npa-ghid:hover .npa-ghid__cta span { transform: translateX(3px); }
.npa-ghid__cta span { transition: transform .15s ease; }
.npa-doc__card-all { margin-top: 6px; font-weight: 600; }
@media (max-width: 600px) {
  .npa-ghiduri__grid { grid-template-columns: 1fr; }
}

/* Film demonstrativ in ghidurile de recoltare */
.npa-video { margin: 22px 0 26px; }
.npa-video__start,
.npa-video__cadru {
	display: block;
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: 14px;
	overflow: hidden;
	background: #0b1220;
}
.npa-video__start { padding: 0; cursor: pointer; }
.npa-video__start img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: .82;
	transition: opacity .18s ease, transform .3s ease;
}
.npa-video__start:hover img,
.npa-video__start:focus-visible img { opacity: 1; transform: scale(1.02); }
.npa-video__play {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	background: var(--npa-blue, #0b5fa5);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .35);
	transition: transform .18s ease;
}
.npa-video__play::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 12px 0 12px 20px;
	border-color: transparent transparent transparent #fff;
	transform: translateX(3px);
}
.npa-video__start:hover .npa-video__play,
.npa-video__start:focus-visible .npa-video__play { transform: scale(1.08); }
.npa-video__titlu {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 34px 16px 14px;
	color: #fff;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.35;
	text-align: left;
	background: linear-gradient(to top, rgba(4, 12, 24, .82), rgba(4, 12, 24, 0));
}
.npa-video figcaption {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--npa-muted, #5a6875);
}
@media (max-width: 560px) {
	.npa-video__play { width: 56px; height: 56px; }
	.npa-video__titlu { font-size: 14px; padding: 28px 13px 12px; }
}

/* ==========================================================================
   Biopsie lichida NeoThetis - componente in stilul temei
   ========================================================================== */
.npa-nt-cifre {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 1px;
	background: var(--npa-line);
	border: 1px solid var(--npa-line);
	border-radius: 14px;
	overflow: hidden;
	margin: 26px 0 30px;
}
.npa-nt-cifra { background: var(--npa-bg-alt); padding: 18px 20px; }
.npa-nt-cifra strong {
	display: block;
	font-family: var(--npa-font-titlu, inherit);
	color: var(--npa-blue);
	font-size: 21px;
	line-height: 1.2;
}
.npa-nt-cifra span { display: block; margin-top: 4px; font-size: 14px; color: var(--npa-muted-2); }

.npa-nt-chipuri {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 12px;
	margin: 22px 0 6px;
}
.npa-nt-chip {
	background: var(--npa-white);
	border: 1px solid var(--npa-line);
	border-left: 4px solid var(--npa-teal);
	border-radius: 10px;
	padding: 13px 15px;
}
.npa-nt-chip strong { display: block; color: var(--npa-text); font-size: 16px; }
.npa-nt-chip span { display: block; margin-top: 2px; font-size: 14px; color: var(--npa-muted-2); }

.npa-nt-pan {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 26px;
	align-items: center;
	background: linear-gradient(135deg, var(--npa-cyan-bg), var(--npa-white));
	border: 1.5px solid var(--npa-teal);
	border-radius: 16px;
	padding: 28px;
	margin: 24px 0 18px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .16s ease, transform .16s ease;
}
a.npa-nt-pan:hover { box-shadow: 0 10px 28px rgba(0, 91, 150, .12); transform: translateY(-2px); }
.npa-nt-pan h3 { margin: 4px 0 10px; font-size: 23px; color: var(--npa-text); }
.npa-nt-pan p { margin: 0 0 14px; }
.npa-nt-eyebrow {
	display: inline-block;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--npa-teal-dark);
}
.npa-nt-etichete { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.npa-nt-etichete span {
	font-size: 12.5px;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--npa-white);
	color: var(--npa-teal-dark);
	border: 1px solid var(--npa-cyan);
}
.npa-nt-mare { text-align: center; }
.npa-nt-mare strong { display: block; font-size: 66px; line-height: 1; font-weight: 800; color: var(--npa-teal); }
.npa-nt-mare span { display: block; margin-top: 4px; font-size: 15px; color: var(--npa-muted-2); }

.npa-nt-grila {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(258px, 1fr));
	gap: 16px;
	margin: 18px 0 8px;
}
.npa-nt-card {
	display: flex;
	flex-direction: column;
	background: var(--npa-white);
	border: 1px solid var(--npa-line);
	border-radius: 12px;
	padding: 20px;
	text-decoration: none;
	color: inherit;
	transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
a.npa-nt-card:hover {
	border-color: var(--npa-teal);
	box-shadow: 0 8px 22px rgba(11, 42, 74, .08);
	transform: translateY(-2px);
}
.npa-nt-card__sus { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.npa-nt-card__sus h3 { margin: 0; font-size: 17px; color: var(--npa-text); }
.npa-nt-gene { white-space: nowrap; font-weight: 700; color: var(--npa-teal-dark); font-size: 15px; }
.npa-nt-lista { flex: 1; margin: 0 0 14px; font-size: 14px; color: var(--npa-muted-2); }
.npa-nt-lista b { color: var(--npa-text-2); font-weight: 600; }
.npa-nt-mai { font-weight: 600; color: var(--npa-blue); font-size: 15px; }
.npa-nt-mai::after { content: " →"; }
a.npa-nt-card:hover .npa-nt-mai, a.npa-nt-pan:hover .npa-nt-mai { color: var(--npa-blue-dark); }

.npa-nt-pasi { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 22px 0 8px; counter-reset: ntpas; }
.npa-nt-pas {
	background: var(--npa-bg-alt);
	border: 1px solid var(--npa-line);
	border-radius: 12px;
	padding: 22px;
}
.npa-nt-pas::before {
	counter-increment: ntpas;
	content: counter(ntpas);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--npa-blue);
	color: #fff;
	font-weight: 700;
	margin-bottom: 12px;
}
.npa-nt-pas h3 { margin: 0 0 6px; font-size: 17px; }
.npa-nt-pas p { margin: 0; font-size: 15px; }

.npa-nt-pregatire { display: grid; grid-template-columns: repeat(auto-fit, minmax(238px, 1fr)); gap: 14px; margin: 22px 0 6px; }
.npa-nt-item { background: var(--npa-white); border: 1px solid var(--npa-line); border-radius: 12px; padding: 18px; }
.npa-nt-item h3 { margin: 0 0 5px; font-size: 16px; }
.npa-nt-item p { margin: 0; font-size: 15px; }

.npa-nt-nota {
	background: #FFF7E8;
	border: 1px solid #F3DDAE;
	border-radius: 10px;
	padding: 13px 17px;
	font-size: 15px;
	color: #6B4500;
}
.npa-nt-nota strong { color: #5A3A00; }

@media (max-width: 860px) {
	.npa-nt-cifre { grid-template-columns: repeat(2, 1fr); }
	.npa-nt-pasi { grid-template-columns: 1fr; }
	.npa-nt-pan { grid-template-columns: 1fr; padding: 22px; }
	.npa-nt-mare { order: -1; text-align: left; }
	.npa-nt-mare strong { font-size: 52px; }
}

/* Butoanele cu documentele de acreditare */
.npa-acred-butoane { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0 6px; }
.npa-acred-butoane .npa-btn { margin: 0; }

/* Butoanele scrise in textul paginilor: nu mostenesc culoarea de link */
.npa-prose a.npa-btn { text-decoration: none; }
.npa-prose a.npa-btn--solid,
.npa-prose a.npa-btn--solid:hover { color: #fff; }
.npa-prose a.npa-btn:not(.npa-btn--solid) { color: var(--npa-blue); }
.npa-prose a.npa-btn:not(.npa-btn--solid):hover { color: var(--npa-blue-dark); }

/* Fotografia de pe pagina de rezultate */
.npa-results__foto { margin: 22px 0 0; }
.npa-results__foto img {
	display: block;
	width: 100%;
	height: clamp(180px, 26vw, 300px);
	object-fit: cover;
	object-position: 50% 45%;
	border-radius: 16px;
}

/* Textul pentru cautari, cu inceputul la vedere si restul pliat --------- */
.npa-seotext { padding-top: 26px; padding-bottom: 26px; }
.npa-seotext__box { border: 1px solid var(--npa-line); border-radius: var(--npa-radius-md); background: #fff; overflow: hidden; }
.npa-seotext__intro { max-width: none; padding: 22px 24px 4px; font-size: 16px; color: var(--npa-muted); }
.npa-seotext__intro > :first-child { margin-top: 0; }
.npa-seotext__intro h2 { font-size: 21px; line-height: 1.25; margin: 0 0 .55em; color: var(--npa-navy); }
.npa-seotext__intro p:last-child { margin-bottom: 0; }
.npa-seotext__btn {
  display: flex; align-items: center; gap: 10px;
  padding: 14px 24px 18px; cursor: pointer; list-style: none;
  font-family: var(--npa-font-head); font-weight: 700; font-size: 15px; line-height: 1.35;
  color: var(--npa-blue);
}
.npa-seotext__btn::-webkit-details-marker { display: none; }
.npa-seotext__btn:hover { color: var(--npa-navy); }
.npa-seotext__btn:focus-visible { outline: 2px solid var(--npa-blue); outline-offset: -2px; }
.npa-seotext__eticheta--deschis { display: none; }
.npa-seotext__pliu[open] .npa-seotext__eticheta--inchis { display: none; }
.npa-seotext__pliu[open] .npa-seotext__eticheta--deschis { display: inline; }
.npa-seotext__sageata {
  flex: 0 0 auto; width: 9px; height: 9px;
  border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px); transition: transform .18s ease;
}
.npa-seotext__pliu[open] .npa-seotext__sageata { transform: rotate(-135deg) translate(-3px, -3px); }
.npa-seotext__corp {
  padding: 2px 24px 24px; max-width: none; font-size: 16px; color: var(--npa-muted);
}
.npa-seotext__corp > :first-child { margin-top: 0; }
.npa-seotext__corp h2 { font-size: 20px; margin: 1.6em 0 .55em; }
.npa-seotext__corp h3 { font-size: 17.5px; margin: 1.5em 0 .45em; }
.npa-seotext__corp figure { margin: 1.4em 0; }
.npa-seotext__corp figure img { width: 100%; height: auto; border-radius: var(--npa-radius-md); }
.npa-seotext__corp figcaption { margin-top: 8px; font-size: 13px; color: var(--npa-muted); }

@media (max-width: 640px) {
  .npa-seotext__intro { padding: 18px 16px 2px; font-size: 15.5px; }
  .npa-seotext__intro h2 { font-size: 19px; }
  .npa-seotext__btn { padding: 12px 16px 16px; font-size: 14.5px; }
  .npa-seotext__corp { padding: 2px 16px 20px; font-size: 15.5px; }
  .npa-seotext__corp h2 { font-size: 18.5px; }
  .npa-seotext__corp h3 { font-size: 16.5px; }
}
