/* ScrollAnimate CSS - Animation Styles */

/* Base animation classes */
[data-animate] {
  opacity: 0;
  transition-property: opacity, transform;
  will-change: opacity, transform;
}

[data-animate].animated {
  opacity: 1;
}

/* Fade animations */
[data-animate="fade"] {
  opacity: 0;
}

[data-animate="fade-up"] {
  transform: translateY(30px);
}

[data-animate="fade-down"] {
  transform: translateY(-30px);
}

[data-animate="fade-left"] {
  transform: translateX(30px);
}

[data-animate="fade-right"] {
  transform: translateX(-30px);
}

[data-animate="fade-up-right"] {
  transform: translate(-30px, 30px);
}

[data-animate="fade-up-left"] {
  transform: translate(30px, 30px);
}

[data-animate="fade-down-right"] {
  transform: translate(-30px, -30px);
}

[data-animate="fade-down-left"] {
  transform: translate(30px, -30px);
}

/* Zoom animations */
[data-animate="zoom-in"] {
  transform: scale(0.8);
}

[data-animate="zoom-out"] {
  transform: scale(1.2);
}

[data-animate="zoom-in-up"] {
  transform: scale(0.8) translateY(30px);
}

[data-animate="zoom-in-down"] {
  transform: scale(0.8) translateY(-30px);
}

[data-animate="zoom-in-left"] {
  transform: scale(0.8) translateX(30px);
}

[data-animate="zoom-in-right"] {
  transform: scale(0.8) translateX(-30px);
}

/* Flip animations */
[data-animate="flip-left"] {
  transform: perspective(2500px) rotateY(-100deg);
  transform-style: preserve-3d;
}

[data-animate="flip-right"] {
  transform: perspective(2500px) rotateY(100deg);
  transform-style: preserve-3d;
}

[data-animate="flip-up"] {
  transform: perspective(2500px) rotateX(-100deg);
  transform-style: preserve-3d;
}

[data-animate="flip-down"] {
  transform: perspective(2500px) rotateX(100deg);
  transform-style: preserve-3d;
}

/* Slide animations */
[data-animate="slide-up"] {
  transform: translateY(100px);
}

[data-animate="slide-down"] {
  transform: translateY(-100px);
}

[data-animate="slide-left"] {
  transform: translateX(100px);
}

[data-animate="slide-right"] {
  transform: translateX(-100px);
}

/* Rotate animations */
[data-animate="rotate-in"] {
  transform: rotate(-200deg) scale(0.5);
}

[data-animate="rotate-in-up"] {
  transform: rotate(-200deg) translateY(30px) scale(0.5);
}

[data-animate="rotate-in-down"] {
  transform: rotate(-200deg) translateY(-30px) scale(0.5);
}

[data-animate="rotate-in-left"] {
  transform: rotate(-200deg) translateX(30px) scale(0.5);
}

[data-animate="rotate-in-right"] {
  transform: rotate(-200deg) translateX(-30px) scale(0.5);
}

/* Bounce animations */
[data-animate="bounce-in"] {
  transform: scale(0.3);
}

[data-animate="bounce-in-up"] {
  transform: scale(0.3) translateY(100px);
}

[data-animate="bounce-in-down"] {
  transform: scale(0.3) translateY(-100px);
}

[data-animate="bounce-in-left"] {
  transform: scale(0.3) translateX(100px);
}

[data-animate="bounce-in-right"] {
  transform: scale(0.3) translateX(-100px);
}

/* Animated state - reset transforms */
[data-animate].animated {
  transform: translate(0, 0) scale(1) rotate(0deg);
}

/* Duration variations */
[data-animate-duration="200"] { transition-duration: 200ms !important; }
[data-animate-duration="400"] { transition-duration: 400ms !important; }
[data-animate-duration="600"] { transition-duration: 600ms !important; }
[data-animate-duration="800"] { transition-duration: 800ms !important; }
[data-animate-duration="1000"] { transition-duration: 1000ms !important; }
[data-animate-duration="1200"] { transition-duration: 1200ms !important; }
[data-animate-duration="1500"] { transition-duration: 1500ms !important; }

/* Easing variations */
[data-animate-easing="linear"] { transition-timing-function: linear !important; }
[data-animate-easing="ease"] { transition-timing-function: ease !important; }
[data-animate-easing="ease-in"] { transition-timing-function: ease-in !important; }
[data-animate-easing="ease-out"] { transition-timing-function: ease-out !important; }
[data-animate-easing="ease-in-out"] { transition-timing-function: ease-in-out !important; }
[data-animate-easing="ease-in-back"] { transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045) !important; }
[data-animate-easing="ease-out-back"] { transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275) !important; }
[data-animate-easing="ease-in-out-back"] { transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55) !important; }

/* Responsive - Disable on mobile if needed */
@media screen and (max-width: 768px) {
  [data-animate-mobile="false"] {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}
