.skeleton-loader {
  background-color: #e0e0e0;
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 20%, rgba(255, 255, 255, 0.6) 60%, rgba(255, 255, 255, 0) 100%);
  background-size: 400% 100%;
  background-repeat: no-repeat;
  animation: skeleton-shimmer 2s infinite forwards;
  width: 100%;
  height: auto;
  min-height: 100px;
  position: relative;
  overflow: hidden;
}

@keyframes skeleton-shimmer {
  0% {
    background-position: -400% 0;
  }
  100% {
    background-position: 400% 0;
  }
}

.skeleton-loader img {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

img:not(.skeleton-loader) {
  opacity: 1;
}
