
.custom-slider {
  display: flex;
  overflow-x: auto;
  gap: 20px;
  padding: 10px;
  scroll-snap-type: x mandatory;
}

.slide {
  position: relative;
  flex: 0 0 calc(25% - 20px); /* 4 items per row on desktop */
  height: 300px;
  scroll-snap-align: start;
  overflow: hidden;
  border-radius: 10px;
  cursor: pointer;
}

@media (max-width: 1024px) {
  .slide {
    flex: 0 0 calc(33.333% - 20px); /* 3 items per row on tablet */
  }
}

@media (max-width: 768px) {
  .slide {
    flex: 0 0 calc(50% - 20px); /* 2 items per row on small tablet */
  }
}

@media (max-width: 600px) {
  .slide {
    flex: 0 0 100%; /* 1 item per row on mobile */
  }
}

.slide img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.5s ease;
}

.slide .caption {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  opacity: 0;
  transition: opacity 0.5s ease;
  text-align: center;
  padding: 10px;
  overflow-y: auto;
}

.slide:hover img {
  opacity: 0.3;
}

.slide:hover .caption {
  opacity: 1;
}
