/*
 * accessibilita.css - Override di accessibilita' (WCAG 2.2 AA).
 * Focus visibile, contrasti componenti LearnDash, badge SOFIA accessibile.
 * Riferimento: explora-kb/00-inquadramento/accessibilita.md,
 * explora-kb/03-wordpress/learndash.md.
 */

/* Focus sempre visibile su tutti i controlli interattivi (SC 2.4.7):
   regola unica in base.css (":focus", con !important - serve per
   battere gli outline:0 di Kadence). Non duplicarla qui senza !important:
   una regola senza !important non vince mai su una con !important, a
   prescindere da specificita'/ordine di caricamento - sarebbe codice morto
   che sembra un fix ma non fa nulla. */

/* Target interattivi minimi 24x24 (SC 2.5.8); consigliato >= 44px. */
.learndash-wrapper a.ld-button,
.learndash-wrapper button {
  min-height: 44px;
}

/* Badge di stato "Presente su SOFIA" (L1-F-08).
   Informazione veicolata dal TESTO (SC 1.4.1), non dal solo colore.
   Testo bianco su blu brand (--color-r #112062) = ~13:1 (AAA), uniforme
   alla pastiglia SOFIA della card. Il riempimento scuro su bianco soddisfa
   il contrasto non-testuale del componente (SC 1.4.11). */
.explora-badge {
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.75rem;
  line-height: 1.2;
  letter-spacing: 0.02em;
  padding: 0.28em 0.6em;
  border-radius: 999px;
  white-space: nowrap;
}

.explora-badge--sofia {
  background: var(--color-r);
  color: var(--white);
  border: 1px solid var(--color-r);
}

/* .corso-card-sofia / .explora-sofia-box / .explora-sofia-dates / .explora-sofia-lbl
   sono definite in base.css (card archivio + enroll-card pagina corso). */

/* Barra di avanzamento accessibile (role=progressbar): la percentuale
   non deve dipendere dal solo colore. */
.progress-track[role="progressbar"] {
  background: var(--gray-200);
}
.progress-fill {
  background: var(--explora-orange-dark);
}

/* Banner cookie (CookieYes): colori di default del plugin non conformi
   (SC 1.4.3). "Impostazioni dei cookie" #333 su nero ~1.66:1; "Accetto"
   bianco su verde #61a229 ~3.13:1. Sostituiti con le coppie brand gia'
   verificate: nero pieno / bianco (~19:1) e arancio scuro #c44a20 / bianco
   (~4.83:1, vedi base.css e archivio corsi). */
.cky-btn-customize {
  background: var(--explora-black) !important;
  color: var(--white) !important;
  border-color: var(--explora-black) !important;
}
.cky-btn-accept {
  background: var(--explora-orange-dark) !important;
  color: var(--white) !important;
  border-color: var(--explora-orange-dark) !important;
}
/* "Salva le mie preferenze" (pannello dettagli, in fondo): stesso bug di
   colore di .cky-btn-customize prima del fix sopra - il plugin genera uno
   style="color:#333333;background-color:#000" in linea (verificato nel
   sorgente della pagina), quasi illeggibile (~1.66:1). Non e' un file di
   plugin da patchare: e' CSS di configurazione iniettato dal plugin ad ogni
   caricamento (nessun file statico esiste). L'override vince perche' e' un
   attributo style="" SENZA !important - una regola con !important in un
   foglio lo batte comunque (stesso motivo per cui .cky-btn-customize/-accept
   sopra funzionano gia', verificato nel browser). */
.cky-btn-preferences {
  background: var(--explora-black) !important;
  color: var(--white) !important;
  border-color: var(--explora-black) !important;
}

/* Interruttori delle categorie di cookie (SC 1.4.11, contrasto non testuale):
   il plugin disegna la pista OFF in #d0d5d2 su pannello bianco = 1.49:1,
   ben sotto il 3:1 minimo per un componente UI - il cerchietto e' quasi
   invisibile sopra la pista. Grigio scuro sempre >=3:1 sia OFF che ON
   (arancio brand gia' verificato altrove) contro bianco e contro il
   cerchietto bianco dell'interruttore. */
.cky-switch input[type="checkbox"] {
  background: #6b6f6d !important;
}
.cky-switch input[type="checkbox"]:checked {
  background: var(--explora-orange-dark) !important;
}

/* Focus visibile sui controlli del banner CookieYes (SC 2.4.7 / 1.4.11):
   il plugin carica un proprio CSS dopo il tema e puo' azzerare l'outline con
   una regola di pari o superiore importanza - la ":focus" globale di
   base.css perde la cascata. Selettore per attributo (non i soli nomi di
   classe noti oggi) cosi' regge anche se CookieYes aggiunge/rinomina bottoni
   in un aggiornamento. Stesso arancio/spessore/offset del resto del sito. */
[class*="cky-"]:focus {
  outline: 3px solid var(--explora-orange) !important;
  outline-offset: 2px !important;
}

/* Riduzione del movimento: nessuna animazione per chi la disabilita. */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
