/**
 * Nava Motion — split, revelado de imagen y estados iniciales (anti-flash por elemento).
 */

.nava-motion-text-root {
	display: block;
	width: 100%;
	max-width: 100%;
	/* Espacio extra dentro de las máscaras para ascendentes/descendentes (serif, etc.). */
	--nava-split-bleed: clamp(0.12em, 0.22em, 0.4em);
}

.nava-motion-el.elementor-widget-heading .nava-motion-text-root {
	margin: 0;
}

.nava-motion-text-root .nava-split__line {
	display: block;
	overflow: hidden;
	padding-block: var(--nava-split-bleed);
	margin-block: calc(-1 * var(--nava-split-bleed));
}

.nava-motion-text-root .nava-split__line-inner {
	display: block;
	line-height: inherit;
	will-change: transform;
}

.nava-motion-text-root .nava-split__line--words,
.nava-motion-text-root .nava-split__line--chars {
	overflow: hidden;
	padding-block: var(--nava-split-bleed);
	margin-block: calc(-1 * var(--nava-split-bleed));
}

.nava-motion-text-root .nava-split__mask {
	display: inline-block;
	overflow: hidden;
	vertical-align: baseline;
	line-height: inherit;
	padding-block: var(--nava-split-bleed);
	margin-block: calc(-1 * var(--nava-split-bleed));
}

.nava-motion-text-root .nava-split__unit {
	display: block;
	line-height: inherit;
	will-change: transform;
}

.nava-motion-img-frame {
	display: block;
	overflow: hidden;
	line-height: 0;
}

.nava-motion-img-frame img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
}

/* Estado inicial hasta que GSAP inicialice cada .nava-motion-el (data-nava-motion-pending-type). */
.nava-motion-el[data-nava-motion-pending-type="fade_in"] {
	opacity: 0;
}

.nava-motion-el[data-nava-motion-pending-type="fade_up"] {
	opacity: 0;
	transform: translate3d(0, 36px, 0);
}

.nava-motion-el[data-nava-motion-pending-type="fade_down"] {
	opacity: 0;
	transform: translate3d(0, -36px, 0);
}

.nava-motion-el[data-nava-motion-pending-type="slide_left"] {
	opacity: 0;
	transform: translate3d(56px, 0, 0);
}

.nava-motion-el[data-nava-motion-pending-type="slide_right"] {
	opacity: 0;
	transform: translate3d(-56px, 0, 0);
}

.nava-motion-el[data-nava-motion-pending-type="scale_in"] {
	opacity: 0;
	transform: scale(0.94);
}

/* Solo el nodo de texto que GSAP anima (clase/atributo en el target, no todos los h1 del layout). */
.nava-motion-pending-target,
[data-nava-motion-pending-target] {
	opacity: 0;
}

.nava-motion-el.elementor-widget-image[data-nava-motion-pending-type="image_reveal_up"] .elementor-widget-container,
.nava-motion-el.elementor-widget-image[data-nava-motion-pending-type="image_reveal_up"] picture,
.nava-motion-el.elementor-widget-image[data-nava-motion-pending-type="image_reveal_up"] img {
	opacity: 0 !important;
	visibility: hidden !important;
}

@media (prefers-reduced-motion: reduce) {
	.nava-motion-el[data-nava-motion-pending-type] {
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
	}

	.nava-motion-pending-target,
	[data-nava-motion-pending-target] {
		opacity: 1 !important;
	}

	.nava-motion-el.elementor-widget-image[data-nava-motion-pending-type="image_reveal_up"] img {
		clip-path: none !important;
	}
}
