/**
 * Zen Addons Pro - Display Layer effects.
 * Entrance animations (on-scroll reveal) + device visibility, applied to the
 * widget wrapper by class. Reduced-motion aware.
 */

/* Entrance animations apply only when JS is available to reveal them. The
 * `zanp-js` class is added to <html> early in <head>; without it (JS disabled
 * or unavailable) the widgets stay fully visible and unmoved. */
.zanp-js .zanp-anim {
	opacity: 0;
	transition: opacity 0.6s ease, transform 0.6s ease;
	will-change: opacity, transform;
}

.zanp-js .zanp-anim.zanp-anim--in {
	opacity: 1;
	transform: none;
}

.zanp-js .zanp-anim-fade        { transform: none; }
.zanp-js .zanp-anim-fade-up     { transform: translateY( 30px ); }
.zanp-js .zanp-anim-fade-down   { transform: translateY( -30px ); }
.zanp-js .zanp-anim-zoom        { transform: scale( 0.92 ); }
.zanp-js .zanp-anim-slide-left  { transform: translateX( 40px ); }
.zanp-js .zanp-anim-slide-right { transform: translateX( -40px ); }

.zanp-js .zanp-anim-delay-150 { transition-delay: 0.15s; }
.zanp-js .zanp-anim-delay-300 { transition-delay: 0.3s; }

@media ( prefers-reduced-motion: reduce ) {
	.zanp-js .zanp-anim {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Hidden by display conditions (login/role/date) */
.zanp-dl-hidden { display: none; }

/* Device visibility */
@media ( max-width: 767px ) {
	.zanp-hide-mobile { display: none; }
}

@media ( min-width: 768px ) and ( max-width: 1024px ) {
	.zanp-hide-tablet { display: none; }
}

@media ( min-width: 1025px ) {
	.zanp-hide-desktop { display: none; }
}
