/* Custom preloader animations */
@keyframes shimmer {
  0% {
    background-position: -1000px 0;
  }
  100% {
    background-position: 1000px 0;
  }
}

@keyframes textShimmer {
  0% {
    background-position: -100px 0;
  }
  100% {
    background-position: 100px 0;
  }
}

.animate-shimmer {
  animation: shimmer 2s infinite linear;
  background-size: 200% 100%;
  background-image: linear-gradient(to right, #f0f0f0 0%, #e0e0e0 20%, #f0f0f0 40%, #f0f0f0 100%);
}

.shimmer-text {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: textShimmer 1.5s infinite linear;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  display: inline-block;
}

.course-card-preloader {
  transition: all 0.3s ease;
}

.course-card {
  transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Sequential animation for generating preloaders */
.generating-preloader-sequential {
  opacity: 0;
  transform: scale(0.95);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.generating-preloader-visible {
  opacity: 1;
  transform: scale(1);
}
