/**
 * Zoom de la imagen interior activado exclusivamente por hover.
 */

.zoom-hover,
.p4-zoom-clip {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.zoom-hover > .elementor-widget-container,
.zoom-hover > .e-con-inner {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/* Reparte por igual los módulos de imagen hermanos dentro del contenedor. */
.e-con:has(> .zoom-hover + .zoom-hover) > .zoom-hover,
.e-con-inner:has(> .zoom-hover + .zoom-hover) > .zoom-hover {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0;
}

.zoom-hover img,
img.zoom-hover {
	display: block;
	width: 100%;
	will-change: transform;
	transform-origin: 50% 50%;
}

.p4-zoom-media {
	transform: scale(1);
	transition: transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

.zoom-hover:hover .p4-zoom-media,
img.zoom-hover.p4-zoom-media:hover {
	transform: scale(1.07);
}

.p4-zoom-background {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	will-change: transform;
	transform-origin: 50% 50%;
}

.p4-zoom-clip > :not(.p4-zoom-background) {
	position: relative;
	z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
	.zoom-hover img,
	img.zoom-hover,
	.p4-zoom-background {
		transform: none !important;
		transition: none !important;
	}
}
