:root {
  --primary:#16a34a;
  --primary-light:#dcfce7;
  --background:oklch(1 0 0);
  --foreground:oklch(0.235 0.015 65);
  --radius:0.75rem;
  --shadow:0 4px 20px rgba(0,0,0,.08);
}

body{margin:0;font-family:'Inter',sans-serif;
     background:linear-gradient(to bottom,#f0fdf4,#fff);
     color:var(--foreground);}
.container{max-width:1400px;margin:0 auto;padding:0 1.5rem;}
.flex-between{display:flex;align-items:center;justify-content:space-between}

/* header */
.header {
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid #e5e7eb;
  position: sticky;
  top: 0;
  z-index: 50;
}
.logo{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.25rem;color:var(--primary);}
.icon-heart{width:28px;height:28px;}
.header .container {
  padding-top: 1.0rem;   /* ? aumenta espaço acima */
  padding-bottom: 1.0rem; /* ? aumenta espaço abaixo */
}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;
     text-decoration:none;border-radius:var(--radius);transition:.2s;}
.btn.primary{background:var(--primary);color:#fff;padding:.5rem 1rem;}
.btn.primary:hover{background:#15803d;}
.btn.outline{border:1px solid #d1d5db;color:var(--foreground);padding:.5rem 1rem;}
.btn.outline:hover{border-color:var(--primary);color:var(--primary);}
.btn.ghost{color:var(--foreground);padding:.5rem .8rem;}
.btn.ghost:hover{color:var(--primary);}
.btn.large{padding:.7rem 1.4rem;font-size:1rem;}
.btn.secondary{background:#fff;color:var(--primary);padding:.7rem 1.4rem;}
.btn.secondary:hover{background:#f9fafb;}

/* hero */
.hero{padding:6rem 0;}
.hero-grid{display:grid;align-items:center;gap:3rem;}
@media(min-width:992px){.hero-grid{grid-template-columns:1fr 1fr;}}
.hero-text h1{font-size:clamp(2.5rem,5vw,3.5rem);font-weight:800;line-height:1.15;margin-bottom:1rem;}
.highlight{color:var(--primary);}
.hero-text p {
  font-size: 1.125rem;
  color: #4b5563;
  max-width: 40rem;  /* agora ˜ 640 px */
}


.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;}

.hero-image .image-wrapper{position:relative;border-radius:1.25rem;overflow:hidden;box-shadow:var(--shadow);}
.hero-image img{width:100%;display:block;}
.float-card{position:absolute;display:flex;align-items:center;gap:.8rem;
            padding:.9rem 1.2rem;border-radius:.9rem;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.float-card.left{top:20%;left:1rem;}
.float-card.right{bottom:20%;right:1rem;}
         
/* Ícone circular verde-claro uniforme */
.icon-bg {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;              /* largura fixa (˜64px) */
  height: 4rem;             /* mesma altura ? círculo perfeito */
  background-color: var(--primary-light); /* usa seu tom #dcfce7 */
  border-radius: 50%;       /* deixa redondo */
  margin: 0 auto 1rem auto; /* centraliza no card e adiciona espaçamento inferior */
}

.icon-bg svg {
  width: 2rem;  /* 32px para o ícone */
  height: 2rem;
  color: var(--primary); /* verde principal #16a34a */
}
         
         
         
.label{font-size:.8rem;color:#6b7280;margin:0;}
.value{font-size:1rem;font-weight:700;margin:0;}
.glass-effect{background:rgba(255,255,255,0.95);backdrop-filter:blur(10px);}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
.animate-float{animation:float 6s ease-in-out infinite;}
.animate-float-delayed{animation:float 6s ease-in-out infinite 3s;}

/* calculadora */
.calc{padding:5rem 0;text-align:center;}
.calc-box{max-width:600px;margin:2rem auto;background:#fff;padding:2rem;border-radius:1rem;box-shadow:var(--shadow);}
.calc-box input{width:95%;padding:.6rem .9rem;margin:.3rem 0 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem;}
.resultado{background:#dcfce7;padding:1rem;border-radius:.5rem;}
.resultado h3{margin:.3rem 0;color:var(--primary);}

.ganhos {
    /* Fundo: Azul muito claro (quase branco), similar ao da imagem */
    background: #f0f8ff; /* Um "Azul Alice" muito suave */
    
    /* Borda: Adiciona a borda suave da caixa */
    border: 1px solid #b3d9ff; /* Um azul um pouco mais escuro para o contorno */
    
    padding: 1rem;
    border-radius: .5rem;
    
    /* MANTIDO: Ajustes de fonte menores */
    font-size: 0.9em; 
}

.ganhos h8 {
    margin: .3rem 0;
    
    /* Cor do Texto: Azul escuro, similar ao da imagem */
    color: #003366; /* Um tom de azul marinho escuro */
    
    /* MANTIDO: Ajustes de fonte */
    font-size: 0.9em; 
}

/* 1. Estilizando o contêiner principal (o div) */
.card-ganhos {
    /* Fundo verde muito claro, quase branco (cor do fundo da imagem) */
    background-color: #f7fff7; 
    /* Borda sutil para definir a caixa (parece haver uma na imagem) */
    border: 1px solid #e6ffe6; 
    /* Arredondamento da borda (parece levemente arredondado) */
    border-radius: 8px;
    /* Preenchimento interno para o conteúdo não tocar as bordas */
    padding: 1rem;
    /* Centraliza o texto dentro do div */
    text-align: center;
    /* Sombra sutil, opcionalmente, se desejar um efeito 3D */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05); 
    /* Largura máxima para não se estender por toda a tela */
    max-width: 100%;
    /* Centraliza o bloco na página (se estiver em um body) */
    margin: 20px auto; 
}

/* 2. Estilizando o título "Ganhos estimados:" */
.titulo-ganhos {
    /* Cor do texto: um cinza suave */
    color: #6a6a6a; 
    /* Tamanho da fonte */
    font-size: 16px; 
    /* Margem inferior para afastar do valor */
    margin-bottom: 5px; 
    /* Remove a margem superior padrão do parágrafo */
    margin-top: 0;
}

/* 3. Estilizando o valor principal "R$ 45000.00" */
.valor-total {
    /* Cor verde vibrante usada na imagem */
    color: #008000; 
    /* Tamanho da fonte grande */
    font-size: 36px; 
    /* Deixa o texto em negrito */
    font-weight: 700; 
    /* Espaçamento interno em cima e embaixo */
    margin: 5px 0 10px 0; 
}

/* 4. Estilizando o detalhe do cálculo */
.detalhe-calculo {
    /* Cor do texto: um cinza escuro mais discreto */
    color: #888888; 
    /* Tamanho da fonte pequeno */
    font-size: 14px; 
    /* Fonte mais leve, mas legível */
    font-weight: 400; 
    /* Remove margens padrão */
    margin: 0;
}

/* beneficios */
.beneficios{text-align:center;padding:5rem 0;}


.benef-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  width: 100%;
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 1rem;
  box-sizing: border-box;
}

@media(min-width:768px){.benef-grid{grid-template-columns:repeat(3,1fr);}}

/* impede textos longos de estourarem nos cards de benefícios */
.benef-card {
  background: #fff;
  padding: 1.5rem;
  border-radius: 0.8rem;
  box-shadow: var(--shadow);
  text-align: center;
  overflow-wrap: break-word; /* quebra o texto no limite */
  word-wrap: break-word;
}

.benef-card p {
  font-size: 0.95rem;
  color: var(--muted-foreground);
  line-height: 1.5;
  max-width: 90%;     /* evita encostar nas bordas internas */
  margin: 0.5rem auto 0;
  word-break: break-word; /* quebra palavras grandes ou links compridos */
}



.benef-card .icon-bg{margin:0 auto 1rem;}
/* cta */
.cta{padding:5rem 0;}
.cta-box{text-align:center;background:linear-gradient(135deg,#16a34a,#15803d);
          color:#fff;padding:3rem;border-radius:1rem;}
.cta-box h2{margin:0 0 .5rem;}
.cta-box p{margin:0 0 1.5rem;}
/* footer */
.footer{text-align:center;border-top:1px solid #e5e7eb;padding:2rem;background:#f9fafb;font-size:.9rem;color:#6b7280;}
.footer-links{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;}
.footer-links a{text-decoration:none;color:#6b7280;}
.footer-links a:hover{color:var(--primary);}

/* Botões menores no header */
.header .btn {
  padding: 0.35rem 0.75rem;   /* menos altura e largura */
  font-size: 0.85rem;         /* texto um pouco menor */
  border-radius: 0.5rem;      /* cantos um pouco mais sutis */
}

.header .btn.primary {
  padding: 0.4rem 0.9rem;     /* mantém mínima área de clique */
}

/* === Alterna as cores de fundo das sections === */
body > section:nth-of-type(odd) {
  background-color: oklch(1 0 0); /* branco */
}

body > section:nth-of-type(even):not(.footer) {
  background-color: oklch(0.97 0.02 150); /* verde-claro pastel */
}

/* Opcional: espaçamento consistente entre seções */
body > section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* Garante que o footer mantenha sua cor atual */
.footer {
  background-color: var(--color-background);
}/* Garante que o footer mantenha sua cor atual */
.footer {
  background-color: var(--color-background);
}

/* Garante que o grid dos benefícios não ultrapasse o limite do container */
.benef-grid {
  width: 100%;
  max-width: 1150px;     /* mantém os cards dentro do visual padrão container */
  margin: 0 auto;        /* centraliza o grid */
  padding: 0 1rem;       /* dá respiro nas laterais */
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  box-sizing: border-box;
}

/* Estilos Gerais do Contêiner */
.container-programa {
    /* Define a largura máxima do conteúdo centralizado */
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    font-family: Arial, sans-serif; /* Fonte padrão */
    text-align: center;
}

/* --- Cabeçalho --- */
.header-programa {
    margin-bottom: 40px;
    padding: 0 20px;
}

.header-programa h1 {
    /* Cor e tamanho do título principal "Você cuida da sua comunidade." */
    color: #333;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 10px;
}

.subtitulo {
    /* Cor e tamanho do subtítulo */
    color: #555;
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 0;
}

.destaque-valor {
    /* Destaque para os valores R$35 e R$55 */
    color: #008000; /* Cor verde forte */
    font-weight: bold;
}

/* --- Seção de Cards (Grid/Flexbox) --- */
.cards-grid {
    /* Usa Flexbox para dispor os cards lado a lado */
    display: flex;
    gap: 20px; /* Espaço entre os cards */
    justify-content: center;
    padding: 0 20px;
}

/* Estilo do Card Individual */
.card {
    background-color: white;
    /* Borda sutil */
    border: 1px solid #eee; 
    /* Cantos arredondados */
    border-radius: 12px; 
    /* Sombra para dar profundidade (como na imagem) */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    padding: 30px 20px;
    text-align: center;
    /* Flex-grow para que os 3 cards ocupem espaço igual */
    flex: 1; 
    /* Define uma largura mínima para evitar que fiquem muito estreitos */
    min-width: 250px; 
}

.card h2 {
    /* Cor e tamanho do título do card (ex: "Fácil de Indicar") */
    color: #333;
    font-size: 18px;
    font-weight: 600;
    margin-top: 10px;
    margin-bottom: 10px;
}

.card p {
    /* Cor e tamanho da descrição */
    color: #666;
    font-size: 14px;
    line-height: 1.4;
    margin: 0;
}

/* --- Estilizando os Ícones --- */
.icone-wrapper {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    /* Cor de fundo verde bem clara */
    background-color: #f7fff7; 
    /* Borda verde para o círculo do ícone */
    border: 1px solid #e6ffe6; 
    /* Torna o fundo um círculo */
    border-radius: 50%;
    width: 60px;
    height: 60px;
    margin-bottom: 10px;
}

.icone-wrapper i {
    /* A cor verde escura do ícone */
    color: #008000; 
    font-size: 28px;
    /* Usado para ícones simples baseados em texto/símbolos */
    font-style: normal; 
}

/* --- Responsividade (Ajuste para Telas Pequenas) --- */
@media (max-width: 800px) {
    .cards-grid {
        /* Empilha os cards verticalmente em telas menores */
        flex-direction: column;
    }
}

/* Contêiner Principal da Seção FAQ */
.faq-section {
    max-width: 800px;
    margin: 40px auto; /* Margem superior/inferior para espaçamento */
    padding: 20px;
    font-family: Arial, sans-serif;
}

/* Título "Perguntas Frequentes" */
.faq-section h1 {
    text-align: center;
    /* Cor escura semelhante à imagem */
    color: #333; 
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 40px;
}

/* Item Individual do FAQ */
.faq-item {
    /* Garante que cada item ocupe a largura total */
    width: 100%;
    /* Adiciona a linha divisória na parte inferior (similar à imagem) */
    border-bottom: 1px solid #eee; 
}

/* Botão/Pergunta do FAQ */
.faq-pergunta {
    /* Remove a aparência padrão de botão */
    background: none;
    border: none;
    cursor: pointer;
    /* Garante que o botão ocupe toda a largura do faq-item */
    width: 100%; 
    text-align: left;
    padding: 15px 0;
    /* Cor e tamanho da pergunta */
    color: #333; 
    font-size: 16px;
    font-weight: 600; /* Levemente em negrito */
    /* Usa Flexbox para posicionar o texto à esquerda e o ícone à direita */
    display: flex; 
    justify-content: space-between;
    align-items: center;
}

/* Ícone de Expansão (seta) */
.icone-expansao {
    /* Cor e tamanho da seta */
    color: #999; 
    font-size: 18px;
    transition: transform 0.3s;
}

/* Estilo para a resposta */
.faq-resposta {
    /* Cor do texto da resposta */
    color: #666;
    font-size: 16px;
    line-height: 1.5;
    padding-bottom: 15px;
    /* OCULTAR RESPOSTA: Isso é o padrão para ser expandido via JS */
    max-height: 0;
    padding-top: 0;    /* Garante que não haja padding vertical quando oculta */
    padding-bottom: 0; /* Garante que não haja padding vertical quando oculta */
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, padding 0.3s ease-in-out;
}

/* Estilo para a resposta expandida (Controlado via JS para abrir) */
.faq-resposta.expandida {
    /* Define uma altura máxima grande para garantir que o conteúdo caiba */
    max-height: 500px; 
    /* Restaura o padding para mostrar o espaçamento da resposta */
    padding-top: 5px; 
    padding-bottom: 15px; 
}

.faq-pergunta.ativo .icone-expansao {
    /* Por exemplo, se o ícone for uma seta para baixo (v), giramos ele */
    transform: rotate(180deg); 
    color: #008000; /* Pode mudar a cor para indicar que está ativo */
}

/* Estiliza o parágrafo dentro da resposta para remover margens desnecessárias */
.faq-resposta p {
    margin-top: 0;
}
