.wp-block-gallery {
  display: grid;
  gap: 1em;
}
.wp-block-gallery.columns-2 { grid-template-columns: repeat(2, 1fr); }
.wp-block-gallery.columns-3 { grid-template-columns: repeat(3, 1fr); }
.wp-block-gallery.columns-4 { grid-template-columns: repeat(4, 1fr); }

/* Nested images structure (modern Gutenberg) */
/* Override Gutenberg module's width calc */
.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
  margin: 0;
  width: 100% !important;
}

.wp-block-gallery.has-nested-images figure.wp-block-image img {
  width: 100%;
  height: auto;
}

.wp-block-gallery.is-cropped figure.wp-block-image {
  aspect-ratio: 1;
  overflow: hidden;
}

.wp-block-gallery.is-cropped figure.wp-block-image img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}