/* Shared storefront motion: subtle, fast, and disabled for reduced-motion users. */
.storefront-app main { animation: page-enter .55s cubic-bezier(.22,1,.36,1) both; }
.storefront-app .anim-reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s cubic-bezier(.22,1,.36,1); transition-delay: var(--animation-delay, 0ms); }
.storefront-app .anim-reveal.is-visible { opacity: 1; transform: none; }
.storefront-app .product-card, .storefront-app .product-item, .storefront-app .category-card, .storefront-app .service-card { transition: transform .28s ease, box-shadow .28s ease; }
.storefront-app .product-card:hover, .storefront-app .product-item:hover, .storefront-app .category-card:hover, .storefront-app .service-card:hover { transform: translateY(-6px); box-shadow: 0 16px 35px rgba(41,25,39,.13); }
.storefront-app .btn, .storefront-app button, .storefront-app a { transition: transform .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease; }
.storefront-app .btn:hover { transform: translateY(-2px); }
.storefront-app .btn:active, .storefront-app button:active { transform: translateY(0) scale(.98); }
.storefront-app .modal, .storefront-app .modal-dialog, .storefront-app .modal-content { opacity: 1 !important; }
.storefront-app .modal-content { background-color: #fff !important; }
.storefront-app .modal .anim-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
.storefront-app .modal-backdrop { opacity: .45 !important; }
@keyframes page-enter { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .storefront-app main { animation: none; } .storefront-app .product-card:hover, .storefront-app .product-item:hover, .storefront-app .category-card:hover, .storefront-app .service-card:hover { transform: none; } }
