/* 
 * CSS for GSAP Animator - FINAL "ISOLATION WRAPPER" VERSION
 */

/* Lenis Integration Fix */
body, html {
    overflow-x: hidden !important;
}

/* 
   1. The Outer Elementor Section/Container (.uva-pinner-section)
   This is now just a stable 100vh "viewport" for the animation.
*/
.uva-pinner-section {
    overflow: hidden !important; 
    width: 100% !important; 
    height: 100vh !important; 
    min-height: 100vh !important;
    position: relative;
    padding: 0 !important;
    margin: 0 !important;
}
/* Force Elementor's inner wrappers to obey the viewport */
.uva-pinner-section > .elementor-container,
.uva-pinner-section > .e-con {
    height: 100% !important;
    max-width: none !important;
}

/* 
   2. The Inner "Scroller" (.uva-scroll-container)
*/
.uva-scroll-container {
    display: flex !important;
    flex-wrap: nowrap !important; 
    width: fit-content !important; 
    height: 100% !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* 
   3. Individual Content Items (.uva-horizontal-item)
*/
.uva-horizontal-item {
    flex-shrink: 0 !important; 
    box-sizing: border-box;
    padding: 0 40px;
}

/* 
   Typewriter Effect Styling
*/
.uva-word, .uva-char {
    display: inline-block;
    vertical-align: middle;
    white-space: pre-wrap;
}
/*
 * Preloader Frontend Styles
*/

/* Default CSS Spinner (if no image is uploaded) */
.uva-default-spinner {
    width: 60px;
    height: 60px;
    border: 5px solid rgba(0, 0, 0, 0.1);
    border-left-color: #333;
    border-radius: 50%;
    animation: uva-spin 1s linear infinite;
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -30px 0 0 -30px;
}
@keyframes uva-spin {
    to { transform: rotate(360deg); }
}

/* Exit Animations - Applied via JS */
#uva-preloader-background.uva-exit,
#uva-preloader-icon.uva-exit {
    transition: all 0.8s cubic-bezier(0.7, 0, 0.3, 1);
}

/* Fade Out */
.fade-out {
    opacity: 0;
}

/* Zoom Out */
.zoom-out {
    transform: translate(-50%, -50%) scale(0) !important;
    opacity: 0;
}

/* Slide Up */
.slide-up {
    transform: translateY(-100%);
    opacity: 0;
}
#uva-preloader-icon.slide-up {
    transform: translate(-50%, -150%); /* Adjust for centered icon */
    opacity: 0;
}


/* Slide Down (Background Only) */
#uva-preloader-background.slide-down {
    transform: translateY(100%);
}

/* Slide Left (Background Only) */
#uva-preloader-background.slide-left {
    transform: translateX(-100%);
}

/* Slide Right (Background Only) */
#uva-preloader-background.slide-right {
    transform: translateX(100%);
}

/* Pointer events none to allow interaction after hiding */
#uva-preloader-background.uva-hidden,
#uva-preloader-icon.uva-hidden {
    pointer-events: none;
}
.uva-typewriter-init {
    visibility: hidden; /* Hide the element initially to prevent FOUC */
}