/* Estilos CSS basicos de todas las páginas, el header y el buscador */

/* Reset general */

* {
    user-select: none;
}

html, body {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: 'Poppins', Arial, sans-serif;
    scroll-behavior: smooth;
    background-color: #f4f4f4;
    color: #333;
}

/* Colores generales de todas las páginas */

:root {
    --azul-general: rgb(10, 10, 128);
    --rojo-general: rgb(225, 20, 33);
    --rojo-general-carrusel: rgba(153, 0, 0, 0.6);
    --rojo-general-hover: rgb(255, 47, 61);
}

/* Ajuste del tamaño de las Páginas */

.contenedor-central {
    box-sizing: border-box;
    width: 100%;
    /*max-width: 1600px;*/ /*Tamaño Wikipedia*/
    max-width: 2550px; /*Tamaño Apple */
    margin: 0 auto;
}

/* Ajuste del tamaño de pantalla del contenido */

.contenedor-body {
    box-sizing: border-box;
    width: 100%;
    margin: 20px auto;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

/* Estilos generales para el encabezado */

.new-header {
    box-sizing: border-box;
    width: 100%;
    position: relative;
    background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.24)), url('../../img/header/fondo.jpg');
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: rgb(255, 255, 255);
    text-align: center;
    overflow: hidden;
    margin-bottom: 20px;
    padding: 30px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Desabilitar un boton */

.desabilitar-btn {
    cursor: default;
    text-decoration: none;
    pointer-events: none;
}

/* Botones en el encabezado */

.header-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.header-button {
    padding: 8px 15px;
    width: 80px;
    /*width: 95px;*/ /* Para cuando se habiliten las actividades */
    height: 20px;
    line-height: 20px;
    background-color: rgba(255, 0, 0, 0.65);
    color: #fff;
    font-size: 16px;
    border-radius: 10px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.3);
    text-decoration: none;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.header-button:hover {
    background-color: rgba(255, 0, 0, 0.3);
    transform: translateY(-3px);
}

/* Estilos del icono de index */

.header-icon {
    width: 35px;
    height: 35px;
    font-size: 30px;
    line-height: 38px;
    /* transition: background-color 0.3s ease, transform 0.3s ease; */
    /* transition: opacity 0.3s ease, transform 0.3s ease; */
    opacity: 0.8;
}

.header-icon i {
    color: var(--rojo-general);
}

/*
.header-icon:hover {
    opacity: 0.5;
    transform: translateY(-3px);
}
*/

/* Link en titulo del menu desplegable */

.dropdown .header-button-menu {
    color: #fff;
    text-decoration: none;
}

/* Estilos para el menú desplegable */

.dropdown .submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    list-style-type: none;
    padding: 0;
    margin: 0;
    width: 100%;
    border-radius: 0px 0px 10px 10px;
}

.dropdown .submenu ul {
    list-style: none; /* Quitar viñetas de la lista */
    display: flex;    /* Convertir la lista en un contenedor flexible */
}

.dropdown .submenu li {
    background-color: rgba(255, 0, 0, 0.685);
    color: gray;
}

.dropdown .submenu li:last-child {
    border-radius: 0px 0px 10px 10px;
}

.dropdown .submenu li:hover {
    background-color: rgba(255, 0, 0, 0.3);
}

.dropdown .submenu li a {
    line-height: 20px;
    display: flex;                /* Convertir el enlace en un contenedor flexible */
    justify-content: center;      /* Centrar horizontalmente */
    align-items: center;          /* Centrar verticalmente */
    text-align: center;           /* Centrar el texto dentro del contenedor */
    white-space: normal;          /* Permitir que el texto se divida en varias líneas */
    word-wrap: break-word;        /* Romper palabras largas si es necesario */
    height: auto;                 /* Ajustar la altura automáticamente */

    padding: 4px 16px;
    text-decoration: none;
    color: white;
}

.dropdown:hover .submenu {
    display: block;
}

.dropdown:hover {
    background-color: rgba(255, 0, 0, 0.685);
    display: block;
    border-radius: 10px 10px 0px 0px;
}

/* logo */

.logo-container {
    margin: 30px 0px 18px 0px;
}

.logo {
    width: 350px;
    animation: fadeInDown 1.5s ease;
}

/* Texto principal del encabezado */

.header-text {
    max-width: 750px;
    animation: fadeInUp 1.5s ease;
    margin: 0 auto;
}

.header-title {
    font-size: 2.5rem;
    margin: 0px;
    letter-spacing: 1px;
    animation: slideInFromLeft 1.2s ease-in-out;
}

.header-subtitle {
    font-size: 1.8rem;
    color: rgba(255, 255, 255, 0.8);
    animation: slideInFromRight 1.5s ease-in-out;
    margin: 20px 0px 25px 0px;
}

/* Botón de llamada a la acción */

.cta-button {
    display: inline-block;
    padding: 15px 30px;
    background-color: var(--rojo-general);
    color: #fff;
    font-size: 1.2rem;
    border-radius: 50px;
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.3);
    transition: background-color 0.3s ease, transform 0.3s ease;
    text-decoration: none;
}

.cta-button:hover {
    background-color: var(--rojo-general-hover);
    transform: translateY(-5px);
}

/* Buscador */

.contenedor-buscar{
    box-sizing: border-box;
    width: 100%;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.buscador {
    margin: 0 auto;
    width: 80%;
    text-align: left;
}

.buscar {
    box-sizing: border-box;
    width: 100%;
    padding: 12px 20px;
    font-size: 16px;
    border: 2px solid #ddd;
    border-radius: 4px;
}

.resultados {
    margin-top: 10px;
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 4px;
    max-height: 300px;
    overflow-y: auto;
}

.resultado {
    padding: 10px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
}

.resultado:hover {
    background-color: #f5f5f5;
}

.tipo {
    flex: 0 0 120px;
    width: 120px;
    font-weight: bold;
    color: #555;
}

.info {
    flex: 1;
    min-width: 0;
}


.coincidencia {
    background-color: yellow;
    font-weight: bold;
}

.info-asociada {
    font-size: 0.9em;
    color: #665;
    margin-top: 3px;
}

/* Ajustes para pantallas medianas */
@media (max-width: 992px) {
    .header-title {
        font-size: 2rem;
    }
    .header-subtitle {
        font-size: 1.45rem;
    }
    .logo {
        width: 250px;
    }
    .cta-button {
        padding: 15px 25px;
        font-size: 1rem;
    }
}

/* Ajustes para pantallas pequeñas */
@media (max-width: 768px) {
    .header-title {
        font-size: 1.5rem;
    }
    .header-subtitle {
        font-size: 1.05rem;
    }
    .logo {
        width: 200px;
    }
    .cta-button {
        padding: 13px 20px;
        font-size: 1.05rem;
    }
}

/* Ajustes para pantallas muy pequeñas (móviles) */
@media (max-width: 576px) {
    .header-title {
        font-size: 1rem;
    }
    .header-subtitle {
        font-size: 0.8rem;
    }
    .cta-button {
        padding: 10px 18px;
        font-size: 0.8rem;
    }
    .header-icon {
        width: 30px;
        height: 30px;
        font-size: 26px;
        line-height: 31px;
    }
    .header-button {
        padding: 6px 15px;
        width: 70px;
        font-size: 14px;
    }
    .dropdown .submenu li a {
        line-height: 20px;
    }
}

