/* Infinity World 3D | movimento e microinteracoes
   Somente o que os controles nativos do Elementor nao expressam:
   efeito no filho a partir do hover do pai, e a guarda de acessibilidade. */

/* Card de produto: a foto amplia devagar quando o mouse entra em qualquer
   ponto do card. O overflow hidden do card mantem o zoom dentro do raio. */
.iw-produto-card .elementor-widget-theme-post-featured-image img {
	transition: transform 0.55s cubic-bezier(0.2, 0.6, 0.2, 1);
	will-change: transform;
}

.iw-produto-card:hover .elementor-widget-theme-post-featured-image img {
	transform: scale(1.05);
}

/* Botoes: elevacao curta, sem sombra, coerente com o resto do site. */
.elementor-button {
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}

.elementor-button:hover {
	transform: translateY(-2px);
}

.single_add_to_cart_button {
	transition: background-color 0.25s ease, transform 0.25s ease !important;
}

.single_add_to_cart_button:hover {
	transform: translateY(-2px);
}

/* Icone do carrinho e da conta no header. */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle,
.elementor-widget-icon .elementor-icon {
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__toggle:hover,
.elementor-widget-icon .elementor-icon:hover {
	transform: translateY(-2px);
}

/* Acessibilidade: quem configurou menos movimento no sistema operacional
   recebe a pagina inteira, sem animacao de entrada e sem transicao. */
@media (prefers-reduced-motion: reduce) {
	.elementor-invisible {
		visibility: visible !important;
		animation: none !important;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}
