html,
body {
    overflow-x: hidden;
}

#vacinometro .box-graficos {
    width: 25%;
}

.grafico-1,
.grafico-2,
.grafico-3 {
    margin-right: 10px;
}

.swiper-container {
    padding-right: 44px;
    height: 343px;
}

.swiper-wrapper {
    height: 279px !important;
}

.menus-footer {
    width: calc(20% - 10px);
    margin: 0 5px;
}

@media (max-width: 1399px) {
    #logo img {
        max-height: 110px !important;
    }
    /* #search{
        width: 190px;
    } */
}

@media (max-width: 780px) {
    #ano {
        padding-left: 1.5% !important;
    }
    #filters {
        text-align: right;
    }
}

@media (max-width: 1199px) {
    header .navbar-nav,
    header .navbar-nav .dropdown-menu {
        text-align: center;
    }
    #search,
    #custom-search-input {
        width: 100%;
    }
    #vacinometro {
        flex-wrap: wrap;
    }
    #vacinometro img,
    #vacinometro #box-data {
        width: 100%;
    }
    #home-news #banners {
        top: calc(100% + 40px);
        left: 0;
        padding: 0 0.75rem;
        width: 100% !important;
        flex-wrap: wrap;
    }
    #home-news #carousel-news,
    #home-news #more-popular {
        width: 50% !important;
    }
    #banners .multi-collapse {
        width: 100%;
    }
    #banners .multi-collapse .card {
        flex-direction: row !important;
        flex-wrap: wrap;
    }
    #banners .figure {
        min-width: 50%;
        text-align: center;
    }
    .menus-footer {
        width: calc(33.33% - 10px);
    }
}

@media (max-width: 991px) {
    #accessibility #ancoras,
    #accessibility #menu-acessibilidade {
        width: 100%;
        justify-content: center;
        margin: 5px 0;
    }
    #menu .navbar-collapse {
        margin-bottom: 15px;
    }
    #carouselExampleCaptions {
        width: 100% !important;
    }
    .noticias-destaques {
        width: 100% !important;
        margin-top: 8px;
    }
    #transparencia .container-xl.d-flex {
        justify-content: center;
    }
    #transparencia .container-xl .position-relative {
        width: 100% !important;
    }
    #super-banners .container-xl div {
        width: 100% !important;
    }
    #endereco-footer {
        flex-direction: column;
    }
    #endereco-footer div {
        margin: 5px 0;
    }
}

@media (max-width: 767px) {
    #vacinometro .titulos {
        flex-direction: column;
    }
    #vacinometro #graficos-covid {
        flex-wrap: wrap;
    }
    #vacinometro .box-graficos {
        width: calc(50% - 10px);
    }
    .grafico-1,
    .grafico-2 {
        margin-bottom: 10px;
    }
    .grafico-1,
    .grafico-3 {
        margin-right: 10px;
    }
    #home-news #carousel-news,
    #home-news #more-popular {
        width: 100% !important;
    }
    #banners .figure {
        min-width: 100%;
    }
    #transparencia .container-xl .position-relative {
        width: 100% !important;
        font-size: 10px;
    }
    #transparencia .container-xl .swiper-container {
        height: 270px !important;
        padding-right: 0;
    }
    #transparencia .swiper-wrapper {
        height: 210px !important;
    }
    #category-news #news li {
        width: 49% !important;
        margin-bottom: 25px;
    }
    #category-news #news li:last-child {
        margin-bottom: 0px;
    }
    .menus-footer {
        width: calc(50% - 10px);
    }
}

@media (max-width: 575px) {
    #accessibility #ancoras,
    #accessibility #menu-acessibilidade {
        font-size: 8px !important;
    }
    #logo img {
        max-height: 80px !important;
    }
    #carouselExampleCaptions,
    #carouselExampleCaptions .carousel-item,
    .noticias-destaques {
        height: 340px !important;
    }
    #vacinometro #graficos-covid {
        flex-wrap: wrap;
    }
    #vacinometro .box-graficos {
        width: 100%;
    }
    .box-graficos {
        margin: 0;
    }
    .grafico-1,
    .grafico-2,
    .grafico-3 {
        margin-bottom: 10px;
    }
    #home-news #more-popular {
        max-height: none !important;
    }
    #category-news #news li {
        width: 100% !important;
    }
    .menus-footer {
        width: 100%;
        margin-top: 10px;
    }
}
/* 1. Transforma o container pai em um Grid Flexbox contínuo */
#banners-2.d-flex {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
}

/* 2. "DESMANCHA" O COLLAPSE PARA O FLEXBOX
   Faz o Bootstrap ignorar as divs do collapse e tratar os banners como se estivessem todos juntos */
#collapseBanners,
#collapseBanners .card-body {
  display: contents !important;
}

/* 3. Regra de largura para TODOS os 19 banners (3 colunas perfeitas) */
#banners-2 > figure.figure,
#collapseBanners figure.figure {
  width: calc(33.333% - 6px) !important;
  max-width: calc(33.333% - 6px) !important;
  min-width: 0 !important;
  flex: 0 0 calc(33.333% - 6px) !important;
  margin: 0 !important;
}

/* --- ESTADO FECHADO (Exibe exatamente 15 Banners = 3x5) --- */

/* Esconde do 6º ao 9º banner do collapse quando estiver FECHADO */
#collapseBanners:not(.show) figure.figure:nth-of-type(n+6) {
  display: none !important;
}

/* --- ESTADO EXPANDIDO (Exibe os 19 Banners = 3x6 + 1 no meio) --- */

/* Mostra todos os banners ao expandir */
#collapseBanners.show figure.figure {
  display: block !important;
}

/* Centraliza o 19º banner (último item do collapse) na 7ª linha */
#collapseBanners figure.figure:nth-of-type(9) {
  margin-left: calc(33.333% + 3px) !important;
}

/* 4. Imagens 100% responsivas */
#banners-2 img,
#collapseBanners img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
