.txr-products { scroll-margin-top: 100px; }
.portfolio_wrap.txr-products .txr-category-list {
    display: flex;
    flex-wrap: wrap;
    height: auto !important;
    gap: 2pt;
    padding: 3px 0;
    margin: 0;
    list-style: none;
}
.txr-products .subnav__container { max-width: 100%; }
.txr-products .filter-nav { width: 100%; }
.portfolio_wrap.txr-products .filter-nav__nav { padding: 0 3px; }
.portfolio_wrap.txr-products .txr-category { flex: 0 0 auto; position: relative; z-index: 1; margin: 0; }
.txr-products .txr-category-link { text-decoration: none; }
.portfolio_wrap.txr-products .txr-category-link {
    display: flex;
    align-items: center;
    height: 48px;
}
.txr-products .txr-category.active .txr-category-link {
    background: var(--color-contrast-higher, #292423);
    color: var(--color-bg, #fff) !important;
}
.txr-products .txr-category-link:focus-visible,
.txr-products .txr-page-link:focus-visible,
.txr-products .item--inner > a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}
.txr-products[aria-busy="true"] .txr-product-feed {
    opacity: .45;
    pointer-events: none;
}
.txr-products .txr-product-feed { transition: opacity .15s ease; }
.txr-products .txr-grid-status:not(.txr-grid-error) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.txr-products .txr-grid-error { margin-top: 20px; }
.txr-products .ms-p-img { aspect-ratio: 1; margin: 0; }
.txr-products .ms-p-img img { width: 100%; height: 100%; object-fit: cover; }
.txr-products .item--inner > a { display: block; text-decoration: none; }
.txr-products .txr-product-price { display: block; margin-top: 8px; font-size: 16px; }
.txr-products .txr-product-price del { opacity: .6; margin-right: .4em; }
.txr-products .txr-product-price ins { background: transparent; text-decoration: none; }
.txr-products .txr-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
}
.txr-products .txr-page-link {
    padding: 10px 16px;
    border: 1px solid currentColor;
    border-radius: 12px;
    text-decoration: none;
}
@media (max-width: 767px) {
    .txr-products .txr-product-card { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .txr-products .txr-product-feed { transition: none; }
}
