/**
 * OEMitra Motion — subtle premium animations (respects reduced motion).
 */

@media (prefers-reduced-motion: reduce) {
	:root {
		--oemitra-transition: 0.01ms;
		--oemitra-transition-slow: 0.01ms;
	}

	.oemitra-motion-fade-up,
	.oemitra-motion-reveal {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* Fade-up on scroll */
.oemitra-motion-fade-up {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity var(--oemitra-transition-slow), transform var(--oemitra-transition-slow);
}

.oemitra-motion-fade-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* Image reveal */
.oemitra-motion-reveal {
	overflow: hidden;
}

.oemitra-motion-reveal img,
.oemitra-motion-reveal .woocommerce-product-gallery__image img {
	transition: transform var(--oemitra-transition-slow);
}

.oemitra-motion-reveal.is-visible img,
.oemitra-motion-reveal.is-visible .woocommerce-product-gallery__image img {
	transform: scale(1);
}

.oemitra-motion-reveal:not(.is-visible) img,
.oemitra-motion-reveal:not(.is-visible) .woocommerce-product-gallery__image img {
	transform: scale(1.03);
}

/* Card hover — consistent premium lift */
.oemitra-motion-card {
	transition: box-shadow var(--oemitra-transition), transform var(--oemitra-transition), border-color var(--oemitra-transition);
}

@media (hover: hover) {
	.oemitra-motion-card:hover {
		box-shadow: var(--oemitra-shadow-hover);
		transform: translateY(-3px);
	}
}

/* Button hover */
body.oemitra-elementor-content .elementor-button,
body.oemitra-conversion .oemitra-conv-btn,
body.oemitra-product-catalog .sec-catalog-hero__cta,
body.oemitra-product-single .sec-product-showcase__btn,
body.oemitra-product-catalog ul.products li.product,
body.oemitra-product-single .sec-product-related ul.products li.product {
	transition: background-color var(--oemitra-transition), transform var(--oemitra-transition), box-shadow var(--oemitra-transition), border-color var(--oemitra-transition);
}

@media (hover: hover) {
	body.oemitra-elementor-content .elementor-button:hover,
	body.oemitra-conversion .oemitra-conv-btn:hover {
		transform: translateY(-1px);
	}
}

/* Do not animate sticky/header aggressively */
.oemitra-mobile-cta,
.elementor-location-header,
.elementor-sticky {
	transition: none;
}

.oemitra-mobile-cta-btn {
	transition: background-color var(--oemitra-transition), color var(--oemitra-transition);
}
