/* animations.css — SummerClass Micro-interactions & Animations */

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.animate-in {
  animation: fadeInUp 0.4s ease both;
}
.animate-in > * {
  animation: fadeInUp 0.4s ease both;
}
.animate-in > *:nth-child(1) { animation-delay: 0.00s; }
.animate-in > *:nth-child(2) { animation-delay: 0.08s; }
.animate-in > *:nth-child(3) { animation-delay: 0.16s; }
.animate-in > *:nth-child(4) { animation-delay: 0.24s; }
.animate-in > *:nth-child(5) { animation-delay: 0.32s; }
.animate-in > *:nth-child(6) { animation-delay: 0.40s; }

/* Spinner utility */
.sc-spinner {
  display: none;
}
.sc-loading .sc-spinner {
  display: inline-block;
}

/* Card hover lift — applied via components.css .sc-card:hover */
/* Skeleton loader placeholder */
@keyframes shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position:  200% 0; }
}
.sc-skeleton {
  background: linear-gradient(90deg, #E2E8F0 25%, #F8FAFC 50%, #E2E8F0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}
