/*Fuente tipográfica*/ 
@import url("/Pagina_web/Fuentes/Fuentes_texto_Montserrat.css?v=3");

/*Íconos*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css");



/*Estilos pie de página y navbar*/
@import url("/Pagina_web/Componentes/Encabezado_y_barra_de_navegacion/Estilos/encabezado_barra_navegacion.css?v=3");
@import url("/Pagina_web/Componentes/Pie_de_pagina/Estilos/pie_de_pagina.css?v=3");

/*Asistente virtual (burbuja de chat)*/
@import url("/Pagina_web/Asistente/asistente.css?v=3");

/*Colores en general*/
:root {
    --azul-institucional: #055495;
    --blanco: #ffffff;
}

/*Efectp sticky del menú de navegación*/
#contenedor-navbar {
    position: sticky;
    top: 0;
    z-index: 1000;
}

/*Esto para separar seccion es de la página*/
.separador {
    width: 100%;
    height: 0.3125rem;      
    background-color: #d9d9d9;
}


/*Estilo para los títulos*/
.contenedor-titulo{
    width: 100%;
    height: auto;
    background-color: var(--azul-institucional);
    display: flex;
    justify-content: center;
    align-items: center;

}

.titulo_secciones{
    font-size: 3rem;
    font-family: Montserrat-Bold;
    color: var(--blanco);
    padding: 1rem;
    margin:0;
}  


/*Animación de carga*/

/* ===== ANIMACIÓN DE APARICIÓN (al cargar y al hacer scroll) ===== */

/* Estado inicial: invisible y un poco más arriba de su lugar */
.animar {
    opacity: 0;
    transform: translateY(-2rem);                     /* arranca 2rem por encima */
    transition: opacity 0.7s ease, transform 0.7s ease;
}

/* Estado final: JavaScript agrega "visible" cuando el elemento entra en pantalla */
.animar.visible {
    opacity: 1;
    transform: translateY(0);                         /* baja a su lugar */
}

/* Accesibilidad: si el usuario pidió menos movimiento, no animamos */
@media (prefers-reduced-motion: reduce) {
    .animar {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 768px) {

    .titulo_secciones {
        font-size: 2rem;
        padding: 1rem;
        text-align: center;
    }

    .separador {
        height: 0.3rem;
    }
}