/* Curtain-like preloader styles */
#oasis-preloader.oasis-preloader {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    pointer-events: none;
}

#oasis-preloader .curtain {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    background: #000000;
    transform: translateX(0);
    transition: transform 900ms cubic-bezier(.2,.8,.2,1);
    will-change: transform;
}

#oasis-preloader .curtain.left {
    left: 0;
}

#oasis-preloader .curtain.right {
    right: 0;
}

#oasis-preloader .preloader-center {
    position: relative;
    z-index: 110000;
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* White circle background */
#oasis-preloader .preloader-center::before {
    content: '';
    position: absolute;
    width: 100px;
    height: 100px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 8px 32px rgba(255,255,255,0.15);
    z-index: -1;
}

#oasis-preloader .preloader-center img,
#oasis-preloader .preloader-center .favicon,
#oasis-preloader .preloader-center .preloader-logo {
    width: 50px;
    height: 50px;
    max-width: 50px;
    max-height: 50px;
    object-fit: contain;
    z-index: 110001;
    position: relative;
}

/* Open state: curtains move outwards */
#oasis-preloader.open .curtain.left {
    transform: translateX(-110%);
}

#oasis-preloader.open .curtain.right {
    transform: translateX(110%);
}

/* Fade out center then remove */
#oasis-preloader.open .preloader-center {
    opacity: 0;
    transition: opacity 400ms ease 200ms;
}

/* hide after animation */
#oasis-preloader.removed {
    display: none !important;
}

/* Prevent page scroll while preloader active */
body.has-preloader {
    overflow: hidden !important;
}