/* Modul de accesibilitate: butonul, panoul și efectele preferințelor.
   Fișier separat de site.css ca să poată fi citit și modificat de sine stătător. */

/* ------------------------------------------------------------- buton și panou */
.a11y-buton {
  position: fixed; right: 1rem; bottom: 1rem; z-index: 1050;
  display: inline-flex; align-items: center; gap: .5rem;
  min-height: 48px; padding: .6rem .9rem;          /* țintă de atingere confortabilă */
  border: 2px solid #fff; border-radius: 999px;
  background: var(--brand-dark, #174f8d); color: #fff;
  font-weight: 600; font-size: 1rem; line-height: 1;
  box-shadow: 0 .35rem 1rem rgba(10, 15, 25, .3); cursor: pointer;
}
.a11y-buton:hover, .a11y-buton:focus-visible { filter: brightness(1.12); }
.a11y-buton svg { width: 1.5rem; height: 1.5rem; flex: none; }

.a11y-panou {
  position: fixed; right: 1rem; bottom: 5rem; z-index: 1051;
  width: min(22rem, calc(100vw - 2rem));
  max-height: min(34rem, calc(100vh - 7rem)); overflow-y: auto;
  padding: 1rem; border: 2px solid var(--brand-dark, #174f8d); border-radius: .9rem;
  background: #fff; color: #121b27;
  box-shadow: 0 1rem 2.5rem rgba(10, 15, 25, .3);
}
.a11y-panou[hidden] { display: none; }
.a11y-titlu { font-size: 1.05rem; font-weight: 700; margin: 0 0 .75rem; }
.a11y-grup { margin-bottom: .9rem; }
.a11y-grup > .a11y-eticheta { display: block; font-size: .85rem; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em; color: #4a5765; margin-bottom: .35rem; }
.a11y-rand { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; }

.a11y-optiune {
  display: inline-flex; align-items: center; gap: .45rem;
  min-height: 44px; padding: .5rem .75rem;
  border: 1px solid #c3ccd8; border-radius: .55rem;
  background: #fff; color: inherit; font-size: .95rem; cursor: pointer; text-align: left;
}
.a11y-optiune:hover { border-color: var(--brand, #1d5fa8); background: #f4f7fb; }
.a11y-optiune[aria-pressed="true"] {
  background: var(--brand-dark, #174f8d); border-color: var(--brand-dark, #174f8d); color: #fff; }
.a11y-optiune--lat { width: 100%; }
.a11y-nivel { min-width: 3.5rem; text-align: center; font-weight: 700; }
.a11y-stare { font-size: .85rem; color: #4a5765; min-height: 1.2em; margin: .35rem 0 0; }
.a11y-reset { width: 100%; justify-content: center; font-weight: 600; }

/* Conturul de focalizare trebuie să se vadă peste orice temă. */
.a11y-buton:focus-visible, .a11y-optiune:focus-visible {
  outline: 3px solid #ffbf00; outline-offset: 2px; }

/* --------------------------------------------------------- ghidul de citire */
.a11y-ghid {
  position: fixed; left: 0; right: 0; height: 4px; z-index: 1040;
  background: var(--brand, #1d5fa8); opacity: .85; pointer-events: none;
  box-shadow: 0 0 0 100vh rgba(0, 0, 0, .04);
}

/* ============================================================ preferințele */

/* Mărimea textului se schimbă din JS, pe font-size la <html>; restul urmează,
   fiindcă tot site-ul e dimensionat în rem. */

/* Font lizibil: familii cu litere mai distincte și rânduri mai aerisite.
   Nu e OpenDyslexic — acela ar cere un fișier de font extern, iar politica de
   securitate a site-ului nu permite resurse de pe alte domenii. */
html[data-a11y-font-lizibil] body,
html[data-a11y-font-lizibil] .brand-name,
html[data-a11y-font-lizibil] h1, html[data-a11y-font-lizibil] h2,
html[data-a11y-font-lizibil] h3, html[data-a11y-font-lizibil] h4 {
  font-family: Verdana, Tahoma, "DejaVu Sans", sans-serif !important;
}
html[data-a11y-font-lizibil] body { line-height: 1.75; }

/* Spațiere mărită: valorile recomandate de WCAG 1.4.12 (Text Spacing). */
html[data-a11y-spatiere] body {
  letter-spacing: .12em !important;
  word-spacing: .16em !important;
  line-height: 1.8 !important;
}
html[data-a11y-spatiere] p { margin-bottom: 2em !important; }

/* Evidențierea legăturilor: subliniate gros și încadrate, ca să nu depindă de culoare. */
html[data-a11y-linkuri] a {
  text-decoration: underline !important;
  text-decoration-thickness: .14em !important;
  text-underline-offset: .18em !important;
  outline: 1px dashed currentColor; outline-offset: 2px;
}

/* Oprirea animațiilor, pentru cine e sensibil la mișcare. */
html[data-a11y-fara-animatii] *,
html[data-a11y-fara-animatii] *::before,
html[data-a11y-fara-animatii] *::after {
  animation: none !important; transition: none !important; scroll-behavior: auto !important;
}

/* ------------------------------------------------------- contrast ridicat */
/* Negru cu galben: combinația folosită de majoritatea cititoarelor de ecran și
   a site-urilor publice. Alb pe negru dă 21:1, galben pe negru 19,6:1 — peste
   pragul AAA de 7:1, cu marjă. */
html[data-a11y-contrast] { background: #000; }
html[data-a11y-contrast] body,
html[data-a11y-contrast] .site-header,
html[data-a11y-contrast] .footer-panou,
html[data-a11y-contrast] .card,
html[data-a11y-contrast] .a11y-panou,
html[data-a11y-contrast] .hero,
html[data-a11y-contrast] [class*="bg-tone-"],
html[data-a11y-contrast] [class*="tone-"] {
  background: #000 !important; color: #fff !important; background-image: none !important;
}
html[data-a11y-contrast] h1, html[data-a11y-contrast] h2, html[data-a11y-contrast] h3,
html[data-a11y-contrast] h4, html[data-a11y-contrast] h5, html[data-a11y-contrast] p,
html[data-a11y-contrast] li, html[data-a11y-contrast] td, html[data-a11y-contrast] th,
html[data-a11y-contrast] span, html[data-a11y-contrast] small, html[data-a11y-contrast] strong {
  color: #fff !important;
}
html[data-a11y-contrast] a, html[data-a11y-contrast] a * {
  color: #ff0 !important; text-decoration: underline !important;
}
html[data-a11y-contrast] .btn, html[data-a11y-contrast] .a11y-optiune,
html[data-a11y-contrast] .a11y-buton {
  background: #000 !important; color: #ff0 !important; border: 2px solid #ff0 !important;
}
html[data-a11y-contrast] .a11y-optiune[aria-pressed="true"] {
  background: #ff0 !important; color: #000 !important;
}
html[data-a11y-contrast] .card, html[data-a11y-contrast] .a11y-panou,
html[data-a11y-contrast] .footer-panou, html[data-a11y-contrast] .hero-banner-cadru {
  border: 2px solid #fff !important; box-shadow: none !important;
}
/* Textul de pe banner stă peste o fotografie; în contrast ridicat primește fundal opac. */
html[data-a11y-contrast] .hero-banner-text {
  background: rgba(0, 0, 0, .88) !important; color: #fff !important;
}
html[data-a11y-contrast] .hero-banner-motto p { text-shadow: none !important; }
/* Imaginile rămân vizibile, dar pierd din strălucirea care obosește ochiul. */
html[data-a11y-contrast] img { filter: contrast(1.1); }
/* Elemente care își păstrau fundalul deschis: câmpuri, insigne, benzi, ferestre.
   Lista a fost găsită parcurgând pagina și măsurând luminanța fiecărui fundal,
   nu ghicind — altfel rămân insule luminoase care anulează tema. */
html[data-a11y-contrast] input, html[data-a11y-contrast] select,
html[data-a11y-contrast] textarea, html[data-a11y-contrast] .form-control {
  background: #000 !important; color: #fff !important; border: 2px solid #fff !important; }
html[data-a11y-contrast] ::placeholder { color: #cfcfcf !important; opacity: 1; }
html[data-a11y-contrast] .tile-arrow, html[data-a11y-contrast] .badge,
html[data-a11y-contrast] time,
/* site.css are „.card-hover:not(.tile-card) .badge”, adică trei clase; „!important”
   nu ajută împotriva unei specificități mai mari, deci o egalez explicit. */
html[data-a11y-contrast] .card-hover:not(.tile-card) .badge {
  background: #000 !important; color: #ff0 !important; border: 1px solid #ff0 !important; }
html[data-a11y-contrast] .cookie-panou, html[data-a11y-contrast] .announcement,
html[data-a11y-contrast] .popup, html[data-a11y-contrast] .popup-continut,
html[data-a11y-contrast] .submenu, html[data-a11y-contrast] .main-nav {
  background: #000 !important; color: #fff !important; background-image: none !important;
  border: 2px solid #fff !important; }
html[data-a11y-contrast] .cookie-panou a, html[data-a11y-contrast] .announcement a,
html[data-a11y-contrast] .menu-link, html[data-a11y-contrast] .menu-link:hover {
  color: #ff0 !important; }
html[data-a11y-contrast] .popup-fundal { display: none !important; }

html[data-a11y-contrast] .a11y-ghid { background: #ff0; }

/* ---------------------------------------------------------------- telefon */
@media (max-width: 575.98px) {
  .a11y-buton { right: .75rem; bottom: .75rem; padding: .6rem .75rem; }
  .a11y-buton .a11y-buton-text { display: none; }   /* rămâne doar pictograma */
  .a11y-panou { right: .5rem; left: .5rem; width: auto; bottom: 4.5rem; }
}

@media print { .a11y-buton, .a11y-panou, .a11y-ghid { display: none !important; } }
