/* Gallery Carousel Masonry Layout */

.auth-left {
  height: 100vh;
  overflow: hidden;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

#gallery-carousel {
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-auto-rows: 120px;
  gap: 12px;
  padding: 16px;
  overflow: hidden;
}

.gallery-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 8px;
  opacity: 1;
}

/* Random grid spans for masonry effect */
.gallery-image:nth-child(3n + 1) {
  grid-column: span 1;
  grid-row: span 1;
}

.gallery-image:nth-child(3n + 2) {
  grid-column: span 1;
  grid-row: span 1;
}

.gallery-image:nth-child(3n) {
  grid-column: span 1;
  grid-row: span 2;
}

.gallery-image:nth-child(5n) {
  grid-column: span 2;
  grid-row: span 1;
}

/* Active state - visible image */
.gallery-image.active {
  opacity: 1;
}

/* Smooth fade animations */
.gallery-image.fade-in {
  animation: fadeIn 2s ease-in forwards;
}

.gallery-image.fade-out {
  animation: fadeOut 2s ease-out forwards;
}
