#angie-page-transition-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--e-global-color-primary, #ffffff); /* Fallback to white, assumes Elementor globals */
    z-index: 999999;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
}

/* On initial load, the overlay should cover the screen and then transition out */
html.pt-loading #angie-page-transition-overlay {
    visibility: visible;
}

/* --- Transition Types --- */

/* Fade */
#angie-page-transition-overlay.pt-type-fade {
    opacity: 0;
}
html.pt-loading #angie-page-transition-overlay.pt-type-fade {
    opacity: 1;
}

/* Slide Up */
#angie-page-transition-overlay.pt-type-slide-up {
    transform: translateY(100%);
    opacity: 1;
}
html.pt-loading #angie-page-transition-overlay.pt-type-slide-up {
    transform: translateY(0);
}

/* Slide Down */
#angie-page-transition-overlay.pt-type-slide-down {
    transform: translateY(-100%);
    opacity: 1;
}
html.pt-loading #angie-page-transition-overlay.pt-type-slide-down {
    transform: translateY(0);
}

/* Zoom In (Overlay expands from center) */
#angie-page-transition-overlay.pt-type-zoom-in {
    transform: scale(0);
    border-radius: 50%;
    opacity: 1;
}
html.pt-loading #angie-page-transition-overlay.pt-type-zoom-in {
    transform: scale(3);
}

/* Curtain (Left to right) */
#angie-page-transition-overlay.pt-type-curtain {
    transform: translateX(-100%);
    opacity: 1;
}
html.pt-loading #angie-page-transition-overlay.pt-type-curtain {
    transform: translateX(0);
}