/* ===================
   Custom AOS Animations
   =================== */

/* Bounce-In */
@keyframes bounce-in {
  0% { transform: scale(0.5); opacity: 0; }
  60% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(1); }
}
[data-aos="bounce-in"] {
  animation-name: bounce-in;
}

/* Rotate-In */
@keyframes rotate-in {
  0% { transform: rotate(-200deg); opacity: 0; }
  100% { transform: rotate(0); opacity: 1; }
}
[data-aos="rotate-in"] {
  animation-name: rotate-in;
}

/* Rotate-Out */
@keyframes rotate-out {
  0% { transform: rotate(0); opacity: 1; }
  100% { transform: rotate(200deg); opacity: 0; }
}
[data-aos="rotate-out"] {
  animation-name: rotate-out;
}

/* Zoom-In */
@keyframes zoom-in {
  0% { transform: scale(0.3); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
[data-aos="zoom-in"] {
  animation-name: zoom-in;
}

/* Zoom-Out */
@keyframes zoom-out {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(0.3); opacity: 0; }
}
[data-aos="zoom-out"] {
  animation-name: zoom-out;
}

/* Fade-In-Left */
@keyframes fade-in-left {
  0% { transform: translateX(-50px); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}
[data-aos="fade-in-left"] {
  animation-name: fade-in-left;
}

/* Fade-In-Right */
@keyframes fade-in-right {
  0% { transform: translateX(50px); opacity: 0; }
  100% { transform: translateX(0); opacity: 1; }
}
[data-aos="fade-in-right"] {
  animation-name: fade-in-right;
}

/* Flip-Y */
@keyframes flip-y {
  0% { transform: rotateY(90deg); opacity: 0; }
  100% { transform: rotateY(0); opacity: 1; }
}
[data-aos="flip-y"] {
  animation-name: flip-y;
}

/* Slide-Up */
@keyframes slide-up {
  0% { transform: translateY(50px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
[data-aos="slide-up"] {
  animation-name: slide-up;
}

/* Slide-Down */
@keyframes slide-down {
  0% { transform: translateY(-50px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}
[data-aos="slide-down"] {
  animation-name: slide-down;
}

/* Basiseigenschaften (übernimmt AOS-Settings) */
[data-aos^=""] {
  animation-duration: 1s;
  animation-fill-mode: both;
  opacity: 0;
}