/* Photo layers preserve card widths and give collapsed photo areas readable height. */
.ildp-has-site-photo {
	--justify-content: flex-end;
	position: relative;
	min-height: var(--ildp-photo-min-height, 240px) !important;
	justify-content: flex-end !important;
	overflow: hidden;
	isolation: isolate;
}

.ildp-has-site-photo > .e-con-inner {
	justify-content: flex-end !important;
}

.ildp-has-site-photo > img.ildp-site-photo-image {
	position: absolute !important;
	inset: 0;
	z-index: 0;
	display: block;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	border-radius: inherit;
	object-fit: cover;
	object-position: center;
	pointer-events: none;
}

.ildp-has-site-photo > .ildp-site-photo-shade {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	background: linear-gradient(180deg, rgba(10, 8, 35, 0.05) 15%, rgba(10, 8, 35, 0.18) 43%, rgba(10, 8, 35, 0.88) 100%);
	pointer-events: none;
}

.ildp-has-site-photo > :not(.ildp-site-photo-image):not(.ildp-site-photo-shade) {
	position: relative;
	z-index: 2;
}

.ildp-has-site-photo .elementor-heading-title,
.ildp-has-site-photo .elementor-widget-text-editor,
.ildp-has-site-photo .elementor-widget-text-editor p {
	color: #ffffff !important;
}

@media (max-width: 767px) {
	.ildp-has-site-photo {
		min-height: min(var(--ildp-photo-min-height, 280px), 340px) !important;
	}
}
