/* Token del design system (→10 §1). L'UNICO file in cui puo' comparire un colore letterale
   (FF07 fallisce se un #rrggbb spunta in un template o in app.css).

   Direzione (2026-09-27, sul riferimento indicato dal committente: il tema Digiglo, TemplateMonster 331590):
   blu notte come fondo, schede appena piu' chiare con angoli di 12px e ombre morbide, un accento corallo per le
   azioni e i segni (barretta sotto i titoli, parola evidenziata, icone in cerchi pieni), un gradiente viola-blu
   per i dettagli decorativi. Nunito per il testo, Open Sans molto nero per i titoli, Geist Mono per dati ed
   etichette. Il tema di BASE e' lo scuro, come il riferimento (deciso dal committente); il chiaro vale quando
   lo si sceglie con lo switch (`data-theme="light"`, ricordato in localStorage).

   Contrasti (WCAG 2.2 AA, misurati): il corallo del riferimento (#fb526a) col bianco sopra fa 3,2:1, sotto il
   4,5:1 del testo normale. Per questo:
     - `--marchio` e' il corallo pieno: logo, barrette, cerchi delle icone, sottolineature (segni grafici ≥3:1);
     - `--accento` e' il corallo per il TESTO (link, voce corrente): #ff6b81 sullo scuro (4,9:1 sulle schede),
       #c92f48 sul chiaro (5,3:1);
     - `--accento-pieno` e' il fondo dei bottoni primari: #d93650 col bianco sopra (4,6:1), in entrambi i temi.

   La semantica del colore e' RISERVATA (→FE4): verde = concluso/ok, ambra = da fare, rosso = critico. Il
   critico ha SEMPRE anche una forma («!» e il bordo), perche' accanto al corallo delle azioni il solo colore
   non basterebbe. Un numero neutro non e' mai verde perche' e' positivo. */

/* Nunito (testo) e Open Sans (titoli), variabili, serviti da noi: sottoinsiemi latin e latin-ext. */
@font-face {
  font-family: "Nunito";
  src: url("/static/fonts/Nunito-latin.woff2") format("woff2");
  font-weight: 200 1000; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                 U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Nunito";
  src: url("/static/fonts/Nunito-latin-ext.woff2") format("woff2");
  font-weight: 200 1000; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
                 U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Open Sans";
  src: url("/static/fonts/OpenSans-latin.woff2") format("woff2");
  font-weight: 300 800; font-style: normal; font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329,
                 U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Open Sans";
  src: url("/static/fonts/OpenSans-latin-ext.woff2") format("woff2");
  font-weight: 300 800; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329,
                 U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Geist Mono";
  src: url("/static/fonts/GeistMono-Variable.woff2") format("woff2");
  font-weight: 100 900; font-style: normal; font-display: swap;
}

/* ---------------------------------------------------------------- tema scuro: la BASE */
:root {
  color-scheme: dark;
  --carta: #19262f;            /* fondo della pagina */
  --fondo-2: #0e171e;          /* piede e fasce alternate */
  --testata: #141f27;          /* barra di navigazione */
  --superficie: #23313c;       /* schede, righe d'elenco */
  --superficie-2: #2f414f;     /* riquadri dentro le schede, passaggio del mouse */
  --campo: #273946;            /* fondo dei campi dei moduli */
  --inchiostro: #ffffff;
  --inchiostro-tenue: #aab7bf;
  --linea: #30434f;
  --linea-forte: #4a6273;
  --accento: #ff6b81;
  --accento-scuro: #ff8a9b;
  --accento-tenue: #3b2230;
  --accento-pieno: #d93650;
  --accento-pieno-sopra: #c02c45;   /* passaggio del mouse sul bottone primario (bianco sopra: 5,2:1) */
  --su-accento: #ffffff;
  --marchio: #fb526a;
  --fondo-foto: #ffffff;       /* dietro le foto del catalogo (fondo bianco come i cataloghi), in tutti i temi */
  --gradiente: linear-gradient(216.56deg, #e250e5 5.32%, #4b50e6 94.32%);
  --vetro: rgba(20, 31, 39, .92);
  --sfondo-eroe: radial-gradient(60% 80% at 15% 20%, rgba(75, 80, 230, .22), transparent 70%),
                 radial-gradient(50% 70% at 90% 90%, rgba(226, 80, 229, .16), transparent 70%),
                 linear-gradient(160deg, #22313d 0%, #19262f 55%, #141f27 100%);
  --evidenzia: linear-gradient(transparent 62%, rgba(251, 82, 106, .9) 62%, rgba(251, 82, 106, .9) 84%, transparent 84%);

  --ok: #3ecf8e;
  --ok-tenue: #11302a;
  --attenzione: #e0b25a;
  --attenzione-tenue: #33291a;
  --critico: #ff7b7b;
  --critico-tenue: #3d1d22;
  --prova: #a7adb7;            /* chip «ambiente di prova»: grigio, mai rosso (→09 C10) */
  /* QR code: moduli scuri su fondo chiaro in TUTTI i temi. Molti lettori non leggono un QR
     invertito, quindi nessun tema lo ridefinisce (e' una scelta, non una dimenticanza). */
  --qr-moduli: #000000;
  --qr-fondo: #ffffff;

  --raggio: 12px;              /* schede, riquadri, tabelle */
  --raggio-m: 8px;             /* voci d'elenco, campi */
  --raggio-s: 6px;             /* bottoni */
  --raggio-xs: 4px;            /* etichette di stato, come i cartellini del riferimento */
  --ombra: 0 3px 16px rgba(0, 0, 0, .22);
  --ombra-sospesa: 0 12px 32px rgba(0, 0, 0, .4);

  --font-testo: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-titoli: "Open Sans", var(--font-testo);
  --font-dati: "Geist Mono", ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;

  --t-xs: 12px; --t-s: 14px; --t-m: 16px; --t-l: 20px;
  --t-xl: 26px; --t-2xl: 42px; --t-3xl: 60px;

  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-6: 24px; --sp-8: 32px; --sp-12: 48px; --sp-16: 72px;

  --transizione: 180ms ease;
}

/* ---------------------------------------------------------------- tema chiaro: su scelta */
:root[data-theme="light"] {
  color-scheme: light;
  --carta: #fbfbfb;
  --fondo-2: #f2f2f4;
  --testata: #ffffff;
  --superficie: #ffffff;
  --superficie-2: #f0f0f2;
  --campo: #ffffff;
  --inchiostro: #1f1f2c;
  --inchiostro-tenue: #5e5d6e;
  --linea: #e3e3e8;
  --linea-forte: #c9c9d3;
  --accento: #c92f48;
  --accento-scuro: #a8243a;
  --accento-tenue: #fde7ea;
  --accento-pieno: #d93650;
  --accento-pieno-sopra: #c02c45;
  --su-accento: #ffffff;
  --marchio: #fb526a;
  --vetro: rgba(255, 255, 255, .94);
  --sfondo-eroe: radial-gradient(60% 80% at 15% 20%, rgba(75, 80, 230, .10), transparent 70%),
                 radial-gradient(50% 70% at 90% 90%, rgba(226, 80, 229, .10), transparent 70%),
                 linear-gradient(160deg, #ffffff 0%, #f6f6f9 100%);
  --evidenzia: linear-gradient(transparent 62%, rgba(251, 82, 106, .35) 62%, rgba(251, 82, 106, .35) 84%, transparent 84%);

  --ok: #1d6b45;
  --ok-tenue: #e2efe6;
  --attenzione: #8a5a00;
  --attenzione-tenue: #f6ead2;
  --critico: #b3261e;
  --critico-tenue: #fbe3e1;
  --prova: #5d6470;
  --ombra: 0 3px 16px rgba(47, 83, 109, .12);
  --ombra-sospesa: 0 12px 32px rgba(47, 83, 109, .18);
}

/* ---------------------------------------------------------------- stampa: nero su bianco, in ogni tema */
@media print {
  :root, :root[data-theme="light"] {
    color-scheme: light;
    --carta: #ffffff; --superficie: #ffffff; --superficie-2: #ffffff; --fondo-2: #ffffff; --campo: #ffffff;
    --inchiostro: #000000; --inchiostro-tenue: #333333; --linea: #999999; --linea-forte: #666666;
    --ombra: none; --ombra-sospesa: none;
  }
}
