/* 
 * Conversion Pages Plugin - CSS Isolation
 * 
 * Este arquivo garante que as páginas de conversão sejam completamente
 * isoladas do template do WordPress, mantendo as larguras e estilos corretos.
 */

/* ========================================
   ISOLAMENTO COMPLETO DAS PÁGINAS DE CONVERSÃO
   ======================================== */

/* Reset completo para páginas de conversão */
body .cpp-conversion-page {
    all: unset !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    z-index: 1 !important;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif !important;
    line-height: 1.6 !important;
    color: #333 !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

/* Isolamento de todos os elementos filhos */
body .cpp-conversion-page *,
body .cpp-conversion-page *::before,
body .cpp-conversion-page *::after {
    box-sizing: border-box !important;
    font-family: inherit !important;
}

/* ========================================
   CORREÇÃO DE ESPAÇAMENTO PARA HEADER/MENU
   ======================================== */

/* Quando não está logado - corrigir espaçamento do hero */
body:not(.logged-in) .cpp-conversion-page .cpp-hero {
    margin-top: 0 !important;
    padding-top: 120px !important; /* Espaçamento para header/menu */
    position: relative !important;
    z-index: 1 !important;
}

/* Quando está logado - manter espaçamento normal */
body.logged-in .cpp-conversion-page .cpp-hero {
    margin-top: 32px !important; /* Espaçamento da barra de admin */
    padding-top: 80px !important;
    position: relative !important;
    z-index: 1 !important;
}

/* Garantir que o hero sempre tenha espaço suficiente */
body .cpp-conversion-page .cpp-hero {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1 !important;
}

/* ========================================
   CORREÇÕES ESPECÍFICAS PARA HEADERS/MENUS
   ======================================== */

/* Corrigir para headers fixos/sticky */
body .cpp-conversion-page {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Garantir que o hero seja sempre o primeiro elemento visível */
body .cpp-conversion-page .cpp-hero {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Ajustar espaçamento baseado no tipo de header */
body:not(.logged-in) .cpp-conversion-page .cpp-hero {
    padding-top: 100px !important; /* Espaçamento padrão para header */
}

/* Para temas com headers muito altos */
body:not(.logged-in) .cpp-conversion-page .cpp-hero {
    padding-top: 150px !important; /* Espaçamento extra para headers altos */
}

/* Para temas com headers fixos */
body:not(.logged-in) .cpp-conversion-page .cpp-hero {
    padding-top: 120px !important; /* Espaçamento para headers fixos */
}

/* Garantir que o conteúdo do hero seja sempre visível */
body .cpp-conversion-page .cpp-hero-content {
    position: relative !important;
    z-index: 10 !important;
    background: transparent !important;
}

/* ========================================
   CONTAINER PRINCIPAL
   ======================================== */

/* Container principal com largura fixa */
body .cpp-conversion-page .cpp-container {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    position: relative !important;
    box-sizing: border-box !important;
}

/* ========================================
   SEÇÃO HERO
   ======================================== */

/* Hero Section com largura garantida */
body .cpp-conversion-page .cpp-hero {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: white !important;
    padding: 80px 0 !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    /* Garantir que o hero seja sempre visível */
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    z-index: 1 !important;
}

/* Container do hero para centralizar o conteúdo */
body .cpp-conversion-page .cpp-hero .cpp-container {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    position: relative !important;
    z-index: 2 !important;
}

body .cpp-conversion-page .cpp-hero-content {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 60px !important;
    align-items: center !important;
    max-width: 1000px !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 2 !important;
}

body .cpp-conversion-page .cpp-hero-text {
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .cpp-conversion-page .cpp-hero-text h1 {
    font-size: 3rem !important;
    font-weight: 700 !important;
    margin-bottom: 20px !important;
    line-height: 1.2 !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    color: white !important;
}

body .cpp-conversion-page .cpp-hero-text p {
    font-size: 1.2rem !important;
    opacity: 0.9 !important;
    margin-bottom: 30px !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    color: white !important;
}

/* ========================================
   FORMULÁRIO
   ======================================== */

/* Form Styles com largura garantida */
body .cpp-conversion-page .cpp-form {
    background: white !important;
    padding: 40px !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1) !important;
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .cpp-conversion-page .cpp-form h3 {
    color: #333 !important;
    margin-bottom: 25px !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .cpp-conversion-page .cpp-form-group {
    margin-bottom: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .cpp-conversion-page .cpp-form-group label {
    display: block !important;
    margin-bottom: 8px !important;
    font-weight: 500 !important;
    color: #555 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .cpp-conversion-page .cpp-form-group input,
body .cpp-conversion-page .cpp-form-group textarea,
body .cpp-conversion-page .cpp-form-group select {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 16px !important;
    border: 2px solid #e1e5e9 !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    background-color: white !important;
    color: #333 !important;
}

body .cpp-conversion-page .cpp-form-group input:focus,
body .cpp-conversion-page .cpp-form-group textarea:focus,
body .cpp-conversion-page .cpp-form-group select:focus {
    outline: none !important;
    border-color: #667eea !important;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1) !important;
}

/* Botão de envio */
body .cpp-conversion-page .cpp-submit-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    color: white !important;
    border: none !important;
    padding: 15px 30px !important;
    border-radius: 8px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .cpp-conversion-page .cpp-submit-btn:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3) !important;
}

/* ========================================
   SEÇÃO DE CONTEÚDO
   ======================================== */

/* Content Section */
body .cpp-conversion-page .cpp-content-section {
    padding: 80px 0 !important;
    background: #f8f9fa !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
}

body .cpp-conversion-page .cpp-content-wrapper {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    gap: 60px !important;
    align-items: start !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 20px !important;
    box-sizing: border-box !important;
}

body .cpp-conversion-page .cpp-main-content {
    background: white !important;
    padding: 40px !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .cpp-conversion-page .cpp-main-content h2 {
    color: #333 !important;
    font-size: 2rem !important;
    margin-bottom: 20px !important;
    font-weight: 600 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .cpp-conversion-page .cpp-main-content h3 {
    color: #555 !important;
    font-size: 1.5rem !important;
    margin-bottom: 15px !important;
    font-weight: 600 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body .cpp-conversion-page .cpp-main-content p {
    margin-bottom: 15px !important;
    color: #666 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* ========================================
   SIDEBAR
   ======================================== */

/* Sidebar */
body .cpp-conversion-page .cpp-sidebar {
    background: white !important;
    padding: 30px !important;
    border-radius: 12px !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08) !important;
    position: sticky !important;
    top: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body .cpp-conversion-page .cpp-sidebar h3 {
    color: #333 !important;
    font-size: 1.3rem !important;
    margin-bottom: 20px !important;
    font-weight: 600 !important;
    border-bottom: 2px solid #667eea !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 10px !important;
}

/* ========================================
   RESPONSIVIDADE
   ======================================== */

/* Responsividade para tablets */
@media (max-width: 768px) {
    body .cpp-conversion-page .cpp-hero-content {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        padding: 0 15px !important;
    }
    
    body .cpp-conversion-page .cpp-content-wrapper {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        padding: 0 15px !important;
    }
    
    body .cpp-conversion-page .cpp-container {
        padding: 0 15px !important;
    }
    
    body .cpp-conversion-page .cpp-hero-text h1 {
        font-size: 2.5rem !important;
    }
    
    /* Ajustar espaçamento para tablets */
    body:not(.logged-in) .cpp-conversion-page .cpp-hero {
        padding-top: 80px !important;
    }
    
    body.logged-in .cpp-conversion-page .cpp-hero {
        padding-top: 60px !important;
    }
}

/* Responsividade para mobile */
@media (max-width: 480px) {
    body .cpp-conversion-page .cpp-hero {
        padding: 60px 0 !important;
        min-height: auto !important;
    }
    
    body .cpp-conversion-page .cpp-hero-text h1 {
        font-size: 2rem !important;
    }
    
    body .cpp-conversion-page .cpp-form {
        padding: 30px 20px !important;
    }
    
    body .cpp-conversion-page .cpp-main-content {
        padding: 30px 20px !important;
    }
    
    body .cpp-conversion-page .cpp-sidebar {
        padding: 20px !important;
    }
    
    /* Ajustar espaçamento para mobile */
    body:not(.logged-in) .cpp-conversion-page .cpp-hero {
        padding-top: 60px !important;
    }
    
    body.logged-in .cpp-conversion-page .cpp-hero {
        padding-top: 40px !important;
    }
}

/* ========================================
   CORREÇÕES ESPECÍFICAS PARA TEMAS POPULARES
   ======================================== */

/* Para temas com header muito alto (como Astra, GeneratePress, etc.) */
body:not(.logged-in) .cpp-conversion-page .cpp-hero {
    padding-top: 180px !important;
}

/* Para temas com header fixo e alto */
body:not(.logged-in) .cpp-conversion-page .cpp-hero {
    padding-top: 200px !important;
}

/* Garantir que o hero seja sempre visível independente do tema */
body .cpp-conversion-page .cpp-hero {
    position: relative !important;
    z-index: 999 !important;
    background-attachment: scroll !important;
}
