/* Site-wide editorial convention for native core/gallery blocks. WordPress
 * markup, alt text, captions and native lightbox controls remain authoritative. */

.wp-block-gallery.has-nested-images {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
}

.wp-block-gallery.has-nested-images.columns-1 {
	grid-template-columns: minmax(0, 1fr);
}

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

.wp-block-gallery.has-nested-images.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wp-block-gallery.has-nested-images.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wp-block-gallery.has-nested-images.columns-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.wp-block-gallery.has-nested-images.columns-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.wp-block-gallery.has-nested-images.columns-7 {
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.wp-block-gallery.has-nested-images.columns-8 {
	grid-template-columns: repeat(8, minmax(0, 1fr));
}

.wp-block-gallery.has-nested-images.columns-default:has(> .wp-block-image:nth-of-type(2):last-of-type) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wp-block-gallery.has-nested-images:has(> .wp-block-image:only-of-type) {
	grid-template-columns: minmax(0, 1fr);
}

.wp-block-gallery.has-nested-images > .wp-block-image {
	position: relative;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	height: auto !important;
	margin: 0 !important;
	flex: none !important;
	aspect-ratio: 4 / 3;
	overflow: hidden;
}

.wp-block-gallery.has-nested-images > .wp-block-image > a {
	display: block;
	width: 100%;
	height: 100%;
}

.wp-block-gallery.has-nested-images > .wp-block-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	aspect-ratio: 4 / 3 !important;
	object-fit: cover !important;
}

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

.wp-block-gallery.has-nested-images > .wp-block-image :is(a, button):focus-visible {
	border-radius: 2px;
	outline: 3px solid var(--wp--preset--color--breganja-red);
	outline-offset: 4px;
}

@media (max-width: 1100px) and (min-width: 782px) {
	.wp-block-gallery.has-nested-images:is(.columns-4, .columns-5, .columns-6, .columns-7, .columns-8) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.wp-block-gallery.has-nested-images:not(.columns-1):not(:has(> .wp-block-image:only-of-type)) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (forced-colors: active) {
	.wp-block-gallery.has-nested-images > .wp-block-image :is(a, button):focus-visible {
		outline-color: Highlight;
	}
}
