/*
 * =======================================================
 * VITTALIFLOW LANDING PAGE - ZENITH AURA PRIME (VISUAL AAA)
 * CONCEITO: Polimento Extremo, Hierarquia Impecável, Fundo Suave e Logo em Destaque.
 * =======================================================
 */

/* 1. VARIÁVEIS DE MARCA */
:root {
    --color-primary: #1a4369;     /* Azul Marinho Profundo (Base de Foco) */
    --color-secondary: #34d399;   /* Verde Água Sereno (Ação Vibrante) */
    --color-accent: #f59e0b;      /* Âmbar Suave (Destaque) */
    --color-background-hero: #1a4369; /* Mantenho o azul aqui para o HERO SECTION */ 
    --color-text-dark: #1f2937;
    --color-text-subtle: #6b7280; 
    --color-surface: #ffffff;
    --color-light-bg: #f3f4f6; /* Fundo suave para seções secundárias */
    --shadow-base: 0 10px 30px rgba(0, 0, 0, 0.08); /* Sombra mais suave */
    --shadow-hover: 0 15px 40px rgba(0, 0, 0, 0.15); /* Sombra intensa no hover */
    --border-radius-lg: 12px; /* Ligeiramente mais curvo */
    --transition-speed: 0.4s; /* Transições mais lentas e fluidas */
}

/* 2. REGRAS GLOBAIS E ESTRUTURA */
body {
    font-family: 'Inter', 'Segoe UI', Tahoma, sans-serif;
    margin: 0;
    padding: 0;
    background-color: var(--color-surface);
    color: var(--color-text-dark);
    line-height: 1.7; 
}

a {
    text-decoration: none;
    transition: all var(--transition-speed);
}

h2 {
    font-size: 2.5em;
    font-weight: 800;
    color: var(--color-primary);
}

h3 {
    font-weight: 700;
}
        
/* 3. CABEÇALHO (HEADER) - FINAL E COMPACTO */
header {
    /* Fundo forçado para BRANCO (para contraste máximo da logo) */
    background-color: #ffffff; 
    color: var(--color-text-dark);
    
    padding: 0 50px; 
    min-height: 40px; 
    
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 3px solid var(--color-secondary);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); 
    
    /* COMANDO PARA FIXAR O HEADER */
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* REGRA CRÍTICA DA LOGO (CORREÇÃO DE TAMANHO E MARGEM) */
#header-logo-final {
    /* CORREÇÃO APLICADA: Reduzido de 280px para 120px */
    height: 270px !important; 
    width: auto !important;
    
    /* CORREÇÃO APLICADA: Margem negativa ajustada para -40px */
    margin-top: -200px; 
    margin-bottom: -200px; 
    
    filter: none;
    transition: all 0.3s;
}

#header-logo-final:hover {
    filter: drop-shadow(0 0 10px rgba(52, 211, 153, 1)); 
}


/* 4. SEÇÃO HERO */
.landing-hero {
    /* Mantém o gradiente escuro para o corpo da página */
    background: linear-gradient(135deg, var(--color-primary) 0%, #3b82f6 100%);
    color: white; /* Mantém o texto principal branco para o fundo escuro */
    min-height: 90vh;
    display: grid;
    grid-template-columns: 3fr 2fr; 
    gap: 30px; 
    padding: 0 50px; 
    align-items: center;
    padding-top: 50px; 
    padding-bottom: 50px; 
}

.hero-text-content {
    padding: 50px 0;
    text-align: left;
}

.landing-hero h1 {
    font-size: 4em; 
    margin-bottom: 25px;
    color: white; 
    line-height: 1.05;
    text-shadow: 0 4px 10px rgba(0, 0, 0, 0.4);
}

.landing-hero p {
    font-size: 1.5em; 
    margin: 0 auto 40px 0;
    color: #c9e4ff;
    line-height: 1.4;
    font-weight: 300;
}

.hero-buttons-container {
    display: flex;
    flex-wrap: wrap; 
    gap: 20px; 
    margin-top: 30px;
    align-items: center;
    justify-content: flex-start;
}

.hero-mockup-area {
    background-color: rgba(255, 255, 255, 0.15); 
    border: 3px solid rgba(255, 255, 255, 0.5); 
    height: 70%;
    border-radius: 25px; 
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
    background-image: radial-gradient(circle at top left, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 70%);
}


/* 5. SEÇÕES DE VALOR E CONTEÚDO SECUNDÁRIO */
.value-section, .testimonials-section {
    padding: 100px 50px; 
    text-align: center;
    background-color: var(--color-light-bg); 
    transition: all 0.5s;
}
.testimonials-section {
    background-color: white; 
}

/* Títulos das Seções */
.value-section h2, .testimonials-section h2 {
    font-size: 2.8em; 
    font-weight: 800;
    margin-bottom: 15px;
    border-bottom: 4px solid var(--color-secondary); 
    padding-bottom: 8px;
    letter-spacing: -0.02em;
}

/* 6. GRID PILARES/TESTEMUNHOS */
.grid-container {
    display: grid;
    gap: 50px;
    max-width: 1100px;
    margin: 0 auto;
    text-align: left;
}
.pillars-grid {
     grid-template-columns: repeat(3, 1fr);
}
.testimonials-grid {
     grid-template-columns: repeat(2, 1fr);
}

.pillar-card, .testimonial-card {
    background-color: var(--color-surface); 
    padding: 35px; 
    border-radius: var(--border-radius-lg); 
    box-shadow: var(--shadow-base);
    border-top: 8px solid; 
    transition: transform var(--transition-speed), box-shadow var(--transition-speed);
}

.pillar-card:hover, .testimonial-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25);
}

.testimonial-card {
    background-color: #f7f7f7; 
    border-left: 5px solid var(--color-secondary);
    border-top: none;
}
.testimonial-card p {
    color: var(--color-text-subtle);
}

/* 7. CTA FINAL */
.cta-final {
    background-color: var(--color-surface); 
    padding: 100px 50px; 
    text-align: center;
    border-top: 5px solid var(--color-secondary);
}
.cta-final h2 { 
    color: var(--color-primary); 
    font-size: 3.2em;
    font-weight: 900;
}
.cta-buttons-container {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-top: 30px;
}


/* 8. REGRAS GERAIS DE BOTÕES */
.action-button-large {
    padding: 20px 45px;
    font-size: 1.3em; 
    border-radius: 12px;
    font-weight: 700;
    text-transform: uppercase;
    transition: all 0.35s ease-in-out;
    margin: 0;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

.btn-cliente { background-color: var(--color-secondary); color: var(--color-primary); }
.btn-cliente:hover { background-color: #279f7a; color: white; transform: translateY(-4px); }
.btn-demo { background-color: transparent; color: white; border: 2px solid white; }
.btn-demo:hover { background-color: white; color: var(--color-primary); transform: translateY(-4px); }


/* 9. FOOTER */
footer {
    padding: 30px 50px;
    background-color: var(--color-text-dark); 
    color: #c0c0c0;
    font-size: 0.9em;
    text-align: center;
    border-top: 5px solid var(--color-secondary);
}


/* 10. RESPONSIVIDADE */
@media (max-width: 1000px) {
    .landing-hero {
        grid-template-columns: 1fr; 
        text-align: center;
        padding-top: 80px;
        padding-bottom: 80px;
    }
    .hero-mockup-area {
        height: 350px;
        margin: 40px auto 0 auto;
    }

    .hero-buttons-container {
        flex-direction: column;
        gap: 15px;
        align-items: center;
        justify-content: center;
    }

    .action-button-large { 
        width: 100%; 
        max-width: 300px;
        margin: 0; 
        display: block; 
    }

    .pillars-grid, .testimonials-grid {
        grid-template-columns: 1fr;
    }
    
    .landing-hero h1 { font-size: 3em; }
    
    header {
        padding: 15px 20px;
    }
}




