/* ==========================================================================
   GALLERY.CSS — Gallery section (homepage) + gallery page
   ========================================================================== */

/* ---- Homepage Preview: masonry grid ---- */
.gallery {
  padding: var(--space-24) 0;
}

.gallery__grid {
  columns: 3 260px;
  column-gap: 16px;
  padding-inline: var(--space-8);
  max-width: var(--container-max);
  margin-inline: auto;
}

.gallery__item {
  break-inside: avoid;
  margin-bottom: 16px;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  cursor: none;
}

.gallery__item img {
  width: 100%;
  display: block;
  transition: transform 0.5s var(--ease-smooth);
}

.gallery__item:hover img {
  transform: scale(1.04);
}

/* Gold shimmer overlay on hover */
.gallery__item::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(201, 168, 76, 0.0) 0%,
    rgba(201, 168, 76, 0.12) 50%,
    rgba(201, 168, 76, 0.0) 100%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.gallery__item:hover::after {
  opacity: 1;
}


/* ---- Gallery Page: masonry grid ---- */
.gallery-page-content {
  padding: var(--space-12) 0 var(--space-24);
}

.gallery-page-grid {
  columns: 3 260px;
  column-gap: 16px;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--space-8);
}

.gallery-page-grid .gallery__item {
  cursor: pointer;
}

.gallery-page-grid .gallery__item img {
  width: 100%;
  display: block;
}


/* ---- Responsive ---- */

/* Tablet */
@media (max-width: 1199px) {
  .gallery__grid {
    columns: 2 220px;
    column-gap: 14px;
  }

  .gallery-page-grid {
    columns: 2 220px;
    column-gap: 14px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .gallery {
    padding: var(--space-16) 0;
  }

  .gallery__grid {
    columns: 2 160px;
    column-gap: 12px;
    padding-inline: var(--space-4);
  }

  .gallery__item {
    margin-bottom: 12px;
  }

  .gallery-page-grid {
    columns: 2 160px;
    column-gap: 12px;
    padding-inline: var(--space-4);
  }
}

/* Mobile Small */
@media (max-width: 479px) {
  .gallery__grid {
    columns: 1;
  }

  .gallery-page-grid {
    columns: 1;
  }
}
