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

.gallery-cover img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  opacity: 0; /* Initially hidden for fade-in */
  transition: opacity 0.5s ease-in-out; /* Fade-in transition */
  position: relative; /* To ensure it's above the placeholder */
  z-index: 2;
}

.gallery-cover img.loaded {
  opacity: 1; /* Visible after loading */
}

.gallery-cover {
  position: relative;
  min-height: 200px; /* Placeholder height - adjust as needed */
  overflow: hidden; /* To contain the animated gradient */
  background: #f0f0f0; /* Fallback solid color */
}

.gallery-cover::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, 
    #e0e0e0 8%, 
    #d0d0d0 18%, 
    #e0e0e0 33%
  );
  background-size: 1000px 100%; /* Large size for the gradient wave */
  animation: shimmer 2s infinite linear;
  z-index: 1;
}

.gallery-body {
  padding: 20px;
  background: #fff;
}

.title-wrapper {
  position: relative;
  z-index: 1;
  background: #fff;
  padding: 20px 0;
  margin-top: 20px;
  border-radius: 4px;
}

@media only screen and (max-width: 600px) {
  .gallery-body {
    padding: 15px;
  }
  
  .title-wrapper {
    margin-top: 15px;
    padding: 15px 0;
  }
}

.title-wrapper h3 {
  color: #333;
  margin: 0;
  font-size: 24px;
}

.category-description {
  margin: 15px 0;
  line-height: 1.6;
  color: #666;
  font-size: 16px;
}

.gallery-curve-wrapper {
  height: auto;
  overflow: visible;
  background: #fff;
}

/* Carousel styling */
.carousel {
  height: 300px !important;
  perspective: 1000px;
  transform-style: preserve-3d;
  margin: 20px 0;
}

.carousel .carousel-item {
  width: 300px !important;
  opacity: 0.4;
  transition: opacity 0.4s;
}

.carousel .carousel-item.active {
  opacity: 1;
}

.carousel .carousel-item img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* Add indicators styling */
.carousel .indicators {
  position: relative;
  margin-top: 20px;
}

.carousel .indicators .indicator-item {
  background-color: #ccc;
}

.carousel .indicators .indicator-item.active {
  background-color: #666;
} 