/* Accessibilità WCAG 2.1 AA — foglio caricato dopo il tema per garantire priorità */

.skip-link {
    position: absolute;
    top: -40px;
    left: 0;
    background: #000;
    color: #fff;
    padding: 8px 16px;
    z-index: 10000;
    text-decoration: none;
}

.skip-link:focus {
    top: 0;
}

/* Sostituisce gli "outline: none" del tema con un focus visibile e conforme al contrasto minimo 3:1 */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #005fcc !important;
    outline-offset: 2px !important;
}

/* ============================================================
   Contrasto minimo WCAG 2.1 AA (4.5:1 per testo normale).
   Il tema usa diffusamente grigi troppo chiari (#777/#999) su
   sfondo bianco per label, small, testo dei box informativi e
   il pulsante "Rifiuta non necessari" del banner cookie.
   Qui rinforziamo il colore senza toccare i file del tema.
   ============================================================ */
.text-muted,
label,
small,
.card-body p,
.card-body h3,
.card-body h4,
.card-body h5,
.widget-title,
#cookieNotice p,
#cookieNotice ul {
    color: #595959 !important;
}

#cookieNotice .btn-wrap button.btn-secondary {
    background-color: #5a6268 !important;
    color: #ffffff !important;
}

html.dark .text-muted,
html.dark label,
html.dark small,
html.dark .card-body p,
html.dark .card-body h3,
html.dark .card-body h4,
html.dark .card-body h5,
html.dark .widget-title {
    color: #c9c9c9 !important;
}
