/* ── Photo gallery grid ────────────────────────────────────────── */

#gallery {
  background: var(--surface);
  border-radius: 20px;
  padding: clamp(2rem, 5vw, 3.5rem);
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 1rem;
  margin-top: 2rem;
}

.gallery-item {
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  cursor: zoom-in;
  transition: transform .25s, box-shadow .25s;
}

.gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, .55);
}

.gallery-item img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .3s;
}

.gallery-item:hover img {
  transform: scale(1.04);
}

.gallery-caption {
  padding: .6rem 1rem;
  font-size: .76rem;
  color: var(--muted);
  background: var(--surface2);
}
