/*
 * Correzioni di accessibilità (WCAG 2.1 AA).
 */

/* I pannelli laterali chiusi restano fuori schermo: vanno esclusi da focus e lettori di schermo (2.4.3, 2.4.7). */
.cbp-spmenu {
    visibility: hidden;
    transition: all 0.2s ease-out, visibility 0s linear 0.2s;
}

.cbp-spmenu.menu-open {
    visibility: visible;
    transition: all 0.2s ease-out, visibility 0s linear 0s;
}

/* Testi lunghi (URL, nomi di file) devono andare a capo invece di causare scorrimento orizzontale (1.4.10). */
#main-container a,
#main-container .badge {
    overflow-wrap: anywhere;
}

#main-container .badge {
    white-space: normal;
    max-width: 100%;
    text-align: left;
}

#main-container h1,
#main-container h2,
#main-container h3,
#main-container h4,
#main-container p,
#main-container li {
    overflow-wrap: break-word;
}

/* Card dei documenti: il contenuto testuale deve potersi restringere e andare a capo. */
#main-container .card-icon .card-body,
#main-container .card-icon-content {
    min-width: 0;
}

#main-container .card-icon-content p,
#main-container .card-icon-content small,
#main-container .card-icon-content strong {
    overflow-wrap: anywhere;
}

/* Tabelle inserite nei contenuti: scorrono dentro il proprio riquadro, non l'intera pagina. */
#main-container .article-wrapper table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}

/* Link del footer più facili da toccare su schermi piccoli. */
@media (max-width: 991.98px) {
    .footer-list ul li a {
        display: inline-block;
        padding: 12px 0;
    }
}

/* Pallini del carosello: 24px tra i centri, per la dimensione minima dei target (WCAG 2.2, 2.5.8). */
.splide .splide__pagination .splide__pagination__page {
    margin-right: 6px;
    margin-left: 6px;
}

/* Segnaposto della mappa con il focus sempre in primo piano (WCAG 2.2, 2.4.11). */
.leaflet-marker-icon:focus,
.leaflet-marker-icon:focus-visible {
    z-index: 10000 !important;
}

/* Link nei contatti dei luoghi: altezza minima 24px (WCAG 2.2, 2.5.8). */
.location-list .location-content a {
    display: inline-block;
    min-height: 24px;
    line-height: 24px;
}

/* L'elemento con il focus non deve finire sotto l'header fisso (WCAG 2.2, 2.4.11). */
html {
    scroll-padding-top: 160px;
}

/* Lente della finestra di ricerca e link delle ricerche frequenti: almeno 24px (WCAG 2.2, 2.5.8). */
#search-modal .search-form .search-btn {
    min-width: 24px;
    min-height: 24px;
}

.searches-list-wrapper .searches-list a {
    display: inline-block;
    min-height: 24px;
}

/* Testo preformattato nei contenuti: va a capo invece di causare scorrimento orizzontale (1.4.10). */
#main-container pre,
#main-container code {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

/* Login del personale: etichette dei campi visibili, non solo segnaposto (1.3.1, 3.3.2). */
#access-modal .access-login-form .form-group label {
    display: block;
    position: static;
    padding: 0;
    margin-bottom: 4px;
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    white-space: normal;
}

/* Gli elementi del footer raggiunti con Tab non devono finire sotto il pulsante "Preferenze cookie" (2.4.11). */
html {
    scroll-padding-bottom: 80px;
}

.footer-wrapper {
    padding-bottom: 80px;
}

/* Interruttori delle categorie cookie: almeno 24px di altezza (WCAG 2.2, 2.5.8). */
#cc-main .section__toggle,
#cc-main .section__toggle-wrapper,
#cc-main .toggle__icon,
#cc-main .toggle__label {
    height: 24px;
}
