/* Mosaic 006 — native ratios, fill holes under tiles */
.wp-block-datamorphoz-mosaic.dm-design-mosaic {
	--dm-mosaic-cols: 4;
	align-items: start;
	grid-auto-flow: row dense;
}

.wp-block-datamorphoz-mosaic .dm-design-mosaic-item,
.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-style-standard,
.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-style-large,
.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-style-wide {
	position: relative;
	align-self: start;
	width: 100%;
	height: auto;
	min-height: 0;
	aspect-ratio: auto;
	overflow: hidden;
	grid-row: auto;
}

.wp-block-datamorphoz-mosaic .wp-block-image,
.wp-block-datamorphoz-mosaic figure {
	position: static;
	inset: auto;
	width: 100%;
	height: auto;
	margin: 0;
}

.wp-block-datamorphoz-mosaic img {
	display: block;
	width: 100%;
	height: auto !important;
	max-height: none;
	aspect-ratio: auto;
	object-fit: unset;
	object-position: center;
	vertical-align: top;
	contain-intrinsic-size: unset;
	content-visibility: visible;
}

@media (min-width: 640px) {
	.wp-block-datamorphoz-mosaic.dm-design-mosaic {
		grid-template-columns: repeat(min(2, var(--dm-mosaic-cols)), minmax(0, 1fr));
	}

	.wp-block-datamorphoz-mosaic.dm-design-mosaic > .dm-design-mosaic-item.is-style-large,
	.wp-block-datamorphoz-mosaic.dm-design-mosaic > .dm-design-mosaic-item.is-style-wide {
		grid-column: span 2;
		grid-row: auto;
		aspect-ratio: auto;
		height: auto;
	}
}

@media (min-width: 1100px) {
	.wp-block-datamorphoz-mosaic.dm-design-mosaic {
		grid-template-columns: repeat(var(--dm-mosaic-cols), minmax(0, 1fr));
	}

	.wp-block-datamorphoz-mosaic.dm-design-mosaic:not([data-columns="4"]) > .dm-mosaic-span-23 {
		grid-column: span 2;
	}
}

.wp-block-datamorphoz-mosaic.dm-mosaic-packed,
.wp-block-datamorphoz-mosaic.dm-design-mosaic.dm-mosaic-packed {
	grid-auto-rows: 1px;
	align-items: start;
}

.wp-block-datamorphoz-mosaic.dm-mosaic-packed .wp-block-image,
.wp-block-datamorphoz-mosaic.dm-mosaic-packed figure,
.wp-block-datamorphoz-mosaic.dm-mosaic-packed img,
.wp-block-datamorphoz-mosaic.dm-design-mosaic.dm-mosaic-packed .wp-block-image,
.wp-block-datamorphoz-mosaic.dm-design-mosaic.dm-mosaic-packed figure,
.wp-block-datamorphoz-mosaic.dm-design-mosaic.dm-mosaic-packed img {
	width: 100%;
	height: auto !important;
	object-fit: unset;
	contain-intrinsic-size: unset;
}

.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-gap-filled,
.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-style-standard.is-gap-filled,
.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-style-large.is-gap-filled,
.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-style-wide.is-gap-filled {
	align-self: stretch;
}

.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-gap-filled .wp-block-image,
.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-gap-filled figure,
.wp-block-datamorphoz-mosaic.dm-mosaic-packed .dm-design-mosaic-item.is-gap-filled .wp-block-image,
.wp-block-datamorphoz-mosaic.dm-mosaic-packed .dm-design-mosaic-item.is-gap-filled figure,
.wp-block-datamorphoz-mosaic.dm-design-mosaic.dm-mosaic-packed .dm-design-mosaic-item.is-gap-filled figure {
	height: 100% !important;
}

.wp-block-datamorphoz-mosaic .dm-design-mosaic-item.is-gap-filled img,
.wp-block-datamorphoz-mosaic.dm-mosaic-packed .dm-design-mosaic-item.is-gap-filled img,
.wp-block-datamorphoz-mosaic.dm-design-mosaic.dm-mosaic-packed .dm-design-mosaic-item.is-gap-filled img {
	height: 100% !important;
	object-fit: cover;
	aspect-ratio: auto;
}
