.elementor-11 .elementor-element.elementor-element-70631b8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-0b42ddd{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.8;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-0b42ddd:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-0b42ddd > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://virtualteologico.com.br/wp-content/uploads/2025/11/banner-pc.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-11 .elementor-element.elementor-element-0b42ddd::before, .elementor-11 .elementor-element.elementor-element-0b42ddd > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-0b42ddd > .e-con-inner > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-0b42ddd > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-0b42ddd > .e-con-inner > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-0b42ddd > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#F4F4F4;--background-overlay:'';}.elementor-11 .elementor-element.elementor-element-95d6aa7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-8a67d60{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-a8ea3df{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-041b66c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-f6a104a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-f6a104a:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-f6a104a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F2F2;}.elementor-11 .elementor-element.elementor-element-f6a104a::before, .elementor-11 .elementor-element.elementor-element-f6a104a > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-f6a104a > .e-con-inner > .elementor-background-video-container::before, .elementor-11 .elementor-element.elementor-element-f6a104a > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-f6a104a > .e-con-inner > .elementor-background-slideshow::before, .elementor-11 .elementor-element.elementor-element-f6a104a > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#F2F2F2;--background-overlay:'';}.elementor-11 .elementor-element.elementor-element-e53c11f{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-e53c11f:not(.elementor-motion-effects-element-type-background), .elementor-11 .elementor-element.elementor-element-e53c11f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#D1D1D1;}.elementor-11 .elementor-element.elementor-element-bc9a667{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11 .elementor-element.elementor-element-3605c94{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS for html, class: .elementor-element-a137e1b *//* * Variáveis (Placeholder - Substitua pelas suas) 
 * É recomendado definir estas variáveis na raiz do seu CSS (ex: :root)
 */
:root {
    --espaco-base: 1.5rem; /* ~24px */
    --cor-destaque: #DAA520; /* Dourado Queimado */
    --cor-texto: #333333; /* Cinza escuro */
}


/* --- Bloco 1: Hero --- */
.home-hero {
  padding: 4rem var(--espaco-base);
  text-align: center;
  width: 100%;
  /* A imagem de fundo e overlay são controlados pelo Elementor */
}

.hero-title {
  font-size: 3.2rem;
  margin-bottom: 0.5rem;
}

.hero-subtitle {
  font-size: 1.2rem;
  color: var(--cor-texto);
  max-width: 700px;
  margin: 0 auto var(--espaco-base);
}

/* --- CARD DE AUTORIDADE NO HERO (E-E-A-T) --- */

.card-autoridade-hero {
    /* Layout: Flexbox para alinhamento horizontal */
    display: inline-flex;
    align-items: center;
    gap: 15px;
    
    /* Box Model */
    padding: 10px 20px;
    border: 2px solid var(--cor-destaque); /* Borda Dourada */
    border-radius: 8px;
    margin-bottom: 20px; /* Espaço entre o card e o título H1 */
    background-color: rgba(255, 255, 255, 0.9); /* Fundo semi-transparente branco */
    
    /* Posição no Centro */
    margin-left: auto;
    margin-right: auto;
    /* Necessita que o container pai tenha text-align: center ou display: flex para centralizar */
    /* Removido transform: translateY(-50%) para consistência de layout */
}

/* --- ESTILOS PARA ÍCONE TROFÉU --- */
.icone-trofeu-png {
    /* Usando os atributos width/height do HTML para CLS */
    width: 35px; 
    height: 35px;
    object-fit: contain; 
    flex-shrink: 0; 
    vertical-align: middle; 
}

/* Nota: O resto do CSS para .card-autoridade-hero permanece o mesmo */

.autoridade-numero {
    font-size: 2.2rem;
    font-weight: 800;
    line-height: 1;
    color: var(--cor-destaque); /* Dourado Queimado (o destaque) */
    flex-shrink: 0;
}

.autoridade-texto {
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--cor-texto); /* Cinza escuro */
    text-transform: uppercase;
    text-align: left;
     white-space: nowrap; 
}

/* Garante a Centralização no Container Hero */
/* Se a seção Hero não usar Flexbox, adicione text-align: center ao container pai: */
.elementor-widget-container { /* Use o seletor do container onde o card está inserido */
    text-align: center;
}

/* --- NOVO CONTÊINER MESTRE: ALINHA OS DOIS CARDS LADO A LADO --- */

.hero-cards-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    max-width: 1100px; 
    margin: 0 auto 30px auto;
    flex-wrap: wrap; /* Permite quebrar linha se a tela for muito pequena */
}

/* --- CARD 1: PROVA SOCIAL (Esquerda) --- */
.card-prova-social {
    display: flex;
    align-items: center;
    gap: 15px; 
    padding: 10px 20px;
    border-radius: 12px;
    background-color: rgba(255, 255, 255, 0.95);
    border: 1px solid #ddd;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.avatar-stack {
    display: flex;
    position: relative;
    /* Removido o padding-left: 10px, pois a margem negativa do sprite resolve o alinhamento */
    padding: 0;
    margin-right: 15px; /* Espaço para o texto de estrelas ao lado */
    height: 60px; /* Garante a altura do contêiner para prevenir CLS */
    flex-shrink: 0;
}

/* 💥 BLOCO DO SPRITE: Otimização de 6 requisições para 1 */
.avatar-sprite-item {
    display: inline-block;
    width: 60px; /* Tamanho de exibição na tela (1/2 do tamanho nativo de 120px) */
    height: 60px;
    border-radius: 50%; 
    
    /* URL CORRIGIDA: Usa o caminho do arquivo Sprite que você uniu */
    background-image: url("https://virtualteologia.com.br/wp-content/uploads/2025/12/avatar-todo.webp"); 
    background-repeat: no-repeat;
    
    /* CORREÇÃO CRÍTICA AQUI: Usar 'auto' na altura elimina a deformação. */
    background-size: 360px auto; 
    
    position: relative;
    margin-left: -15px; 
    border: 3px solid #FFFFFF; /* Borda Branca */
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    flex-shrink: 0;
}

/* CORREÇÃO CHAVE: Zera a margem do primeiro item para o alinhamento */
.avatar-stack .avatar-sprite-item:first-child { 
    margin-left: 0; 
    z-index: 6; /* Garante que o primeiro esteja na frente */
}

/* POSICIONAMENTO DO BACKGROUND (Recorte) - Move o background 60px para a esquerda por item */
.avatar-1 { background-position: 0 0; z-index: 6; }
.avatar-2 { background-position: -60px 0; z-index: 5; } 
.avatar-3 { background-position: -120px 0; z-index: 4; }
.avatar-4 { background-position: -180px 0; z-index: 3; }
.avatar-5 { background-position: -240px 0; z-index: 2; } 
.avatar-6 { background-position: -300px 0; z-index: 1; }


/* REMOVENDO OS ESTILOS ANTIGOS/INCORRETOS */
/* ❌ REMOVEMOS: Todo o bloco .avatar-img e seus filhos nth-child, que agora são desnecessários 
   e causavam conflito com a nova abordagem do Sprite. */


.prova-social-avaliacao {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.estrelas-avaliacao {
    font-size: 1.1rem;
    color: var(--cor-destaque, #DAA520); /* Fallback dourado */
    line-height: 1;
    margin-bottom: 2px;
}

.alunos-metrica {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--cor-texto, #333);
    white-space: nowrap;
}

/* --- CARD 2: AUTORIDADE (Direita) --- */
.card-autoridade-hero {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 20px;
    
    min-width: 260px; 
    flex-shrink: 0;   
    border: 2px solid var(--cor-destaque, #DAA520);
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.9);
    margin: 0; 
    transform: none; 
}

.icone-trofeu-png {
    width: 32px;
    height: auto;
    object-fit: contain;
}

/* Container que segura o Numero (+30) e o Texto */
.info-autoridade {
    display: flex;          /* Coloca um ao lado do outro */
    align-items: center;    /* Alinha verticalmente pelo centro */
    gap: 8px;               /* Espaço entre o +30 e o texto */
    padding: 7px;
}

/* Ajustes finos no número */
.autoridade-numero {
    font-size: 2rem;     /* Ajuste o tamanho conforme necessário */
    font-weight: 800;
    line-height: 1;
    color: var(--cor-destaque, #DAA520);
    margin: 0;           /* Remove margens que podem desalizar */
}

/* Ajustes finos no texto */
.autoridade-texto {
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1.1;
    color: var(--cor-texto, #333); /* Use #fff se o fundo for escuro */
    text-transform: uppercase;
    text-align: left;
}

/* --- RESPONSIVIDADE (Mobile) --- */
@media (max-width: 768px) {
    .hero-cards-wrapper {
        flex-direction: column; /* Um em cima do outro no celular */
        gap: 15px;
    }
    
    .hero-title {
  font-size: 45px;
  font-weight: 600;
}
    
    /* Opcional: garantir que no mobile eles tenham a mesma largura */
    .card-prova-social, 
    .card-autoridade-hero {
        /* Garante que o card ocupe a largura total, permitindo margens na tela */
        width: 100%;
        max-width: 350px; /* Limita a largura em telas muito grandes no modo coluna */
        justify-content: center;
    }
}

/* 💥 CORREÇÃO CRÍTICA PARA CELULARES PEQUENOS (Abaixo de 450px) 
 * O transbordamento ocorre quando a tela é mais estreita que 285px (largura do stack)
 * Solução: Reduzir a largura dos avatares e do espaçamento (margin-left)
 */
@media (max-width: 450px) {
    
    /* Reduz o tamanho de cada avatar (janela) para 40px */
    .avatar-stack {
        height: 40px; /* Nova altura do contêiner */
    }
    .avatar-sprite-item {
        width: 40px;
        height: 40px;
        /* Reduz a sobreposição para caber mais avatares em menos espaço */
        margin-left: -10px; 
    }
    
    /* Redefine a imagem de fundo para a nova escala:
       O Sprite original de 720px agora deve ser exibido com 480px (720 * 40/60)
       Mas como a imagem de 720px foi reduzida para 360px no CSS, agora o Sprite
       deve ser reduzido para 2/3 desse tamanho: 360px * (40/60) = 240px.
       O que é mais simples é: 6 avatares * 40px = 240px.
    */
    .avatar-sprite-item {
        background-size: 240px auto; 
    }

    /* Ajusta a posição de recorte para o novo tamanho de 40px por avatar */
    .avatar-1 { background-position: 0 0; z-index: 6; }
    .avatar-2 { background-position: -40px 0; z-index: 5; } /* Desloca 40px */
    .avatar-3 { background-position: -80px 0; z-index: 4; }
    .avatar-4 { background-position: -120px 0; z-index: 3; }
    .avatar-5 { background-position: -160px 0; z-index: 2; } 
    .avatar-6 { background-position: -200px 0; z-index: 1; }
    
    /* Ajusta o espaçamento do card para não transbordar */
    .card-prova-social {
        gap: 10px;
        padding: 8px 15px;
    }
    
    /* Ajusta o texto da métrica para caber melhor */
    .alunos-metrica {
        font-size: 0.75rem;
    }
}
/* --- Responsividade (Empilha quando não há espaço) --- */
@media (max-width: 768px) {
    .hero-cards-wrapper {
        flex-direction: column; /* Empilha verticalmente */
        align-items: center; /* Centraliza individualmente */
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-74a6693 *//* --- CONFIGURAÇÃO GERAL --- */
.home-contador {
  background-color: #0d2e4e; /* Cor Azul Escura da sua imagem */
  color: #ffffff;
  padding: 2rem 0; /* Altura do bloco */
  overflow: hidden; /* Corta o que sai da tela */
  position: relative;
  width: 100%;
}

/* --- O TRILHO --- */
.marquee-track {
  display: flex;
  width: fit-content;
  /* Garante que não haja quebras ou distorções */
  align-items: center; 
}

/* --- OS GRUPOS DE CONTEÚDO --- */
.marquee-content {
  display: flex;
  align-items: center;
  /* Impede que o navegador tente encolher os grupos */
  flex-shrink: 0; 
  
  /* A ANIMAÇÃO */
  /* Ajuste 40s para mais lento ou 20s para mais rápido */
  animation: scroll-loop 15s linear infinite; 
}

/* --- OS ITENS INDIVIDUAIS --- */
.contador-item {
  text-align: center;
  /* O SEGREDO: Usar padding fixo em vez de gap flexível */
  padding-right: 80px; 
  /* Garante que o item não quebre linha */
  white-space: nowrap; 
}

/* Tipografia igual à sua imagem */
/* --- O NÚMERO (Fonte do H1 / Títulos) --- */
.contador-numero {
  display: block;
  /* Tenta usar a variável do seu tema. Se não achar, tenta a fonte padrão de headings */
  font-family: var(--fonte-titulo), var(--e-global-typography-primary-font-family), "Merriweather", serif;
  font-size: 2rem; 
  font-weight: 700; /* Peso bold, comum em H1 */
  color: #ffffff;
  line-height: 1;
}

/* --- O TEXTO (Fonte Nunito) --- */
.contador-label {
  display: block;
  font-family: "Nunito", sans-serif; /* Define Nunito explicitamente */
  font-size: 1rem;
  color: #cccccc;
  margin-top: 10px;
  font-weight: 400; /* Peso normal para leitura */
}

/* --- A ANIMAÇÃO PERFEITA --- */
@keyframes scroll-loop {
  0% {
    transform: translateX(0);
  }
  100% {
    /* Move exatamente 100% do tamanho do grupo para a esquerda */
    transform: translateX(-100%);
  }
}

/* Pausa suave ao passar o mouse */
.home-contador:hover .marquee-content {
  animation-play-state: paused;
}

/* --- RESPONSIVIDADE --- */
@media (max-width: 768px) {
  .contador-item {
    padding-right: 40px; /* Menos espaço no celular */
  }
  .contador-numero {
    font-size: 2.5rem;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-b16a321 *//* * CSS ESCOPADO PARA O BLOCO 6 (CARROSSEL DE DEPOIMENTOS)
 * (A palavra '.elementor-11 .elementor-element.elementor-element-b16a321' se refere a esta seção específica)
 */

/* Define o padding e o fundo da seção */
.elementor-11 .elementor-element.elementor-element-b16a321 {
  background-color: #ffffff;
  padding: 4rem 0 5rem 0;
  width: 100%;
  border-top: 1px solid #eee;
}

/* Container do Swiper */
.elementor-11 .elementor-element.elementor-element-b16a321 .meu-carrossel-depoimentos {
  width: 100%;
  overflow: hidden;
  padding-bottom: 2.5rem; /* Espaço para as bolinhas */
}

/* --- A CORREÇÃO DE ALTURA ESTÁ AQUI --- */
.elementor-11 .elementor-element.elementor-element-b16a321 .meu-carrossel-depoimentos .swiper-wrapper {
  align-items: stretch !important; /* FORÇA os slides a esticar */
}

/* Slide Individual */
.elementor-11 .elementor-element.elementor-element-b16a321 .swiper-slide {
  height: auto; 
  display: flex;
}

/* Card de Depoimento (Estilo) */
.elementor-11 .elementor-element.elementor-element-b16a321 .card-depoimento-novo {
  background-color: var(--cor-fundo);
  padding: 2rem;
  border-radius: 8px;
  border: 1px solid #eee;
  width: 100%;
  height: 100%; /* Ocupa 100% do slide */
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.elementor-11 .elementor-element.elementor-element-b16a321 .depoimento-rating {
  font-size: 1.5rem;
  color: var(--cor-destaque);
  margin-bottom: 1rem;
}

.elementor-11 .elementor-element.elementor-element-b16a321 .depoimento-texto-novo {
  font-family: var(--fonte-titulo);
  font-size: 1.2rem;
  font-style: italic;
  line-height: 1.6;
  color: var(--cor-texto);
  margin: 0 0 1.5rem 0;
  flex-grow: 1; 
}

.elementor-11 .elementor-element.elementor-element-b16a321 .depoimento-autor-novo {
  font-family: var(--fonte-corpo);
  font-weight: 700;
  font-size: 1rem;
  color: var(--cor-primaria);
}

/* Bolinhas de Paginação */
.elementor-11 .elementor-element.elementor-element-b16a321 .swiper-pagination {
  position: absolute;
  bottom: 0 !important;
}
.elementor-11 .elementor-element.elementor-element-b16a321 .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  background-color: #ccc;
  opacity: 1;
  transition: all 0.3s ease;
}
.elementor-11 .elementor-element.elementor-element-b16a321 .swiper-pagination-bullet-active {
  background-color: var(--cor-primaria);
  width: 35px;
  border-radius: 5px;
}

/* --- NOVO: Estilo do Avatar --- */

.depoimento-avatar-wrapper {
    width: 100%;
    text-align: center; /* Centraliza a imagem na coluna */
    margin-bottom: 1rem;
}

.avatar-depoimento-img {
    width: 70px; /* Tamanho do círculo */
    height: 70px;
    border-radius: 50%; /* Torna a imagem circular */
    object-fit: cover; /* Garante que a imagem preencha o círculo */
    border: 3px solid var(--cor-destaque); /* Borda Dourada para destaque */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    
    /* Remove a quebra de linha que estava acontecendo */
    display: block; 
    margin: 0 auto;
}

/* --- Estilos Existentes (Ajuste de Margens) --- */

.depoimento-rating {
    font-size: 1.5rem;
    color: var(--cor-destaque);
    margin-bottom: 1rem;
}

.depoimento-texto-novo {
    font-family: var(--fonte-titulo);
    font-size: 1.2rem;
    font-style: italic;
    line-height: 1.6;
    color: var(--cor-texto);
    margin: 0 0 1.5rem 0;
    flex-grow: 1; /* Permite que o texto se estique */
}

.depoimento-autor-novo {
    font-family: var(--fonte-corpo);
    font-weight: 700;
    font-size: 1rem;
    color: var(--cor-primaria);
    /* Mantém a centralização do card-depoimento-novo */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-359824b *//*
 * --- 8. ESTILOS DO BLOCO 2 (DIFERENCIAIS - CORRIGIDO) ---
 */

/* O container principal da seção */
.home-diferenciais {
  background-color: var(--cor-fundo); 
  padding: 4rem 0; 
  width: 100%;
}

/* O card individual (minimalista) */
.card-diferencial {
  background-color: transparent;
  border: none;
  padding: 2.5rem 1.5rem; 
  text-align: center; 
  box-shadow: none;
}

.card-diferencial:hover {
  transform: none; 
}

/* Estilo do Ícone (SVG) */
.diferencial-icon {
  color: var(--cor-destaque);
  width: 50px;
  height: 50px;
  margin-bottom: 1.5rem; /* Espaço entre o ícone e a linha */
  display: inline-block; 
}

/* Título do Card (Com as correções) */
.diferencial-titulo {
  font-family: var(--fonte-titulo);
  color: var(--cor-primaria);
  font-size: 1.6rem;
  
  /* CORREÇÃO 1: Linha movida para o TOPO */
  border-top: 3px solid; /* Era border-bottom */
  
  /* CORREÇÃO 1: Espaçamento ajustado para a linha no topo */
  padding-top: 1rem;    /* Espaço (Linha) -> (Texto do Título) */
  margin-top: 0; /* Remove margem superior do título */
  margin-bottom: 1rem;  /* Espaço (Título) -> (Texto de Descrição) */
  display: inline-block;
  
  /* CORREÇÃO 2: Força uma altura mínima para alinhar os cards */
  /* (1.6rem * 1.3 de line-height * 2 linhas) = ~3.5rem */
  min-height: 3.5rem; 
  width: 100%; /* Garante que o min-height seja aplicado corretamente */
}

/* Cor da linha para o primeiro diferencial */
.colunas-container .coluna:nth-child(1) .diferencial-titulo {
  border-color: var(--cor-destaque); /* Dourado Queimado */
}

/* Cor da linha para o segundo diferencial */
.colunas-container .coluna:nth-child(2) .diferencial-titulo {
  border-color: var(--cor-primaria); /* Azul Safira */
}

/* Cor da linha para o terceiro diferencial */
.colunas-container .coluna:nth-child(3) .diferencial-titulo {
  border-color: var(--cor-secundaria); /* Verde Oliva */
}


/* Texto de descrição do Card */
.diferencial-texto {
  font-family: var(--fonte-corpo);
  color: var(--cor-texto);
  font-size: 1rem;
  line-height: 1.7;
}

/*
 * ===================================================================
 * CSS DA SEÇÃO DIFERENCIAIS (3 Colunas)
 * ===================================================================
 */

.home-diferenciais {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

/* Estilo do Card Individual */
.card-diferencial {
    text-align: center;
    padding: var(--espaco-base);
}

.diferencial-icon {
    /* Define a caixa para o ícone */
    display: inline-flex;
    justify-content: center;
    align-items: center;
    
    /* Configuração visual da caixa do ícone */
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: var(--cor-fundo); /* Fundo claro para ícone */
    border: 2px solid var(--cor-destaque); /* Borda Dourada */
    
    margin-bottom: var(--espaco-base);
}

/* Otimização da Imagem PNG */
.icone-diferencial-png {
    /* Define o tamanho real da imagem dentro da caixa de 60x60px */
    width: 35px; 
    height: 35px;
    object-fit: contain;
    /* Nota: Se o seu PNG já for Azul Safira, não precisa de 'fill'. */
}

.diferencial-titulo {
    font-size: 1.5rem;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

.diferencial-texto {
    font-size: 1rem;
    color: var(--cor-texto);
}

/* Responsividade (A classe .colunas-container já cuida da quebra) *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-18d8090 *//*
 * --- 9. ESTILOS DO BLOCO 3 (DESTAQUES) ---
 */

/* O container principal da seção */
.home-destaques {
  /* Fundo branco para contrastar com o Bloco 2 */
  background-color: #ffffff; 
  padding: 4rem 0; /* 64px de espaço em cima e embaixo */
  width: 100%;
  border-top: 1px solid #eee; /* Linha sutil separando do Bloco 2 */
}

/* O card individual */
.card-destaque {
  background-color: var(--cor-fundo); /* Fundo 'Off-white', levemente cinza */
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 2rem; /* 32px de espaço interno */
  
  /* Usa Flexbox para alinhar o conteúdo */
  display: flex;
  flex-direction: column; /* Organiza o conteúdo em coluna */
  justify-content: space-between; /* Empurra o botão para baixo */
  
  text-align: center;
  transition: border-color 0.3s ease;
}

.card-destaque:hover {
  border-color: var(--cor-destaque); /* Borda fica dourada no hover */
}

/* Título do Card */
.card-destaque-titulo {
  font-family: var(--fonte-titulo);
  color: var(--cor-primaria);
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

/* Texto de descrição do Card */
.card-destaque-texto {
  font-family: var(--fonte-corpo);
  color: var(--cor-texto);
  font-size: 1rem;
  line-height: 1.7;
  margin-bottom: 1.5rem; /* Espaço antes do botão */
  
  /* Garante que o texto ocupe o espaço */
  flex-grow: 1; 
}

/* O botão dentro do card */
.card-destaque .botao {
  width: 100%; /* Botão ocupa 100% da largura do card */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-632b29d *//* =======================================================
 * BLOCO 5 (POSTS DUPLOS: RECENTES + POPULARES)
 * ======================================================= */

.home-posts-duplos {
  background-color: var(--cor-fundo);
  padding: 4rem 0;
  width: 100%;
  border-top: 1px solid #eee;
}

/* Título (Últimas Publicações / Mais Acessados) */
.secao-titulo-esquerda {
  font-family: var(--fonte-titulo);
  color: var(--cor-primaria);
  font-size: 2.5rem;
  margin-bottom: 2rem;
  text-align: left;
}

/* Define as colunas 50/50 */
.col-50-50 .coluna {
  flex-basis: 48%; /* 48% + 48% + 4% gap */
  min-width: 300px;
}

/* Container da lista de posts */
.ultimos-posts-lista {
  display: flex;
  flex-direction: column;
  gap: 1.5rem; /* Espaço entre cada card de post */
}

/* -------------------------------------------------------
   CARD INDIVIDUAL (CORRIGIDO)
   ------------------------------------------------------- */
.ultimos-posts-card-v2 {
  display: flex; 
  align-items: flex-start; /* Alinha tudo ao topo */
  gap: 1.5rem;             /* Espaço entre a imagem e o texto */
  
  box-shadow: none; 
  border: none;
  background-color: transparent; 
  
  padding: 0.5rem; 
  transition: all 0.3s ease;
  border-radius: 8px;
}

/* Efeito Hover no Card inteiro */
.ultimos-posts-card-v2:hover {
  transform: translateY(-3px);
  background-color: #f8f9fa; 
}

/* --- CORREÇÃO DE ALINHAMENTO DA IMAGEM --- */

/* 1. O Link que envolve a imagem (Define o tamanho fixo) */
.card-link-imagem {
  display: block;
  flex-shrink: 0; /* IMPEDE que a imagem seja esmagada pelo texto */
  
  /* Tamanho PADRÃO (Desktop) */
  width: 200px;   
  height: 140px;  
  
  border-radius: 0px;
  overflow: hidden; 
  position: relative;
}

/* 2. A Imagem em si (Preenche o link acima) */
.card-imagem-v2 {
  width: 100%;
  height: 100%;
  object-fit: cover; 
  display: block;
  transition: transform 0.5s ease;
}

/* Zoom suave na imagem ao passar o mouse */
.ultimos-posts-card-v2:hover .card-imagem-v2 {
  transform: scale(1.08);
}

/* -------------------------------------------------------
   CONTEÚDO DO CARD (LADO DIREITO)
   ------------------------------------------------------- */
.card-conteudo-v2 {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0; 
}

/* Tag de Categoria */
.card-categoria-tag {
  display: inline-block;
  background-color: var(--cor-secundaria);
  color: #ffffff !important;
  font-family: var(--fonte-corpo);
  font-size: 0.5rem; 
  font-weight: 700;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  text-decoration: none;
  margin-bottom: 0.5rem; 
  align-self: flex-start; 
  transition: all 0.3s ease;
}

.card-categoria-tag:hover {
  background-color: var(--cor-destaque);
  color: #ffffff !important;
  text-decoration: none;
}

/* Título do Post */
.card-titulo-post-v2 {
  font-family: var(--fonte-titulo);
  color: var(--cor-primaria);
  font-size: 1rem;
  line-height: 1.3;
  margin: 0 0 0.5rem 0;
  font-weight: 600;
}

.card-titulo-post-v2 a {
  color: var(--cor-primaria) !important;
  text-decoration: none;
  transition: color 0.3s ease;
}

.card-titulo-post-v2 a:hover {
  color: var(--cor-destaque) !important;
  text-decoration: none;
}

/* Data do Post */
.card-data-v2 {
  font-family: var(--fonte-corpo);
  color: #777;
  font-size: 0.85rem;
  display: flex;
  align-items: center;
  gap: 6px;
}

.card-data-v2 .dashicons-calendar-alt {
  font-size: 1rem;
  width: 1rem;
  height: 1rem;
  color: var(--cor-destaque); 
}

/* -------------------------------------------------------
   BOTÃO "VER TODOS"
   ------------------------------------------------------- */
.todos-posts-link-container {
  width: 100%;
  text-align: left; 
  margin-top: 2rem;
  padding-left: 0.5rem; 
}

.todos-posts-link-container .botao-secundario {
  display: inline-block;
  width: auto !important; 
  padding: 10px 25px;
  background-color: var(--cor-primaria);
  border: 2px solid var(--cor-primaria);
  color: #fff; /* Ajustei para branco pois o background é primário */
  font-weight: bold;
  text-transform: uppercase;
  font-size: 0.9rem;
  border-radius: 5px;
  transition: all 0.3s ease;
  text-decoration: none;
}

.todos-posts-link-container .botao-secundario:hover {
  background-color: transparent; /* Inverte no hover */
  color: var(--cor-primaria);
}


/* =======================================================
   RESPONSIVIDADE (NOVA PARTE)
   ======================================================= */

/* Para Tablets e telas médias (abaixo de 992px) */
@media (max-width: 992px) {
  .card-link-imagem {
    /* Reduz um pouco a imagem */
    width: 160px;
    height: 110px;
  }
  
  .secao-titulo-esquerda {
    font-size: 2rem; /* Título da seção um pouco menor */
  }
}

/* Para Celulares (abaixo de 600px) */
@media (max-width: 600px) {
  
  /* Ajusta o espaçamento do card */
  .ultimos-posts-card-v2 {
    gap: 1rem; /* Aproxima um pouco a imagem do texto */
    padding: 0.5rem 0; /* Remove padding lateral se necessário */
  }

  /* Reduz a imagem significativamente para caber o texto ao lado */
  .card-link-imagem {
    width: 110px; 
    height: 85px;
  }

  /* Ajusta tamanho da fonte do título para não ficar gigante ao lado da imagem menor */
  .card-titulo-post-v2 {
    font-size: 0.95rem;
  }
  
  /* Ajusta tamanho da fonte da categoria e data */
  .card-categoria-tag {
    font-size: 0.45rem;
    padding: 3px 6px;
  }
  
  .card-data-v2 {
    font-size: 0.75rem;
  }
  
  /* Título da Seção menor no mobile */
  .secao-titulo-esquerda {
    font-size: 1.8rem;
    text-align: center; /* No mobile fica melhor centralizado */
  }
  
  /* Centraliza o botão "Ver todos" no mobile */
  .todos-posts-link-container {
    text-align: center;
    padding-left: 0;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-eb6925d *//*
 * ===================================================================
 * CSS DA FAIXA DE PARCEIROS/AFILIAÇÕES (HOME PAGE)
 * ===================================================================
 */

.home-parceiros-strip {
    padding: 3rem 0;
    background-color: #f7f9fb; /* Um cinza muito claro para destaque */
    border-top: 1px solid #eee;
    text-align: center;
}

.parceiros-logos-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; /* Permite que os logos quebrem a linha se a tela for pequena */
    gap: 30px 40px; /* Espaçamento entre as linhas e colunas */
    max-width: 900px;
    margin: 2rem auto;
}

.parceiro-link {
    display: inline-block;
    opacity: 0.6; /* Deixa os logos mais sutis */
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.parceiro-link:hover {
    opacity: 1; /* Aumenta a opacidade no hover */
    transform: translateY(-5px); /* Efeito de elevação */
}

.parceiro-logo {
    max-width: 550px; /* Largura máxima para cada logo */
    height: auto;
    max-height: 130px; /* Limite de altura para uniformidade */
    object-fit: contain;
    /* Adicione um filtro cinza para uniformidade se necessário: */
    /* filter: grayscale(100%); */
    margin-bottom: 50px;
    margin-top: 20px;
}

/* Título Centralizado */
.secao-titulo-centro {
    font-family: var(--fonte-titulo);
    color: var(--cor-primaria);
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    text-align: center;
}

/* Estilo do Botão "Ver todas as Afiliações" */
.todos-parceiros-link-container {
    margin-top: 2rem;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ec3683a *//*
 * --- CSS ESCOPADO PARA O BLOCO 4 (CTA PESQUISA) ---
 */

/* Container da Seção */
.elementor-11 .elementor-element.elementor-element-ec3683a {
  background-color: var(--cor-primaria); 
  color: #ffffff; 
  padding: 4rem 0;
  width: 100%;
  text-align: center;
  margin-top: 1px;
  padding: 4rem 0;
}

/* Título (H2) */
.elementor-11 .elementor-element.elementor-element-ec3683a .cta-titulo {
  font-family: var(--fonte-titulo);
  color: #ffffff;
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

/* Parágrafo de apoio */
.elementor-11 .elementor-element.elementor-element-ec3683a .cta-texto {
  font-family: var(--fonte-corpo);
  color: #f1f1f1;
  font-size: 1.1rem;
  line-height: 1.7;
  max-width: 650px;
  margin: 0 auto 2rem auto;
}

/* --- A CORREÇÃO ESTÁ AQUI --- */

/* Estilo do Botão Dourado (Normal) */
.elementor-11 .elementor-element.elementor-element-ec3683a .botao-destaque {
  /* Cor Dourada (da paleta) */
  background-color: #FFF;
  
  /* Texto Azul Safira (para contraste) */
  color: var(--cor-primaria) !important;
  
  font-weight: 700;
  font-size: 1.1rem;
  padding: 14px 22px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}

/* Efeito Hover (Branco com texto Azul) */
.elementor-11 .elementor-element.elementor-element-ec3683a .botao-destaque:hover {
  background-color: var(--cor-destaque); 
  color: #fff !important;
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3605c94 *//*
 * --- CSS ESCOPADO DO RODAPÉ (VERSÃO FINAL E CORRIGIDA) ---
 */

/* 1. Garante que o conteúdo ocupe 100% (sem truques) */
.elementor-11 .elementor-element.elementor-element-3605c94 {
  width: 100%;
}
.elementor-11 .elementor-element.elementor-element-3605c94 > .elementor-container > .elementor-column {
  padding: 0 !important;
  margin: 0 !important;
}

/* --- 2. Estilos do Rodapé Principal (Cinza-Escuro) --- */
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-main {
  background-color: var(--cor-texto) !important;
  color: #f1f1f1;
  padding: 3rem 0;
  width: 100%;
  box-sizing: border-box;
}

/* Container das 4 colunas (Alinhado com o Header) */
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-main .colunas-container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  
  /* --- A CORREÇÃO DE QUEBRA ESTÁ AQUI --- */
  gap: 0; /* ANULA o 'gap' global do .colunas-container */
  /* --- FIM DA CORREÇÃO --- */
  
  padding-left: var(--espaco-base);
  padding-right: var(--espaco-base);
}

/* Definição das colunas (com 'padding' para 'folga') */
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-main .coluna {
  align-self: flex-start;
  flex-grow: 0;
  flex-shrink: 1;
  box-sizing: border-box;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-col-1 { /* Logo */
  flex-basis: 30%;
  min-width: 280px;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-col-2 { /* Navegação */
  flex-basis: 32%; /* Largura ajustada */
  min-width: 280px;
  padding-left: 1.5rem; /* "Folga" */
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-col-3 { /* Junte-se */
  flex-basis: 23%; /* Largura ajustada */
  min-width: 200px;
  padding-left: 1.5rem; /* "Folga" */
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-col-4 { /* Siga-nos */
  flex-basis: 15%; /* Largura ajustada */
  min-width: 150px;
  padding-left: 1.5rem; /* "Folga" */
  text-align: center;
}

/* (O restante dos estilos internos do rodapé) */
.elementor-11 .elementor-element.elementor-element-3605c94 .logo-footer {
  max-height: 50px;
  width: auto;
  margin-bottom: 1.5rem;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .missao-texto {
  font-size: 0.9rem;
  line-height: 1.6;
  color: #ccc;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-titulo {
  font-family: var(--fonte-titulo);
  color: #ffffff;
  font-size: 1.3rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid var(--cor-destaque);
  padding-bottom: 8px;
  display: inline-block;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .links-footer {
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 2;
  gap: 10px;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .links-footer li {
  margin-bottom: 10px;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .links-footer a {
  color: #f1f1f1;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .links-footer a:hover {
  color: var(--cor-destaque);
  padding-left: 5px;
  text-decoration: none !important;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-col-texto {
  color: #ccc;
  font-size: 0.9rem;
  line-height: 1.6;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .link-destaque {
  font-family: var(--fonte-corpo);
  font-weight: 700;
  color: var(--cor-destaque);
  text-decoration: none;
  font-size: 1.1rem;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .link-destaque:hover {
  text-decoration: none !important;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-social {
  display: flex;
  gap: 15px;
  justify-content: center;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-social a {
  color: #ffffff;
  transition: all 0.3s ease;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-social a:hover {
  color: var(--cor-destaque);
  transform: scale(1.1);
}

/* Versão Mobile (Intocada) */
@media (max-width: 900px) {
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-main .colunas-container {
    flex-direction: column;
    gap: 30px;
  }
  .elementor-11 .elementor-element.elementor-element-3605c94 .coluna {
    padding-left: var(--espaco-base) !important;
    padding-right: var(--espaco-base) !important;
    text-align: center !important;
    flex-basis: 100% !important; 
    min-width: 100% !important;
  }
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-titulo {
    display: inline-block;
  }
  .elementor-11 .elementor-element.elementor-element-3605c94 .links-footer {
    columns: 2;
    display: inline-block;
    text-align: left;
    gap: 20px;
  }
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-social {
    justify-content: center;
  }
  .elementor-11 .elementor-element.elementor-element-3605c94 .missao-texto,
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-col-texto {
     margin-left: auto;
     margin-right: auto;
     max-width: 400px;
     display: block; 
  }
}

/* --- 3. Estilos do Sub-Rodapé (Preto) --- */
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub {
  background-color: #000000 !important;
  color: #aaa;
  padding: 1.5rem 0;
  font-size: 0.85rem;
  width: 100%;
  box-sizing: border-box;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .container-sub-footer {
  width: 100%;
  max-width: 1200px; /* Alinha com o .container */
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub-left,
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub-center,
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub-right {
  text-align: center;
  flex: 1;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub-right {
  text-align: right;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub a {
  color: #aaa;
  text-decoration: none;
  margin-left: 15px;
  transition: color 0.3s ease;
}
.elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub a:hover {
  color: #ffffff;
  text-decoration: none !important;
}

/* Versão Mobile (Intocada) */
@media (max-width: 768px) {
  .elementor-11 .elementor-element.elementor-element-3605c94 .container-sub-footer {
    flex-direction: column;
    gap: 15px;
  }
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub-left,
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub-center,
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub-right {
    text-align: center !important;
    width: 100%;
    margin: 0;
  }
  .elementor-11 .elementor-element.elementor-element-3605c94 .footer-sub a {
    margin: 0 8px;
  }
}/* End custom CSS */