/* ApicolAPIA — stil sobru, paletă verde apicol / galben miere discret. */
:root {
  --verde: #2f5d3a;
  --verde-inchis: #244a2e;
  --verde-deschis: #e7f0e9;
  --miere: #e3a72f;
  --miere-deschis: #fbf2db;
  --gri: #4a4a4a;
  --gri-deschis: #f4f4f1;
  --rosu: #b23a32;
  --rosu-deschis: #f7e5e3;
  --verde-ok: #2f7d4f;
  --verde-ok-deschis: #e3f4e9;
  --umbra: 0 1px 3px rgba(0, 0, 0, 0.12);
  --radius: 10px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--gri);
  background: var(--gri-deschis);
  line-height: 1.5;
}

/* Antet */
/* Trei coloane: blocul din stânga (sigla + linkul spre site), titlul în mijloc,
   butonul de cont în dreapta. Coloanele laterale sunt egale (1fr), deci mijlocul
   rămâne centrat pe ecran, iar titlul poate fi oricât de lung fără să se suprapună
   nimic — grila nu lasă elementele să se calce. Înainte, blocurile laterale erau
   poziționate absolut și treceau PESTE titlu când acesta creștea (motorina, care
   are titlul cel mai lung, se suprapunea încă de pe master).
   `position: relative` a fost scos odată cu pozițiile absolute — în antet nu mai
   există niciun descendent poziționat absolut, deci nu mai are ce ancora. */
.antet {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  background: var(--verde);
  color: #fff;
}
/* Sigla firmei + linkul spre site — prima coloană a antetului. */
.acasa-bloc {
  grid-column: 1;
  justify-self: start;
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
.sigla-firma { height: 2rem; width: auto; display: block; }
.link-acasa {
  color: #fff;
  opacity: 0.8;
  font-size: 0.85rem;
  text-decoration: none;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.6);
  white-space: nowrap;
}
.link-acasa:hover,
.link-acasa:focus { opacity: 1; }
/* Coloana din mijloc — explicit, ca titlul să rămână centrat şi pe paginile care
   n-au bloc în stânga sau buton în dreapta (cele legale au doar atât). */
.logo { grid-column: 2; justify-self: center; display: flex; align-items: center; gap: 0.8rem; }
.emblema { font-size: 2.2rem; }
/* Sigla firmei în antetul paginilor care poartă numele firmei (paginile legale). */
.emblema-sigla { height: 2.4rem; width: auto; display: block; }
.antet h1 { margin: 0; font-size: 1.5rem; }
.subtitlu { margin: 0; font-size: 0.85rem; opacity: 0.85; }
.credite-badge {
  background: var(--miere);
  color: #3a2c08;
  padding: 0.5rem 1rem;
  border-radius: 999px;
  font-size: 0.9rem;
}

/* Pași */
.pasi { background: #fff; border-bottom: 1px solid #e2e2dd; }
.pasi ol {
  display: flex;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0.6rem 2rem;
  flex-wrap: wrap;
}
.pasi li {
  font-size: 0.85rem;
  color: #999;
  padding: 0.25rem 0.6rem;
  border-radius: 6px;
}
.pasi li.activ { color: var(--verde); font-weight: 600; background: var(--verde-deschis); }
.pasi li.facut { color: var(--verde-ok); }

/* Layout principal */
main { max-width: 880px; margin: 1.5rem auto; padding: 0 1rem; }
.ecran { display: none; }
.ecran.activ { display: block; animation: fade 0.2s ease; }
@keyframes fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; } }

h2 { color: var(--verde-inchis); }
.ajutor { color: #6b6b6b; font-size: 0.92rem; }
.mic { font-size: 0.8rem; color: #999; }

/* Carduri */
.card {
  background: #fff;
  border: 1px solid #e2e2dd;
  border-radius: var(--radius);
  padding: 1.2rem;
  margin: 1rem 0;
  box-shadow: var(--umbra);
}
fieldset.card { border: 1px solid #e2e2dd; }
fieldset.date-factura {
  grid-column: 1 / -1;
  border: 1px solid #e2e2dd;
  border-radius: 8px;
  padding: 0.6rem 1rem 0.9rem;
  margin: 0.4rem 0 0;
}
fieldset.date-factura legend { font-weight: 600; font-size: 0.9rem; padding: 0 0.35rem; }
fieldset.date-factura label { display: block; margin-top: 0.5rem; }
legend { color: var(--verde); font-weight: 600; padding: 0 0.4rem; }

/* Butoane */
.btn {
  border: none;
  border-radius: 8px;
  padding: 0.6rem 1.2rem;
  font-size: 0.95rem;
  cursor: pointer;
  transition: background 0.15s, opacity 0.15s;
  text-decoration: none;
  display: inline-block;
}
.btn.primar { background: var(--verde); color: #fff; }
.btn.primar:hover { background: var(--verde-inchis); }
.btn.secundar { background: var(--miere-deschis); color: #6a4e10; border: 1px solid var(--miere); }
.btn.secundar:hover { background: #f6e6bf; }
.btn:disabled { opacity: 0.45; cursor: not-allowed; }
.mic-btn { padding: 0.35rem 0.8rem; font-size: 0.85rem; }
.actiuni { margin: 1rem 0; display: flex; gap: 0.8rem; }

/* Dropzone */
.dropzone {
  border: 2px dashed var(--miere);
  border-radius: var(--radius);
  background: var(--miere-deschis);
  text-align: center;
  padding: 2.5rem 1rem;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.dropzone:hover, .dropzone.peste { background: #f6e6bf; border-color: var(--verde); }
.dropzone p { margin: 0.2rem 0; }

/* Listă fișiere */
.lista-fisiere { list-style: none; padding: 0; margin: 1rem 0; }
.lista-fisiere li {
  background: #fff;
  border: 1px solid #e2e2dd;
  border-radius: 8px;
  padding: 0.5rem 0.9rem;
  margin-bottom: 0.4rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9rem;
}
.lista-fisiere .sterge { color: var(--rosu); cursor: pointer; background: none; border: none; font-size: 1.1rem; }

/* Formular grid */
.grid-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.8rem 1.2rem;
}
.grid-form label {
  display: flex;
  flex-direction: column;
  font-size: 0.82rem;
  color: var(--verde-inchis);
  font-weight: 600;
  gap: 0.25rem;
}
.grid-form input, .tabel-linii input {
  border: 1px solid #cfcfca;
  border-radius: 6px;
  padding: 0.45rem 0.6rem;
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--gri);
}
.grid-form input:focus, .tabel-linii input:focus {
  outline: none;
  border-color: var(--verde);
  box-shadow: 0 0 0 2px var(--verde-deschis);
}
/* Câmp cu încredere joasă (gol sau din OCR nesigur) */
input.incredere-joasa {
  border-color: var(--miere);
  background: var(--miere-deschis);
}
/* Câmp de verificat (ex. IBAN care pică MOD-97 — posibil citit greșit) */
input.incredere-verifica {
  border-color: #c0392b;
  background: #fdecea;
}
/* Legendă culori (pastile) deasupra câmpurilor de identificare. */
.legenda-culori .incredere-joasa,
.legenda-culori .incredere-verifica {
  display: inline-block;
  border-radius: 3px;
  vertical-align: middle;
}
.legenda-culori .incredere-joasa {
  border: 1px solid var(--miere);
  background: var(--miere-deschis);
}
.legenda-culori .incredere-verifica {
  border: 1px solid #c0392b;
  background: #fdecea;
}
/* Mesaj ajutător lângă IBAN, vizibil doar când câmpul cere verificare. */
.iban-verifica-msg { display: none; color: #c0392b; margin-left: 0.4rem; }
input.incredere-verifica ~ .iban-verifica-msg { display: inline; }

/* Tabel linii */
.tabel-linii { width: 100%; border-collapse: collapse; margin-bottom: 0.6rem; }
.tabel-linii th, .tabel-linii td {
  text-align: left;
  padding: 0.4rem;
  border-bottom: 1px solid #ececea;
  font-size: 0.88rem;
}
.tabel-linii th { color: var(--verde); }
.tabel-linii input { width: 100%; }

/* Eligibilitate */
.eligibilitate { border-radius: var(--radius); padding: 1rem 1.2rem; margin: 1rem 0; }
.eligibilitate.ok { background: var(--verde-ok-deschis); border: 1px solid var(--verde-ok); }
.eligibilitate.nu { background: var(--rosu-deschis); border: 1px solid var(--rosu); }
.eligibilitate h3 { margin: 0 0 0.4rem; }
.eligibilitate.ok h3 { color: var(--verde-ok); }
.eligibilitate.nu h3 { color: var(--rosu); }
.eligibilitate ul { margin: 0.4rem 0 0; padding-left: 1.2rem; font-size: 0.88rem; }
.eligibilitate .suma { font-size: 1.3rem; font-weight: 700; }

.tabel-linii select {
  width: 100%;
  border: 1px solid #cfcfca;
  border-radius: 6px;
  padding: 0.4rem 0.3rem;
  font-size: 0.82rem;
  background: #fff;
}

/* B3: produse neclasificate (fără intervenție decisă) și linii ignorate */
.linie-neclasificat { background: #fff7e6; }
.linie-neclasificat .l-cod { border-color: #d9822b; }
.linie-ignorata { opacity: .5; text-decoration: line-through; }

/* Câmpuri de context (checkbox aliniat orizontal) */
.grid-form label.ctx-check {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
  grid-column: 1 / -1;
}
.grid-form label.ctx-check input { width: auto; }

/* Banner de dosar (tratament antivarooză) */
.dosar-banner {
  border-radius: var(--radius);
  padding: 0.9rem 1.1rem;
  margin: 1rem 0;
  font-size: 0.92rem;
}
.dosar-banner.rosu {
  background: var(--rosu-deschis);
  border: 1px solid var(--rosu);
  color: var(--rosu);
}
.dosar-banner.atentie {
  background: var(--miere-deschis);
  border: 1px solid var(--miere);
  color: var(--verde-inchis);
}

/* Carduri rezultate per intervenție */
.rezultate { display: grid; gap: 0.7rem; margin: 1rem 0; }
.rez-card { border-radius: var(--radius); padding: 0.7rem 1rem; border: 1px solid #e2e2dd; }
.rez-card.ok { background: var(--verde-ok-deschis); border-color: var(--verde-ok); }
.rez-card.nu { background: var(--rosu-deschis); border-color: var(--rosu); }
.rez-cap { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.rez-titlu { font-weight: 700; color: var(--verde-inchis); }
.rez-suma { font-weight: 700; font-size: 1.05rem; white-space: nowrap; }
.rez-motive, .rez-avert { margin: 0.4rem 0 0; padding-left: 1.2rem; font-size: 0.85rem; }
.rez-motive { color: var(--rosu); }
.rez-avert { color: #6b6b6b; }
.rez-avert .avert-bani {
  font-weight: 600;
  color: #8a4b00;
  background: #fff3e0;
  border-left: 3px solid #d9822b;
  padding: 2px 6px;
}

/* Total general + note globale */
.total-general {
  margin: 1rem 0;
  padding: 0.8rem 1.1rem;
  background: var(--miere-deschis);
  border: 1px solid var(--miere);
  border-radius: var(--radius);
  font-size: 1.05rem;
}
.total-general:empty { display: none; }
.note-globale {
  margin: 1rem 0;
  font-size: 0.85rem;
  color: #6b6b6b;
}
.note-globale ul { margin: 0.3rem 0 0; padding-left: 1.2rem; }

/* Status */
.status { font-size: 0.9rem; margin-top: 0.6rem; min-height: 1.2rem; }
.status.eroare { color: var(--rosu); }
.grid-form input.eroare { border-color: var(--rosu); box-shadow: 0 0 0 2px var(--rosu-deschis); }
.status.lucreaza { color: var(--miere); }
.status.ok { color: var(--verde-ok); }

/* Licență info */
.licenta-info { margin-bottom: 1rem; font-size: 0.95rem; }
.licenta-info .tip { font-weight: 700; color: var(--verde); text-transform: capitalize; }

/* Succes */
.succes-card { text-align: center; }
.succes { color: var(--verde-ok); font-size: 1.15rem; font-weight: 600; }
.succes-card .btn { margin: 0.5rem; }

/* Subsol */
.subsol {
  text-align: center;
  color: #999;
  font-size: 0.8rem;
  padding: 1.5rem;
}

/* Sloturi de încărcare (per tip de document) */
.slot-upload {
  border: 1px solid #e2e2dd;
  border-radius: 8px;
  padding: 0.7rem 0.9rem;
  margin-bottom: 0.7rem;
  background: var(--gri-deschis);
}
.slot-eticheta {
  display: block;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--verde-inchis);
  margin-bottom: 0.4rem;
}
.slot-upload input[type="file"] { font-size: 0.85rem; }
.slot-upload.peste { border-color: var(--verde); background: var(--miere-deschis); }
.slot-hint { margin: 0.2rem 0 0.4rem; color: #8a8a8a; font-style: italic; }

/* Titlu de PARTE (oglindește structura cererii) */
.parte-titlu {
  color: #fff;
  background: var(--verde);
  padding: 0.5rem 0.9rem;
  border-radius: var(--radius);
  font-size: 1.05rem;
  margin: 1.4rem 0 0.6rem;
}

/* Declarații PARTEA III */
.decl {
  display: block;
  margin: 0.45rem 0;
  font-size: 0.9rem;
  line-height: 1.45;
}
.decl input { margin-right: 0.5rem; }

/* Opis PARTEA IV */
.opis-rand { padding: 0.35rem 0; font-size: 0.9rem; border-bottom: 1px solid #f0f0ec; }
.opis-rand:last-child { border-bottom: none; }
.slot-fisiere { list-style: none; padding: 0; margin: 0.5rem 0 0; }
.slot-fisiere li {
  background: #fff;
  border: 1px solid #e2e2dd;
  border-radius: 6px;
  padding: 0.35rem 0.7rem;
  margin-top: 0.3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
}
.slot-fisiere .sterge { color: var(--rosu); cursor: pointer; background: none; border: none; font-size: 1.1rem; }
.oblig { color: var(--rosu); font-style: normal; font-size: 0.78rem; font-weight: 600; }
.radio-inline { display: inline-flex; align-items: center; gap: 0.35rem; margin-right: 1.5rem; font-size: 0.92rem; }

/* Listă „ce lipsește" (blochează generarea) */
.lista-lipsa {
  background: var(--rosu-deschis);
  border: 1px solid var(--rosu);
  border-radius: var(--radius);
  padding: 0.8rem 1.1rem;
  margin: 1rem 0;
  font-size: 0.9rem;
  color: var(--rosu);
}
.lista-lipsa ul { margin: 0.3rem 0 0; padding-left: 1.2rem; }

/* Avertismente neblocante despre completitudine (ex. dată factură necitită) */
.avertismente-completitudine {
  background: var(--miere-deschis);
  border: 1px solid var(--miere);
  border-radius: var(--radius);
  padding: 0.8rem 1.1rem;
  margin: 1rem 0;
  font-size: 0.9rem;
  color: #7a5c10;
}
.avertismente-completitudine ul { margin: 0.3rem 0 0; padding-left: 1.2rem; }

/* Avertisment FERM cross-check identitate (nepotrivire nume factură/apicultor) */
.avertismente-identitate {
  background: var(--rosu-deschis);
  border: 1px solid var(--rosu);
  border-radius: var(--radius);
  padding: 0.8rem 1.1rem;
  margin: 1rem 0;
  font-size: 0.9rem;
  color: var(--rosu);
}
.avertismente-identitate ul { margin: 0.3rem 0 0; padding-left: 1.2rem; }
#confirm-identitate-wrap { margin: 0 0 1rem; }

/* Pași blocați (pe ecranul de descărcare — cererea e finalizată) */
.pasi.blocat li:not(.activ) { cursor: default; opacity: 0.5; }

/* Trântor animat cu pancartă pe ecranul de descărcare */
.succes-layout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.succes-continut { flex: 1 1 260px; }
.trantor-zona { flex: 0 0 auto; }
.trantor {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  animation: plutire 3s ease-in-out infinite;
}
.trantor-svg {
  width: 130px;
  height: 130px;
  display: block;
}
.pancarta {
  background: var(--miere-deschis);
  border: 2px solid var(--miere);
  color: var(--verde-inchis);
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0.35rem 0.75rem;
  border-radius: 8px;
  box-shadow: var(--umbra);
  white-space: nowrap;
}
@keyframes plutire {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}
@media (prefers-reduced-motion: reduce) {
  .trantor { animation: none; }
}
@media (max-width: 560px) {
  .trantor-svg { width: 104px; height: 104px; }
  .pancarta { font-size: 0.82rem; }
}

/* Acțiuni pe ecranul de descărcare */
.descarcare-actiuni {
  display: flex;
  gap: 0.6rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 0.8rem;
}

/* Checkbox-uri legale la checkout */
.checkbox-legal {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  font-size: 0.88rem;
  line-height: 1.5;
  cursor: pointer;
}
.checkbox-legal input[type="checkbox"] {
  margin-top: 0.2rem;
  flex-shrink: 0;
  width: 1rem;
  height: 1rem;
  accent-color: var(--verde);
}
.checkbox-legal a { color: var(--verde); }

/* Subsol cu linkuri legale */
.subsol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem 1.5rem;
}
.subsol-legal { font-size: 0.8rem; }
.subsol-legal a { color: #999; text-decoration: none; }
.subsol-legal a:hover { text-decoration: underline; }

/* Responsive */
@media (max-width: 600px) {
  .grid-form { grid-template-columns: 1fr; }
  .subsol { flex-direction: column; gap: 0.3rem; }
}

/* Popup păreri (ecranul 4) — MODAL central blocant (cerința userului, 2026-07-16):
   văl semi-transparent peste toată pagina; singurele ieșiri sunt 👍 / 👎 / ✕.
   Click pe văl NU închide. Descărcarea a pornit deja înainte de afișare. */
.popup-parere:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 50;
  background: rgba(28, 37, 38, 0.55); /* vălul care blochează pagina */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.popup-parere-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--miere);
  border-radius: var(--radius);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
  padding: 1.6rem 2.6rem 1.6rem 1.6rem;
  max-width: min(440px, calc(100vw - 2rem));
  text-align: center;
  font-size: 1.1rem;
}
.popup-parere-card p { margin: 0 0 1rem; }
/* :not([hidden]) — altfel display:flex (stil de autor) ar bate regula UA
   [hidden]{display:none} și butoanele ar rămâne vizibile după vot. */
.popup-parere-butoane:not([hidden]) { display: flex; gap: 1rem; justify-content: center; }
.popup-parere-butoane .btn { font-size: 1.05rem; padding: 0.6rem 1.4rem; }
.popup-parere-x {
  position: absolute;
  top: 0.4rem;
  right: 0.6rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0.2rem 0.4rem;
  color: var(--gri);
  cursor: pointer;
}
#parere-multumim { margin: 0; color: var(--verde-ok); }

/* ------------------------------------------------------------------------- */
/* CONT (E2) — buton antet + modal auth/„Cererile mele" + invitație descărcare */
/* ------------------------------------------------------------------------- */
/* Buton „Contul meu" — simetric cu link-acasa, în dreapta antetului. */
.btn-cont {
  grid-column: 3;
  justify-self: end;
  background: var(--miere);
  color: #3a2c08;
  border: none;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  font-size: 0.9rem;
  cursor: pointer;
  white-space: nowrap;
}
.btn-cont:hover, .btn-cont:focus { background: #f0b84a; }

/* Modal cont — văl blocant central, ca popup-parere. */
.cont-modal:not([hidden]) {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: rgba(28, 37, 38, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}
.cont-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--miere);
  border-radius: var(--radius);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.35);
  padding: 1.6rem;
  width: min(460px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  overflow-y: auto;
}
.cont-x {
  position: absolute;
  top: 0.4rem;
  right: 0.6rem;
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0.2rem 0.4rem;
  color: var(--gri);
  cursor: pointer;
}
.cont-titlu { margin: 0 0 1rem; font-size: 1.3rem; color: var(--verde); }
.cont-camp { display: block; margin-bottom: 0.8rem; font-size: 0.92rem; }
.cont-camp input {
  display: block;
  width: 100%;
  margin-top: 0.25rem;
  padding: 0.5rem 0.6rem;
  border: 1px solid #cfcfc8;
  border-radius: 6px;
  font-size: 1rem;
}
.cont-actiuni { display: flex; gap: 0.6rem; flex-wrap: wrap; align-items: center; margin-top: 0.4rem; }
.cont-mic { font-size: 0.85rem; color: var(--gri); margin: 0.8rem 0 0; }
.cont-link {
  background: none;
  border: none;
  padding: 0;
  color: var(--verde);
  text-decoration: underline;
  cursor: pointer;
  font-size: inherit;
}
.cont-link-danger { color: var(--rosu); }
.cont-lista { margin: 0 0 1rem; }
.cont-cerere-rand {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.6rem;
  padding: 0.6rem 0;
  border-bottom: 1px solid #ececec;
}
.cont-cerere-info { font-size: 0.9rem; }
.cont-cerere-info .mic { display: block; color: var(--gri); }
.cont-sterge-zona { margin-top: 1.2rem; border-top: 1px solid #ececec; padding-top: 0.9rem; }
.cont-sterge-confirm { margin-top: 0.6rem; }
.cont-sterge-confirm input {
  padding: 0.4rem 0.5rem;
  border: 1px solid #cfcfc8;
  border-radius: 6px;
  font-size: 1rem;
}

/* Invitație cont pe ecranul de descărcare — sobră, „miere deschis". */
.cont-invitatie {
  margin-top: 1rem;
  background: var(--miere-deschis);
  border: 1px solid var(--miere);
  border-radius: var(--radius);
  padding: 1rem 1.2rem;
}
.cont-invitatie h3 { margin: 0 0 0.4rem; color: #6a4e10; font-size: 1.1rem; }
.cont-invitatie p { margin: 0 0 0.5rem; }
.cont-invitatie-beneficii { margin: 0 0 0.9rem; padding-left: 1.2rem; }
.cont-invitatie-beneficii li { margin: 0.15rem 0; }

/* Sub ~860px cele trei coloane devin prea strâmte una lângă alta, aşa că antetul
   trece pe un singur rând pe verticală, centrat. Un singur prag pentru toate trei
   elementele, ca să nu se mai desincronizeze (erau 600px pentru antet şi 640px
   pentru buton). */
@media (max-width: 860px) {
  .antet { grid-template-columns: 1fr; justify-items: center; text-align: center; gap: 0.6rem; }
  .acasa-bloc,
  .logo,
  .btn-cont { grid-column: 1; justify-self: center; }
}

/* Motorină (E5): un `<label class="mot-pf"/"mot-pj" hidden>` din `.grid-form` trebuie
   să rămână ascuns când comutăm PF↔PJ. Regula `.grid-form label { display:flex }` (stil
   de autor) învinge altfel `[hidden]{display:none}` (regula UA, specificitate mai mică) —
   ACEEAȘI capcană rezolvată mai sus pentru `.popup-parere-butoane`. Regula de față e mai
   specifică (`label[hidden]`) și pur ADITIVĂ: poate DOAR ascunde ce e marcat explicit
   `hidden`, deci nu poate dezvălui nimic (fără risc pentru formularele ISA existente). */
.grid-form label[hidden] { display: none; }
