/**
 * Shared Shimmer Loading Animation
 * Used across all sections for consistent loading states
 */

/* Shimmer Animation Keyframes */
@keyframes shimmer {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

/* Shimmer Gradient Mixin (Light Mode) */
.shimmer-gradient {
  background: linear-gradient(90deg,
      rgba(15, 23, 42, 0.06) 25%,
      rgba(15, 23, 42, 0.12) 50%,
      rgba(15, 23, 42, 0.06) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* Shimmer Gradient (Dark Mode) */
@media (prefers-color-scheme: dark) {
  .shimmer-gradient {
    background: linear-gradient(90deg,
        rgba(255, 255, 255, 0.1) 25%,
        rgba(255, 255, 255, 0.2) 50%,
        rgba(255, 255, 255, 0.1) 75%);
    background-size: 200% 100%;
    animation: shimmer 1.5s infinite;
  }
}

/* Shimmer on White Background (Light Mode) */
.shimmer-on-white {
  background: linear-gradient(90deg,
      #f3f4f6 25%,
      #e5e7eb 50%,
      #f3f4f6 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* Shimmer on Colored Background (for cards) */
.shimmer-on-color {
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.2) 25%,
      rgba(255, 255, 255, 0.3) 50%,
      rgba(255, 255, 255, 0.2) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

/* Common Shimmer Utilities */
.shimmer-disabled {
  pointer-events: none;
  cursor: default !important;
}

.shimmer-no-hover:hover {
  transform: none !important;
  box-shadow: none !important;
}
