/**
 * Lenis Smooth Scroll Styles
 * assets/css/lenis-styles.css
 */

/* Asegurar que el scroll funcione correctamente */
html.lenis {
    height: auto;
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

/* Optimizaciones de performance */
body {
    overscroll-behavior: none;
}

/* Estilos para elementos que usan scroll to */
.smooth-scroll-trigger {
    cursor: pointer;
    transition: all 0.3s ease;
}

.smooth-scroll-trigger:hover {
    transform: translateY(-2px);
}

/* Indicador de carga para smooth scroll */
.lenis-loading {
    overflow: hidden;
}

.lenis-loading * {
    animation-play-state: paused !important;
}

/* Mejoras para dispositivos móviles */
@media (max-width: 768px) {
    .lenis-mobile-optimized {
        touch-action: pan-y;
    }
}

/* Fixes específicos para popups de Elementor con data-lenis-prevent */
.dialog-lightbox-widget[data-lenis-prevent],
.elementor-popup-modal[data-lenis-prevent],
[data-lenis-prevent] {
    /* Forzar scroll nativo en elementos con data-lenis-prevent */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: auto !important;
}

.dialog-lightbox-widget .dialog-content,
.dialog-lightbox-widget .dialog-message,
.elementor-popup-modal__content,
#elementor-popup-modal-117 .elementor-popup-modal__content {
    /* Scroll interno robusto para contenido de popup */
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: auto !important;
    max-height: 85vh !important;
    overscroll-behavior: contain !important;
    /* Asegurar que el contenido sea scrollable */
    min-height: min-content;
}

/* Forzar contexto de scroll independiente para popups */
.dialog-lightbox-widget,
.elementor-popup-modal,
#elementor-popup-modal-117 {
    position: fixed !important;
    z-index: 9999 !important;
    contain: layout style !important;
    overflow: hidden !important;
}

/* Contenedor específico del popup del menú */
#elementor-popup-modal-117 {
    /* Asegurar scroll independiente */
    contain: layout style paint !important;
}

/* Prevenir interferencia de Lenis en popups */
[data-lenis-prevent] * {
    scroll-behavior: auto !important;
}

/* Estilos adicionales para móviles */
@media (max-width: 768px) {
    .dialog-lightbox-widget .dialog-content,
    .elementor-popup-modal__content {
        max-height: 90vh !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
    }
}