/* ContraFlex optional animations. Loaded only when enabled in theme options. */

.cflex-side-cart,
.cflex-offcanvas {
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.cflex-overlay {
	opacity: 0;
	transition: opacity 0.25s ease;
}

.cflex-overlay.is-open {
	opacity: 1;
}

.cflex-menu .sub-menu {
	transition: opacity 0.18s ease, transform 0.18s ease;
	transform: translateY(6px);
}

.cflex-menu li:hover > .sub-menu,
.cflex-menu li:focus-within > .sub-menu,
.cflex-menu li.is-open > .sub-menu {
	transform: translateY(0);
}

.cflex-btn,
.cflex-icon-btn,
.cflex-menu a,
.cflex-social-link,
.cflex-loop-title a,
.cflex-mini-cart-remove {
	transition: color 0.15s ease, background-color 0.15s ease, filter 0.15s ease, transform 0.15s ease;
}

.cflex-btn:hover {
	transform: translateY(-1px);
}

.cflex-mini-cart-item {
	transition: opacity 0.2s ease;
}

.cflex-cart-count {
	transition: transform 0.2s ease;
}

.cflex-loop-thumb img,
.woocommerce ul.products li.product img {
	transition: transform 0.3s ease;
}

.cflex-loop-thumb:hover img,
.woocommerce ul.products li.product:hover img {
	transform: scale(1.03);
}

/* Respect user preference: kill everything. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		transition: none !important;
		animation: none !important;
	}
}
