/* =================================================================== */
/* ===                RESET & GLOBAL STYLES                        === */
/* =================================================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  overflow-x: hidden;
  font-family: "Inter", Helvetica, sans-serif;
  background-color: #fff;
}

/* =================================================================== */
/* ===                GENERAL STRUCTURE & LAYOUT                   === */
/* =================================================================== */

.LP-desktop-FINAL {
  width: 100%;
}

.LP-desktop-ld-FINAL {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  height: auto;
}

/* Remove posicionamento absoluto das seções principais */
.div, .element-7, .element-8, .element-13, .RODAPE {
  position: relative;
  width: 100%;
  height: auto;
}

.camada {
  width: 36px;
  height: 34px;
  top: 0;
  left: 0;
}

/* =================================================================== */
/* ===                       HEADER SECTION                        === */
/* =================================================================== */

.LP-desktop-FINAL .HEAD {
  position: relative;
  width: 100%;
  height: auto;
}

.LP-desktop-FINAL .HEAD .overlap-group {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 5%;
  height: 120px;
  background-image: url(./img/bg-cinza.png);
  background-size: cover;
}

.LP-desktop-FINAL .HEAD .logo {
  width: 162px;
  height: 50px;
}

.LP-desktop-FINAL .HEAD .div-wrapper {
  background-color: #008ad2;
  border-radius: 10px;
  width: 163px;
  height: 33px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.LP-desktop-FINAL .HEAD .text-wrapper {
  font-weight: 700;
  color: #ffffff;
  font-size: 12px;
  cursor: pointer;
}

/* =================================================================== */
/* ===                        HERO SECTION                         === */
/* =================================================================== */

.LP-desktop-FINAL .element {
  width: 100%;
  height: auto;
}

.LP-desktop-FINAL .group-wrapper {
  min-height: 800px;
  background-image: url(./img/01-b.png);
  background-size: cover;
  background-position: center center;
  display: flex;
  align-items: center;
  padding: 0 5%;
}

.LP-desktop-FINAL .group {
  width: 100%;
  max-width: 913px;
}

.LP-desktop-FINAL .atenda-plant-es-m {
  font-size: 3.2rem;
  line-height: 1.2;
  color: #fff;
}
.LP-desktop-FINAL .atenda-plant-es-m .span { font-weight: 700; }

.LP-desktop-FINAL .sua-pr-tica-m-dica {
  max-width: 734px;
  font-size: 1.5rem;
  margin-top: 2rem;
  color: #fff;
  text-shadow: 0px 4px 4px #00000040;
}

.LP-desktop-FINAL .DIVISO { 
  margin-top: 2rem; 
  max-width: 10%;
}

.text-wrapper-19 {
  font-weight: 700;
}

.group-20 {
  width: 1244px;
  height: 524px;
  top: 138px;
  left: 92px;
}

.text-wrapper-20 {
  font-weight: 300;
  font-style: italic;
  font-size: 25px;
}

.text-wrapper-10 {
  font-weight: 300;
}
.text-wrapper-11 {
  font-family: "Inter", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 20px;
  letter-spacing: 0;
}

.dr-jair-cremonin {
  width: 519px;
  top: 42px;
  left: 447px;
  font-family: "Inter", Helvetica;
  font-weight: 400;
  color: #ffffff;
  font-size: 35px;
  letter-spacing: 0;
  line-height: normal;
}


/* =================================================================== */
/* ===          [NOVO] PADRÃO DE BOTÃO CALL-TO-ACTION              === */
/* =================================================================== */

.cta-button-standard-white {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 578px;
  height: auto;
  padding: 15px;
  margin-top: 3rem;
  cursor: pointer;
  border-radius: 10px;
  border: 4px solid #ffffff36;
  box-shadow: 0px 4px 35.9px #292d3280;
  background: linear-gradient(90deg, #fff 0%, #f5f5f5 50%, #f0f0f0 96%);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cta-button-standard-white:hover {
  transform: translateY(-2px);
  box-shadow: 0px 6px 40px #292d3290;
}



.cta-button-standard-white p {
  font-size: 1.1rem;
  line-height: 1.4;
  white-space: normal;
  flex-grow: 1;
  padding-right: 15px;
  color: #006c9b;
  font-family: "Overpass", Helvetica;
  font-weight: 700;
}

.cta-button-standard-white .icon-wrapper {
  flex-shrink: 0;
  width: 39px;
  height: 39px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cta-button-standard-white .icon-wrapper img {
    width: 24px;
    height: 24px;
}


/* =================================================================== */
/* ===          [NOVO] PADRÃO DE BOTÃO CALL-TO-ACTION              === */
/* =================================================================== */

.cta-button-standard {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 578px;
  height: auto;
  padding: 15px 25px; /* Padding ajustado para o novo visual */
  margin: 3rem auto 0; /* Centraliza o botão se o container for maior */
  cursor: pointer;
  border-radius: 10px;
  
  /* [MUDANÇA] Fundo azul em gradiente */
  background: linear-gradient(90deg, #007bb5 0%, #008ad2 100%);
  
  /* [MUDANÇA] Sombra sutil com a cor do botão */
  box-shadow: 0 4px 15px rgba(0, 108, 155, 0.4);
  
  border: none; /* [MUDANÇA] Removendo a borda para um look mais limpo */
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cta-button-standard:hover {
  transform: translateY(-3px); /* Efeito de "levantar" um pouco maior */
  box-shadow: 0 6px 20px rgba(0, 108, 155, 0.5);
}

.cta-button-standard p {
  /* [MUDANÇA CRÍTICA] Texto agora é branco para ser legível */
  color: #ffffff;
  
  font-size: 1.1rem;
  line-height: 1.4;
  white-space: normal;
  flex-grow: 1;
  padding-right: 15px;
  font-family: "Overpass", Helvetica;
  font-weight: 700;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1); /* Sombra sutil no texto */
}

.cta-button-standard .icon-wrapper {
  flex-shrink: 0;
  width: 39px;
  height: 39px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.2s ease;

  /* [MUDANÇA] Fundo do círculo transparente para efeito "glass" */
  background-color: rgba(255, 255, 255, 0.2);
}

.cta-button-standard:hover .icon-wrapper {
  background-color: rgba(255, 255, 255, 0.3);
}

.cta-button-standard .icon-wrapper img {
  width: 24px;
  height: 24px;
  /* [MUDANÇA] Transforma a cor do ícone (SVG/PNG) em branco */
  filter: brightness(0) invert(1);
}


/* =================================================================== */
/* ===                      "WHY L2D" SECTION                      === */
/* =================================================================== */

.LP-desktop-FINAL .overlap-wrapper {
  width: 100%;
  height: auto;
}

.LP-desktop-FINAL .overlap-2 {
  height: auto;
  background-image: url(./img/bg.png);
  background-size: cover;
  padding: 80px 5%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.LP-desktop-FINAL .por-que-m-dicos { font-size: 3rem; line-height: 1.2; color: #006c9b; font-weight: 700; }
.LP-desktop-FINAL .p { font-size: 1.25rem; margin-top: 1.5rem; max-width: 700px; color: #000; }
.LP-desktop-FINAL .img { margin-top: 1.5rem; max-width: 73px; height: auto; }

.LP-desktop-FINAL .overlap-group-2 {
  width: 100%;
  max-width: 1420px;
  height: auto;
  background-color: #e9e9e9;
  border-radius: 10px;
  margin-top: 40px;
  padding: 40px;
}

.LP-desktop-FINAL .group-5 {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px 20px;
}

.LP-desktop-FINAL .group-6, .group-7, .group-8, .group-9, .group-10, .group-11, .group-12, .group-13, .group-14, .group-15 {
  width: 48%;
  display: flex;
  align-items: flex-start;
  gap: 15px;
}

/* =================================================================== */
/* ===                 "HOW IT WORKS" (SLIDER)                     === */
/* =================================================================== */

.LP-desktop-FINAL .overlap-group-wrapper { width: 100%; }

.LP-desktop-FINAL .overlap-3 {
  background-image: url(./img/02-1.png);
  background-size: cover;
  padding: 80px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.LP-desktop-FINAL .como-funciona-sua { font-size: 3rem; max-width: 90%; }
.LP-desktop-FINAL .auxiliamos-em-cada { font-size: 1.25rem; max-width: 700px; margin: 1.5rem 0; }
.LP-desktop-FINAL .DIVISO-2 { max-width: 73px; height: auto; }

.swiper-container.mySwiper {
  width: 100%;
  max-width: 1415px;
  margin-top: 60px;
  padding: 40px 60px !important; 
  position: relative;
  font-size: small;
}

.swiper-button-next,
.swiper-button-prev {
  top: 50%;
  transform: translateY(-50%);
  color: #008ad2; 
  z-index: 10;
}

.swiper-button-next::after,
.swiper-button-prev::after {
  font-size: 2rem; 
  font-weight: 900;
}

.swiper-slide {
  height: auto;
  display: flex;
  justify-content: center;
}

.LP-desktop-FINAL .overlap-4 {
  position: relative;
  width: 100%;
  max-width: 430px;
  height: 418px;
}

.LP-desktop-FINAL .group-18 {
  position: absolute;
  top: -36px;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 72px;
  z-index: 2;
  top: 1%;
}



.LP-desktop-FINAL .overlap-group-3 {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #008ad2;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 35px;
  font-weight: 700;
}

.frame-2 {
  position: absolute;
  top: 36px;
  left: 0;
  width: 100%;
  height: calc(100% - 36px);
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0px 0px 4.8px rgba(0,0,0,0.25);
  padding: 60px 20px 30px; /* Ajuste o padding */
  
  /* --- MÁGICA DO FLEXBOX --- */
  display: flex;
  flex-direction: column; /* Organiza os itens (título, texto, imagem) em uma coluna */
  align-items: center;    /* Centraliza os itens horizontalmente */
  justify-content: space-between; /* Distribui o espaço verticalmente */
  text-align: center;
}

.LP-desktop-FINAL .text-wrapper-12, .text-wrapper-17 { font-size: 1.5rem; font-weight: 800; }

.text-wrapper-13 {
  /* --- Propriedades de Estilo (Mantidas) --- */
  font-family: "Inter", Helvetica, sans-serif;
  font-weight: 300;
  color: #000000;
  font-size: medium;
  text-align: center;
  letter-spacing: 0;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15); /* Sombra mais sutil */

  /* --- [CORREÇÕES PARA QUEBRA DE LINHA E RESPONSIVIDADE] --- */
  
  /* 1. Remove o posicionamento e tamanho fixos. Agora o texto ocupa 100% da largura do seu contêiner pai. */
  width: 100%; 
  max-width: 350px; /* Define uma largura MÁXIMA para não ficar muito largo em telas grandes. */
  
  /* 2. Garante que o texto possa quebrar. */
  white-space: normal; 
  
  /* 3. Evita que palavras muito longas quebrem o layout. */
  word-wrap: break-word; 
  overflow-wrap: break-word;
  
  /* 4. Melhora o espaçamento entre as linhas para facilitar a leitura. */
  line-height: 1.5; 
  
  /* 5. Adiciona espaçamento vertical. Use padding ou margin. */
  padding: 0px 5px; /* Espaçamento interno para não colar nas bordas. */

  /* IMPORTANTE: Remova 'top' e 'left' do seu CSS. O posicionamento deve ser controlado 
     pelo layout do contêiner pai (usando Flexbox, por exemplo). */
}

.text-wrapper-6 {
  font-weight: 500;
}

.text-wrapper-7 {
  font-weight: 300;
  font-size: 15px;
  text-align: left;
  line-height: normal;
}

.text-wrapper-8 {
  width: 520px;
  top: 0;
  left: 0;
  font-family: "Inter", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 25px;
  letter-spacing: 0;
  line-height: normal;
}
.text-wrapper-9 {
  width: 338px;
  top: 42px;
  left: 0;
  font-family: "Inter", Helvetica;
  font-weight: 300;
  color: #000000;
  font-size: 15px;
  letter-spacing: 0;
  line-height: normal;
}

.LP-desktop-FINAL .DIVISO-3, .DIVISO-4 { margin: 15px 0; }

.text-wrapper-4, .text-wrapper-5 {
  font-family: "Inter", Helvetica;
  font-weight: 500;
  color: #000000;
  font-size: 25px;
  letter-spacing: 0;
  line-height: normal;
  text-align: left;
}

.text-wrapper-6 {
  font-weight: 500;
}

.text-wrapper-7 {
  font-weight: 300;
  font-size: 15px;
}

.overlap-group-4 {
  display: flex;
  width: 1240px;
  height: 524px;
  background-color: #006c9b;
  border-radius: 10px;
}

/* =================================================================== */
/* ===            DIRECTOR & ABOUT SECTION (.element-7)            === */
/* =================================================================== */

.LP-desktop-FINAL .element-7 {
  background-size: cover;
  background-position: center;
  padding: 80px 5%;
  width: 100%;
}

/* --- Diretor Médico --- */
.LP-desktop-FINAL .diretor-mdico {
  width: 100%;
  max-width: 1244px;
  margin: 0 auto 80px auto;
  text-align: center;
}
.LP-desktop-FINAL .diretor-mdico .conhe-a-nosso { font-size: 3rem; margin-bottom: 40px; }
.LP-desktop-FINAL .diretor-mdico .overlap-group-4 {
  display: flex;
  background-color: #006c9b;
  border-radius: 10px;
  overflow: hidden;
  text-align: left;
  align-items: center;
}
.LP-desktop-FINAL .diretor-mdico .overlap-6 {
  flex: 0 0 350px;
  height: 524px;
  position: relative;
}
.LP-desktop-FINAL .diretor-mdico .mask-group {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.diretor-medico-texto {
  flex: 1;
  padding: 30px 40px;
  color: #ffffff;
}
.diretor-mdico .formado-em-medicina {
    line-height: 1.6;
}
.LP-desktop-FINAL .link-4 { margin: 40px auto 0; cursor: pointer; }


/* --- Sobre a L2D (Video) --- */
.LP-desktop-FINAL .sobre-a {
  width: 100%;
  max-width: 1422px;
  margin: 80px auto 0;
}
.LP-desktop-FINAL .sobre-a .overlap-7 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  align-items: center;
  justify-content: center;
}
.LP-desktop-FINAL .sobre-a .PC-QUEM-SOMOS {
  flex: 1 1 480px;
  max-width: 48%;
  height: auto;
  border-radius: 6px;
  object-fit: cover;
}
.LP-desktop-FINAL .sobre-a .sobre-a-content {
  flex: 1 1 480px;
  max-width: 48%;
  text-align: left;
}


/* =================================================================== */
/* ===                  NUMBERS & MAP SECTION                      === */
/* =================================================================== */

.LP-desktop-FINAL .element-8 {
    background-image: url(./img/03.png);
    background-size: cover;
    background-position: center;
    padding: 80px 5%;
}
.numeros-container {
    width: 100%;
    max-width: 1425px;
    margin: 0 auto;
    text-align: center;
}
.nossos-n-meros-onde { font-size: 3rem; margin-bottom: 60px; }
.numeros-grid {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
}
.numeros-mapa { flex: 1 1 55%; min-width: 300px; }
.MAPAS { max-width: 100%; height: auto; }
.numeros-itens {
    flex: 1 1 40%;
    min-width: 300px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}
.LP-desktop-FINAL .link-6 { margin: 40px auto 0; cursor: pointer; display: inline-block; }

.reputa-o-digital {
  width: 441px;
  top: 1px;
  left: 73px;
  font-family: "Inter", Helvetica;
  font-weight: 400;
  color: #000000;
  font-size: 25px;
  letter-spacing: 0;
  line-height: normal;
  text-align: left;
}

/* =================================================================== */
/* ===                         FAQ SECTION                         === */
/* =================================================================== */

.LP-desktop-FINAL .element-13 {
  padding: 80px 5%;
  background-color: #f5f5f5;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
  align-items: flex-start;
}
.LP-desktop-FINAL .FAQ { flex: 1 1 400px; min-width: 300px; }
.faq-container { flex: 2 1 600px; min-width: 300px; }
.accordion-wrapper { margin-bottom: 20px; cursor: pointer; }
.faq-answer-content { display: none; padding: 15px 10px; overflow: hidden; max-height: 0; transition: max-height 0.4s ease-out, padding 0.4s ease-out; }
.accordion-wrapper.active .faq-answer-content { display: block; max-height: 500px; }
.faq-arrow { transition: transform 0.3s ease; }
.accordion-wrapper.active .faq-arrow { transform: rotate(180deg); }


/* =================================================================== */
/* ===                         FOOTER SECTION                      === */
/* =================================================================== */

.LP-desktop-FINAL .RODAPE { background-image: url(./img/03-1.png); background-size: cover; padding: 80px 5%; text-align: center; }
.LP-desktop-FINAL .para-fazer-parte { width: 100%; max-width: 1045px; margin: 0 auto 50px auto; }
.LP-desktop-FINAL .para-fazer-parte-do { font-size: 2.5rem; line-height: 1.3; }
.LP-desktop-FINAL .nossa-equipe-entrar { margin: 20px 0; font-size: 1.5rem; }
.LP-desktop-FINAL .link-7 { margin: 20px auto; width: 100%; max-width: 520px; cursor: pointer; }
.LP-desktop-FINAL .DIVISO-7 { max-width: 73px; height: auto; margin-bottom: 30px;}
.LP-desktop-FINAL .group-30 { width: 100%; max-width: 1246px; margin: 0 auto; }
.LP-desktop-FINAL .RODAPE-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
  text-align: left;
}
.LP-desktop-FINAL .sub-footer { margin-top: 40px; text-align: center; }

/* =================================================================== */
/* ===                          MODAL                             === */
/* =================================================================== */

.custom-modal { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0,0,0,0.5); display: flex; justify-content: center; align-items: center; z-index: 999; padding: 20px; }
.modal-content { background-color: #fff; width: 90%; max-width: 500px; padding: 30px; border-radius: 12px; position: relative; }
.close-modal { position: absolute; top: 10px; right: 10px; background-color: #008ad2; color: white; border: none; width: 32px; height: 32px; font-size: 18px; font-weight: bold; border-radius: 6px; cursor: pointer; }
.custom-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999;
  padding: 35px;
}

.modal-content {
  background-color: #fff;
  width: 90%;
  max-width: 400px;
  padding: 30px 30px 30px;
  border-radius: 12px;
  position: relative;
        font-family: "Inter", Helvetica;
        font-size: 20px;
}
.modal-content .modal-title {
  font-family: "Inter", Helvetica;
  font-weight: 700; 
  color: #006c9b;
  font-size: 24px;
  text-align: center; 
  margin-top: 20px; 
  margin-bottom: 25px;
  line-height: 1.3; 
}
.modal-content .modal-contact-message {
  font-family: "Inter", Helvetica; 
  font-weight: 400; 
  color: #333333; 
  font-size: 16px; 
  text-align: center;
  margin-top: 15px; 
  margin-bottom: 20px;
}
.modal-content label {
  font-weight: 600;
        font-family: "Inter", Helvetica;
        font-size: 20px;
  color: #006c9b;
  margin-bottom: 6px;
  display: block;
}

.modal-content input {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 6px;
          font-family: "Inter", Helvetica;
        font-size: 20px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  -ms-border-radius: 6px;
  -o-border-radius: 6px;
}

.modal-content button[type="submit"] {
  background-color: #008ad2;
  color: white;
  border: none;
  width: 100%;
  padding: 12px;
  font-family: "Inter", Helvetica;
  font-size: 20px;
  font-size: 14px;
  border-radius: 6px;
  cursor: pointer;
}

.close-modal {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #008ad2;
  color: white;
  border: none;
  width: 32px;
  height: 32px;
  font-size: 18px;
  font-weight: bold;
  border-radius: 6px;
  cursor: pointer;
}
/* =================================================================== */
/* ===                     MEDIA QUERIES                           === */
/* =================================================================== */

@media (max-width: 992px) {
  /* --- Tablet & Smaller Desktops --- */
  .LP-desktop-FINAL .group-6, .group-7, .group-8, .group-9, .group-10, .group-11, .group-12, .group-13, .group-14, .group-15 {
    width: 100%;
  }
  .LP-desktop-FINAL .diretor-mdico .overlap-group-4 {
    flex-direction: column;
  }
  .LP-desktop-FINAL .diretor-mdico .overlap-6 {
    width: 100%;
    flex-basis: auto;
    height: 450px;
  }
  .diretor-medico-texto { text-align: center; width: 100%; }
  .LP-desktop-FINAL .sobre-a .PC-QUEM-SOMOS,
  .LP-desktop-FINAL .sobre-a .sobre-a-content {
    max-width: 100%;
    flex-basis: 100%;
  }
  .LP-desktop-FINAL .sobre-a .sobre-a-content { text-align: center; }
  .numeros-itens { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  /* --- Mobile --- */
  .LP-desktop-FINAL .HEAD .overlap-group { flex-direction: column; height: auto; gap: 15px; padding: 20px; }
  .LP-desktop-FINAL .atenda-plant-es-m, .por-que-m-dicos, .como-funciona-sua, .conhe-a-nosso, .conhe-a-um-pouco, .para-fazer-parte-do, .nossos-n-meros-onde { font-size: 2.2rem; line-height: 1.3; }
  .LP-desktop-FINAL .sua-pr-tica-m-dica, .p { font-size: 1.1rem; }
  .LP-desktop-FINAL .RODAPE-2 { justify-content: center; text-align: center; }
  .LP-desktop-FINAL .RODAPE-2 > div { text-align: center; width: 100%; max-width: 300px; }
  .numeros-grid { flex-direction: column; }

  /* [ALTERAÇÃO] Removi a regra que escondia as setas do Swiper em mobile. 
     Se quiser escondê-las, adicione a linha 'display: none;' abaixo. */
  .swiper-button-next, .swiper-button-prev {
      /* Deixe vazio ou adicione 'display: none;' para esconder */
  }
}


/* =================================================================== */
/* ===         [NOVO] ESTILOS PARA SEÇÃO DIRETOR MÉDICO            === */
/* =================================================================== */

.diretor-section {
  padding: 80px 5%;
  background-color: #f8f9fa; /* Um fundo suave para separar as seções */
}

.diretor-container {
  width: 100%;
  max-width: 1244px;
  margin: 0 auto;
  text-align: center;
}

.section-title {
  font-size: 3rem;
  margin-bottom: 40px;
  color: #333;
}

.section-title strong {
  font-weight: 700;
  color: #006c9b; /* Cor de destaque */
}

.diretor-medico-card {
  display: flex;
  flex-direction: column; /* Padrão mobile: empilhado */
  background-color: #006c9b;
  border-radius: 10px;
  overflow: hidden;
  text-align: left;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.diretor-imagem-container {
  width: 100%;
  height: 400px;
  flex-shrink: 0;
}

.diretor-foto {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Garante que a imagem cubra o espaço sem distorcer */
}

.diretor-texto-container {
  padding: 30px;
  color: #ffffff;
}

.diretor-nome {
  font-size: 2rem;
  line-height: 1.2;
}

.diretor-titulo {
  display: block;
  font-size: 1rem;
  font-weight: 300;
  opacity: 0.8;
  margin-top: 5px;
}

.diretor-bio {
  font-size: 1rem;
  line-height: 1.7;
  margin-top: 25px; /* Espaço para substituir os <br> */
  font-weight: 300;
}

.diretor-citacao {
  font-style: italic;
  font-weight: 600;
}

/* =================================================================== */
/* ===         [NOVO] ESTILOS PARA SEÇÃO SOBRE A L2D               === */
/* =================================================================== */

.sobre-l2d-section {
  padding: 80px 5%;
  background-color: #ffffff;
}

.sobre-l2d-container {
  display: flex;
  align-items: center;
  gap: 50px;
  max-width: 1422px;
  margin: 0 auto;
  flex-wrap: wrap; /* Essencial para a responsividade */
}

.sobre-l2d-video,
.sobre-l2d-content {
  flex: 1 1 450px; /* Faz com que ambos os itens tentem ter 450px e se ajustem */
}

.sobre-l2d-video video {
  width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
}

.sobre-l2d-content {
  text-align: left;
}

.divider-image {
  margin: 20px 0;
  max-width: 100px;
}

.section-description {
  font-size: 1.1rem;
  line-height: 1.7;
  color: #555;
  margin-bottom: 30px;
}

/* =================================================================== */
/* ===             MEDIA QUERIES PARA AS NOVAS SEÇÕES              === */
/* =================================================================== */

@media (min-width: 992px) {
  .diretor-medico-card {
    flex-direction: row; /* Lado a lado em telas grandes */
  }

  .diretor-imagem-container {
    width: 380px; /* Largura fixa para a imagem no desktop */
    height: auto;
  }
  
  .diretor-texto-container {
      padding: 40px 50px;
  }
}

@media (max-width: 768px) {
    .section-title {
        font-size: 2.2rem;
    }
    .sobre-l2d-content {
        text-align: center; /* Centraliza o texto no mobile */
    }
    .divider-image {
        margin-left: auto;
        margin-right: auto;
    }
    .cta-button-standard {
        margin-left: auto;
        margin-right: auto; /* Centraliza botões nas seções no mobile */
    }
}

/* =================================================================== */
/* ===               [NOVO] ESTILOS PARA SEÇÃO FAQ                 === */
/* =================================================================== */

.faq-section {
  padding: 80px 5%;
  background-color: #f8f9fa; /* Fundo suave para destacar a seção */
}

/* O container principal que usa Flexbox para criar as colunas */
.faq-container {
  display: flex;
  flex-wrap: wrap; /* Permite que os itens quebrem para a linha de baixo */
  gap: 50px;
  max-width: 1400px;
  margin: 0 0;
  
}

/* --- Bloco do Título (coluna da esquerda) --- */
.faq-title-block {
  flex: 1 1 350px; /* Base de 350px, pode crescer e encolher */
  min-width: 300px;
  background-image: url(./img/mask-group-1.png);
  background-size: 100% 100%;
  min-height: 100%;
  padding: 3%;
}

.faq-title {
  font-size: 2.8rem;
  font-weight: 700;
  color: white;
}

.faq-subtitle {
  font-size: 1.1rem;
  color: white;
  margin-top: 1rem;
  max-width: 350px;
}

.faq-divider {
  margin-top: 1.5rem;
  max-width: 100px;
}

/* --- Bloco do Accordion (coluna da direita) --- */
.faq-accordion {
  flex: 2 1 600px; /* Base de 600px, ocupando mais espaço */
  min-width: 300px;
}

.faq-item {
  border-bottom: 1px solid #e0e0e0;
}
.faq-item:first-of-type {
  border-top: 1px solid #e0e0e0;
}

.faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 10px;
  font-size: 1.2rem;
  font-weight: 600;
  color: #333;
  cursor: pointer;
  list-style: none; /* Remove a seta padrão do <summary> */
}
.faq-question::-webkit-details-marker {
  display: none; /* Remove a seta no Chrome/Safari */
}

.faq-arrow {
  transition: transform 0.3s ease;
  flex-shrink: 0; /* Impede que a seta encolha */
}

.faq-item[open] > .faq-question .faq-arrow {
  transform: rotate(180deg);
}

.faq-answer {
  padding: 0 10px 20px 10px;
  color: #555;
  line-height: 1.7;
}

/* --- CTA Abaixo do FAQ --- */
.faq-footer-cta {
  text-align: center;
  margin-top: 60px;
}
.faq-footer-cta p {
  font-size: 1.2rem;
  color: #333;
  margin-bottom: 20px;
}
.faq-footer-cta .cta-button-standard {
  margin-left: auto;
  margin-right: auto;
}

/* --- Media Query para Responsividade (Mobile) --- */
@media (max-width: 992px) {
  .faq-container {
    flex-direction: column; /* A MÁGICA ACONTECE AQUI: empilha as colunas */
    align-items: center; /* Centraliza os blocos */
    gap: 30px;
  }

  .faq-title-block {
    text-align: center; /* Centraliza o título no mobile */
  }
  .faq-subtitle,
  .faq-divider {
    margin-left: auto;
    margin-right: auto;
  }
}

.LP-desktop-FINAL .group-22 {
  position: relative;
  width: 1425px;
  height: 813px;
  top: 90px;
  left: 248px;
}
.element-9 {
   width: 525px;
  height: 124px;
  top: 140px;
  left: 1px;
}

.element-10 {
  width: 525px;
  height: 124px;
  top: 543px;
  left: 1px;
}
.element-11 {
  width: 525px;
  height: 124px;
  top: 274px;
  left: 1px;
}
.element-12 {
  width: 525px;
  height: 124px;
  top: 409px;
  left: 1px;
}

/* =================================================================== */
/* ===      [ATUALIZADO] ESTILOS PARA SEÇÃO NÚMEROS & ONDE ESTAMOS   === */
/* =================================================================== */

.numeros-section {
  padding: 80px 5%;
  background-image: url(./img/03.png);
  background-size: cover;
  background-position: center;
}

.numeros-container {
  max-width: 1425px;
  margin: 0 auto;
  text-align: center;
}

.numeros-section .section-title {
  color: #333;
  margin-bottom: 60px;
}
.numeros-section .section-title span {
    font-weight: 300;
}
.numeros-section .section-title span:first-of-type {
    font-weight: 700;
}

/* --- Layout principal: alinha a lista de stats e o mapa --- */
.numeros-grid {
  display: flex;
  flex-wrap: wrap; 
  align-items: center;
  gap: 50px; /* Aumenta o espaço entre a lista e o mapa */
}

/* --- [MUDANÇA] Grid das Estatísticas agora é uma única coluna --- */
.stats-grid {
  flex: 1 1 350px; /* Base de 350px, pode crescer/encolher */
  min-width: 300px;
  display: grid;
  /* A MÁGICA ACONTECE AQUI: Define uma única coluna */
  grid-template-columns: 1fr; 
  gap: 20px; /* Espaço entre cada item da lista */
}

/* --- [MUDANÇA] Estilo dos itens em formato de lista --- */
.stat-item {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(5px);
  padding: 15px 25px; /* Padding ajustado para o layout de linha */
  border-radius: 12px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07);
  
  /* Alinha os itens horizontalmente */
  display: flex;
  align-items: center;
  text-align: left; /* Alinha o texto à esquerda */
  gap: 20px;
  min-height: auto; /* Remove a altura mínima fixa */
}

/* Ícone de verificação (agora verde) */
.stat-item img {
  height: 30px;
  flex-shrink: 0; /* Impede que o ícone encolha */
  margin: 0;
  
  /* Filtro para deixar o ícone verde */
  filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);
}

/* Div para agrupar o número e o texto */
.stat-item .text-content {
    flex-grow: 1;
}

.stat-item span {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: #006c9b;
  line-height: 1.1;
}

.stat-item p {
  font-size: 0.9rem;
  font-weight: 500;
  color: #333;
  margin-top: 2px;
  text-transform: uppercase;
}

/* --- O container do mapa --- */
.map-container {
  flex: 2 1 60%; /* Damos mais espaço para o mapa */
  min-width: 300px;
}

.map-container .MAPAS {
  max-width: 100%;
  height: auto;
  display: block; 
}

/* --- Media Queries para Responsividade --- */
@media (max-width: 992px) {
  .numeros-grid {
    flex-direction: column-reverse; /* [MUDANÇA] Empilha com o mapa primeiro */
  }
}

/* Nenhuma outra media query é necessária, pois a lista já é de 1 coluna por padrão. */

/* Botão de CTA nesta seção */
.numeros-section .cta-button-standard {
    margin-top: 60px; /* Espaçamento após o grid */
}


/* --- Media Queries para Responsividade --- */
@media (max-width: 992px) {
  .numeros-grid {
    flex-direction: column; /* Empilha o mapa e as estatísticas em tablets */
  }
}

@media (max-width: 576px) {
  .stats-grid {
    grid-template-columns: 1fr; /* Em celulares, as estatísticas ficam em uma única coluna */
  }

  .stat-item span {
    font-size: 2.2rem;
  }
}

.group-23 {
  position: absolute;
  width: 81px;
  height: 24px;
  top: 50px;
  left: 125px;
  transform: translateY(-50%) rotate(-5.33deg);

}

.overlap-group-5 {
  position: relative;
  width: 60px;
  height: 18px;
  background-color: #008ad2;
  border-radius: 5px;
}

.milh-es {
  position: absolute;
  top: 4px;
  left: 6px;
  font-family: "Inter", Helvetica;
  font-weight: 700;
  color: #ffffff;
  font-size: 10px;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap;
}

.group-30 {
  width: 1246px;
  height: 183px;
  top: 749px;
  left: 337px;
}

.sub-footer {
  width: 1242px;
  height: 46px;
  top: 137px;
  left: 3px;
}

.line {
  width: 1240px;
  height: 1px;
  top: 0;
  left: 0;
}

/* =================================================================== */
/* ===      [ATUALIZADO] ESTILOS PARA O RODAPÉ CENTRALIZADO        === */
/* =================================================================== */

.RODAPE {
  background-image: url(./img/03-1.png);
  background-size: cover;
  background-position: center;
  padding: 80px 5%;
}

/* --- Seção Superior (CTA) --- */
.footer-cta-container {
  max-width: 1045px;
  margin: 0 auto 80px auto;
  text-align: center;
}

.footer-cta-title {
  font-size: 2.5rem;
  line-height: 1.3;
  color: #333;
}

.footer-divider {
  margin: 30px auto;
}

.footer-cta-subtitle {
  font-size: 1.5rem;
  color: #555;
  margin-bottom: 30px;
}

.footer-cta-container .cta-button-standard {
  margin-left: auto;
  margin-right: auto;
}

/* --- Seção Inferior (Informações) --- */
.footer-info-container {
  max-width: 1246px;
  margin: 0 auto;
}

.footer-columns {
  display: flex;
  flex-wrap: wrap;
  
  /* [MUDANÇA PRINCIPAL] Agrupa as colunas no centro em vez de espalhá-las */
  justify-content: center;
  
  gap: 60px; /* Aumenta o espaço entre as colunas para um visual mais limpo */
}

.footer-column {
  flex: 1 1 300px; 
  max-width: 350px; /* Limita a largura máxima para não esticar demais */
  
  /* [MUDANÇA] Centraliza o texto e o conteúdo dentro de cada coluna */
  text-align: center;
}

.footer-column h4 {
  font-size: 1.2rem;
  font-weight: 700;
  color: #006c9b;
  margin-bottom: 20px;
}

.info-item {
  display: flex;
  align-items: center; /* Alinha o ícone e o texto verticalmente */
  gap: 15px;
  margin-bottom: 15px;
  
  /* [MUDANÇA] Garante que os itens fiquem centralizados dentro da coluna */
  justify-content: center;
  text-align: left; /* Mantém o texto do endereço alinhado à esquerda para leitura */
}

/* Garante que a coluna de endereço tenha texto alinhado ao centro no mobile */
.footer-column:first-of-type .info-item {
    text-align: center;
}

@media (min-width: 769px) {
    .footer-column:first-of-type .info-item {
        text-align: left;
    }
}


.info-item img {
  width: 28px;
  height: 28px;
  flex-shrink: 0; /* Impede que o ícone seja esmagado */
}

.info-item p, .info-item a {
  font-size: 1rem;
  line-height: 1.6;
  color: #333;
  text-decoration: none;
}
.info-item a:hover {
  color: #008ad2;
}

.social-icons {
  display: flex;
  gap: 20px;
  
  /* [MUDANÇA] Garante que os ícones fiquem centralizados */
  justify-content: center;
}
.social-icons a img {
  width: 30px;
  height: 30px;
  transition: transform 0.2s ease;
}
.social-icons a:hover img {
  transform: scale(1.1);
}

/* --- Sub-footer --- */
.sub-footer {
  text-align: center;
  padding-top: 40px;
  margin-top: 40px;
  border-top: 1px solid #ddd;
}

.copyright {
  font-size: 0.9rem;
  color: #555;
}


/* --- Media Queries para o Rodapé --- */
@media (max-width: 768px) {
  .footer-cta-title {
    font-size: 1.8rem;
  }
  .footer-cta-subtitle {
    font-size: 1.2rem;
  }
  .footer-columns {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
}