/* 
 * Orkidoz Scroll Animations
 * Mimics Framer Motion fade-up and fade-in effects using vanilla CSS and IntersectionObserver.
 */

.orkidoz-animate {
	transition-property: opacity, transform;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	will-change: opacity, transform;
}

/* Only hide elements if we are NOT inside the Elementor Editor */
body:not(.elementor-editor-active) .orkidoz-animate:not(.is-visible) {
	opacity: 0;
}

/* Fade Up (Default) */
body:not(.elementor-editor-active) .orkidoz-animate-fade-up:not(.is-visible) {
	transform: translateY(24px);
}

/* Fade In (No movement) */
body:not(.elementor-editor-active) .orkidoz-animate-fade-in:not(.is-visible) {
	transform: none;
}

/* Scale Up */
body:not(.elementor-editor-active) .orkidoz-animate-scale-up:not(.is-visible) {
	transform: scale(0.95);
}

/* When the observer triggers, it adds the .is-visible class */
.orkidoz-animate.is-visible,
.elementor-editor-active .orkidoz-animate {
	opacity: 1 !important;
	transform: translateY(0) scale(1) !important;
}

/* Duration Helpers */
.duration-500 { transition-duration: 500ms; }
.duration-700 { transition-duration: 700ms; }
.duration-1000 { transition-duration: 1000ms; }

/* Delay Helpers (for staggered grids like collections) */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }
