/* =========================================================
   Mi Viaje UI — Animaciones
   Sutiles a propósito: nada de rebotes exagerados ni parpadeos.
   Se desactivan por completo si el usuario activa
   prefers-reduced-motion (ver mvj-base.css) o si el admin
   desactiva "Animaciones" (ver MVJ_Assets).
   ========================================================= */

body.mvj-theme .mvj-anim,
body.mvj-theme .mvj-card,
body.mvj-theme .hp-listing {
	transition: transform var(--mvj-transition), box-shadow var(--mvj-transition), opacity var(--mvj-transition);
}

/* Entrada suave de tarjetas al cargar la página */
@keyframes mvj-fade-up {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body.mvj-theme .mvj-card,
body.mvj-theme .hp-listing {
	animation: mvj-fade-up .5s ease both;
}

/* Header: transición de fondo al hacer scroll (clase añadida por mvj-ui.js) */
body.mvj-theme .mvj-header {
	transition: background var(--mvj-transition), box-shadow var(--mvj-transition);
}

body.mvj-theme .mvj-header.mvj-is-scrolled {
	box-shadow: var(--mvj-shadow);
}

/* Botón: leve escala al presionar */
body.mvj-theme .mvj-btn:active:not(:disabled) {
	transform: scale(.97);
}

/* Panel de filtros móvil: aparición deslizada */
@keyframes mvj-slide-up {
	from { transform: translateY(16px); opacity: 0; }
	to { transform: translateY(0); opacity: 1; }
}

body.mvj-theme .mvj-filters-panel-open .hp-listings__sidebar,
body.mvj-theme .mvj-filters-panel-open .hp-block--listings-filter {
	animation: mvj-slide-up .28s ease both;
}
