/* Accessibilità — Skip link, focus visibile, contrasto. */

/* Skip link: visibile solo al tab */
.skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 100000;
    background: #0c4a73;
    color: #ffffff;
    padding: 12px 16px;
    text-decoration: none;
    font-weight: 700;
}
.skip-link:focus,
.skip-link:focus-visible {
    left: 16px;
    top: 16px;
    width: auto;
    height: auto;
    overflow: visible;
    outline: 3px solid #ffd400;
    outline-offset: 2px;
}

/* Outline visibile sempre quando si tabba */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
    outline: 3px solid #197bc1;
    outline-offset: 2px;
}

/* Outline accentuato sul main quando si entra via skip link */
#main-content:focus,
#main-content:focus-visible {
    outline: none;
}

/* Riduzione movimento per chi preferisce */
@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;
    }
}

/* Migliora il contrasto di alcuni elementi noti del tema */
.btn-home,
.dsc,
.s-menu {
    /* sample tweaks — verificare con strumento contrasto. Lasciato per /accessibilita */
}

/* Hide visually but keep for screen readers (Bootstrap 3 ha .sr-only ma lo ridefiniamo a prova di override) */
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}
