/* =========================================================
 * Nerja Transfer Service · Animaciones sutiles "estilo Apple"
 * Reveal on scroll + microinteracciones. No altera la estructura.
 * ========================================================= */

/* Solo si el usuario no ha pedido reducir el movimiento */
@media (prefers-reduced-motion: no-preference) {

	/* Estado inicial de los bloques marcados por JS (bajo el pliegue) */
	.nts-reveal {
		opacity: 0;
		transform: translateY(30px);
		transition:
			opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
			transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
		will-change: opacity, transform;
	}

	/* Estado revelado */
	.nts-reveal.nts-in {
		opacity: 1;
		transform: none;
	}

	/* Ligero escalonado entre widgets hijos de un bloque revelado */
	.nts-reveal.nts-in > .elementor-widget,
	.nts-reveal.nts-in > .e-con-inner > .elementor-widget {
		animation: ntsRise 0.7s cubic-bezier(0.16, 1, 0.3, 1) both;
	}
	.nts-reveal.nts-in > .elementor-widget:nth-child(2),
	.nts-reveal.nts-in > .e-con-inner > .elementor-widget:nth-child(2) { animation-delay: 0.06s; }
	.nts-reveal.nts-in > .elementor-widget:nth-child(3),
	.nts-reveal.nts-in > .e-con-inner > .elementor-widget:nth-child(3) { animation-delay: 0.12s; }
	.nts-reveal.nts-in > .elementor-widget:nth-child(4),
	.nts-reveal.nts-in > .e-con-inner > .elementor-widget:nth-child(4) { animation-delay: 0.18s; }
	.nts-reveal.nts-in > .elementor-widget:nth-child(n+5),
	.nts-reveal.nts-in > .e-con-inner > .elementor-widget:nth-child(n+5) { animation-delay: 0.24s; }

	@keyframes ntsRise {
		from { opacity: 0; transform: translateY(16px); }
		to   { opacity: 1; transform: translateY(0); }
	}
}

/* -----------------------------------------------------------
 * Microinteracciones (se aplican siempre, muy sutiles)
 * --------------------------------------------------------- */

/* Botones: elevación suave al pasar el ratón */
.elementor-button {
	transition:
		transform 0.4s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
		filter 0.4s ease;
}
.elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(20, 10, 9, 0.18);
}

/* Tarjetas / icon-box: elevación al pasar el ratón */
.elementskit-icon-box-wraper,
.elementor-widget-icon-box .elementor-icon-box-wrapper,
.elementor-widget-image img {
	transition:
		transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.elementskit-icon-box-wraper:hover,
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper {
	transform: translateY(-5px);
}
.elementor-widget-image:hover img {
	transform: scale(1.015);
}
