/* 1. RESET BÃ�SICO (Para quitar mÃ¡rgenes por defecto) */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

/* 2. ESTILOS DE LA BARRA SUPERIOR */
.barra-superior {
    text-align: right;
    padding: 10px 40px;
    font-size: 12px;
    color: #666; /* Color gris del texto */
    border-bottom: 1px solid #ddd; /* La lÃ­nea delgada debajo del texto */
}

/* 3. ESTILOS DEL HEADER PRINCIPAL */
.header-principal {
    display: flex;
    justify-content: space-between; /* Separa el logo a la izquierda y el menÃº a la derecha */
    align-items: center;
    padding: 15px 40px;
    background-color: #ffffff;
    position: sticky; /* Hace que se pegue al hacer scroll */
    top: 0; /* Indica que se debe pegar justo en el tope de la pantalla */
    z-index: 1000; /* Asegura que el menÃº siempre estÃ© por encima de las fotos y otros elementos */
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Le da una sombra elegante para separarlo del contenido al bajar */
}

.logo img {
    height: 80px; /* Ajusta este valor dependiendo del tamaÃ±o de tu logo */
}

/* 4. ESTILOS DEL MENÃš DE NAVEGACIÃ“N */
.navegacion > ul {
    list-style: none; /* Quita los puntos de la lista */
    display: flex;
    align-items: center;
}

.navegacion > ul > li {
    margin-left: 5px;
}

.navegacion ul li a {
    text-decoration: none;
    color: #666;
    font-weight: 600;
    font-size: 13px;
    padding: 10px 15px;
    transition: all 0.3s ease;
}

/* 5. ESTILO DEL BOTÃ“N ACTIVO (Azul) */
.navegacion ul li a.activo {
    background-color: #1a5b9e; /* Color azul aproximado de tu imagen */
    color: white;
}

/* Efecto al pasar el mouse por los otros enlaces */
.navegacion ul li a:hover:not(.activo) {
    color: #1a5b9e;
}

/* 6. ESTILOS DEL SUBMENÃš DESPLEGABLE */
/* Preparamos al elemento padre para que el submenÃº se posicione en base a Ã©l */
.navegacion ul li.dropdown {
    position: relative;
}

/* Ocultamos el submenÃº y le damos diseÃ±o */
.submenu {
    list-style: none; /* Â¡Exacto! AquÃ­ quitamos los puntos del submenÃº */
    display: none; /* Oculto por defecto */
    position: absolute; /* Para que "flote" debajo del menÃº principal */
    top: 100%; /* Aparece justo debajo del texto "Nuestra Labor" */
    left: 0;
    background-color: #ffffff;
    box-shadow: 0px 4px 8px rgba(0,0,0,0.1); /* Sombra suave para que resalte */
    min-width: 230px; /* Ancho para que quepan los textos largos */
    z-index: 100; /* Asegura que se muestre por encima de otros elementos */
    padding: 10px 0;
}

/* Mostramos el submenÃº al pasar el mouse por el 'li' principal */
.navegacion ul li.dropdown:hover .submenu {
    display: flex;
    flex-direction: column;
}

/* Ajustamos los elementos dentro del submenÃº */
.submenu li {
    margin-left: 0; /* Quitamos el margen que le dimos al menÃº principal */
    width: 100%;
}

.submenu li a {
    display: block;
    padding: 10px 20px;
    font-weight: 500; /* Letra un poco menos gruesa */
    color: #666;
    text-transform: none; /* Para respetar las mayÃºsculas y minÃºsculas */
}

/* Color de fondo al pasar el mouse sobre las opciones del submenÃº */
.submenu li a:hover {
    background-color: #f5f5f5;
    color: #1a5b9e;
}

/* =========================================
   7. ESTILOS DEL CARRUSEL / HERO
   ========================================= */

.carrusel-hero {
    position: relative; /* Para poder posicionar las flechas y el botÃ³n de dona */
    width: 100%;
    min-height: 500px;
    background-color: #f7ddef; /* Color base rosado de tu imagen */
    /* Nota: Cuando tengas la imagen del fondo de cuadritos, quita la doble diagonal de abajo y pon el nombre de tu imagen */
    /* background-image: url('fondo-cuadricula.jpg'); */
    overflow: hidden;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 50px 20px;
}

/* El contenedor que agrupa todas las imÃ¡genes */
.contenedor-slides {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* DiseÃ±o base para CADA imagen (Slide) */
.slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0; /* Las ocultamos todas por defecto */
    transition: opacity 0.5s ease-in-out; /* Efecto de transiciÃ³n suave */
    z-index: 1;
}

/* Solo mostramos la que tenga la clase "activo" */
.slide.activo {
    opacity: 1;
    z-index: 2; /* Lo ponemos por encima de las ocultas */
}

/* Aseguramos que las flechas y botones estÃ©n por encima de las imÃ¡genes */
.flecha, .btn-dona, .contenido-hero {
    position: relative;
    z-index: 10;
}

/* Contenedor del texto y botÃ³n central */
.contenido-hero {
    text-align: center;
    max-width: 800px; /* Para que el texto de abajo no se alargue de mÃ¡s */
}

/* TÃ­tulo gigante (Escuela de Buentrato) */
.titulo-escuela {
    font-size: 60px; /* TamaÃ±o grande */
    color: #ff99cc; /* Color rosado del texto */
    text-shadow: 3px 3px 0 #000, -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; /* Efecto de borde negro */
    margin-bottom: 30px;
    letter-spacing: 2px;
}

/* BotÃ³n central morado */
.btn-info {
    display: inline-block;
    background-color: #8c68a6; /* Morado del botÃ³n */
    color: white;
    text-decoration: none;
    padding: 12px 30px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 4px;
    margin-bottom: 40px;
    transition: 0.3s;
}

.btn-info:hover {
    background-color: #724e8c;
}

/* Texto naranja del final */
.texto-hero {
    color: #d18a1a;
    font-weight: 800;
    font-size: 18px;
    line-height: 1.5;
}

/* Flechas moradas de los lados */
.flecha {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #8c68a6;
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%; /* Las hace circulares */
    font-size: 18px;
    cursor: pointer;
    box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

.flecha-izq { left: 20px; }
.flecha-der { right: 20px; }

/* BotÃ³n flotante turquesa de Â¡DONA! */
.btn-dona {
    position: absolute;
    bottom: 20px;
    right: 20px;
    background-color: #38b2a5; /* Turquesa */
    color: white;
    text-decoration: none;
    padding: 10px 25px;
    font-weight: bold;
    border-radius: 20px; /* Bordes redondeados */
    border: 2px solid white;
    box-shadow: 0 4px 6px rgba(0,0,0,0.2);
}

/* =========================================
   8. SECCIÃ“N CONÃ“CENOS
   ========================================= */

.seccion-conocenos {
    padding: 80px 20px; /* Mucho espacio arriba y abajo para que respire el diseÃ±o */
    background-color: #ffffff;
}

.contenedor-conocenos {
    max-width: 1100px; /* Ancho mÃ¡ximo para que no se estire demasiado en pantallas gigantes */
    margin: 0 auto; /* Esto centra todo el bloque */
    display: flex;
    align-items: center; /* Centra la imagen y el texto verticalmente */
    gap: 60px; /* Separa la imagen del texto de forma elegante */
}

/* --- Mitad de la Imagen --- */
.conocenos-imagen {
    flex: 1; /* Ocupa el 50% del espacio */
}

.conocenos-imagen img {
    width: 100%;
    height: auto;
    border-radius: 15px; /* AquÃ­ estÃ¡ el toque moderno: bordes redondeados */
    box-shadow: 0 10px 30px rgba(0,0,0,0.1); /* Sombra difuminada muy elegante */
    transition: transform 0.3s ease; /* Prepara la imagen para un efecto */
}

/* Efecto sutil al pasar el mouse por la imagen */
.conocenos-imagen img:hover {
    transform: translateY(-5px); /* Se levanta un poquito */
}

/* --- Mitad del Texto --- */
.conocenos-texto {
    flex: 1; /* Ocupa el otro 50% del espacio */
}

.conocenos-texto h2 {
    font-size: 38px;
    color: #222;
    margin-bottom: 20px;
    line-height: 1.2; /* Espaciado entre lÃ­neas del tÃ­tulo */
}

.conocenos-texto p {
    font-size: 16px;
    color: #555;
    line-height: 1.7; /* Hace el texto mucho mÃ¡s fÃ¡cil de leer */
    margin-bottom: 30px;
}

/* --- BotÃ³n Modernizado --- */
.btn-primario {
    display: inline-block;
    background-color: #1a5b9e; /* El azul GENDES */
    color: white;
    padding: 12px 32px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 8px; /* Bordes redondeados en el botÃ³n */
    box-shadow: 0 4px 10px rgba(26, 91, 158, 0.3); /* Sombra que combina con el botÃ³n */
    transition: all 0.3s ease;
}

.btn-primario:hover {
    background-color: #124375; /* Se oscurece al pasar el mouse */
    transform: translateY(-3px); /* Da la sensaciÃ³n de ser un botÃ³n real que se aprieta */
    box-shadow: 0 6px 15px rgba(26, 91, 158, 0.4);
}

/* --- RESPONSIVO (Para Celulares) --- */
@media (max-width: 768px) {
    .contenedor-conocenos {
        flex-direction: column; /* Pone los elementos uno debajo del otro */
        gap: 30px;
    }
    .conocenos-texto h2 {
        font-size: 28px; /* Achica un poco el tÃ­tulo en celular */
    }
}

/* =========================================
   9. SECCIÃ“N HOMBRES TRABAJANDO(SE)
   ========================================= */

.seccion-programa {
    padding: 80px 20px;
    background-color: #f9f9fc; /* Un gris muuuy suave para diferenciar secciones */
}

.contenedor-programa {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 50px;
}

/* --- Lado Izquierdo (Textos) --- */
.programa-encabezado {
    flex: 1; /* Ocupa un 35-40% del espacio */
}

.programa-encabezado h2 {
    font-size: 42px;
    color: #333;
    margin-bottom: 20px;
    line-height: 1.1;
}

.programa-encabezado p {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 30px;
}

.btn-secundario {
    display: inline-block;
    background-color: #8c68a6; /* Morado GENDES */
    color: white;
    padding: 12px 30px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.btn-secundario:hover {
    background-color: #724e8c;
    box-shadow: 0 4px 12px rgba(140, 104, 166, 0.4);
    transform: translateY(-2px);
}

/* --- Lado Derecho (Tarjetas con iconos) --- */
.programa-tarjetas {
    flex: 2; /* Ocupa mÃ¡s espacio que los textos */
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Crea 3 columnas exactas */
    gap: 20px; /* SeparaciÃ³n entre tarjetas */
}

.tarjeta {
    background-color: #ffffff;
    padding: 30px 20px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05); /* Sombra sÃºper suave */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Efecto al pasar el ratÃ³n por las tarjetas */
.tarjeta:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.1);
}

/* Estilos de los Iconos SVG */
.icono-contenedor {
    width: 60px;
    height: 60px;
    margin: 0 auto 20px auto;
    background-color: #f0e6f5; /* Fondo morado clarito para el icono */
    border-radius: 50%; /* Lo hace un cÃ­rculo perfecto */
    display: flex;
    justify-content: center;
    align-items: center;
}

.icono-contenedor svg {
    width: 30px;
    height: 30px;
    color: #8c68a6; /* Color de la lÃ­nea del icono */
}

.tarjeta h4 {
    font-size: 15px;
    color: #333;
    margin-bottom: 15px;
}

.tarjeta p {
    font-size: 14px;
    color: #666;
    margin-bottom: 10px;
    line-height: 1.5;
}

.tarjeta .texto-chico {
    font-size: 12px;
    color: #888;
}

/* --- RESPONSIVO (Para Celulares) --- */
@media (max-width: 900px) {
    .contenedor-programa {
        flex-direction: column; /* Apila el tÃ­tulo y las tarjetas */
        text-align: center;
    }
    .programa-tarjetas {
        grid-template-columns: 1fr; /* Pone las 3 tarjetas en una sola columna hacia abajo */
        width: 100%;
    }
}

/* =========================================
   10. SECCIÃ“N DONACIONES (Llamado a la acciÃ³n)
   ========================================= */

.seccion-donaciones {
    position: relative;
    width: 100%;
    /* AsegÃºrate de guardar la foto de los niÃ±os en tu carpeta 'img' con este nombre */
    background-image: url('img/foto-donaciones.jpg'); 
    background-size: cover;
    background-position: center;
    /* Â¡AquÃ­ estÃ¡ el truco Parallax! */
    background-attachment: fixed; 
}

/* El degradado sobre la imagen para que el texto blanco resalte */
.donaciones-overlay {
    /* Mezclamos teal y morado oscuro de tu marca al 90% de opacidad */
    background: linear-gradient(135deg, rgba(56, 178, 165, 0.9) 0%, rgba(114, 78, 140, 0.9) 100%);
    padding: 120px 20px; /* Mucho espacio para que se vea imponente */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.contenedor-donaciones {
    max-width: 850px;
    color: #ffffff;
}

.contenedor-donaciones h2 {
    font-size: 50px;
    margin-bottom: 25px;
    font-weight: 800;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3); /* Sombrilla para que no se pierda en fondos claros */
}

.contenedor-donaciones p {
    font-size: 22px;
    line-height: 1.6;
    margin-bottom: 45px;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

/* BotÃ³n de donaciÃ³n IMPACTANTE */
.btn-donar-grande {
    display: inline-block;
    background-color: #f5a623; /* Naranja/Dorado que llama a la acciÃ³n */
    color: #ffffff;
    font-size: 22px;
    font-weight: bold;
    text-decoration: none;
    padding: 18px 50px;
    border-radius: 50px; /* BotÃ³n en forma de pÃ­ldora (muy moderno) */
    box-shadow: 0 10px 25px rgba(245, 166, 35, 0.4); /* Resplandor naranja */
    transition: all 0.4s ease;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Preparamos el corazÃ³n para la animaciÃ³n */
.btn-donar-grande .corazon {
    margin-left: 10px;
    display: inline-block;
    transition: transform 0.3s ease, color 0.3s ease;
}

/* Efecto al pasar el ratÃ³n por el botÃ³n */
.btn-donar-grande:hover {
    background-color: #ffb84d; /* Se aclara un poco */
    transform: translateY(-5px) scale(1.05); /* Flota y crece ligeramente */
    box-shadow: 0 15px 35px rgba(245, 166, 35, 0.6);
}

/* El corazÃ³n "late" al pasar el ratÃ³n */
.btn-donar-grande:hover .corazon {
    transform: scale(1.4);
    color: #ff4d4d; /* Se pone rojo */
}

/* --- RESPONSIVO (Para Celulares) --- */
@media (max-width: 768px) {
    .donaciones-overlay {
        padding: 80px 20px; /* Reducimos el espacio en mÃ³vil */
        background-attachment: scroll; /* En celulares es mejor quitar el parallax por rendimiento */
    }
    .contenedor-donaciones h2 {
        font-size: 36px;
    }
    .contenedor-donaciones p {
        font-size: 18px;
    }
    .btn-donar-grande {
        font-size: 18px;
        padding: 15px 35px;
    }
}

/* =========================================
   11. SECCIÃ“N LÃ�NEA GENDES (CORREGIDA Y DOMADA)
   ========================================= */

.seccion-linea-ayuda {
    background-color: #0a0a0a; /* Casi negro puro */
    color: #ffffff;
    /* Â¡CAMBIO! Agregamos padding vertical para dar espacio y contener visualmente */
    padding: 80px 0;
}

.contenedor-linea {
    display: flex;
    align-items: center; /* Centra todo verticalmente */
    /* Â¡CAMBIO! Limitamos la altura del contenedor flexbox para contener la imagen */
    max-height: 600px; /* Prueba con un valor que te guste (p.ej., 500px o 600px) */
    /* Â¡CAMBIO! Limitamos el ancho para que sea cohesivo con el resto del sitio */
    max-width: 1200px;
    margin: 0 auto;
    /* Â¡NUEVO! Overflow hidden para asegurar que NADA se salga */
    overflow: hidden;
    /* Aseguramos que los flex items tengan base 0 para el flex-grow */
    width: 100%;
}

/* --- Mitad de la Imagen --- */
.linea-imagen {
    flex: 1; /* Ocupa el 50% */
    /* Aseguramos que este flex item ocupe toda la altura limitada */
    height: 100%;
}

.linea-imagen img {
    width: 100%;
    /* Â¡CAMBIO! height 100% ahora se refiere a la altura limitada del flex item */
    height: 100%;
    object-fit: cover; /* Â¡CLAVE! Recorta la imagen elegantemente para que quepa sin estirarse */
    display: block;
    /* Efecto Pro: Un gradiente que desvanece el borde derecho de la imagen hacia el negro */
    mask-image: linear-gradient(to right, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
    -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
}

/* --- Mitad del Texto --- */
.linea-texto {
    flex: 1; /* Ocupa el otro 50% */
    padding: 60px 50px; /* Ajustamos el padding */
    max-width: 700px;
    /* Aseguramos que este flex item ocupe toda la altura */
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Centrado vertical del texto */
}

/* (El resto de las reglas del texto y botÃ³n se mantienen igual) */
.linea-texto h2 {
    font-size: 40px;
    margin-bottom: 25px;
    color: #ffffff;
    letter-spacing: 1px;
}

.linea-texto p {
    font-size: 18px;
    line-height: 1.7;
    margin-bottom: 20px;
    color: #d1d1d1; /* Gris claro para que la lectura descanse */
}

.linea-texto p strong {
    color: #ffffff;
}

.destacado-blanco {
    color: #ffffff !important;
    font-weight: 500;
    margin-bottom: 40px !important; /* MÃ¡s espacio antes del botÃ³n */
}

/* --- BotÃ³n Naranja con Pulso --- */
.btn-llamar {
    display: inline-flex;
    align-items: center;
    background-color: #ff8c00; /* Naranja de alerta/ayuda */
    color: #ffffff;
    font-size: 22px;
    font-weight: 800;
    text-decoration: none;
    padding: 16px 35px;
    border-radius: 6px;
    transition: all 0.3s ease;
    /* Llamamos a nuestra animaciÃ³n creada abajo */
    animation: latido 2s infinite; 
}

.btn-llamar .icono-tel {
    width: 24px;
    height: 24px;
    margin-right: 12px; /* Separa el icono del nÃºmero */
}

.btn-llamar:hover {
    background-color: #ffa533; /* Naranja mÃ¡s clarito al pasar el mouse */
    animation: none; /* Detenemos el latido para que el usuario pueda hacer clic en paz */
    transform: scale(1.05); /* Lo agrandamos un poquito */
    box-shadow: 0 0 20px rgba(255, 140, 0, 0.6);
}

/* AnimaciÃ³n personalizada para que el botÃ³n "lata" */
@keyframes latido {
    0% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 140, 0, 0.7); }
    70% { transform: scale(1.03); box-shadow: 0 0 0 15px rgba(255, 140, 0, 0); }
    100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 140, 0, 0); }
}

/* --- RESPONSIVO (Para Celulares) --- */
@media (max-width: 900px) {
    .contenedor-linea {
        flex-direction: column; /* Apila la imagen arriba y el texto abajo */
        max-height: none; /* Quitamos el lÃ­mite de altura en mÃ³vil */
        height: auto;
    }
    .seccion-linea-ayuda {
        padding: 80px 20px;
    }
    .linea-imagen img {
        /* Cambiamos el desvanecido hacia abajo en celulares */
        mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
        -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
        height: 300px; /* Altura fija razonable para la imagen en mÃ³vil */
    }
    .linea-texto {
        padding: 30px 20px;
        text-align: center;
    }
}

/* =========================================
   12. SECCIÃ“N NUESTRAS PUBLICACIONES
   ========================================= */

.seccion-publicaciones {
    padding: 100px 20px;
    background-color: #ffffff;
}

.contenedor-publicaciones {
    max-width: 1200px;
    margin: 0 auto;
}

/* --- Cabecera --- */
.cabecera-publicaciones {
    text-align: center;
    margin-bottom: 60px;
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

.cabecera-publicaciones h2 {
    font-size: 42px;
    color: #1a5b9e; /* Azul GENDES */
    margin-bottom: 20px;
}

.cabecera-publicaciones p {
    font-size: 18px;
    color: #555;
    line-height: 1.6;
}

/* --- CuadrÃ­cula de Publicaciones --- */
.grid-publicaciones {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 columnas iguales */
    gap: 40px; /* SeparaciÃ³n amplia y elegante */
    margin-bottom: 60px;
}

/* --- Tarjeta Individual --- */
.tarjeta-pub {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden; /* Clave para que la imagen no se salga al hacer zoom */
    box-shadow: 0 10px 30px rgba(0,0,0,0.08); /* Sombra difuminada */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    flex-direction: column;
}

.tarjeta-pub:hover {
    transform: translateY(-10px); /* Flota hacia arriba */
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
}

/* Contenedor de la foto de portada */
.imagen-pub {
    position: relative;
    width: 100%;
    height: 260px; /* Altura de la portada */
    overflow: hidden;
}

.imagen-pub img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease; /* TransiciÃ³n suave para el zoom */
}

/* Efecto mÃ¡gico de zoom en la foto al pasar el ratÃ³n por la tarjeta */
.tarjeta-pub:hover .imagen-pub img {
    transform: scale(1.08); /* Crece un 8% */
}

/* Etiqueta flotante (Ej. "Manual", "InvestigaciÃ³n") */
.etiqueta-pub {
    position: absolute;
    top: 15px;
    left: 15px;
    background-color: #8c68a6; /* Morado GENDES */
    color: white;
    font-size: 12px;
    font-weight: bold;
    padding: 6px 14px;
    border-radius: 20px;
    text-transform: uppercase;
    letter-spacing: 1px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* Textos de la tarjeta */
.contenido-pub {
    padding: 30px 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Hace que el contenido ocupe el resto del espacio y empuje el enlace abajo */
}

.contenido-pub h3 {
    font-size: 22px;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.3;
}

.contenido-pub p {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 25px;
    flex-grow: 1;
}

/* Enlace "Leer documento" */
.enlace-leer {
    display: inline-flex;
    align-items: center;
    font-size: 16px;
    font-weight: bold;
    color: #1a5b9e;
    text-decoration: none;
    transition: color 0.3s ease;
}

.enlace-leer .flechita {
    margin-left: 8px;
    transition: transform 0.3s ease; /* TransiciÃ³n para mover la flecha */
}

.tarjeta-pub:hover .enlace-leer {
    color: #d18a1a; /* Cambia a dorado/naranja al pasar el ratÃ³n */
}

.tarjeta-pub:hover .enlace-leer .flechita {
    transform: translateX(8px); /* La flecha se mueve a la derecha como invitando a entrar */
}

/* --- BotÃ³n Central --- */
.boton-contenedor-centro {
    text-align: center;
}

.btn-ver-todas {
    display: inline-block;
    background-color: transparent;
    color: #1a5b9e;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    padding: 15px 40px;
    border: 2px solid #1a5b9e; /* BotÃ³n estilo "Outline" */
    border-radius: 50px;
    transition: all 0.3s ease;
}

.btn-ver-todas:hover {
    background-color: #1a5b9e;
    color: #ffffff;
    box-shadow: 0 10px 20px rgba(26, 91, 158, 0.2);
    transform: translateY(-3px);
}

/* --- RESPONSIVO (Para Celulares y Tablets) --- */
@media (max-width: 900px) {
    .grid-publicaciones {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas en tablet */
    }
}

@media (max-width: 600px) {
    .grid-publicaciones {
        grid-template-columns: 1fr; /* 1 sola columna en celulares */
    }
    .cabecera-publicaciones h2 {
        font-size: 32px;
    }
}

/* =========================================
   13. FOOTER PRINCIPAL
   ========================================= */

.footer-principal {
    background-color: #1b1425; /* Fondo oscuro y elegante */
    color: #e0dced; /* Texto gris/morado clarito */
    padding-top: 80px;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.contenedor-footer {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1fr 1fr 1.5fr 1fr; /* 4 columnas (el boletÃ­n es un poco mÃ¡s ancho) */
    gap: 40px;
    margin-bottom: 60px;
}

.footer-columna h4 {
    color: #ffffff;
    font-size: 18px;
    margin-bottom: 25px;
    position: relative;
    padding-bottom: 10px;
}

/* PequeÃ±a lÃ­nea decorativa debajo de los tÃ­tulos */
.footer-columna h4::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background-color: #ff8c00; /* Toque naranja */
    border-radius: 2px;
}

/* --- MenÃºs de Enlaces --- */
.footer-menu {
    list-style: none;
    padding: 0;
}

.footer-menu li {
    margin-bottom: 12px;
}

.footer-menu a {
    color: #b8b1c9;
    text-decoration: none;
    font-size: 15px;
    transition: all 0.3s ease;
    display: inline-block;
}

/* Efecto al pasar el mouse por los enlaces */
.footer-menu a:hover {
    color: #ff8c00;
    transform: translateX(5px); /* Se mueve un poquito a la derecha */
}

/* --- BoletÃ­n --- */
.columna-boletin p {
    font-size: 14px;
    margin-bottom: 20px;
    color: #b8b1c9;
}

.formulario-boletin {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.formulario-boletin input {
    padding: 12px 15px;
    border: none;
    border-radius: 6px;
    background-color: rgba(255, 255, 255, 0.1); /* Fondo semitransparente */
    color: #ffffff;
    font-size: 15px;
    outline: none;
    transition: background-color 0.3s ease;
}

.formulario-boletin input::placeholder {
    color: #8c82a6;
}

.formulario-boletin input:focus {
    background-color: rgba(255, 255, 255, 0.2);
}

.formulario-boletin button {
    background-color: #8c68a6; /* Morado claro GENDES */
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.formulario-boletin button:hover {
    background-color: #a482bd;
    transform: translateY(-2px);
}

/* --- Redes Sociales y Logos --- */
.iconos-redes {
    display: flex;
    gap: 15px;
    margin-bottom: 30px;
}

.iconos-redes a {
    color: #b8b1c9;
    transition: all 0.3s ease;
}

.iconos-redes a svg {
    width: 24px;
    height: 24px;
}

.iconos-redes a:hover {
    color: #ffffff;
    transform: scale(1.15); /* Crecen al pasar el ratÃ³n */
}

.logo-footer img {
    max-width: 150px;
    filter: brightness(0) invert(1); /* Truco Pro: Vuelve blanco el logo de Cemefi si es negro */
    opacity: 0.8;
}

/* --- Barra de CrÃ©ditos Inferior --- */
.footer-creditos {
    background-color: #120d1a; /* Un tono aÃºn mÃ¡s oscuro para el fondo final */
    padding: 20px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.creditos-contenido {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    justify-content: space-between; /* Separa los textos a los extremos */
    align-items: center;
    font-size: 14px;
    color: #8c82a6;
}

.firma-dev {
    color: #ff8c00;
    font-weight: bold;
    letter-spacing: 0.5px;
}

/* --- RESPONSIVO (Para Celulares y Tablets) --- */
@media (max-width: 900px) {
    .contenedor-footer {
        grid-template-columns: repeat(2, 1fr); /* 2 columnas en tablet */
    }
}

@media (max-width: 600px) {
    .contenedor-footer {
        grid-template-columns: 1fr; /* 1 columna en celulares */
        gap: 30px;
    }
    .creditos-contenido {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }
}

/* =========================================
   14. PÃ�GINA INTERNA: CONÃ“CENOS (MisiÃ³n y VisiÃ³n)
   ========================================= */

/* Damos un espacio extra para que el menÃº no tape el contenido */
.pagina-interna {
    padding-top: 40px; 
    background-color: #fcfbfe; /* Un fondo con un toque micro-morado muy elegante */
}

.seccion-mision-vision {
    padding: 60px 20px 100px 20px;
}

.contenedor-mv {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 70px; /* Gran separaciÃ³n para que respire el diseÃ±o */
}

/* --- Lado Izquierdo: Textos --- */
.mv-textos {
    flex: 1.2; /* Toma un poquito mÃ¡s de la mitad del espacio */
}

.titulo-mv {
    font-size: 45px;
    color: #222;
    margin-bottom: 40px;
    line-height: 1.2;
}

.titulo-mv .resalte-azul {
    color: #1a5b9e; /* Destacamos una parte del tÃ­tulo */
}

/* Las Tarjetas de MisiÃ³n y VisiÃ³n */
.tarjeta-mv {
    display: flex;
    background-color: #ffffff;
    padding: 30px;
    border-radius: 15px;
    margin-bottom: 25px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.06);
    transition: transform 0.3s ease;
    border-left: 5px solid #8c68a6; /* Una lÃ­nea lateral morada muy corporativa */
}

.tarjeta-mv:hover {
    transform: translateX(10px); /* Se mueve ligeramente a la derecha al pasar el ratÃ³n */
}

.tarjeta-mv:last-child {
    border-left-color: #ff8c00; /* La tarjeta de visiÃ³n le ponemos lÃ­nea naranja para diferenciar */
}

/* Iconos de las tarjetas */
.icono-mv {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
    background-color: #f4eff7;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 25px;
    color: #8c68a6;
}

.icono-vision {
    background-color: #fff4e6;
    color: #ff8c00;
}

.icono-mv svg {
    width: 30px;
    height: 30px;
}

/* Textos dentro de las tarjetas */
.texto-mv h3 {
    font-size: 20px;
    color: #333;
    margin-bottom: 10px;
    letter-spacing: 1px;
}

.texto-mv p {
    font-size: 15px;
    color: #666;
    line-height: 1.7;
}

/* --- Lado Derecho: Imagen con DiseÃ±o --- */
.mv-imagen-contenedor {
    flex: 1; /* Toma el resto del espacio */
    position: relative;
    /* Le damos altura para que la imagen se acomode padre */
    min-height: 500px; 
}

/* El cuadro decorativo que va detrÃ¡s de la foto */
.cuadro-decorativo {
    position: absolute;
    top: 30px;
    right: -30px; /* Lo desfasamos hacia la derecha */
    width: 100%;
    height: 100%;
    border: 3px solid #1a5b9e; /* Borde azul */
    border-radius: 20px;
    z-index: 1;
}

.img-mv {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
    z-index: 2; /* Para que la foto quede encima del cuadro */
    box-shadow: 0 15px 35px rgba(0,0,0,0.15);
}

/* --- RESPONSIVO (MÃ³viles y Tablets) --- */
@media (max-width: 950px) {
    .contenedor-mv {
        flex-direction: column;
    }
    .cuadro-decorativo {
        right: 15px;
        top: 15px;
    }
    .mv-imagen-contenedor {
        width: 100%;
        min-height: 400px;
        margin-top: 30px;
        padding-right: 20px; /* Espacio para el cuadro decorativo en mÃ³vil */
    }
    .titulo-mv {
        font-size: 34px;
        text-align: center;
    }
    .tarjeta-mv {
        flex-direction: column; /* Apilamos el icono arriba del texto en celulares */
        text-align: center;
        align-items: center;
    }
    .icono-mv {
        margin-right: 0;
        margin-bottom: 20px;
    }
}

/* =========================================
   15. SECCIÃ“N EQUIPO (ConÃ³cenos)
   ========================================= */

.seccion-equipo {
    padding: 80px 20px;
    background-color: #ffffff;
}

.contenedor-equipo {
    max-width: 1200px;
    margin: 0 auto;
}

.cabecera-equipo {
    text-align: center;
    margin-bottom: 60px;
}

.cabecera-equipo h2 {
    font-size: 42px;
    color: #333;
    margin-bottom: 10px;
}

.cabecera-equipo p {
    font-size: 18px;
    color: #666;
}

/* La cuadrÃ­cula inteligente: crea columnas automÃ¡ticamente dependiendo del tamaÃ±o de la pantalla */
.grid-equipo {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 30px;
}

/* --- Tarjeta Individual del Colaborador --- */
.tarjeta-colaborador {
    background-color: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Sombra sÃºper sutil */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f0f0f0; /* Un borde gris muy clarito */
}

.tarjeta-colaborador:hover {
    transform: translateY(-8px); /* Se levanta un poco */
    box-shadow: 0 12px 25px rgba(0,0,0,0.1);
}

/* Contenedor de la foto */
.colaborador-img {
    width: 100%;
    aspect-ratio: 1 / 1; /* Obliga a que la foto sea un cuadrado perfecto */
    overflow: hidden;
    background-color: #f5f5f5;
}

.colaborador-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top; /* Enfoca las caras por si la foto es muy alta */
    /* EL TRUCO PRO: Blanco y negro por defecto */
    filter: grayscale(100%); 
    transition: filter 0.5s ease, transform 0.5s ease;
}

/* Al pasar el ratÃ³n: Vuelve a color y hace un micro-zoom */
.tarjeta-colaborador:hover .colaborador-img img {
    filter: grayscale(0%);
    transform: scale(1.05);
}

/* InformaciÃ³n del colaborador */
.colaborador-info {
    padding: 20px;
}

.colaborador-info h4 {
    font-size: 18px;
    color: #222;
    margin-bottom: 5px;
}

.puesto {
    font-size: 14px;
    color: #1a5b9e; /* Azul GENDES para el puesto */
    font-weight: 600;
    margin-bottom: 15px;
    line-height: 1.3;
}

/* Enlace de correo electrÃ³nico */
.email-colaborador {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: #666;
    text-decoration: none;
    transition: color 0.3s ease;
    word-break: break-all; /* Evita que correos largos rompan la tarjeta */
}

.email-colaborador svg {
    width: 16px;
    height: 16px;
    margin-right: 8px;
    flex-shrink: 0;
    color: #8c68a6; /* Morado para el icono de sobre */
}

.email-colaborador:hover {
    color: #8c68a6;
    text-decoration: underline;
}

/* =========================================
   16. SECCIÃ“N INFORMES ANUALES (Transparencia)
   ========================================= */

.seccion-informes {
    padding: 80px 20px 100px 20px;
    background-color: #f7f8fa; /* Fondo gris sÃºper sutil */
}

.contenedor-informes {
    max-width: 1200px;
    margin: 0 auto;
}

.cabecera-informes {
    text-align: center;
    margin-bottom: 50px;
}

.cabecera-informes h2 {
    font-size: 38px;
    color: #222;
    margin-bottom: 15px;
}

.cabecera-informes p {
    font-size: 18px;
    color: #666;
}

/* CuadrÃ­cula para las tarjetas de informes */
.grid-informes {
    display: grid;
    /* Esto crea columnas que se adaptan solas (mÃ­nimo 180px de ancho) */
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 20px;
}

/* DiseÃ±o de la tarjeta (Enlace) */
.tarjeta-informe {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: #ffffff;
    padding: 30px 20px;
    border-radius: 12px;
    text-decoration: none; /* Quitamos el subrayado del enlace */
    border: 1px solid #eaeaea; /* Borde muy discreto */
    box-shadow: 0 4px 10px rgba(0,0,0,0.02);
    transition: all 0.3s ease;
}

/* Textos dentro de la tarjeta */
.anio-informe {
    font-size: 36px;
    font-weight: 800;
    color: #1a5b9e; /* Azul corporativo */
    margin-bottom: 5px;
    transition: color 0.3s ease;
}

.texto-informe {
    font-size: 14px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 15px;
}

/* Icono de descarga SVG */
.icono-descarga {
    width: 40px;
    height: 40px;
    background-color: #f0f4f8; /* Un circulito azul muy claro */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #1a5b9e;
    transition: all 0.3s ease;
}

.icono-descarga svg {
    width: 20px;
    height: 20px;
}

/* LA MAGIA DEL HOVER (Al pasar el ratÃ³n) */
.tarjeta-informe:hover {
    transform: translateY(-8px); /* La tarjeta flota */
    box-shadow: 0 15px 30px rgba(26, 91, 158, 0.15); /* Sombra azulada */
    border-color: #1a5b9e; /* El borde se pinta de azul */
}

.tarjeta-informe:hover .anio-informe {
    color: #ff8c00; /* El aÃ±o cambia a Naranja para llamar la atenciÃ³n */
}

.tarjeta-informe:hover .icono-descarga {
    background-color: #1a5b9e; /* El cÃ­rculo se rellena de azul */
    color: #ffffff; /* El icono se vuelve blanco */
    transform: scale(1.1); /* El circulito crece un poco */
}

/* --- RESPONSIVO --- */
@media (max-width: 600px) {
    .grid-informes {
        grid-template-columns: repeat(2, 1fr); /* En celulares forzamos 2 columnas para que no queden muy gigantes */
        gap: 15px;
    }
    .anio-informe {
        font-size: 28px;
    }
    .tarjeta-informe {
        padding: 20px 15px;
    }
}

/* =========================================
   17. PÃ�GINA: NUESTRA LABOR (SecciÃ³n AtenciÃ³n)
   ========================================= */

.seccion-labor-hero {
    padding: 80px 20px;
    background-color: #f4f5f7; /* Fondo clarito para resaltar la tarjeta principal */
    display: flex;
    justify-content: center;
}

/* La Macro-Tarjeta Flotante */
.contenedor-labor-tarjeta {
    display: flex;
    max-width: 1200px;
    width: 100%;
    background-color: #1a5b9e; /* Azul profundo GENDES */
    border-radius: 20px;
    overflow: hidden; /* Clave: hace que la imagen respete las esquinas redondeadas */
    box-shadow: 0 25px 50px rgba(26, 91, 158, 0.2); /* Sombra azulada espectacular */
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Efecto al pasar el ratÃ³n sobre toda la tarjeta */
.contenedor-labor-tarjeta:hover {
    transform: translateY(-8px);
    box-shadow: 0 35px 60px rgba(26, 91, 158, 0.35);
}

/* --- Mitad de la imagen --- */
.labor-imagen {
    flex: 1; /* Ocupa el 50% */
    position: relative;
    overflow: hidden;
}

.labor-imagen img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

/* Micro-zoom a la imagen al pasar el ratÃ³n por la tarjeta */
.contenedor-labor-tarjeta:hover .labor-imagen img {
    transform: scale(1.06);
}

/* --- Mitad del texto --- */
.labor-contenido {
    flex: 1; /* Ocupa el otro 50% */
    padding: 70px 60px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.labor-contenido h2 {
    font-size: 40px;
    margin-bottom: 25px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.5px;
}

.labor-contenido p {
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 20px;
    color: #d1e2f3; /* Un blanco azulado para que la lectura sea suave */
}

.labor-contenido p strong {
    color: #ffffff;
}

/* BotÃ³n Blanco Invertido */
.btn-blanco {
    align-self: flex-start; /* Evita que el botÃ³n se estire a todo lo ancho */
    margin-top: 20px;
    background-color: #ffffff;
    color: #8c68a6; /* Texto morado GENDES */
    font-weight: bold;
    font-size: 16px;
    padding: 16px 35px;
    border-radius: 50px; /* Forma de pÃ­ldora */
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.btn-blanco:hover {
    background-color: #f4eff7;
    color: #724e8c;
    transform: translateY(-3px) scale(1.02);
    box-shadow: 0 15px 25px rgba(0,0,0,0.2);
}

/* --- RESPONSIVO (Celulares y Tablets) --- */
@media (max-width: 950px) {
    .contenedor-labor-tarjeta {
        flex-direction: column; /* Apila la imagen arriba y el texto abajo */
    }
    .labor-imagen {
        min-height: 350px; /* Le da una altura fija a la imagen en mÃ³vil */
    }
    .labor-contenido {
        padding: 40px 30px;
    }
    .labor-contenido h2 {
        font-size: 32px;
    }
}

/* =========================================
   18. PÃ�GINA: NUESTRA LABOR (SecciÃ³n PrevenciÃ³n)
   ========================================= */

.seccion-prevencion {
    padding: 100px 20px;
    background-color: #ffffff; /* Fondo blanco limpio para dar respiro */
}

.contenedor-prevencion {
    max-width: 1150px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 80px; /* Mucho espacio entre el texto y la foto */
}

/* --- Lado Izquierdo: Textos --- */
.prevencion-textos {
    flex: 1;
}

.prevencion-textos h2 {
    font-size: 42px;
    color: #222222;
    margin-bottom: 25px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.prevencion-textos p {
    font-size: 16px;
    color: #555555;
    line-height: 1.8; /* Texto muy fÃ¡cil de leer */
    margin-bottom: 25px;
}

/* BotÃ³n Morado con flecha animada */
.btn-morado-solido {
    display: inline-flex;
    align-items: center;
    background-color: #8c68a6; /* Morado GENDES */
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    padding: 14px 35px;
    border-radius: 6px; /* Bordes ligeramente redondeados, mÃ¡s serio */
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-morado-solido .flecha-btn {
    margin-left: 10px;
    font-size: 18px;
    transition: transform 0.3s ease;
}

.btn-morado-solido:hover {
    background-color: #724e8c;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(140, 104, 166, 0.3);
}

.btn-morado-solido:hover .flecha-btn {
    transform: translateX(5px); /* La flechita empuja hacia la derecha */
}

/* --- Lado Derecho: Imagen Editorial --- */
.prevencion-imagen-wrapper {
    flex: 1;
    position: relative;
    z-index: 1;
}

/* Cuadro morado claro que va detrÃ¡s de la foto */
.fondo-decorativo-morado {
    position: absolute;
    top: 25px;
    left: -25px; /* Se desfasa hacia la izquierda y abajo */
    width: 100%;
    height: 100%;
    background-color: #f4eff7; /* Morado muy clarito */
    border-radius: 12px;
    z-index: -1; /* Lo manda detrÃ¡s de la foto */
    transition: transform 0.4s ease;
}

.img-prevencion {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.1); /* Sombra elegante */
    display: block;
    transition: transform 0.4s ease;
}

/* Efecto al pasar el ratÃ³n por la foto */
.prevencion-imagen-wrapper:hover .img-prevencion {
    transform: translate(5px, -5px); /* La foto se mueve sutilmente */
}

.prevencion-imagen-wrapper:hover .fondo-decorativo-morado {
    transform: translate(-5px, 5px); /* El fondo se mueve al lado contrario (Efecto parallax falso) */
}

/* --- RESPONSIVO (Celulares y Tablets) --- */
@media (max-width: 950px) {
    .contenedor-prevencion {
        flex-direction: column-reverse; /* En celulares pasamos la foto arriba y el texto abajo */
        gap: 50px;
    }
    .fondo-decorativo-morado {
        left: 15px; /* Ajustamos el desfase para pantallas pequeÃ±as */
        top: 15px;
    }
    .prevencion-textos {
        text-align: center;
    }
    .prevencion-textos h2 {
        font-size: 34px;
    }
}

/* =========================================
   19. PÃ�GINA: NUESTRA LABOR (SecciÃ³n FormaciÃ³n)
   ========================================= */

.seccion-formacion {
    padding: 100px 20px;
    background-color: #1e1e24; /* Un tono carbÃ³n/grafito profundo, mÃ¡s elegante que el negro puro */
    color: #ffffff;
}

.contenedor-formacion {
    max-width: 1150px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 80px; /* SeparaciÃ³n amplia */
}

/* --- Lado Izquierdo: Imagen --- */
.formacion-imagen-wrapper {
    flex: 1;
    position: relative;
    /* Le damos un poco de margen abajo e izquierda para que el efecto de sombra quepa bien */
    margin-bottom: 20px; 
    margin-left: 20px;
}

.img-formacion {
    width: 100%;
    height: auto;
    border-radius: 8px; /* Bordes ligeramente redondeados */
    /* EL TOQUE PRO: Una sombra sÃ³lida desfasada en morado GENDES */
    box-shadow: -20px 20px 0px rgba(140, 104, 166, 0.8); 
    display: block;
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Efecto al pasar el ratÃ³n: La foto se empuja hacia su propia sombra */
.formacion-imagen-wrapper:hover .img-formacion {
    transform: translate(-5px, 5px);
    box-shadow: -10px 10px 0px rgba(140, 104, 166, 0.8);
}

/* --- Lado Derecho: Textos --- */
.formacion-textos {
    flex: 1;
}

.etiqueta-pequena {
    display: inline-block;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #ff8c00; /* Naranja para contrastar con el fondo oscuro */
    font-weight: 700;
    margin-bottom: 15px;
}

.formacion-textos h2 {
    font-size: 42px;
    margin-bottom: 25px;
    font-weight: 800;
    letter-spacing: -0.5px;
    color: #ffffff;
}

.formacion-textos p {
    font-size: 15px;
    color: #c9c9d1; /* Gris clarito para que no canse la vista */
    line-height: 1.8;
    margin-bottom: 20px;
}

/* BotÃ³n Fantasma (Ghost Button) */
.btn-fantasma-blanco {
    display: inline-block;
    background-color: transparent;
    color: #ffffff;
    font-weight: bold;
    font-size: 16px;
    padding: 12px 35px;
    border: 2px solid #ffffff;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.3s ease;
    margin-top: 15px;
}

/* Al pasar el ratÃ³n, se rellena de blanco y el texto se vuelve morado */
.btn-fantasma-blanco:hover {
    background-color: #ffffff;
    color: #1e1e24; /* Color del fondo oscuro */
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(255, 255, 255, 0.1);
}

/* --- RESPONSIVO (Celulares y Tablets) --- */
@media (max-width: 950px) {
    .contenedor-formacion {
        /* Volvemos a apilar: en mÃ³vil siempre es mejor foto arriba, texto abajo */
        flex-direction: column; 
        gap: 60px;
    }
    .formacion-imagen-wrapper {
        margin-left: 0;
        margin-right: 20px; /* Ajustamos el margen para que no se salga la sombra */
        width: 90%;
    }
    .img-formacion {
        box-shadow: 15px 15px 0px rgba(140, 104, 166, 0.8); /* Cambiamos la direcciÃ³n de la sombra para mÃ³vil */
    }
    .formacion-imagen-wrapper:hover .img-formacion {
        transform: translate(5px, 5px);
        box-shadow: 5px 5px 0px rgba(140, 104, 166, 0.8);
    }
    .formacion-textos {
        text-align: center;
    }
    .formacion-textos h2 {
        font-size: 34px;
    }
}

/* =========================================
   20. PÃ�GINA: NUESTRA LABOR (SecciÃ³n InvestigaciÃ³n)
   ========================================= */

.seccion-investigacion {
    padding: 100px 20px;
    background-color: #fcfbfe; /* Un lavanda/blanco muuuy sutil para dar luz */
}

.contenedor-investigacion {
    max-width: 1150px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 70px;
}

/* --- Lado Izquierdo: Textos y Botones --- */
.investigacion-textos {
    flex: 1.1; /* Toma un poquito mÃ¡s de espacio que la imagen para acomodar bien los textos */
}

.investigacion-textos h2 {
    font-size: 42px;
    color: #333333;
    margin-bottom: 25px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.investigacion-textos p {
    font-size: 15.5px;
    color: #555555;
    line-height: 1.7;
    margin-bottom: 20px;
}

/* Zona de botones */
.acciones-investigacion {
    margin-top: 35px;
}

.destacado-investigacion {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #e5e0eb; /* Una lÃ­nea divisoria sutil */
}

.destacado-investigacion p {
    font-size: 14px;
    color: #888888;
    margin-bottom: 15px;
    font-style: italic;
}

/* BotÃ³n Amarillo Especial */
.btn-amarillo-brillante {
    display: inline-block;
    background-color: #ffb700; /* Amarillo/Dorado vibrante */
    color: #ffffff;
    font-weight: 800;
    font-size: 16px;
    padding: 14px 30px;
    border-radius: 6px;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    transition: all 0.3s ease;
    box-shadow: 0 6px 15px rgba(255, 183, 0, 0.3);
}

.btn-amarillo-brillante:hover {
    background-color: #e6a500;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(255, 183, 0, 0.4);
}

/* --- Lado Derecho: Imagen --- */
.investigacion-imagen-wrapper {
    flex: 1;
    position: relative;
    display: flex;
    justify-content: center;
}

/* Un resplandor difuminado detrÃ¡s de los libros para simular "conocimiento" */
.resplandor-fondo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
    height: 80%;
    background: radial-gradient(circle, rgba(140, 104, 166, 0.15) 0%, rgba(255,255,255,0) 70%);
    z-index: 0;
    border-radius: 50%;
}

.img-investigacion {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 500px; /* Evita que se haga gigante */
    height: auto;
    border-radius: 10px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.12); /* Sombra elegante estilo revista */
    transition: transform 0.5s ease;
}

/* La imagen flota suavemente al pasar el ratÃ³n */
.investigacion-imagen-wrapper:hover .img-investigacion {
    transform: translateY(-10px);
}

/* --- RESPONSIVO (Celulares y Tablets) --- */
@media (max-width: 950px) {
    .contenedor-investigacion {
        flex-direction: column; /* Apila todo en mÃ³vil */
        gap: 50px;
    }
    .investigacion-textos {
        text-align: center;
    }
    .investigacion-textos h2 {
        font-size: 34px;
    }
    .acciones-investigacion {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}

/* =========================================
   21. PÃ�GINA: NUESTRA LABOR (SecciÃ³n Incidencia)
   ========================================= */

.seccion-incidencia {
    padding: 100px 20px;
    background-color: #ffffff; /* Fondo blanco puro */
}

.contenedor-incidencia {
    max-width: 1150px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    /* No usamos gap aquÃ­ porque vamos a superponer los elementos */
}

/* --- Lado Izquierdo: Imagen --- */
.incidencia-imagen-wrapper {
    flex: 1.3; /* Le damos un poco mÃ¡s de ancho a la foto */
    position: relative;
    z-index: 1; /* Se queda en el fondo */
}

.img-incidencia {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
    display: block;
    transition: filter 0.4s ease;
}

/* Oscurecemos un micro-tono la foto al pasar el ratÃ³n para que la tarjeta resalte mÃ¡s */
.contenedor-incidencia:hover .img-incidencia {
    filter: brightness(0.95); 
}

/* --- Lado Derecho: Tarjeta de Textos --- */
.incidencia-textos-tarjeta {
    flex: 1;
    background-color: #ffffff;
    padding: 50px 40px;
    border-radius: 15px;
    /* EL TRUCO: Jalamos la tarjeta hacia la izquierda para que pise la foto */
    margin-left: -80px; 
    position: relative;
    z-index: 2; /* Para que quede por encima de la foto */
    box-shadow: 0 20px 40px rgba(0,0,0,0.08); /* Sombra difuminada para despegarla de la foto */
    border: 1px solid #f0f0f5; /* Borde sÃºper sutil */
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

/* Efecto hover en la tarjeta */
.incidencia-textos-tarjeta:hover {
    transform: translateY(-5px);
    box-shadow: 0 25px 50px rgba(0,0,0,0.12);
}

.incidencia-textos-tarjeta h2 {
    font-size: 42px;
    color: #222222;
    margin-bottom: 25px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.incidencia-textos-tarjeta p {
    font-size: 15.5px;
    color: #555555;
    line-height: 1.7;
    margin-bottom: 20px;
}

/* --- RESPONSIVO (Celulares y Tablets) --- */
@media (max-width: 950px) {
    .contenedor-incidencia {
        flex-direction: column; /* Apila imagen arriba, tarjeta abajo */
    }
    .incidencia-imagen-wrapper {
        width: 100%;
    }
    .incidencia-textos-tarjeta {
        width: 90%; /* Hace la tarjeta un poco mÃ¡s angosta que la foto */
        margin-left: 0;
        /* En mÃ³vil, hacemos que la tarjeta se monte hacia arriba sobre la foto */
        margin-top: -50px; 
        padding: 40px 30px;
        text-align: center;
    }
    .incidencia-textos-tarjeta h2 {
        font-size: 34px;
    }
}

/* =========================================
   22. PÃ�GINA: NUESTRA LABOR (SecciÃ³n ConsultorÃ­a)
   ========================================= */

.seccion-consultoria {
    padding: 100px 20px;
    background-color: #f7f8fa; /* Un gris muuuy clarito para que resalte el panel azul */
}

.contenedor-consultoria {
    max-width: 1250px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

/* --- Lado Izquierdo: Textos --- */
.consultoria-textos {
    flex: 1;
    padding-right: 20px;
}

.consultoria-textos h2 {
    font-size: 42px;
    color: #222222;
    margin-bottom: 25px;
    font-weight: 800;
    letter-spacing: -0.5px;
}

.consultoria-textos p {
    font-size: 16px;
    color: #555555;
    line-height: 1.8;
    margin-bottom: 25px;
}

/* --- Lado Derecho: Panel Azul --- */
.consultoria-panel-azul {
    flex: 1.4; /* Le damos mÃ¡s espacio al bloque azul para acomodar el grid de iconos */
    background-color: #1a5b9e; /* Azul GENDES */
    padding: 50px 40px;
    border-radius: 20px; /* Bordes suaves modernos */
    box-shadow: 0 20px 40px rgba(26, 91, 158, 0.25); /* Sombra elegante */
}

/* Grid de los 4 servicios dentro del panel */
.grid-servicios {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 columnas */
    gap: 40px;
}

/* Cada Ã­tem individual */
.item-servicio {
    display: flex;
    align-items: flex-start; /* Alinea icono y texto arriba */
    gap: 20px;
    transition: transform 0.3s ease;
}

/* Efecto hover sobre el servicio individual */
.item-servicio:hover {
    transform: translateX(5px); /* Se mueve un poquito a la derecha */
}

/* El cÃ­rculo que envuelve al icono */
.icono-circulo {
    flex-shrink: 0; /* Evita que el cÃ­rculo se aplaste */
    width: 60px;
    height: 60px;
    background-color: rgba(255, 255, 255, 0.15); /* CÃ­rculo blanco semitransparente */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
}

.item-servicio:hover .icono-circulo {
    background-color: #ff8c00; /* Se pinta de naranja GENDES al pasar el ratÃ³n */
    transform: scale(1.1); /* Crece un 10% */
}

.icono-circulo svg {
    width: 30px;
    height: 30px;
}

/* El texto al lado del icono */
.item-servicio p {
    font-size: 14px;
    color: #dceaf8; /* Texto azul muy claro para contraste */
    line-height: 1.6;
    margin: 0;
    transition: color 0.3s ease;
}

.item-servicio:hover p {
    color: #ffffff; /* Se vuelve blanco puro al pasar el ratÃ³n */
}

/* --- RESPONSIVO (Celulares y Tablets) --- */
@media (max-width: 1000px) {
    .contenedor-consultoria {
        flex-direction: column; /* Apila textos arriba, panel azul abajo */
        gap: 50px;
    }
    .consultoria-textos {
        text-align: center;
        padding-right: 0;
    }
}

@media (max-width: 650px) {
    .consultoria-panel-azul {
        padding: 40px 25px;
    }
    .grid-servicios {
        grid-template-columns: 1fr; /* Se hace 1 sola columna hacia abajo en celulares */
        gap: 30px;
    }
}

/* =========================================
   23. PÃ�GINA: CONTACTO
   ========================================= */

/* Header PequeÃ±o e Impactante */
.contacto-header {
    background-color: #1a5b9e; /* Azul GENDES */
    color: white;
    padding: 60px 20px;
    text-align: center;
}

.contenedor-contacto-header h1 {
    font-size: 36px;
    margin-bottom: 15px;
}

.contenedor-contacto-header p {
    font-size: 20px;
    opacity: 0.9;
}

/* SecciÃ³n de Formulario y Grupos */
.seccion-formulario {
    padding: 80px 20px;
    background-color: #ffffff;
}

.contenedor-formulario {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    gap: 60px;
}

/* --- Lado Izquierdo: Info de Grupos --- */
.info-grupos {
    flex: 1;
}

.info-grupos h2 {
    font-size: 32px;
    color: #333;
    margin-bottom: 40px;
}

.tarjeta-info-grupo {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
}

.icono-grupo {
    width: 50px;
    height: 50px;
    background-color: #f4eff7;
    color: #8c68a6;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 20px;
    flex-shrink: 0;
}

.icono-grupo svg {
    width: 24px;
    height: 24px;
}

.tarjeta-info-grupo p {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 5px;
}

.tarjeta-info-grupo .texto-chico {
    font-size: 13px;
    color: #888;
}

/* --- Lado Derecho: Formulario --- */
.area-formulario {
    flex: 1.5; /* El formulario necesita mÃ¡s espacio */
}

/* Banner morado de telÃ©fono */
.banner-telefono {
    background-color: #8c68a6; /* Morado GENDES */
    color: white;
    text-align: center;
    padding: 25px;
    border-radius: 8px;
    margin-bottom: 30px;
    box-shadow: 0 10px 20px rgba(140, 104, 166, 0.2);
}

.banner-telefono p {
    margin-bottom: 5px;
    font-size: 16px;
}

/* Estilos del Formulario */
.formulario-contacto {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.fila-inputs {
    display: flex;
    gap: 20px;
}

.grupo-input {
    flex: 1;
}

/* DiseÃ±o de los inputs (cajas de texto) */
.formulario-contacto input,
.formulario-contacto select,
.formulario-contacto textarea {
    width: 100%;
    padding: 15px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 15px;
    font-family: inherit;
    color: #333;
    background-color: #fafafa;
    transition: all 0.3s ease;
}

/* Efecto al escribir o seleccionar (Foco) */
.formulario-contacto input:focus,
.formulario-contacto select:focus,
.formulario-contacto textarea:focus {
    outline: none;
    border-color: #1a5b9e; /* Borde azul */
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(26, 91, 158, 0.1); /* Resplandor suave */
}

.formulario-contacto select {
    cursor: pointer;
    color: #666; /* Un poco mÃ¡s claro por defecto */
}

/* BotÃ³n de enviar */
.btn-enviar-form {
    align-self: flex-end; /* Lo alinea a la derecha */
    background-color: #1a5b9e; /* Azul GENDES */
    color: white;
    border: none;
    padding: 15px 40px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn-enviar-form:hover {
    background-color: #124375;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(26, 91, 158, 0.3);
}

/* SecciÃ³n del Mapa Ocupando todo el ancho */
.seccion-mapa {
    width: 100%;
    /* Quitamos cualquier margen/padding para que el mapa toque los bordes */
    line-height: 0; /* Quita el espacio fantasma debajo del iframe */
}

/* --- RESPONSIVO --- */
@media (max-width: 900px) {
    .contenedor-formulario {
        flex-direction: column; /* Pone info arriba y formulario abajo */
    }
    .fila-inputs {
        flex-direction: column; /* Los campos de nombre/apellido se ponen uno sobre otro */
        gap: 20px;
    }
    .btn-enviar-form {
        width: 100%; /* BotÃ³n ancho en mÃ³viles */
    }
}

/* =========================================
   24. PÃ�GINA: PUBLICACIONES (Biblioteca Pro)
   ========================================= */

.publicaciones-header {
    background-color: #f7f8fa; /* Fondo gris sutil para dar respiro visual */
    padding: 80px 20px;
    text-align: center;
}

.contenedor-pub-header {
    max-width: 800px;
    margin: 0 auto;
}

.contenedor-pub-header h1 {
    font-size: 42px;
    color: #333333;
    margin-bottom: 20px;
}

.contenedor-pub-header p {
    font-size: 18px;
    color: #666666;
    line-height: 1.6;
}

.seccion-biblioteca {
    padding: 80px 20px 100px 20px;
    background-color: #ffffff;
}

.contenedor-biblioteca {
    max-width: 1200px;
    margin: 0 auto;
}

/* CuadrÃ­cula para las tarjetas editoriales */
.grid-biblioteca {
    display: grid;
    /* Esto crea 3 columnas automÃ¡ticamente y se adapta en tablets */
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 30px;
}

/* --- Tarjeta Editorial de PublicaciÃ³n --- */
.tarjeta-publicacion {
    position: relative;
    background-color: #ffffff;
    border-radius: 12px;
    overflow: hidden; /* CLAVE para el efecto hover */
    box-shadow: 0 5px 20px rgba(0,0,0,0.06); /* Sombra suave flotante */
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tarjeta-publicacion:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
}

/* Contenedor de la foto de portada */
.portada-wrapper {
    width: 100%;
    /* Altura fija de portada para que todo el grid sea uniforme */
    aspect-ratio: 3 / 4; 
    overflow: hidden;
}

.img-portada {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.5s ease;
}

/* Efecto hover: Micro-zoom a la portada */
.tarjeta-publicacion:hover .img-portada {
    transform: scale(1.06);
}

/* --- El Efecto Hover de TÃ­tulo Deslizante --- */
.hover-publicacion {
    position: absolute;
    bottom: -100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(140, 104, 166, 0.1) 0%, rgba(26, 91, 158, 0.95) 100%);
    color: white;
    padding: 30px;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    align-items: flex-start; /* Alinea el texto y botÃ³n a la izquierda */
    transition: bottom 0.4s ease;
    z-index: 2;
}

.tarjeta-publicacion:hover .hover-publicacion {
    bottom: 0; /* El tÃ­tulo se desliza hacia arriba */
}

.hover-publicacion h3 {
    font-size: 20px;
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 15px; /* Le da espacio antes del botÃ³n */
}

.btn-descarga-hover {
    background-color: transparent;
    color: #ffffff;
    border: 2px solid #ffffff; /* BotÃ³n estilo contorno */
    padding: 8px 25px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    /* Evita que el clic en el botÃ³n interfiera con el clic de la tarjeta */
    pointer-events: none; 
}

/* Al pasar el ratÃ³n por la tarjeta, el botÃ³n brilla */
.tarjeta-publicacion:hover .btn-descarga-hover {
    background-color: rgba(255, 255, 255, 0.1);
}

/* --- ESTILOS DEL MODAL (Ventana Emergente Premium) --- */
.modal-biblioteca {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(27, 20, 37, 0.85); /* Fondo oscuro profundo */
    backdrop-filter: blur(10px); /* Efecto de desenfoque esmerilado moderno */
    -webkit-backdrop-filter: blur(10px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
    opacity: 0; /* El modal empieza invisible */
    visibility: hidden;
    transition: all 0.4s ease;
}

/* Cuando el modal estÃ¡ abierto */
.modal-abierto {
    opacity: 1;
    visibility: visible;
}

.modal-contenido {
    position: relative;
    max-width: 500px;
    width: 90%;
}

/* BotÃ³n Cerrar (X) */
.btn-cerrar-modal {
    position: absolute;
    top: -40px;
    right: 0;
    background: transparent;
    border: none;
    color: #ffffff;
    cursor: pointer;
    transition: color 0.3s ease;
}

.btn-cerrar-modal:hover {
    color: #ff8c00; /* Se vuelve naranja al pasar el mouse */
}

.btn-cerrar-modal svg {
    width: 30px;
    height: 30px;
}

/* La tarjeta blanca dentro del modal */
.modal-tarjeta {
    background-color: #ffffff;
    border-radius: 15px;
    padding: 40px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.25);
}

.modal-header-tarjeta {
    text-align: center;
    margin-bottom: 30px;
}

.modal-header-tarjeta h3 {
    font-size: 24px;
    color: #333333;
    margin-bottom: 8px;
}

.modal-header-tarjeta p {
    font-size: 15px;
    color: #777777;
}

/* Formulario dentro del modal */
.formulario-modal {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Estilos de los inputs */
.formulario-modal input {
    width: 100%;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 15px;
    color: #333;
    background-color: #fafafa;
    transition: all 0.3s ease;
}

.formulario-modal input:focus {
    outline: none;
    border-color: #1a5b9e;
    box-shadow: 0 0 0 3px rgba(26, 91, 158, 0.1);
}

/* BotÃ³n Descargar con Icono */
.btn-descargar-final {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1a5b9e; /* Azul GENDES */
    color: white;
    font-size: 16px;
    font-weight: bold;
    border: none;
    padding: 15px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 10px;
}

.btn-descargar-final:hover {
    background-color: #124375;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(26, 91, 158, 0.3);
}

.btn-descargar-final svg {
    width: 18px;
    height: 18px;
    margin-right: 10px; /* Separa el icono del texto */
}

/* --- RESPONSIVO --- */
@media (max-width: 768px) {
    .contenedor-biblioteca {
        padding: 0 15px;
    }
    .grid-biblioteca {
        grid-template-columns: 1fr; /* En mÃ³vil, 1 sola columna hacia abajo */
    }
    .modal-tarjeta {
        padding: 30px;
    }
}

/* =========================================
   25. PÃ�GINA: DONACIÃ“N
   ========================================= */

.fondo-gris-suave {
    background-color: #f4f5f7; /* Un fondo gris claro ayuda a que la tarjeta blanca resalte mucho mÃ¡s */
}

.seccion-donar {
    padding: 80px 20px 100px 20px;
    display: flex;
    justify-content: center;
}

.contenedor-donar {
    max-width: 1200px;
    width: 100%;
    display: flex;
    background-color: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 25px 50px rgba(0,0,0,0.08); /* Sombra elegante para toda la caja */
}

/* --- Lado Izquierdo: Imagen --- */
.donar-imagen-wrapper {
    flex: 1;
    position: relative;
    min-height: 500px;
}

.img-donar {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.etiqueta-flotante-donar {
    position: absolute;
    bottom: 30px;
    left: 30px;
    background-color: rgba(255, 255, 255, 0.95);
    padding: 12px 20px;
    border-radius: 50px;
    display: flex;
    align-items: center;
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
    font-weight: bold;
    color: #1a5b9e;
    backdrop-filter: blur(5px);
}

.etiqueta-flotante-donar svg {
    width: 20px;
    height: 20px;
    color: #ff4d4d; /* CorazÃ³n rojo */
    margin-right: 10px;
}

/* --- Lado Derecho: Panel de DonaciÃ³n --- */
.donar-panel {
    flex: 1.2; /* Le damos mÃ¡s espacio al Ã¡rea de pago */
    padding: 60px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.titulo-donar {
    font-size: 34px;
    color: #1a5b9e;
    line-height: 1.2;
    margin-bottom: 15px;
    font-weight: 800;
}

.intro-donar {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 35px;
}

/* --- Tarjetas de MÃ©todos de Pago --- */
.metodos-pago {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-bottom: 40px;
}

.tarjeta-metodo {
    border: 2px solid #edf0f5;
    border-radius: 12px;
    padding: 25px;
    transition: all 0.3s ease;
    background-color: #ffffff;
}

.tarjeta-metodo:hover {
    border-color: #1a5b9e;
    box-shadow: 0 10px 25px rgba(26, 91, 158, 0.1);
    transform: translateY(-2px);
}

.metodo-header {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.icono-metodo {
    width: 45px;
    height: 45px;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
}

.icono-metodo.banco {
    background-color: #e8f0fe;
    color: #1a5b9e;
}

.icono-metodo.paypal {
    background-color: #e5f1ff;
    color: #003087; /* Azul oscuro de PayPal */
}

.icono-metodo svg {
    width: 24px;
    height: 24px;
}

.metodo-header h3 {
    font-size: 20px;
    color: #333;
}

/* Datos Bancarios */
.metodo-datos {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.dato-fila {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 15px;
    color: #555;
    padding-bottom: 10px;
    border-bottom: 1px dashed #eee;
}

.dato-fila:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.dato-label {
    color: #888;
}

.dato-valor {
    font-weight: 600;
    color: #333;
}

/* Destacamos la CLABE para que sea fÃ¡cil de copiar */
.clabe-destacada {
    background-color: #f9fbff;
    padding: 15px;
    border-radius: 8px;
    border-bottom: none;
    margin-top: 5px;
}

.numero-clabe {
    font-family: monospace; /* TipografÃ­a tipo cÃ³digo para nÃºmeros de cuenta */
    font-size: 18px;
    color: #1a5b9e;
    letter-spacing: 1px;
}

/* Info PayPal */
.tarjeta-paypal {
    background-color: #fafbfc;
}

.texto-paypal {
    font-size: 14px;
    color: #666;
    margin-bottom: 20px;
}

/* BotÃ³n de PayPal Pro */
.btn-paypal-gigante {
    display: block;
    width: 100%;
    text-align: center;
    background-color: #ffc439; /* Amarillo oficial de PayPal */
    color: #003087; /* Letra azul oscuro */
    font-weight: 800;
    font-size: 18px;
    padding: 16px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(255, 196, 57, 0.4);
}

.btn-paypal-gigante:hover {
    background-color: #f2b724;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(255, 196, 57, 0.5);
}

.correo-paypal-nota {
    text-align: center;
    font-size: 12px;
    color: #888;
    margin-top: 15px;
}

/* Footer de dudas */
.donar-footer {
    text-align: center;
    border-top: 1px solid #eee;
    padding-top: 25px;
}

.donar-footer p {
    font-size: 14px;
    color: #777;
    margin-bottom: 10px;
}

.donar-footer a {
    color: #1a5b9e;
    text-decoration: none;
    font-weight: bold;
}

.donar-footer .agradecimiento {
    font-size: 16px;
    color: #8c68a6; /* Morado GENDES */
    font-weight: bold;
    margin-top: 15px;
}

/* --- RESPONSIVO --- */
@media (max-width: 950px) {
    .contenedor-donar {
        flex-direction: column; /* Apila foto arriba, pago abajo */
    }
    .donar-imagen-wrapper {
        min-height: 300px;
    }
    .donar-panel {
        padding: 40px 25px;
    }
    .titulo-donar {
        font-size: 28px;
    }
}

/* =========================================
   26. BOTÃ“N FLOTANTE DE DONACIÃ“N
   ========================================= */

.btn-flotante-dona {
    position: fixed; /* Esto es lo que lo mantiene pegado a la pantalla */
    bottom: 30px; /* SeparaciÃ³n desde abajo */
    right: 30px; /* SeparaciÃ³n desde la derecha */
    background-color: #38b2a5; /* Color turquesa de tu marca */
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 1px;
    text-decoration: none;
    padding: 15px 30px;
    border-radius: 50px; /* Forma redondita de pÃ­ldora */
    display: flex;
    align-items: center;
    box-shadow: 0 10px 25px rgba(56, 178, 165, 0.4); /* Resplandor turquesa */
    z-index: 9999; /* Nivel Dios: Asegura que estÃ© por encima del footer, imÃ¡genes y todo lo demÃ¡s */
    transition: all 0.3s ease;
    animation: latido-suave 2.5s infinite; /* Llama a la animaciÃ³n de abajo */
}

.btn-flotante-dona svg {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

/* Efecto al pasar el ratÃ³n */
.btn-flotante-dona:hover {
    transform: translateY(-5px) scale(1.05); /* Sube y crece un poquito */
    background-color: #2c968b; /* Se oscurece ligeramente */
    box-shadow: 0 15px 35px rgba(56, 178, 165, 0.6);
    animation: none; /* Detenemos el latido para que el usuario pueda hacer clic a gusto */
}

/* AnimaciÃ³n sutil para llamar la atenciÃ³n (late cada 2.5 segundos) */
@keyframes latido-suave {
    0% { transform: scale(1); }
    10% { transform: scale(1.05); }
    20% { transform: scale(1); }
    100% { transform: scale(1); }
}

/* --- RESPONSIVO --- */
/* En celulares lo hacemos un poco mÃ¡s pequeÃ±o para que no estorbe la lectura */
@media (max-width: 600px) {
    .btn-flotante-dona {
        bottom: 20px;
        right: 20px;
        padding: 12px 25px;
        font-size: 14px;
    }
    .btn-flotante-dona svg {
        width: 18px;
        height: 18px;
    }
}

/* =========================================
   27. CARRUSEL INFINITO (PÃ¡gina de Inicio)
   ========================================= */

.hero-infinito {
    padding: 80px 0 60px 0;
    background-color: #f7f8fa; /* Fondo gris sÃºper claro para que resalten las portadas */
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.contenedor-hero-textos {
    max-width: 800px;
    text-align: center;
    padding: 0 20px;
    margin-bottom: 50px;
}

.contenedor-hero-textos h1 {
    font-size: 46px;
    color: #222222;
    margin-bottom: 20px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: -1px;
}

.contenedor-hero-textos h1 span {
    color: #1a5b9e; /* Azul GENDES */
}

.contenedor-hero-textos p {
    font-size: 18px;
    color: #555555;
    margin-bottom: 30px;
    line-height: 1.6;
}

/* --- El contenedor que enmascara las orillas --- */
.carrusel-enmascarado {
    width: 100%;
    max-width: 1400px; /* Ancho mÃ¡ximo para que no se estire demasiado en pantallas gigantes */
    overflow: hidden;
    white-space: nowrap;
    position: relative;
    /* Efecto Pro: Desvanece la izquierda y la derecha para que las fotos "aparezcan" y "desaparezcan" suavemente */
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
}

/* --- La pista que se mueve --- */
.carrusel-track {
    display: inline-flex;
    gap: 30px; /* SeparaciÃ³n entre portadas */
    padding-left: 30px;
    /* La animaciÃ³n dura 35 segundos. Si quieres que vaya mÃ¡s rÃ¡pido, bÃ¡jale el nÃºmero */
    animation: scroll-infinito 35s linear infinite; 
}

/* Pausa la animaciÃ³n si el usuario pone el ratÃ³n encima */
.carrusel-track:hover {
    animation-play-state: paused;
}

/* --- Las portadas --- */
.portada-slide {
    height: 350px; /* Altura fija */
    aspect-ratio: 3 / 4; /* Mantenemos la proporciÃ³n perfecta de libro */
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.15);
    transition: transform 0.3s ease;
    cursor: pointer;
}

.portada-slide:hover {
    transform: scale(1.05); /* Crece un poquito al pasar el ratÃ³n */
}

/* --- La animaciÃ³n clave --- */
@keyframes scroll-infinito {
    0% {
        transform: translateX(0);
    }
    100% {
        /* Se desplaza exactamente la mitad (porque duplicamos las imÃ¡genes) */
        transform: translateX(-50%); 
    }
}

/* --- RESPONSIVO --- */
@media (max-width: 768px) {
    .contenedor-hero-textos h1 {
        font-size: 34px;
    }
    .portada-slide {
        height: 250px; /* Portadas mÃ¡s chicas en celulares */
    }
}
/* =========================================
   13. PRELOADER Y ANIMACIONES (NUEVO)
   ========================================= */

#preloader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #ffffff;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: opacity 0.5s ease-in-out, visibility 0.5s ease-in-out;
}

#preloader.oculto {
    opacity: 0;
    visibility: hidden;
}

.loader-logo {
    width: 120px;
    margin-bottom: 20px;
    animation: pulso-loader 1.5s infinite alternate ease-in-out;
}

.loader-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #1a5b9e;
    border-radius: 50%;
    animation: giro-loader 1s linear infinite;
}

@keyframes pulso-loader {
    0% { transform: scale(0.9); opacity: 0.8; }
    100% { transform: scale(1.1); opacity: 1; }
}

@keyframes giro-loader {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Animaciones de Scroll */
.animar-elemento {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.animar-elemento.visible {
    opacity: 1;
    transform: translateY(0);
}

.retraso-1 { transition-delay: 0.1s; }
.retraso-2 { transition-delay: 0.2s; }
.retraso-3 { transition-delay: 0.3s; }

/* =========================================
   14. MENÚ RESPONSIVO (NUEVO)
   ========================================= */

.menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 28px;
    color: #1a5b9e;
    cursor: pointer;
    z-index: 1001;
}

@media (max-width: 900px) {
    .menu-toggle {
        display: block;
    }
    
    .navegacion {
        position: fixed;
        top: 0;
        right: -100%;
        width: 250px;
        height: 100vh;
        background-color: #ffffff;
        box-shadow: -5px 0 15px rgba(0,0,0,0.1);
        transition: right 0.3s ease-in-out;
        z-index: 1000;
        padding-top: 80px;
    }
    
    .navegacion.abierto {
        right: 0;
    }
    
    .navegacion > ul {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .navegacion > ul > li {
        width: 100%;
        margin-left: 0;
    }
    
    .navegacion ul li a {
        display: block;
        padding: 15px 20px;
        border-bottom: 1px solid #f0f0f0;
    }
    
    .navegacion ul li.dropdown {
        position: relative;
        width: 100%;
    }
    
    .submenu {
        position: static;
        box-shadow: none;
        background-color: #f9f9f9;
        display: none;
        padding-left: 15px;
    }
    
    .navegacion ul li.dropdown:hover .submenu {
        display: block;
    }
}

