/* css/banner.css====================================================================== */
/* 0. RESET Y AJUSTES BASE (Mínimos necesarios) */
/* ====================================================================== */


/* ====================================================================== */
/* 1. SECCIÓN PRINCIPAL HERO BANNER (.na-main-hero) */
/* ====================================================================== */

.na-main-hero {
    width: 100%;
    
    /* Degradado Moderno con el color #51affc */
    background: linear-gradient(
        135deg, 
        #005A9C 0%,      /* Azul oscuro de confianza */
        #51affc 50%,     /* Nuevo color principal (Azul Claro) */
        #2A9D8F 100%     /* Turquesa como acento */
    );
    
    /* Centrado perfecto: Se aplica a todas las vistas, incluyendo móvil */
    display: flex;
    align-items: center;    /* Centrado vertical */
    justify-content: center; /* Centrado horizontal */
    box-sizing: border-box; 
    padding: 4rem 1.33px;
    
    transition: height 0.5s ease-out, padding 0.5s ease; 
}

/* --- Condición de Altura: HOME / PÁGINA PRINCIPAL (100vh) --- */
#banner-section {
    height: 100vh; /* Alto completo para la página principal */
}

/* --- Condición de Altura: PÁGINAS SECUNDARIAS (50vh) --- */
body.secondary-page #banner-section {
    height: 50vh; /* Mitad de altura para páginas secundarias */
    padding: 2.67rem 1.33rem; 
}

/* --- Contenido Central (Texto y Botones) --- */
.na-hero-content {
    color: #ffffff; 
    text-align: center;
    
    /* Efecto de aparición suave */
    transform: translateY(-10px); 
    opacity: 0;
    animation: naFadeInSlide 1s forwards; 
    animation-delay: 0.2s;
    padding: 1rem;
}

.na-hero-title {
    font-size: 3.8em;
    margin-bottom: 0.2em;
    font-weight: 800;
    letter-spacing: 1.5px;
    line-height: 1.2;
}

.na-hero-subtitle {
    font-size: 1.8em;
    margin-bottom: 2em;
    font-weight: 300;
    opacity: 0.9;
}

/* --- Grupo de Botones CTA --- */
.na-hero-cta-group {
    display: flex;
    justify-content: center;
    gap: 20px; 
    margin-top: 30px;
}

.na-hero-cta {
    display: inline-block;
    padding: 16px 40px;
    text-decoration: none;
    font-size: 1.2em;
    font-weight: 700;
    border-radius: 50px; 
    transition: all 0.3s ease;
    text-transform: uppercase;
}

/* Estilo para el botón Principal (Directorio) */
.na-cta-primary {
    background-color: #F4D35E; /* Amarillo/Dorado de Acento */
    color: #005A9C; 
    border: 2px solid #F4D35E;
}

.na-cta-primary:hover {
    background-color: transparent;
    color: #F4D35E; 
    transform: scale(1.05);
    box-shadow: 0 0 15px rgba(244, 211, 94, 0.7);
}

/* Estilo para el botón Secundario (Línea de Ayuda) */
.na-cta-secondary {
    background-color: transparent;
    color: #ffffff; 
    border: 2px solid #ffffff; 
}

.na-cta-secondary:hover {
    background-color: #ffffff;
    color: #51affc; /* Nuevo color principal en hover */
    transform: scale(1.05);
}

/* --- Ajustes de Contenido en Páginas Secundarias (Adaptación de tamaño) --- */
body.secondary-page .na-hero-content {
    opacity: 1;
    transform: none;
    animation: none;
}
body.secondary-page .na-hero-title {
    font-size: 2.5em; 
    margin-bottom: 0.1em;
}
body.secondary-page .na-hero-subtitle {
    font-size: 1.2em;
    margin-bottom: 1em;
}
body.secondary-page .na-hero-cta-group {
    gap: 10px;
}
body.secondary-page .na-hero-cta {
    padding: 12px 30px;
    font-size: 1em;
}

/* ====================================================================== */
/* 2. ANIMACIÓN Y RESPONSIVIDAD (MEDIA QUERIES) */
/* ====================================================================== */

@keyframes naFadeInSlide {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 992px) {
    .na-hero-title { font-size: 3em; }
    .na-hero-subtitle { font-size: 1.5em; }
    .na-hero-cta { font-size: 1.1em; padding: 14px 30px; }
}

@media (max-width: 768px) {
    /* Banner móvil: No necesitamos cambiar align-items a flex-start, 
       ya que 'align-items: center' de la regla principal lo centra verticalmente. */
    
    .na-main-hero {
        /* Mantenemos 'align-items: center' y 'justify-content: center' */
        padding-top: 40px; /* Reducimos el padding general para móviles si es necesario */
        padding-bottom: 40px;
    }

    .na-hero-title { font-size: 2.2em; margin-bottom: 0.5em; }
    .na-hero-subtitle { font-size: 1.2em; margin-bottom: 1.5em; }
    .na-hero-cta-group {
        flex-direction: column; /* Apila los botones */
        gap: 15px;
        width: 100%;
        padding: 0 10%; /* Añadimos padding para que no toquen los bordes si se apilan */
        box-sizing: border-box;
    }
    .na-hero-cta {
        width: 100%; 
        box-sizing: border-box;
    }
}