/* =====================================================================================
   NP15 - grandezza del testo scelta dall'utente (menu del profilo, "Grandezza testo")
   -------------------------------------------------------------------------------------
   Ogni font-size dei fogli NP15 e degli stili delle maschere V2 e' scritto come
   calc(13px * var(--np-testo, 1)): senza scelta vale 1 e nulla cambia.
   La pagina (_Layout) mette su <html> data-np-testo="108", "116" o "125" leggendo la scelta salvata
   nel browser; qui la variabile si accende SOLO dentro i contenitori NP15, cosi' le parti V1
   della stessa pagina (e Energia/SinistriV3, che non usano NP15) restano come sono.
   Cresce solo il testo: spazi, icone fuori dal testo e larghezze restano quelli del layout.
   ===================================================================================== */
html[data-np-testo="108"] :is(.np15, .pol-np15, .pn-mbar, .anag-np15, .anag-np15-modal, .cerca-anag-np15, .note-np15, .estr-np15, .np-tip, .nm, .nm-pal-bg) { --np-testo: 1.08; }
html[data-np-testo="116"] :is(.np15, .pol-np15, .pn-mbar, .anag-np15, .anag-np15-modal, .cerca-anag-np15, .note-np15, .estr-np15, .np-tip, .nm, .nm-pal-bg) { --np-testo: 1.16; }
/* Grandezze intermedie (11/10/2026): valore iniziale scelto dal cliente nel configuratore /AspettoNP15 */
html[data-np-testo="92"] :is(.np15, .pol-np15, .pn-mbar, .anag-np15, .anag-np15-modal, .cerca-anag-np15, .note-np15, .estr-np15, .np-tip, .nm, .nm-pal-bg) { --np-testo: .92; }
html[data-np-testo="96"] :is(.np15, .pol-np15, .pn-mbar, .anag-np15, .anag-np15-modal, .cerca-anag-np15, .note-np15, .estr-np15, .np-tip, .nm, .nm-pal-bg) { --np-testo: .96; }
html[data-np-testo="104"] :is(.np15, .pol-np15, .pn-mbar, .anag-np15, .anag-np15-modal, .cerca-anag-np15, .note-np15, .estr-np15, .np-tip, .nm, .nm-pal-bg) { --np-testo: 1.04; }
/* Quarta grandezza (07/10/2026): "Extra grande" */
html[data-np-testo="125"] :is(.np15, .pol-np15, .pn-mbar, .anag-np15, .anag-np15-modal, .cerca-anag-np15, .note-np15, .estr-np15, .np-tip, .nm, .nm-pal-bg) { --np-testo: 1.25; }

/* ---- carattere scelto dall'utente (07/10/2026) ----
   I fogli NP15 scrivono font-family: var(--np-font, "Figtree", ...): senza scelta resta Figtree.
   La variabile sta su <html> ma la leggono solo le regole NP15, quindi le maschere V1 non cambiano.
   Il file del font lo carica NP15Testo (_Layout) solo quando viene scelto. */
html[data-np-font="inter"] { --np-font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; }
html[data-np-font="sourcesans"] { --np-font: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif; }
html[data-np-font="atkinson"] { --np-font: "Atkinson Hyperlegible", system-ui, -apple-system, "Segoe UI", sans-serif; }
/* Roboto (09/10/2026): lo stesso carattere delle maschere NP14 (body di app.bundle.css) */
html[data-np-font="roboto"] { --np-font: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }

/* Gli altri caratteri dell'elenco (20, AspettoNP15Font) li applica NP15Testo con --np-font sullo stile di <html>. */

/* scelta nel menu del profilo (_DropdownMenu) */
.np-testo-scelta { display: flex; gap: 6px; padding: 0 1.5rem 12px; }
.np-testo-scelta button {
    flex: 1; display: inline-flex; align-items: baseline; justify-content: center; gap: 2px;
    padding: 6px 4px; border: 1px solid #e0e5ee; border-radius: 8px; background: #fff; color: #334155;
    font-weight: 700; line-height: 1; cursor: pointer;
}
.np-testo-scelta button:hover { border-color: var(--xxx-primary, #2563eb); }
.np-testo-scelta button[aria-pressed="true"] {
    border-color: var(--xxx-primary, #2563eb); background: var(--xxx-primary-soft, rgba(37,99,235,.13)); color: var(--xxx-primary, #2563eb);
}
/* scelta del carattere nel menu del profilo */
.np-font-scelta { padding: 0 1.5rem 12px; }
.np-font-scelta select {
    width: 100%; height: 34px; padding: 4px 8px; border: 1px solid #e0e5ee; border-radius: 8px; background: #fff;
    color: #334155; font-size: 13px; font-weight: 600; cursor: pointer;
}
.np-font-scelta select:focus { outline: 0; border-color: var(--xxx-primary, #2563eb); box-shadow: 0 0 0 3px var(--xxx-primary-soft, rgba(37,99,235,.13)); }
.np-font-attuale { margin-top: 5px; font-size: 11.5px; color: #64748b; }
.np-font-attuale b { color: #1d2b53; }
