/*
 * Accessibilita' (WCAG 2.2 AA) - base comune, fase 1. Tastiera e struttura, senza colori.
 * Caricato per ULTIMO nei layout defaultNT e login_homepage. Riferimenti WCAG: 2.4.1 salto dei blocchi,
 * 2.4.7 / 2.4.11 / 2.4.13 focus visibile e non coperto, 1.4.1 link non solo a colori, 2.3.3 animazioni.
 * I colori accessibili sono in accessibilita-colori.css: per tornare ai colori del tema basta non caricarlo.
 */
:root {
    --a11y-focus: #1a5fb4;
}

/* 2.4.1 - salto al contenuto: visibile solo quando riceve il focus (primo Tab della pagina) */
.a11y-salta {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 100000;
}
.a11y-salta:focus {
    left: 12px;
    top: 8px;
    width: auto;
    height: auto;
    padding: 10px 16px;
    background: var(--a11y-focus);
    color: #fff !important;
    border-radius: 6px;
    font-weight: 500;
    text-decoration: none;
}

/* 2.4.7 / 2.4.13 - focus da tastiera sempre visibile (anche dove il CSS esistente usa outline: none) */
:focus-visible {
    outline: 3px solid var(--a11y-focus) !important;
    outline-offset: 2px !important;
}
.sidebar-nav .sidebar-link:focus-visible,
.dropdown-item:focus-visible {
    outline-offset: -3px !important;
}
/* contenuto raggiunto con il salto: niente contorno sul contenitore */
[tabindex="-1"]:focus:not(:focus-visible) {
    outline: none !important;
}
/* 2.4.11 - l'elemento con il focus non resta nascosto sotto la barra in basso del telefono */
@media (max-width: 767.98px) {
    html {
        scroll-padding-bottom: 76px;
    }
}

/* link nel contenuto: sottolineati al passaggio e con il focus, cosi' non si distinguono solo dal colore (1.4.1) */
.page-wrapper a:not(.btn):not(.nav-link):not(.sidebar-link):not(.dropdown-item):hover,
.page-wrapper a:not(.btn):not(.nav-link):not(.sidebar-link):not(.dropdown-item):focus-visible {
    text-decoration: underline;
}

/* 2.3.3 - chi ha chiesto meno movimento al sistema operativo */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* testo solo per lettori di schermo */
.a11y-sr {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* fase 3 - tabella dei dati sotto i grafici (Chart.js), aperta su richiesta */
.a11y-dati-grafico {
    margin: 4px 0 10px;
    font-size: 13px;
}
.a11y-dati-grafico > summary {
    cursor: pointer;
    color: var(--a11y-info, #196fc5);
    display: inline-block;
    padding: 2px 0;
}
.a11y-dati-grafico table {
    background: #fff;
    margin-top: 4px;
}
.a11y-dati-grafico th, .a11y-dati-grafico td {
    padding: 3px 8px !important;
}
@media print {
    .a11y-dati-grafico { display: none; }
}
