.rep-product-card { border: 1px solid #d8e1ec; border-radius: 8px; box-shadow: none; min-height: 333px; }
.rep-product-card:hover { border-color: #b8c5d5; box-shadow: 0 4px 14px #0a192f0d; }
.rep-product-card__media { aspect-ratio: auto; border: 0; flex-shrink: 0; height: 128px; padding: 12px; }
.rep-product-card__content { gap: 0; padding: 0 12px 12px; }
.rep-product-card a.rep-product-card__rating { height: 16px; min-height: 16px; margin-bottom: 4px; }
.rep-product-card__rating--empty { color: #94a3b8; font-size: 12px; }
.rep-product-card__title { font-size: 13px; height: 54px !important; line-height: 18px !important; margin: 0; max-height: 54px !important; min-height: 54px !important; overflow: hidden; -webkit-line-clamp: 3; }
.rep-product-card__sku { font-size: 12px; line-height: 14px; }
.rep-product-card__content p { margin: 0; }
.rep-product-card__content .rep-product-card__sku { margin-top: 4px; }
.rep-product-card__upc { color: #94a3b8; font-size: 12px; line-height: 14px; margin: 1px 0 0; }
:is(.rep-product-card__sku,.rep-product-card__upc) strong { color: #526681; font-weight: 700; }
.rep-product-card__price { font-size: 1.125rem; line-height: 22px; margin: 8px 0 0; min-height: 22px; }
.rep-product-card__content .rep-product-card__availability { font-size: 12px; line-height: 14px; margin: 0; }
.rep-product-card__actions { margin-top: auto; padding-top: 6px; }
.rep-product-card a.rep-product-card__action { background: #075ff7; border: 0; border-radius: 6px; color: #fff; font-size: 10px; line-height: 16px; min-height: 32px; padding: 8px; }
.rep-product-card__badges { gap: 4px; left: 8px; top: 8px; }
.rep-product-card__badge { border-radius: 2px; box-shadow: none; font-size: 9px; line-height: 12px; padding: 1px 5px; }
.rep-product-card__wishlist { background: transparent; border-radius: 6px; box-shadow: none; color: #94a3b8; height: 44px; right: 8px; top: 6px; width: 36px; }
.rep-product-card__wishlist:disabled { border: 0; cursor: not-allowed; opacity: 1; padding: 0; }
.rep-product-card__wishlist svg { display: block; flex: 0 0 18px; height: 18px; stroke: currentColor; width: 18px; }
.rep-product-card a.rep-product-card__action:hover { background: #064dcc; }
.rep-home-products .rep-product-grid { gap: 16px; grid-template-columns: repeat(auto-fit, minmax(0, 240px)); justify-content: center; }
.rep-product-card__attributes { background: #f7f8fa; border: 1px solid #e4e9f0; border-radius: 5px; display: grid; gap: 6px; grid-template-columns: minmax(0,1fr); list-style: none; margin: 8px 0 0; padding: 8px 9px; }
.rep-product-card__upc + .rep-product-card__attributes { margin-top: 14px; }
.rep-product-card__attributes li { align-items: center; color: #526681; display: grid; font-size: 11px; gap: 7px; grid-template-columns: 46px minmax(0,1fr); line-height: 15px; min-width: 0; }
.rep-product-card__attribute-label { color: #334a68; font-weight: 700; overflow: hidden; text-overflow: clip; white-space: nowrap; }
.rep-product-card__attribute-value { align-items: center; display: flex; gap: 5px; min-width: 0; overflow: visible; }
.rep-product-card__attribute-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rep-product-card:has(.rep-spec-help:is(:hover,:focus,:focus-visible)) { overflow: visible; position: relative; z-index: 30; }
.rep-product-card__attributes .rep-spec-help__bubble { right: -10px; width: min(210px,calc(100vw - 48px)); }
.rep-product-card__footer { align-items: center; display: flex; gap: 6px; justify-content: space-between; margin-top: 8px; min-height: 18px; }
.rep-product-card__footer .rep-product-card__availability { border: 1px solid currentColor; border-radius: 999px; padding: 1px 5px; white-space: nowrap; }
.rep-product-card__footer .rep-product-card__availability::before { height: 4px; width: 4px; }
.rep-product-card__footer .rep-product-card__availability--available { background: #ecfdf3; color: #15803d; }
.rep-product-card__footer .rep-product-card__availability--backorder { background: #fff8e6; color: #a16207; }
.rep-product-card__footer .rep-product-card__availability--unavailable { background: #fff1f2; color: #c22026; }
@media (max-width: 35.99rem) {
    .rep-home-products .rep-product-grid {
        gap: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }
    .rep-home-products .rep-product-card { min-height: 0; }
    .rep-home-products .rep-product-card__media { height: 116px; padding: 8px; }
    .rep-home-products .rep-product-card__content { padding: 0 9px 9px; }
    .rep-home-products .rep-product-card__title { font-size: 12px; height: 48px; line-height: 16px; max-height: 48px; min-height: 48px; }
    .rep-home-products .rep-product-card__sku,
    .rep-home-products .rep-product-card__upc { font-size: 10px; line-height: 13px; }
    .rep-home-products .rep-product-card__price { font-size: 16px; }
    .rep-home-products .rep-card-quantity { display: none !important; }
    .rep-home-products .rep-product-card__actions--quantity > a.rep-product-card__action { flex-basis: 100%; width: 100%; }
    .rep-home-products .rep-product-card__footer { align-items: flex-start; flex-direction: column; gap: 4px; }
}
@media (min-width: 61.3125rem) and (max-width: 68.75rem) {
    .rep-home-products .rep-product-grid {
        gap: 10px;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        justify-content: stretch;
    }
    .rep-home-products .rep-product-card__media { height: 116px; padding: 8px; }
    .rep-home-products .rep-product-card__content { padding-inline: 9px; }
    .rep-home-products .rep-product-card__title { font-size: 12px; height: 48px; line-height: 16px; max-height: 48px; min-height: 48px; }
}
.rep-home-products__carousel { position: relative; min-width: 0; }
.rep-home-products .rep-home-product-grid {
    --rep-home-carousel-count: 6;
    --rep-home-carousel-gap: 13px;
    display: grid;
    gap: var(--rep-home-carousel-gap);
    grid-auto-columns: calc((100% - (var(--rep-home-carousel-count) - 1) * var(--rep-home-carousel-gap)) / var(--rep-home-carousel-count));
    grid-auto-flow: column;
    grid-template-columns: none !important;
    grid-template-rows: minmax(0, 1fr);
    justify-content: start;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 2px;
    scroll-behavior: smooth;
    scroll-snap-type: inline mandatory;
    scrollbar-width: none;
}
.rep-home-products .rep-home-product-grid::-webkit-scrollbar { display: none; }
.rep-home-products .rep-home-product-grid > .rep-product-grid__item { min-width: 0; scroll-snap-align: start; }
.rep-home-products__nav {
    align-items: center;
    background: #fff !important;
    border: 1px solid #cbd7e6 !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 14px rgba(10, 25, 47, .16) !important;
    color: #075ff7 !important;
    display: inline-flex;
    font-size: 28px !important;
    font-weight: 500 !important;
    height: 42px;
    justify-content: center;
    line-height: 1 !important;
    min-height: 42px !important;
    padding: 0 0 3px !important;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 42px;
    z-index: 12;
}
.rep-home-products__nav[hidden] { display: none !important; }
.rep-home-products__nav--prev { left: -18px; }
.rep-home-products__nav--next { right: -18px; }
.rep-home-products__nav:disabled { cursor: default; opacity: .35; }
.rep-home-products__nav:not(:disabled):hover { background: #075ff7 !important; color: #fff !important; }

@media (max-width: 75rem) {
    .rep-home-products .rep-home-product-grid { --rep-home-carousel-count: 4; }
}
@media (min-width: 61.3125rem) and (max-width: 68.75rem) {
    .rep-home-products .rep-home-product-grid { --rep-home-carousel-count: 5; }
}
@media (max-width: 48rem) {
    .rep-home-products .rep-home-product-grid { --rep-home-carousel-count: 3; --rep-home-carousel-gap: 10px; }
    .rep-home-products__nav--prev { left: -10px; }
    .rep-home-products__nav--next { right: -10px; }
}
@media (max-width: 35.99rem) {
    .rep-home-products .rep-home-product-grid { --rep-home-carousel-count: 2; }
    .rep-home-products__nav { height: 36px; min-height: 36px !important; width: 36px; }
}