/* ============================================
   Elementor Overlay Welcome - Core Styles
   ============================================ */

.eo-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: var(--eo-z-index, 99999);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--eo-anim-duration, 400ms) ease,
                visibility var(--eo-anim-duration, 400ms) ease;
}

.eo-overlay.eo-active {
    opacity: 1;
    visibility: visible;
}

.eo-overlay .eo-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--eo-backdrop-color, #000000);
    opacity: var(--eo-backdrop-opacity, 0.85);
    z-index: 1;
    cursor: pointer;
}

.eo-overlay .eo-container {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.eo-overlay .eo-content {
    width: 100%;
    max-height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    /* Smooth scrolling */
    scroll-behavior: smooth;
}

.eo-overlay .eo-content-inner {
    transition-property: transform, opacity;
    transition-timing-function: ease;
}

/* ============================================
   Animation Variants
   ============================================ */

/* Fade */
.eo-overlay.eo-anim-fade .eo-content-inner {
    opacity: 0;
}
.eo-overlay.eo-anim-fade.eo-active .eo-content-inner {
    opacity: 1;
}

/* Slide Up */
.eo-overlay.eo-anim-slide-up .eo-content-inner {
    opacity: 0;
    transform: translateY(60px);
}
.eo-overlay.eo-anim-slide-up.eo-active .eo-content-inner {
    opacity: 1;
    transform: translateY(0);
}

/* Slide Down */
.eo-overlay.eo-anim-slide-down .eo-content-inner {
    opacity: 0;
    transform: translateY(-60px);
}
.eo-overlay.eo-anim-slide-down.eo-active .eo-content-inner {
    opacity: 1;
    transform: translateY(0);
}

/* Scale */
.eo-overlay.eo-anim-scale .eo-content-inner {
    opacity: 0;
    transform: scale(0.9);
}
.eo-overlay.eo-anim-scale.eo-active .eo-content-inner {
    opacity: 1;
    transform: scale(1);
}

/* None */
.eo-overlay.eo-anim-none .eo-content-inner {
    opacity: 0;
}
.eo-overlay.eo-anim-none.eo-active .eo-content-inner {
    opacity: 1;
}

/* ============================================
   Body Lock (Prevents Background Scrolling)
   ============================================ */

body.eo-locked {
    overflow: hidden !important;
    padding-right: var(--eo-scrollbar-width, 0px);
}

/* ============================================
   Scrollbar Styling Inside Overlay
   ============================================ */

.eo-overlay .eo-content::-webkit-scrollbar {
    width: 8px;
}

.eo-overlay .eo-content::-webkit-scrollbar-track {
    background: transparent;
}

.eo-overlay .eo-content::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

.eo-overlay .eo-content::-webkit-scrollbar-thumb:hover {
    background: rgba(0, 0, 0, 0.3);
}

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 768px) {
    .eo-overlay .eo-content {
        max-height: 100vh;
    }
}