.elementor-7 .elementor-element.elementor-element-2e3e8ca{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-7 .elementor-element.elementor-element-834b72d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-834b72d.elementor-element{--align-self:center;}.elementor-7 .elementor-element.elementor-element-5e31201{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-5be47fb{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-11580e0{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-7 .elementor-element.elementor-element-58cc6a0{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}/* Start custom CSS *//* ============================================================
   CSS FINAL - DARK THEME PREMIUM + ELEMENTOR FIX (v3)
   Copie este código em: Aparência > Personalizar > CSS Adicional
   ============================================================ */

/* --- 1. CORREÇÃO CRÍTICA DO ELEMENTOR (REMOVE LINHAS BRANCAS) --- */
body, html {
    background-color: #0a0a0a !important; 
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden; /* CRÍTICO: Evita a rolagem horizontal causada por layouts full-width */
}

/* Força anti-transbordamento em todos os elementos DENTRO do wrapper */
.lp-wrapper * { 
    max-width: 100%; /* Garante que nenhum elemento interno possa transbordar */
    box-sizing: border-box; 
    word-wrap: break-word; /* Força a quebra de palavras longas se necessário */
}

/* Remove margens e paddings indesejados do Elementor */
.elementor-widget:not(:last-child) { 
    margin-bottom: 0 !important; 
}
.elementor-column-gap-default > .elementor-column > .elementor-element-populated { 
    padding: 0 !important; 
}
/* Força o container do Elementor a não ter limite */
.elementor-section.elementor-section-boxed > .elementor-container { 
    max-width: 100% !important; 
}


/* --- 2. VARIÁVEIS E CONFIGURAÇÕES GERAIS --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

.lp-wrapper {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    box-sizing: border-box;
    
    /* PALETA DE CORES PREMIUM */
    --gold-primary: #c4a661;       
    --gold-hover: #e0c47f;         
    --bg-page: #0a0a0a;            
    --bg-surface: #141414;         
    --bg-highlight: #1f1f1f;       
    --text-main: #ffffff;          
    --text-body: #a3a3a3;          
    --border-color: #262626;       
}

/* O wrapper agora usa 100% */
.lp-wrapper {
    background-color: var(--bg-page); 
    color: var(--text-body);
    width: 100%; 
    position: relative;
    padding-left: 0; 
    padding-right: 0; 
}

/* Container Padrão para as sessões normais (mantém o texto centralizado) */
.lp-container {
    width: 100%;
    max-width: 1400px; 
    margin: 0 auto;       
    padding: 0 20px; /* Padding padrão para desktop */
    position: relative;
}


/* --- 3. SESSÃO HERO (CAPA) - AJUSTADA E CENTRALIZADA --- */
.lp-hero {
    /* Altura mínima de 85% da tela do usuário */
    min-height: 85vh; 
    
    display: flex;
    align-items: center; 
    justify-content: center;
    
    background-color: var(--bg-page);
    text-align: center; /* Centraliza o texto */
    position: relative;
    background-image: radial-gradient(circle at center, #1a1a1a 0%, #0a0a0a 80%);
    
    padding: 60px 0; 
}

/* Container ESPECÍFICO do Hero SEM LIMITE DE LARGURA */
.lp-hero .lp-container {
    max-width: 100% !important; 
    padding: 0 5%; 
}

/* Título Gigante que aumenta conforme a tela e está CENTRALIZADO */
.lp-title-hero {
    font-size: clamp(2.5rem, 7vw, 5.5rem); 
    font-weight: 600;
    line-height: 1.1;
    margin-bottom: 30px;
    color: var(--text-main);
    letter-spacing: -0.03em;
    max-width: 90%; 
    margin-left: auto; 
    margin-right: auto; 
}

.lp-text-lead {
    font-size: clamp(1.1rem, 1.5vw, 1.5rem);
    color: var(--text-body);
    max-width: 800px;
    margin: 0 auto 40px auto;
    font-weight: 400;
}

.lp-highlight {
    color: var(--gold-primary);
    font-weight: 700;
}

/* --- 4. COMPONENTES (BOTÕES, BADGES) --- */
.lp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--gold-primary);
    color: #000000;
    font-weight: 700;
    
    font-size: 1rem; 
    padding: 20px 36px; 
    
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(196, 166, 97, 0.15);
    border: none;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space: nowrap; 
    max-width: 100%; 
}

.lp-btn:hover {
    background-color: var(--gold-hover);
    transform: translateY(-3px);
    box-shadow: 0 10px 40px rgba(196, 166, 97, 0.4);
    color: #000000;
}

.lp-badge {
    display: inline-block;
    background-color: rgba(196, 166, 97, 0.05);
    color: var(--gold-primary);
    padding: 10px 24px;
    border-radius: 50px;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 30px;
    border: 1px solid var(--gold-primary);
    letter-spacing: 0.15em;
}


/* --- 5. DEMAIS SESSÕES (PADRÃO) --- */

/* Esta é a classe padrão de fundo escuro, com padding e bordas sutis */
.lp-section-gray {
    background-color: var(--bg-page);
    padding: 100px 0;
    border-top: 1px solid var(--border-color);
}

/* Esta classe deve ser usada para cards ou áreas de fundo mais claro (mas ainda escuro) */
.lp-section-white {
    background-color: var(--bg-surface);
    padding: 100px 0;
}

/* Esta classe deve ser usada para seções de contraste, como a "Garantia" */
.lp-section-dark {
    background-color: #000000; /* Preto absoluto para contraste total */
    padding: 120px 0;
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
}

.lp-title-section {
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--text-main);
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 500;
}


/* --- 6. CARDS E GRIDS --- */
/* Grid Automático Responsivo */
.lp-grid-4 {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 30px;
    margin-top: 40px;
}

/* AJUSTE AQUI: O grid de 2 colunas agora se adapta mais cedo (em 600px) */
.lp-grid-2 {
    display: grid;
    /* Reduzindo o minmax para garantir mais espaço */
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); 
    gap: 40px;
    margin-top: 40px;
}

/* Estilo dos Cards */
.lp-card, .lp-feature-card, .lp-result-card {
    background: var(--bg-surface);
    border: 1px solid var(--border-color);
    border-radius: 6px;
    transition: transform 0.3s ease, border-color 0.3s ease;
    /* Adicionando box-sizing para garantir que padding e border não causem transbordamento */
    box-sizing: border-box; 
    max-width: 100%; 
}

.lp-card { padding: 40px 30px; text-align: center; }
.lp-feature-card { padding: 40px; display: flex; gap: 24px; align-items: flex-start; }
.lp-result-card { padding: 30px; text-align: center; }

/* Hover Effect */
.lp-card:hover, .lp-feature-card:hover, .lp-result-card:hover {
    transform: translateY(-5px);
    border-color: var(--gold-primary); 
}

.lp-card h3, .lp-feature-card h3 { color: var(--text-main); margin-top: 15px; font-size: 1.2rem; }
.lp-result-caption { color: var(--text-main); font-weight: 700; margin-top: 15px; }
.lp-result-sub { color: var(--text-body); font-size: 0.9rem; }

/* Ícones e Números */
.lp-icon-box { 
    width: 64px; height: 64px; 
    border: 1px solid var(--gold-primary); 
    border-radius: 50%; 
    display: flex; align-items: center; justify-content: center; 
    color: var(--gold-primary); 
    margin: 0 auto 20px; 
}

.lp-number { 
    width: 50px; height: 50px; 
    background: transparent;
    border: 1px solid var(--gold-primary); 
    color: var(--gold-primary); 
    display: flex; align-items: center; justify-content: center; 
    border-radius: 4px; 
    flex-shrink: 0; 
    font-weight: bold; font-size: 1.2rem;
}


/* --- 7. BIO, CALENDÁRIO E IMAGENS --- */
.lp-bio-wrapper { 
    display: flex; 
    gap: 80px; 
    align-items: center; 
    flex-wrap: wrap; 
    max-width: 1200px;
    margin: 0 auto;
}
.lp-bio-img { flex: 1 1 300px; }
.lp-bio-content { flex: 2 1 400px; }

.lp-calendar-box { 
    background: var(--bg-surface); 
    border-radius: 8px; 
    border: 1px solid var(--border-color); 
    min-height: 650px; 
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}

.lp-result-image-placeholder {
    width: 100%;
    aspect-ratio: 16/9;
    background-color: #000;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    display: flex; align-items: center; justify-content: center;
    color: var(--text-body);
    overflow: hidden;
}

/* --- 8. RESPONSIVIDADE (MOBILE) --- */
@media (max-width: 768px) {
    
    /* Regras de largura e padding para garantir que nada passe do limite da tela */
    .lp-wrapper { width: 100%; margin: 0; } 
    .lp-container { padding: 0 20px; } /* Garante 20px de espaço nas laterais */
    
    .lp-hero { min-height: auto; padding: 80px 20px; }
    
    .lp-feature-card { flex-direction: column; }
    .lp-bio-wrapper { gap: 40px; }
    
    .lp-title-hero { font-size: 2.5rem; } 
    
    /* AJUSTE PARA BOTÃO NO MOBILE */
    .lp-btn { 
        width: 100%; 
        /* Diminuição de 10% na fonte: 1rem (16px) -> 0.9rem (14.4px) */
        font-size: 0.9rem; 
        padding: 16px 20px; 
    } 
    
    /* AJUSTE PARA O GRID DE 2 COLUNAS EMPILHAR NO MOBILE */
    .lp-grid-2 {
        grid-template-columns: 1fr; /* Força uma única coluna para evitar transbordamento */
        gap: 20px;
    }
}

/* Seção para empilhamento intermediário (tablets) */
@media (max-width: 1100px) and (min-width: 769px) {
    .lp-grid-2 {
         /* Permite 2 colunas, mas com limite menor para tablets */
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: 30px;
    }
}/* End custom CSS */