/* Base Overlay Styles */
.apt-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	pointer-events: none;
	z-index: 999999;
	background-color: transparent;
	display: flex;
}

/* For Fade, the overlay doesn't do the visual work, the body does. 
   But we keep it active to block interaction during transition. */
.apt-type-fade {
    background-color: transparent; /* No background color needed, body fades */
    opacity: 0;
}

.apt-type-fade.apt-is-active {
    opacity: 1;
    pointer-events: auto; /* Block clicks while fading out */
}

/* Body transition for a smooth global fade */
body.apt-body-transition {
    transition: opacity var(--apt-duration) var(--apt-easing) !important;
}

/* Ensure opacity 1 when ready */
html.apt-fade-init body.apt-body-ready {
    opacity: 1 !important;
}

/* Zoom */
.apt-type-zoom {
	background-color: #fff;
	transform: scale(0);
	opacity: 0;
	transition: transform var(--apt-duration) var(--apt-easing), opacity var(--apt-duration) var(--apt-easing);
}
.apt-type-zoom.apt-is-active {
	transform: scale(1);
	opacity: 1;
	pointer-events: auto;
}

/* Curtain */
.apt-type-curtain .apt-curtain-left,
.apt-type-curtain .apt-curtain-right {
	width: 50%;
	height: 100%;
	background-color: #fff;
	transition: transform var(--apt-duration) var(--apt-easing);
}
.apt-type-curtain .apt-curtain-left {
	transform: translateX(-100%);
	transform-origin: left;
}
.apt-type-curtain .apt-curtain-right {
	transform: translateX(100%);
	transform-origin: right;
}
.apt-type-curtain.apt-is-active .apt-curtain-left,
.apt-type-curtain.apt-is-active .apt-curtain-right {
	transform: translateX(0);
}
.apt-type-curtain.apt-is-active {
	pointer-events: auto;
}