/* Storefront V2 — subtle content motion layer. */

html.sf-motion-ready body:not([data-sf-motion="off"]) [data-sf-reveal] {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
    filter: blur(.25px);
    transition:
        opacity .42s cubic-bezier(.2,.8,.2,1),
        transform .48s cubic-bezier(.2,.8,.2,1),
        filter .42s ease;
    transition-delay: var(--sf-reveal-delay, 0ms);
    will-change: opacity, transform;
}

html.sf-motion-ready body:not([data-sf-motion="off"]) [data-sf-reveal].is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: none;
    will-change: auto;
}

/* Expressive remains restrained; it simply travels a touch farther and slower. */
html.sf-motion-ready body[data-sf-motion="expressive"] [data-sf-reveal] {
    transform: translate3d(0, 14px, 0);
    transition-duration: .48s, .56s, .48s;
}

html.sf-motion-ready body[data-sf-motion="expressive"] [data-sf-reveal].is-visible {
    transform: translate3d(0, 0, 0);
}

/* Product/category cards get a small tactile lift. */
body:not([data-sf-motion="off"]) .product-card,
body:not([data-sf-motion="off"]) .sf-home-v2__category,
body:not([data-sf-motion="off"]) .sf-category-card,
body:not([data-sf-motion="off"]) .sf-category-orb__media,
body:not([data-sf-motion="off"]) .sf-categories-v2__card {
    transition:
        transform .24s cubic-bezier(.2,.8,.2,1),
        box-shadow .24s ease,
        border-color .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    body:not([data-sf-motion="off"]) .product-card:hover,
    body:not([data-sf-motion="off"]) .sf-home-v2__category:hover,
    body:not([data-sf-motion="off"]) .sf-category-card:hover,
    body:not([data-sf-motion="off"]) .sf-categories-v2__card:hover {
        transform: translateY(-3px);
    }

    body:not([data-sf-motion="off"]) .product-card:hover img,
    body:not([data-sf-motion="off"]) .sf-home-v2__category:hover img,
    body:not([data-sf-motion="off"]) .sf-category-card:hover img {
        transform: scale(1.025);
    }
}

.product-card img,
.sf-home-v2__category img,
.sf-category-card img {
    transition: transform .5s cubic-bezier(.2,.8,.2,1);
}

/* Buttons feel responsive without spring/bounce effects. */
body:not([data-sf-motion="off"]) .sf-button,
body:not([data-sf-motion="off"]) .sf-primary-action,
body:not([data-sf-motion="off"]) .sf-catalog__apply,
body:not([data-sf-motion="off"]) .sf-catalog__filter-toggle,
body:not([data-sf-motion="off"]) .sf-pagination__nav,
body:not([data-sf-motion="off"]) .sf-pagination__page {
    transition:
        transform .16s ease,
        box-shadow .2s ease,
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease;
}

@media (hover: hover) and (pointer: fine) {
    body:not([data-sf-motion="off"]) .sf-button:hover,
    body:not([data-sf-motion="off"]) .sf-primary-action:hover,
    body:not([data-sf-motion="off"]) .sf-catalog__apply:hover,
    body:not([data-sf-motion="off"]) .sf-catalog__filter-toggle:hover {
        transform: translateY(-1px);
    }
}

body:not([data-sf-motion="off"]) .sf-button:active,
body:not([data-sf-motion="off"]) .sf-primary-action:active,
body:not([data-sf-motion="off"]) .sf-catalog__apply:active,
body:not([data-sf-motion="off"]) .sf-catalog__filter-toggle:active,
body:not([data-sf-motion="off"]) .sf-pagination__nav:active,
body:not([data-sf-motion="off"]) .sf-pagination__page:active {
    transform: translateY(0) scale(.985);
}

/* Section headings receive a barely perceptible emphasis as their section enters. */
html.sf-motion-ready body:not([data-sf-motion="off"]) [data-sf-reveal] .sf-home-v2__section-head,
html.sf-motion-ready body:not([data-sf-motion="off"]) [data-sf-reveal] .sf-section-heading {
    transition: transform .52s cubic-bezier(.2,.8,.2,1), opacity .44s ease;
}

html.sf-motion-ready body:not([data-sf-motion="off"]) [data-sf-reveal]:not(.is-visible) .sf-home-v2__section-head,
html.sf-motion-ready body:not([data-sf-motion="off"]) [data-sf-reveal]:not(.is-visible) .sf-section-heading {
    transform: translateY(4px);
    opacity: .82;
}

body[data-sf-motion="off"] [data-sf-reveal],
body[data-sf-motion="off"] .product-card,
body[data-sf-motion="off"] .sf-home-v2__category,
body[data-sf-motion="off"] .sf-category-card,
body[data-sf-motion="off"] .sf-category-orb__media,
body[data-sf-motion="off"] .sf-button,
body[data-sf-motion="off"] .sf-primary-action {
    transition: none !important;
    animation: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
    [data-sf-reveal],
    .product-card,
    .sf-home-v2__category,
    .sf-category-card,
    .sf-category-orb__media,
    .sf-button,
    .sf-primary-action,
    .sf-catalog__apply,
    .sf-catalog__filter-toggle,
    .sf-pagination__nav,
    .sf-pagination__page,
    .product-card img,
    .sf-home-v2__category img,
    .sf-category-card img {
        transition: none !important;
        animation: none !important;
        transform: none !important;
        filter: none !important;
        opacity: 1 !important;
    }
}
