:root
{
    --blanco: #f9f9f9;
    --azul-oscuro-institucional: #003b5c;
    --azul-oscuro: #0f5d9c;
    --azul-claro-instituciona: #59cbe8;
    --azul-claro: #0377F1;
    --negro: #36383F;
    --gris: #c9d1da;
}

.titulo-content {
    border-radius: 15px;
    padding: 70px;
    margin-bottom: 15px;
}

.titulo-principal {
    font-family: 'Arial', sans-serif;
    color: #ffffff;
    text-align: center;
    line-height: 1.2;
    margin-bottom: 20px;
}

.linea-superior,
.linea-inferior {
    display: block;
    font-size: 1.8rem;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.destacado {
    display: block;
    font-size: 2.5rem;
    font-weight: 700;
    color: #fada28;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin: 10px 0;
}

.fecha-evento {
    font-size: 1.4rem;
    color: #ffffff;
    text-align: center;
    font-weight: 300;
    margin-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
    padding-top: 15px;
}

@media (max-width: 768px) {

    .linea-superior,
    .linea-inferior {
        font-size: 1.4rem;
    }

    .destacado {
        font-size: 2rem;
    }

    .fecha-evento {
        font-size: 1.2rem;
    }
}

.navbar-nav .nav-item .nav-link {
    transition: background-color 0.3s, color 0.3s;
    border-radius: 5px;
    padding: 8px 15px;
}

.navbar-nav .nav-item .nav-link:hover {
    background-color: #ffffff;
    color: #063963 !important;
}

.carousel-card {
    height: 350px;
}
.carousel-card .card-body {
    height: 350px;
    width: 100%;
}

.btn-primario {
    background-color: #063963;
    border-color: #063963;
}

.btn-primary:hover {
    background-color: #052d4e;
    border-color: #052d4e;
}

.carousel-btn {
    padding: 10px 20px;
    font-weight: bold;
}
.conacic-info {
    background-color: #f8f9fa;
}

.conacic-info .btn-primary {
    transition: all 0.3s ease;
}

.conacic-info .btn-primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.btn-margin{
    margin-top: 35px;
}

.bg-gradient {
    background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

.plantilla-card {
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.plantilla-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2) !important;
}

.plantilla-card .btn {
    transition: all 0.3s ease-in-out;
}

.plantilla-card:hover .btn {
    background-color: var(--azul-oscuro);
    color: white;
}

.comite-card {
    border: none;
    border-radius: 15px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.comite-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

.comite-img-container {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    border: 3px solid var(--azul-oscuro);
}

.comite-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.comite-card:hover .comite-img {
    transform: scale(1.1);
}

.card-title {
    color: var(--azul-oscuro);
    font-weight: bold;
    margin-top: 1rem;
}

.card-text {
    color: #6c757d;
}
.texto-principal{
    color: #0f5d9c;
}
.primary-member {
    border: 2px solid var(--azul-oscuro);
    background-color: #f8f9fa;
}

.primary-member .comite-img-container {
    width: 180px;
    height: 180px;
    border: 4px solid var(--azul-oscuro);
}

.primary-member .card-title {
    font-size: 1.25rem;
}

.social-icons a {
    font-size: 1.2rem;
    transition: color 0.3s ease;
}

.social-icons a:hover {
    color: var(--azul-oscuro);
}
/*Portadas libros*/
/* Estilos personalizados para el contenedor general */
.book-center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.book-wrapper {
    width: 100%;
    max-width: 900px;
    position: relative;
    margin: 0 auto;
    column-count: 3;
    column-gap: 12px;
    padding: 4px;
}

.book-items {
    position: relative;
    cursor: default;
    padding: 16px;
    margin: 0;
    display: grid;
    break-inside: avoid;
}

.main-book-wrap {
    position: relative;
}

.book-cover {
    position: relative;
}

.book-cover .book-inside {
    position: absolute;
    width: 90%;
    height: 96%;
    top: 1%;
    left: 16px;
    border: 1px solid grey;
    border-radius: 2px 6px 6px 2px;
    background: white;
    box-shadow: 10px 40px 40px -10px #00000030, inset -2px 0 0 grey,
    inset -3px 0 0 #dbdbdb, inset -4px 0 0 white, inset -5px 0 0 #dbdbdb,
    inset -6px 0 0 white, inset -7px 0 0 #dbdbdb, inset -8px 0 0 white,
    inset -9px 0 0 #dbdbdb;
}

.book-cover .book-image {
    line-height: 0;
    position: relative;
    border-radius: 2px 6px 6px 2px;
    box-shadow: 6px 6px 18px -2px rgba(0, 0, 0, 0.2),
    24px 28px 40px -6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
    transform: perspective(2000px) rotateY(-15deg) translateX(-10px) scaleX(0.94);
    cursor: pointer;
}

.book-image img {
    grid-row: 1 / -1;
    grid-column: 1;
    width: 100%;
    border-radius: 2px 6px 6px 2px;
}

.book-image:hover {
    transform: perspective(2000px) rotateY(0deg) translateX(0px) scaleX(1);
    transform-style: preserve-3d;
    box-shadow: 6px 6px 12px -1px rgba(0, 0, 0, 0.1),
    20px 14px 16px -6px rgba(0, 0, 0, 0.1);
}

.effect {
    position: absolute;
    width: 20px;
    height: 100%;
    margin-left: 16px;
    top: 0;
    border-left: 2px solid #00000010;
    background-image: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.2) 0%,
    rgba(255, 255, 255, 0) 100%
    );
    transition: all 0.5s ease;
    z-index: 5;
}

.light {
    width: 90%;
    height: 100%;
    position: absolute;
    border-radius: 3px;
    background-image: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.2) 100%
    );
    top: 0;
    right: 0;
    opacity: 0.1;
    transition: all 0.5s ease;
    z-index: 4;
}

.book-image:hover .effect {
    margin-left: 14px;
}

.realvjy {
    width: 100%;
    max-width: 900px;
    padding: 20px;
    margin: 0 auto;
    font-family: sans-serif;
    text-align: center;
}

/* Estilos adaptativos para tablets y móviles */
@media (max-width: 992px) { /* Tablets y dispositivos más pequeños */
    .book-wrapper {
        column-count: 2; /* Reduce la cantidad de columnas a 2 en tablets */
    }
}

@media (max-width: 768px) { /* Dispositivos móviles */
    .book-wrapper {
        column-count: 1; /* Una sola columna en móviles */
    }

    .book-items {
        padding: 8px; /* Reduce padding en móviles */
    }

    .book-cover .book-inside {
        left: 8px; /* Ajuste de margen en móviles */
    }

    .book-cover .book-image {
        transform: none; /* Elimina la rotación en móviles para un mejor ajuste */
        box-shadow: 4px 4px 12px -2px rgba(0, 0, 0, 0.2);
    }

    .book-image:hover {
        transform: none; /* Elimina el efecto hover en móviles */
    }
}

/*Pratocinadores*/
.sponsors-section {
    background-color: #f8f9fa;
}

.sponsor-link {
    text-decoration: none;
}

.sponsor-logo {
    max-width: 50px;
    height: auto;
}
/*card book section*/
/* Contenedor de la imagen de la portada */
.card-img-top {
    height: 200px; /* Asegura que la imagen tenga una altura fija */
    object-fit: cover; /* Recorta la imagen si es necesario para llenar el contenedor */
}
.position-relative {
    position: relative;
    overflow: hidden; /* Asegura que el overlay no se salga del contenedor */
}
.card-book{
    display: flex;
    flex-direction: column;
    height: 100%; /* Asegura que la tarjeta ocupe toda la altura del contenedor */
}

.card-body {
    flex-grow: 1; /* Hace que el cuerpo de la tarjeta crezca y ocupe el espacio disponible */
    padding: 15px; /* Mantiene un buen espacio alrededor del contenido */
}

.badge {
    font-size: 0.8rem;
    padding: 5px 10px;
    background-color: #28a745; /* Color verde para la etiqueta "Nuevo" */
    color: white; /* Color del texto de la etiqueta */
}

.shadow-sm {
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* Sombra ligera alrededor de la tarjeta */
}

.btn-outline-primary {
    border-color: #007bff;
    color: #007bff;
}
.card-title-book {
    font-size: 1rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
    height: 2.5em; /* Fija la altura del título para mantener la uniformidad */
    overflow: hidden; /* Evita que el texto se desborde y afecte la altura de la tarjeta */
}

.card-text-book {
    font-size: 0.875rem;
    line-height: 1.2;
    margin-bottom: 0.5rem;
    height: 1.5em; /* Fija la altura del párrafo para mantener la uniformidad */
    overflow: hidden; /* Evita que el texto se desborde */
}
.position-relative {
    position: relative;
    overflow: hidden; /* Asegura que el overlay no se salga del contenedor */
}


