.elementor-3063 .elementor-element.elementor-element-19ec8a6{--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;}body:not(.rtl) .elementor-3063 .elementor-element.elementor-element-26d720e{left:0px;}body.rtl .elementor-3063 .elementor-element.elementor-element-26d720e{right:0px;}.elementor-3063 .elementor-element.elementor-element-26d720e{top:0px;}/* Start custom CSS for html, class: .elementor-element-26d720e */:root{
  --bg:#f7f8fc;
  --bg-soft:#ffffff;
  --card:#ffffff;
  --card-2:#f1f5f9;
  --line:#dbe4ee;

  --txt:#0f172a;
  --txt-soft:#334155;
  --txt-muted:#475569;

  --gold:#c69214;
  --gold-dark:#8a6510;
  --green:#16a34a;
  --green-dark:#0f6b31;
  --blue:#2563eb;

  --max:1120px;
  --radius:20px;
  --shadow:0 14px 38px rgba(15, 23, 42, .08);
  --shadow-soft:0 8px 20px rgba(15, 23, 42, .05);
}

*{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(900px 400px at 10% -10%, rgba(198,146,20,.08), transparent 60%),
    radial-gradient(900px 500px at 100% 0%, rgba(37,99,235,.06), transparent 50%),
    linear-gradient(180deg, #f8fafc 0%, #eef3f8 100%);
  color:var(--txt);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{
  color:var(--blue);
  text-decoration:none;
}

a:hover{
  text-decoration:underline;
}

.wrap{
  max-width:var(--max);
  margin:0 auto;
  padding:24px;
}

@media (max-width:900px){
  .wrap{
    padding:16px;
  }
}

/* HERO */
.hero{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  overflow:hidden;
  position:relative;
}

.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(500px 220px at 12% 14%, rgba(198,146,20,.08), transparent 60%),
    radial-gradient(420px 220px at 88% 16%, rgba(22,163,74,.05), transparent 55%);
  pointer-events:none;
}

.hero-in{
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
  padding:30px 24px;
  align-items:start;
}

@media (max-width:900px){
  .hero-in{
    grid-template-columns:1fr;
    padding:20px 16px;
  }
}

.badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:8px 12px;
  border-radius:999px;
  background:#fff7e1;
  border:1px solid #f0d58a;
  color:var(--gold-dark);
  font-size:12px;
  font-weight:900;
  letter-spacing:.2px;
  text-transform:uppercase;
}

h1{
  margin:14px 0 12px;
  font-size:clamp(30px, 4vw, 48px);
  line-height:1.08;
  letter-spacing:-.5px;
  color:var(--txt);
}

.lead{
  margin:0 0 14px;
  color:var(--txt-soft);
  font-size:17px;
  max-width:75ch;
}

.hero-card{
  background:var(--bg-soft);
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:var(--shadow-soft);
  padding:18px;
}

.hero-card h2{
  margin:0 0 8px;
  font-size:20px;
  color:var(--txt);
}

.hero-card p{
  margin:0 0 10px;
  color:var(--txt-soft);
  font-size:15px;
}

/* BUTTONS */
.cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:12px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--txt);
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  box-shadow:var(--shadow-soft);
  transition:.18s ease;
}

.btn:hover{
  transform:translateY(-1px);
  text-decoration:none;
}

.btn.primary,
.btn-gold{
  background:linear-gradient(135deg, #f4cf69, #d8a419);
  color:#1f2937;
  border-color:#d4af37;
}

.btn.wa,
.btn-whats{
  background:linear-gradient(135deg, #22c55e, #16a34a);
  color:#ffffff;
  border-color:#16a34a;
}

.btn.ghost{
  background:#ffffff;
  color:var(--txt);
  border-color:#cfd8e3;
}

.btn.full{
  width:100%;
}

/* CHIPS */
.chips,
.gsv-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.chips span,
.gsv-pill{
  display:inline-flex;
  align-items:center;
  padding:9px 12px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #dbe4ee;
  color:var(--txt-soft);
  font-size:13px;
  font-weight:700;
}

/* SECTIONS */
.section,
.gsv-section{
  margin-top:18px;
  background:rgba(255,255,255,.94);
  border:1px solid var(--line);
  border-radius:20px;
  padding:20px;
  box-shadow:var(--shadow-soft);
}

.section h2,
.gsv-section h2{
  margin:0 0 10px;
  font-size:24px;
  line-height:1.2;
  letter-spacing:-.2px;
  color:var(--txt);
}

.section h3,
.gsv-section h3{
  margin:16px 0 8px;
  font-size:18px;
  line-height:1.25;
  color:var(--txt);
}

.section p,
.gsv-section p{
  margin:0 0 14px;
  color:var(--txt-soft);
}

.section ul,
.gsv-section ul{
  margin:0 0 14px;
  padding-left:18px;
  color:var(--txt-soft);
}

.section li,
.gsv-section li{
  margin:6px 0;
}

/* CARDS */
.grid-3,
.grid3,
.gsv-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:14px;
}

.grid2{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:14px;
  margin-top:14px;
}

@media (max-width:900px){
  .grid-3,
  .grid3,
  .gsv-grid,
  .grid2{
    grid-template-columns:1fr;
  }
}

.card,
.mini,
.gsv-card{
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:var(--shadow-soft);
}

/* QUOTE */
.quote{
  margin:16px 0;
  padding:14px 16px;
  border-left:4px solid var(--gold);
  border-radius:12px;
  background:#fff8e8;
  color:#5b450a;
  font-weight:700;
}

/* LINKS */
.links-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:14px;
}

@media (max-width:900px){
  .links-grid{
    grid-template-columns:1fr;
  }
}

.link-card{
  display:block;
  background:#ffffff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:16px;
  box-shadow:var(--shadow-soft);
  transition:.18s ease;
}

.link-card:hover{
  transform:translateY(-1px);
  border-color:#c9a227;
  text-decoration:none;
}

.link-card strong{
  display:block;
  margin-bottom:6px;
  color:var(--txt);
  font-size:16px;
}

.link-card span{
  color:var(--txt-muted);
  font-size:14px;
}

/* WA BOX */
.wa-box{
  margin-top:14px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(22,163,74,.22);
  background:#ecfdf3;
}

.wa-box h3{
  margin-top:0;
  color:#14532d;
}

.wa-box p{
  color:#166534;
}

/* FORM */
.formGrid,
.gsv-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:12px;
}

@media (max-width:900px){
  .formGrid,
  .gsv-form{
    grid-template-columns:1fr;
  }
}

.full{
  grid-column:1/-1;
}

label,
.gsv-label{
  display:block;
  margin:0 0 6px;
  color:var(--txt-soft);
  font-size:13px;
  font-weight:800;
}

input,
textarea,
select,
.gsv-field{
  width:100%;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid #cfd8e3;
  background:#ffffff;
  color:var(--txt);
  font:inherit;
  outline:none;
}

input::placeholder,
textarea::placeholder{
  color:#64748b;
}

input:focus,
textarea:focus,
select:focus,
.gsv-field:focus{
  border-color:#60a5fa;
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
}

textarea{
  min-height:120px;
  resize:vertical;
}

/* FINE TEXT */
.fine,
.gsv-note{
  font-size:13px;
  color:var(--txt-muted);
  line-height:1.7;
}

/* FOOTER */
.footer,
.gsv-footer{
  margin-top:18px;
  padding:18px;
  border-radius:18px;
  border:1px solid var(--line);
  background:#ffffff;
  color:var(--txt-muted);
  box-shadow:var(--shadow-soft);
}

.anchors,
.gsv-anchors{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}

.anchors a,
.gsv-anchors a{
  font-size:13px;
  color:var(--txt-soft);
  padding:8px 10px;
  border-radius:999px;
  border:1px solid #dbe4ee;
  background:#f8fafc;
  text-decoration:none;
}

.anchors a:hover,
.gsv-anchors a:hover{
  border-color:#c9a227;
}

/* FLOAT WHATS */
.float-wa,
.floatWA,
.gsv-float{
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:9999;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:999px;
  background:linear-gradient(135deg, #22c55e, #16a34a);
  border:1px solid #16a34a;
  color:#ffffff;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 14px 30px rgba(22,163,74,.25);
}

.float-wa:hover,
.floatWA:hover,
.gsv-float:hover{
  text-decoration:none;
  transform:translateY(-1px);
}

@media (max-width:640px){
  h1{
    font-size:32px;
  }

  .section h2,
  .gsv-section h2{
    font-size:22px;
  }

  .lead{
    font-size:16px;
  }

  .topbar,
  .gsv-top{
    gap:10px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ffc6f46 *//* Variáveis CSS para a paleta de cores */
:root {
    --primary-green: #388e3c; /* Verde Primário */
    --accent-green: #4caf50; /* Verde de Destaque */
    --whatsapp-green: #28a745; /* Verde padrão do WhatsApp */
    --whatsapp-green-dark: #218838; /* Verde mais escuro para hover no WhatsApp */
    --light-green-bg: #e8f5e9; /* Verde muito claro para fundos de seção padrão */
    --cta-green-bg: #c8e6c9; /* Um verde ligeiramente diferente e agradável para CTAs específicas */
    --dark-green-bg: #1b5e20; /* Verde floresta escuro para o hero principal */
    --dark-text: #333; /* Texto escuro */
    --medium-text: #555; /* Texto médio */
    --light-text: #ccc; /* Texto claro */
    --white: #fff; /* Branco */
    --border-color: #eee; /* Cor de borda clara */
    --shadow-color: rgba(0, 0, 0, 0.1); /* Cor de sombra */
    --shadow-color-subtle: rgba(0, 0, 0, 0.05); /* Cor de sombra sutil */

    --text-on-light-bg: var(--dark-text); /* Cor do texto em fundo claro */
}


/* Reset Básico e Estilos Globais */
* {
    box-sizing: border-box; /* Inclui padding e border no tamanho total do elemento */
    margin: 0; /* Remove margem padrão */
    padding: 0; /* Remove padding padrão */
}

body {
    font-family: 'Open Sans', sans-serif; /* Define a família da fonte */
    line-height: 1.6; /* Espaçamento entre linhas */
    color: var(--dark-text); /* Cor do texto padrão */
    background-color: var(--white); /* Cor de fundo padrão */
    overflow-x: hidden; /* Previne scroll horizontal */
    /* Adiciona padding na parte inferior igual à altura do banner de cookies para evitar que o conteúdo fique escondido */
    padding-bottom: 60px; /* Ajuste este valor para a altura real do seu banner + um pouco de margem */
}

/* Tipografia */
h1, h2, h3 {
    font-family: 'Poppins', sans-serif; /* Família da fonte para títulos */
    color: var(--primary-green); /* Cor dos títulos */
    margin-bottom: 0.5em; /* Margem inferior */
    line-height: 1.2; /* Espaçamento entre linhas dos títulos */
}

h1 {
    font-size: 2.5em; /* Tamanho da fonte para H1 */
    margin-bottom: 0.8em; /* Margem inferior para H1 */
}

h2 {
    font-size: 2em; /* Tamanho da fonte para H2 */
    margin-bottom: 1em; /* Margem inferior para H2 */
}

h3 {
    font-size: 1.5em; /* Tamanho da fonte para H3 */
    margin-bottom: 0.7em; /* Margem inferior para H3 */
    color: var(--accent-green); /* Cor para H3 */
}

p {
    margin-bottom: 1em; /* Margem inferior para parágrafos */
}

a {
    color: var(--accent-green); /* Cor dos links */
    text-decoration: none; /* Remove sublinhado padrão dos links */
    transition: color 0.3s ease; /* Transição suave na cor */
}

a:hover {
    color: var(--primary-green); /* Cor dos links no hover */
    text-decoration: underline; /* Adiciona sublinhado no hover */
}

ul {
    list-style: none; /* Remove marcadores de lista padrão */
}

/* Contêineres de Layout */
.gsv-container {
    max-width: 1200px; /* Largura máxima do contêiner */
    margin: 0 auto; /* Centraliza o contêiner na página */
    padding: 0 15px; /* Padding lateral para telas menores */
}

.gsv-section {
    padding: 80px 0; /* Padding superior e inferior para seções */
    text-align: center; /* Alinha o texto ao centro por padrão */
}

.gsv-section-light-bg {
    background-color: var(--light-green-bg); /* Cor de fundo para seções claras */
}


.gsv-section-title {
    text-align: center; /* Alinha o título da seção ao centro */
    margin-bottom: 50px; /* Margem inferior para o título da seção */
    color: var(--primary-green); /* Cor do título da seção */
}

/* Cabeçalho */
.gsv-header {
    background-color: var(--white); /* Cor de fundo do cabeçalho */
    box-shadow: 0 2px 8px var(--shadow-color-subtle); /* Sombra sutil no cabeçalho */
    padding: 10px 0; /* Padding superior e inferior */
    position: sticky; /* Torna o cabeçalho sticky */
    top: 0; /* Fixa no topo */
    width: 100%; /* Largura total */
    z-index: 1000; /* Garante que o cabeçalho fique acima de outros elementos */
}

.gsv-header-container {
    display: flex; /* Usa flexbox para layout interno */
    justify-content: space-between; /* Distribui espaço entre os itens */
    align-items: center; /* Alinha itens verticalmente */
}

.gsv-logo-container img {
    height: 60px; /* Altura do logo */
    width: auto; /* Largura automática para manter proporção */
}

/* Navegação (Desktop) */
.gsv-nav ul {
    display: flex; /* Usa flexbox para os itens da lista */
    gap: 25px; /* Espaço entre os itens da lista */
}

.gsv-nav ul li a {
    font-family: 'Poppins', sans-serif; /* Família da fonte */
    font-weight: 600; /* Peso da fonte */
    color: var(--dark-text); /* Cor do link */
    padding: 5px 0; /* Padding superior e inferior */
    border-bottom: 2px solid transparent; /* Borda inferior transparente para efeito de hover */
    transition: color 0.3s ease, border-bottom-color 0.3s ease; /* Transição suave */
}

.gsv-nav ul li a:hover {
    color: var(--accent-green); /* Cor do link no hover */
    border-bottom-color: var(--accent-green); /* Cor da borda inferior no hover */
    text-decoration: none; /* Remove sublinhado no hover */
}

/* Botão de Menu Mobile (inicialmente escondido) */
.gsv-menu-toggle {
    display: none; /* Esconde por padrão em desktop */
    background: none; /* Remove fundo */
    border: none; /* Remove borda */
    font-size: 28px; /* Tamanho do ícone */
    cursor: pointer; /* Cursor de ponteiro */
    color: var(--dark-text); /* Cor do ícone */
    padding: 10px; /* Padding */
}

/* Seção Hero (Hero principal da Home) */
.gsv-hero {
    background-color: var(--dark-green-bg); /* Cor de fundo escura */
    color: var(--white); /* Cor do texto */
    padding: 120px 0; /* Padding superior e inferior */
    display: flex; /* Usa flexbox */
    align-items: center; /* Alinha itens verticalmente */
    min-height: 550px; /* Altura mínima */
    position: relative; /* Posição relativa para elementos internos */
}

/* Estilo específico para o Hero PEQUENO (na página de Grupos) */
.gsv-hero-small {
    min-height: 350px; /* Altura mínima menor */
    padding: 100px 0; /* Padding */
    background: var(--light-green-bg); /* Fundo claro */
    color: var(--dark-text); /* Texto escuro */
    box-shadow: none; /* Remove sombra */
}

/* Garante que o texto dentro do hero pequeno seja escuro */
.gsv-hero-small .gsv-hero-content h1 {
    color: var(--primary-green); /* Cor do título */
    font-size: 2.5em; /* Tamanho da fonte */
}

.gsv-hero-small .gsv-hero-content p {
    color: var(--dark-text); /* Cor do parágrafo */
    font-size: 1.2em; /* Tamanho da fonte */
    margin-bottom: 1.5em; /* Margem inferior */
}

.gsv-hero-small .gsv-hero-content .gsv-btn-whatsapp {
     background-color: var(--whatsapp-green); /* Cor do botão */
     color: var(--white); /* Cor do texto do botão */
}
.gsv-hero-small .gsv-hero-content .gsv-btn-whatsapp:hover {
     background-color: var(--whatsapp-green-dark); /* Cor do botão no hover */
}

.gsv-hero-content {
    max-width: 900px; /* Largura máxima do conteúdo */
    margin: 0 auto; /* Centraliza o conteúdo */
    z-index: 2; /* Garante que fique acima de outros elementos */
    position: relative; /* Posição relativa */
}

.gsv-hero-content h1 {
    color: var(--white); /* Cor do título */
    font-size: 3em; /* Tamanho da fonte */
    margin-bottom: 0.6em; /* Margem inferior */
}

.gsv-hero-content p {
    font-size: 1.4em; /* Tamanho da fonte do parágrafo */
    margin-bottom: 2.5em; /* Margem inferior */
    color: var(--white); /* Cor do parágrafo */
}

/* Botões */
.gsv-btn {
    display: inline-block; /* Exibe como bloco inline */
    padding: 14px 30px; /* Padding */
    border-radius: 50px; /* Borda arredondada */
    font-weight: 700; /* Peso da fonte */
    text-transform: uppercase; /* Texto em maiúsculas */
    transition: background-color 0.3s ease, opacity 0.3s ease, transform 0.2s ease; /* Transições suaves */
    text-align: center; /* Alinha texto ao centro */
    border: none; /* Remove borda */
    cursor: pointer; /* Cursor de ponteiro */
    font-size: 1.1em; /* Tamanho da fonte */
    letter-spacing: 0.5px; /* Espaçamento entre letras */
    line-height: normal; /* Altura da linha normal */
}

.gsv-btn:hover {
    transform: translateY(-2px); /* Efeito de levantar no hover */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra no hover */
}

.gsv-btn i {
    margin-right: 8px; /* Margem à direita para ícones */
}

.gsv-btn-primary {
    background-color: var(--accent-green); /* Cor de fundo primária */
    color: var(--white); /* Cor do texto */
}

.gsv-btn-primary:hover {
    background-color: var(--primary-green); /* Cor de fundo no hover */
    color: var(--white); /* Cor do texto no hover */
    text-decoration: none; /* Remove sublinhado no hover */
}

.gsv-btn-secondary {
    background-color: #6c757d; /* Cor de fundo secundária */
    color: var(--white); /* Cor do texto */
}

.gsv-btn-secondary:hover {
    background-color: #5a6268; /* Cor de fundo no hover */
     color: var(--white); /* Cor do texto no hover */
    text-decoration: none; /* Remove sublinhado no hover */
}

.gsv-btn-whatsapp {
    background-color: var(--whatsapp-green); /* Cor de fundo do WhatsApp */
    color: var(--white); /* Cor do texto */
    animation: pulse-whatsapp 1.5s ease-in-out infinite; /* Animação de pulso */
}

.gsv-btn-whatsapp:hover {
    background-color: var(--whatsapp-green-dark); /* Cor de fundo no hover */
    color: var(--white); /* Cor do texto no hover */
    text-decoration: none; /* Remove sublinhado no hover */
    animation: none; /* Remove animação no hover */
}

.gsv-btn-contact-immediate {
     font-size: 1.2em; /* Tamanho da fonte maior */
     padding: 16px 35px; /* Padding maior */
     margin-top: 25px; /* Margem superior */
}

.gsv-btn-large {
    font-size: 1.3em; /* Tamanho da fonte grande */
    padding: 18px 40px; /* Padding grande */
}


/* Seção Sobre Nós */
.gsv-about-container {
    text-align: left; /* Alinha texto à esquerda */
}

.gsv-about-container .gsv-about-text {
    max-width: 900px; /* Largura máxima do texto */
    margin: 0 auto; /* Centraliza o texto */
}

.gsv-about-text h2 {
    text-align: left; /* Alinha título à esquerda */
    margin-bottom: 20px; /* Margem inferior */
}

.gsv-mention {
    background-color: #e9ecef; /* Cor de fundo */
    padding: 20px; /* Padding */
    border-left: 6px solid var(--accent-green); /* Borda esquerda */
    margin: 30px 0; /* Margem superior e inferior */
    font-style: italic; /* Texto em itálico */
    color: var(--medium-text); /* Cor do texto */
    border-radius: 0 8px 8px 0; /* Borda arredondada */
}

.gsv-extra-whatsapp-button {
     margin-top: 40px; /* Margem superior */
     text-align: center; /* Alinha botão ao centro */
}

/* Grid de Serviços / Cards */
.gsv-grid-container {
    display: grid; /* Usa grid layout */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Colunas responsivas */
    gap: 40px; /* Espaço entre os itens do grid */
    margin-top: 40px; /* Margem superior */
}

.gsv-service-card, .gsv-icon-card {
    background-color: var(--white); /* Cor de fundo */
    padding: 35px; /* Padding */
    border-radius: 10px; /* Borda arredondada */
    box-shadow: 0 6px 12px var(--shadow-color-subtle); /* Sombra */
    text-align: center; /* Alinha texto ao centro */
    display: flex; /* Usa flexbox */
    flex-direction: column; /* Itens em coluna */
    justify-content: flex-start; /* Alinha itens ao início */
    align-items: center; /* Alinha itens ao centro */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transições suaves */
    height: 100%; /* Altura total */
}
.gsv-service-card:hover, .gsv-icon-card:hover {
    transform: translateY(-5px); /* Efeito de levantar no hover */
    box-shadow: 0 8px 16px var(--shadow-color); /* Sombra no hover */
}

.gsv-service-card i, .gsv-icon-card i {
    color: var(--accent-green); /* Cor do ícone */
    margin-bottom: 20px; /* Margem inferior */
    font-size: 2.5em; /* Tamanho do ícone */
}

.gsv-service-card h3, .gsv-icon-card h3 {
    margin-bottom: 15px; /* Margem inferior */
    color: var(--primary-green); /* Cor do título */
}
.gsv-service-card p, .gsv-icon-card p {
     color: var(--medium-text); /* Cor do parágrafo */
     font-size: 1.05em; /* Tamanho da fonte */
     flex-grow: 1; /* Permite que o parágrafo cresça */
}

.gsv-servicos-cta {
    margin-top: 50px; /* Margem superior */
    text-align: center; /* Alinha texto ao centro */
}

/* CTA linkando para a página de Grupos (na Homepage) */
.gsv-cta-group-page {
    background-color: var(--cta-green-bg); /* Cor de fundo */
     padding: 60px 0; /* Padding */
     color: var(--dark-text); /* Cor do texto */
}
.gsv-cta-group-page h2 {
     color: var(--primary-green); /* Cor do título */
     margin-bottom: 20px; /* Margem inferior */
}
.gsv-cta-group-page p {
    font-size: 1.2em; /* Tamanho da fonte */
    margin-bottom: 30px; /* Margem inferior */
    color: var(--dark-text); /* Cor do parágrafo */
    max-width: 800px; /* Largura máxima */
    margin-left: auto; /* Centraliza */
    margin-right: auto; /* Centraliza */
}
.gsv-cta-group-page .gsv-btn {
    font-size: 1.2em; /* Tamanho da fonte */
    padding: 15px 30px; /* Padding */
}


/* Depoimentos */
.gsv-testimonial-container {
    display: grid; /* Usa grid layout */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Colunas responsivas */
    gap: 40px; /* Espaço entre os itens */
}

.gsv-testimonial-card {
    background-color: var(--white); /* Cor de fundo */
    padding: 35px; /* Padding */
    border-radius: 10px; /* Borda arredondada */
    box-shadow: 0 6px 12px var(--shadow-color-subtle); /* Sombra */
    text-align: left; /* Alinha texto à esquerda */
    font-style: italic; /* Texto em itálico */
    color: var(--medium-text); /* Cor do texto */
    position: relative; /* Posição relativa para o pseudo-elemento */
}

/* Adiciona um ícone de aspas */
.gsv-testimonial-card::before {
    content: "\201C"; /* Conteúdo (aspas) */
    font-size: 4em; /* Tamanho da fonte */
    color: var(--accent-green); /* Cor */
    position: absolute; /* Posição absoluta */
    top: 10px; /* Distância do topo */
    left: 15px; /* Distância da esquerda */
    opacity: 0.2; /* Opacidade */
    line-height: 1; /* Altura da linha */
}

.gsv-testimonial-card blockquote {
    margin-top: 20px; /* Margem superior */
}
.gsv-testimonial-card blockquote p {
    margin-bottom: 15px; /* Margem inferior */
    font-size: 1.15em; /* Tamanho da fonte */
}

.gsv-testimonial-card cite {
    display: block; /* Exibe como bloco */
    text-align: right; /* Alinha texto à direita */
    font-style: normal; /* Estilo da fonte normal */
    font-weight: 600; /* Peso da fonte */
    color: var(--primary-green); /* Cor do texto */
    margin-top: 20px; /* Margem superior */
}

/* Seção Contato */
.gsv-contact-wrapper {
    display: grid; /* Usa grid layout */
    grid-template-columns: 1fr; /* Uma coluna por padrão */
    gap: 50px; /* Espaço entre os itens */
    text-align: left; /* Alinha texto à esquerda */
}

.gsv-contact-info h3, .gsv-contact-form-container h3 {
    margin-bottom: 25px; /* Margem inferior */
    color: var(--primary-green); /* Cor do título */
}

.gsv-contact-info p {
    margin-bottom: 18px; /* Margem inferior */
    font-size: 1.15em; /* Tamanho da fonte */
    color: var(--medium-text); /* Cor do texto */
}

.gsv-contact-info i {
    margin-right: 12px; /* Margem à direita para ícones */
    color: var(--accent-green); /* Cor do ícone */
    font-size: 1.2em; /* Tamanho do ícone */
}

/* Formulário de Contato */
.gsv-contact-form .gsv-form-group {
    margin-bottom: 25px; /* Margem inferior */
}

.gsv-contact-form label {
    display: block; /* Exibe como bloco */
    margin-bottom: 10px; /* Margem inferior */
    font-weight: 600; /* Peso da fonte */
    color: var(--dark-text); /* Cor do texto */
}

.gsv-form-control {
    width: 100%; /* Largura total */
    padding: 14px; /* Padding */
    border: 1px solid var(--border-color); /* Borda */
    border-radius: 6px; /* Borda arredondada */
    font-size: 1.05em; /* Tamanho da fonte */
    font-family: 'Open Sans', sans-serif; /* Família da fonte */
    color: var(--dark-text); /* Cor do texto */
    background-color: var(--white); /* Cor de fundo */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Transições suaves */
}

.gsv-form-control:focus {
    outline: none; /* Remove outline padrão no focus */
    border-color: var(--accent-green); /* Cor da borda no focus */
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.3); /* Sombra no focus */
}

textarea.gsv-form-control {
    resize: vertical; /* Permite redimensionar verticalmente */
}

.gsv-recaptcha-group {
     margin-top: 30px; /* Margem superior */
}

.gsv-recaptcha-group small {
    display: block; /* Exibe como bloco */
    margin-top: 15px; /* Margem superior */
    font-size: 0.85em; /* Tamanho da fonte menor */
    color: var(--medium-text); /* Cor do texto */
}

.gsv-submit-group {
    text-align: center; /* Alinha botão ao centro */
    margin-top: 30px; /* Margem superior */
}

.gsv-contact-form .gsv-btn {
    width: auto; /* Largura automática */
}

.gsv-privacy-link {
    margin-top: 20px; /* Margem superior */
    text-align: center; /* Alinha texto ao centro */
    font-size: 0.9em; /* Tamanho da fonte menor */
}
.gsv-privacy-link a {
    color: var(--medium-text); /* Cor do link */
}
.gsv-privacy-link a:hover {
     color: var(--dark-text); /* Cor do link no hover */
}

/* Rodapé */
.gsv-footer {
    background-color: #343a40; /* Cor de fundo escura */
    color: var(--light-text); /* Cor do texto claro */
    padding: 50px 0 30px; /* Padding */
    font-size: 0.95em; /* Tamanho da fonte */
}

.gsv-footer-container {
    display: grid; /* Usa grid layout */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); /* Colunas responsivas */
    gap: 40px; /* Espaço entre itens */
    text-align: left; /* Alinha texto à esquerda */
    margin-bottom: 40px; /* Margem inferior */
}

.gsv-footer-col h4 {
    color: var(--white); /* Cor do título */
    margin-bottom: 18px; /* Margem inferior */
    font-size: 1.3em; /* Tamanho da fonte */
}

.gsv-footer-col p {
    margin-bottom: 12px; /* Margem inferior */
}

.gsv-footer-col ul li {
    margin-bottom: 10px; /* Margem inferior */
}

.gsv-footer-col a {
    color: var(--light-text); /* Cor do link */
    transition: color 0.3s ease; /* Transição suave */
}

.gsv-footer-col a:hover {
    color: var(--white); /* Cor do link no hover */
    text-decoration: underline; /* Adiciona sublinhado no hover */
}

.gsv-footer-col i {
    margin-right: 10px; /* Margem à direita para ícones */
    color: var(--accent-green); /* Cor do ícone */
    font-size: 1.2em; /* Tamanho do ícone */
}

.gsv-footer-socials {
    margin-top: 20px; /* Margem superior */
}

.gsv-footer-socials a {
    display: inline-block; /* Exibe como bloco inline */
    margin-right: 18px; /* Margem à direita */
    font-size: 1.6em; /* Tamanho do ícone */
    color: var(--light-text); /* Cor do ícone */
     transition: color 0.3s ease; /* Transição suave */
}

.gsv-footer-socials a:hover {
    color: var(--white); /* Cor do ícone no hover */
}

.gsv-footer-bottom {
    text-align: center; /* Alinha texto ao centro */
    border-top: 1px solid #444; /* Borda superior */
    padding-top: 30px; /* Padding superior */
    font-size: 0.85em; /* Tamanho da fonte menor */
}

/* Botão Flutuante do WhatsApp */
.gsv-whatsapp-float {
    position: fixed; /* Posição fixa na tela */
    bottom: 25px; /* Distância do fundo */
    right: 25px; /* Distância da direita */
    width: 65px; /* Largura */
    height: 65px; /* Altura */
    background-color: var(--whatsapp-green); /* Cor de fundo */
    color: var(--white); /* Cor do ícone */
    border-radius: 50%; /* Borda arredondada (círculo) */
    text-align: center; /* Alinha ícone ao centro */
    font-size: 32px; /* Tamanho do ícone */
    line-height: 65px; /* Altura da linha para centralizar verticalmente */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* Sombra */
    z-index: 1001; /* Garante que fique acima da maioria dos elementos */
    transition: background-color 0.3s ease; /* Transição suave na cor de fundo */
    animation: pulse-whatsapp 1.5s ease-in-out infinite; /* Animação de pulso */
}

.gsv-whatsapp-float:hover {
    background-color: var(--whatsapp-green-dark); /* Cor de fundo no hover */
    color: var(--white); /* Cor do ícone no hover */
    text-decoration: none; /* Remove sublinhado no hover */
    animation: none; /* Remove animação no hover */
}

/* Keyframes para a animação de pulso */
@keyframes pulse-whatsapp {
    0% {
        transform: scale(1); /* Escala normal */
        opacity: 1; /* Opacidade total */
    }
    70% {
        transform: scale(1.1); /* Aumenta ligeiramente */
        opacity: 0.8; /* Diminui opacidade */
    }
    100% {
        transform: scale(1); /* Retorna à escala normal */
        opacity: 1; /* Retorna à opacidade total */
    }
}


/* Estilos Específicos da Nova Página (`apoio-grupos.html`) */
.gsv-group-info-block {
    display: flex; /* Usa flexbox */
    align-items: flex-start; /* Alinha itens ao início */
    gap: 40px; /* Espaço entre itens */
    margin-bottom: 50px; /* Margem inferior */
    padding: 40px; /* Padding */
    background-color: var(--white); /* Cor de fundo */
    border-radius: 10px; /* Borda arredondada */
    box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Sombra */
    text-align: left; /* Alinha texto à esquerda */
}

.gsv-group-icon {
    flex-shrink: 0; /* Impede que o ícone encolha */
    font-size: 3.5em; /* Tamanho do ícone */
    color: var(--accent-green); /* Cor do ícone */
    width: 90px; /* Largura fixa */
    text-align: center; /* Alinha ícone ao centro */
}

.gsv-group-text {
    flex-grow: 1; /* Permite que o texto cresça */
}

.gsv-group-text h3 {
    margin-top: 0; /* Remove margem superior padrão */
    color: var(--primary-green); /* Cor do título */
    margin-bottom: 15px; /* Margem inferior */
}
.gsv-group-text p {
    color: var(--medium-text); /* Cor do parágrafo */
    font-size: 1.05em; /* Tamanho da fonte */
}

.gsv-checkmark-list {
    text-align: left; /* Alinha lista à esquerda */
    margin: 40px auto; /* Margem superior/inferior e centraliza */
    max-width: 750px; /* Largura máxima */
}
.gsv-checkmark-list li {
    margin-bottom: 18px; /* Margem inferior */
    font-size: 1.1em; /* Tamanho da fonte */
    position: relative; /* Posição relativa para o ícone */
    padding-left: 35px; /* Padding à esquerda para o ícone */
    color: var(--dark-text); /* Cor do texto */
}
.gsv-checkmark-list li i {
    color: var(--whatsapp-green); /* Cor do ícone */
    position: absolute; /* Posição absoluta */
    left: 0; /* Alinha à esquerda */
    top: 5px; /* Distância do topo */
    font-size: 1.3em; /* Tamanho do ícone */
}

.gsv-cta-block {
    background-color: var(--cta-green-bg); /* Cor de fundo */
    padding: 40px; /* Padding */
    border-radius: 10px; /* Borda arredondada */
    margin-top: 50px; /* Margem superior */
    box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Sombra */
}
.gsv-cta-block h3 {
    color: #155724; /* Cor do título */
    margin-bottom: 20px; /* Margem inferior */
}
.gsv-cta-block p {
    font-size: 1.2em; /* Tamanho da fonte */
    margin-bottom: 25px; /* Margem inferior */
    color: #155724; /* Cor do parágrafo */
}

.gsv-note {
    margin-top: 25px; /* Margem superior */
    font-size: 0.9em; /* Tamanho da fonte menor */
    color: var(--medium-text); /* Cor do texto */
}

/* --- Estilo para o Aviso de Cookies --- */
.cookie-banner {
    position: fixed; /* Posição fixa na tela */
    bottom: 0; /* Fixa na parte inferior */
    left: 0; /* Fixa na esquerda */
    width: 100%; /* Largura total */
    background-color: #f5f5f5; /* Fundo claro */
    color: var(--dark-text); /* Texto escuro */
    text-align: center; /* Alinha texto ao centro */
    padding: 15px 20px; /* Padding */
    font-size: 14px; /* Tamanho da fonte */
    box-shadow: 0 -2px 8px rgba(0,0,0,0.15); /* Sombra */
    z-index: 1002; /* Garante que fique acima de outros elementos */
    display: flex; /* Usa flexbox para alinhar conteúdo e botão */
    justify-content: center; /* Centraliza o conteúdo na horizontal */
    align-items: center; /* Centraliza o conteúdo na vertical */
    flex-wrap: wrap; /* Permite quebra de linha em telas pequenas */
    gap: 15px; /* Espaço entre texto e botão */
}

.cookie-banner p {
    margin: 0; /* Remove margem padrão do parágrafo */
    flex-grow: 1; /* Permite que o texto ocupe o espaço disponível */
    max-width: 800px; /* Limita a largura do texto em telas grandes */
}

.cookie-banner a {
    color: var(--accent-green); /* Cor de link para política de privacidade */
    text-decoration: underline; /* Adiciona sublinhado */
}

.cookie-banner button.accept-cookies-btn {
    background-color: var(--primary-green); /* Cor do botão Aceitar */
    color: var(--white); /* Cor do texto */
    border: none; /* Remove borda */
    padding: 8px 20px; /* Padding */
    border-radius: 4px; /* Borda arredondada */
    cursor: pointer; /* Cursor de ponteiro */
    font-size: 14px; /* Tamanho da fonte */
    transition: background-color 0.3s ease; /* Transição suave */
    flex-shrink: 0; /* Impede que o botão encolha */
}

.cookie-banner button.accept-cookies-btn:hover {
    background-color: var(--whatsapp-green-dark); /* Cor no hover */
}
/* --- Fim do Estilo para o Aviso de Cookies --- */


/* Design Responsivo */
@media (max-width: 768px) {
    .gsv-section {
        padding: 50px 0; /* Padding menor em mobile */
    }
    .gsv-section-title {
        margin-bottom: 30px; /* Margem menor em mobile */
    }

    h1 {
        font-size: 2em; /* Tamanho da fonte menor em mobile */
    }

    h2 {
        font-size: 1.7em; /* Tamanho da fonte menor em mobile */
    }

    h3 {
        font-size: 1.3em; /* Tamanho da fonte menor em mobile */
    }

    /* Cabeçalho Mobile */
    .gsv-header-container {
        flex-wrap: wrap; /* Permite quebra de linha */
    }

    .gsv-logo-container {
        flex-grow: 1; /* Permite que o logo cresça */
    }

    .gsv-menu-toggle {
        display: block; /* Exibe o botão de menu */
        font-size: 24px; /* Tamanho do ícone */
    }

    .gsv-nav {
        width: 100%; /* Largura total */
        max-height: 0; /* Altura máxima inicial (escondido) */
        overflow: hidden; /* Esconde conteúdo extra */
        transition: max-height 0.3s ease-in-out; /* Transição suave */
        flex-basis: 100%; /* Ocupa a largura total */
    }

    .gsv-nav.active {
        max-height: 300px; /* Altura máxima quando ativo */
    }

    .gsv-nav ul {
        flex-direction: column; /* Itens em coluna */
        gap: 10px; /* Espaço entre itens */
        padding: 10px 0; /* Padding */
        background-color: var(--light-bg); /* Cor de fundo */
        border-top: 1px solid var(--border-color); /* Borda superior */
    }

    .gsv-nav ul li a {
        display: block; /* Exibe como bloco */
        padding: 10px 15px; /* Padding */
        border-bottom: none; /* Remove borda */
    }

    /* Hero Mobile (Hero principal da Home) */
     .gsv-hero {
        padding: 80px 0; /* Padding menor */
        min-height: 400px; /* Altura mínima menor */
        background-color: var(--dark-green-bg); /* Cor de fundo */
     }

    /* Estilo específico para o Hero PEQUENO (na página de Grupos) em mobile */
     .gsv-hero-small {
         min-height: 250px; /* Altura mínima menor */
         padding: 60px 0; /* Padding menor */
         background: var(--light-green-bg); /* Fundo claro */
         color: var(--dark-text); /* Texto escuro */
     }
      .gsv-hero-small .gsv-hero-content h1 {
          font-size: 2em; /* Tamanho da fonte menor */
          color: var(--primary-green); /* Cor do título */
      }
      .gsv-hero-small .gsv-hero-content p {
          font-size: 1.1em; /* Tamanho da fonte menor */
          color: var(--dark-text); /* Cor do parágrafo */
      }

    .gsv-hero-content h1 {
        font-size: 2.2em; /* Tamanho da fonte menor */
    }

    .gsv-hero-content p {
        font-size: 1.1em; /* Tamanho da fonte menor */
    }

    .gsv-btn {
        padding: 12px 25px; /* Padding menor */
        font-size: 1em; /* Tamanho da fonte menor */
    }

    .gsv-btn-large {
         font-size: 1.1em; /* Tamanho da fonte menor */
         padding: 15px 30px; /* Padding menor */
    }

    /* Seção Sobre Nós Mobile */
     .gsv-about-container {
        text-align: center; /* Alinha texto ao centro */
    }
     .gsv-about-text h2 {
        text-align: center; /* Alinha título ao centro */
     }
    .gsv-mention {
        padding: 15px; /* Padding menor */
        margin: 20px 0; /* Margem menor */
    }

    /* Grid Mobile (já tratado por auto-fit minmax) */
    .gsv-grid-container {
        gap: 20px; /* Espaço menor entre itens */
        margin-top: 30px; /* Margem superior menor */
    }

    .gsv-service-card, .gsv-icon-card {
        padding: 25px; /* Padding menor */
        border-radius: 8px; /* Borda arredondada menor */
        box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Sombra menor */
    }
     .gsv-service-card:hover, .gsv-icon-card:hover {
        transform: none; /* Remove efeito de levantar */
        box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Mantém sombra menor */
    }

    /* Seção Contato Mobile */
     .gsv-contact-wrapper {
        grid-template-columns: 1fr; /* Uma coluna */
        gap: 30px; /* Espaço menor */
     }

     .gsv-contact-info, .gsv-contact-form-container {
        text-align: center; /* Alinha texto ao centro */
     }
     .gsv-contact-form label, .gsv-contact-info p {
        text-align: center; /* Alinha texto ao centro */
     }

     .gsv-contact-info p {
        font-size: 1em; /* Tamanho da fonte menor */
     }

    /* Rodapé Mobile */
    .gsv-footer {
        padding: 40px 0 20px; /* Padding menor */
    }
    .gsv-footer-container {
        grid-template-columns: 1fr; /* Uma coluna */
        text-align: center; /* Alinha texto ao centro */
        gap: 20px; /* Espaço menor */
        margin-bottom: 30px; /* Margem inferior menor */
    }

     .gsv-footer-col h4 {
        margin-bottom: 10px; /* Margem inferior menor */
     }

     .gsv-footer-col ul li {
        margin-bottom: 5px; /* Margem inferior menor */
     }

     .gsv-footer-socials {
         margin-top: 15px; /* Margem superior menor */
     }
     .gsv-footer-socials a {
        margin: 0 10px; /* Margem horizontal */
        font-size: 1.5em; /* Tamanho do ícone menor */
     }

    /* Elementos da Nova Página Mobile */
    .gsv-group-info-block {
        flex-direction: column; /* Itens em coluna */
        align-items: center; /* Alinha itens ao centro */
        gap: 20px; /* Espaço menor */
        padding: 25px; /* Padding menor */
        border-radius: 8px; /* Borda arredondada menor */
    }
    .gsv-group-icon {
         width: auto; /* Largura automática */
         font-size: 3em; /* Tamanho do ícone menor */
    }

    .gsv-checkmark-list {
        padding-left: 0; /* Remove padding */
        margin: 30px auto; /* Margem e centraliza */
    }
     .gsv-checkmark-list li {
        padding-left: 25px; /* Padding à esquerda */
        font-size: 1em; /* Tamanho da fonte menor */
     }
      .gsv-checkmark-list li i {
         font-size: 1.1em; /* Tamanho do ícone menor */
         top: 3px; /* Posição do ícone */
       }

    .gsv-cta-block {
        padding: 30px; /* Padding menor */
        margin-top: 40px; /* Margem superior */
        border-radius: 8px; /* Borda arredondada menor */
    }
    .gsv-cta-block h3 {
        color: #155724; /* Cor do título */
        margin-bottom: 20px; /* Margem inferior */
    }
     .gsv-cta-block p {
        font-size: 1.1em; /* Tamanho da fonte menor */
     }

    /* Botão Flutuante do WhatsApp Mobile */
    .gsv-whatsapp-float {
        width: 55px; /* Largura menor */
        height: 55px; /* Altura menor */
        font-size: 28px; /* Tamanho do ícone menor */
        line-height: 55px; /* Altura da linha ajustada */
        bottom: 15px; /* Distância do fundo */
        right: 15px; /* Distância da direita */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra menor */
    }

    /* Ajustes do Cookie Banner Mobile */
     .cookie-banner {
         flex-direction: column; /* Itens em coluna */
         padding: 15px; /* Padding menor */
         text-align: left; /* Alinha texto à esquerda */
     }
     .cookie-banner p {
         margin-bottom: 10px; /* Margem inferior */
         margin-right: 0; /* Remove margem à direita */
     }
      .cookie-banner button {
          width: 100%; /* Largura total */
          text-align: center; /* Alinha botão ao centro */
      }
       /* Ajusta padding-bottom do body para mobile */
     body {
         padding-bottom: 80px; /* Ajuste conforme a altura do banner em mobile */
     }
}

/* Ajustes para Desktop (maior que 768px) */
@media (min-width: 769px) {
    /* Estilos Desktop */
    .gsv-contact-wrapper {
        grid-template-columns: 1fr 2fr; /* Duas colunas */
        align-items: start; /* Alinha itens ao início */
    }

    .gsv-contact-info {
        padding-right: 30px; /* Padding à direita */
        border-right: 1px solid var(--border-color); /* Borda à direita */
    }
     .gsv-contact-info h3, .gsv-contact-form-container h3 {
        text-align: left; /* Alinha títulos à esquerda */
     }
     .gsv-contact-info p, .gsv-contact-form-container p {
        text-align: left; /* Alinha parágrafos à esquerda */
     }

    .gsv-submit-group {
        text-align: left; /* Alinha botão ao início */
    }
     .gsv-privacy-link {
        text-align: left; /* Alinha link à esquerda */
     }

     /* Estilos Específicos da Nova Página (Ajustes Desktop) */
     .gsv-group-info-block {
         align-items: flex-start; /* Alinha itens ao início */
         flex-direction: row; /* Itens em linha */
     }
     .gsv-group-icon {
          width: 90px; /* Largura fixa */
          font-size: 3.5em; /* Tamanho do ícone */
          text-align: center; /* Alinha ícone ao centro */
     }

      .gsv-checkmark-list li {
         padding-left: 35px; /* Padding à esquerda */
         font-size: 1.1em; /* Tamanho da fonte */
      }
       .gsv-checkmark-list li i {
          font-size: 1.3em; /* Tamanho do ícone */
          top: 5px; /* Posição do ícone */
       }
}

/* Ajustes para Telas Maiores (maior que 992px) */
@media (min-width: 992px) {
    /* Ajustes para Desktop maior */
    .gsv-section {
        padding: 100px 0; /* Padding maior */
    }
     h1 {
        font-size: 3.5em; /* Tamanho da fonte maior */
     }
     h2 {
        font-size: 2.5em; /* Tamanho da fonte maior */
     }
     h3 {
        font-size: 1.8em; /* Tamanho da fonte maior */
     }
     .gsv-hero-content p {
        font-size: 1.5em; /* Tamanho da fonte maior */
     }

    .gsv-hero {
         padding: 150px 0; /* Padding maior */
         min-height: 650px; /* Altura mínima maior */
     }
      .gsv-hero-small {
          min-height: 400px; /* Altura mínima maior */
          padding: 120px 0; /* Padding maior */
      }
       .gsv-hero-small .gsv-hero-content h1 {
           font-size: 3em; /* Tamanho da fonte maior */
       }
       .gsv-hero-small .gsv-hero-content p {
            font-size: 1.3em; /* Tamanho da fonte maior */
       }

     .gsv-service-card, .gsv-icon-card, .gsv-testimonial-card, .gsv-group-info-block {
         padding: 50px; /* Padding maior */
     }

     .gsv-contact-wrapper {
         grid-template-columns: 1fr 4fr; /* Ajuste de colunas */
         gap: 80px; /* Espaço maior */
     }
      .gsv-contact-info {
        padding-right: 50px; /* Padding à direita maior */
      }

    .gsv-footer-container {
         grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Ajuste de colunas */
         gap: 50px; /* Espaço maior */
     }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-f69a66c *//* Variáveis CSS para a paleta de cores */
:root {
    --primary-green: #388e3c; /* Verde Primário */
    --accent-green: #4caf50; /* Verde de Destaque */
    --whatsapp-green: #28a745; /* Verde padrão do WhatsApp */
    --whatsapp-green-dark: #218838; /* Verde mais escuro para hover no WhatsApp */
    --light-green-bg: #e8f5e9; /* Verde muito claro para fundos de seção padrão */
    --cta-green-bg: #c8e6c9; /* Um verde ligeiramente diferente e agradável para CTAs específicas */
    --dark-green-bg: #1b5e20; /* Verde floresta escuro para o hero principal */
    --dark-text: #333; /* Texto escuro */
    --medium-text: #555; /* Texto médio */
    --light-text: #ccc; /* Texto claro */
    --white: #fff; /* Branco */
    --border-color: #eee; /* Cor de borda clara */
    --shadow-color: rgba(0, 0, 0, 0.1); /* Cor de sombra */
    --shadow-color-subtle: rgba(0, 0, 0, 0.05); /* Cor de sombra sutil */

    --text-on-light-bg: var(--dark-text); /* Cor do texto em fundo claro */
}


/* Reset Básico e Estilos Globais */
* {
    box-sizing: border-box; /* Inclui padding e border no tamanho total do elemento */
    margin: 0; /* Remove margem padrão */
    padding: 0; /* Remove padding padrão */
}

body {
    font-family: 'Open Sans', sans-serif; /* Define a família da fonte */
    line-height: 1.6; /* Espaçamento entre linhas */
    color: var(--dark-text); /* Cor do texto padrão */
    background-color: var(--white); /* Cor de fundo padrão */
    overflow-x: hidden; /* Previne scroll horizontal */
    /* Adiciona padding na parte inferior igual à altura do banner de cookies para evitar que o conteúdo fique escondido */
    padding-bottom: 60px; /* Ajuste este valor para a altura real do seu banner + um pouco de margem */
}

/* Tipografia */
h1, h2, h3 {
    font-family: 'Poppins', sans-serif; /* Família da fonte para títulos */
    color: var(--primary-green); /* Cor dos títulos */
    margin-bottom: 0.5em; /* Margem inferior */
    line-height: 1.2; /* Espaçamento entre linhas dos títulos */
}

h1 {
    font-size: 2.5em; /* Tamanho da fonte para H1 */
    margin-bottom: 0.8em; /* Margem inferior para H1 */
}

h2 {
    font-size: 2em; /* Tamanho da fonte para H2 */
    margin-bottom: 1em; /* Margem inferior para H2 */
}

h3 {
    font-size: 1.5em; /* Tamanho da fonte para H3 */
    margin-bottom: 0.7em; /* Margem inferior para H3 */
    color: var(--accent-green); /* Cor para H3 */
}

p {
    margin-bottom: 1em; /* Margem inferior para parágrafos */
}

a {
    color: var(--accent-green); /* Cor dos links */
    text-decoration: none; /* Remove sublinhado padrão dos links */
    transition: color 0.3s ease; /* Transição suave na cor */
}

a:hover {
    color: var(--primary-green); /* Cor dos links no hover */
    text-decoration: underline; /* Adiciona sublinhado no hover */
}

ul {
    list-style: none; /* Remove marcadores de lista padrão */
}

/* Contêineres de Layout */
.gsv-container {
    max-width: 1200px; /* Largura máxima do contêiner */
    margin: 0 auto; /* Centraliza o contêiner na página */
    padding: 0 15px; /* Padding lateral para telas menores */
}

.gsv-section {
    padding: 80px 0; /* Padding superior e inferior para seções */
    text-align: center; /* Alinha o texto ao centro por padrão */
}

.gsv-section-light-bg {
    background-color: var(--light-green-bg); /* Cor de fundo para seções claras */
}


.gsv-section-title {
    text-align: center; /* Alinha o título da seção ao centro */
    margin-bottom: 50px; /* Margem inferior para o título da seção */
    color: var(--primary-green); /* Cor do título da seção */
}

/* Cabeçalho */
.gsv-header {
    background-color: var(--white); /* Cor de fundo do cabeçalho */
    box-shadow: 0 2px 8px var(--shadow-color-subtle); /* Sombra sutil no cabeçalho */
    padding: 10px 0; /* Padding superior e inferior */
    position: sticky; /* Torna o cabeçalho sticky */
    top: 0; /* Fixa no topo */
    width: 100%; /* Largura total */
    z-index: 1000; /* Garante que o cabeçalho fique acima de outros elementos */
}

.gsv-header-container {
    display: flex; /* Usa flexbox para layout interno */
    justify-content: space-between; /* Distribui espaço entre os itens */
    align-items: center; /* Alinha itens verticalmente */
}

.gsv-logo-container img {
    height: 60px; /* Altura do logo */
    width: auto; /* Largura automática para manter proporção */
}

/* Navegação (Desktop) */
.gsv-nav ul {
    display: flex; /* Usa flexbox para os itens da lista */
    gap: 25px; /* Espaço entre os itens da lista */
}

.gsv-nav ul li a {
    font-family: 'Poppins', sans-serif; /* Família da fonte */
    font-weight: 600; /* Peso da fonte */
    color: var(--dark-text); /* Cor do link */
    padding: 5px 0; /* Padding superior e inferior */
    border-bottom: 2px solid transparent; /* Borda inferior transparente para efeito de hover */
    transition: color 0.3s ease, border-bottom-color 0.3s ease; /* Transição suave */
}

.gsv-nav ul li a:hover {
    color: var(--accent-green); /* Cor do link no hover */
    border-bottom-color: var(--accent-green); /* Cor da borda inferior no hover */
    text-decoration: none; /* Remove sublinhado no hover */
}

/* Botão de Menu Mobile (inicialmente escondido) */
.gsv-menu-toggle {
    display: none; /* Esconde por padrão em desktop */
    background: none; /* Remove fundo */
    border: none; /* Remove borda */
    font-size: 28px; /* Tamanho do ícone */
    cursor: pointer; /* Cursor de ponteiro */
    color: var(--dark-text); /* Cor do ícone */
    padding: 10px; /* Padding */
}

/* Seção Hero (Hero principal da Home) */
.gsv-hero {
    background-color: var(--dark-green-bg); /* Cor de fundo escura */
    color: var(--white); /* Cor do texto */
    padding: 120px 0; /* Padding superior e inferior */
    display: flex; /* Usa flexbox */
    align-items: center; /* Alinha itens verticalmente */
    min-height: 550px; /* Altura mínima */
    position: relative; /* Posição relativa para elementos internos */
}

/* Estilo específico para o Hero PEQUENO (na página de Grupos) */
.gsv-hero-small {
    min-height: 350px; /* Altura mínima menor */
    padding: 100px 0; /* Padding */
    background: var(--light-green-bg); /* Fundo claro */
    color: var(--dark-text); /* Texto escuro */
    box-shadow: none; /* Remove sombra */
}

/* Garante que o texto dentro do hero pequeno seja escuro */
.gsv-hero-small .gsv-hero-content h1 {
    color: var(--primary-green); /* Cor do título */
    font-size: 2.5em; /* Tamanho da fonte */
}

.gsv-hero-small .gsv-hero-content p {
    color: var(--dark-text); /* Cor do parágrafo */
    font-size: 1.2em; /* Tamanho da fonte */
    margin-bottom: 1.5em; /* Margem inferior */
}

.gsv-hero-small .gsv-hero-content .gsv-btn-whatsapp {
     background-color: var(--whatsapp-green); /* Cor do botão */
     color: var(--white); /* Cor do texto do botão */
}
.gsv-hero-small .gsv-hero-content .gsv-btn-whatsapp:hover {
     background-color: var(--whatsapp-green-dark); /* Cor do botão no hover */
}

.gsv-hero-content {
    max-width: 900px; /* Largura máxima do conteúdo */
    margin: 0 auto; /* Centraliza o conteúdo */
    z-index: 2; /* Garante que fique acima de outros elementos */
    position: relative; /* Posição relativa */
}

.gsv-hero-content h1 {
    color: var(--white); /* Cor do título */
    font-size: 3em; /* Tamanho da fonte */
    margin-bottom: 0.6em; /* Margem inferior */
}

.gsv-hero-content p {
    font-size: 1.4em; /* Tamanho da fonte do parágrafo */
    margin-bottom: 2.5em; /* Margem inferior */
    color: var(--white); /* Cor do parágrafo */
}

/* Botões */
.gsv-btn {
    display: inline-block; /* Exibe como bloco inline */
    padding: 14px 30px; /* Padding */
    border-radius: 50px; /* Borda arredondada */
    font-weight: 700; /* Peso da fonte */
    text-transform: uppercase; /* Texto em maiúsculas */
    transition: background-color 0.3s ease, opacity 0.3s ease, transform 0.2s ease; /* Transições suaves */
    text-align: center; /* Alinha texto ao centro */
    border: none; /* Remove borda */
    cursor: pointer; /* Cursor de ponteiro */
    font-size: 1.1em; /* Tamanho da fonte */
    letter-spacing: 0.5px; /* Espaçamento entre letras */
    line-height: normal; /* Altura da linha normal */
}

.gsv-btn:hover {
    transform: translateY(-2px); /* Efeito de levantar no hover */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra no hover */
}

.gsv-btn i {
    margin-right: 8px; /* Margem à direita para ícones */
}

.gsv-btn-primary {
    background-color: var(--accent-green); /* Cor de fundo primária */
    color: var(--white); /* Cor do texto */
}

.gsv-btn-primary:hover {
    background-color: var(--primary-green); /* Cor de fundo no hover */
    color: var(--white); /* Cor do texto no hover */
    text-decoration: none; /* Remove sublinhado no hover */
}

.gsv-btn-secondary {
    background-color: #6c757d; /* Cor de fundo secundária */
    color: var(--white); /* Cor do texto */
}

.gsv-btn-secondary:hover {
    background-color: #5a6268; /* Cor de fundo no hover */
     color: var(--white); /* Cor do texto no hover */
    text-decoration: none; /* Remove sublinhado no hover */
}

.gsv-btn-whatsapp {
    background-color: var(--whatsapp-green); /* Cor de fundo do WhatsApp */
    color: var(--white); /* Cor do texto */
    animation: pulse-whatsapp 1.5s ease-in-out infinite; /* Animação de pulso */
}

.gsv-btn-whatsapp:hover {
    background-color: var(--whatsapp-green-dark); /* Cor de fundo no hover */
    color: var(--white); /* Cor do texto no hover */
    text-decoration: none; /* Remove sublinhado no hover */
    animation: none; /* Remove animação no hover */
}

.gsv-btn-contact-immediate {
     font-size: 1.2em; /* Tamanho da fonte maior */
     padding: 16px 35px; /* Padding maior */
     margin-top: 25px; /* Margem superior */
}

.gsv-btn-large {
    font-size: 1.3em; /* Tamanho da fonte grande */
    padding: 18px 40px; /* Padding grande */
}


/* Seção Sobre Nós */
.gsv-about-container {
    text-align: left; /* Alinha texto à esquerda */
}

.gsv-about-container .gsv-about-text {
    max-width: 900px; /* Largura máxima do texto */
    margin: 0 auto; /* Centraliza o texto */
}

.gsv-about-text h2 {
    text-align: left; /* Alinha título à esquerda */
    margin-bottom: 20px; /* Margem inferior */
}

.gsv-mention {
    background-color: #e9ecef; /* Cor de fundo */
    padding: 20px; /* Padding */
    border-left: 6px solid var(--accent-green); /* Borda esquerda */
    margin: 30px 0; /* Margem superior e inferior */
    font-style: italic; /* Texto em itálico */
    color: var(--medium-text); /* Cor do texto */
    border-radius: 0 8px 8px 0; /* Borda arredondada */
}

.gsv-extra-whatsapp-button {
     margin-top: 40px; /* Margem superior */
     text-align: center; /* Alinha botão ao centro */
}

/* Grid de Serviços / Cards */
.gsv-grid-container {
    display: grid; /* Usa grid layout */
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Colunas responsivas */
    gap: 40px; /* Espaço entre os itens do grid */
    margin-top: 40px; /* Margem superior */
}

.gsv-service-card, .gsv-icon-card {
    background-color: var(--white); /* Cor de fundo */
    padding: 35px; /* Padding */
    border-radius: 10px; /* Borda arredondada */
    box-shadow: 0 6px 12px var(--shadow-color-subtle); /* Sombra */
    text-align: center; /* Alinha texto ao centro */
    display: flex; /* Usa flexbox */
    flex-direction: column; /* Itens em coluna */
    justify-content: flex-start; /* Alinha itens ao início */
    align-items: center; /* Alinha itens ao centro */
    transition: transform 0.3s ease, box-shadow 0.3s ease; /* Transições suaves */
    height: 100%; /* Altura total */
}
.gsv-service-card:hover, .gsv-icon-card:hover {
    transform: translateY(-5px); /* Efeito de levantar no hover */
    box-shadow: 0 8px 16px var(--shadow-color); /* Sombra no hover */
}

.gsv-service-card i, .gsv-icon-card i {
    color: var(--accent-green); /* Cor do ícone */
    margin-bottom: 20px; /* Margem inferior */
    font-size: 2.5em; /* Tamanho do ícone */
}

.gsv-service-card h3, .gsv-icon-card h3 {
    margin-bottom: 15px; /* Margem inferior */
    color: var(--primary-green); /* Cor do título */
}
.gsv-service-card p, .gsv-icon-card p {
     color: var(--medium-text); /* Cor do parágrafo */
     font-size: 1.05em; /* Tamanho da fonte */
     flex-grow: 1; /* Permite que o parágrafo cresça */
}

.gsv-servicos-cta {
    margin-top: 50px; /* Margem superior */
    text-align: center; /* Alinha texto ao centro */
}

/* CTA linkando para a página de Grupos (na Homepage) */
.gsv-cta-group-page {
    background-color: var(--cta-green-bg); /* Cor de fundo */
     padding: 60px 0; /* Padding */
     color: var(--dark-text); /* Cor do texto */
}
.gsv-cta-group-page h2 {
     color: var(--primary-green); /* Cor do título */
     margin-bottom: 20px; /* Margem inferior */
}
.gsv-cta-group-page p {
    font-size: 1.2em; /* Tamanho da fonte */
    margin-bottom: 30px; /* Margem inferior */
    color: var(--dark-text); /* Cor do parágrafo */
    max-width: 800px; /* Largura máxima */
    margin-left: auto; /* Centraliza */
    margin-right: auto; /* Centraliza */
}
.gsv-cta-group-page .gsv-btn {
    font-size: 1.2em; /* Tamanho da fonte */
    padding: 15px 30px; /* Padding */
}


/* Depoimentos */
.gsv-testimonial-container {
    display: grid; /* Usa grid layout */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); /* Colunas responsivas */
    gap: 40px; /* Espaço entre os itens */
}

.gsv-testimonial-card {
    background-color: var(--white); /* Cor de fundo */
    padding: 35px; /* Padding */
    border-radius: 10px; /* Borda arredondada */
    box-shadow: 0 6px 12px var(--shadow-color-subtle); /* Sombra */
    text-align: left; /* Alinha texto à esquerda */
    font-style: italic; /* Texto em itálico */
    color: var(--medium-text); /* Cor do texto */
    position: relative; /* Posição relativa para o pseudo-elemento */
}

/* Adiciona um ícone de aspas */
.gsv-testimonial-card::before {
    content: "\201C"; /* Conteúdo (aspas) */
    font-size: 4em; /* Tamanho da fonte */
    color: var(--accent-green); /* Cor */
    position: absolute; /* Posição absoluta */
    top: 10px; /* Distância do topo */
    left: 15px; /* Distância da esquerda */
    opacity: 0.2; /* Opacidade */
    line-height: 1; /* Altura da linha */
}

.gsv-testimonial-card blockquote {
    margin-top: 20px; /* Margem superior */
}
.gsv-testimonial-card blockquote p {
    margin-bottom: 15px; /* Margem inferior */
    font-size: 1.15em; /* Tamanho da fonte */
}

.gsv-testimonial-card cite {
    display: block; /* Exibe como bloco */
    text-align: right; /* Alinha texto à direita */
    font-style: normal; /* Estilo da fonte normal */
    font-weight: 600; /* Peso da fonte */
    color: var(--primary-green); /* Cor do texto */
    margin-top: 20px; /* Margem superior */
}

/* Seção Contato */
.gsv-contact-wrapper {
    display: grid; /* Usa grid layout */
    grid-template-columns: 1fr; /* Uma coluna por padrão */
    gap: 50px; /* Espaço entre os itens */
    text-align: left; /* Alinha texto à esquerda */
}

.gsv-contact-info h3, .gsv-contact-form-container h3 {
    margin-bottom: 25px; /* Margem inferior */
    color: var(--primary-green); /* Cor do título */
}

.gsv-contact-info p {
    margin-bottom: 18px; /* Margem inferior */
    font-size: 1.15em; /* Tamanho da fonte */
    color: var(--medium-text); /* Cor do texto */
}

.gsv-contact-info i {
    margin-right: 12px; /* Margem à direita para ícones */
    color: var(--accent-green); /* Cor do ícone */
    font-size: 1.2em; /* Tamanho do ícone */
}

/* Formulário de Contato */
.gsv-contact-form .gsv-form-group {
    margin-bottom: 25px; /* Margem inferior */
}

.gsv-contact-form label {
    display: block; /* Exibe como bloco */
    margin-bottom: 10px; /* Margem inferior */
    font-weight: 600; /* Peso da fonte */
    color: var(--dark-text); /* Cor do texto */
}

.gsv-form-control {
    width: 100%; /* Largura total */
    padding: 14px; /* Padding */
    border: 1px solid var(--border-color); /* Borda */
    border-radius: 6px; /* Borda arredondada */
    font-size: 1.05em; /* Tamanho da fonte */
    font-family: 'Open Sans', sans-serif; /* Família da fonte */
    color: var(--dark-text); /* Cor do texto */
    background-color: var(--white); /* Cor de fundo */
    transition: border-color 0.3s ease, box-shadow 0.3s ease; /* Transições suaves */
}

.gsv-form-control:focus {
    outline: none; /* Remove outline padrão no focus */
    border-color: var(--accent-green); /* Cor da borda no focus */
    box-shadow: 0 0 8px rgba(76, 175, 80, 0.3); /* Sombra no focus */
}

textarea.gsv-form-control {
    resize: vertical; /* Permite redimensionar verticalmente */
}

.gsv-recaptcha-group {
     margin-top: 30px; /* Margem superior */
}

.gsv-recaptcha-group small {
    display: block; /* Exibe como bloco */
    margin-top: 15px; /* Margem superior */
    font-size: 0.85em; /* Tamanho da fonte menor */
    color: var(--medium-text); /* Cor do texto */
}

.gsv-submit-group {
    text-align: center; /* Alinha botão ao centro */
    margin-top: 30px; /* Margem superior */
}

.gsv-contact-form .gsv-btn {
    width: auto; /* Largura automática */
}

.gsv-privacy-link {
    margin-top: 20px; /* Margem superior */
    text-align: center; /* Alinha texto ao centro */
    font-size: 0.9em; /* Tamanho da fonte menor */
}
.gsv-privacy-link a {
    color: var(--medium-text); /* Cor do link */
}
.gsv-privacy-link a:hover {
     color: var(--dark-text); /* Cor do link no hover */
}

/* Rodapé */
.gsv-footer {
    background-color: #343a40; /* Cor de fundo escura */
    color: var(--light-text); /* Cor do texto claro */
    padding: 50px 0 30px; /* Padding */
    font-size: 0.95em; /* Tamanho da fonte */
}

.gsv-footer-container {
    display: grid; /* Usa grid layout */
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); /* Colunas responsivas */
    gap: 40px; /* Espaço entre itens */
    text-align: left; /* Alinha texto à esquerda */
    margin-bottom: 40px; /* Margem inferior */
}

.gsv-footer-col h4 {
    color: var(--white); /* Cor do título */
    margin-bottom: 18px; /* Margem inferior */
    font-size: 1.3em; /* Tamanho da fonte */
}

.gsv-footer-col p {
    margin-bottom: 12px; /* Margem inferior */
}

.gsv-footer-col ul li {
    margin-bottom: 10px; /* Margem inferior */
}

.gsv-footer-col a {
    color: var(--light-text); /* Cor do link */
    transition: color 0.3s ease; /* Transição suave */
}

.gsv-footer-col a:hover {
    color: var(--white); /* Cor do link no hover */
    text-decoration: underline; /* Adiciona sublinhado no hover */
}

.gsv-footer-col i {
    margin-right: 10px; /* Margem à direita para ícones */
    color: var(--accent-green); /* Cor do ícone */
    font-size: 1.2em; /* Tamanho do ícone */
}

.gsv-footer-socials {
    margin-top: 20px; /* Margem superior */
}

.gsv-footer-socials a {
    display: inline-block; /* Exibe como bloco inline */
    margin-right: 18px; /* Margem à direita */
    font-size: 1.6em; /* Tamanho do ícone */
    color: var(--light-text); /* Cor do ícone */
     transition: color 0.3s ease; /* Transição suave */
}

.gsv-footer-socials a:hover {
    color: var(--white); /* Cor do ícone no hover */
}

.gsv-footer-bottom {
    text-align: center; /* Alinha texto ao centro */
    border-top: 1px solid #444; /* Borda superior */
    padding-top: 30px; /* Padding superior */
    font-size: 0.85em; /* Tamanho da fonte menor */
}

/* Botão Flutuante do WhatsApp */
.gsv-whatsapp-float {
    position: fixed; /* Posição fixa na tela */
    bottom: 25px; /* Distância do fundo */
    right: 25px; /* Distância da direita */
    width: 65px; /* Largura */
    height: 65px; /* Altura */
    background-color: var(--whatsapp-green); /* Cor de fundo */
    color: var(--white); /* Cor do ícone */
    border-radius: 50%; /* Borda arredondada (círculo) */
    text-align: center; /* Alinha ícone ao centro */
    font-size: 32px; /* Tamanho do ícone */
    line-height: 65px; /* Altura da linha para centralizar verticalmente */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3); /* Sombra */
    z-index: 1001; /* Garante que fique acima da maioria dos elementos */
    transition: background-color 0.3s ease; /* Transição suave na cor de fundo */
    animation: pulse-whatsapp 1.5s ease-in-out infinite; /* Animação de pulso */
}

.gsv-whatsapp-float:hover {
    background-color: var(--whatsapp-green-dark); /* Cor de fundo no hover */
    color: var(--white); /* Cor do ícone no hover */
    text-decoration: none; /* Remove sublinhado no hover */
    animation: none; /* Remove animação no hover */
}

/* Keyframes para a animação de pulso */
@keyframes pulse-whatsapp {
    0% {
        transform: scale(1); /* Escala normal */
        opacity: 1; /* Opacidade total */
    }
    70% {
        transform: scale(1.1); /* Aumenta ligeiramente */
        opacity: 0.8; /* Diminui opacidade */
    }
    100% {
        transform: scale(1); /* Retorna à escala normal */
        opacity: 1; /* Retorna à opacidade total */
    }
}


/* Estilos Específicos da Nova Página (`apoio-grupos.html`) */
.gsv-group-info-block {
    display: flex; /* Usa flexbox */
    align-items: flex-start; /* Alinha itens ao início */
    gap: 40px; /* Espaço entre itens */
    margin-bottom: 50px; /* Margem inferior */
    padding: 40px; /* Padding */
    background-color: var(--white); /* Cor de fundo */
    border-radius: 10px; /* Borda arredondada */
    box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Sombra */
    text-align: left; /* Alinha texto à esquerda */
}

.gsv-group-icon {
    flex-shrink: 0; /* Impede que o ícone encolha */
    font-size: 3.5em; /* Tamanho do ícone */
    color: var(--accent-green); /* Cor do ícone */
    width: 90px; /* Largura fixa */
    text-align: center; /* Alinha ícone ao centro */
}

.gsv-group-text {
    flex-grow: 1; /* Permite que o texto cresça */
}

.gsv-group-text h3 {
    margin-top: 0; /* Remove margem superior padrão */
    color: var(--primary-green); /* Cor do título */
    margin-bottom: 15px; /* Margem inferior */
}
.gsv-group-text p {
    color: var(--medium-text); /* Cor do parágrafo */
    font-size: 1.05em; /* Tamanho da fonte */
}

.gsv-checkmark-list {
    text-align: left; /* Alinha lista à esquerda */
    margin: 40px auto; /* Margem superior/inferior e centraliza */
    max-width: 750px; /* Largura máxima */
}
.gsv-checkmark-list li {
    margin-bottom: 18px; /* Margem inferior */
    font-size: 1.1em; /* Tamanho da fonte */
    position: relative; /* Posição relativa para o ícone */
    padding-left: 35px; /* Padding à esquerda para o ícone */
    color: var(--dark-text); /* Cor do texto */
}
.gsv-checkmark-list li i {
    color: var(--whatsapp-green); /* Cor do ícone */
    position: absolute; /* Posição absoluta */
    left: 0; /* Alinha à esquerda */
    top: 5px; /* Distância do topo */
    font-size: 1.3em; /* Tamanho do ícone */
}

.gsv-cta-block {
    background-color: var(--cta-green-bg); /* Cor de fundo */
    padding: 40px; /* Padding */
    border-radius: 10px; /* Borda arredondada */
    margin-top: 50px; /* Margem superior */
    box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Sombra */
}
.gsv-cta-block h3 {
    color: #155724; /* Cor do título */
    margin-bottom: 20px; /* Margem inferior */
}
.gsv-cta-block p {
    font-size: 1.2em; /* Tamanho da fonte */
    margin-bottom: 25px; /* Margem inferior */
    color: #155724; /* Cor do parágrafo */
}

.gsv-note {
    margin-top: 25px; /* Margem superior */
    font-size: 0.9em; /* Tamanho da fonte menor */
    color: var(--medium-text); /* Cor do texto */
}

/* --- Estilo para o Aviso de Cookies --- */
.cookie-banner {
    position: fixed; /* Posição fixa na tela */
    bottom: 0; /* Fixa na parte inferior */
    left: 0; /* Fixa na esquerda */
    width: 100%; /* Largura total */
    background-color: #f5f5f5; /* Fundo claro */
    color: var(--dark-text); /* Texto escuro */
    text-align: center; /* Alinha texto ao centro */
    padding: 15px 20px; /* Padding */
    font-size: 14px; /* Tamanho da fonte */
    box-shadow: 0 -2px 8px rgba(0,0,0,0.15); /* Sombra */
    z-index: 1002; /* Garante que fique acima de outros elementos */
    display: flex; /* Usa flexbox para alinhar conteúdo e botão */
    justify-content: center; /* Centraliza o conteúdo na horizontal */
    align-items: center; /* Centraliza o conteúdo na vertical */
    flex-wrap: wrap; /* Permite quebra de linha em telas pequenas */
    gap: 15px; /* Espaço entre texto e botão */
}

.cookie-banner p {
    margin: 0; /* Remove margem padrão do parágrafo */
    flex-grow: 1; /* Permite que o texto ocupe o espaço disponível */
    max-width: 800px; /* Limita a largura do texto em telas grandes */
}

.cookie-banner a {
    color: var(--accent-green); /* Cor de link para política de privacidade */
    text-decoration: underline; /* Adiciona sublinhado */
}

.cookie-banner button.accept-cookies-btn {
    background-color: var(--primary-green); /* Cor do botão Aceitar */
    color: var(--white); /* Cor do texto */
    border: none; /* Remove borda */
    padding: 8px 20px; /* Padding */
    border-radius: 4px; /* Borda arredondada */
    cursor: pointer; /* Cursor de ponteiro */
    font-size: 14px; /* Tamanho da fonte */
    transition: background-color 0.3s ease; /* Transição suave */
    flex-shrink: 0; /* Impede que o botão encolha */
}

.cookie-banner button.accept-cookies-btn:hover {
    background-color: var(--whatsapp-green-dark); /* Cor no hover */
}
/* --- Fim do Estilo para o Aviso de Cookies --- */


/* Design Responsivo */
@media (max-width: 768px) {
    .gsv-section {
        padding: 50px 0; /* Padding menor em mobile */
    }
    .gsv-section-title {
        margin-bottom: 30px; /* Margem menor em mobile */
    }

    h1 {
        font-size: 2em; /* Tamanho da fonte menor em mobile */
    }

    h2 {
        font-size: 1.7em; /* Tamanho da fonte menor em mobile */
    }

    h3 {
        font-size: 1.3em; /* Tamanho da fonte menor em mobile */
    }

    /* Cabeçalho Mobile */
    .gsv-header-container {
        flex-wrap: wrap; /* Permite quebra de linha */
    }

    .gsv-logo-container {
        flex-grow: 1; /* Permite que o logo cresça */
    }

    .gsv-menu-toggle {
        display: block; /* Exibe o botão de menu */
        font-size: 24px; /* Tamanho do ícone */
    }

    .gsv-nav {
        width: 100%; /* Largura total */
        max-height: 0; /* Altura máxima inicial (escondido) */
        overflow: hidden; /* Esconde conteúdo extra */
        transition: max-height 0.3s ease-in-out; /* Transição suave */
        flex-basis: 100%; /* Ocupa a largura total */
    }

    .gsv-nav.active {
        max-height: 300px; /* Altura máxima quando ativo */
    }

    .gsv-nav ul {
        flex-direction: column; /* Itens em coluna */
        gap: 10px; /* Espaço entre itens */
        padding: 10px 0; /* Padding */
        background-color: var(--light-bg); /* Cor de fundo */
        border-top: 1px solid var(--border-color); /* Borda superior */
    }

    .gsv-nav ul li a {
        display: block; /* Exibe como bloco */
        padding: 10px 15px; /* Padding */
        border-bottom: none; /* Remove borda */
    }

    /* Hero Mobile (Hero principal da Home) */
     .gsv-hero {
        padding: 80px 0; /* Padding menor */
        min-height: 400px; /* Altura mínima menor */
        background-color: var(--dark-green-bg); /* Cor de fundo */
     }

    /* Estilo específico para o Hero PEQUENO (na página de Grupos) em mobile */
     .gsv-hero-small {
         min-height: 250px; /* Altura mínima menor */
         padding: 60px 0; /* Padding menor */
         background: var(--light-green-bg); /* Fundo claro */
         color: var(--dark-text); /* Texto escuro */
     }
      .gsv-hero-small .gsv-hero-content h1 {
          font-size: 2em; /* Tamanho da fonte menor */
          color: var(--primary-green); /* Cor do título */
      }
      .gsv-hero-small .gsv-hero-content p {
          font-size: 1.1em; /* Tamanho da fonte menor */
          color: var(--dark-text); /* Cor do parágrafo */
      }

    .gsv-hero-content h1 {
        font-size: 2.2em; /* Tamanho da fonte menor */
    }

    .gsv-hero-content p {
        font-size: 1.1em; /* Tamanho da fonte menor */
    }

    .gsv-btn {
        padding: 12px 25px; /* Padding menor */
        font-size: 1em; /* Tamanho da fonte menor */
    }

    .gsv-btn-large {
         font-size: 1.1em; /* Tamanho da fonte menor */
         padding: 15px 30px; /* Padding menor */
    }

    /* Seção Sobre Nós Mobile */
     .gsv-about-container {
        text-align: center; /* Alinha texto ao centro */
    }
     .gsv-about-text h2 {
        text-align: center; /* Alinha título ao centro */
     }
    .gsv-mention {
        padding: 15px; /* Padding menor */
        margin: 20px 0; /* Margem menor */
    }

    /* Grid Mobile (já tratado por auto-fit minmax) */
    .gsv-grid-container {
        gap: 20px; /* Espaço menor entre itens */
        margin-top: 30px; /* Margem superior menor */
    }

    .gsv-service-card, .gsv-icon-card {
        padding: 25px; /* Padding menor */
        border-radius: 8px; /* Borda arredondada menor */
        box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Sombra menor */
    }
     .gsv-service-card:hover, .gsv-icon-card:hover {
        transform: none; /* Remove efeito de levantar */
        box-shadow: 0 4px 8px var(--shadow-color-subtle); /* Mantém sombra menor */
    }

    /* Seção Contato Mobile */
     .gsv-contact-wrapper {
        grid-template-columns: 1fr; /* Uma coluna */
        gap: 30px; /* Espaço menor */
     }

     .gsv-contact-info, .gsv-contact-form-container {
        text-align: center; /* Alinha texto ao centro */
     }
     .gsv-contact-form label, .gsv-contact-info p {
        text-align: center; /* Alinha texto ao centro */
     }

     .gsv-contact-info p {
        font-size: 1em; /* Tamanho da fonte menor */
     }

    /* Rodapé Mobile */
    .gsv-footer {
        padding: 40px 0 20px; /* Padding menor */
    }
    .gsv-footer-container {
        grid-template-columns: 1fr; /* Uma coluna */
        text-align: center; /* Alinha texto ao centro */
        gap: 20px; /* Espaço menor */
        margin-bottom: 30px; /* Margem inferior menor */
    }

     .gsv-footer-col h4 {
        margin-bottom: 10px; /* Margem inferior menor */
     }

     .gsv-footer-col ul li {
        margin-bottom: 5px; /* Margem inferior menor */
     }

     .gsv-footer-socials {
         margin-top: 15px; /* Margem superior menor */
     }
     .gsv-footer-socials a {
        margin: 0 10px; /* Margem horizontal */
        font-size: 1.5em; /* Tamanho do ícone menor */
     }

    /* Elementos da Nova Página Mobile */
    .gsv-group-info-block {
        flex-direction: column; /* Itens em coluna */
        align-items: center; /* Alinha itens ao centro */
        gap: 20px; /* Espaço menor */
        padding: 25px; /* Padding menor */
        border-radius: 8px; /* Borda arredondada menor */
    }
    .gsv-group-icon {
         width: auto; /* Largura automática */
         font-size: 3em; /* Tamanho do ícone menor */
    }

    .gsv-checkmark-list {
        padding-left: 0; /* Remove padding */
        margin: 30px auto; /* Margem e centraliza */
    }
     .gsv-checkmark-list li {
        padding-left: 25px; /* Padding à esquerda */
        font-size: 1em; /* Tamanho da fonte menor */
     }
      .gsv-checkmark-list li i {
         font-size: 1.1em; /* Tamanho do ícone menor */
         top: 3px; /* Posição do ícone */
       }

    .gsv-cta-block {
        padding: 30px; /* Padding menor */
        margin-top: 40px; /* Margem superior */
        border-radius: 8px; /* Borda arredondada menor */
    }
    .gsv-cta-block h3 {
        color: #155724; /* Cor do título */
        margin-bottom: 20px; /* Margem inferior */
    }
     .gsv-cta-block p {
        font-size: 1.1em; /* Tamanho da fonte menor */
     }

    /* Botão Flutuante do WhatsApp Mobile */
    .gsv-whatsapp-float {
        width: 55px; /* Largura menor */
        height: 55px; /* Altura menor */
        font-size: 28px; /* Tamanho do ícone menor */
        line-height: 55px; /* Altura da linha ajustada */
        bottom: 15px; /* Distância do fundo */
        right: 15px; /* Distância da direita */
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Sombra menor */
    }

    /* Ajustes do Cookie Banner Mobile */
     .cookie-banner {
         flex-direction: column; /* Itens em coluna */
         padding: 15px; /* Padding menor */
         text-align: left; /* Alinha texto à esquerda */
     }
     .cookie-banner p {
         margin-bottom: 10px; /* Margem inferior */
         margin-right: 0; /* Remove margem à direita */
     }
      .cookie-banner button {
          width: 100%; /* Largura total */
          text-align: center; /* Alinha botão ao centro */
      }
       /* Ajusta padding-bottom do body para mobile */
     body {
         padding-bottom: 80px; /* Ajuste conforme a altura do banner em mobile */
     }
}

/* Ajustes para Desktop (maior que 768px) */
@media (min-width: 769px) {
    /* Estilos Desktop */
    .gsv-contact-wrapper {
        grid-template-columns: 1fr 2fr; /* Duas colunas */
        align-items: start; /* Alinha itens ao início */
    }

    .gsv-contact-info {
        padding-right: 30px; /* Padding à direita */
        border-right: 1px solid var(--border-color); /* Borda à direita */
    }
     .gsv-contact-info h3, .gsv-contact-form-container h3 {
        text-align: left; /* Alinha títulos à esquerda */
     }
     .gsv-contact-info p, .gsv-contact-form-container p {
        text-align: left; /* Alinha parágrafos à esquerda */
     }

    .gsv-submit-group {
        text-align: left; /* Alinha botão ao início */
    }
     .gsv-privacy-link {
        text-align: left; /* Alinha link à esquerda */
     }

     /* Estilos Específicos da Nova Página (Ajustes Desktop) */
     .gsv-group-info-block {
         align-items: flex-start; /* Alinha itens ao início */
         flex-direction: row; /* Itens em linha */
     }
     .gsv-group-icon {
          width: 90px; /* Largura fixa */
          font-size: 3.5em; /* Tamanho do ícone */
          text-align: center; /* Alinha ícone ao centro */
     }

      .gsv-checkmark-list li {
         padding-left: 35px; /* Padding à esquerda */
         font-size: 1.1em; /* Tamanho da fonte */
      }
       .gsv-checkmark-list li i {
          font-size: 1.3em; /* Tamanho do ícone */
          top: 5px; /* Posição do ícone */
       }
}

/* Ajustes para Telas Maiores (maior que 992px) */
@media (min-width: 992px) {
    /* Ajustes para Desktop maior */
    .gsv-section {
        padding: 100px 0; /* Padding maior */
    }
     h1 {
        font-size: 3.5em; /* Tamanho da fonte maior */
     }
     h2 {
        font-size: 2.5em; /* Tamanho da fonte maior */
     }
     h3 {
        font-size: 1.8em; /* Tamanho da fonte maior */
     }
     .gsv-hero-content p {
        font-size: 1.5em; /* Tamanho da fonte maior */
     }

    .gsv-hero {
         padding: 150px 0; /* Padding maior */
         min-height: 650px; /* Altura mínima maior */
     }
      .gsv-hero-small {
          min-height: 400px; /* Altura mínima maior */
          padding: 120px 0; /* Padding maior */
      }
       .gsv-hero-small .gsv-hero-content h1 {
           font-size: 3em; /* Tamanho da fonte maior */
       }
       .gsv-hero-small .gsv-hero-content p {
            font-size: 1.3em; /* Tamanho da fonte maior */
       }

     .gsv-service-card, .gsv-icon-card, .gsv-testimonial-card, .gsv-group-info-block {
         padding: 50px; /* Padding maior */
     }

     .gsv-contact-wrapper {
         grid-template-columns: 1fr 4fr; /* Ajuste de colunas */
         gap: 80px; /* Espaço maior */
     }
      .gsv-contact-info {
        padding-right: 50px; /* Padding à direita maior */
      }

    .gsv-footer-container {
         grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); /* Ajuste de colunas */
         gap: 50px; /* Espaço maior */
     }
}/* End custom CSS */