.masonry-image-grid {
	--mig-gap: 24px;
	--mig-radius: 0px;
	--mig-overlay-color: #252525;
	width: 100%;
}

.masonry-image-grid__source {
	display: none;
}

.masonry-image-grid__layout {
	display: grid;
	grid-template-columns: repeat(var(--mig-columns, 1), minmax(0, 1fr));
	gap: var(--mig-gap);
	width: 100%;
}

.masonry-image-grid__column {
	display: flex;
	flex-direction: column;
	gap: var(--mig-gap);
	min-width: 0;
}

.masonry-image-grid[data-reverse="1"] .masonry-image-grid__column {
	justify-content: flex-end;
}

.masonry-image-grid__item {
	aspect-ratio: var(--mig-item-ratio, 1/1);
	width: 100%;
	min-width: 0;
}

.masonry-image-grid__media {
	position: relative;
	width: 100%;
	height: 100%;
	/* overflow: hidden; */
	border-radius: var(--mig-radius);
	transform: translateZ(0);
}

.masonry-image-grid__image,
.masonry-image-grid__video {
	display: block;
	width: 100%;
	height: 100% !important;
	border-radius: var(--mig-radius);
	object-fit: cover;
}

.masonry-image-grid__video {
	pointer-events: none;
}

.masonry-image-grid__logo {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: block;
	width: auto;
	height: auto;
	max-width: 36px;
	max-height: 36px;
	object-fit: contain;
}

.masonry-image-grid__overlay {
	position: absolute;
	inset: -1px;
	z-index: 1;
	display: block;
	pointer-events: none;
	opacity: 0;
	border-radius: inherit;
	background: linear-gradient(180deg, rgba(37, 37, 37, 0) 25.48%, var(--mig-overlay-color) 100%);
	transition: opacity 180ms ease;
}

.masonry-image-grid__item.is-column-last .masonry-image-grid__overlay,
.masonry-image-grid__item.is-reverse-overlay .masonry-image-grid__overlay {
	opacity: 1;
}

.masonry-image-grid__item.is-reverse-overlay .masonry-image-grid__overlay {
	background: linear-gradient(0deg, rgba(37, 37, 37, 0) 25.48%, var(--mig-overlay-color) 100%);
}

.masonry-image-grid__empty {
	padding: 16px;
	border: 1px dashed currentColor;
	color: #252525;
	font-size: 14px;
}

@media (min-width: 768px) {
	.masonry-image-grid__logo {
		top: 16px;
		right: 16px;
		max-width: 60px;
		max-height: 60px;
	}
}
