/*
 * Tema epc-default — token CSS (F3.1c).
 *
 * Contrasto verificato con la formula WCAG (luminanza relativa, sRGB linearizzato):
 * contrast = (L_chiaro + 0.05) / (L_scuro + 0.05). Soglie: 4.5:1 testo normale (1.4.3), 3:1
 * testo grande/componenti UI e confini funzionali come i bordi degli input (1.4.11 Non-text
 * Contrast, §11 punto 2). Rapporti calcolati per le coppie usate in questo tema, riverificati
 * a macchina in `AccessibilitaContrastoTests.cs` (F3.10a) - non solo a mano qui:
 *
 * Testo (soglia 4.5:1):
 *   --epc-color-text su --epc-color-bg           16.56:1
 *   --epc-color-text-muted su --epc-color-bg      7.56:1
 *   --epc-color-primary su --epc-color-bg         6.90:1  (anche testo bianco su primary: 6.90:1)
 *   --epc-color-success-text su --epc-color-success-bg   6.99:1
 *   --epc-color-warning-text su --epc-color-warning-bg   7.77:1
 *   --epc-color-error-text su --epc-color-error-bg       7.92:1
 *   --epc-color-info-text su --epc-color-info-bg         10.26:1
 *
 * Componenti UI / confini non testuali (soglia 3:1):
 *   --epc-color-border su --epc-color-bg          4.83:1
 *   --epc-color-focus su --epc-color-bg           6.90:1
 *   --epc-color-success-border su --epc-color-success-bg  4.56:1
 *   --epc-color-warning-border su --epc-color-warning-bg  4.55:1
 *   --epc-color-error-border su --epc-color-error-bg      4.92:1
 *   --epc-color-info-border su --epc-color-info-bg        5.91:1
 *
 * Tutte superano la propria soglia. Se cambi un colore, ricalcola prima di committare (o lascia
 * fare al test, che calcola davvero e non si fida di un commento).
 *
 * CORRETTO IL 19/08/2026 (F3.10a): --epc-color-border era #d1d5db, 1.47:1 su
 * --epc-color-bg - sotto soglia 1.4.11, mai verificato perché il commento originale (F3.1c)
 * copriva solo il testo, non i confini dei componenti. Il bordo di 2px di `.field input`
 * (components.css) era l'unico segnale visivo del confine del campo sullo stesso sfondo
 * bianco della pagina: un utente ipovedente poteva non distinguere dove inizia/finisce un
 * campo di form. Sostituito con un grigio più scuro (#6b7280), margine ampio sopra 3:1 anche
 * su --epc-color-surface (4.58:1), non solo appena sopra soglia.
 *
 * AGGIORNATO IL 25/08/2026: colore primario allineato al brand epcsafety.it (era #0b5fa5,
 * blu generico non derivato da nessun brand reale). --epc-color-primary/-hover/-focus ora sul
 * teal del sito madre (#00627d); --epc-color-info-* (che riusa da sempre lo stesso hue del
 * primario, vedi sotto) ricalcolato di conseguenza. Ratio verificati sopra, non solo a mano:
 * anche qui il test è la fonte di verità, non questo commento.
 *
 * Breakpoint (valori letterali nelle media query: i custom property non funzionano lì dentro):
 *   sm 600px, md 900px, lg 1200px.
 *
 * Temi selezionabili da configurazione (QuestionariPortal:Theme, §1): questo file scopa i
 * token sotto [data-theme="epc-default"] così un tema alternativo può convivere con un
 * proprio file caricato in base allo stesso valore di configurazione.
 */

[data-theme="epc-default"] {
  /* Colore */
  --epc-color-bg: #ffffff;
  --epc-color-surface: #f7f9fb;
  --epc-color-text: #1a1f26;
  --epc-color-text-muted: #4b5563;
  --epc-color-border: #6b7280;

  --epc-color-primary: #00627d;
  --epc-color-primary-hover: #004f65;
  --epc-color-focus: #00627d;

  --epc-color-success-text: #1b5e20;
  --epc-color-success-bg: #e8f5e9;
  --epc-color-success-border: #2e7d32;

  --epc-color-warning-text: #6b4400;
  --epc-color-warning-bg: #fff3d6;
  --epc-color-warning-border: #b45309;

  --epc-color-error-text: #8a1f11;
  --epc-color-error-bg: #fdeae7;
  --epc-color-error-border: #c4291b;

  --epc-color-info-text: #003c4d;
  --epc-color-info-bg: #e6eff2;
  --epc-color-info-border: #00627d;

  /* Spaziatura */
  --epc-space-1: 0.25rem;
  --epc-space-2: 0.5rem;
  --epc-space-3: 0.75rem;
  --epc-space-4: 1rem;
  --epc-space-5: 1.5rem;
  --epc-space-6: 2rem;
  --epc-space-7: 3rem;

  /* Forma */
  --epc-radius-sm: 4px;
  --epc-radius-md: 8px;
  --epc-radius-lg: 16px;
  --epc-radius-pill: 999px;
  --epc-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.08);
  --epc-shadow-md: 0 4px 12px rgba(15, 23, 42, 0.12);
  --epc-shadow-lg: 0 10px 28px rgba(15, 23, 42, 0.16);

  /* Tipografia */
  --epc-font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  /* Titoli e bottoni: stesso trattamento del sito madre epcsafety.it. Self-hosted in
     wwwroot/fonts (@font-face in base.css) - niente <link> a Google Fonts, la CSP del
     portale è "font-src 'self'" apposta (SecurityHeadersMiddleware.cs). Fallback sullo
     stack di sistema se il font non arriva. */
  --epc-font-family-display: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --epc-font-size-sm: 0.875rem;
  --epc-font-size-base: 1rem;
  --epc-font-size-lg: 1.125rem;
  --epc-font-size-xl: 1.5rem;
  --epc-font-size-2xl: 2rem;
  --epc-line-height: 1.5;

  /* Target size: 24px è il minimo WCAG 2.2 AA (2.5.8); 44px è la scelta mobile-first di
     questo tema, con margine sopra il minimo. */
  --epc-target-size: 44px;

  --epc-transition: 150ms ease;
}
