/* ENHANCED ANIMATIONS v3.1 - COMPLETE */

/* Utility classes for animations */
.awe-animate-fadeInUp {
  animation: awe-fadeInUp 0.6s ease-out;
}

.awe-animate-zoomIn {
  animation: awe-zoomIn 0.6s ease-out;
}

.awe-animate-rotateIn {
  animation: awe-rotateIn 0.6s ease-out;
}

.awe-animate-pulse {
  animation: awe-pulse-feedback 1s ease-out;
}

.awe-animate-success {
  animation: awe-success-feedback 1s ease-out;
}

/* Smooth entrance animations */
@keyframes awe-fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes awe-zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes awe-rotateIn {
  from {
    opacity: 0;
    transform: rotate3d(0, 0, 1, -200deg);
    transform-origin: center;
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transform-origin: center;
  }
}

/* Feedback animations */
@keyframes awe-pulse-feedback {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(74, 144, 226, 0.7);
  }
  50% {
    transform: scale(1.1);
    box-shadow: 0 0 0 10px rgba(74, 144, 226, 0.3);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 15px rgba(74, 144, 226, 0);
  }
}

@keyframes awe-success-feedback {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(76, 175, 80, 0.7);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 8px rgba(76, 175, 80, 0.4);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 12px rgba(76, 175, 80, 0);
  }
}

/* Accessibility considerations */
@media (prefers-reduced-motion: reduce) {
  .awe-animate-fadeInUp,
  .awe-animate-zoomIn,
  .awe-animate-rotateIn,
  .awe-animate-pulse,
  .awe-animate-success {
    animation: none;
  }
}
