/**
 * VendifyTech Motion System
 * V10 LOOP 09 — Interaction and Motion System
 * @version 1.0.0
 */
.vt-reveal { opacity: 0; transform: translateY(24px); transition: opacity var(--vt-duration-normal) var(--vt-ease-out), transform var(--vt-duration-normal) var(--vt-ease-out); will-change: opacity, transform; }
.vt-reveal.vt-inview { opacity: 1; transform: translateY(0); }
.vt-reveal-left { opacity: 0; transform: translateX(-24px); transition: opacity var(--vt-duration-normal) var(--vt-ease-out), transform var(--vt-duration-normal) var(--vt-ease-out); }
.vt-reveal-left.vt-inview { opacity: 1; transform: translateX(0); }
.vt-reveal-right { opacity: 0; transform: translateX(24px); transition: opacity var(--vt-duration-normal) var(--vt-ease-out), transform var(--vt-duration-normal) var(--vt-ease-out); }
.vt-reveal-right.vt-inview { opacity: 1; transform: translateX(0); }
.vt-reveal-scale { opacity: 0; transform: scale(0.96); transition: opacity var(--vt-duration-normal) var(--vt-ease-out), transform var(--vt-duration-normal) var(--vt-ease-out); }
.vt-reveal-scale.vt-inview { opacity: 1; transform: scale(1); }
.vt-reveal-image { opacity: 0; transition: opacity var(--vt-duration-slow) var(--vt-ease-out); }
.vt-reveal-image.vt-inview { opacity: 1; }
.vt-reveal-delay-1 { transition-delay: 75ms; }
.vt-reveal-delay-2 { transition-delay: 150ms; }
.vt-reveal-delay-3 { transition-delay: 225ms; }
.vt-reveal-delay-4 { transition-delay: 300ms; }
.vt-heading-reveal { opacity: 0; transform: translateY(16px); transition: opacity var(--vt-duration-slow) var(--vt-ease-out), transform var(--vt-duration-slow) var(--vt-ease-out); }
.vt-heading-reveal.vt-inview { opacity: 1; transform: translateY(0); }
.vt-product-card { transition: transform var(--vt-transition-normal), box-shadow var(--vt-transition-normal); }
.vt-product-card:hover { transform: translateY(-4px); box-shadow: var(--vt-shadow-card-hover); }
.vt-product-card .vt-product-image { transition: transform var(--vt-transition-slow); overflow: hidden; }
.vt-product-card:hover .vt-product-image img { transform: scale(1.05); }
.vt-btn { transition: background-color var(--vt-transition-fast), border-color var(--vt-transition-fast), color var(--vt-transition-fast), transform var(--vt-transition-fast), box-shadow var(--vt-transition-fast); }
.vt-btn:hover { transform: translateY(-1px); }
.vt-btn:active { transform: translateY(0) scale(0.98); }
.vt-btn-primary { background-color: var(--vt-color-primary); border-color: var(--vt-color-primary); color: var(--vt-color-white); }
.vt-btn-primary:hover { background-color: var(--vt-color-primary-dark); border-color: var(--vt-color-primary-dark); }
.vt-btn-secondary { background-color: var(--vt-color-secondary); border-color: var(--vt-color-secondary); color: var(--vt-color-white); }
.vt-btn-secondary:hover { background-color: var(--vt-color-secondary-dark); border-color: var(--vt-color-secondary-dark); }
.vt-icon-btn { transition: color var(--vt-transition-fast), background-color var(--vt-transition-fast), transform var(--vt-transition-fast); }
.vt-icon-btn:hover { transform: scale(1.1); }
.vt-icon-btn:active { transform: scale(0.95); }
.vt-wishlist-btn.vt-active .vt-icon { color: var(--vt-color-error); animation: vt-heart-pop var(--vt-duration-normal) var(--vt-ease-spring); }
@keyframes vt-heart-pop { 0% { transform: scale(1); } 50% { transform: scale(1.3); } 100% { transform: scale(1); } }
.vt-qty-btn { transition: background-color var(--vt-transition-fast), transform var(--vt-transition-fast); }
.vt-qty-btn:active { transform: scale(0.9); }
.vt-cart-count { transition: transform var(--vt-duration-fast) var(--vt-ease-spring); }
.vt-cart-count.vt-bump { animation: vt-bump var(--vt-duration-normal) var(--vt-ease-spring); }
@keyframes vt-bump { 0% { transform: scale(1); } 50% { transform: scale(1.4); } 100% { transform: scale(1); } }
.vt-accordion-content { display: grid; grid-template-rows: 0fr; transition: grid-template-rows var(--vt-transition-normal); }
.vt-accordion-item.vt-open .vt-accordion-content { grid-template-rows: 1fr; }
.vt-accordion-inner { overflow: hidden; }
.vt-accordion-icon { transition: transform var(--vt-transition-normal); }
.vt-accordion-item.vt-open .vt-accordion-icon { transform: rotate(180deg); }
.vt-modal-backdrop { opacity: 0; transition: opacity var(--vt-transition-normal); }
.vt-modal-backdrop.vt-open { opacity: 1; }
.vt-modal { opacity: 0; transform: translateY(16px) scale(0.98); transition: opacity var(--vt-transition-normal), transform var(--vt-transition-normal); }
.vt-modal-backdrop.vt-open .vt-modal { opacity: 1; transform: translateY(0) scale(1); }
.vt-header { transition: box-shadow var(--vt-transition-normal), background-color var(--vt-transition-normal); }
.vt-header.vt-scrolled { box-shadow: var(--vt-shadow-md); }
.vt-skeleton { background: linear-gradient(90deg, var(--vt-color-gray-100) 25%, var(--vt-color-gray-200) 50%, var(--vt-color-gray-100) 75%); background-size: 200% 100%; animation: vt-skeleton-shimmer 1.5s infinite; border-radius: var(--vt-radius-md); }
@keyframes vt-skeleton-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
.vt-focusable:focus-visible { outline: none; box-shadow: var(--vt-focus-ring); }
@media (prefers-reduced-motion: reduce) {
    .vt-reveal, .vt-reveal-left, .vt-reveal-right, .vt-reveal-scale, .vt-reveal-image, .vt-heading-reveal { opacity: 1; transform: none; transition: none; }
    .vt-product-card:hover { transform: none; }
    .vt-btn:hover { transform: none; }
    .vt-wishlist-btn.vt-active .vt-icon, .vt-cart-count.vt-bump { animation: none; }
}