/* Storefront motion: feedback on actions, fast transitions on overlays. */
/* Keep action captions steady under repeated clicks; readable content stays selectable. */
body :is(button, .btn, [role=button], [role=tab], summary, .switch, .form-check-label, .nav-link, .dropdown-item, .page-link, .product-addon-card__button, .product-reviews-action, .product-questions-action, .product-purchase-rail__button, .mini-cart-checkout, .site-popup__cta, .site-popup__later, .utility-page__support-link) {
    -webkit-user-select: none;
    user-select: none;
}
body :is(input:not([type=button]):not([type=submit]):not([type=reset]), textarea, [contenteditable]:not([contenteditable=false])) {
    -webkit-user-select: text;
    user-select: text;
}
:root { --store-motion-out: cubic-bezier(.23,1,.32,1); }
body :is(.btn, button, .product-addon-card__button, .product-reviews-action, .product-questions-action, .product-purchase-rail__button, .mini-cart-checkout, .site-popup__cta, .site-popup__later, .utility-page__support-link) {
    transition: transform 140ms var(--store-motion-out), background-color 140ms ease, border-color 140ms ease, color 140ms ease, opacity 140ms ease;
}
/* Replace the legacy moving shine without changing button contents. */
body .btn::before { content: none; }
body .btn:not(.header-signin):not(.cart-button):not(.btn-add-to-cart):hover { transform: none; }
body :is(.btn, button, .product-addon-card__button, .product-reviews-action, .product-questions-action, .product-purchase-rail__button, .mini-cart-checkout, .site-popup__cta, .site-popup__later, .utility-page__support-link):not(:disabled):not([aria-disabled=true]):not(.disabled):not(.loading):not([role=tab]):active {
    transform: scale(.97);
}
body :is(button, a, summary):focus-visible {
    outline: 2px solid var(--colorMain, #df1d4a);
    outline-offset: 3px;
    transition: none !important;
}
body :is(.btn, button, .product-addon-card__button, .product-purchase-rail__button):is(:disabled, [aria-disabled=true], .disabled, .loading) { transform: none !important; }
.product-addon-card__button { cursor: pointer; }
@media (hover:hover) and (pointer:fine) {
    .product-addon-card__button:not(:disabled):not(.loading):hover { background: #fff1f5; }
}
.product-addon-card__button:not(:disabled):not(.loading):active { background: #ffe4ec; }
.mini-shopping-cart { transform-origin: top left; transform: translateY(-4px) scale(.985); transition: opacity 120ms ease, transform 120ms var(--store-motion-out), visibility 0s linear 120ms; }
.mini-shopping-cart.open { transform: none; transition: opacity 180ms ease, transform 180ms var(--store-motion-out), visibility 0s; }
@media (max-width:767.98px) {
    .mini-shopping-cart { transform-origin: bottom center; transform: translateY(100%); transition: opacity 160ms ease, transform 220ms var(--store-motion-out), visibility 0s linear 220ms; }
    .mini-shopping-cart.open { transform: none; transition: opacity 160ms ease, transform 220ms var(--store-motion-out), visibility 0s; }
}
.modal.fade .modal-dialog { transform: translateY(8px) scale(.97); transition: transform 200ms var(--store-motion-out); }
.modal.show .modal-dialog { transform: none; }
.modal.fade, .modal-backdrop.fade { transition: opacity 160ms ease; }
.offcanvas { transition: transform 220ms var(--store-motion-out); }
.product-gallery-actions button { transition: background-color 140ms ease, transform 140ms var(--store-motion-out); }
.account-page .dashboard-box { transition: border-color 140ms ease; }
.account-page .dashboard-box:hover { transform: none; }
@media (max-width:991.98px) {
    .site-header .menu-items { right: 0 !important; transform: translateX(105%); transition: transform 220ms var(--store-motion-out), visibility 0s linear 220ms; }
    .site-header .menu-items.open { transform: none; transition: transform 220ms var(--store-motion-out), visibility 0s; }
    .account-page #sidebar-box { transition: transform 220ms var(--store-motion-out); }
}
/* Keyboard navigation should never wait for decorative movement. */
body[data-motion-input=keyboard] :is(.btn, button, .product-addon-card__button, .product-reviews-action, .product-questions-action, .product-purchase-rail__button, .mini-cart-checkout, .site-popup__cta, .site-popup__later, .mini-shopping-cart, .modal, .modal-dialog, .modal-backdrop, .offcanvas, .menu-items, #sidebar-box) { transition: none !important; }
body[data-motion-input=keyboard] :is(.btn, button, .product-addon-card__button, .product-reviews-action, .product-questions-action, .product-purchase-rail__button, .mini-cart-checkout, .site-popup__cta, .site-popup__later):active { transform: none !important; }
@media (prefers-reduced-motion:reduce) {
    body :is(.btn, button, .product-addon-card__button, .product-reviews-action, .product-questions-action, .product-purchase-rail__button, .mini-cart-checkout, .site-popup__cta, .site-popup__later, .utility-page__support-link):is(:hover, :active) { transform: none !important; }
    .mini-shopping-cart, .mini-shopping-cart.open, .modal.fade .modal-dialog, .modal.show .modal-dialog { transform: none; transition: opacity 120ms ease; }
    .offcanvas, .site-header .menu-items, .account-page #sidebar-box { transition: none !important; }
    html { scroll-behavior: auto !important; }
}

/* One hover response across the legacy home, catalog and recommendation card skins. */
body .v-product-item { transform: none !important; }
@media (hover: hover) and (pointer: fine) {
    body .v-product-item { transition: transform 160ms var(--store-motion-out, cubic-bezier(.23,1,.32,1)) !important; }
    body .v-product-item:hover {
        transform: translateY(-3px) !important;
        box-shadow: 0 8px 22px rgba(23,55,70,.12) !important;
        z-index: 2;
    }
    /* Leave room for the raised edge inside horizontally clipped product rails. */
    :is(.similar-products-swiper, .brand-products-swiper, .front-widget .swiper, .offer-strip__rail) { padding-block-start: 4px; padding-block-end: 14px; }
}
@media (hover: none), (pointer: coarse) {
    body .v-product-item:hover { transform: none !important; box-shadow: none !important; }
}
@media (prefers-reduced-motion: reduce) {
    body .v-product-item, body .v-product-item:hover { transform: none !important; transition: none !important; }
}
