/*
Theme Name: IT Creative - Design Comuni
Theme URI: https://www.itcreative.it/
Description: Child theme per le personalizzazioni reali su Design Comuni Italia.
Author: IT Creative
Template: design-comuni
Version: 0.0.45
Text Domain: itcreative-design-comuni-child
*/

/*
 * IMPORTANTE
 * ===========
 * Questa versione contiene solo personalizzazioni verificate confrontando
 * il tema realmente in uso con Design Comuni Italia ufficiale.
 *
 * Nessuna modifica arbitraria alle proporzioni dell'header.
 */

/*
 * Slim header:
 * - il selettore lingua resta temporaneamente nascosto perché
 *   utilizza ancora link placeholder (#);
 * - link istituzionali e area personale sono ora gestiti da
 *   Configurazione → Header.
 */
.it-header-slim-right-zone > .nav-item.dropdown {
    display: none !important;
}

/*
 * Il secondo stemma appartiene al menu hamburger.
 * Non deve comparire nella barra desktop.
 */
@media (min-width: 992px) {
    .it-header-navbar-wrapper .logo-hamburger {
        display: none !important;
    }
}

/*
 * CSS aggiuntivo realmente presente nello style.css del tema personalizzato:
 * avvisi homepage.
 */
.home-message .msg {
  font-size: 1rem !important;
  font-weight: bold;
  line-height: 1.5 !important;
  text-align: center;
  padding: 0;
  margin: 0;
}
.home-message .btn-outline-black {
  color: #333;
  background-color: transparent;
  background-image: none;
  box-shadow: inset 0 0 0 1px #333;
}
.home-message .btn-outline-black:hover {
  color: #fff;
  background-color: #333;
  box-shadow: inset 0 0 0 1px #333;
}
.home-message .btn-outline-black:focus,
.home-message .btn-outline-black.focus {
  box-shadow: inset 0 0 0 1px #17324d, 0 0 0 0.2rem rgba(23, 50, 77, 0.5);
}
.home-message .btn-outline-black.disabled,
.home-message .btn-outline-black:disabled {
  color: #17324d;
  background-color: transparent;
}
.home-message .btn-outline-black:not(:disabled):not(.disabled):active,
.home-message .btn-outline-black:not(:disabled):not(.disabled).active,
.show > .btn-outline-black.dropdown-toggle {
  color: #17324d;
  background-color: transparent;
  background-image: none;
  box-shadow: inset 0 0 0 1px #17324d;
}
.home-message .btn-outline-black:not(:disabled):not(.disabled):active:focus,
.home-message .btn-outline-black:not(:disabled):not(.disabled).active:focus,
.home-message .show > .btn-outline-black.dropdown-toggle:focus {
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125),
    0 0 0 0.2rem rgba(23, 50, 77, 0.5);
}
.home-message .msg svg {
  height: 1.5em;
  width: 1.5em;
  margin-right: 10px;
  display: inline-block;
}
.home-message.red,
.home-message.red .msg svg {
  background-color: #d1344c;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.purple,
.home-message.purple .msg svg {
  background-color: #b21dd0;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.green,
.home-message .msg svg {
  background-color: #0e8a5f;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.blue,
.home-message.blue .msg svg {
  background-color: #0d00ff;
  color: #fff !important;
  fill: #fff !important;
}
.home-message.yellow,
.home-message.yellow .msg svg {
  background-color: #ffcc00;
  color: #333 !important;
  fill: #333 !important;
}
.home-message.orange,
.home-message.orange .msg svg {
  background-color: #FF8000;
  color: #333 !important;
  fill: #333 !important;
}




/* Link istituzionali configurabili nella slim bar. */
@media (min-width: 992px) {
    .it-header-slim-wrapper-content {
        display: flex;
        align-items: stretch;
    }

    .it-header-slim-wrapper .navbar-brand {
        display: flex !important;
        align-items: center;
        margin-right: auto;
    }

    .it-header-slim-wrapper .itc-slim-links {
        align-items: stretch;
        margin-left: auto;
    }

    .it-header-slim-wrapper .itc-slim-links > a {
        display: flex;
        align-items: center;
        padding: 0 2rem;
        border-left: 1px solid rgba(255,255,255,.20);
        text-decoration: none;
        white-space: nowrap;
        font-weight: 400;
    }

    .it-header-slim-wrapper .itc-slim-links > a:last-child {
        border-right: 1px solid rgba(255,255,255,.20);
    }

    .it-header-slim-wrapper .it-header-slim-right-zone {
        margin-left: 0;
    }
}




/* ===== HEADER: TIPOGRAFIA ===== */
@media (min-width: 992px) {
    /* Slim bar */
    .it-header-slim-wrapper .navbar-brand,
    .it-header-slim-wrapper .itc-slim-links > a,
    .it-header-slim-wrapper .it-header-slim-right-zone .btn,
    .it-header-slim-wrapper .it-header-slim-right-zone .btn span {
        font-family: "Titillium Web", sans-serif !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
    }

    /* Nome del Comune */
    .it-header-center-wrapper .it-brand-title,
    .it-header-center-wrapper .it-brand-wrapper .it-brand-title,
    .it-header-center-wrapper .it-brand-wrapper a .it-brand-title {
        font-family: "Titillium Web", sans-serif !important;
        font-size: 32px !important;
        font-weight: 600 !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
    }

    /* Social e ricerca */
    .it-header-center-wrapper .it-socials,
    .it-header-center-wrapper .it-socials span,
    .it-header-center-wrapper .it-search-wrapper,
    .it-header-center-wrapper .it-search-wrapper > span {
        font-family: "Titillium Web", sans-serif !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
    }

    /* Menu principale */
    .it-header-navbar-wrapper .navbar-nav:not(.navbar-secondary) .nav-link,
    .it-header-navbar-wrapper .navbar-nav:not(.navbar-secondary) .nav-link span {
        font-family: "Titillium Web", sans-serif !important;
        font-size: 18px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
    }

    /* Menu secondario / argomenti */
    .it-header-navbar-wrapper .navbar-secondary .nav-link,
    .it-header-navbar-wrapper .navbar-secondary .nav-link span {
        font-family: "Titillium Web", sans-serif !important;
        font-size: 16px !important;
        font-weight: 400 !important;
        line-height: 1.25 !important;
    }

    /* "Tutti gli argomenti" stessa dimensione, solo grassetto */
    .it-header-navbar-wrapper .navbar-secondary [data-element="all-topics"],
    .it-header-navbar-wrapper .navbar-secondary [data-element="all-topics"] span,
    .it-header-navbar-wrapper .navbar-secondary .fw-bold {
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
    }
}


/* ===== HEADER: ALLINEAMENTI ===== */
@media (min-width: 992px) {
    /* Regione Abruzzo: leggermente ridotta rispetto agli altri link slim. */
    .it-header-slim-wrapper .navbar-brand {
        font-size: 14px !important;
    }

    /* "Tutti gli argomenti" resta bold, ma leggermente ridotto per avere
       la stessa dimensione percepita di Agricoltura / Tempo libero / Istruzione. */
    .it-header-navbar-wrapper .navbar-secondary [data-element="all-topics"],
    .it-header-navbar-wrapper .navbar-secondary [data-element="all-topics"] span,
    .it-header-navbar-wrapper .navbar-secondary .fw-bold {
        font-size: 15px !important;
        font-weight: 700 !important;
    }
}


/* ===== RICERCA E IDENTITA' VISIVA ===== */

/* Pulsanti Cerca: colore principale configurato in Identità visiva. */
.search-modal .btn-primary,
.search-modal button[type="submit"],
.search-form .btn-primary,
.search-form button[type="submit"],
form[role="search"] .btn-primary,
form[role="search"] button[type="submit"] {
    background-color: var(--itc-primary, var(--itc-primary)) !important;
    border-color: var(--itc-primary, var(--itc-primary)) !important;
    color: #fff !important;
}

/* Hover/focus: colore scuro configurato. */
.search-modal .btn-primary:hover,
.search-modal .btn-primary:focus,
.search-modal button[type="submit"]:hover,
.search-modal button[type="submit"]:focus,
.search-form .btn-primary:hover,
.search-form .btn-primary:focus,
.search-form button[type="submit"]:hover,
.search-form button[type="submit"]:focus,
form[role="search"] .btn-primary:hover,
form[role="search"] .btn-primary:focus,
form[role="search"] button[type="submit"]:hover,
form[role="search"] button[type="submit"]:focus {
    background-color: var(--itc-dark, var(--itc-primary-dark)) !important;
    border-color: var(--itc-dark, var(--itc-primary-dark)) !important;
    color: #fff !important;
}

/* Elementi testuali/azioni della ricerca. */
.search-modal a,
.search-form a,
.search-filters a {
    color: var(--itc-primary, var(--itc-primary));
}

.search-modal a:hover,
.search-modal a:focus,
.search-form a:hover,
.search-form a:focus,
.search-filters a:hover,
.search-filters a:focus {
    color: var(--itc-dark, var(--itc-primary-dark));
}

/* Icone e focus del campo di ricerca. */
.search-modal .icon-primary,
.search-form .icon-primary {
    fill: var(--itc-primary, var(--itc-primary)) !important;
}

.search-modal input:focus,
.search-form input:focus,
form[role="search"] input:focus {
    border-color: var(--itc-primary, var(--itc-primary)) !important;
    box-shadow: 0 0 0 .25rem rgba(var(--bs-primary-rgb, 0, 128, 165), .15);
}


/* ===== HEADER: SPAZIATURE DESKTOP ===== */
/*
 * Rifinitura orizzontale del menu desktop sulla base del confronto
 * con il sito istituzionale di riferimento.
 * Non modifica font, colori, altezze, ricerca o footer.
 */
@media (min-width: 992px) {
    /* Primo gruppo: Amministrazione / Novità / Servizi / Vivere il Comune */
    .it-header-navbar-wrapper .navbar-nav:not(.navbar-secondary) {
        display: flex !important;
        align-items: center;
        column-gap: 2.65rem !important;
    }

    /* Secondo gruppo: argomenti. È allineato a destra, quindi ampliando
       le distanze il primo elemento si sposta verso sinistra come nel riferimento. */
    .it-header-navbar-wrapper .navbar-secondary {
        display: flex !important;
        align-items: center;
        column-gap: 3.15rem !important;
    }

    /* Evita che padding/margini interni del parent sommino ulteriore spazio. */
    .it-header-navbar-wrapper .navbar-nav .nav-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .it-header-navbar-wrapper .navbar-nav .nav-link {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}


/* ===== HEADER: RIFINITURE ===== */
@media (min-width: 992px) {
    /* "Seguici su" senza i due punti, indipendentemente dal testo del parent. */
    .it-header-center-wrapper .it-socials > span {
        font-size: 0 !important;
    }

    .it-header-center-wrapper .it-socials > span::before {
        content: "Seguici su";
        font-family: "Titillium Web", sans-serif;
        font-size: 16px;
        font-weight: 400;
        line-height: 1.25;
    }

    /* Pulsante di ricerca: diametro più vicino al sito ufficiale. */
    .it-header-center-wrapper .it-search-wrapper .search-link {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        border-radius: 50% !important;
    }

    .it-header-center-wrapper .it-search-wrapper .search-link .icon,
    .it-header-center-wrapper .it-search-wrapper .search-link svg {
        width: 24px !important;
        height: 24px !important;
    }

    /*
     * Allineamento della navigazione:
     * il primo elemento viene portato in asse con lo stemma e la riga
     * viene abbassata leggermente rispetto alla build precedente.
     */
    .it-header-navbar-wrapper .navbar {
        padding-top: 6px !important;
    }

    .it-header-navbar-wrapper .navbar-nav:not(.navbar-secondary) {
        margin-left: 0.75rem !important;
    }
}


/* ===== PALETTE ISTITUZIONALE ===== */

/* Bootstrap / Bootstrap Italia: primary configurabile */
.btn-primary,
button.btn-primary,
a.btn-primary {
    background-color: var(--itc-primary) !important;
    border-color: var(--itc-primary) !important;
    color: #fff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
button.btn-primary:hover,
button.btn-primary:focus,
button.btn-primary:active,
a.btn-primary:hover,
a.btn-primary:focus,
a.btn-primary:active {
    background-color: var(--itc-primary) !important;
    border-color: var(--itc-primary-dark) !important;
    color: #fff !important;
}

.btn-outline-primary,
button.btn-outline-primary,
a.btn-outline-primary {
    background-color: transparent !important;
    border-color: var(--itc-primary) !important;
    color: var(--itc-primary) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
button.btn-outline-primary:hover,
button.btn-outline-primary:focus,
button.btn-outline-primary:active,
a.btn-outline-primary:hover,
a.btn-outline-primary:focus,
a.btn-outline-primary:active {
    background-color: var(--itc-primary) !important;
    border-color: var(--itc-primary) !important;
    color: #fff !important;
}

.btn-outline-primary:focus,
.btn-primary:focus,
.form-control:focus,
.form-select:focus {
    box-shadow: 0 0 0 .25rem rgba(var(--itc-primary-rgb), .22) !important;
}

/* Icone / testi / sfondi primary */
.bg-primary {
    background-color: var(--itc-primary) !important;
}

.text-primary,
.link-primary {
    color: var(--itc-primary) !important;
}

.icon-primary,
.icon-primary svg,
svg.icon-primary {
    fill: var(--itc-primary) !important;
    color: var(--itc-primary) !important;
}

/* Form */
.form-check-input:checked {
    background-color: var(--itc-primary) !important;
    border-color: var(--itc-primary) !important;
}

.form-check-input:focus,
.form-control:focus,
.form-select:focus {
    border-color: var(--itc-primary) !important;
}

.form-range::-webkit-slider-thumb {
    background-color: var(--itc-primary) !important;
}
.form-range::-moz-range-thumb {
    background-color: var(--itc-primary) !important;
}

/* Navigazione / paginazione */
.pagination .page-link {
    color: var(--itc-primary) !important;
}

.pagination .page-item.active .page-link {
    background-color: var(--itc-primary) !important;
    border-color: var(--itc-primary) !important;
    color: #fff !important;
}

/* Modulo soddisfazione / feedback */
.satisfy-placeholder [data-element="feedback"],
[data-element="feedback"].cmp-rating,
.cmp-rating {
    --bs-primary: var(--itc-primary);
    --bs-primary-rgb: var(--itc-primary-rgb);
}

.satisfy-placeholder .btn-primary,
.satisfy-placeholder button.btn-primary,
[data-element="feedback"] .btn-primary,
[data-element="feedback"] button.btn-primary,
.cmp-rating .btn-primary,
.cmp-rating button.btn-primary {
    background-color: var(--itc-primary) !important;
    border-color: var(--itc-primary) !important;
    color: #fff !important;
}

.satisfy-placeholder .btn-primary:hover,
.satisfy-placeholder .btn-primary:focus,
[data-element="feedback"] .btn-primary:hover,
[data-element="feedback"] .btn-primary:focus,
.cmp-rating .btn-primary:hover,
.cmp-rating .btn-primary:focus {
    background-color: var(--itc-primary-dark) !important;
    border-color: var(--itc-primary-dark) !important;
}

.satisfy-placeholder .btn-outline-primary,
[data-element="feedback"] .btn-outline-primary,
.cmp-rating .btn-outline-primary,
.satisfy-placeholder .back-button,
[data-element="feedback"] .back-button,
.cmp-rating .back-button,
.satisfy-placeholder [class*="back"],
[data-element="feedback"] [class*="back"],
.cmp-rating [class*="back"] {
    border-color: var(--itc-primary) !important;
    color: var(--itc-primary) !important;
}

.satisfy-placeholder .btn-outline-primary:hover,
.satisfy-placeholder .btn-outline-primary:focus,
[data-element="feedback"] .btn-outline-primary:hover,
[data-element="feedback"] .btn-outline-primary:focus,
.cmp-rating .btn-outline-primary:hover,
.cmp-rating .btn-outline-primary:focus,
.satisfy-placeholder .back-button:hover,
.satisfy-placeholder .back-button:focus,
[data-element="feedback"] .back-button:hover,
[data-element="feedback"] .back-button:focus,
.cmp-rating .back-button:hover,
.cmp-rating .back-button:focus {
    background-color: var(--itc-primary) !important;
    border-color: var(--itc-primary) !important;
    color: #fff !important;
}

.satisfy-placeholder a:not(.btn),
[data-element="feedback"] a:not(.btn),
.cmp-rating a:not(.btn) {
    color: var(--itc-primary) !important;
}

.satisfy-placeholder a:not(.btn):hover,
.satisfy-placeholder a:not(.btn):focus,
[data-element="feedback"] a:not(.btn):hover,
[data-element="feedback"] a:not(.btn):focus,
.cmp-rating a:not(.btn):hover,
.cmp-rating a:not(.btn):focus {
    color: var(--itc-primary-dark) !important;
}

/* Stepper / tasto Indietro usato da diversi componenti del tema */
.steppers .steppers-btn-prev,
.steppers .steppers-btn-prev .icon,
.cmp-nav-steps .steppers-btn-prev,
.cmp-nav-steps .steppers-btn-prev .icon,
button[class*="back"],
a[class*="back"] {
    color: var(--itc-primary) !important;
    border-color: var(--itc-primary) !important;
}

.steppers .steppers-btn-prev .icon,
.cmp-nav-steps .steppers-btn-prev .icon {
    fill: var(--itc-primary) !important;
}

.steppers .steppers-btn-prev:hover,
.steppers .steppers-btn-prev:focus,
.cmp-nav-steps .steppers-btn-prev:hover,
.cmp-nav-steps .steppers-btn-prev:focus {
    color: var(--itc-primary-dark) !important;
    border-color: var(--itc-primary-dark) !important;
}

/* Bottoni outline e azione Indietro */
.btn-outline-primary,
button.btn-outline-primary,
a.btn-outline-primary,
.steppers .steppers-btn-prev,
.cmp-nav-steps .steppers-btn-prev {
    border-color: var(--itc-primary) !important;
    box-shadow: inset 0 0 0 2px var(--itc-primary) !important;
}

.btn-outline-primary:focus,
button.btn-outline-primary:focus,
a.btn-outline-primary:focus,
.steppers .steppers-btn-prev:focus,
.cmp-nav-steps .steppers-btn-prev:focus {
    border-color: var(--itc-primary) !important;
    box-shadow:
        inset 0 0 0 1px var(--itc-primary),
        0 0 0 .25rem rgba(var(--itc-primary-rgb), .22) !important;
}


/* ===== LINK ISTITUZIONALI ===== */
/* Link contenuto e breadcrumb leggono il colore principale configurato. */
main a:not(.btn):not(.nav-link):not(.dropdown-item),
.main-content a:not(.btn):not(.nav-link):not(.dropdown-item),
.breadcrumb a,
.breadcrumb-item a,
.cmp-breadcrumbs a {
    color: var(--itc-primary) !important;
}

/* Hover/focus: colore scuro configurato, senza perdere accessibilità. */
main a:not(.btn):not(.nav-link):not(.dropdown-item):hover,
main a:not(.btn):not(.nav-link):not(.dropdown-item):focus,
.main-content a:not(.btn):not(.nav-link):not(.dropdown-item):hover,
.main-content a:not(.btn):not(.nav-link):not(.dropdown-item):focus,
.breadcrumb a:hover,
.breadcrumb a:focus,
.breadcrumb-item a:hover,
.breadcrumb-item a:focus,
.cmp-breadcrumbs a:hover,
.cmp-breadcrumbs a:focus {
    color: var(--itc-primary-dark) !important;
}

/* Il footer mantiene deliberatamente la propria regola bianca. */
.it-footer a,
.it-footer-main a,
.it-footer-small-prints a,
footer.it-footer a {
    color: #fff !important;
}


/* ===== COMPONENTI PALETTE ===== */

/* Link e navigazione contestuale */
a.link-primary, .link-list-wrapper a:not(.btn), .nav-tabs .nav-link,
.accordion-button:not(.collapsed), .collapse-header [aria-expanded="true"] {
  color: var(--itc-primary) !important;
}
a.link-primary:hover, a.link-primary:focus,
.link-list-wrapper a:not(.btn):hover, .link-list-wrapper a:not(.btn):focus,
.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
  color: var(--itc-primary-dark) !important;
}

/* Tab */
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
  color: var(--itc-primary) !important;
  border-bottom-color: var(--itc-primary) !important;
}

/* Accordion */
.accordion-button:not(.collapsed),
.accordion-header button[aria-expanded="true"] {
  color: var(--itc-primary) !important;
}
.accordion-button:focus {
  border-color: var(--itc-primary) !important;
  box-shadow: 0 0 0 .25rem rgba(var(--itc-primary-rgb), .18) !important;
}

/* Badge / chip */
.badge.bg-primary, .chip.chip-primary, .chip-primary {
  background-color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
  color: #fff !important;
}
.chip-outline-primary {
  color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
}

/* Alert / callout istituzionali */
.alert-primary {
  color: var(--itc-primary-dark) !important;
  border-color: var(--itc-primary) !important;
}
.callout.callout-primary, .callout.primary {
  border-color: var(--itc-primary) !important;
}
.callout.callout-primary .callout-title,
.callout.primary .callout-title {
  color: var(--itc-primary) !important;
}

/* Card: solo elementi interattivi, non testo ordinario */
.card a:not(.btn):not(.nav-link),
.card .card-title a,
.card .read-more {
  color: var(--itc-primary) !important;
}
.card a:not(.btn):not(.nav-link):hover,
.card a:not(.btn):not(.nav-link):focus,
.card .card-title a:hover,
.card .card-title a:focus,
.card .read-more:hover,
.card .read-more:focus {
  color: var(--itc-primary-dark) !important;
}

/* Paginazione */
.pagination .page-link {
  color: var(--itc-primary) !important;
}
.pagination .page-link:hover, .pagination .page-link:focus {
  color: var(--itc-primary-dark) !important;
  border-color: var(--itc-primary) !important;
}
.pagination .page-item.active .page-link {
  background-color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
  color: #fff !important;
}

/* Form */
.form-check-input:checked,
.form-check-input[type="checkbox"]:indeterminate {
  background-color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
}
.form-check-input:focus,
.form-control:focus, .form-select:focus,
.form-range:focus {
  border-color: var(--itc-primary) !important;
  box-shadow: 0 0 0 .25rem rgba(var(--itc-primary-rgb), .18) !important;
}
.form-range::-webkit-slider-thumb {
  background-color: var(--itc-primary) !important;
}
.form-range::-moz-range-thumb {
  background-color: var(--itc-primary) !important;
}

/* Icone esplicitamente primary */
.icon-primary, svg.icon-primary,
.text-primary .icon, .text-primary svg {
  color: var(--itc-primary) !important;
  fill: var(--itc-primary) !important;
}

/* Bottoni */
.btn-primary {
  background-color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active,
.btn-primary.active {
  background-color: var(--itc-primary-dark) !important;
  border-color: var(--itc-primary-dark) !important;
  color: #fff !important;
}
.btn-outline-primary {
  color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
}
.btn-outline-primary:hover, .btn-outline-primary:focus,
.btn-outline-primary:active, .btn-outline-primary.active {
  color: #fff !important;
  background-color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
}

/* Stepper */
.steppers .steppers-index,
.steppers .steppers-index .active,
.steppers .steppers-index li.active,
.steppers .steppers-index li.done,
.steppers .steppers-index li.active .icon,
.steppers .steppers-index li.done .icon {
  color: var(--itc-primary) !important;
  border-color: var(--itc-primary) !important;
}
.steppers .steppers-index li.active::before,
.steppers .steppers-index li.done::before {
  background-color: var(--itc-primary) !important;
}

/* Modal e dropdown: link/azioni primary */
.modal a:not(.btn), .dropdown-menu a.dropdown-item.text-primary {
  color: var(--itc-primary) !important;
}
.modal a:not(.btn):hover, .modal a:not(.btn):focus,
.dropdown-menu a.dropdown-item.text-primary:hover,
.dropdown-menu a.dropdown-item.text-primary:focus {
  color: var(--itc-primary-dark) !important;
}

/* Focus accessibile */
a:focus-visible, button:focus-visible,
[tabindex]:focus-visible {
  outline-color: var(--itc-primary) !important;
}

/* ===== FOOTER =====
   Regola unica per tutte le voci del footer:
   sottolineate normalmente, senza sottolineatura in hover/focus.
   Il nome del Comune/home è l'unica eccezione. */
.it-footer a,
.it-footer-main a,
.it-footer-small-prints a,
footer.it-footer a {
    color: #fff !important;
    text-decoration: underline !important;
    text-underline-offset: .12em;
}

.it-footer a:hover,
.it-footer a:focus,
.it-footer-main a:hover,
.it-footer-main a:focus,
.it-footer-small-prints a:hover,
.it-footer-small-prints a:focus,
footer.it-footer a:hover,
footer.it-footer a:focus {
    color: #fff !important;
    text-decoration: none !important;
}

.it-footer .it-brand-wrapper a,
.it-footer .it-brand-wrapper a:hover,
.it-footer .it-brand-wrapper a:focus {
    text-decoration: none !important;
}

/* Barra finale crediti. */
.itc-footer-meta-bar {
    width: 100%;
    background: #fff;
    color: #2f3941;
    border-top: 1px solid rgba(0, 0, 0, .06);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.2;
}

.itc-footer-meta-bar .container {
    width: 100%;
    max-width: 1320px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 24px;
    padding-right: 24px;
}

.itc-footer-meta-content {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .3rem;
    flex-wrap: wrap;
    text-align: right;
    padding: 4px 0;
}

.itc-footer-credit-text {
    color: #2f3941;
    text-decoration: none;
}

.itc-footer-itcreative-link,
.itc-footer-itcreative-link:visited,
.itc-footer-meta-link,
.itc-footer-meta-link:visited {
    color: var(--itc-primary, #0066cc);
    text-decoration: underline;
    text-underline-offset: .1em;
}

.itc-footer-itcreative-link:hover,
.itc-footer-itcreative-link:focus,
.itc-footer-meta-link:hover,
.itc-footer-meta-link:focus {
    color: var(--itc-primary-dark, #17324d);
    text-decoration: none;
}

.itc-footer-meta-separator {
    color: #5c6f82;
    margin: 0 .15rem;
}

@media (max-width: 991.98px) {
    .itc-footer-meta-bar .container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

@media (max-width: 575.98px) {
    .itc-footer-meta-content {
        min-height: 28px;
        padding: 4px 0;
        font-size: 13px;
    }
}

/* ============================================================
 * Portale Servizi PA - Home C 0.0.10 consolidata
 * ============================================================ */
.itc-portal-home { background:#fff; }
.itc-portal-home > section > .container { width:calc(100% - 64px)!important; max-width:1320px!important; margin-inline:auto!important; }
.itc-home-hero { background:linear-gradient(180deg,rgba(var(--itc-primary-rgb),.08),rgba(var(--itc-primary-rgb),.02)); }
.itc-home-eyebrow { color:var(--itc-primary); font-weight:700; text-transform:uppercase; letter-spacing:.04em; font-size:.875rem; }
.itc-home-title { font-size:clamp(2.25rem,4.3vw,4rem); line-height:1.02; font-weight:700; color:#17324d; }
.itc-home-lead { max-width:48rem; font-size:1.25rem; line-height:1.55; color:#455b71; }
.itc-home-search { max-width:none; }
.itc-home-search .input-group { box-shadow:0 .25rem 1rem rgba(23,50,77,.10); border-radius:.5rem; overflow:hidden; }
.itc-home-search .form-control,.itc-home-search .input-group-text,.itc-home-search .btn { min-height:3.5rem; }
.itc-home-search .form-control,.itc-home-search .input-group-text { border-color:#c5c7c9; }
.itc-personal-card { height:100%; padding:1.6rem; border-radius:1rem; background:#fff; border:1px solid rgba(23,50,77,.10); box-shadow:0 .5rem 1.5rem rgba(23,50,77,.10); display:flex; flex-direction:column; }
.itc-personal-action { align-self:flex-start; min-width:15rem; }
.itc-round-icon,.itc-service-icon { flex:0 0 auto; width:3.25rem; height:3.25rem; border-radius:50%; display:grid; place-items:center; background:rgba(var(--itc-primary-rgb),.12); }
.itc-round-icon .icon,.itc-service-icon .icon { width:1.65rem; height:1.65rem; fill:var(--itc-primary); }
.itc-home-services { background:#f5f5f5; }
.itc-section-heading { max-width:48rem; }
.itc-service-card,.itc-news-card { transition:transform .18s ease,box-shadow .18s ease; }
.itc-service-card:hover,.itc-news-card:hover { transform:translateY(-3px); box-shadow:0 .75rem 1.5rem rgba(23,50,77,.13)!important; }
.itc-service-card h3 a,.itc-news-card h3 a { color:#17324d!important; }
.itc-service-card h3 a:hover,.itc-service-card h3 a:focus { color:var(--itc-primary)!important; }
.itc-home-services .itc-service-card .card-body { min-height:14.25rem; }
.itc-home-services .itc-service-card h3 { font-size:1.3rem; line-height:1.2; }
.itc-home-services .itc-service-card p { font-size:.98rem; line-height:1.45; }
.itc-card-action { color:var(--itc-primary); font-weight:700; }
.itc-card-action .icon { fill:var(--itc-primary); }
.itc-home-services:target { scroll-margin-top:1rem; }
.itc-home-personal-summary { background:#fff; }
.itc-personal-summary-panel { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:2rem clamp(1.5rem,3vw,3rem); border-radius:1rem; background:rgba(var(--itc-primary-rgb),.07); }
.itc-personal-summary-panel > div:first-child { max-width:52rem; }
.itc-personal-summary-action { flex:0 0 auto; }
.itc-home-news { background:#fff; }
.itc-home-news .itc-news-card .card-body { min-height:12.5rem; }
.itc-news-date { color:#5c6f82; font-size:.875rem; text-transform:uppercase; font-weight:600; }
.itc-notice-badge { display:inline-block; margin-right:.4rem; padding:.18rem .45rem; border-radius:.25rem; background:rgba(var(--itc-primary-rgb),.10); color:var(--itc-primary); font-size:.75rem; font-weight:700; }
.itc-home-help { background:#fff; }
.itc-help-panel { border-radius:1rem; background:rgba(var(--itc-primary-rgb),.07); padding-left:clamp(1.25rem,3vw,3rem)!important; padding-right:clamp(1.25rem,3vw,3rem)!important; }
.itc-help-link { display:flex; align-items:center; gap:.85rem; min-height:5.5rem; padding:1rem; background:#fff; border:1px solid rgba(23,50,77,.12); border-radius:.75rem; text-decoration:none!important; color:#17324d!important; }
.itc-help-link:hover,.itc-help-link:focus { border-color:var(--itc-primary); box-shadow:0 .35rem 1rem rgba(23,50,77,.10); }
.itc-help-link .icon { flex:0 0 auto; width:2rem; height:2rem; fill:var(--itc-primary); }
.itc-help-link span { display:flex; flex-direction:column; }
.itc-help-link small { color:#455b71; margin-top:.15rem; }
@media (min-width:1440px){ .itc-home-hero .row{--bs-gutter-x:3.5rem;} }
@media (min-width:1200px) and (max-width:1439.98px){ .itc-portal-home > section > .container{max-width:1180px!important;} }
@media (max-width:991.98px){
 .itc-portal-home > section > .container{width:calc(100% - 48px)!important;max-width:960px!important;}
 .itc-home-hero{padding-top:2rem!important;padding-bottom:2rem!important;}
 .itc-home-title{font-size:clamp(2.2rem,8vw,3.5rem);}
 .itc-personal-card{margin-top:.5rem;padding:1.5rem;}
 .itc-personal-action{min-width:0;width:auto;max-width:100%;}
 .itc-home-services .itc-service-card .card-body{min-height:14rem;}
}
@media (max-width:767.98px){
 .itc-portal-home > section > .container{width:calc(100% - 32px)!important;}
 .itc-home-title{font-size:clamp(2rem,10vw,3rem);}
 .itc-home-lead{font-size:1.05rem;}
 .itc-home-search .input-group{display:flex;flex-wrap:nowrap;}
 .itc-home-search .form-control{min-width:0;}
 .itc-home-search .btn{padding-inline:1rem;}
 .itc-home-services,.itc-home-news,.itc-home-help{padding-top:2.5rem!important;padding-bottom:2.5rem!important;}
 .itc-home-services .itc-service-card .card-body,.itc-home-news .itc-news-card .card-body{min-height:0;}
 .itc-personal-summary-panel{flex-direction:column;align-items:flex-start;gap:1.25rem;padding:1.5rem;}
 .itc-personal-summary-action{width:100%;}
 .itc-personal-summary-action .btn{width:100%;}
 .itc-help-link{min-height:0;}
}
@media (max-width:575.98px){
 .itc-portal-home > section > .container{width:calc(100% - 24px)!important;}
 .itc-home-hero{padding-top:1.5rem!important;padding-bottom:1.5rem!important;}
 .itc-personal-card{padding:1.25rem;}
 .itc-personal-action{width:100%;}
 .itc-home-search .input-group-text{padding-left:.75rem;padding-right:.5rem;}
 .itc-home-search .form-control{font-size:.95rem;}
 .itc-home-search .btn{min-width:4.5rem;}
 .itc-home-services .itc-service-card .card-body,.itc-news-card .card-body{padding:1.1rem!important;}
 .itc-home-services .itc-service-icon{width:2.75rem;height:2.75rem;margin-bottom:.75rem!important;}
 .itc-home-services .itc-service-card p{margin-bottom:1rem!important;}
 .itc-home-news .itc-news-card p{margin-bottom:1rem!important;}
 .itc-help-panel{border-radius:.75rem;}
}
@media (prefers-reduced-motion:reduce){ .itc-service-card,.itc-news-card{transition:none}.itc-service-card:hover,.itc-news-card:hover{transform:none} }


/* ============================================================
 * Home C 0.0.13 - affinamento hero + servizi
 * ============================================================ */
@media (min-width: 992px) {
  .itc-home-hero { padding-top:2.25rem!important; padding-bottom:2.25rem!important; }
  .itc-home-hero .row { --bs-gutter-x:2.5rem; }
  .itc-home-hero .itc-hero-content { padding:.25rem 0; }
  .itc-home-title { font-size:clamp(2.6rem,3.65vw,3.65rem); letter-spacing:-.025em; }
  .itc-home-lead { font-size:1.08rem; line-height:1.45; margin-bottom:1.35rem!important; }
  .itc-personal-card { padding:1.45rem 1.6rem; }
  .itc-personal-card > p { line-height:1.45; }
  .itc-home-services { padding-top:2.6rem!important; padding-bottom:2.8rem!important; }
  .itc-home-services .itc-section-heading { margin-bottom:1.35rem!important; }
  .itc-home-services .itc-service-card .card-body { min-height:11.25rem; padding:1.35rem!important; }
}
.itc-home-hero { position:relative; overflow:hidden; background:linear-gradient(120deg,rgba(var(--itc-primary-rgb),.11),rgba(var(--itc-primary-rgb),.035) 70%,rgba(255,255,255,.72)); }
.itc-home-hero::after { content:""; position:absolute; inset:auto 0 0 0; height:3px; background:linear-gradient(90deg,transparent,rgba(var(--itc-primary-rgb),.25),transparent); pointer-events:none; }
.itc-home-hero > .container { position:relative; z-index:1; }
.itc-home-search .form-control,.itc-home-search .input-group-text,.itc-home-search .btn { min-height:3.15rem; }
.itc-home-frequent { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; margin-top:.75rem; font-size:.82rem; color:#455b71; }
.itc-home-frequent-label { font-weight:600; margin-right:.1rem; }
.itc-home-frequent a { display:inline-flex; align-items:center; min-height:1.75rem; padding:.2rem .7rem; border:1px solid rgba(23,50,77,.16); border-radius:999px; background:rgba(255,255,255,.72); color:#17324d!important; text-decoration:none!important; }
.itc-home-frequent a:hover,.itc-home-frequent a:focus { border-color:var(--itc-primary); color:var(--itc-primary)!important; background:#fff; }
.itc-personal-card h2 { color:#17324d; font-weight:700; }
.itc-home-services { background:#fff; }
.itc-home-services .itc-service-card { border:1px solid rgba(23,50,77,.14)!important; box-shadow:none!important; border-radius:.55rem!important; }
.itc-home-services .itc-service-card:hover { box-shadow:0 .45rem 1.15rem rgba(23,50,77,.10)!important; }
.itc-home-services .itc-service-icon { width:3.05rem; height:3.05rem; border-radius:.75rem; margin-bottom:.85rem!important; }
.itc-home-services .itc-service-icon .icon { width:1.7rem; height:1.7rem; }
.itc-home-services .itc-service-card h3 { font-size:1.2rem; margin-bottom:.35rem!important; }
.itc-home-services .itc-service-card p { font-size:.92rem; line-height:1.38; margin-bottom:.8rem!important; }
.itc-home-services .itc-card-action { font-size:.9rem; }
@media (max-width:767.98px){
 .itc-home-frequent{align-items:flex-start;gap:.4rem;margin-top:.65rem}.itc-home-frequent-label{flex-basis:100%}
}


/* Home C - fascia area personale */
.itc-home-services .itc-service-card .card-body { min-height:9.9rem; padding:1.2rem!important; }
.itc-home-personal-summary { background:linear-gradient(90deg,rgba(var(--itc-primary-rgb),.08),rgba(var(--itc-primary-rgb),.025)); }
.itc-personal-summary-panel { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(440px,1fr); align-items:center; gap:2rem; padding:1.7rem 0; border-radius:0; background:transparent; }
.itc-personal-summary-copy { max-width:42rem; }
.itc-personal-summary-action { margin-top:1rem; }
.itc-personal-summary-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
.itc-personal-summary-stat { min-height:9rem; padding:1.1rem .85rem; background:#fff; border:1px solid rgba(23,50,77,.09); border-radius:.65rem; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.itc-personal-summary-stat .itc-service-icon { width:3rem; height:3rem; margin:0 auto .7rem; display:flex; align-items:center; justify-content:center; flex:0 0 3rem; }
.itc-personal-summary-stat .itc-service-icon .icon { width:1.65rem; height:1.65rem; margin:0; }
.itc-personal-summary-stat strong { display:block; width:100%; color:#17324d; font-size:1.02rem; line-height:1.2; text-align:center; }
.itc-personal-summary-stat > span:last-child { display:block; width:100%; margin-top:.4rem; font-size:.82rem; line-height:1.35; color:#43576a; text-align:center; }
@media (max-width:1199.98px){ .itc-personal-summary-panel{grid-template-columns:1fr;} .itc-personal-summary-stats{max-width:48rem;} }
@media (max-width:767.98px){ .itc-home-services .itc-service-card .card-body{min-height:0;} .itc-personal-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;} }


/* Home C 0.0.16 - avvisi, assistenza e densità verticale */
.itc-home-services .itc-service-card .card-body { min-height:8.75rem; padding:1.05rem 1.15rem!important; }
.itc-home-services .itc-service-icon { width:2.8rem; height:2.8rem; margin-bottom:.65rem!important; }
.itc-home-services .itc-service-card p { margin-bottom:.55rem!important; }

.itc-home-personal-summary .itc-personal-summary-panel { padding:1.35rem 0; gap:1.5rem; }

.itc-home-news { padding-top:2.6rem!important; padding-bottom:2.8rem!important; }
.itc-home-news .itc-section-heading { margin-bottom:1.25rem!important; }
.itc-home-news .row { --bs-gutter-x:1rem; --bs-gutter-y:1rem; }
.itc-home-news .itc-news-card { border:1px solid rgba(23,50,77,.14)!important; box-shadow:none!important; border-radius:.55rem!important; }
.itc-home-news .itc-news-card:hover { box-shadow:0 .4rem 1rem rgba(23,50,77,.09)!important; }
.itc-home-news .itc-news-card .card-body { min-height:10.4rem; padding:1.15rem!important; }
.itc-home-news .itc-news-card h3 { font-size:1.08rem; line-height:1.25; margin-bottom:.55rem!important; }
.itc-home-news .itc-news-card p:not(.itc-news-date) { font-size:.9rem; line-height:1.4; margin-bottom:.7rem!important; }
.itc-home-news .itc-news-date { font-size:.75rem; margin-bottom:.55rem!important; }
.itc-home-news .itc-card-action { font-size:.88rem; }

.itc-home-help { padding-top:1.5rem!important; padding-bottom:1.5rem!important; }
.itc-help-panel { padding:1.25rem 1.5rem!important; border-radius:.6rem; }
.itc-help-panel .row { --bs-gutter-y:1rem; }
.itc-help-panel h2 { font-size:1.65rem; }
.itc-help-panel p { font-size:.92rem; }
.itc-help-link { min-height:4.5rem; padding:.75rem .85rem; gap:.7rem; border-radius:.55rem; }
.itc-help-link .icon { width:1.7rem; height:1.7rem; }
.itc-help-link strong { font-size:.9rem; line-height:1.2; }
.itc-help-link small { font-size:.75rem; line-height:1.2; }

@media (max-width:991.98px){
 .itc-home-services .itc-service-card .card-body,.itc-home-news .itc-news-card .card-body{min-height:0;}
 .itc-help-panel{padding:1.25rem!important;}
}


/* Home C 0.0.17 - card area personale più leggibili */
@media (min-width:1200px){
 .itc-personal-summary-panel{grid-template-columns:minmax(0,.95fr) minmax(650px,1.25fr);gap:2.25rem;}
 .itc-personal-summary-copy{max-width:40rem;}
 .itc-personal-summary-stats{grid-template-columns:repeat(4,minmax(150px,1fr));gap:.9rem;width:100%;}
}
.itc-personal-summary-stat{min-height:10.25rem;padding:1.15rem 1rem;justify-content:flex-start;}
.itc-personal-summary-stat .itc-service-icon{width:3.25rem;height:3.25rem;flex:0 0 3.25rem;margin:0 auto .75rem;}
.itc-personal-summary-stat .itc-service-icon .icon{width:1.75rem;height:1.75rem;}
.itc-personal-summary-stat strong{min-height:2.45rem;display:flex;align-items:center;justify-content:center;font-size:1.05rem;line-height:1.18;}
.itc-personal-summary-stat > span:last-child{min-height:2.4rem;display:flex;align-items:flex-start;justify-content:center;margin-top:.35rem;font-size:.88rem;line-height:1.35;}
@media (max-width:1199.98px){.itc-personal-summary-stats{width:100%;max-width:none;grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:575.98px){.itc-personal-summary-stat{min-height:9.5rem;padding:1rem .8rem;}.itc-personal-summary-stat strong{font-size:1rem;}.itc-personal-summary-stat > span:last-child{font-size:.84rem;}}

/* Home C 0.0.18 - riequilibrio fascia area personale */
@media (min-width:1200px){
 .itc-personal-summary-panel{grid-template-columns:minmax(0,.78fr) minmax(820px,1.42fr);gap:1.5rem;}
 .itc-personal-summary-copy{max-width:38rem;}
 .itc-personal-summary-stats{grid-template-columns:repeat(4,minmax(190px,1fr));gap:.8rem;width:100%;}
 .itc-personal-summary-stat{min-height:10rem;padding:1.15rem 1.15rem;}
 .itc-personal-summary-stat strong{min-height:auto;white-space:normal;font-size:1.05rem;}
 .itc-personal-summary-stat > span:last-child{min-height:auto;font-size:.9rem;line-height:1.35;}
}

/* Home C 0.0.19 - fascia area personale: titolo disteso + card invariate */
@media (min-width:1200px){
 .itc-home-personal-summary > .container{max-width:1480px;}
 .itc-personal-summary-panel{grid-template-columns:minmax(650px,1fr) minmax(820px,1.15fr);gap:2rem;}
 .itc-personal-summary-copy{max-width:none;}
 .itc-personal-summary-copy h2{white-space:nowrap;}
 .itc-personal-summary-stats{grid-template-columns:repeat(4,minmax(190px,1fr));gap:.8rem;width:100%;}
}
@media (min-width:1200px) and (max-width:1399.98px){
 .itc-personal-summary-copy h2{white-space:normal;}
}


/* Home C 0.0.20 - avvisi compatti e riallineamento fascia personale */
@media (min-width:1200px){
 .itc-personal-summary-stats{transform:translateX(-1.25rem);}
}
.itc-home-news .itc-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;}
.itc-home-news .itc-section-heading-copy{min-width:0;}
.itc-home-news .itc-news-all{flex:0 0 auto;font-size:.9rem;font-weight:600;text-decoration:none;margin-bottom:.15rem;}
.itc-home-news .itc-news-all .icon{width:1.1rem;height:1.1rem;}
.itc-home-news .itc-news-card .card-body{min-height:11.25rem;padding:1.1rem 1.15rem!important;}
.itc-home-news .itc-news-card h3{font-size:1.05rem;line-height:1.25;margin-bottom:.45rem!important;font-weight:700;}
.itc-home-news .itc-news-card p:not(.itc-news-date){font-size:.88rem;line-height:1.38;margin-bottom:.65rem!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.itc-home-news .itc-news-date{display:flex;align-items:center;gap:.55rem;font-size:.72rem;margin-bottom:.5rem!important;}
.itc-home-news .itc-card-action{font-size:.86rem;font-weight:600;padding-top:.35rem;}
@media (max-width:1199.98px){.itc-personal-summary-stats{transform:none;}}
@media (max-width:767.98px){
 .itc-home-news .itc-section-heading{display:block;}
 .itc-home-news .itc-news-all{display:inline-flex;margin-top:.75rem;}
 .itc-home-news .itc-news-card .card-body{min-height:0;}
}


/* Home C 0.0.21 - testata novità a tutta larghezza e card più compatte */
.itc-home-news .itc-section-heading{max-width:none;width:100%;}
.itc-home-news .itc-news-all{margin-left:auto;display:inline-flex;align-items:center;gap:.25rem;}
.itc-home-news .itc-news-card .card-body{min-height:9.75rem;}
@media (max-width:767.98px){
 .itc-home-news .itc-news-all{margin-left:0;}
}


/* Home C 0.0.22 - rifinitura finale card avvisi */
.itc-home-news{padding-bottom:2.25rem!important;}
.itc-home-news .itc-news-card .card-body{min-height:0!important;padding:1rem 1.15rem!important;}
.itc-home-news .itc-news-card{height:auto!important;}
.itc-home-news .itc-news-card .itc-card-action{margin-top:.15rem;}
@media (min-width:768px){
 .itc-home-news .itc-news-card .card-body{min-height:8.15rem!important;}
}

/* Home C 0.0.23 - fascia assistenza allineata al Modello C */
.itc-home-help {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}
.itc-home-help .container { max-width: 1320px; }
.itc-help-panel {
  padding: 1.45rem 1.75rem !important;
  border-radius: .65rem;
  background: linear-gradient(90deg, rgba(var(--itc-primary-rgb),.075), rgba(var(--itc-primary-rgb),.035));
}
.itc-help-panel h2 { font-size: 1.75rem; line-height: 1.12; }
.itc-help-panel > .row { align-items: center; }
.itc-help-link {
  min-height: 5rem;
  padding: .85rem 1rem;
  gap: .85rem;
  border-radius: .55rem;
  justify-content: flex-start;
}
.itc-help-link .icon {
  width: 2.15rem;
  height: 2.15rem;
  flex: 0 0 2.15rem;
}
.itc-help-link strong { font-size: .96rem; line-height: 1.25; }
.itc-help-link small { font-size: .78rem; line-height: 1.25; }
@media (max-width: 991.98px) {
  .itc-help-panel { padding: 1.4rem !important; }
  .itc-help-panel .col-lg-4 { margin-bottom: .25rem; }
}
@media (max-width: 767.98px) {
  .itc-home-help { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .itc-help-link { min-height: 4.75rem; }
}

/* Home C 0.0.24 - rifinitura leggibilita fascia assistenza */
.itc-home-help {
  padding-top: 2.25rem !important;
  padding-bottom: 2.25rem !important;
}
.itc-help-panel {
  padding: 1.75rem 2rem !important;
}
.itc-help-panel h2 {
  font-size: 1.85rem;
  line-height: 1.12;
}
.itc-help-panel p {
  font-size: .98rem;
  line-height: 1.45;
}
.itc-help-link {
  min-height: 5.75rem;
  padding: 1rem 1.15rem;
  gap: 1rem;
  align-items: center;
}
.itc-help-link .icon {
  width: 2.45rem;
  height: 2.45rem;
  flex: 0 0 2.45rem;
}
.itc-help-link strong {
  font-size: 1rem;
  line-height: 1.25;
}
.itc-help-link small {
  font-size: .82rem;
  line-height: 1.3;
}
@media (max-width: 991.98px) {
  .itc-help-panel { padding: 1.6rem !important; }
  .itc-help-link { min-height: 5.4rem; }
}
@media (max-width: 767.98px) {
  .itc-home-help { padding-top: 1.75rem !important; padding-bottom: 1.75rem !important; }
  .itc-help-panel { padding: 1.35rem !important; }
  .itc-help-panel h2 { font-size: 1.65rem; }
  .itc-help-link { min-height: 5rem; padding: .9rem 1rem; }
}


/* Home C 0.0.30 - velatura hero progressiva per leggibilita */
.itc-home-hero.itc-home-hero--photo {
  background-image:
    linear-gradient(90deg, rgba(239,250,252,.92) 0%, rgba(239,250,252,.80) 40%, rgba(239,250,252,.40) 68%, rgba(239,250,252,.12) 100%),
    var(--itc-hero-image);
  background-size: cover;
  background-position: center 50%;
  background-repeat: no-repeat;
}
.itc-home-hero.itc-home-hero--photo::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.06));
  pointer-events:none;
}
.itc-home-hero.itc-home-hero--photo > .container { position:relative; z-index:2; }
.itc-home-hero.itc-home-hero--photo .itc-hero-content { text-shadow:0 1px 0 rgba(255,255,255,.85); }
.itc-home-hero.itc-home-hero--photo .itc-personal-card {
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
@media (max-width:991.98px) {
  .itc-home-hero.itc-home-hero--photo {
    background-position:45% center;
    background-image:
      linear-gradient(90deg,rgba(239,250,252,.90),rgba(239,250,252,.58)),
      var(--itc-hero-image);
  }
}
@media (max-width:575.98px) {
  .itc-home-hero.itc-home-hero--photo {
    background-position:42% center;
    background-image:
      linear-gradient(180deg,rgba(239,250,252,.90),rgba(239,250,252,.70)),
      var(--itc-hero-image);
  }
  .itc-home-hero.itc-home-hero--photo .itc-personal-card { background:rgba(255,255,255,.96); }
}

/* 0.0.33 — Archivio dedicato Avvisi del portale */
.itc-notices-archive-hero{background:#f1fbfc;border-bottom:1px solid rgba(0,188,212,.18)}
.itc-notices-archive-hero h1{color:#17324d;font-weight:700}
.itc-notices-archive-list .itc-news-card{border:1px solid rgba(23,50,77,.14)!important;box-shadow:none!important;transition:box-shadow .18s ease,transform .18s ease}
.itc-notices-archive-list .itc-news-card:hover{box-shadow:0 .4rem 1rem rgba(23,50,77,.09)!important;transform:translateY(-2px)}
.itc-notices-archive-list .itc-news-date{display:flex;align-items:center;gap:.55rem;font-size:.75rem;color:#435466}
.itc-notices-archive-list .itc-notice-summary{font-size:.94rem;line-height:1.5;color:#263746;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.itc-notices-pagination .page-numbers{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0}
.itc-notices-pagination .page-numbers a,.itc-notices-pagination .page-numbers span{display:inline-flex;align-items:center;justify-content:center;min-height:2.6rem;padding:.45rem .8rem;border:1px solid rgba(23,50,77,.18);border-radius:.35rem;text-decoration:none}
.itc-notices-pagination .page-numbers .current{font-weight:700;background:#e8f9fb}
@media (prefers-reduced-motion:reduce){.itc-notices-archive-list .itc-news-card{transition:none}.itc-notices-archive-list .itc-news-card:hover{transform:none}}


/* 0.0.42 - Le ricerche frequenti filtrano il catalogo servizi senza navigare verso pagine WordPress. */
.itc-home-frequent-link {
    appearance: none;
    background: #fff;
    border: 1px solid #d5d9dc;
    border-radius: 999px;
    color: var(--bs-primary, #0066cc);
    cursor: pointer;
    font: inherit;
    padding: .28rem .75rem;
}
.itc-home-frequent-link:hover,
.itc-home-frequent-link:focus-visible {
    text-decoration: underline;
}
.itc-service-result[hidden] { display: none !important; }


/* 0.0.43 - Presentazione temporanea dei servizi in Home; ricerca da ripristinare con le schede informative. */
.itc-home-service-labels { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.65rem; }
.itc-home-service-label { display:inline-flex; align-items:center; min-height:2.25rem; padding:.3rem .8rem; background:#fff; border:1px solid #d5d9dc; border-radius:999px; color:var(--bs-primary, #0066cc); }
