.eism-mosaic {
	display: grid;
	grid-template-columns: repeat(var(--eism-columns, 4), minmax(0, 1fr));
	grid-template-rows: repeat(var(--eism-rows, 3), minmax(0, 1fr));
	gap: var(--eism-gap, 8px);
	width: 100%;
	aspect-ratio: var(--eism-columns, 4) / var(--eism-rows, 3);
	overflow: hidden;
}
.eism-mosaic__tile {
	min-width: 0;
	min-height: 0;
	background-repeat: no-repeat;
	background-size: cover;
	transition: filter .3s ease;
}
.eism-mosaic__tile--first {
	border-top-left-radius: var(--eism-outer-radius, 90px) !important;
}
.eism-mosaic__tile--last {
	border-bottom-right-radius: var(--eism-outer-radius, 90px) !important;
}
.eism-mosaic:not(.eism-mosaic--no-hover) .eism-mosaic__tile:hover {
	filter: brightness(1.10);
}
.eism-mosaic-placeholder {
	padding: 24px;
	border: 1px dashed #aaa;
	text-align: center;
}
@media (max-width: 767px) {
	.eism-mosaic {
		gap: max(3px, calc(var(--eism-gap, 8px) * .65));
	}
	.eism-mosaic__tile--first {
		border-top-left-radius: min(50px, var(--eism-outer-radius, 90px)) !important;
	}
	.eism-mosaic__tile--last {
		border-bottom-right-radius: min(50px, var(--eism-outer-radius, 90px)) !important;
	}
}
