/* Responsive material-gallery fallback and JavaScript masonry enhancement. */
.masonry-gallery {
  --masonry-columns: 4;
  --masonry-gap: 1rem;
  display: grid;
  grid-template-columns: repeat(var(--masonry-columns), minmax(0, 1fr));
  gap: var(--masonry-gap);
  align-items: start;
}

.masonry-gallery .image-card,
.masonry-gallery .portrait-card,
.masonry-gallery .landscape,
.masonry-gallery .wide-card {
  aspect-ratio: auto;
}

.masonry-gallery[data-masonry-ready="true"] {
  display: block;
  position: relative;
}

.masonry-gallery[data-masonry-ready="true"] > .image-card {
  position: absolute;
  margin: 0;
}

.clinical-gallery { max-width: none; }

@media (max-width: 900px) {
  .masonry-gallery { --masonry-columns: 3; }
}

@media (max-width: 620px) {
  .masonry-gallery { --masonry-columns: 2; }
}
