/* ===================================================================
 * Menu ad accordion delle sezioni di Amministrazione Trasparente (30/10/2026)
 * Markup: italiawp2_child_at_nav() in inc/at-nav.php. Caricato solo a interruttore
 * acceso e solo nelle pagine AT. Sostituisce le regole .at-sidebar-* che erano in
 * style.css (legate a una classe del <body> che il tema non stampa mai).
 * Ogni selettore parte da .at-sidebar-accordion o da una classe .ug-at-* (impaginazione,
 * credits): niente regole globali.
 * Contrasti (WCAG 1.4.3 / 1.4.11) calcolati sugli sfondi #ffffff e #f7f9fb:
 * #17324d 12.4:1, #2f4f6f 8.1:1, sezioni vuote #56697c 5.4:1.
 * Focus: anello #11D5DD come nel 2026, con un bordo interno #0b1d2e (17:1 sul
 * bianco) perché il solo #11D5DD sul bianco arriva a 1.8:1.
 * =================================================================== */

/* --- Contenitore --- */
.at-sidebar-accordion {
    float: none;
    width: 100%;
    margin: 0 0 1.5rem;
    border: 1px solid #c5ced8;
    border-radius: 6px;
    background: #ffffff;
    box-shadow: none;
    /* Taglia solo gli sfondi agli angoli: i focus qui dentro sono tutti interni */
    overflow: hidden;
}

/* Il <nav> ha tabindex="-1" (destinazione del link "Vai al menu delle sezioni"):
 * anello solo quando ci si arriva da tastiera; col mouse lo toglie già Bootstrap
 * ([tabindex="-1"]:focus:not(:focus-visible)). */
.at-sidebar-accordion:focus-visible {
    outline: 3px solid #11D5DD !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #0b1d2e !important;
}

/* Salto al menu (link "Vai al menu delle sezioni" o #gruppo nell'indirizzo): la parte
 * alta non deve finire sotto l'header fisso del tema (#mainheader ridotto, 60px). */
.at-sidebar-accordion,
.at-sidebar-accordion .at-sidebar-group,
.at-sidebar-accordion .at-sidebar-group-toggle {
    scroll-margin-top: 10.5rem;
}

/* Link "Vai al menu delle sezioni": stesso anello del menu, non quello arancione
 * di Bootstrap Italia (:focus:not(.focus--mouse) con !important). */
.ug-at-salta-menu a:focus,
.ug-at-salta-menu a:focus-visible {
    outline: 3px solid #11D5DD !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #0b1d2e !important;
}

.at-sidebar-accordion .at-sidebar-inner {
    padding: 0;
}

/* --- Gruppi --- */
.at-sidebar-accordion .at-sidebar-group {
    margin: 0;
    border-bottom: 1px solid #e6ebf0;
    background: #ffffff;
}

.at-sidebar-accordion .at-sidebar-group:last-child {
    border-bottom: 0;
}

.at-sidebar-accordion .at-sidebar-group:focus-within {
    box-shadow: inset 3px 0 0 #11D5DD;
}

.at-sidebar-accordion .at-sidebar-group-title {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.at-sidebar-accordion .at-sidebar-group-title::before,
.at-sidebar-accordion .at-sidebar-group-title::after {
    content: none;
    display: none;
}

/* --- Bottone del gruppo --- */
.at-sidebar-accordion .at-sidebar-group-toggle {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 0.72rem 0.95rem;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #17324d;
    font-family: inherit;
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0;
    text-align: left;
    text-transform: none;
    white-space: normal;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(17, 213, 221, 0.25);
}

.at-sidebar-accordion .at-sidebar-group-toggle:hover {
    background: #eef2f6;
    color: #17324d;
}

.at-sidebar-accordion .at-sidebar-group-toggle[aria-expanded="true"] {
    background: #f7f9fb;
}

.at-sidebar-accordion .at-sidebar-group-label {
    flex: 1 1 auto;
    min-width: 0;
}

/* Freccia: triangolo disegnato col bordo, nessuna immagine esterna */
.at-sidebar-accordion .at-sidebar-group-toggle::after {
    content: "";
    flex: 0 0 auto;
    width: 0;
    height: 0;
    margin-top: 0.4rem;
    border-top: 6px solid currentColor;
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    transition: transform 0.2s ease;
}

.at-sidebar-accordion .at-sidebar-group-toggle[aria-expanded="true"]::after {
    transform: rotate(180deg);
}

/* Focus: vince sul focus globale di style.css (button:focus-visible !important) */
.at-sidebar-accordion .at-sidebar-group-toggle:focus,
.at-sidebar-accordion .at-sidebar-group-toggle:focus-visible {
    outline: 3px solid #11D5DD !important;
    outline-offset: -3px !important;
    box-shadow: inset 0 0 0 5px #0b1d2e !important;
}

/* Clic col mouse: niente anello. I browser senza :focus-visible scartano la regola
 * e tengono quello di :focus. */
.at-sidebar-accordion .at-sidebar-group-toggle:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

/* --- Badge conteggio (solo con 'conteggio' => true) --- */
.at-sidebar-accordion .at-sidebar-count {
    flex: 0 0 auto;
    min-width: 1.6rem;
    padding: 0 0.4rem;
    border: 1px solid #b6c2cf;
    border-radius: 999px;
    background: #eef2f6;
    color: #17324d;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1.4rem;
    text-align: center;
}

/* --- Elenco delle sezioni --- */
.at-sidebar-accordion .at-sidebar-list {
    margin: 0;
    padding: 0.25rem 0.95rem 0.8rem 1.25rem;
    background: #f7f9fb;
    list-style: none;
}

.at-sidebar-accordion .at-sidebar-list li {
    position: relative;
    margin: 0.3rem 0;
    padding: 0 0 0 0.85rem;
}

/* Pallino decorativo: la seconda dichiarazione gli dà un testo alternativo vuoto
 * (i lettori di schermo non leggono "punto elenco"); chi non la capisce usa la prima. */
.at-sidebar-accordion .at-sidebar-list li::before {
    content: "\2022";
    content: "\2022" / "";
    position: absolute;
    top: 0.1rem;
    left: 0;
    color: #4b5a6a;
    line-height: 1.4;
}

.at-sidebar-accordion .at-sidebar-list li.at-sidebar-item-current {
    padding-left: 0;
}

.at-sidebar-accordion .at-sidebar-list li.at-sidebar-item-current::before {
    content: none;
}

.at-sidebar-accordion .at-sidebar-list a {
    display: inline-block;
    padding: 0.1rem 0;
    color: #2f4f6f;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.4;
    text-decoration: none;
}

.at-sidebar-accordion .at-sidebar-list a:hover {
    color: #17324d;
    text-decoration: underline;
}

.at-sidebar-accordion .at-sidebar-list a:focus,
.at-sidebar-accordion .at-sidebar-list a:focus-visible {
    outline: 3px solid #11D5DD !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 2px #0b1d2e !important;
}

.at-sidebar-accordion .at-sidebar-list a:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}

/* Sezione corrente: grassetto e barra a sinistra, non solo il colore */
.at-sidebar-accordion .at-sidebar-list a.at-sidebar-link-current {
    padding-left: 0.45rem;
    border-left: 3px solid #0f2c48;
    color: #0f2c48;
    font-weight: 700;
}

/* Sezione senza documenti (impostazione "opacity" del plugin): niente opacità,
 * che farebbe scendere il contrasto; colore più chiaro ma AA e corsivo. */
.at-sidebar-accordion .at-sidebar-list a.at-sidebar-link-empty {
    color: #56697c;
    font-style: italic;
}

.at-sidebar-accordion .at-sidebar-list a.at-sidebar-link-empty:hover {
    color: #17324d;
}

/* Senza JavaScript i bottoni non funzionerebbero: liste tutte visibili e niente
 * freccia (indicherebbe "chiuso" su una lista aperta).
 * !important per superare [hidden] { display: none !important } di Bootstrap.
 * Se manca inc/at-nav.js il renderer non stampa proprio hidden. */
@media (scripting: none) {
    .at-sidebar-accordion .at-sidebar-list[hidden] {
        display: block !important;
    }
    .at-sidebar-accordion .at-sidebar-group-toggle::after {
        display: none;
    }
}

/* --- Credits del plugin (impostazione "show_love"), subito dopo il <nav> --- */
.ug-at-credits {
    margin: -1rem 0 1.5rem;
    padding: 0 0.25rem;
    color: #444e57;
    font-size: 0.75rem;
}

.ug-at-credits a {
    color: #17324d;
    text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
    .at-sidebar-accordion .at-sidebar-group-toggle::after {
        transition: none;
    }
}

/* ===================================================================
 * Impaginazione dei template at/ e della pagina indice
 * =================================================================== */

/* Colonna del menu: sotto lg (archivi) / md (schede) viene dopo il contenuto */
.ug-at-col-menu .at-sidebar-accordion {
    margin-top: 0;
}

@media (max-width: 991.98px) {
    .ug-at-layout-archivio .ug-at-col-menu {
        margin-top: 1rem;
    }
}

@media (max-width: 767.98px) {
    .ug-at-layout-singolo .ug-at-col-menu {
        margin-top: 1.5rem;
    }
}

@media (min-width: 768px) {
    .ug-at-layout-singolo .ug-at-col-menu {
        padding-top: 8px;
    }
}

/* Link "Vai al menu delle sezioni": visibile quando il menu è sotto il contenuto;
 * da desktop, col menu già a sinistra, resta per la tastiera e compare al focus. */
.ug-at-salta-menu {
    margin: 0 0 1rem;
    font-size: 0.875rem;
}

.ug-at-salta-menu a {
    color: #17324d;
    font-weight: 600;
    text-decoration: underline;
}

@media (min-width: 992px) {
    .ug-at-layout-archivio .ug-at-salta-menu {
        position: relative;
        height: 0;
        margin: 0;
    }
    .ug-at-layout-archivio .ug-at-salta-menu a:not(:focus) {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .ug-at-layout-archivio .ug-at-salta-menu a:focus {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        padding: 0.25rem 0.5rem;
        background: #ffffff;
    }
}

@media (min-width: 768px) {
    .ug-at-layout-singolo .ug-at-salta-menu {
        position: relative;
        height: 0;
        margin: 0;
    }
    .ug-at-layout-singolo .ug-at-salta-menu a:not(:focus) {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .ug-at-layout-singolo .ug-at-salta-menu a:focus {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        padding: 0.25rem 0.5rem;
        background: #ffffff;
    }
}

/* Pagina indice: #menu-sinistro del padre è sticky (interne.css); col menu lungo la
 * parte bassa resterebbe fuori schermo. Classe aggiunta solo a interruttore acceso. */
.ug-at-aside-statico {
    position: static !important;
}

/* Contatore visite della pagina indice (page-amministrazione-trasparente.php), solo a menu acceso.
 * Parte da #articolo-dettaglio-testo per battere la regola del padre sullo stesso <strong>
 * (interne.css: ...articolo-ulterioriinfo p.data-articolo strong, 1.111em). */
#articolo-dettaglio-testo .articolo-ulterioriinfo p.data-articolo.at-page-views-counter strong {
    font-size: 1.3rem;
    color: #17324d;
}
