/* css/layout.css */

/* HEADER FIJO */
.site-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 5%;
    height: var(--header-height);
    
    /* Le damos estructura permanente */
    background-color: #ffffff; 
    border-bottom: 1px solid rgba(0, 0, 0, 0.05); /* Línea divisoria muy sutil */
    box-shadow: none; /* Sin sombra inicial */
    
    position: sticky;
    top: 0;
    z-index: 1000;
    transition: box-shadow 0.3s ease; 
}

/* Solo añadimos la sombra al hacer scroll, el color ya está fijo */
.site-header.scrolled {
    box-shadow: var(--box-shadow);
    border-bottom: 1px solid transparent; /* Ocultamos la línea al aparecer la sombra */
}

.header-left {
    display: flex;
    align-items: center;
    gap: 3rem; /* Controla la separación exacta entre el logo y el menú */
}

/* HERO SECTION CON CSS GRID */
.hero-section {
    min-height: calc(100vh - 80px); /* Ocupa exactamente toda tu pantalla principal */
    display: grid;
    place-items: center; /* MAGIA: Centra el contenido vertical y horizontalmente al instante */
    padding: var(--spacing-lg) 5%;
}

.hero-content {
    max-width: 800px;
    text-align: center;
}

/* css/layout.css (Añadir al final del archivo) */

/* Contenedor centralizado para secciones */
.container {
    max-width: var(--grid-max-width);
    margin: 0 auto;
    padding: var(--spacing-lg) 5%;
}

/* LA MAGIA FLUIDA DE CSS GRID */
.benefits-grid {
    display: grid;
    /* Esto le dice al navegador: Crea columnas de mínimo 300px. 
    Si sobra espacio, repártelo equitativamente (1fr). 
    Si no caben 300px, mándalo a la fila de abajo automáticamente. */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
    margin-top: var(--spacing-lg);
}

/* Form Layout */
.form-section {
    background-color: var(--color-secondary);
}

.form-container {
    max-width: 600px; /* Un formulario muy ancho genera fatiga visual */
}

/* =========================================
[RESPONSIVE DESIGN - MVP MÓVIL]
========================================= */

/* Única Media Query requerida para proteger el Header en móviles */
@media (max-width: 768px) {
    .site-header {
        /* flex-direction: column; */
        height: auto;
        padding: 1rem 5%;
        gap: 1rem;
    }
    
    .header-left {
        flex-direction: column;
        gap: 1rem;
    }
    
    /* Ocultamos la navegación secundaria en móviles para el MVP, 
    enfocando la atención 100% en el botón de contacto */
    .main-nav {
        display: none; 
    }
}