/* --- GERAL E VARIÁVEIS --- */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700;800&display=swap');

:root {
    --cor-primaria: #9200D0;
    --cor-secundaria: #F2C029;
    --cor-cta: #F2762E; /* Laranja */
    --cor-clara: #FFFFFF;
    --cor-fundo: #f8f9fa;
    --cor-escura: #343a40;
    --fonte-principal: 'Poppins', sans-serif;
}

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

body {
    font-family: var(--fonte-principal);
    background-color: var(--cor-fundo);
    color: var(--cor-escura);
    line-height: 1.6; /* AJUSTADO */
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

section { 
    padding: 30px 0; /* AJUSTADO: Espaçamento entre seções drasticamente reduzido */
}

.section-title {
    text-align: center;
    font-size: clamp(1.8em, 5vw, 2.5em);
    color: var(--cor-primaria);
    margin-bottom: 30px; /* AJUSTADO */
    font-weight: 700;
    line-height: 1.2; /* AJUSTADO */
}

/* --- HEADER --- */
.hero-header {
    background: var(--cor-primaria);
    color: var(--cor-clara);
    padding: 30px 0; /* AJUSTADO */
    text-align: center;
}
.logo-principal { max-width: 150px; margin-bottom: 20px; /* AJUSTADO */ }
.hero-header h1 { 
    font-size: clamp(1.8em, 4vw, 2.8em); 
    margin-bottom: 15px;
    line-height: 1.25; /* AJUSTADO */
    font-weight: 500;
}
.hero-header h2 { 
    font-size: clamp(1.1em, 2.5vw, 1.3em); 
    max-width: 800px; 
    margin: 0 auto; 
    font-weight: 400; 
    opacity: 0.9;
    line-height: 1.4; /* AJUSTADO */
}

/* --- SEÇÃO DEPOIMENTOS EM VÍDEO (REUTILIZADA) --- */
#depoimentos-video { background-color: var(--cor-clara); }
.depoimentos-video-wrapper { max-width: 400px; margin: 0 auto; position: relative; }
.depoimentos-video-carousel { overflow: hidden; }
.depoimentos-video-track { display: flex; transition: transform 0.5s ease-in-out; }
.depoimento-video-slide { min-width: 100%; box-sizing: border-box; padding: 0 10px; }
.video-container { border-radius: 12px; overflow: hidden; box-shadow: 0 10px 30px rgba(0,0,0,0.15); background-color: #000; aspect-ratio: 9 / 16; width: 100%; height: auto; display: flex; align-items: center; justify-content: center; }
.video-container img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* --- CONTROLES DE CARROSSÉIS (GENÉRICO) --- */
.depoimentos-video-controls { display: flex; justify-content: space-between; align-items: center; padding: 0 10px; margin-top: 20px; }
.carousel-btn { background-color: var(--cor-primaria); color: white; border: none; border-radius: 50%; width: 45px; height: 45px; font-size: 1.5em; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; }
.carousel-btn:hover { background-color: var(--cor-secundaria); color: var(--cor-escura); transform: scale(1.1); }
.carousel-btn:disabled { background-color: #ccc; cursor: not-allowed; transform: scale(1); }
.carousel-dots { display: flex; gap: 10px; }
.carousel-dots .dot { width: 12px; height: 12px; border-radius: 50%; background-color: #ccc; border: none; padding: 0; cursor: pointer; transition: all 0.3s ease; }
.carousel-dots .dot.active { background-color: var(--cor-primaria); transform: scale(1.2); }

/* --- SEÇÃO PILARES --- */
.pilares-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; /* AJUSTADO */ }
.pilar-card { background: var(--cor-clara); padding: 25px; text-align: center; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.08); transition: all 0.3s ease; }
.pilar-card:hover { transform: translateY(-5px); box-shadow: 0 12px 35px rgba(0,0,0,0.1); }
.pilar-card i { font-size: 2.5em; color: var(--cor-primaria); margin-bottom: 15px; }
.pilar-card h3 { font-size: 1.4em; margin-bottom: 10px; }

/* --- SEÇÃO OFERTA E GARANTIA --- */
#oferta-garantia { background: var(--cor-primaria); color: var(--cor-clara); text-align: center; }
.oferta-title { color: var(--cor-clara); font-size: clamp(1.6em, 4vw, 2.2em); margin-bottom: 10px; line-height: 1.3; /* AJUSTADO */ }
.oferta-title span { color: var(--cor-secundaria); }
.oferta-subtitle { font-size: 1.4em; margin-bottom: 30px; /* AJUSTADO */ }
.garantia-box { background: rgba(255,255,255,0.1); border: 2px solid var(--cor-secundaria); padding: 25px; border-radius: 15px; display: flex; align-items: center; gap: 20px; text-align: left; max-width: 800px; margin: 0 auto; }
.garantia-box i { font-size: 2.5em; color: var(--cor-secundaria); }
.garantia-box h3 { font-size: 1.2em; margin-bottom: 8px; line-height: 1.3; /* AJUSTADO */ }

/* --- SEÇÃO DE ESCOLHA DOS KITS --- */
#escolha-simulado { background-color: var(--cor-clara); }
.pricing-info { text-align: center; margin-bottom: 30px; }

/* Texto menor acima do preço */
.parcelas-texto {
    font-size: 1.3em;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 5px;
}

/* Preço da parcela em destaque */
.parcelas-valor {
    font-size: clamp(1.8em, 5vw, 2.5em); /* Mesmo tamanho do .section-title */
    font-weight: 800;
    color: var(--cor-primaria);
    line-height: 1.1;
    margin-bottom: 10px;
}

/* Texto "ou à vista" */
.pricing-info span { 
    font-size: 1.1em; 
}
.kits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 25px; /* AJUSTADO */ }
.kit-card { background: var(--cor-clara); border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); text-align: center; padding: 25px; display: flex; flex-direction: column; }
.kit-image-container { margin-bottom: 20px; flex-grow: 1; display: flex; align-items: center; justify-content: center; min-height: 140px; }
.kit-card img { max-width: 100%; max-height: 140px; }
.kit-card h3 { font-size: 1.4em; margin-bottom: 20px; color: var(--cor-primaria); line-height: 1.3; /* AJUSTADO */ }
.cta-button { background: var(--cor-cta); color: var(--cor-clara); text-decoration: none; padding: 15px 25px; border-radius: 10px; font-weight: 700; display: inline-block; transition: all 0.3s ease; }
.cta-button:hover { background: #d96d29; transform: scale(1.05); }

/* --- SEÇÃO FAQ --- */
.faq-accordion { max-width: 800px; margin: 0 auto; }
.faq-item { background: var(--cor-clara); border-radius: 10px; margin-bottom: 10px; /* AJUSTADO */ box-shadow: 0 5px 15px rgba(0,0,0,0.05); }
.faq-question { width: 100%; background: none; border: none; padding: 20px; text-align: left; font-size: 1.1em; /* AJUSTADO */ font-weight: 500; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.faq-question i { transition: transform 0.3s ease; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.4s ease-out; }
.faq-answer p { padding: 0 20px 20px 20px; line-height: 1.6; }
.faq-item.active .faq-question i { transform: rotate(180deg); }
.faq-item.active .faq-answer { max-height: 200px; }

/* --- SEÇÃO DEPOIMENTOS EM TEXTO --- */
.depoimentos-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; /* AJUSTADO */ }
.depoimento-card { background: var(--cor-clara); padding: 25px; border-radius: 10px; box-shadow: 0 8px 25px rgba(0,0,0,0.08); }
.aluno-info { display: flex; align-items: center; gap: 15px; margin-bottom: 15px; }
.aluno-info img { width: 60px; height: 60px; /* AJUSTADO */ border-radius: 50%; object-fit: cover; }
.aluno-nome { font-weight: 700; font-size: 1.1em; line-height: 1.3; /* AJUSTADO */ }
.aluno-curso { font-size: 0.9em; opacity: 0.8; }
.depoimento-conteudo { font-style: italic; }

/* --- RODAPÉ --- */
.site-footer { background: var(--cor-escura); color: var(--cor-clara); text-align: center; padding: 20px 0; }

/* --- AJUSTES FINAIS DE RESPONSIVIDADE --- */
@media (max-width: 768px) {
    .garantia-box {
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }
    .garantia-box i {
        margin-bottom: 10px;
    }
    .depoimentos-video-wrapper {
        max-width: 100%;
        padding: 0 10px;
    }
    .depoimento-video-slide {
        padding: 0 5px;
    }
    .video-container {
        aspect-ratio: 9 / 16;
    }
}