/* Column-based masonry: preserve image ratios without a JavaScript layout library. */
.gallery-masonry {
  column-count: 3;
  column-gap: 1.25rem;
}

.gallery-masonry > * {
  break-inside: avoid;
  margin: 0 0 1.25rem;
}

.gallery-masonry figure,
.gallery-masonry figure > p {
  margin: 0;
}

.gallery-masonry a.lightbox {
  display: block;
  border-radius: 0;
  overflow: hidden;
  cursor: zoom-in;
}

.gallery-masonry a.lightbox:focus-visible {
  outline: 3px solid var(--bs-primary);
  outline-offset: 4px;
}

.gallery-masonry img {
  display: block;
  width: 100%;
  height: auto;
}

.gallery-masonry figcaption {
  margin-top: 0.5rem;
  text-align: center;
}

@media (max-width: 991.98px) {
  .gallery-masonry {
    column-count: 2;
  }
}

@media (max-width: 575.98px) {
  .gallery-masonry {
    column-count: 1;
  }
}
