
/*** Spinner Start ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .8s ease-out, visibility 0s linear .5s;
    z-index: 99999;
 }

 #spinner.show {
     transition: opacity .8s ease-out, visibility 0s linear .0s;
     visibility: visible;
     opacity: 1;
 }
/*** Spinner End ***/

.back-to-top {
    position: fixed;
    right: 30px;
    bottom: 30px;
    display: flex;
    width: 45px;
    height: 45px;
    align-items: center;
    justify-content: center;
    transition: 0.5s;
    z-index: 99;
}

.fw-thin {
    font-weight: 100;
}

.text-uppercase {
    font-size: 14px;
}

/*** Button Start ***/
.btn {
    font-weight: 600;
    transition: .5s;
}

.btn-square {
    width: 32px;
    height: 32px;
}

.btn-sm-square {
    width: 34px;
    height: 34px;
}

.btn-md-square {
    width: 44px;
    height: 44px;
}

.btn-lg-square {
    width: 56px;
    height: 56px;
}

.btn-square,
.btn-sm-square,
.btn-md-square,
.btn-lg-square {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: normal;
}

.link-hover {
    transition: 0.5s;
}

.link-hover:hover {
    color: var(--bs-primary) !important;
}


.img-zoomin {
    transition: 0.5s;
}

.img-zoomin:hover {
    transform: scale(1.1);
}

/*** Topbar Start ***/
.sticky-top {
    transition: 0.5s;
    background: var(--bs-white);
}

.topbar {
    padding: 10px 0;
}

.topbar .top-info {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
}

.topbar .top-link {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
}

@media (max-width: 1400px) {
    .sticky-top .top-link {
        display: none;
    }
    
}

.topbar .top-link a {
    font-size: medium;
    font-weight: 400;
    font-family: 'Montserrat', sans-serif;
    letter-spacing: 1px;
}

.topbar .top-link a small:hover {
    color: var(--bs-secondary) !important;
    transition: 0.5s;
}

.topbar .top-link a small:hover i {
    color: var(--bs-primary) !important;
}

.topbar-scroll-container {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.topbar-scroll-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
}

.topbar-scroll-content {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    gap: 3rem;
    padding-left: 0.5rem;
    height: 100%;
    transform: translate3d(0, 0, 0);
    will-change: transform;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    pointer-events: auto;
    position: relative;
}

.topbar-news-item {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    white-space: nowrap;
    gap: 0.5rem;
    contain: layout;
}

.topbar-news-img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 3px solid var(--bs-primary);
    object-fit: cover;
    flex-shrink: 0;
}

.topbar-news-text {
    color: white;
    margin: 0;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.topbar-news-text:hover {
    color: var(--bs-primary) !important;
}

/* Optimizaciones para animación suave sin temblores */
.topbar-scroll-content {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform-style: flat;
    -webkit-transform-style: flat;
    isolation: isolate;
}

/*** Features Section ***/
.features-image-wrapper {
    width: 100%;
    padding-bottom: 100%; /* Mantener relación 1:1 para círculo perfecto */
    position: relative;
}

.features-image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    overflow: hidden;
}

.features-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Estilos para imagen principal del slider Features - tamaño fijo y recorte */
.features-main-image-container {
    width: 100%;
    height: 400px; /* Altura fija para la imagen principal del slider */
    position: relative;
    overflow: hidden;
}

.features-main-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

.features-badge {
    top: 10%;
    right: -10px;
    z-index: 10;
}

.features-title {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
    min-height: 4.2em; /* Asegurar altura mínima para 3 líneas */
    max-height: 4.2em; /* Limitar altura máxima a 3 líneas */
}

/*** Topbar End ***/

/*** Navbar Start ***/
.navbar .navbar-nav .nav-link {
    padding: 10px 15px;
    font-weight: 400;
    font-family: 'Fredoka', sans-serif;
    font-size: 16px;
    transition: .5s;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active,
.sticky-top.bg-white .navbar .navbar-nav .nav-link:hover,
.sticky-top.bg-white .navbar .navbar-nav .nav-link.active {
    color: var(--bs-primary);
}

.navbar .dropdown-toggle::after {
    border: none;
    content: "\f107";
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    vertical-align: middle;
    margin-left: 8px;
}

@media (min-width: 1200px) {
    .navbar .nav-item .dropdown-menu {
        display: block;
        visibility: hidden;
        top: 100%;
        font-weight: 400;
        font-family: 'Fredoka', sans-serif;
        transform: rotateX(-75deg);
        transform-origin: 0% 0%;
        border: 0;
        transition: .5s;
        opacity: 0;
    }
}

.dropdown .dropdown-menu a:hover {
    background: var(--bs-secondary);
    color: var(--bs-primary);
}

.navbar .nav-item:hover .dropdown-menu {
    transform: rotateX(0deg);
    visibility: visible;
    background: var(--bs-light) !important;
    border-radius: 10px !important;
    transition: .5s;
    opacity: 1;
}

@media (min-width: 1200px) {
    .navbar .navbar-collapse .border-top {
        border-top: none !important;
    }
}

#searchModal .modal-content {
    background: rgba(255, 255, 255, .95);
}

/* Modal de búsqueda sin backdrop - se ha deshabilitado completamente */
/* El backdrop está deshabilitado mediante data-bs-backdrop="false" */

/* El modal de búsqueda debe estar por encima del backdrop */
#searchModal.modal {
    z-index: 1060 !important;
    position: fixed !important;
}

#searchModal.modal.show {
    z-index: 1060 !important;
    display: block !important;
}

#searchModal .modal-dialog {
    z-index: 1060 !important;
    pointer-events: none; /* Bootstrap default - permite que eventos pasen al modal-content */
    margin: 0 !important;
}

#searchModal .modal-content {
    z-index: 1060 !important;
    position: relative !important;
    pointer-events: auto !important; /* CRÍTICO: Asegurar que el contenido sea interactivo */
    background: rgba(255, 255, 255, .95) !important;
}

#searchModal .modal-header {
    pointer-events: auto !important;
    z-index: 1;
}

#searchModal .modal-body {
    pointer-events: auto !important;
    z-index: 1;
}

#searchModal #searchForm {
    pointer-events: auto !important;
    position: relative !important;
    z-index: 2 !important;
}

#searchModal #searchInput {
    position: relative !important;
    z-index: 3 !important;
    pointer-events: auto !important;
    cursor: text !important;
    background-color: #fff !important;
}

#searchModal #search-icon-1 {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 3 !important;
}
/*** Navbar End ***/


/*** Features Start ***/
.features {
    width: 100%;
    background: linear-gradient(rgba(26, 125, 255, 0.5), rgba(255, 255, 255, 0.3)), url(../img/golden.jpg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: scroll;
}

/* Responsive para Features - ajuste en dispositivos móviles */
@media (max-width: 768px) {
    .features {
        background-size: cover;
        background-position: center center;
    }
}

@media (max-width: 576px) {
    .features {
        background-size: cover;
        background-position: center center;
    }
}
/*** Features End ***/


/*** Top News Start ***/
.news-2 h3 {
    position: relative;
}

.news-2 h3::after {
    content: "";
    line-height: 1.3rem;
    background: var(--bs-secondary);
    position: absolute;
    width: 68%;
    top: 50%;
    transform: translateY(-50%);
    height: 1px;
    right: 0;
    opacity: 0.2;
}
/*** Top News End ***/


/*** Latest News Start ***/
.latest-news .latest-news-carousel.owl-carousel{
    position: relative;
}

.latest-news .latest-news-carousel.owl-carousel .owl-nav .owl-prev {
    position: absolute;
    top: -65px;
    right: 70px;
    font-size: 20px;
    padding: 2px 20px;
    transition: 0.5s;
    margin-right: 10px;
    border: 1px solid var(--bs-primary);
    color: var(--bs-dark);
    border-radius: 20px;
}

.latest-news .latest-news-carousel.owl-carousel .owl-nav .owl-next {
    position: absolute;
    top: -65px;
    right: 0;
    font-size: 20px;
    margin-left: 10px;
    padding: 2px 20px;
    transition: 0.5s;
    border: 1px solid var(--bs-primary);
    color: var(--bs-dark);
    border-radius: 20px;
}

.latest-news .latest-news-carousel.owl-carousel .owl-nav .owl-prev:hover,
.latest-news .latest-news-carousel.owl-carousel .owl-nav .owl-next:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
    border-radius: 10px;
}

/* Estilos para imágenes del carrusel Latest News - tamaño fijo y recorte */
.latest-news-image-container {
    width: 100%;
    height: 250px; /* Altura fija para todas las imágenes */
    position: relative;
    overflow: hidden;
}

.latest-news-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/* Estilos para títulos - máximo 3 líneas */
.latest-news-title {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Máximo 3 líneas */
    line-clamp: 3; /* Propiedad estándar para compatibilidad */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2; /* Interlineado más compacto como en el diseño */
    min-height: 3.6em; /* Altura mínima para 3 líneas con interlineado compacto */
    max-height: 3.6em; /* Altura máxima para 3 líneas con interlineado compacto */
    margin-bottom: 0.5rem;
}

/* Estilos para autor - una línea sin cortarse */
.latest-news-author {
    white-space: nowrap; /* No cortar el texto */
    overflow: hidden;
    text-overflow: ellipsis; /* Mostrar ... si es muy largo */
    max-width: 100%; /* Ajustarse al contenedor */
    flex-shrink: 1; /* Permitir que se reduzca si es necesario */
}

/*** Latest News End ***/

/*** Sidebar Images Start ***/
/* Estilos para imagen grande del sidebar (primera noticia) */
.sidebar-image-large-container {
    width: 100%;
    height: 300px; /* Altura más grande según diseño */
    position: relative;
    overflow: hidden;
}

.sidebar-image-large {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/* Estilos para imágenes pequeñas del sidebar (noticias pequeñas) */
.sidebar-image-small-container {
    width: 100%;
    height: 100px; /* Altura más grande para imágenes pequeñas (col-5) */
    position: relative;
    overflow: hidden;
}

.sidebar-image-small {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/*** Sidebar Images End ***/

/*** Top Story Image Start ***/
/* Estilos para imagen de Top Story */
.top-story-image-container {
    width: 100%;
    height: 300px; /* Altura más grande para la imagen de Top Story */
    position: relative;
    overflow: hidden;
}

.top-story-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/*** Top Story Image End ***/

/*** Featured Image Start ***/
/* Estilos para imagen destacada (Main Post Section) */
.featured-image-container {
    width: 100%;
    height: 500px; /* Altura fija para la imagen destacada */
    position: relative;
    overflow: hidden;
}

.featured-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/*** Featured Image End ***/

/*** What's New Images Start ***/
/* Estilos para imagen principal de What's New */
.whats-new-main-image-container {
    width: 100%;
    height: 400px; /* Altura fija para la imagen principal */
    position: relative;
    overflow: hidden;
}

.whats-new-main-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/* Estilos para imágenes pequeñas de What's New */
.whats-new-small-image-container {
    width: 100%;
    height: 100px; /* Altura fija para las imágenes pequeñas */
    position: relative;
    overflow: hidden;
}

.whats-new-small-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/*** What's New Images End ***/

/*** Most Viewed News Images Start ***/
/* Estilos para imágenes de Noticias Más Vistas */
.most-viewed-image-container {
    width: 100%;
    height: 250px; /* Altura fija para las imágenes del carrusel */
    position: relative;
    overflow: hidden;
}

.most-viewed-image {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Recorta la imagen manteniendo proporción */
    object-position: center; /* Centra la imagen al recortar */
    display: block;
}

/* Estilos para títulos de Noticias Más Vistas - máximo 3 líneas */
.most-viewed-title {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Máximo 3 líneas */
    line-clamp: 3; /* Propiedad estándar para compatibilidad */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
    min-height: 3.9em; /* Altura mínima para 3 líneas */
    max-height: 3.9em; /* Altura máxima para 3 líneas */
}

/*** Most Viewed News Images End ***/

/*** Featured Title Start ***/
/* Estilos para título destacado - máximo 3 líneas */
.featured-title {
    display: -webkit-box;
    -webkit-line-clamp: 3; /* Máximo 3 líneas */
    line-clamp: 3; /* Propiedad estándar para compatibilidad */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.2; /* Interlineado más compacto como en el diseño */
    min-height: 3.6em; /* Altura mínima para 3 líneas con interlineado compacto */
    max-height: 3.6em; /* Altura máxima para 3 líneas con interlineado compacto */
}

/*** Featured Title End ***/


/*** Whats New Start ***/
.populer-news .whats-carousel.owl-carousel {
    position: relative;
}

.populer-news .whats-carousel.owl-carousel .owl-nav .owl-prev {
    position: absolute;
    top: -80px;
    right: 70px;
    font-size: 20px;
    padding: 2px 20px;
    transition: 0.5s;
    margin-right: 10px;
    border: 1px solid var(--bs-primary);
    color: var(--bs-dark);
    border-radius: 20px;
}

.populer-news .whats-carousel.owl-carousel .owl-nav .owl-next {
    position: absolute;
    top: -80px;
    right: 0;
    font-size: 20px;
    margin-left: 10px;
    padding: 2px 20px;
    transition: 0.5s;
    border: 1px solid var(--bs-primary);
    color: var(--bs-dark);
    border-radius: 20px;
}

.populer-news .whats-carousel.owl-carousel .owl-nav .owl-prev:hover,
.populer-news .whats-carousel.owl-carousel .owl-nav .owl-next:hover {
    background: var(--bs-primary);
    color: var(--bs-white);
    border-radius: 10px;
}

.populer-news .tab-class .nav-item a.active {
    background: var(--bs-primary) !important;
}

.lifestyle .lifestyle-item {
    position: relative;
    overflow: hidden;
    height: 400px;
}

.lifestyle .lifestyle-item img {
    transition: 0.5s;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

.lifestyle .lifestyle-item .lifestyle-image {
    height: 100%;
    object-fit: cover;
}

.lifestyle .lifestyle-item:hover img {
    transform: scale(1.2);
}

.lifestyle .lifestyle-item .lifestyle-content {
    position: absolute;
    width: 100%; 
    height: 100%; 
    top: 0; 
    left: 0; 
    padding: 20px; 
    display: flex; 
    flex-direction: column; 
    background: rgba(0, 0, 0, 0.3);
    border-radius: 10px;
}
/*** Whats New End ***/


/*** Banner Section start ***/
.banner-2 {
    position: relative;
}

.banner-content-2 {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: linear-gradient(rgba(26, 125, 255, 0.7), rgba(255, 255, 255, 0.7));
    z-index: 2;
}
/*** Banner Section End ***/

/*** Anuncios Laterales Start ***/
.anuncio-lateral {
    display: none; /* Oculto por defecto en móviles */
}

/* Mostrar solo en pantallas grandes (desktop) */
@media (min-width: 1400px) {
    .anuncio-lateral {
        display: block;
    }
    
    /* Posicionamiento fijo centrado verticalmente */
    .anuncio-lateral-izquierdo {
        position: fixed;
        left: 20px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 999;
        transition: opacity 0.3s ease;
    }
    
    .anuncio-lateral-derecho {
        position: fixed;
        right: 20px;
        top: 50%;
        transform: translateY(-50%);
        z-index: 999;
        transition: opacity 0.3s ease;
    }
    
    /* Ajustar cuando hay navbar sticky */
    .sticky-top ~ * .anuncio-lateral {
        top: calc(50% + 60px) !important;
    }
    
    /* Evitar que se superpongan con el contenido */
    .anuncio-lateral {
        pointer-events: auto;
    }
}

/* Ajustes para pantallas muy grandes */
@media (min-width: 1600px) {
    .anuncio-lateral-izquierdo {
        left: calc((100vw - 1320px) / 2 - 200px) !important;
    }
    
    .anuncio-lateral-derecho {
        right: calc((100vw - 1320px) / 2 - 200px) !important;
    }
}

/* Ocultar en pantallas medianas y pequeñas */
@media (max-width: 1399px) {
    .anuncio-lateral {
        display: none !important;
    }
}

/* Asegurar que no interfieran con modales o elementos superpuestos */
.modal-open .anuncio-lateral {
    z-index: 1040;
}
/*** Anuncios Laterales End ***/


/*** Footer Start ***/
.footer button:hover {
    background: var(--bs-white) !important;
    color: var(--bs-primary) !important;
}

.footer .footer-item-1 .line-h {
    line-height: 38px;
}

.footer .footer-item-1 a i {
    transition: 0.5s;
}

.footer .footer-item-1 a:hover i {
    color: var(--bs-primary) !important;
}

.footer .footer-item-3 a {
    line-height: 38px;
}

.footer .footer-item-2 a {
    transition: 0.5s;
}

.footer .footer-item-2 a:hover {
    color: var(--bs-primary) !important;
}

.footer .footer-item-3 a {
    transition: 0.5s;
}

.footer .footer-item-3 a:hover {
    color: var(--bs-primary) !important;
}

.copyright {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}
/*** Footer End ***/

/* Popular News Images - Recorte circular sin estirar */
.popular-news-image-container {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.popular-news-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Footer Recent Posts Images - Recorte circular */
.footer-recent-image-container {
    width: 80px;
    height: 80px;
    min-width: 80px;
    min-height: 80px;
    overflow: hidden;
}

.footer-recent-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Footer Gallery Images - Recorte cuadrado */
.footer-gallery-image-container {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.footer-gallery-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

