:root {
    --tpx-ink-strong: #050d13;
    --tpx-card-hover-border: rgba(16, 119, 189, .48);
    --tpx-card-hover-shadow: 0 16px 30px -24px rgba(5, 42, 70, .48);
    --tpx-card-hover-y: -2px;
    --tpx-card-press-scale: .995;
}

/* Keep category links stationary while retaining border, shadow and arrow feedback. */
.tpx-category-card-hover-strip,
.tpx-category-card,
.tpx-child-category-card {
    --tpx-card-hover-y: 0px;
    --tpx-card-press-scale: 1;
}

body.tax-product_cat .tpx-product-archive-heading,
body.post-type-archive-product .tpx-product-archive-heading,
body.search-results .tpx-product-archive-heading,
.tpx-category-card-hover-strip .brxe-heading,
.tpx-category-card .brxe-heading,
.tpx-child-category-card .brxe-heading,
.tpx-product-card .tpx-product-title-part--type,
.tpx-product-grid-card .tpx-card-name .tpx-product-title-part--type,
.tpx-product-card--archive .tpx-product-card__view.brxe-button {
    color: var(--tpx-ink-strong) !important;
}

.tpx-product-card--archive .tpx-product-card__view.brxe-button i {
    color: var(--tpx-color-primary, #1077bd) !important;
}

.tpx-category-card-hover-strip,
.tpx-category-card,
.tpx-child-category-card,
.tpx-product-card,
.tpx-product-grid-card,
.tpx-product-card--archive,
.tpx-product-card--related,
.tpx-search-result-card__link,
.tpx-tp-review-card,
.tpx-archive-help-cta {
    transition:
        transform var(--tpx-motion-fast, .18s) var(--tpx-motion-ease, cubic-bezier(.16, 1, .3, 1)),
        box-shadow var(--tpx-motion-fast, .18s) var(--tpx-motion-ease, cubic-bezier(.16, 1, .3, 1)),
        border-color var(--tpx-motion-fast, .18s) ease,
        background-color var(--tpx-motion-fast, .18s) ease,
        opacity var(--tpx-motion-fast, .18s) ease;
}

.tpx-category-card-hover-strip::after,
.tpx-category-card::after {
    transition:
        opacity var(--tpx-motion-fast, .18s) ease,
        transform var(--tpx-motion-fast, .18s) var(--tpx-motion-ease, cubic-bezier(.16, 1, .3, 1));
}

:is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta):focus-visible,
:is(.tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):focus-within {
    outline: 2px solid var(--tpx-focus-ring, rgba(99, 176, 247, .34));
    outline-offset: 3px;
}

@media (hover: hover) and (pointer: fine) {
    :is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta):is(:hover, :focus-visible, .tpx-card-motion-hover),
    :is(.tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):is(:hover, :focus-within, .tpx-card-motion-hover),
    html.tpx-reveal-enabled .tpx-reveal-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta):is(:hover, :focus-visible, .tpx-card-motion-hover),
    html.tpx-reveal-enabled .tpx-reveal-item.tpx-reveal-in:is(.tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):is(:hover, :focus-within, .tpx-card-motion-hover),
    html.tpx-reveal-card-force .tpx-reveal-card-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta):is(:hover, :focus-visible, .tpx-card-motion-hover),
    html.tpx-reveal-card-force .tpx-reveal-card-item.tpx-reveal-in:is(.tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):is(:hover, :focus-within, .tpx-card-motion-hover) {
        transform: translate3d(0, var(--tpx-card-hover-y), 0) !important;
        border-color: var(--tpx-card-hover-border) !important;
        box-shadow: var(--tpx-shadow-lift, var(--tpx-card-hover-shadow)) !important;
    }

    :is(.tpx-category-card-hover-strip, .tpx-category-card):is(:hover, :focus-visible, .tpx-card-motion-hover)::after,
    html.tpx-reveal-enabled .tpx-reveal-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card):is(:hover, :focus-visible, .tpx-card-motion-hover)::after,
    html.tpx-reveal-card-force .tpx-reveal-card-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card):is(:hover, :focus-visible, .tpx-card-motion-hover)::after {
        opacity: 1 !important;
        transform: scaleX(1) !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    :is(.tpx-category-card-hover-strip, .tpx-category-card):active::after {
        opacity: 1 !important;
        transform: scaleX(1) !important;
    }

    .tpx-category-card-hover-strip:active,
    .tpx-category-card:active,
    .tpx-child-category-card:active,
    .tpx-product-card:active,
    .tpx-product-grid-card:active,
    .tpx-product-card--archive:active,
    .tpx-product-card--related:active,
    .tpx-search-result-card__link:active,
    .tpx-tp-review-card:active,
    body.tax-product_cat .tpx-archive-help-cta:active,
    body.post-type-archive-product .tpx-archive-help-cta:active,
    body.search-results .tpx-archive-help-cta:active {
        transform: translate3d(0, 0, 0) scale(var(--tpx-card-press-scale)) !important;
    }
}

.brxe-catcrd.tpx-child-category-card.brxe-block {
    position: relative !important;
    cursor: pointer;
}

.brxe-catcrd.tpx-child-category-card .tpx-category-card__stretched-link {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 100% !important;
    min-height: 100% !important;
    z-index: 8 !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    text-decoration: none !important;
    cursor: pointer;
}

.brxe-catcrd.tpx-child-category-card .brxe-catinf,
.brxe-catcrd.tpx-child-category-card .tpx-category-helper,
.brxe-catcrd.tpx-child-category-card .tpx-category-helper * {
    position: relative;
    z-index: 22;
}

.brxe-catcrd.tpx-child-category-card .brxe-catimg,
.brxe-catcrd.tpx-child-category-card .brxe-catrow.brxe-block,
.brxe-catcrd.tpx-child-category-card .brxe-catttl.brxe-heading,
.brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg {
    pointer-events: none;
}

.brxe-catcrd.tpx-child-category-card .brxe-catinf,
.brxe-catcrd.tpx-child-category-card .brxe-catinf *,
.brxe-catcrd.tpx-child-category-card .tpx-category-helper,
.brxe-catcrd.tpx-child-category-card .tpx-category-helper * {
    pointer-events: auto;
}

.brxe-catcrd.tpx-child-category-card:has(.tpx-category-card__stretched-link:focus-visible) {
    outline: 2px solid rgba(16, 119, 189, .72);
    outline-offset: 3px;
}

.brxe-catcrd.tpx-child-category-card:has(.tpx-category-card__stretched-link:focus-visible) .brxe-catchv.brxe-svg {
    opacity: 1;
    transform: translateX(.12rem) !important;
}

/* Opt-in Bricks label rows own their gutters and icon position. */
.brxe-catcrd.tpx-child-category-card .brxe-catrow.brxe-block:not(.tpx-category-label-native) {
    position: static !important;
    padding-right: clamp(.55rem, .9vw, .8rem) !important;
    padding-left: clamp(.18rem, .45vw, .35rem) !important;
}

.brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg {
    --tpx-cat-chevron-color: var(--tpx-color-primary, #1077bd);
    display: inline-grid !important;
    place-items: center !important;
    width: 14px !important;
    min-width: 14px !important;
    max-width: 14px !important;
    height: 23px !important;
    min-height: 23px !important;
    max-height: 23px !important;
    margin: 0 !important;
    color: var(--tpx-cat-chevron-color) !important;
    opacity: .8;
    line-height: 0 !important;
    transform: none !important;
    transform-origin: center;
    pointer-events: none;
    z-index: 18;
    transition:
        opacity var(--tpx-motion-fast, .18s) ease,
        transform var(--tpx-motion-fast, .18s) var(--tpx-motion-ease, cubic-bezier(.16, 1, .3, 1));
}

.brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg:not(.tpx-category-label-native *) {
    position: absolute !important;
    top: auto !important;
    right: clamp(.72rem, .98vw, .92rem) !important;
    bottom: clamp(.7rem, .9vw, .86rem) !important;
}

.brxe-catcrd.tpx-child-category-card svg.brxe-catchv.brxe-svg,
.brxe-catcrd.tpx-child-category-card svg.brxe-catchv.brxe-svg *,
.brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg * {
    display: block !important;
    color: var(--tpx-cat-chevron-color) !important;
    fill: currentColor !important;
    stroke: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .brxe-catcrd.tpx-child-category-card:hover .brxe-catchv.brxe-svg,
    .brxe-catcrd.tpx-child-category-card:focus-within .brxe-catchv.brxe-svg,
    .brxe-catcrd.tpx-child-category-card.tpx-card-motion-hover .brxe-catchv.brxe-svg {
        opacity: 1;
        transform: translate3d(.12rem, 0, 0) !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    .brxe-catcrd.tpx-child-category-card:active .brxe-catchv.brxe-svg {
        opacity: 1;
        transform: translate3d(.08rem, 0, 0) !important;
    }
}

.tpx-product-card .bricks-button i.ti-angle-right,
.tpx-product-card .brxe-button.bricks-button i.ti-angle-right,
.tpx-product-card--related .bricks-button i.ti-angle-right,
.tpx-product-card--related .brxe-button.bricks-button i.ti-angle-right {
    --tpx-chevron-size: .82rem;
    transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
    .tpx-product-card:hover .bricks-button i.ti-angle-right,
    .tpx-product-card .bricks-button:hover i.ti-angle-right,
    .tpx-product-card .bricks-button:focus-visible i.ti-angle-right,
    .tpx-product-card.tpx-card-motion-hover .bricks-button i.ti-angle-right,
    .tpx-product-card.tpx-card-motion-hover .brxe-button.bricks-button i.ti-angle-right,
    .tpx-product-card--related:hover .bricks-button i.ti-angle-right,
    .tpx-product-card--related .bricks-button:hover i.ti-angle-right,
    .tpx-product-card--related .bricks-button:focus-visible i.ti-angle-right,
    .tpx-product-card--related.tpx-card-motion-hover .bricks-button i.ti-angle-right,
    .tpx-product-card--related.tpx-card-motion-hover .brxe-button.bricks-button i.ti-angle-right {
        transform: translateX(.18rem) !important;
    }
}

.tpx-product-card .bricks-button:active i.ti-angle-right,
.tpx-product-card--related .bricks-button:active i.ti-angle-right {
    transform: translateX(.1rem) !important;
}

@media (hover: none), (pointer: coarse) {
    :is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta, .tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):hover,
    :is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta, .tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card).tpx-card-motion-hover,
    html.tpx-reveal-enabled .tpx-reveal-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta, .tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):hover,
    html.tpx-reveal-enabled .tpx-reveal-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta, .tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card).tpx-card-motion-hover,
    html.tpx-reveal-card-force .tpx-reveal-card-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta, .tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):hover,
    html.tpx-reveal-card-force .tpx-reveal-card-item.tpx-reveal-in:is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta, .tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card).tpx-card-motion-hover {
        transform: none !important;
        box-shadow: none !important;
    }

    :is(.tpx-category-card-hover-strip, .tpx-category-card):hover::after,
    :is(.tpx-category-card-hover-strip, .tpx-category-card):active::after,
    :is(.tpx-category-card-hover-strip, .tpx-category-card).tpx-card-motion-hover::after {
        opacity: 0 !important;
        transform: scaleX(0) !important;
    }

    .brxe-catcrd.tpx-child-category-card:active .brxe-catchv.brxe-svg,
    .brxe-catcrd.tpx-child-category-card.tpx-card-motion-hover .brxe-catchv.brxe-svg,
    .tpx-product-card.tpx-card-motion-hover .bricks-button i.ti-angle-right,
    .tpx-product-card.tpx-card-motion-hover .brxe-button.bricks-button i.ti-angle-right,
    .tpx-product-card--related.tpx-card-motion-hover .bricks-button i.ti-angle-right,
    .tpx-product-card--related.tpx-card-motion-hover .brxe-button.bricks-button i.ti-angle-right {
        transform: none !important;
    }

    :is(.tpx-category-card-hover-strip, .tpx-category-card, .tpx-child-category-card, .tpx-search-result-card__link, .tpx-archive-help-cta, .tpx-product-card, .tpx-product-grid-card, .tpx-product-card--archive, .tpx-product-card--related, .tpx-tp-review-card):active {
        transform: none !important;
        box-shadow: none !important;
    }
}

@media (max-width: 991px) {
    .brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg {
        width: 12px !important;
        min-width: 12px !important;
        max-width: 12px !important;
        height: 19px !important;
        min-height: 19px !important;
        max-height: 19px !important;
    }

    .brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg:not(.tpx-category-label-native *) {
        right: .68rem !important;
        bottom: .64rem !important;
    }
}

@media (max-width: 767px) {
    .brxe-catcrd.tpx-child-category-card .brxe-catimg {
        width: min(78%, 8.75rem) !important;
        max-width: calc(100% - .75rem) !important;
        margin-right: auto !important;
        margin-left: auto !important;
    }

    .brxe-catcrd.tpx-child-category-card .brxe-catimg img {
        width: 100% !important;
        height: auto !important;
        max-height: 8rem !important;
        object-fit: contain !important;
    }

    .brxe-catcrd.tpx-child-category-card .brxe-catrow.brxe-block {
        min-height: 46px !important;
    }

    .brxe-catcrd.tpx-child-category-card .brxe-catrow.brxe-block:not(.tpx-category-label-native) {
        position: static !important;
        padding-right: 10px !important;
        padding-left: 2px !important;
    }

    .brxe-catcrd.tpx-child-category-card .brxe-catttl.brxe-heading {
        padding-left: 0 !important;
        padding-right: 0 !important;
        /* Mobile title size is owned by the Bricks heading controls. */
        line-height: 1.05 !important;
        min-width: 0 !important;
    }

    .brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg {
        width: 9px !important;
        min-width: 9px !important;
        max-width: 9px !important;
        height: 14px !important;
        min-height: 14px !important;
        max-height: 14px !important;
        transform: none !important;
    }

    .brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg:not(.tpx-category-label-native *) {
        top: auto !important;
        right: .5rem !important;
        bottom: .5rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tpx-category-card-hover-strip,
    .tpx-category-card,
    .tpx-child-category-card,
    .tpx-product-card,
    .tpx-product-grid-card,
    .tpx-product-card--archive,
    .tpx-product-card--related,
    .tpx-search-result-card__link,
    .tpx-tp-review-card,
    .tpx-archive-help-cta,
    .tpx-product-card .bricks-button i.ti-angle-right,
    .tpx-product-card .brxe-button.bricks-button i.ti-angle-right,
    .tpx-product-card--related .bricks-button i.ti-angle-right,
    .tpx-product-card--related .brxe-button.bricks-button i.ti-angle-right,
    .brxe-catcrd.tpx-child-category-card .brxe-catchv.brxe-svg {
        transition:
            transform var(--tpx-motion-fast, .18s) var(--tpx-motion-ease, cubic-bezier(.16, 1, .3, 1)) !important,
            box-shadow var(--tpx-motion-fast, .18s) var(--tpx-motion-ease, cubic-bezier(.16, 1, .3, 1)) !important,
            border-color var(--tpx-motion-fast, .18s) ease !important,
            background-color var(--tpx-motion-fast, .18s) ease !important,
            opacity var(--tpx-motion-fast, .18s) ease !important;
    }

    .tpx-category-card-hover-strip::after,
    .tpx-category-card::after {
        transition:
            opacity var(--tpx-motion-fast, .18s) ease !important,
            transform var(--tpx-motion-fast, .18s) var(--tpx-motion-ease, cubic-bezier(.16, 1, .3, 1)) !important;
    }
}
