/* ===========================================================================
   MODALITA' SCURA - restyling 2026

   COSA C'ERA PRIMA. Settantanove righe di !important tarate sui selettori del
   template vecchio: #contenitore, #testo, #destra, #box-abbonati,
   #box-copertine, .centrale-mobile. Su una pagina 2026 quella roba colpiva
   poco e di traverso - anneriva il body e rendeva bianchi tutti gli <a>, col
   risultato che la testata restava bianca e i link di navigazione sparivano
   perche' erano bianchi su bianco.

   COME FUNZIONA ADESSO. Il foglio 2026 passa dai token 265 volte: --accent 86,
   --text-secondary 55, --border-color 53, --text-primary 41. Ridichiarare il
   :root qui sotto gira da solo la quasi totalita' della pagina, senza un solo
   !important: questo foglio viene caricato DOPO restyling-2026.css, quindi a
   parita' di specificita' vince per posizione.

   Resta un elenco corto di cose che il :root non puo' raggiungere - i fondi
   chiari scritti a mano dentro le regole - ed e' la seconda meta' del file.

   IL NERO E' NERO PIENO. Su schermo OLED il pixel nero e' spento: #000000 vero,
   non il grigio scurissimo che di solito si usa. I grigi esistono solo per
   aree piccole, filetti e testo.

   LE SOGLIE. Ogni colore qui sotto e' stato misurato in rapporto di contrasto
   sul nero, non scelto a occhio. La soglia di riferimento e' 4,5:1 (WCAG AA
   per il testo normale); dove si legge un numero nel commento, quello e' il
   valore calcolato.
   =========================================================================== */

:root {
    /* IL FONDO. Nero pieno. --bg-card e' nero anch'esso: le schede si staccano
       col filetto, non con un fondo piu' chiaro, che e' il modo giusto di
       separare le scatole quando il fondo e' nero vero. */
    --bg-main: #000000;
    --bg-card: #000000;
    /* Le due aree piccole dove un grigio ci sta: il sorvolo e i fondi tenui
       delle pastiglie e dei campi. */
    --bg-hover: #161616;
    --bg-tenue: #121212;

    /* IL TESTO. Non bianco pieno: #ededed fa 16:1 sul nero, piu' che
       sufficiente, e sulle pagine lunghe di questo sito - che sono lunghe -
       affatica meno del bianco a 18,7:1. */
    --text-primary: #ededed;
    /* 7,9:1. Il #444 del chiaro qui sarebbe 1,9:1, cioe' invisibile. */
    --text-secondary: #a8a8a8;

    --border-color: #333333;

    /* IL ROSSO. Resta il rosso del marchio dove fa da FONDO - la barra in alto,
       i bottoni - perche' il bianco sopra ci fa 6,91:1 e non ha nessun motivo
       di cambiare. Cambia solo dove fa da testo: #B80000 sul nero fa 3,04:1 e
       sotto 4,5 non si legge. #E8564A fa 5,23:1 ed e' ancora della stessa
       famiglia, non un rosa. */
    --accent-testo: #E8564A;

    /* Le barre e i bottoni pieni che in chiaro sono neri col testo bianco.
       Qui non possono essere ne' neri (sparirebbero nel fondo) ne' chiari
       (il testo bianco sopra sparirebbe): un grigio scuro, area piccola. */
    --superficie-forte: #2a2a2a;

    /* Le due fasce scure - video e rivista cartacea. In chiaro erano #232323
       per staccarsi dal bianco; qui si staccano dal nero di pochissimo, giusto
       per restare leggibili come fasce. */
    --fondo-scuro: #101010;

    /* ---------------------------------------------------------------
       LA TAVOLOZZA DELLE CATEGORIE.

       Diciotto tinte scelte per il fondo bianco: profonde e sature. Sul nero
       quattordici su diciotto stavano fra 1,6:1 e 3,6:1, cioe' illeggibili.
       Qui sono schiarite tenendo tinta e saturazione, alzando la sola
       luminosita' fino a superare 5:1 - il valore di partenza e quello di
       arrivo sono scritti accanto a ciascuna.

       Le quattro che gia' andavano bene non sono toccate e non compaiono qui:
       --cat-news, --cat-lavoro, --cat-turismo, --cat-cinema.
       --------------------------------------------------------------- */
    --cat-focus: #118d7b;           /* era #0d6d5f   3,4:1 -> 5,1:1 */
    --cat-interviste: #c26100;      /* era #663300   2,0:1 -> 5,0:1 */
    --cat-attualita: #597fb0;       /* era #3d5a80   3,0:1 -> 5,1:1 */
    --cat-mostre: #48849c;          /* era #264653   2,1:1 -> 5,1:1 */
    --cat-editoria: #df329c;        /* era #5f0f40   1,6:1 -> 5,1:1 */
    --cat-mercato: #767b9e;         /* era #4a4e69   2,6:1 -> 5,1:1 */
    --cat-artigianato: #a9714c;     /* era #7f5539   3,3:1 -> 5,2:1 */
    --cat-viaggi: #588961;          /* era #3a5a40   2,7:1 -> 5,2:1 */
    --cat-opinioni: #9b64ca;        /* era #5d2e86   2,2:1 -> 5,1:1 */
    --cat-opere: #748726;           /* era #5c6b1e   3,6:1 -> 5,2:1 */
    --cat-arte-antica: #9e7b00;     /* era #7a5f00   3,5:1 -> 5,3:1 */
    --cat-ottonovecento: #7d72c7;   /* era #4b3f9e   2,5:1 -> 5,1:1 */
    --cat-contemporanea: #e03788;   /* era #a3195b   2,8:1 -> 5,1:1 */
    --cat-libri: #528b28;           /* era #3f6b1f   3,3:1 -> 5,1:1 */
}

/* body porta il fondo scritto a mano in due regole del foglio 2026 (nudo e
   .has-skin): il token da solo non le raggiunge. */
body,
body.has-skin {
    background: var(--bg-main);
    color: var(--text-primary);
}

/* ---------------------------------------------------------------------------
   LE SUPERFICI CHIARE SCRITTE A MANO

   Nel foglio 2026 ci sono 43 fondi scritti direttamente dentro le regole. Una
   ventina sono chiari e vanno girati; gli altri sono scuri per disegno - il
   footer #141414, il nero sotto le immagini delle tessere, la sfumatura
   sull'articolo in evidenza, la lightbox, il pannello di login - e restano
   come sono.

   Si girano qui per selettore e non trasformandoli in token nel foglio chiaro:
   cosi' la modalita' chiara, che funziona, non viene toccata affatto.
   --------------------------------------------------------------------------- */

.main-header,
.news-nav,
.news-nav .submenu,
.header-search,
.quaderni-widget,
.newsletter-sidebar-box,
.search-exhibitions-widget,
.art-autore,
.art-newsletter,
.chi-autore,
.chi-ritratto-vuoto,
.pub-contatti,
.con-segnaposto,
.white-popup,
.promo-overlay {
    background: var(--bg-main);
    border-color: var(--border-color);
}

/* I riquadri che in chiaro si staccavano per via del fondo grigino: sul nero
   il fondo non puo' staccarli, quindi li stacca il filetto. */
.quaderni-widget,
.newsletter-sidebar-box,
.search-exhibitions-widget,
.art-autore,
.art-newsletter,
.chi-autore,
.pub-contatti {
    border: 1px solid var(--border-color);
}

/* LA RETE SUI CONTROLLI DI MODULO.

   Sta prima delle regole mirate ed e' volutamente a specificita' bassa (0,1,1):
   qualunque regola scritta con una classe o un id la batte, quindi i campi
   bianchi voluti - quelli dentro #login-form, che vale (1,1,1) - restano
   bianchi. Serve a prendere i campi di cui NESSUNO ha dichiarato il fondo, che
   non si trovano leggendo il foglio perche' nel foglio non ci sono: un
   <textarea> senza fondo dichiarato non e' trasparente, e' BIANCO, perche'
   bianco e' il valore predefinito del browser per i controlli di modulo.
   E' quello che e' successo alla casella dei commenti:
   .art-form-commento textarea dichiara filetto e carattere e basta, e in scuro
   restava una scatola bianca in mezzo al nero. Il foglio vecchio la vestiva a
   mano come #commento, e riscrivendolo l'avevo persa.

   Grigio scuro vero e non quasi-nero: la casella dove si scrive deve vedersi
   come scatola. #242424 col testo #ededed sopra fa 13,26:1. */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
textarea,
select {
    background: #242424;
    color: var(--text-primary);
    border-color: var(--border-color);
}

/* I CAMPI CHE LA RETE NON BASTA A PRENDERE.

   La rete vale (0,1,1), quindi ogni regola del foglio chiaro che dia un fondo
   bianco con specificita' superiore continua a vincere. Cercate tutte, sono
   queste - non si scoprono una alla volta guardando la pagina:

     (0,2,1)  .header-search input[type="text"]      #fff
     (0,2,0)  .art-form-commento .input-stile        #ffffff
     (0,1,0)  .nl-input                              #ffffff   <- pari, vince chi viene dopo
     (1,1,1)  #login-form input[type=text|email|password]       <- bianchi VOLUTI, non si toccano

   Le prime due si ripetono qui con la stessa specificita' che hanno di la',
   cosi' vincono per posizione. Le terze no: #login-form e' un pannello scuro
   coi campi chiari per disegno, e scurirli lo peggiorerebbe. */
.header-search input[type="text"],
.art-form-commento .input-stile,
.nl-input,
.input-stile {
    background: #242424;
    color: var(--text-primary);
    border-color: var(--border-color);
}

/* ---------------------------------------------------------------------------
   I TESTI SCRITTI A MANO

   Sei dichiarazioni di colore cablate nel foglio 2026 che sul nero cadono fra
   1:1 e 3,7:1. Gli altri grigi cablati - .video-occhiello, .rivista-occhiello,
   .copertina-numero, .footer-bottom, .app-downloads p - NON sono qui apposta:
   stanno gia' su fondo scuro anche in chiaro, e girarli li romperebbe.
   --------------------------------------------------------------------------- */

/* nero su nero: 1:1 */
.newsletter-sidebar-box h4 {
    color: var(--text-primary);
}

/* #333 sul nero: 1,66:1 - le voci del menu di navigazione */
.nav-links-news a {
    color: var(--text-primary);
}

/* #555 sul nero: 2,82:1 */
.newsletter-sidebar-box p {
    color: var(--text-secondary);
}

/* #666 sul nero: 3,66:1 */
.form-group-news label {
    color: var(--text-secondary);
}

.header-search input[type="text"]::placeholder,
.nl-input::placeholder {
    color: var(--text-secondary);
}

/* ---------------------------------------------------------------------------
   I CASI PARTICOLARI
   --------------------------------------------------------------------------- */

/* LE ICONE DELLA TOOLBAR ARTICOLO E QUELLE DELLE CARD.

   print.svg e share.svg hanno i <path> senza nessun fill dichiarato, e il fill
   predefinito di SVG e' il NERO: su pagina nera sparivano. Stessa trappola dei
   controlli di modulo - non si trova cercando il nero nel foglio, perche' nel
   foglio non c'e'.

   Si vedeva solo il salvataggio, e il motivo e' istruttivo: book.svg dichiara
   stroke:#706F6F, un grigio medio che regge su bianco come su nero. Le altre
   non dichiarano niente.

   brightness(0) invert(1) le porta tutte al bianco qualunque sia il colore di
   partenza - nero, grigio o quel che e' - esattamente come fa gia'
   .top-icona img nella barra rossa. */
.art-strumento img,
.card-action img {
    filter: brightness(0) invert(1);
}

/* Il marchio Instagram accanto alla firma: instagram.svg dichiara fill:#111111,
   cioe' quasi nero, e sul fondo nero sparirebbe. Qui si inverte, al contrario
   delle icone dell'area personale qui sotto, che sono gia' bianche. */
.art-ig img {
    filter: brightness(0) invert(1);
}

/* LE DIECI ICONE DELL'AREA PERSONALE. Qui non si inverte: si toglie il filtro.
   I file sono NATIVAMENTE BIANCHI - fill="white" o stroke="#FFFFFF", perche'
   il pannello di quell'area era scuro - e nel foglio chiaro brightness(0) li
   porta al nero del testo. Su fondo nero quel filtro li lascia neri su nero.
   filter: none li riporta al bianco di partenza, che e' esattamente quello che
   serve: nessuna inversione, nessun file nuovo. */
.acc-icona {
    filter: none;
}

/* La campanella della riga del logo. Il file e' nero e non dichiara nessun
   fill, come i due della barra rossa: sulla riga diventata nera sparirebbe.
   Stesso filtro che .top-icona img usa gia' nella barra.
   Il pallino del contatore invece non si tocca: rosso col bianco sopra fa
   6,91:1 ed e' leggibile uguale sul nero. */
.account-notifiche img {
    filter: brightness(0) invert(1);
}

/* Il bottone del riquadro "cerca mostre" e' #000 con border: none: in chiaro e'
   un rettangolo nero ben visibile, su una pagina nera resta solo il testo
   bianco che galleggia. Stessa superficie degli altri bottoni pieni; l'hover
   rosso che aveva continua a funzionare. */
.search-exhibitions-widget button {
    background: var(--superficie-forte);
}

/* La pastiglia della categoria sopra le fotografie e' un rettangolo BIANCO col
   testo del colore della categoria. Su una pagina nera e' una macchia che
   urla, e per di piu' le tinte schiarite qui sopra, nate per il nero, sul
   bianco scendono sotto soglia. Diventa nera col filetto del proprio colore. */
.tag-exclusive {
    background: rgba(0, 0, 0, 0.82);
    border: 1px solid currentColor;
    /* Nel foglio chiaro l'etichetta ha padding: 0, e non per distrazione: senza
       fondo i 6px la rientravano rispetto al titolo sottostante e la colonna
       non era piu' incolonnata. Qui il fondo e il filetto ci sono, quindi il
       testo toccherebbe i bordi e un po' di respiro serve. Costa quei 4px di
       disallineamento col titolo, che e' il prezzo di avere la scatola. */
    padding-left: 4px;
    padding-right: 4px;
}

/* Le frecce dello sfogliatore hanno il fondo bianco al 95% scritto a mano: il
   testo, che segue --text-primary, li' sopra diventerebbe chiaro su chiaro. */
.copertine-freccia {
    background: rgba(20, 20, 20, 0.95);
    color: var(--text-primary);
}

/* .copertina-sfoglia e tutto #login-form NON sono qui apposta: sono superfici
   chiare volute, col rosso del marchio sopra, e in scuro restano tali e quali.
   Toccarle vorrebbe dire peggiorarle. */
