/* =======================================================
   PREVENÇÃO DE FOUC (Menu invisível até o site carregar)
   ======================================================= */
header {
    visibility: hidden;
}

/* Quando a página carregar, o JS adiciona .menu-ready ao body */
body.menu-ready header {
    visibility: visible;
}


/* Força font-display nas fontes externas */
@font-face {
  font-family: "Font Awesome 6 Brands";
  font-display: swap;
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-display: swap;
}

@font-face {
  font-family: "bootstrap-icons";
  font-display: swap;
}

/*alinhamento de div ao centro*/
.centralizar{
    display: flex !important; 
    justify-content: center !important;  
    align-items: center !important;
}

/* menu */

/* ============================
      MENU — ESTILOS GERAIS
============================ */

.nav-link {
    font-size: 17px;
    font-weight: 500;
    color: #333 !important;
    transition: color 0.3s ease;
}

.nav-link:hover {
    color: #0d6efd !important;
}

.menu-btn-exame {
    background: #34448c;
    color: #fff;
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    display: inline-block;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.menu-btn-exame:hover {
    background: #00ffae !important;
    color: #34448c !important;
    transform: scale(1.08);
}


.offset-menu{height:170px;}

/* ============================
   DROPDOWN — DESKTOP (≥992px)
============================ */

@media (min-width: 992px) {

    .navbar .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);

        transition:
            opacity 0.35s ease,
            transform 0.35s ease,
            visibility 0s linear 0.35s;

        pointer-events: none;
    }

    .navbar .dropdown.show .dropdown-menu,
    .navbar .dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        transition-delay: 0s;
        pointer-events: auto;
    }
}

/* ============================
  DROPDOWN — MOBILE (<992px)
============================ */

@media (max-width: 991px) {
    .navbar .dropdown-menu {
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        transition: none !important;
        display: none;
    }

    .navbar .dropdown-menu.show {
        display: block !important;
    }
}


/*menu fim*/


/* ============================
   ESTILOS GERAIS
============================ 

.nav-link {
    font-size: 17px;
    font-weight: 500;
    color: #333 !important;
    margin-right: 20px;
    transition: color 0.3s ease;
}

.nav-link:hover {
    color: #0d6efd !important;
}

.dropdown-menu {
    border-radius: 10px;
    padding: 10px;
}

.dropdown-item {
    padding: 8px 15px;
    font-size: 16px;
}

/* BOTÃO RESULTADO *
.menu-btn-exame {
    background: #34448c;
    color: #fff !important;
    padding: 10px 18px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: .3s ease;
}

.menu-btn-exame:hover {
    background: #00ffae;
    color: #34448c !important;
    transform: scale(1.08);
}

/* ============================
   DROPDOWN — DESKTOP (>=992px)
============================ *
@media (min-width: 992px) {

    .navbar .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: .25s ease;
        pointer-events: none;
    }

    .navbar .dropdown:hover .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        pointer-events: auto;
    }

    .offset-menu{height:140px;}
}

/* ============================
   DROPDOWN — MOBILE (<992px)
============================ *
@media (max-width: 991px) {

    .navbar .dropdown-menu {
        display: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        pointer-events: auto !important;
        transition: none !important;
    }

    .navbar .show > .dropdown-menu {
        display: block !important;
    }

    .offset-menu{height:120px;}
}

*/

/* ============================= */
/* BANNER (SLIDER)               */
/* ============================= */

#banner {
    width: 100%;
    aspect-ratio: 1920 / 402;
    overflow: hidden;
    position: relative;
}

/* Container do slider */
.banner-slider {
    width: 100%;
    height: 100%;
    position: relative;
}

/* SLIDE — agora com animação corrigida */
.banner-slide {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 100%; /* sempre começa fora da tela, à direita */
    opacity: 0;
    transition: left 0.6s ease, opacity 0.6s ease;
}

/* Slide visível */
.banner-slide.active {
    left: 0;
    opacity: 1;
}

/* Slide que está saindo pela esquerda */
.banner-slide.exit-left {
    left: -100%;
    opacity: 0;
}

/* Slide entrando pela direita */
.banner-slide.enter-from-right {
    left: 0;
    opacity: 1;
}

/* Imagem ou vídeo */
.banner-media {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Texto + botão centralizados */
.banner-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

/* Título */
.banner-content h2 {
    color: #fff;
    font-size: 32px;
    text-transform: uppercase;
    font-weight: 800;
    text-shadow: 0 2px 5px rgba(0,0,0,0.6);
    margin-bottom: 15px;
}

/* Botão dentro do banner */
.banner-btn {
    display: inline-block;
    background: #34448c;
    color: #fff;
    padding: 12px 30px;
    border-radius: 50px;
    font-size: 18px;
    text-decoration: none;
    font-weight: 600;
    transition: transform .3s ease, background-color .3s ease;
}

/* Zoom */
.banner-btn:hover {
    transform: scale(1.08);
    background: #00ffae;
    color: #34448c;
}

/* Setas */
.banner-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 12px;
    font-size: 22px;
    color: #fff;
    cursor: pointer;
    background: rgba(0,0,0,0.3);
    border-radius: 40%;
    transition: 0.3s;
    z-index: 10;
}

.banner-arrow:hover {
    background: rgba(0,0,0,0.6);
}

.banner-arrow.left {
    left: 15px;
}

.banner-arrow.right {
    right: 15px;
}

/* Bolinhas */
.banner-dots {
    position: absolute;
    bottom: 15px;
    width: 100%;
    text-align: center;
}

.banner-dots span {
    height: 12px;
    width: 12px;
    margin: 0 5px;
    background: rgba(255,255,255,0.6);
    display: inline-block;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
}

.banner-dots .active {
    background: #00ffae;
}




/* RESPONSIVO — remove inteiro no mobile */
@media (max-width: 768px) {
    #banner {
        display: none !important;
    }
}

/*fim banner*/

/* Header CSS */
#top-header {
    background: #34448c;
    height: 80px;
    display: flex;
    align-items: center;
    color: #fff;
}



.header-col {
    text-align: center;
}

.teste {
    text-align: center;
}

.header-col .line-1 i,
.header-col .line-2 i {
    font-size: 16px;
}

/* Centralizar ícone + email na primeira linha */
.line-1 {
display: flex !important;
justify-content: center;
align-items: center;
}

.email-link {
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
}
.email-link:hover {
    color: #00ffae;
}

.social-icons {
    display: flex;
    justify-content: center;
}

.social-icons a {
    color: #fff;
    font-size: 18px;
    transition: 0.3s;
}
.social-icons a:hover {
    color: #00ffae;
}

.contacts .contact-item {
    margin-right: 15px;
    cursor: pointer;
    transition: 0.3s;
}
.contacts .contact-item:hover {
    color: #00ffae;
}


.contacts .contact-item2 {
    margin-right: 15px;
    cursor: pointer;
    transition: 0.3s;
    text-decoration: none; /* remove sublinhado */
    color: inherit;        /* herda a cor atual */
}

.contacts .contact-item2:hover {
    color: #00ffae;
}



/* ===============================*/
/* Imagens Fotos Tamanhos*/
/* ===============================*/
.img-small {
    width: 120px;
    height: auto;
}

.img-medium {
    width: 250px;
    height: auto;
}

.img-large {
    width: 500px;
    height: auto;
}

.img-square-150 {
    width: 150px;
    height: 150px;
    object-fit: cover; /* mantém proporção cortando as bordas */
}

.img-small-10 {
    width: 10%;
    height: auto;
    margin-bottom: 25px;
}

.img-small-20 {
    width: 20%;
    height: auto;
    margin-top: 15px;
    margin-bottom: 10px;
}

.img-medium-30 {
    width: 30%;
    height: auto;
    margin-bottom: 15px;
}

.img-large-50 {
    width: 50%;
    height: auto;
}

.img-square-50 {
    width: 50%;
    height: 50%;
    object-fit: cover; /* mantém proporção cortando as bordas */
}


/* ============================= */
/* RESPONSIVIDADE DO HEADER */
/* ============================= */


@media (max-width: 992px) { /* Tablets */
#top-header {
height: auto;
padding: 15px 0;
}


.container {
flex-direction: column !important;
text-align: center;
}


.header-col {
width: 100% !important;
margin-bottom: 20px;
}
}


@media (max-width: 768px) { /* Celulares */
#top-header {
text-align: center;
}


.header-inner {
flex-direction: column;
align-items: center;
}


.header-col {
width: 100% !important;
}


.contacts .contact-item {
display: block;
margin: 5px 0;
}


.contacts a.contact-item2  {
    margin-right: 15px;
    cursor: pointer;
    transition: 0.3s;
}
.contacts a.contact-item2:hover {
    color: #00ffae;
}


.social-icons {
justify-content: left !important;
}

.h-redes-sociais{display: none;}
}




/*hidtoria*/
/* =========================== */
/* SESSION SOBRE NOS fundo verde*/
/* =========================== */

#sessao-historia-fundo-verde {
    background: #e3edda;
}

/* Título */
.titulo-historia-fundo-verde {
    font-size: 33px;
    color: #7fb144;
    font-weight: 700;
    text-align: left;
}

/* Texto */
.descricao-historia-fundo-verde {
    font-size: 20px;
    color: #333;
    text-align: left;
    line-height: 1.6;
}

/* Botão */
.btn-historia-fundo-verde {
    background: #7fb144;
    color: #fff;
    padding: 10px 30px;
    border-radius: 50px;
    font-size: 20px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.btn-historia-fundo-verde:hover {
    background: #34448c;
    transform: scale(1.15);
}

/* Imagem com fade-in lateral */
/*.img-historia {
    width: 100%;
    border-radius: 10px;
    opacity: 0;
    transform: translateX(60px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}*/

/* Imagem com fade-in lateral (começa fora da tela) */
.img-historia-fundo-verde {
    width: 100%;
    border-radius: 10px;
    opacity: 0;
    transform: translateX(150px); /* aumentei a distância */
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

/* Classe que ativa o fade */
.fade-in-active-fundo-verde {
    opacity: 1 !important;
    transform: translateX(0) !important;
}


.fade-right-fundo-verde {
    opacity: 0 !important;
    transform: translateX(20px);
    transition: opacity .8s ease-out, transform .8s ease-out;
}

.fade-right-fundo-verde.animate {
    opacity: 1 !important;
    transform: translateX(0);
}



/* =========================== */
/* RESPONSIVIDADE */
/* =========================== */

@media (max-width: 992px) {
    .titulo-historia-fundo-verde,
    .descricao-historia-fundo-verde {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .img-historia-fundo-verde {
        margin-top: 20px;
    }
}
/*fim sobre nos */

/*hidtoria*/
/* =========================== */
/* SESSION HISTÓRIA */
/* =========================== */

#sessao-historia {
    background: #fff;
}

/* Título */
.titulo-historia {
    font-size: 33px;
    color: #7fb144;
    font-weight: 700;
    text-align: left;
}

/* Texto */
.descricao-historia {
    font-size: 20px;
    color: #333;
    text-align: left;
    line-height: 1.6;
}

/* Botão */
.btn-historia {
    background: #7fb144;
    color: #fff;
    padding: 10px 30px;
    border-radius: 50px;
    font-size: 20px;
    text-decoration: none;
    font-weight: 600;
    display: inline-block;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.btn-historia:hover {
    background: #34448c;
    transform: scale(1.15);
}

/* Imagem com fade-in lateral */
/*.img-historia {
    width: 100%;
    border-radius: 10px;
    opacity: 0;
    transform: translateX(60px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}*/

/* Imagem com fade-in lateral (começa fora da tela) */
.img-historia {
    width: 100%;
    border-radius: 10px;
    opacity: 0;
    transform: translateX(150px); /* aumentei a distância */
    transition: opacity 1.2s ease-out, transform 1.2s ease-out;
}

/* Classe que ativa o fade */
.fade-in-active {
    opacity: 1 !important;
    transform: translateX(0) !important;
}


.fade-right {
    opacity: 0 !important;
    transform: translateX(20px);
    transition: opacity .8s ease-out, transform .8s ease-out;
}

.fade-right.animate {
    opacity: 1 !important;
    transform: translateX(0);
}



/* =========================== */
/* RESPONSIVIDADE */
/* =========================== */

@media (max-width: 992px) {
    .titulo-historia,
    .descricao-historia {
        text-align: center;
    }
}

@media (max-width: 768px) {
    .img-historia {
        margin-top: 20px;
    }
}
/*fim historia */


/**/

/* =========================== */
/* SESSION SESSION 5 */
/* =========================== */
.session5 {
  width: 100%;
  background-color: #7fb14433; /* leve tom verde claro */
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px 0;
}

.session5-container {
  width: 1200px;
  max-width: 95%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 30px;
  flex-wrap: wrap; /* PERMITE QUE AS COLUNAS DESÇAM AUTOMATICAMENTE */
}

/* Estado inicial: invisível e deslocado */
.session5-col {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.1s ease-out, transform 1.1s ease-out;
  width: 33%;
  min-width: 280px; /* evita que fique espremido */
  text-align: center;
  color: #7fb144;
  flex: 1; /* melhora a distribuição */
}

/* Quando aparecer */
.session5-col.show {
  opacity: 1;
  transform: translateY(0);
}

/* Ícones */
.session5-col .icon i {
  font-size: 50px;
  margin-bottom: 10px;
}

/* Título */
.session5-col .title {
  font-size: 20px;
  font-weight: 600;
}


/* Título */
.session5-col .title-valores {
  font-size: 26px;
  font-weight: 600;
}


/* DESCRICAO VALORES */
.session5-col .descricao-valores {
  margin-top: 10px;
  font-size: 20px;
  color: #494949;
  padding: 10px;
}

/* =========================== */
/* RESPONSIVIDADE */
/* =========================== */

/* Tablets */
@media (max-width: 992px) {
  .session5-container {
    gap: 40px;
  }
  
  .session5-col {
    width: 45%;
  }
}

/* Celulares */
@media (max-width: 768px) {
  .session5-container {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }

  .session5-col {
    width: 100%;  /* vira uma linha */
    max-width: 500px;
  }

  .session5-col .title {
    font-size: 18px;
  }
}
/**/


/*servicos*/
/* =========================== */
/* SESSÃO SERVIÇOS */
/* =========================== */

.servicos-section {
    width: 100%;
    background: #ffffff;
    color: #7fb144;
    padding: 40px 0;
    display: flex;
    justify-content: center;
}


.servicos-container {
    width: 1200px;
    max-width: 95%;
    text-align: center;
}

.servicos-title {
    font-size: 32px;
    font-weight: bold;
    color: #7fb144;
    margin-bottom: 35px;
}

/* GRID RESPONSIVO COM FLEX */
.servicos-grid {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 25px;
    flex-wrap: wrap; /* PERMITE QUEBRA NATURAL */
}

.servico-item {
    flex: 1 1 calc(25% - 25px);
    min-width: 230px; /* Evita esmagar no tablet */
    max-width: 300px;
    border: 2px solid #7fb144;
    border-radius: 20px;
    padding: 25px 15px;
    text-align: center;
    transition: transform 0.3s ease;
}

/* Hover */
.servico-item:hover {
    transform: scale(1.05);
}

/* Imagens */
.servico-item img {
    width: 90px;
    height: auto;
    margin-bottom: 15px;
}

/* Título */
.servico-item p {
    font-size: 20px;
    font-weight: 600;
}

/* =========================== */
/* RESPONSIVIDADE */
/* =========================== */

/* Tablets */
@media (max-width: 992px) {
    .servico-item {
        flex: 1 1 calc(45% - 25px); /* 2 por linha */
        max-width: 100%;
    }

    .servico-item p {
        font-size: 18px;
    }
}

/* Celulares */
@media (max-width: 768px) {

    .servicos-title {
        font-size: 28px;
    }

    .servico-item {
        flex: 1 1 100%;  /* 1 por linha */
        max-width: 100%;
    }

    .servico-item p {
        font-size: 18px;
    }
}
/*fim servicos*/

/*estrutura*/
/* ================================ */
/* SESSÃO - NOSSA ESTRUTURA         */
/* ================================ */

#nossa-estrutura {
    width: 100%;
    background: #ffffff;
    padding: 60px 0;
}

.estrutura-container {
    width: 1200px;
    max-width: 95%;
    margin: auto;

    /* FLEX RESPONSIVO */
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
}

/* COLUNA ESQUERDA */
.estrutura-texto {
    flex: 1 1 50%;
}

.estrutura-titulo {
    color: #7fb144;
    font-size: 32px;
    margin-bottom: 20px;
}

.estrutura-texto p {
    font-size: 18px;
    margin-bottom: 16px;
    line-height: 1.7em;
    color: #000;
}

/* COLUNA DIREITA – IMAGENS */
.estrutura-imagens {
    width: 50%;
    position: relative;
    /*flex: 1 1 50%;
    display: flex;
    flex-wrap: wrap;           /* AUTOMÁTICO */
    /*gap: 20px 15px;
    justify-content: center;*/
}

/* IMAGENS PADRÃO */
/*
.img-estrutura {
    width: calc(50% - 10px);   /* 2 por linha *
    border-radius: 10px;

    opacity: 0;
    transform: translateX(100px);
    transition: opacity 1s ease, transform 1s ease;
}
*/
/* Imagens desalinhadas (dinâmicas) */
.img-estrutura {
    width: 40%;
    border-radius: 10px;
    position: relative;
    opacity: 0;
    transform: translateX(120px);
    transition: opacity 1s ease, transform 1s ease;
    margin-bottom: 5px;
    margin-left: 15px;
}


/* Pequena variação de posicionamento */
.img-estrutura:nth-child(1) {
    margin-top: 30px;
    right: 10px;

}

.img-estrutura:nth-child(2) {
    margin-top: 60px;
    right: 10px;
}

.img-estrutura:nth-child(3) {
    margin-top: 5px;
    right: 10px;
}

.img-estrutura:nth-child(4) {
    margin-top: 40px;
    right: 10px;
}

.img-estrutura:nth-child(5) {
    margin-top: 5px;
    right: 10px;
}

.img-estrutura:nth-child(6) {
    margin-top: 40px;
    right: 10px;
}

/* EFEITO ATIVO */
.fade-in-active {
    opacity: 1 !important;
    transform: translateX(0) !important;
}

/* DELAYS */
.delay1 { transition-delay: 0.3s; }
.delay2 { transition-delay: 0.6s; }
.delay3 { transition-delay: 0.9s; }
.delay4 { transition-delay: 1.2s; }
.delay5 { transition-delay: 1.5s; }

/* ================================ */
/* RESPONSIVIDADE */
/* ================================ */

/* TABLETS */
@media (max-width: 992px) {

    .estrutura-container {
        flex-direction: column;
        gap: 50px;
        text-align: center;
    }

    .estrutura-imagens {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 colunas */
        gap: 20px;                              /* espaçamento uniforme */
        width: 100%;
    }

    .img-estrutura {
        width: 100%;               /* ocupar a coluna */
        margin: 0 !important;      /* removemos margens personalizadas */
        right: 0 !important;       /* remove deslocamento lateral */
        margin-top: 0 !important;  /* remove desalinhamento vertical */
    }
}



/* CELULARES */
@media (max-width: 600px) {

    .estrutura-titulo {
        font-size: 28px;
    }

    .estrutura-texto p {
        font-size: 17px;
    }

    .estrutura-imagens {
        display: grid;
        grid-template-columns: 1fr; /* 1 coluna */
        gap: 20px;                  /* espaçamento padrão */
        width: 100%;
    }

    .img-estrutura {
        width: 100%;
        margin: 0 !important;      /* remove offsets */
        right: 0 !important;
        margin-top: 0 !important;
    }
}

/*fim estrutura*/

/*convenios*/

.convenios-section {
  width: 100%;
  background: #e3edda;
  padding: 50px 0;
}

.convenios-container {
  width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.convenios-title {
  font-size: 32px;
  color: #7fb144;
  margin-bottom: 30px;
}

/* Estilizar os slides */
.splide__slide img {
  width: 200px;
  height: 76px;
  object-fit: contain;
  border-radius: 15px;
  margin: 0 auto;
}

.convenios-btn-area { margin-top: 40px; }

/* Botão */
.btn-convenios {
  display: inline-block;
  padding: 14px 35px;
  background: #7fb144;
  color: white;
  border-radius: 8px;
  font-size: 20px;
  text-decoration: none;
  transition: transform .3s ease, opacity .3s ease;
}

.btn-convenios:hover {
  transform: scale(1.08);
  opacity: 0.9;
}


/* SETAS DO SPLIDE – AFASTADAS PARA FORA */
.splide__arrow {
    background: rgba(255,255,255,0.9);
    border-radius: 10px;
    width: 35px;
    height: 35px;
    opacity: 1;
    box-shadow: 0px 3px 5px rgba(0,0,0,0.15);
    transition: 0.3s ease;
}

.splide__arrow:hover {
    background: #7fb144;
    transform: scale(1.1);
}

/* seta esquerda */
.splide__arrow--prev {
    left: -55px !important;   /* AFASTA PARA ESQUERDA */
}

/* seta direita */
.splide__arrow--next {
    right: -55px !important;  /* AFASTA PARA DIREITA */
}




/* Descer as bolinhas de paginação */
.splide__pagination {
    bottom: -25px !important;   /* Desce os pontos */
    position: absolute;
}

/* Melhorar visual dos pontinhos */
.splide__pagination__page {
    background: #7fb144 !important;
    opacity: 0.6;
    width: 10px;
    height: 10px;
}

.splide__pagination__page.is-active {
    background: #34448c !important;
    opacity: 1;
    transform: scale(1.3);
}



/* ==========================================================
   RESPONSIVO - SESSÃO CONVÊNIOS (Splide)
   ========================================================== */

/* Tablets */
@media (max-width: 991px) {

    .convenios-container {
        width: 95%;
    }

    .convenios-title {
        font-size: 26px;
    }

    /* Ajusta as setas */
    .splide__arrow--prev {
        left: -25px !important;
    }

    .splide__arrow--next {
        right: -25px !important;
    }
}

/* Smartphones */
@media (max-width: 768px) {

    .convenios-title {
        font-size: 24px;
    }

    /* Remove setas muito afastadas */
    .splide__arrow--prev {
        left: 5px !important;
    }

    .splide__arrow--next {
        right: 5px !important;
    }

    /* Ajusta número de logos visíveis */
    .splide__slide img {
        width: 160px;
        height: auto;
    }
}

/* Smartphones pequenos */
@media (max-width: 480px) {

    .splide__slide img {
        width: 130px;
    }

    .convenios-btn-area {
        margin-top: 25px;
    }

    .btn-convenios {
        font-size: 16px;
        padding: 12px 25px;
    }
}



/* fim convenios*/

/*rodape*/

/* ========== RODAPÉ ========== */
.footer-section {
    width: 100%;
    background: #34448c;
    padding: 20px 0;
    color: #fff;
}

.footer-container {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 25px;
}

.footer-col {
    width: 250px;
    font-size: 16px;
    line-height: 22px;
    text-align: left;
}

.footer-title {
    color: #ffffff;
    font-size: 20px;
    margin-bottom: 10px;
    font-weight: bold;
}

.footer-col i {
    margin-right: 8px;
    color: #fff;
}

/* Coluna de redes sociais */
.social-col {
    text-align: left !important;
}

.social-icons {
    display: flex;
    justify-content: left;
    gap: 15px;
    font-size: 25px;
    margin-bottom: 10px;
}





/* cookies  */

/* ===========================================
   COOKIES - BARRA FIXA
=========================================== */

body.cookies-open {
    padding-bottom: 140px; /* espaço suficiente para a barra */
}

.cookies-section {
    width: 100%;
    background: #ffffff;
    color: #000;
    padding: 20px 0;
    border-top: 1px solid #ddd;
    position: fixed;
    bottom: 0;
    left: 0;
    display: none; /* só aparece se não tiver cookie */
    z-index: 9999;
}

/* ===========================================
   CONTAINER RESPONSIVO
=========================================== */
.cookies-container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    text-align: center;
    padding: 0 20px; /* ajuda no mobile */
    box-sizing: border-box;
}

/* ===========================================
   BOTÕES
=========================================== */
.cookies-buttons {
    margin-top: 12px;
    display: flex;
    flex-wrap: wrap; /* permite quebrar linha */
    gap: 12px;
    justify-content: center;
}

.cookies-buttons button {
    padding: 10px 25px;
    border: none;
    background: #7fb144;
    color: white;
    border-radius: 6px;
    cursor: pointer;
    transition: .3s ease;
    font-size: 16px;
}

.cookies-buttons button:hover {
    transform: scale(1.08);
}

/* ===========================================
   RESPONSIVO
=========================================== */
@media (max-width: 600px) {

    .cookies-buttons button {
        width: 100%;        /* cada botão ocupa uma linha */
        padding: 14px 0;
        font-size: 17px;
    }

    .cookies-container {
        padding: 0 15px;
    }
}


@media (max-width: 600px) {
    .cookies-section {
        padding-bottom: env(safe-area-inset-bottom, 20px);
    }

    body {
        padding-bottom: 280px; /* reserva espaço fixo */
    }
}


/* final cookies  */

/* ==== Créditos ==== */
/*
.creditos-section {
    width: 100%;
    background: #ffffff;
    padding: 20px 0;
}

.creditos-container {
    width: 1200px;
    margin: 0 auto;
    text-align: center;
}

.creditos-container p {
    color: #000000;
    font-size: 16px;
}

.creditos-privacidade {
    color: #34448c;
    font-weight: bold;
    text-decoration: none;
}

.creditos-privacidade:hover {
    text-decoration: underline;
}

.creditos-privacidade i {
    margin-right: 5px;
}*/


/* ============================= */
/*  SEÇÃO CRÉDITOS               */
/* ============================= */

.creditos-section {
    width: 100%;
    background: #ffffff;
    padding: 20px 0;
    border-top: 1px solid #ddd; /* separação elegante */
}

.creditos-container {
    width: 1200px;
    max-width: 95%;
    margin: 0 auto;
    text-align: center;
}

.creditos-container p {
    color: #000000;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

.creditos-privacidade {
    color: #34448c;
    font-weight: bold;
    text-decoration: none;
    transition: .3s;
}

.creditos-privacidade:hover {
    text-decoration: underline;
}

.creditos-privacidade i {
    margin-right: 6px;
}


#cookiesBar {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 99999;
}


/* ========= MOBILE ========= */
@media (max-width: 600px) {

    .creditos-container p {
        font-size: 14px;
        line-height: 1.7;

        /* Permite quebra de linha natural em telas pequenas */
        display: flex;
        flex-direction: column;
        gap: 8px; /* espaçamento bonito */
    }

    .creditos-privacidade {
        display: inline-block;
        margin-top: 6px;
    }
}




/* ==========================================================
   RESPONSIVO - RODAPÉ
   ========================================================== */

/* -------------------- RESPONSIVO DO RODAPÉ -------------------- */

.footer-section {
    width: 100%;
    background: #34448c;
    color: white;
    padding: 20px 0;
}

.footer-container {
    width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap; /* permite quebrar em linhas */
    justify-content: space-between;
    gap: 10px;
}

.footer-col {
    width: 25%;
}

/* map em desktop */
.footer-map iframe {
    width: 100%;
    height: 200px;
    border: 0;
    border-radius: 10px;
}


/* --------------------- TABLETS (até 992px) --------------------- */
@media (max-width: 992px) {
    .footer-container {
        width: 95%;
    }

    .footer-col {
        width: 45%; /* 2 colunas por linha */
    }

    .footer-map iframe {
        height: 200px;
    }
}


/* --------------------- CELULARES (até 768px) --------------------- */
@media (max-width: 768px) {

    .footer-container {
        flex-direction: column;
        width: 92%;
    }

    .footer-col {
        width: 100%;  /* 1 por linha */
        text-align: left;
    }

    .footer-map iframe {
        height: 260px; /* mapa maior em celular */
    }

    .footer-col.icons {
        text-align: center; /* redes sociais no centro */
    }
}


/* --------------------- EXTRA PEQUENO (até 480px) --------------------- */
@media (max-width: 480px) {
    .footer-map iframe {
        height: 300px;
    }
}
/*fim rodape*/


/* icons bootstrap */
.foguete {
    font-size: 32px;      /* opcional */
    transform: rotate(45deg);  /* inclina o foguete */
    display: inline-block;      /* necessário para rotacionar */
}


/* sessao profissionais */

/* Container Geral da Sessão */
/* ===========================
   CONTAINER GERAL DA SESSÃO
   =========================== */
.sessao-medicos {
    max-width: 1200px;
    margin: 40px auto;
    padding: 0 20px;
}


/* ===========================
   CARD DE CADA MÉDICO
   =========================== */
.card-medico {
    display: flex;
    gap: 30px;
    background: #fff;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 6px 25px rgba(0,0,0,0.08);
    margin-bottom: 35px;
    align-items: flex-start;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.7s ease forwards;
}

/* Fade-in suave */
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ===========================
   COLUNA ESQUERDA – IMAGEM
   =========================== */
.coluna-esquerda {
    flex: 0 0 auto;
}

.foto {
    width: 100%;
    max-width: 300px;
    border-radius: 12px;
    display: block;
    opacity: 0;
    transition: opacity 0.8s ease;
}

.foto[data-loaded="true"] {
    opacity: 1;
}


/* ===========================
   COLUNA DIREITA – TEXTOS
   =========================== */
.coluna-direita {
    flex: 1;
}

.titulo {
    color: #7fb144;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.especificacoes {
    margin-top: 15px;
    padding-left: 18px;
    line-height: 1.5rem;
}

.especificacoes li {
    margin-bottom: 8px;
}


/* ===========================
   RESPONSIVIDADE
   =========================== */
@media (max-width: 900px) {
    .card-medico {
        padding: 20px;
        gap: 20px;
    }

    .titulo {
        font-size: 1.4rem;
    }
}

/* MOBILE */
@media (max-width: 650px) {

    .card-medico {
        flex-direction: column;
        text-align: center;
        align-items: center;
    }

    .coluna-esquerda {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .foto {
        max-width: 220px;
    }

    /* LISTA MAIS LEVE PARA MOBILE */
    .especificacoes {
        padding-left: 0;
        margin-top: 20px;
        list-style: none; /* remove o bullet padrão */
    }

    .especificacoes li {
        margin-bottom: 12px;
        font-size: 0.95rem;
        padding: 10px 12px 10px 28px; /* espaço para o novo bullet */
        background: #f8f8f8;
        border-radius: 8px;
        text-align: left;
        position: relative; /* necessário para o bullet */
    }

    /* Bullet personalizado */
    .especificacoes li::before {
        content: "•";
        position: absolute;
        left: 12px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 1.2rem;
        color: #7fb144; /* verde do título */
        font-weight: bold;
    }
}




/* final profissionais*/



/* sessao unidades*/

/* ===========================
   SESSÃO UNIDADES
=========================== */
.sessao-unidades {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

.titulo-unidades {
    text-align: center;
    font-size: 2rem;
    color: #7fb144;
    margin-bottom: 40px;
    font-weight: 700;
}

/* Container das duas colunas */
.unidades-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 2%;
}

/* CARD DA UNIDADE */
.unidade-card {
    width: 49%;
    background: #fff;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 6px 25px rgba(0,0,0,0.08);
    display: flex;
    flex-direction: column;
    gap: 1px;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeInUp 0.8s ease forwards;
}

/* Fade-in CSS */
@keyframes fadeInUp {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* FOTO */
.unidade-foto {
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    opacity: 0;
    transition: opacity 0.8s ease;
}

.unidade-foto[loading="lazy"] {
    opacity: 1;
}

/* TÍTULO DA UNIDADE */
.unidade-nome {
    font-size: 1.2rem;
    font-weight: 700;
    color: #333;
    margin-top: 10px;
}

/* ITENS */
.unidade-item {
    font-size: 1rem;
    display: flex;
    align-items: center;
    gap: 8px;
    color: #444;
}

.unidade-item i {
    color: #7fb144;
    font-size: 1.2rem;
}


/* ========================
   RESPONSIVIDADE
======================== */

/* Tablet */
@media (max-width: 900px) {
    .unidade-card {
        width: 100%;
    }
}

/* Mobile */
@media (max-width: 600px) {
    .unidade-nome {
        font-size: 1.1rem;
    }

    .unidade-item {
        font-size: 0.95rem;
    }
}

/*final unidades*/


/*noticias*/
/* =============================
   ESTRUTURA GERAL
============================= */
* { box-sizing: border-box; margin: 0; padding: 0; }

/*body {
    /*font-family: Arial, sans-serif;*
    background: #f8f8f8;
    color: #222;
}*/

/* Wrappper centralizado com largura máxima de 1200px */
.site-wrapper {
    max-width: 1200px;
    margin: 30px auto 30px;
    padding: 0 20px;
}

/* título */
.noticias-titulo {
    font-size: 33px;
    color: #7fb144;
    margin-bottom: 20px;
    font-weight: 700;
    text-align: center;
}

/* =============================
   CATEGORIAS
============================= */
.categorias-container {
    width: 100%;
    margin-bottom: 28px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.categoria-btn {
    background: #4259bf;
    color: #fff;
    border: none;
    padding: 10px 18px;
    border-radius: 25px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1;
}

.categoria-btn:hover,
.categoria-btn.active {
    background: #7fb144;
    color: #fff;
}

/* =============================
   LISTA DE NOTÍCIAS (CARDS)
============================= */
.noticias-container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: flex-start; /* cards começam à esquerda dentro do wrapper central */
}

/* cada card usa a classe .noticia — consistente com o JS abaixo */
.noticia {
    width: calc(33.333% - 13.333px); /* 3 colunas com gap */
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 6px 25px rgba(0,0,0,0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .25s ease, box-shadow .25s ease;
}

.noticia:hover { transform: translateY(-6px); box-shadow: 0 12px 30px rgba(0,0,0,0.12); }

/* foto + tag de categoria sobre a foto */
.foto-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.foto-container img {
    width: 100%;
    display: block;
    height: 400px;
    object-fit: cover;
}

/* tag da categoria sobre a imagem (canto direito) */
.categoria-sobre {
    position: absolute;
    right: 10px;
    top: 10px;
    background: #7fb144;
    color: #fff;
    padding: 6px 10px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

/* conteúdo do card */
.noticia h3 {
    padding: 16px;
    font-size: 20px;
    font-weight: 600;
    color: #7fb144;
    margin-bottom: 6px;
}

.resumo {
    padding: 0 16px 16px;
    color: #444;
    font-size: 14px;
    line-height: 1.4;
    flex: 1 0 auto; /* força o botão para baixo */
}

/* botão leia mais */
.btn-leia {
    display: inline-block;
    background: #4259bf;
    color: #fff;
    padding: 10px 18px;
    border-radius: 20px;
    text-decoration: none;
    margin: 0 16px 16px;
    align-self: flex-start;
}

.btn-leia:hover {
    background: #7fb144;
    color: #4259bf;
}

/* =============================
   PAGINAÇÃO
============================= */
.paginacao {
    width: 100%;
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.page-btn {
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid rgba(0,0,0,0.05);
    background: transparent;
    cursor: pointer;
    color: #7fb144;
}

.page-btn:hover {
    background: #4259bf;
    color: #7fb144;
}

.page-btn.ativo {
    background: #7fb144;
    color: #4259bf;
    box-shadow: 0 4px 10px rgba(0,0,0,0.06);
}


.conteudo-img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 20px auto;
    border-radius: 8px;
    object-fit: contain;
}

/* Galerias */
.figura-conteudo {
    max-width: 250px;
    margin: 30px auto;
}

/* Galeria do WordPress *
/*
.wp-block-gallery,
.wp-block-group .wp-block-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
    margin: 30px 0;
}

/* cada imagem *
.wp-block-gallery figure,
.wp-block-gallery img {
    width: 100%;
}

/* imagem interna *
.wp-block-gallery img {
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}
*/

.wp-block-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

@media (max-width: 900px) {
    .wp-block-gallery {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .wp-block-gallery {
        grid-template-columns: 1fr;
    }
}

/*

.conteudo {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.conteudo-img {
    width: calc(33.333% - 12px);
}

@media (max-width: 768px) {
    .conteudo-img {
        width: calc(50% - 8px);
    }
}

@media (max-width: 480px) {
    .conteudo-img {
        width: 100%;
    }
}



/* =============================
   RESPONSIVO
============================= */
@media (max-width: 1100px) {
    .noticia { width: calc(50% - 10px); }
}

@media (max-width: 700px) {
    .noticia { width: 100%; }
    .foto-container img { height: 220px; }
}


@media (max-width: 768px) {
  .hide-mobile {
    display: none !important;
  }
}


/*final noticias*/



/*contato*/
/* =============================
   SECTION CONTATO (ENCAPSULADO)
   ============================= */
#contato {
    padding: 20px 0;
    background: #f2f2f2;
    font-family: Arial, sans-serif;
}

/* Fade-in */
#contato .fade-in {
    opacity: 0;
    animation: fadeIn 1.2s forwards;
}
@keyframes fadeIn {
    to { opacity: 1; }
}

/* Fade para imagens */
#contato .fade-img {
    opacity: 0;
    transition: opacity 1s ease-in;
}
#contato .fade-img.loaded {
    opacity: 1;
}

/* Títulos */
#contato h2,
#contato h3 {
    color: #7fb144;
    font-size: 33px;
    font-weight: 700;
}

/* Container */
#contato .container {
    width: 1200px;
    max-width: 100%;
    margin: auto;
    display: flex;
    gap: 30px;
    align-items: flex-start;
    padding: 10px;
}

/* Cards */
#contato .card {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

/* Coluna esquerda */
#contato .col-esquerda {
    flex: 1;
}

#contato .col-esquerda form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

#contato label {
    font-weight: bold;
}

#contato input {
    padding: 12px;
    font-size: 16px;
    border: 1px solid #ccc;
    border-radius: 8px;
}

/* Botão */
#contato .btn-enviar {
    background: #7fb144;
    color: #fff;
    border: none;
    padding: 20px;
    cursor: pointer;
    font-size: 18px;
    border-radius: 12px;
    width: auto;
    display: block;
    margin: 15px auto 0 auto;
    transition: 0.2s ease;
}
#contato .btn-enviar:hover {
    background: #6c9939;
    transform: scale(1.03);
}

/* Coluna direita */
#contato .col-direita {
    flex: 1;
}

#contato .redes-sociais {
    display: flex;
    gap: 20px;
    font-size: 25px;
    margin: 15px 0 30px 0;
}

#contato .redes-sociais i {
    color: #7fb144;
    transition: 0.2s;
}
#contato .redes-sociais i:hover {
    transform: scale(1.15);
}

/* Unidades */
#contato .unidade {
    margin-bottom: 40px;
}

#contato .mapa1 {
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    opacity: 0;
    transition: opacity 0.8s ease;
}


#contato .mapa2 {
    width: 100%;
    max-width: 100%;
    border-radius: 12px;
    opacity: 0;
    transition: opacity 0.8s ease;
}




/* Responsivo */
@media (max-width: 900px) {
    #contato .container {
        flex-direction: column;
        width: 95%;
    }

    #contato .mapa {
        max-width: 100%;
    }
}

/*final contato*/


/* exames */

/* ===========================================
   CONTAINER PADRÃO
=========================================== */
.exames-container {
    width: 100%;
    max-width: 1200px;
    margin: 40px auto 0 auto;
    padding: 0 20px;
    font-family: Arial, sans-serif;
}

/* ===========================================
   TÍTULO PRINCIPAL
=========================================== */
.exames-titulo-principal {
    text-align: left;
    color: #7fb144;
    font-size: 36px;
    font-weight: 700;
    margin-bottom: 40px;
}

/* ===========================================
   BLOCOS
=========================================== *
.exames-bloco {
    margin-bottom: 50px;
}*/

/* FLEX PRINCIPAL */
.exames-bloco-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
}

/* ===========================================
   TIPOGRAFIA
=========================================== */
.exames-titulo-azul {
    color: #4259bf;
    font-size: 22px;
    margin-bottom: 15px;
    font-weight: 700;
}

.exames-subtitulo-verde {
    color: #7fb144;
    font-size: 22px;
    margin-left: 30px;
    margin-top: 25px;
    font-weight: 700;
}

.exames-container p,
.exames-container li {
    color: #000;
    font-size: 18px;
    line-height: 1.6;
}

.exames-lista {
    margin-left: 30px;
    margin-top: 10px;
}

/* ===========================================
   BLOCO ESQUERDA
=========================================== *
.exames-left {
    flex: 1 1 49%;
    max-width: 49%;
    border-radius: 12px;
    opacity: 1;
    transition: opacity 0.8s ease;
}

/* ===========================================
   BLOCO DIREITA (IMAGEM)
=========================================== */
/*.exames-right {
    flex: 1 1 49%;
    max-width: 46%;
    display: flex;
    justify-content: center;
}

.exames-right img {
    width: 100%;
    height: auto;
    border-radius: 12px;

    opacity: 0;
    transform: translateY(10px);
    animation: fadeInImg 0.9s ease forwards;
}*/

/* Permite que várias imagens fiquem em coluna *
.exames-right {
    flex: 1 1 49%;
    max-width: 46%;
    display: flex;
    flex-direction: column; /* empilhar imagens *
    align-items: center;
    gap: 12px; /* espaço entre as imagens */
}

/* Todas as imagens continuam com o efeito *
.exames-right img {
    width: 100%;
    height: auto;
    border-radius: 12px;

    opacity: 0;
    transform: translateY(10px);
    animation: fadeInImg 0.9s ease forwards;
}
*/


@keyframes fadeInImg {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* Quando NÃO existir bloco de imagem, o left vira 100% */
.exames-bloco-flex:not(:has(.exames-right)) .exames-left {
    flex: 1 1 100% !important;
    max-width: 100% !important;
}



.exames-bloco-botao {
    margin-bottom: 20px;
    margin-top: -20px;
}


/* FLEX PRINCIPAL */
.exames-bloco-botao-flex {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}


.exames-bloco-botao-central {
    flex: 1 1 100%;
    max-width: 100%;
    border-radius: 12px;
    opacity: 1;
    transition: opacity 0.8s ease;
    display: flex;
    justify-content: center; /* horizontal */
    align-items: center;     /* vertical (opcional) */
}



/* começo teste ===========================================
   BLOCOS
=========================================== */
.exames-bloco {
    width: 100%;
    max-width: 1200px;
    margin: 20px auto;
    padding: 10px;
    overflow: hidden; /* garante que o float não vaze */
    font-family: Arial, sans-serif;
}

/* ===========================================
   IMAGENS À DIREITA
=========================================== */
.exames-right {
    float: right;
    width: 45%;
    max-width: 600px;
    margin-left: 30px;
}

/* efeito de entrada das imagens: fade+slide-up */
.exames-right img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    margin-bottom: 12px;

    /* estado inicial */
    opacity: 0;
    transform: translateY(10px);

    /* animação */
    animation-name: fadeInImg;
    animation-duration: 0.9s;
    animation-timing-function: ease;
    animation-fill-mode: forwards; /* mantém o estado final (opacity:1) */
    animation-delay: 0.08s; /* pequeno delay para garantir paint */
    will-change: opacity, transform;
}

/* keyframes */
@keyframes fadeInImg {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ===========================================
   TEXTO À ESQUERDA
=========================================== */
.exames-left {
    font-size: 18px;
    line-height: 1.6;
}

/* ===========================================
   TÍTULO
=========================================== */
.exames-titulo-azul {
    font-size: 26px;
    margin-bottom: 10px;
}

/* ===========================================
   RESPONSIVIDADE
=========================================== */
@media (max-width: 992px) {
    .exames-right {
        float: none;
        width: 100%;
        max-width: 100%;
        margin: 0 0 20px 0;
    }

    .exames-left {
        width: 100%;
    }
}

/*fim teste bloco imagem texto ---*/

/* ===========================================
   BOTÕES
=========================================== */
.exames-btn-azul {
    background: #4259bf;
    color: #fff;
    padding: 15px 30px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 10px auto;
    transition: .3s ease;
}

.exames-btn-azul:hover {
    background: #7fb144;
    transform: scale(1.05);
}


.exames-btn-whatsapp {
    background: #4259bf;
    color: #fff;
    padding: 10px 30px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    font-size: 18px;
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 10px auto;
    transition: .3s ease;
}

.exames-btn-whatsapp:hover {
    background: #7fb144;
    transform: scale(1.05);
}


.exames-btn-whatsapp {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 30px;
  /*background: #25d366;*/
  background: #4259bf;
  color: #fff;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 600;
  gap: 5px;
  margin: 10px auto;
  transition: .3s ease;
  font-size: 18px;
  border-radius: 10px;
  border: none;
}

.exames-btn-whatsapp:hover {
  background: #7fb144;
    transform: scale(1.05);
}

/* ===========================================
   RESPONSIVO GERAL
=========================================== */
@media (max-width: 900px) {

    .exames-left,
    .exames-right {
        flex: 1 1 100%;
        max-width: 100%;
        text-align: center;
    }

    .exames-right img {
        max-width: 430px;
    }

    .exames-titulo-azul {
        font-size: 26px;
    }

    .exames-container p,
    .exames-container li {
        font-size: 17px;
    }

    .exames-lista {
        margin-left: 25px;
    }
}

/* ===========================================
   MOBILE MENOR
=========================================== */
@media (max-width: 600px) {
    .exames-container {
        padding: 0 15px;
    }

    .exames-titulo-principal {
        font-size: 30px;
        text-align: center;
    }

    .exames-right img {
        max-width: 100%;
    }

    .exames-btn-whatsapp {
        padding: 20px 30px;
        font-size: 18px;
    }
}





/* ===========================================
   ACCORDION (RESPONSIVO)
=========================================== */
.exames-accordion {
    margin-top: 25px;
    width: 100%;           /* garante fluidez */
    max-width: 100%;
}

.exames-accordion * {
    max-width: 100%;
    box-sizing: border-box;
}

.exames-accordion h3,
.exames-accordion button {
    width: 100%;
    text-align: left;
}

/* Se o accordion tiver listas internas */
.exames-accordion ul,
.exames-accordion li {
    width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* final exames  */

.acc-item {
    margin-bottom: 12px;
}

.acc-pergunta {
    background: #fff;
    border: 2px solid #7fb144;
    padding: 15px;
    font-size: 20px;
    cursor: pointer;
    border-radius: 10px;
}

.acc-resposta {
    display: none;
    background: #f8f8f8;
    border: 2px solid #4259bf;
    border-top: none;
    padding: 15px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}


/* DROPDOWN EM COLUNAS APENAS NO MOBILE */
/*@media (max-width: 991px) {  
    .navbar .dropdown-menu {

        display: grid !important;
        grid-template-columns: 1fr 1fr; /* duas colunas *//*
        gap: 5px;
        padding: 10px;
    }

    .navbar .dropdown-menu .dropdown-item {
        white-space: normal; /* permite título quebrar linha *//*
        padding: 8px 10px;
        border-radius: 6px;
    }
}
*/


/* MOBILE: dropdown em 2 colunas + fade/slide controlado por max-height */
@media (max-width: 991px) {

    /* CONTÊINER FECHADO */
    .navbar .dropdown .dropdown-menu {
        overflow: hidden; /* fechado = sem scroll */
    }

    /* CONTÊINER ABERTO COM SCROLL */
    .navbar .dropdown .dropdown-menu.show {
        overflow-y: auto; /* libera scroll */
        max-height: 75vh; /* impede passar da tela */
        -webkit-overflow-scrolling: touch; /* scroll suave no iPhone */
    }

    .navbar-collapse {
        max-height: 80vh;   /* ocupa no máximo 80% da tela */
        overflow-y: auto;   /* ativa o scroll vertical */
        -webkit-overflow-scrolling: touch; /* scroll suave no iPhone */
        padding-bottom: 20px; /* espaço extra no final */
    }

    /* estado fechado (grid presente, mas escondido) */
    .navbar .dropdown .dropdown-menu {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        box-sizing: border-box;

        /* controle de visibilidade e animação */
        max-height: 0;               /* começa fechado */
        overflow: hidden;
        opacity: 0;
        transform: translateY(-8px);

        transition:
            max-height 0.36s ease,
            opacity 0.28s ease,
            transform 0.28s ease;

        /* impede clicks quando fechado */
        pointer-events: none;

        /* padding lateral mínimo para não "pular" */
        padding: 0 10px;
    }

    /* estado aberto */
    .navbar .dropdown .dropdown-menu.show {
        max-height: 900px;          /* alto suficiente para 2 colunas */
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
        padding: 10px;              /* padding completo só ao abrir */
    }

    /* itens */
    .navbar .dropdown .dropdown-menu .dropdown-item {
        white-space: normal;
        padding: 8px 10px;
        border-radius: 6px;
    }

    /* garantir que o conteúdo não force linha única */
    .navbar .dropdown .dropdown-menu .dropdown-item > * {
        width: 100%;
        box-sizing: border-box;
    }
}




/*final exames*/

.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__arrow{-ms-flex-align:center;align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:-ms-flexbox;display:flex;height:2em;-ms-flex-pack:center;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover:not(:disabled){opacity:.9}.splide__arrow:disabled{opacity:.3}.splide__arrow:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide.is-focus-in .splide__arrow:focus{outline:3px solid #0bf;outline-offset:3px}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;position:relative;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4);z-index:1}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__pagination__page:focus{outline:3px solid #0bf;outline-offset:3px}.splide__progress__bar{background:#ccc;height:3px}.splide__slide{-webkit-tap-highlight-color:rgba(0,0,0,0)}.splide__slide:focus{outline:0}@supports(outline-offset:-3px){.splide__slide:focus-visible{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide__slide:focus-visible{border:3px solid #0bf}}@supports(outline-offset:-3px){.splide.is-focus-in .splide__slide:focus{outline:3px solid #0bf;outline-offset:-3px}}@media screen and (-ms-high-contrast:none){.splide.is-focus-in .splide__slide:focus{border:3px solid #0bf}.splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus{border-color:#0bf}}.splide__toggle{cursor:pointer}.splide__toggle:focus-visible{outline:3px solid #0bf;outline-offset:3px}.splide.is-focus-in .splide__toggle:focus{outline:3px solid #0bf;outline-offset:3px}.splide__track--nav>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide__track--nav>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide__arrows--rtl .splide__arrow--prev{left:auto;right:1em}.splide__arrows--rtl .splide__arrow--prev svg{transform:scaleX(1)}.splide__arrows--rtl .splide__arrow--next{left:1em;right:auto}.splide__arrows--rtl .splide__arrow--next svg{transform:scaleX(-1)}.splide__arrows--ttb .splide__arrow{left:50%;transform:translate(-50%)}.splide__arrows--ttb .splide__arrow--prev{top:1em}.splide__arrows--ttb .splide__arrow--prev svg{transform:rotate(-90deg)}.splide__arrows--ttb .splide__arrow--next{bottom:1em;top:auto}.splide__arrows--ttb .splide__arrow--next svg{transform:rotate(90deg)}.splide__pagination--ttb{bottom:0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;left:auto;padding:1em 0;right:.5em;top:0}

/*

.img-modal {
    display: none;
    position: fixed;
    z-index: 9999;
    inset: 0;
    background: rgba(0,0,0,.9);
    align-items: center;
    justify-content: center;
}

.img-modal img {
    max-width: 90%;
    max-height: 90%;
    border-radius: 10px;
}

.img-modal .close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
}

.img-modal .nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 40px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

.img-modal .prev { left: 20px; }
.img-modal .next { right: 20px; }

.img-modal .nav:hover,
.img-modal .close:hover {
    opacity: .7;
}

*/

.img-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0,0,0,.9);

    /*display: flex;*/
    align-items: center;
    justify-content: center;
}

.img-wrapper {
    max-width: 90vw;
    max-height: 90vh;

    display: flex;
    align-items: center;
    justify-content: center;
}

.img-wrapper img {
    max-width: 100%;
    max-height: 100%;

    width: auto;
    height: auto;

    object-fit: contain;
    border-radius: 10px;
}

/* Botões */
.img-modal .close {
    position: absolute;
    top: 20px;
    right: 30px;
    font-size: 40px;
    color: #fff;
    cursor: pointer;
}

.img-modal .nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 40px;
    color: #fff;
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

.img-modal .prev { left: 20px; }
.img-modal .next { right: 20px; }

.img-modal .nav:hover,
.img-modal .close:hover {
    opacity: .7;
}

/* MOBILE */
@media (max-width: 768px) {
    .img-wrapper {
        max-width: 95vw;
        max-height: 80vh;
    }
}
