/* ===== CORREÇÃO DE OVERFLOW HORIZONTAL ===== */

/* Prevenir overflow horizontal global */
html {
    overflow-x: hidden;
    width: 100%;
}

body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100vw;
}

/* Corrigir container */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 40px;
    width: 100%;
    box-sizing: border-box;
}

/* Todas as sections */
section {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
}

/* Corrigir grids que podem causar overflow */
.hero-container,
.sobre-grid,
.mentoria-situacoes,
.descobre-grid,
.diferenca-grid,
.processo-steps,
.pilares-grid-simples,
.depoimentos-grid,
.planos-grid,
.beneficios-grid,
.resultados-grid,
.nao-ideal-grid,
.ideal-sim-grid,
.faq-grid,
.contato-grid {
    max-width: 100%;
    box-sizing: border-box;
}

/* Corrigir formulário de contato */
.contato-form {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 48px 32px;
}

.form-group {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.form-group input,
.form-group textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Corrigir contato-grid que pode estar causando overflow */
.contato-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: start;
    width: 100%;
    max-width: 100%;
}

.contato-info,
.contato-form {
    min-width: 0; /* Previne overflow em grid items */
}

/* Mobile - garantir que tudo cabe */
@media (max-width: 968px) {
    .container {
        padding: 0 20px;
    }
    
    .contato-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .contato-form {
        padding: 32px 24px;
    }
    
    /* Corrigir cards que podem ser muito largos */
    .situacao-card,
    .pilar-simples,
    .descobre-card,
    .resultado-card,
    .plano-card {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    /* Corrigir textos longos */
    h1, h2, h3, h4, h5, h6, p {
        word-wrap: break-word;
        overflow-wrap: break-word;
    }
    
    /* Corrigir imagens */
    img {
        max-width: 100%;
        height: auto;
    }
}

/* Corrigir CTA sections */
.cta-inline,
.cta-section,
.cta-sticky {
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
}

.cta-inline-content,
.cta-content {
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
}

/* Corrigir hero */
.hero {
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
}

.hero-container {
    width: 100%;
    max-width: 100%;
}

/* Corrigir footer */
.footer {
    width: 100%;
    max-width: 100vw;
    box-sizing: border-box;
}

/* Garantir que rows não excedam viewport */
.row {
    max-width: 100%;
    margin: 0 auto;
}

/* Fix para elementos com position absolute/fixed */
[style*="position: absolute"],
[style*="position: fixed"] {
    max-width: 100vw;
}
