/* Masonry photo grid */
.st-masonry { columns: 3; column-gap: 16px; }
.st-masonry > * { break-inside: avoid; margin-bottom: 16px !important; margin-top: 0 !important; }
@media (max-width: 900px) { .st-masonry { columns: 2; } }
@media (max-width: 540px) { .st-masonry { columns: 1; } }

/* Keep existing and newly inserted galleries uniform before opening a photo. */
.wp-block-gallery.has-nested-images {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  justify-content: center;
  gap: 16px;
}

.wp-block-gallery.has-nested-images > .wp-block-image {
  /* Override WordPress's column widths, including its wider final row. */
  width: 100% !important;
  min-width: 0;
  margin: 0;
}

/* Direct image selectors leave the lightbox's full-size images untouched. */
.wp-block-gallery.has-nested-images > .wp-block-image > img,
.wp-block-gallery.has-nested-images > .wp-block-image > a > img,
.wp-block-gallery.has-nested-images > .wp-block-image .components-resizable-box__container img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
}

.wp-block-gallery.has-nested-images > .blocks-gallery-caption {
  grid-column: 1 / -1;
}

@media (max-width: 900px) {
  .wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .wp-block-gallery.has-nested-images {
    grid-template-columns: minmax(0, 1fr);
  }
}
