.zit-gallery {
  width: 100%;
}

.zit-gallery__grid {
  display: grid;
  grid-template-columns: repeat(var(--columns, 3), 1fr);
}

.zit-gallery__item {
  position: relative;
  overflow: hidden;
  border-radius: 1.875rem;
  aspect-ratio: 16 / 9;
}

.zit-gallery__link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 1.875rem;
  transition: transform 0.3s ease;
  will-change: transform;
}

.zit-gallery__link:hover {
  transform: scale(1.02);
}

.zit-gallery__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.875rem;
  display: block;
}

.zit-gallery__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
  color: #fff;
  font-size: 0.875rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.zit-gallery__link:hover .zit-gallery__caption {
  opacity: 1;
}

/* Responsive columns */
@media (max-width: 1024px) {
  .zit-gallery__grid {
    grid-template-columns: repeat(var(--columns-md, 2), 1fr);
  }
}

@media (max-width: 640px) {
  .zit-gallery__grid {
    grid-template-columns: repeat(var(--columns-sm, 1), 1fr);
  }
}

