/*!
 * RD Smart Image Reveal — main stylesheet
 * Inline critical styles are also injected via wp_head() for fail-safety.
 */

/* Pending state: hidden + nudged down. */
.rdsir-pending {
	opacity: 0;
	transform: translate3d(0, 24px, 0);
	transition: none; /* GSAP will tween; CSS fallback overrides below */
	will-change: opacity, transform;
}

/* Loaded state: visible. */
.rdsir-loaded {
	opacity: 1;
	transform: none;
	transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Background-image holders default to cover/center to look reasonable. */
[data-bg].rdsir-pending,
[data-bg].rdsir-loaded {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}

/* Reduced-motion users: no animation, ever. */
@media (prefers-reduced-motion: reduce) {
	.rdsir-pending,
	.rdsir-loaded {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* No-JS / scripts disabled fallback. */
.no-js .rdsir-pending,
html.no-js .rdsir-pending {
	opacity: 1 !important;
	transform: none !important;
}
