/**
 * SnapMotion CSS - Helper styles for GSAP animations
 */

/* Hide elements by default to prevent flicker */
.snap-fade-in,
.snap-fade-in-up,
.snap-fade-in-down,
.snap-fade-in-left,
.snap-fade-in-right,
.snap-zoom-in,
.snap-zoom-out,
.snap-scale-up,
.snap-slide-up,
.snap-slide-down,
.snap-slide-left,
.snap-slide-right,
.snap-rotate-in,
.snap-flip-in,
.snap-bounce-in,
.snap-bounce-in-left,
.snap-bounce-in-right,
.snap-elastic-in,
.snap-stagger-fade,
.snap-stagger-slide-up {
    visibility: hidden;
}

.snap-stagger-children-fade > *,
.snap-stagger-children-fade-up > * {
    visibility: hidden;
}

/* Show elements when animations are ready and animated */
/* .snapmotion-ready [class*="snap-"].snap-animated,
.snapmotion-ready [class*="snap-"]:not(.snap-stagger-fade):not(.snap-stagger-slide-up) {
    visibility: visible;
} */

/* Performance optimizations */
.snapmotion-loaded [class*="snap-"] {
    will-change: transform, opacity;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

/* Smooth scrolling for better animation experience */
html {
    scroll-behavior: smooth;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
    .snapmotion-loaded [class*="snap-"] {
        animation: none !important;
        transition: none !important;
        visibility: visible !important;
    }
}

/* Debug mode - show animation triggers */
.snapmotion-debug .snap-fade-in,
.snapmotion-debug .snap-fade-in-up,
.snapmotion-debug .snap-fade-in-down,
.snapmotion-debug .snap-fade-in-left,
.snapmotion-debug .snap-fade-in-right,
.snapmotion-debug .snap-zoom-in,
.snapmotion-debug .snap-zoom-out,
.snapmotion-debug .snap-scale-up,
.snapmotion-debug .snap-slide-up,
.snapmotion-debug .snap-slide-down,
.snapmotion-debug .snap-slide-left,
.snapmotion-debug .snap-slide-right,
.snapmotion-debug .snap-rotate-in,
.snapmotion-debug .snap-flip-in,
.snapmotion-debug .snap-bounce-in,
.snapmotion-debug .snap-bounce-in-left,
.snapmotion-debug .snap-bounce-in-right,
.snapmotion-debug .snap-elastic-in,
.snapmotion-debug .snap-stagger-fade,
.snapmotion-debug .snap-stagger-slide-up {
    outline: 2px dashed #ff6b6b;
    outline-offset: 2px;
}

/* Stagger animation containers */
.snap-stagger-fade > *,
.snap-stagger-slide-up > * {
    visibility: hidden;
}

/* .snap-stagger-fade.snap-animated > *,
.snap-stagger-slide-up.snap-animated > * {
    visibility: visible;
} */

/* Fallback for when animations don't initialize - show elements after timeout */
.snapmotion-fallback [class*="snap-"] {
    visibility: visible !important;
}

/* Bricks builder specific fixes - only for actual builder mode */
.brx-builder-active [class*="snap-"] {
    visibility: visible !important;
}

/* Ensure elements are visible in editor/preview modes */
body.wp-admin [class*="snap-"], .brx-body.iframe [class*="snap-"] {
    visibility: visible !important;
	& > *{
		visibility: visible !important;
	}
}
