/* ld_fancy_image — Epic Widgets */
.elementor-widget-ld_fancy_image .lqd-imggrp-single {
	display: block;
	position: relative;
	border-radius: inherit;
	transition: opacity .3s ease, transform .6s cubic-bezier(.1, .7, .25, 1);
}
.elementor-widget-ld_fancy_image .lqd-imggrp-img-container {
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	max-width: 100%;
	border-radius: inherit;
}
.elementor-widget-ld_fancy_image figure {
	display: inline-block;
	position: relative;
	width: 100%;
	margin: 0 !important;
	border-radius: inherit;
	transition: box-shadow .6s ease, transform .4s ease-out;
}
.elementor-widget-ld_fancy_image figure img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: inherit;
	vertical-align: top;
}
.elementor-widget-ld_fancy_image .lqd-fi-overlay-link {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
	border-radius: inherit;
}

/* Flotar */
@keyframes epicFiFloat {
	from { transform: translateY(var(--epic-float-from, var(--float-animate-from, 0%))); }
	to   { transform: translateY(var(--epic-float-to, var(--float-animate-to, 3%))); }
}
.elementor-widget-ld_fancy_image .lqd-imggrp-single[data-float] {
	animation: epicFiFloat 1s var(--epic-float-ease, var(--float-animation-ease, ease)) var(--epic-float-delay, var(--float-delay, 0s)) infinite alternate;
}

/* Sombras por profundidad */
.elementor-widget-ld_fancy_image [data-shadow-style="1"] figure { --epic-fi-shadow: 0 24px 32px rgba(0, 0, 0, .07); }
.elementor-widget-ld_fancy_image [data-shadow-style="2"] figure { --epic-fi-shadow: 0 30px 50px rgba(0, 0, 0, .15); }
.elementor-widget-ld_fancy_image [data-shadow-style="3"] figure { --epic-fi-shadow: 0 30px 70px rgba(0, 0, 0, .15); }
.elementor-widget-ld_fancy_image [data-shadow-style="4"] figure { --epic-fi-shadow: 0 30px 100px rgba(0, 0, 0, .17); }
.elementor-widget-ld_fancy_image [data-shadow-style]:not([data-animate-shadow]) figure,
.elementor-widget-ld_fancy_image [data-shadow-style][data-animate-shadow].is-in-view figure {
	box-shadow: var(--epic-fi-shadow, none);
}

/* Hover 3D */
.elementor-widget-ld_fancy_image .perspective { perspective: 1200px; }
.elementor-widget-ld_fancy_image .transform-style-3d { transform-style: preserve-3d; }
.elementor-widget-ld_fancy_image [data-hover3d] figure { will-change: transform; }
.elementor-widget-ld_fancy_image [data-hover3d].is-hovering figure { transition: box-shadow .6s ease; }

/* Revelado */
.elementor-widget-ld_fancy_image [data-reveal] { overflow: hidden; }
.elementor-widget-ld_fancy_image [data-reveal] > img { opacity: 0; transition: opacity 0s .45s; }
.elementor-widget-ld_fancy_image [data-reveal] .block-revealer__element {
	position: absolute;
	inset: 0;
	z-index: 3;
	background: var(--e-global-color-primary, #000);
	transform: scaleX(0);
	transform-origin: left center;
	pointer-events: none;
}
.elementor-widget-ld_fancy_image [data-reveal].is-revealed > img { opacity: 1; }
.elementor-widget-ld_fancy_image [data-reveal].is-revealed .block-revealer__element {
	animation: epicFiReveal .9s cubic-bezier(.77, 0, .18, 1) var(--epic-reveal-delay, 0ms) both;
}
.elementor-widget-ld_fancy_image [data-reveal].is-revealed > img { transition-delay: calc(var(--epic-reveal-delay, 0ms) + .45s); }
.elementor-widget-ld_fancy_image [data-reveal][data-reveal-dir="rl"] .block-revealer__element { transform-origin: right center; }
.elementor-widget-ld_fancy_image [data-reveal][data-reveal-dir="tb"] .block-revealer__element { transform: scaleY(0); transform-origin: center top; --epic-rv-origin-out: center bottom; }
.elementor-widget-ld_fancy_image [data-reveal][data-reveal-dir="bt"] .block-revealer__element { transform: scaleY(0); transform-origin: center bottom; --epic-rv-origin-out: center top; }
.elementor-widget-ld_fancy_image [data-reveal-dir="tb"].is-revealed .block-revealer__element,
.elementor-widget-ld_fancy_image [data-reveal-dir="bt"].is-revealed .block-revealer__element { animation-name: epicFiRevealY; }
@keyframes epicFiRevealY {
	0%   { transform: scaleY(0); }
	50%  { transform: scaleY(1); }
	51%  { transform: scaleY(1); transform-origin: var(--epic-rv-origin-out, center bottom); }
	100% { transform: scaleY(0); transform-origin: var(--epic-rv-origin-out, center bottom); }
}
@keyframes epicFiReveal {
	0%   { transform: scaleX(0); }
	50%  { transform: scaleX(1); }
	51%  { transform: scaleX(1); transform-origin: var(--epic-rv-origin-out, right center); }
	100% { transform: scaleX(0); transform-origin: var(--epic-rv-origin-out, right center); }
}
.elementor-widget-ld_fancy_image [data-reveal][data-reveal-dir="rl"] .block-revealer__element { --epic-rv-origin-out: left center; }

@media (prefers-reduced-motion: reduce) {
	.elementor-widget-ld_fancy_image .lqd-imggrp-single[data-float] { animation: none; }
	.elementor-widget-ld_fancy_image [data-reveal] > img { opacity: 1; }
	.elementor-widget-ld_fancy_image [data-reveal] .block-revealer__element { display: none; }
}
