/* Smooth Page Transitions Base */
html.spt-animating-7e9b4147 {
    overflow-x: hidden;
}
body {
    transition-property: opacity, transform;
}

/* Fade Transition */
body.spt-enter-fade-7e9b4147 {
    opacity: 0;
}
body.spt-enter-active-fade-7e9b4147 {
    opacity: 1;
    transition: opacity var(--spt-duration-7e9b4147) var(--spt-easing-7e9b4147);
}
body.spt-leave-active-fade-7e9b4147 {
    opacity: 0;
    transition: opacity var(--spt-duration-7e9b4147) var(--spt-easing-7e9b4147);
}

/* Slide Transition */
body.spt-enter-slide-7e9b4147 {
    opacity: 0;
    transform: translateY(20px);
}
body.spt-enter-active-slide-7e9b4147 {
    opacity: 1;
    transform: translateY(0);
    transition: all var(--spt-duration-7e9b4147) var(--spt-easing-7e9b4147);
}
body.spt-leave-active-slide-7e9b4147 {
    opacity: 0;
    transform: translateY(-20px);
    transition: all var(--spt-duration-7e9b4147) var(--spt-easing-7e9b4147);
}

/* Zoom Transition */
body.spt-enter-zoom-7e9b4147 {
    opacity: 0;
    transform: scale(0.97);
}
body.spt-enter-active-zoom-7e9b4147 {
    opacity: 1;
    transform: scale(1);
    transition: all var(--spt-duration-7e9b4147) var(--spt-easing-7e9b4147);
}
body.spt-leave-active-zoom-7e9b4147 {
    opacity: 0;
    transform: scale(1.03);
    transition: all var(--spt-duration-7e9b4147) var(--spt-easing-7e9b4147);
}

/* Curtain Transition */
body::after {
    content: '';
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: #000;
    z-index: 999999;
    pointer-events: none;
    transition: transform var(--spt-duration-7e9b4147) var(--spt-easing-7e9b4147);
    transform: scaleY(0);
    transform-origin: top;
    opacity: 0;
}
body.spt-type-curtain-7e9b4147::after {
    opacity: 1;
}
body.spt-enter-curtain-7e9b4147::after {
    transform: scaleY(1);
    transform-origin: bottom;
}
body.spt-enter-active-curtain-7e9b4147::after {
    transform: scaleY(0);
}
body.spt-leave-active-curtain-7e9b4147::after {
    transform: scaleY(1);
    transform-origin: top;
}
