/*
 Theme Name:   Design-Comuni Italia Child
 Theme URI:    https://tuodominio.it
 Description:  Tema child di Design-Comuni Italia per personalizzazioni del Comune
 Author:       [Il tuo nome o ente]
 Author URI:   https://tuodominio.it
 Template:     design-comuni-wordpress-theme-main
 Version:      1.0.0
*/


:root {
    /*--bootstrap-italia-version: "2.9.2"; codice preso da assets/css/bootstrap-italia-comuni-min.css*/
    --bs-link-color: #0066CC;        /* colore dei link */
    --bs-link-hover-color: #004d99;  /* hover dei link   #013366   */
    --bs-highlight-bg: #72c2e7;      /* sfondo evidenziato */
    --bs-primary: #0066CC;
    --bs-secondary: #5d7083;
    --bs-filtricerca-bg:#c9e3f6;
    --bs-light: #e9e6f2;
    --bs-dark: #17334f;
    --bs-black: #000;
    --bs-white: #fff;
    --bs-bg-opacity:1;
    --bs-primary-rgb:0, 102, 204;
    --bs-white-rgb:255, 255, 255;
    --bs-dropdown-link-color:#0066CC;
    --bs-dropdown-link-hover-color:#004d99;
    --bs-dropdown-link-hover-bg: #e6ecf2;
    --bs-nav-link-font-size: 16px;


    
     /* --bs-secondary-rgb: 93, 112, 131;
    --bs-success-rgb: 0, 128, 85;
    --bs-info-rgb: 93, 112, 131;
    --bs-warning-rgb: 153, 92, 0;
   --bs-body-color:;--bs-body-bg:;
    --bs-border-color:;
    --bs-primary-rgb:;
    --bs-border-radius:; */
}

.table {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-accent-bg: transparent;
    --bs-table-striped-color:#1a1a1a;
    --bs-table-striped-bg:#edf3f8;
    --bs-table-active-color: var(--bs-body-color);
    --bs-table-active-bg: rgba(0, 0, 0, 0.1);
    --bs-table-hover-color: var(--bs-body-color);
    --bs-table-hover-bg: rgba(0, 0, 0, 0.075);
}

.accordion {
    --bs-accordion-active-color: #0066CC;
}


.rating:not(:checked)>label:hover svg, 
.rating:not(:checked)>label:hover~label svg, 
.rating>input:checked+label:hover+svg, 
.rating>input:checked~label svg, 
.rating>input:checked~label:hover+svg, 
.rating>input:checked~label:hover~label+svg, 
.rating>label:hover~input:checked~label+svg {
    fill: #004d99;
}


.pagination {
    --bs-pagination-padding-x: 0.75rem;
    --bs-pagination-padding-y: 0.375rem;
    --bs-pagination-font-size: 0.85rem;
    --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(47, 112, 224, 0.5);
    --bs-pagination-active-color: #fff;
    --bs-pagination-active-bg: #0066CC;
    --bs-pagination-active-border-color: #0066CC;
    --bs-pagination-disabled-color: #525252;
    --bs-pagination-disabled-bg: #fff;
    --bs-pagination-disabled-border-color: #d4d4d4;
}

.pagination .btn-group-sm>.btn, .pagination .btn-sm {
    padding: 6px 12px;
}



/* link: colori */
a {
    color: #0066CC;
}

a:hover {
    color: #004D99;
}


 a.link-consorzio {
    color: #0066CC;
}

a.link-consorzio:hover {
    color: #004D99;
} 


/* Bottoni */
.btn:hover {
    color: rgb(65, 65, 65);
}

.btn-primary {
  color:#ffffff;
  background-color: #0066CC;
  border-color: #0066CC;
}
.btn-primary:hover {
  color:#ffffff;
  background-color: #004D99;
  border-color: #004D99;
}


.btn-primary.focus, .btn-primary:focus {
    box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .15), 0 1px 1px rgba(0, 0, 0, .075), 0 0 0 .25rem rgba(47, 112, 224, 0.5);
}

.btn-primary:not(:disabled):not(.disabled).active, 
.btn-primary:not(:disabled):not(.disabled).active:focus, 
.btn-primary:not(:disabled):not(.disabled):active, 
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show>.btn-primary.dropdown-toggle,
.show>.btn-primary.dropdown-toggle:focus {
  box-shadow: inset 0 0 0 1px #0066CC, 0 0 0 .25rem rgba(47, 112, 224, 0.5);
  color:#ffffff;
  background-color: #004D99;
  border-color: #004D99;
}


.btn-outline-primary {
  color: #0066CC;
  background-color: transparent;
  box-shadow: inset 0 0 0 2px #0066CC;
}
.btn-outline-primary:hover {
  color:#004D99;
  background-color: transparent;
  box-shadow: inset 0 0 0 2px #004D99;
}

.btn-outline-primary:not(:disabled):not(.disabled).active, 
.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active, 
.btn-outline-primary:not(:disabled):not(.disabled):active:focus, 
.show>.btn-outline-primary.dropdown-toggle,
.show>.btn-outline-primary.dropdown-toggle:focus {
    color: #0d6efd;
    background-color: transparent;
    background-image: none;
    box-shadow: inset 0 0 0 1px #0066CC, 0 0 0 .25rem rgba(47, 112, 224, 0.5);
}

/* ✅ Quando il focus arriva dal mouse, togliamo ombra e bordo */
.focus--mouse.btn-outline-primary:focus,
[data-focus-mouse="true"] .btn-outline-primary:focus {
  box-shadow: inset 0 0 0 1px #0066CC, 0 0 0 .25rem rgba(47, 112, 224, 0.5);
}

/* ✅ Focus "vero" (da tastiera) */
.btn-outline-primary:focus-visible {
}


.btn-group-sm>.btn, .btn-sm {
    font-size: 1.2rem;
  }


.t-primary {
    color: #2f475e;
}

.icon-primary {
    fill: #0066CC !important;
}

.cmp-navscroll .navbar.it-navscroll-wrapper .link-list-wrapper ul li a:hover span {
    color: #0066CC;
}

.cmp-input-search-button.form-group .input-group-prepend svg {
    fill: #0066CC;
}

.search-modal .modal-title .search-link svg {
    fill: #0066CC;
}

.search-modal .form-group .autocomplete-icon .icon, .search-modal .form-group .input-group-prepend svg {
    fill: #0066CC;
}

/* .form-check [type=checkbox]:focus+label, .form-check [type=radio]:focus+label, .toggles label input[type=checkbox]:focus+.lever, :focus:not(.focus--mouse) {
    border-color: #995c00 !important;
    box-shadow: 0 0 0 2px #995c00 !important;
    outline: 0 !important;
}
 */
.form-check [type=checkbox]:checked+label:after {
    border-color: #0066CC;
    background-color: #0066CC;
    z-index: 0;
}


.form-select {
  border-radius: 3 !important;
  background-color: transparent;
  padding-left: 5px;
}

.form-select:focus {
  box-shadow: none !important;
  border-bottom: 2px solid #0066cc !important;
}




/* COLORI HEADER */
.it-header-wrapper {
  background-color: #003366;
}

.it-header-slim-wrapper {
    background-color: #004D99; 
}

.it-header-center-wrapper {
    background: #0066CC;
}

.it-header-navbar-wrapper {
    background: #0066cc;
}


.it-header-wrapper .navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link {
 color:#fff !important;
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a {
  color:#fff !important;
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a:hover {
  color:#fff !important;
}


.it-header-slim-wrapper .it-header-slim-wrapper-content a {
   color:#fff !important;
}

.it-header-slim-wrapper .it-header-slim-wrapper-content a:hover {
   color:#fff !important;
}

.it-header-slim-wrapper .it-header-slim-wrapper-content a:hover:not(.active) {
  color:#fff !important;
}


.navbar {
    background: #0066CC;
}


.navbar .navbar-collapsable .menu-wrapper {
    position: inherit;
    top: auto;
    bottom: auto;
    right: auto;
    left: auto;
    overflow-y: visible;
    transform: none;
    transition: none;
    background: #0066CC;
}


.it-calendar-wrapper .it-header-block-title {
    background-color: #004D99;
}



@media (min-width: 992px) {
    .it-header-navbar-wrapper {
        background: #0066CC;
    }
}


@media (min-width: 768px) {
    .it-header-wrapper .search-link svg {
        fill: #0066CC;
    }
}


/* COLORI footer */
.it-footer-main {
  background-color: #004D99;
}


.home main.consorzio h2 {
    margin-top: 6rem;
    margin-bottom: 2.5rem;
}

.home a.tutte-news-home {
  color:#fff;
}

.home section.marginesotto {
  margin-bottom: 5rem !important;
}

/*main.consorzio.homepage {
  margin-bottom:6rem;
}*/

main.consorzio .cmp-navscroll .navbar.it-navscroll-wrapper .link-list-wrapper .accordion .accordion-header .accordion-button {
    color: #0066CC;
}

main.consorzio aside .cmp-navscroll .navbar.it-navscroll-wrapper .link-list-wrapper ul li a.active {
    border-left: 2px solid #0066CC;
    background-color: rgba(0, 102, 204, .05);
}

main.consorzio a, .consorzio a {
    color: #0066CC;
}

main.consorzio .icon-primary {
    fill: #0066CC !important;
}

main.consorzio .btn-dropdown {
    color: #0066CC;
}

main.consorzio.single-bando h1, main.consorzio.single-bandoCIG h1 {
    font-size: 1.8rem;
    line-height: 2rem;
    margin-top:0;
}

main.consorzio h2 {margin-top: 2.5rem;}
main.consorzio h2.no-margin-top { margin-top: 0rem;}

main.consorzio h2.amministrazione-title-h2, main.consorzio h2.whistleblowing-title-h2 {
    margin-top: 4rem !important;
}

main.consorzio.single-news h2 {
  margin-top: 0 !important;
}

main.consorzio.single-titolare-incarico h2,
main.consorzio.single-bando h2, 
main.consorzio.single-bandoCIG h2 {
    font-size: 1.75rem;
    line-height: 2rem;
    margin-top:0;
}


main.consorzio h3 {margin-top: 2.5rem;}
main.consorzio h3.no-margin-top { margin-top: 0rem;}

main.consorzio.single-titolare-incarico h3, 
main.consorzio.single-bando h3, 
main.consorzio.single-bandoCIG h3,
main.consorzio.homepage h3 {
    margin-top: 0;
}

.home-amminstrazionetrasp-overlap h3, .home-whistleblowing-overlap h3 {
    line-height: 3rem;
    font-size: 2.3rem;
    font-weight:700;
    color: #0066CC;
    /*text-decoration:underline;*/
}

main.consorzio.single-titolare-incarico h3.card-title, 
main.consorzio.single-bando h3.card-title,  
main.consorzio.single-bandoCIG h3.card-title {
    line-height: 2rem;
    font-size: 1.4rem;
}

main.atti-procedure h3, .sezioni-eliminate h3 {
    line-height: 1.7rem;
    font-size: 1.2rem;
    margin-top:2rem;
}

main.consorzio h4 {margin-top: 2.3rem;}
main.consorzio h4.no-margin-top {margin-top: 0rem;}

main.consorzio h5 {margin-top: 2.2rem;}
main.consorzio h5.no-margin-top {margin-top: 0rem;}

.rientro-contenuto {
    padding-left: 4rem !important;
}

.testo-destra {
    text-align: right;
}

/* header hero - testo che spazia */

.it-hero-wrapper .it-hero-text-wrapper p {
    font-family: Titillium Web;
}

.cmp-hero .it-hero-wrapper .it-hero-text-wrapper .hero-text {
    max-width: 1920px !important;
}



/* breadcrumb */
/* breadcrumbs: colori */
.cmp-breadcrumbs .breadcrumb-container .breadcrumb .breadcrumb-item a {
    color: #0066CC;
}

.cmp-breadcrumbs .breadcrumb-container .breadcrumb .breadcrumb-item a:hover {
    color: #004D99;
}

/* Breadcrumb: evita che lo slash vada a capo da solo */
.breadcrumb {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    overflow: hidden;
}

.breadcrumb-item {
    display: inline-flex;
    align-items: baseline;
    white-space: nowrap;
    flex-shrink: 0;
}

.breadcrumb-item + .breadcrumb-item::before {
    content: "/\00a0";
    color: var(--bs-secondary-color, #6c757d);
    flex-shrink: 0;
}


/* Breadcrumb: Troncamento del titolo lungo */
.breadcrumb-item.active span[itemprop="name"] {
display: inline-block;
max-width: 400px; /* ← regola qui la larghezza massima del titolo */
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
vertical-align: bottom;
}






/* Elenchi puntati consorzio*/
 /* Elenchi puntati “discreti” */

  ul.lista-consorzio {
    list-style-type: disc;   /* pallini classici */
    margin-left: 3em;      /* rientro classico */
    padding-left: 0;
    color: #222;
  }


  ul.lista-consorzio li.elemento-lista-consorzio {
    margin-bottom: 0.5em;    /* spazio tra elementi */
}


  /* Elenchi numerati */
  ol.lista-num-consorzio {
    list-style-type: decimal;
    margin-left: 3em;
    padding-left: 0;
    color: #222;
  }

  ol.lista-num-consorzio li.elemento-lista-num-consorzio {
    margin-bottom: 0.75em !important;
  }


    /* Elenchi alfabetici minuscoli */
  ol.lista-alpha-consorzio {
    list-style-type: lower-alpha; /* lettere minuscole */
    margin-left: 3em;
    padding-left: 0;
    color: #222;
  }

  ol.lista-alpha-consorzio li.elemento-lista-alpha-consorzio {
    margin-bottom: 0.1em !important;
  }


  /* Elenchi alfabetici maiuscoli */
  ol.lista-alpha-maiuscolo-consorzio {
    list-style-type: upper-alpha; /* lettere maiuscole */
    margin-left: 3em;
    padding-left: 0;
    color: #222;
  }

  ol.lista-alpha-maiuscolo-consorzio li.elemento-lista-alpha-maiuscolo-consorzio {
    margin-bottom: 0.5em !important;
  }


ul.lista-consorzio,
ol.lista-num-consorzio,
ol.lista-alpha-consorzio,
ol.lista-alpha-maiuscolo-consorzio {
  margin-bottom: 1.25em; /* distacco sotto tutta la lista */
}



/* Menu principale */
#menu-main-menu .nav-link {
    font-size: 20px !important;
}

/* Voci del menu dropdown */
#menu-main-menu .dropdown-item {
    font-size: 18px !important;
}

/* Menu secondario */
#menu-tutte-le-news .nav-link,
#menu-tutte-le-news .nav-link span {
    font-size: 20px !important;
}


/* --- FRECCINA "VUOTA" accanto ai dropdown MAIN MENU--- */
.nav-link.dropdown-toggle::after {
  content: "";
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg); /* forma la freccina */
  transition: transform 0.2s ease;
}

/* Ruota la freccia quando il menu è aperto */
.nav-item.dropdown.show > .nav-link.dropdown-toggle::after {
  transform: rotate(225deg);
}

/* --- RIMUOVI sottolineatura dai link del menu --- */
.navbar-nav .nav-link {
  text-decoration: none !important;
}

/* Anche al passaggio del mouse */
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
  text-decoration: none !important;
}


/* Testata - IMMAGINE DI COPERTINA: homepage*/
h2#title-copertina-home {
  font-size: 3.7rem;
  line-height: 4rem;
}

#subtitle-copertina-home {
   font-size: 1.5rem;
    line-height: 2rem;
}

.it-btn-container-home.it-btn-container {
        position: absolute;
        margin-top: 28px;
    }

a#btn-copertina-home.btn-group-sm>.btn, a#btn-copertina-home.btn-group-sm>.btn-sm {
    font-size: 1.5rem;
    line-height: 2rem;
}


#btn-copertina-home {
    background-color: #fff; 
    color: #0066CC;
    box-shadow: inset 0 1px 0 hsla(0, 0%, 100%, .15), 0 1px 1px rgba(0, 0, 0, .075);
    border: 2px solid white;
}

  a#btn-copertina-home:hover {
      background-color: #004C99;
      color:#fff; 
  }


 .logo-square {
    width: 60px;
    height: 60px;
    object-fit: cover;
  }

   /* posizione del banner */
  .consorzio-banner {
    z-index: 2;
    top: -40px;
  }

  .consorzio-banner h1 {
    font-size: 1.5rem;
    line-height:1.7rem;
    letter-spacing: 0.03rem;
    padding-bottom: 0px;
  }

  .consorzio-banner h1.mb-1 {
    margin-bottom:0px !important;
  }

   .consorzio-banner p {
    font-size: 1rem;
    text-align:center;
  }


    @media (max-width: 992px) {
        .burger-icon {
            fill: #ffffff !important; 
            }

    }

  /* adattamento responsive */



@media (max-width: 1199.98px) {
 .consorzio-banner {
      top: -150px;
    }

    
    .it-hero-wrapper .it-hero-text-wrapper {
        padding: 0px 34px 20px 34px;
    }

    .home .it-hero-wrapper .it-hero-text-wrapper {
        margin-bottom: 4.5rem;
    }

        h2#title-copertina-home {
            font-size: 3.5rem;
            line-height: 3.7rem;
        }

        #subtitle-copertina-home {
            font-size: 1.5rem;
            line-height: 1.8rem;
        }



}



@media (max-width: 991.8px) {
    .rientro-contenuto {
        padding-left: 0rem !important;
    }

    .it-header-wrapper .navbar .navbar-collapsable .navbar-nav li a.nav-link.active {
        background-color: rgba(0, 102, 204, .05);
    }

     .consorzio-banner {
      top: -70px;
    }

    .it-hero-wrapper .it-hero-text-wrapper {
        padding: 0px 34px 20px 34px;
    }

    .home .it-hero-wrapper .it-hero-text-wrapper {
        margin-bottom: 4.5rem;
    }

       h2#title-copertina-home {
            font-size: 2.5rem;
            line-height: 2.7rem;
        }

        #subtitle-copertina-home {
            font-size: 1.3rem;
            line-height: 1.5rem;
        }
  

   .it-btn-container-home.it-btn-container {
        margin-top: 0px;
    }

    .logo-square {
      width: 40px;
      height: 40px;
    }
}


@media (max-width: 768px) {
    .navbar .navbar-collapsable .menu-wrapper {
        background: #fff;
    }

    .it-header-wrapper .navbar-collapsable .logo-hamburger {
        color: var(--bs-primary);
        /*padding: 32px 50px 16px 24px;*/
    }

    .navbar .navbar-collapsable .navbar-nav li a.nav-link.active {
        border-left: 3px solid #0066CC;
    }

    .navbar .navbar-collapsable .navbar-nav li a.nav-link {
        color:  var(--bs-primary);
    }

    .dropdown-item {
        /*color: var(--bs-dropdown-link-color);*/
        color: #0066CC;
    }


    .it-header-wrapper .navbar-collapsable .it-socials {
        color: #0066CC;
        padding: 24px 24px;
    }

    .it-header-wrapper .navbar-collapsable .it-socials ul li a svg {
        fill: #0066CC !important;
    }



    .cmp-hero .it-hero-wrapper .it-hero-text-wrapper {
        padding: 28px 0;
    }


    .burger-icon {
    fill: #ffffff !important; 
    }

    .consorzio-banner {display:none;}

  }

/* FINE - -Testata - IMMAGINE DI COPERTINA: homepage*/


.home .it-hero-wrapper {
    background-color: grey;
  }

.flag-overlay {
    position: absolute;
    bottom: 0; 
    left: 0;
    width: 100%;
    height: 50px;
    background-color: #053479;
    color: #ffffff;
    font-weight: 600;
    text-align: center;
    font-size: 1rem;
    border-bottom-left-radius: .5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Card color: #30475f; */
.card-wrapper {
    background-color: #fff;
  }

p.card-text {
    font-size: 1.2rem;
    line-height: 1.8rem;
    font-family: "Titillium Web", Verdana, sans-serif;
    color: #30475f !important;
}

.card .card-body p.card-text {
    font-size: 1.2rem;
    line-height: 1.8rem;
    font-family: "Titillium Web", Verdana, sans-serif;
    color: #30475f !important;
}

.card-link-consorzio {
  font-size: 1.2rem;
  font-weight: 400;
}

/* CARD LIST - fasce blu amministrazione trasparente e whistleblowing - homepage*/ 
.home-cardlist-news .text-primary {
    color: #565657 !important;
}

.home-amministrazionetrasp, .home-whistleblowing {
    align-items: center;
    background-color: #0066CC;
    min-height: 280px;
}

.home-amminstrazionetrasp-overlap, .home-whistleblowing-overlap {
    margin-top: -140px;
    padding-bottom: 40px;
    position: relative;
}

.home-whistleblowing-overlap img {
  object-fit: contain; 
  border-top-left-radius: .5rem; 
  border-bottom-left-radius: .5rem; 
  padding: 40px 1.8rem 40px 1.8rem;
}

/* Card list Servizi Homepage*/
.home-cardlist-servizi {
    background-color: #f5f5f5;
    padding-top:1em;
    padding-bottom:3em;
}

/* Mini-card list Comuni- homepage*/
/* Card */
.home-cardlist-comuni {
    background-color: #f5f5f5;
    padding-top:1em;
    padding-bottom:3em;
}

.comune-card {
  background-color: #fff;
  border: 1px solid #dcdcdc;
  border-radius: 6px;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1) !important; /* ombra visibile sempre */
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.comune-card:hover {
  box-shadow: 0 6px 16px rgba(0,0,0,0.2) !important; /* ombra più scura */
  transform: translateY(-2px); /* leggero sollevamento */
}


/* Titolo del comune - grande e blu */
.comune-card .card-title {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 16px;
  color: #0066cc;
}

/* Link sottolineato e un po' spesso */
a.comune-card-link {
  font-size: 16px;
  font-weight: 600; /* più spesso */
  color: #0066cc;
  text-decoration: underline;
  transition: color 0.2s ease;
}

a.comune-card-link:hover {
  color: #004a99;
}

.comune-card.card:after {
    content: "";
    display: block;
    margin-top: 18px;
    margin-left: 24px;
}

/* Responsività */
@media (max-width: 991px) {
  .comuni-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .comuni-cards {
    grid-template-columns: 1fr;
  }
}


/*articolo singolo - immagine sx - news??*/
.consorzio .article-image-left img {
    object-fit: cover;
    width: 100%;
    height: auto;
    border-radius: 12px;
}



/* MENU SX AMMINISTRAZIONE trasparente e servizi*/
.sidebar-wrapper {
    padding: 0 !important;
}

.offcanvas,
.offcanvas-lg,
.offcanvas-md,
.offcanvas-sm,
.offcanvas-xl,
.offcanvas-xxl {
  --bs-offcanvas-box-shadow: none !important;
  box-shadow: none !important;
}

.link-list .list-item.toggle-submenu {
  display: flex;
  justify-content: space-between;
  align-items: center; /* <-- centra verticalmente freccina e testo */
  gap: 0.5rem; /* un po’ di spazio tra testo e icona */
  text-decoration: none;
}

.link-list .list-item.toggle-submenu span {
  flex: 1; /* permette al testo di andare su più righe */
}

.link-list .submenu-arrow {
  flex-shrink: 0; /* evita che si ridimensioni */
  margin-left: 0.5rem;
  transition: transform 0.3s ease;
}


.list-item.active span {
    color: #2f475e !important; 
}


/* Nasconde i sub-menu delle voci disabilitate */
a.list-item.disabled + ul.link-list-submenu {
    display: none !important;
    margin: 0;
    padding: 0;
}

.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul.link-list > li > a.list-item.disabled,
.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul.link-list-submenu > li > a.list-item.disabled {
  background-color:#d8dadb;
  color:#5c6f82 !important;
  margin-top:0.5rem;
  margin-bottom:0.5rem;
  cursor:default;
}


/* Rientro submenu */
.link-list-submenu {
    margin-left: 1rem;
    padding-left: 0.5rem;
}


.link-list-subsubmenu {
    margin-left: 2rem;
}

/* Freccia rotante */
.submenu-arrow {
    transition: transform 0.3s;
}


.link-list-submenu .list-item {
  font-size: 0.95rem;
}


.link-list-wrapper ul li a span {
    color: #0066CC;
}

.link-list-wrapper ul li a:hover:not(.disabled) span {
    color: #2f475e;
    text-decoration: underline;
}


.link-list-wrapper ul li a:hover:not(.disabled) .icon {
    fill: #0066CC;
}

.link-list-wrapper ul li a.active .icon {
    color: #0066CC;
}

 .sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul li a {
    font-size: 1.125rem;
    line-height: 1.2rem !important;
    padding-top: .40rem !important;
    padding-bottom: .40rem !important;
} 

.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul li a.disabled {
    padding-top: 0rem;
    padding-bottom: 0rem; 
}

.link-list-wrapper ul li a.disabled span {
    color: #63707e; 
}



/* Sub-menu livello 1 */
.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul.link-list-submenu > li > a.list-item {
    font-size: 1.125rem;
    line-height: 1.2rem;
    font-weight:400;
}

/* Sub-menu livello 2+ */
.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul.link-list-subsubmenu > li > a.list-item {
    font-size: 0.75rem;
    line-height: 1.1rem;
    font-weight:400;
}

.sidebar-wrapper .sidebar-linklist-wrapper .link-list-wrapper ul li a.active:after {
    background-color: #2f475e;
}

/* ========== SIDEBAR ACCESSIBILE BOOTSTRAP ITALIA ========== */

/* Su desktop la sidebar deve essere SEMPRE visibile */


@media (min-width: 992px) {
    .navbar.it-navscroll-wrapper .link-list-wrapper ul li a.active span {
        color: #0056b3;
    }


  .offcanvas.offcanvas-start.sidebar-wrapper {
    position: static !important;
    visibility: visible !important;
    transform: none !important;
    border-right: 1px solid var(--bs-border-color);
    background-color: transparent; /* evita fondo bianco */
  }

  /* Nascondi header dell’offcanvas (titolo e X) su desktop */
  .offcanvas-header {
    display: none !important;
  }

  /* Il corpo dell’offcanvas su desktop deve espandersi */
  .offcanvas-body {
    flex: 1 1 auto;
    overflow-y: auto;
    height: 100%;
  }

  /* Nascondi il bottone hamburger su desktop */
  .btn[data-bs-toggle="offcanvas"] {
    display: none !important;
  }
}

/* Su mobile: sidebar scorrevole e a tutto schermo */
@media (max-width: 991.98px) {
  .offcanvas.offcanvas-start.sidebar-wrapper {
    max-width: 80%; /* non tutto lo schermo, più leggibile */
  }
}

/* Migliora accessibilità dei link e focus */
.link-list .list-item:focus {
  outline: 2px solid #0056b3;
  outline-offset: 2px;
}

/* Per i ciechi / screen reader */
.visually-hidden,
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
}



/* filtri e cerca generici*/
.consorzio .form-group {
    margin-bottom: 0rem; 
}

.consorzio form .form-select {
    border: 1px solid #ced4da;  /* stesso grigio dell'input */
    border-radius: .25rem;       /* arrotondamento uguale */
}


/* ===========================
   CERCA FILTRI BANDI- DOCUMENTI – Bootstrap Italia style
   =========================== */
/* --- Allineamento e bordi coerenti fra input e select --- */
/* --- Campi input e select --- */
/* Stile condiviso per i filtri */
.filtri-bandi,
.filtri-documenti {
  background-color: var(--bs-filtricerca-bg);
  padding: 1.5rem;
  margin-bottom: 20px;
}

/* Titolo sezione */
.filtri-bandi h3,
.filtri-documenti h3 {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--bs-body-color);
}

/* Campi input e select */
.filtri-bandi .form-control,
.filtri-bandi .form-select,
.filtri-documenti .form-control,
.filtri-documenti .form-select {
  height: calc(2.5rem + 2px);
  border: 1px solid var(--bs-border-color, #c5c7c9);
  border-radius: var(--bs-border-radius, 0.25rem);
  box-shadow: none;
  background-color: var(--bs-body-bg, #fff);
}

.filtri-bandi .form-select,
.filtri-documenti .form-select {
  background-clip: padding-box;
  border-bottom: 1px solid var(--bs-border-color, #c5c7c9) !important;
}

/* Focus coerente Bootstrap Italia */
.filtri-bandi .form-control:focus,
.filtri-bandi .form-select:focus,
.filtri-documenti .form-control:focus,
.filtri-documenti .form-select:focus {
  border-color: var(--bs-primary);
  box-shadow: 0 0 0 0.25rem rgba(var(--bs-primary-rgb, 13, 110, 253), 0.25);
  outline: none;
}

/* Label coerenti */
.filtri-bandi .form-label,
.filtri-documenti .form-label {
  font-weight: 500;
  color: var(--bs-body-color);
  margin-bottom: 0.25rem;
}


/* Flex container bottoni */
.filtri-bandi .d-md-flex,
.filtri-documenti .d-md-flex {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: flex-end; /* <<<<< forza allineamento in basso */
}

/* Bottoni responsivi */
.filtri-bandi .d-md-flex > .btn,
.filtri-documenti .d-md-flex > .btn {
  flex: 1 1 auto; /* occupano spazio disponibile */
  height: calc(2.5rem + 2px); /* stessa altezza degli input */
  padding: 0 .75rem;           /* padding verticale 0, orizzontale standard */
  font-size: 1rem;             /* mantiene leggibile */
  line-height: calc(2.5rem + 2px); /* centra il testo verticalmente */
  display: flex;
  align-items: center;
  justify-content: center;
}


/* Allinea altezza bottoni a quella dei campi input 
.filtri-documenti .d-md-flex > .btn {
  height: calc(2.5rem + 2px); 
  padding: 0 .75rem;          
  font-size: 1rem;            
  line-height: calc(2.5rem + 2px); 
  display: flex;
  align-items: center;
  justify-content: center;
}
*/

.filtri-documenti .clean-input {
  display: none !important;
}

.btn.bottone-filtra, .btn.bottone-reset {
    padding: 7px 10px;
}





/* CERCA e FILTRI nella pagina BANDI di CONCORSO DI AMMINISTRAZIONE TRASPARENTE */
.bando-filters {
    text-align: left;
}

.bando-filters .btn {
    margin-left: 0.5rem;
}


.filtri-bandi span.titolo-ricerca-filtri {    
    font-size: 1.5rem;
    line-height: 1.7rem;
    margin-top:0; 
}

.filtri-bandi p.titolo-ricerca-filtri {    
    font-size: 1.5rem;
    line-height: 1.7rem;
    margin-top:0; 
    margin-bottom:20px;
}



/* Allinea correttamente il bottone pulisci input */
.filtri-bandi .input-group {
  position: relative;
}

.filtri-bandi .clean-input {
  position: absolute;
  top: 50%;
  right: 0.75rem;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  opacity: 1;
  visibility: visible;
  z-index: 2;
}

.filtri-bandi .clean-input .icon {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* Spazio nell’input per non coprire il testo */
.filtri-bandi .form-control {
  padding-right: 2rem;
  box-sizing: border-box;
}





/* filtro/cerca Bandi cig:*/
/* valori tipologie allegati troppo lunghi...testo esc dal quadro del sito*/
/* --- Stile solo per il select "Tipologia allegato" --- */
/* --- Gestione testo lungo nel select tipologia allegato --- */
#tipologia_allegato {
  display: block;
  max-width: 100%;
  white-space: nowrap;          /* tutto su una riga */
  overflow: hidden;             /* nasconde il testo in eccesso */
  text-overflow: ellipsis;      /* aggiunge i “…” alla fine */
}

/* per sicurezza, applica anche agli <option> interni */
#tipologia_allegato option {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* opzionale: se vuoi uniformare la grafica agli altri campi */
#tipologia_allegato.form-select {
  border: 1px solid var(--bs-border-color, #c5c7c9);
  border-radius: var(--bs-border-radius, 0.25rem);
  box-shadow: none;
  background-color: var(--bs-body-bg, #fff);
  background-clip: padding-box;
}

/*Table bandi CIG*/
#bandi-cig-table tbody tr:nth-of-type(odd) > * {
    background-color: var(--bs-table-striped-bg) !important;
}


/* #bandi-cig-table {
  font-size: 1rem;
}
 */
#bandi-cig-table th {
  white-space: nowrap;
  background-color: var(--bs-primary);
  color: #fff;
  font-weight: 600;
}

#bandi-cig-table td {
  vertical-align: middle;
}

#bandi-cig-table a {
  text-decoration: none;
}

#bandi-cig-table a:hover {
  color:#004d99;
}


#bandi-cig-table a.btn {
  padding: 0.25rem 0.75rem;
  white-space: nowrap;
}

/* FINE CERCA e FILTRI nella pagina BANDI di CONCORSO DI AMMINISTRAZIONE TRASPARENTE */



/* Listato Bandi di concorso - amministrazione trasparente */
p.card-intro-bando {
    font-size: 2rem;
    line-height: 2rem;
    font-weight: 700;
    color: #464646;
}

a h3.card-title-bando {
    font-size: 1.3rem;
    line-height: 1.7rem;
    font-weight: 90;
    color: #464646;
}


a.card-title-link-bando h3.card-title-bando:hover {
    color: #000000;
}


a.card-link-bando {
    color: #0066CC; 
    text-decoration:none;
}

a.card-link-bando:hover {
    color: #004C99;
    text-decoration: underline;
}

a.card-title-link-bando.text-decoration-none:hover h3.card-title {
    text-decoration: none !important;
    color: #004D99;
}

a.card-title-link-bando.text-decoration-none:hover {
    text-decoration: none !important;
}

/*  fine Listato Bandi di concorso - amministrazione trasparente */




/* Titolo dei comuni */
.comuni-lista h4 {
  text-decoration-color: #0066CC; /* colore chiaro */
  font-size: 1.125rem;
}

/* Ogni riga del listato */
.comuni-lista li {
  border-bottom: 1px solid #a4a1a1;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
}

/* Stile link comuni */
.comuni-lista a {
  color: #0066CC; 
  text-decoration: none; /* tolgo sottolineatura di default */
}

/* Hover link comuni */
.comuni-lista a:hover {
  color: #004C99; /* tonalità più scura */
  text-decoration: underline;
  text-decoration-thickness: 1px; /* sottile */
  text-underline-offset: 2px; /* distanza dal testo */
}


/*lista dei documenti */
.documenti-lista h4 {
    text-decoration-color: #0066CC; /* colore chiaro */
}

.documenti-lista li {
    border-bottom: 1px solid #a4a1a1;
    margin-bottom: 0.5rem;
}

/* Stile link documenti */
.documenti-lista a {
    color: #0066CC; 
}

/* Al passaggio del mouse */
.documenti-lista a:hover {
    color: #004C99; /* tonalità più scura */
    text-decoration: underline;
    text-decoration-thickness: 1px; /* sottolineatura sottile*/
    text-underline-offset: 2px; /* distanza dal testo */
}

/* Listato in TEMPLATE pagina-listato-documenti.php*/
ul.documenti-lista li a .list-item-title-icon-wrapper h4.list-item-title {
    font-size: 1.125rem !important;
}

ul.documenti-lista li a .list-item-title-icon-wrapper svg.icon-primary {
    fill: #0066CC !important;
}
/* fine style documenti*/



/* Pagina listato uffici */
.pagina-listato-uffici h2.title-section-consorzio {
  font-size: 2rem; /* titolo più grande */
  margin-bottom: 1.15rem; /* spazio fra titolo e contenuti */
  line-height: 2rem;
  color: #000000;
}

.titolo-margintop {
    margin-top:4rem;
}



/* Card Uffici Consorzio - stile dedicato */
.uffici-consorzio-section .it-card-body {
  line-height: 1.4; /* interlinea più compatta */
}

.uffici-consorzio-section .it-card-body a {
  color: #0066cc;
  text-decoration: none;
}

.uffici-consorzio-section .it-card-body a:hover,
.uffici-consorzio-section .it-card-body a:focus {
  color: #004999; /* blu più scuro in hover */
  text-decoration: underline;
}

.uffici-consorzio-section h3.it-card-title {
  font-size: 1.75rem; /* titolo più grande */
  margin-bottom: 1.15rem !important;/* spazio fra titolo e contenuti */
  line-height: 1.75rem;
  color: #000000;
}

.uffici-consorzio-section .it-card-body p {
  margin-bottom: 0.2rem; 
}



/* Card BANDI CIG Consorzio - stile dedicato */
.single-bandoCIG .card-wrapper {
    display:block;
}

.fullwidth-cards .card {
  flex: 0 0 100%;
  max-width: 100%;
}

.sezione-contatti-servizio p {
  margin-bottom: 0px;
}


/* Lightox immagini nella pagine  */
.it-grid-list-wrapper {
    padding-bottom: 48px;
}


#lightboxModal img {
    max-width: 80%;   /* riduce larghezza */
    max-height: 80vh; /* mantiene proporzioni */
    margin: auto;
    display: block;
}

.it-grid-item-wrapper.it-grid-item-overlay .img-responsive-wrapper:after {
    content: "";
    display: block;
    background: transparent !important;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.figure-caption.it-griditem-text-wrapper {
    position: relative;
    z-index: 1;
    color: #fff; /* o colore testo desiderato */
}

.figure-caption.it-griditem-text-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55); /* overlay nero semitrasparente */
    z-index: -1;
}

/* =========================
   CookieFirst – Banner (pulito )
   Selettori stabili: data-cookiefirst-*
   ========================= */

/* Dimensioni e card style */
[data-cookiefirst-widget="banner"]{
  width: min(900px, calc(100vw - 24px)) !important;
  margin: 0 auto 16px auto !important;

  background: #fff !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 12px !important;
  box-shadow:
    0 18px 60px rgba(0,0,0,.18),
    0 6px 18px rgba(0,0,0,.12) !important;
}

/* Normalizzazione per evitare conflitti tema */
[data-cookiefirst-widget="banner"],
[data-cookiefirst-widget="banner"] *{
  box-sizing: border-box !important;
}

/* Tipografia */
/* Titolo CookieFirst – override reale */
[data-cookiefirst-widget="banner"] .cfZo2x h2{
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}



[data-cookiefirst-widget="banner"] p{
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 0 10px 0 !important;
}

/* =========================
   Pulsanti – layout (il tuo fix, reso più ordinato)
   ========================= */

/* Contenitore pulsanti */
[data-cookiefirst-widget="banner"] .cf3Tgk{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: stretch !important;
  margin-top: 14px !important;
}

/* 2 colonne su desktop, 1 su mobile */
/* Desktop: pulsanti su 2 colonne */
@media (min-width: 641px){
  [data-cookiefirst-widget="banner"] .cf3Tgk > div{
    flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
  }
}


@media (max-width: 640px){
  [data-cookiefirst-widget="banner"] .cf3Tgk > div{
    flex: 1 1 100% !important;
    min-width: 0 !important;
  }
}

/* Bottone: leggibile e consistente */
[data-cookiefirst-widget="banner"] button[data-cookiefirst-action]{
  width: 100% !important;

  white-space: normal !important;
  overflow-wrap: anywhere !important;

  height: auto !important;
  min-height: 42px !important;
  padding: 10px 14px !important;

  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;

  border-radius: 10px !important;
}

/* Hover / focus (professionale + accessibile) */
[data-cookiefirst-widget="banner"] button[data-cookiefirst-action]:hover{
  filter: brightness(0.98);
}

[data-cookiefirst-widget="banner"] button[data-cookiefirst-action]:focus-visible{
  outline: 3px solid rgba(0,0,0,.25) !important;
  outline-offset: 2px !important;
}

/* (Opzionale) allinea verticalmente alcuni blocchi se CookieFirst li mette in flex */
[data-cookiefirst-widget="banner"] [class*="cfAdwL"]{
  align-items: center !important;
}


