/* ==========================================================
   siteFE.css
   Foglio di stile locale del sito pubblico.
   La tipografia, i colori, l'header e il footer sono ora
   gestiti da Bootstrap Italia (bootstrap-italia.min.css,
   caricato PRIMA di questo file in _LayoutFE.cshtml).
   Qui restano solo: reset minimo, stile dei contenuti lunghi
   (articoli/pagine), il menu account nello slim header,
   tabelle, messaggi flash e il link di modifica rapida admin.
   Nessun colore custom: solo le variabili/classi gi� previste
   dal design system.
   ========================================================== */

* {
    box-sizing: border-box;
}

/* Testi lunghi (corpo articoli/pagine): Lora, come da linee guida
   Designers Italia per i contenuti editoriali estesi.
   Titoli e UI restano su Titillium Web (default di Bootstrap Italia,
   non va sovrascritto qui). */
.article-body,
.page-body,
.prose {
    font-family: 'Lora', Georgia, "Times New Roman", serif;
    line-height: 1.6;
}

/* Titoli dentro il corpo del testo.

   Il contenuto arriva dall'editor senza classi, quindi prendeva le misure
   di Bootstrap: h2 a 40px, piu' grande del titolo della pagina. Nella scala
   di Designers Italia i titoli interni stanno sotto al titolo di pagina e
   sopra al testo, e restano su Titillium: il serif e' per la lettura lunga,
   non per la struttura. */
.article-body h2,
.page-body h2,
.prose h2,
.article-body h3,
.page-body h3,
.prose h3,
.article-body h4,
.page-body h4,
.prose h4 {
    font-family: 'Titillium Web', system-ui, -apple-system, sans-serif;
    font-weight: 700;
    color: var(--ordine-text, #1a1a1a);
    line-height: 1.3;
}

.article-body h2,
.page-body h2,
.prose h2 {
    font-size: 1.5rem;
    margin: 2rem 0 .75rem;
}

.article-body h3,
.page-body h3,
.prose h3 {
    font-size: 1.25rem;
    margin: 1.5rem 0 .5rem;
}

.article-body h4,
.page-body h4,
.prose h4 {
    font-size: 1.125rem;
    margin: 1.25rem 0 .5rem;
}

/* Il primo titolo non spinge in basso: sotto al titolo di pagina ci pensa
   gia' il margine della testata */
.article-body > h2:first-child,
.page-body > h2:first-child,
.prose > h2:first-child { margin-top: 0; }

.article-body p,
.page-body p,
.prose p { margin-bottom: 1rem; }

.article-body ul,
.page-body ul,
.prose ul,
.article-body ol,
.page-body ol,
.prose ol { margin-bottom: 1rem; padding-left: 1.25rem; }

/* Le immagini dentro il testo non sfondano la colonna */
.article-body img,
.page-body img,
.prose img { max-width: 100%; height: auto; }

/* La sottolineatura serve dentro i testi, dove un link va distinto dal
   contenuto attorno. Su menu, card ed elenchi il contesto basta gia',
   quindi non si sottolinea tutto indiscriminatamente.
   Sull'hover la sottolineatura non sparisce: si ispessisce. */
main p a,
main li a:not(.list-item):not(.nav-link):not(.page-link):not(.elenco-documenti-voce):not(.voce-documento):not(.filtro-raccolta),
.article-body a,
.page-body a,
.prose a {
    text-decoration: underline;
    text-underline-offset: .2em;
    text-decoration-thickness: 1px;
}

    main p a:hover,
    main li a:not(.list-item):not(.nav-link):not(.page-link):not(.elenco-documenti-voce):not(.voce-documento):not(.filtro-raccolta):hover,
    .article-body a:hover,
    .page-body a:hover,
    .prose a:hover {
        text-decoration-thickness: 2px;
    }

/* ==========================================================
   Azioni nel piede di pagina: copyright, Gestisci cookie,
   Accedi / menù account. Tutto sulla stessa riga allineata.
   ========================================================== */
/* ==========================================================
   Azioni nel piede di pagina: copyright, Gestisci cookie,
   Accedi / menù account. Tutto sulla stessa riga allineata.
   ========================================================== */
.footer-azioni {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem .75rem;
    margin: 0;
}

    .footer-azioni .footer-sep {
        opacity: .6;
    }

    /* "Gestisci cookie" e "Accedi": stesso aspetto */
    .footer-azioni .btn-link-cookie {
        background: none;
        border: 0;
        padding: 0;
        font: inherit;
        line-height: inherit;
        color: inherit;
        text-decoration: underline;
        cursor: pointer;
    }

    /* ── Menù account (utente autenticato) ── */
    .footer-azioni .account-menu {
        position: relative;
        display: inline-block;
        margin: 0;
    }

        /* Stesso font, colore e sottolineatura di "Gestisci cookie" */
        .footer-azioni .account-menu > summary {
            display: inline-flex;
            align-items: center;
            gap: .35rem;
            list-style: none;
            cursor: pointer;
            padding: 0;
            font: inherit;
            line-height: inherit;
            color: inherit;
            text-decoration: underline;
        }

            .footer-azioni .account-menu > summary::-webkit-details-marker {
                display: none;
            }

            /* Freccia: punta in su da chiuso (il menù si apre verso l'alto),
   in giù da aperto */
            .footer-azioni .account-menu > summary::after {
                content: "";
                width: .5em;
                height: .5em;
                border-right: 2px solid currentColor;
                border-bottom: 2px solid currentColor;
                transform: rotate(-135deg) translateY(-2px);
                transition: transform .2s ease;
            }

        .footer-azioni .account-menu[open] > summary::after {
            transform: rotate(45deg) translateY(-2px);
        }

/* Pannello: si apre verso l'alto, stesso colore del footer */
.it-footer .it-footer-small-prints .footer-azioni .account-menu-body {
    position: absolute;
    top: auto;
    bottom: calc(100% + .5rem);
    left: 0;
    z-index: 1030;
    min-width: 12rem;
    display: flex;
    flex-direction: column;
    background: var(--ordine-footer-bg, var(--ordine-primary, #1a1a1a));
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: .25rem;
    box-shadow: 0 -.5rem 1rem rgba(0, 0, 0, .25);
    padding: .5rem 0;
}

    /* Voci: link e bottone "Esci" con lo stesso aspetto */
    .it-footer .it-footer-small-prints .footer-azioni .account-menu-body a,
    .it-footer .it-footer-small-prints .footer-azioni .account-menu-body button {
        display: block;
        width: 100%;
        padding: .5rem 1rem;
        background: transparent;
        border: 0;
        text-align: left;
        font: inherit;
        color: #fff;
        text-decoration: none;
        cursor: pointer;
    }

        .it-footer .it-footer-small-prints .footer-azioni .account-menu-body a:hover,
        .it-footer .it-footer-small-prints .footer-azioni .account-menu-body a:focus-visible,
        .it-footer .it-footer-small-prints .footer-azioni .account-menu-body button:hover,
        .it-footer .it-footer-small-prints .footer-azioni .account-menu-body button:focus-visible {
            background: rgba(255, 255, 255, .15);
            color: #fff;
            text-decoration: underline;
        }

    /* "Esci" separato dai link da una linea sottile */
    .it-footer .it-footer-small-prints .footer-azioni .account-menu-body form {
        margin: .25rem 0 0;
        padding-top: .25rem;
        border-top: 1px solid rgba(255, 255, 255, .25);
    }

/* ==========================================================
   Tabelle nei contenuti (articoli/pagine editati da Trumbowyg)
   ========================================================== */
table {
    border-collapse: collapse;
    width: 100%;
}

table, th, td {
    border: 1px solid #ccc;
}

th, td {
    padding: 0.4rem 0.6rem;
    text-align: left;
}

/* ==========================================================
   Link rapido "Modifica" per Admin/SuperAdmin
   ========================================================== */
.admin-edit-link {
    position: fixed;
    bottom: 1rem;
    right: 1rem;
    background: #fff;
    border: 1px solid #111;
    border-radius: 4px;
    padding: 0.4rem 0.75rem;
    text-decoration: none;
    color: #111;
    z-index: 1020;
}

/* ==========================================================
   Messaggi flash (successo/errore/info) e errori di form
   ========================================================== */
.flash-message {
    padding: 0.5rem 1rem;
    text-align: center;
    border-bottom: 1px solid #ccc;
}

.flash-success {
    background: #e6ffed;
}

.flash-error {
    background: #ffe6e6;
}

.flash-info {
    background: #eef;
}

.form-error {
    color: #b00;
}

.account-menu-body .form-check [type=checkbox] + label {
    font-size: 0.85rem;
    padding-left: 1.5rem;
}

    .account-menu-body .form-check [type=checkbox] + label::after {
        width: 15px;
        height: 15px;
        margin: 3px;
    }

.account-menu-body .form-check [type=checkbox]:checked + label::before {
    top: 3px;
    left: 0;
    width: 6px;
    height: 10px;
    border-width: 1.5px;
}

#Navbar-toggler {
    transform: translateX(-5px) !important;
}

.orderByDateBtn:hover {
    background-color: #fff;
}

.backToNewsBtn:hover {
    color: #fff;
}

.backToEventsBtn:hover {
    color: #fff;
}

.backHomeFromPagesBtn:hover {
    color: #fff;
}

.backToDocumentsBtn:hover {
    color: #fff;
}

.backToTransparentAdministrationBtn:hover {
    color: #fff;
}

.backToPeopleBtn:hover {
    color: #fff;
}

.changePasswordBtn:hover {
    color: #fff;
}

@media (max-width: 400px) {
    .leftBtnSmMobileView {
        padding: 0.25rem 0.5rem; /* dimensioni ridotte tipo btn-sm */
        font-size: 0.875rem;
    }

    .rightBtnSmMobileView {
        padding: 0.25rem 0.5rem; /* dimensioni ridotte tipo btn-sm */
        font-size: 0.875rem;
    }
}

.btn-link-cookie {
    background: none;
    border: none;
    padding: 0;
    color: #fff;
    text-decoration: underline;
    cursor: pointer;
    font: inherit;
}

.btn-link-cookie:hover {
    text-decoration-thickness: 2px;
}