:root {
    --card-radius: 14px;
    --card-border: 1px solid var(--b2c-line, rgba(0, 0, 0, 0.08));
    --card-shadow: var(--b2c-shadow-xs, 0 1px 2px rgba(15, 18, 15, 0.05));
    --card-shadow-hover: var(--b2c-shadow-md, 0 10px 24px rgba(15, 18, 15, 0.10));
    --card-padding: 1rem;
    --card-bg: var(--product-card-bg, var(--b2c-surface, #fff));
    --card-gap: 1rem;
    --card-title-font: inherit;
    --card-title-weight: 700;
    --card-title-size: 0.95rem;
    --card-title-transform: none;
    --card-meta-color: var(--b2c-steel, #6b7280);
    --card-accent: var(--b2c-primary, #1d4ed8);
    --card-accent-contrast: #fff;
    --card-image-ratio: 1 / 1;
    --card-image-fit: contain;
    --card-image-bg: var(--b2c-surface-muted, #f7f7f5);
    --card-badge-radius: 100px;
    --card-hover-lift: -5px;
}

.product-card {
    background: var(--card-bg);
    border: var(--card-border);
    border-radius: var(--card-radius);
    box-shadow: var(--card-shadow);
    padding: var(--card-padding);
    transition: transform .25s cubic-bezier(.2, .7, .3, 1), box-shadow .25s ease, border-color .25s ease;
    position: relative;
}

.product-card:hover {
    transform: translateY(var(--card-hover-lift));
    box-shadow: var(--card-shadow-hover);
    border-color: color-mix(in srgb, var(--card-accent) 25%, var(--card-border, #e6e8ec));
}

.product-card.product-out .pc-media-link,
.product-card.product-out .pc-info-link,
.product-card.product-out .pc-price {
    opacity: .55;
}

.product-image-wrapper {
    position: relative;
    aspect-ratio: var(--card-image-ratio);
    background: var(--card-image-bg);
    border-radius: calc(var(--card-radius) - 4px);
    overflow: hidden;
}

.product-image-wrapper .product-img {
    width: 100%;
    height: 100%;
    object-fit: var(--card-image-fit);
    display: block;
    transition: transform .5s cubic-bezier(.2, .7, .3, 1), opacity .25s ease-in-out;
}

.product-image-wrapper .placeholder-box {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c7c9c4;
}

.product-image-wrapper .placeholder-box i {
    font-size: 2.6rem;
}

.product-card:hover .product-image-wrapper .product-img { transform: scale(1.06); }

.product-card .brand-wrapper img.brand-logo { max-height: 20px; max-width: 90px; object-fit: contain; }

.product-card .product-title {
    font-family: var(--card-title-font);
    font-weight: var(--card-title-weight);
    font-size: var(--card-title-size);
    text-transform: var(--card-title-transform);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-card .oem-text span,
.product-card .stock-badge {
    border-radius: var(--card-badge-radius);
}

.product-card .stock-badge { font-weight: 600; letter-spacing: .01em; }

.product-card .product-price,
.product-card .product-price .current-price,
.product-card .product-price .price-text {
    color: var(--card-accent);
}

.product-card--default .product-price,
.product-card--default .product-price .current-price,
.product-card--default .product-price .price-text {
    color: var(--product-price-color, #1d4ed8);
}

.product-price .ask-price-link {
    font-size: .92rem;
    font-weight: 700;
    color: #25D366;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    white-space: nowrap;
}

a.ask-price-link:hover {
    text-decoration: underline;
}

.qty-pill.is-disabled,
.cart-add-btn.is-disabled {
    opacity: .45;
    pointer-events: none;
    cursor: not-allowed;
}

.product-image-wrapper .discount-pill,
.product-image-wrapper .featured-pill {
    position: absolute;
    top: 10px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    box-shadow: 0 3px 10px rgba(15, 18, 15, .2);
    transition: transform .2s ease, box-shadow .2s ease;
}

.product-image-wrapper .discount-pill {
    left: 10px;
    background: var(--card-accent);
    color: var(--card-accent-contrast);
    border-radius: var(--card-badge-radius);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .01em;
    padding: .32rem .7rem;
}

.product-image-wrapper .featured-pill {
    right: 10px;
    width: 30px;
    height: 30px;
    background: #f5b301;
    color: #fff;
    border-radius: 50%;
    font-size: .85rem;
}

.product-card:hover .discount-pill,
.product-card:hover .featured-pill {
    transform: scale(1.08);
    box-shadow: 0 5px 14px rgba(15, 18, 15, .28);
}

.product-image-wrapper .garage-pill {
    position: absolute;
    bottom: calc(8px + var(--rb-bottom, 0px));
    left: 8px;
    z-index: 6;
    width: 22px;
    height: 22px;
    padding: 0;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 6px rgba(15, 18, 15, .18);
    font-size: .68rem;
    cursor: help;
}
.product-image-wrapper .garage-pill > i,
.product-image-wrapper .garage-pill > span { display: block; line-height: 1; }
.product-image-wrapper .garage-pill.active-fit { color: var(--b2c-success, #28a745); }
.product-image-wrapper .garage-pill.other-fit { color: #fd7e14; }

.product-card .btn-favorite {
    opacity: 0;
    transform: scale(.85);
    transition: opacity .18s ease, transform .18s ease;
}

.product-card:hover .btn-favorite,
.product-card .btn-favorite.is-active {
    opacity: 1;
    transform: scale(1);
}

@media (hover: none) and (pointer: coarse) {
    .product-card .btn-favorite,
    .product-card--minimal_fashion .mf-favorite,
    .product-card--minimal_fashion .mf-quick-add {
        opacity: 1 !important;
        transform: none !important;
    }
}

.product-card--default:hover {
    transform: none;
    box-shadow: var(--card-shadow-hover);
    border-color: var(--b2c-line, #e6e8ec);
}
.product-card--default:hover .product-image-wrapper .product-img {
    transform: none;
}
.product-card--default:hover .discount-pill,
.product-card--default:hover .featured-pill {
    transform: none;
    box-shadow: 0 3px 10px rgba(15, 18, 15, .2);
}
.product-card--default .btn-favorite {
    opacity: 1;
    transform: none;
}

.product-card--default .pc-favorite {
    position: absolute;
    right: 4px;
    bottom: calc(4px + var(--rb-bottom, 0px));
    z-index: 40;
    width: 30px;
    height: 30px;
    padding: 0;
    border: none;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    filter: drop-shadow(0 0 1.5px rgba(255, 255, 255, .95)) drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
}

.product-card--default .pc-favorite i {
    -webkit-text-stroke: 1.3px #171a1f !important;
    paint-order: stroke fill;
}

.product-card--default .pc-favorite .fa-regular.fa-heart {
    font-weight: 900;
    color: #fff !important;
}

@media (max-width: 768px) {
    .product-card--default .pc-favorite { right: 2px; bottom: calc(2px + var(--rb-bottom, 0px)); }
}

.product-card--default .product-image-wrapper .discount-pill {
    border-radius: 4px;
    background: var(--b2c-accent, #e31e24);
    color: #fff;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(15, 18, 15, .25);
}

.product-card--default .product-image-wrapper .featured-pill {
    width: auto;
    height: auto;
    background: transparent;
    border: none;
    border-radius: 0;
    color: #ffc107;
    font-size: 1.4rem;
    box-shadow: none;
    filter: drop-shadow(0 2px 4px rgba(15, 18, 15, .35));
}

.product-card--default {
    --card-radius: 10px;
    --card-padding: 1rem;
    --card-title-weight: 700;
    --card-title-size: 0.92rem;
    --card-image-ratio: 4 / 3;
    --card-image-fit: contain;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
    overflow: hidden;
}

.product-card--default .pc-media-link {
    position: relative;
    display: block;
}

.product-card--default .product-image-wrapper {
    border-radius: 0;
}

.product-card--default .product-image-wrapper:has(.product-img) {
    background: transparent;
}

.product-card--default .pc-brand img.brand-logo {
    max-height: 16px;
    max-width: 100px;
    object-fit: contain;
    display: block;
}

.product-card--default .pc-body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
    padding: 0 var(--card-padding) var(--card-padding);
}

.product-card--default .pc-info-link {
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-top: .75rem;
}

.product-card--default .pc-code {
    height: 15px;
    flex-shrink: 0;
    line-height: 15px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .45rem;
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--card-meta-color);
    margin: 0;
    overflow: hidden;
}

.product-card--default .pc-code-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.product-card--default .pc-rating {
    display: flex;
    align-items: center;
    gap: .2rem;
    flex-shrink: 0;
    margin-left: auto;
    text-transform: none;
    letter-spacing: normal;
}

.product-card--default .pc-rating-stars {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.product-card--default .pc-rating-stars i {
    font-size: .62rem;
    line-height: 1;
    color: #f5b301;
}

.product-card--default .pc-rating-value,
.product-card--default .pc-rating-count {
    display: inline-flex;
    align-items: center;
    height: .62rem;
    line-height: 1;
}

.product-card--default .pc-rating-value {
    font-size: .66rem;
    font-weight: 700;
    color: var(--b2c-ink-soft, #4b5160);
}

.product-card--default .pc-rating-count {
    font-size: .62rem;
    font-weight: 600;
    color: var(--card-meta-color);
    transform: translateY(-1px);
}

.product-card--default .pc-brand {
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    margin: 0;
    overflow: hidden;
}
.product-card--default .pc-brand:not(.pc-brand--left) {
    justify-content: center;
}
.product-card--default .pc-brand--left img.brand-logo {
    margin: 0;
}
.product-card--default .pc-brand--left .pc-rating {
    margin-left: auto;
}
.product-card--default .pc-brand small {
    font-size: .68rem !important;
    font-weight: 700 !important;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--card-meta-color) !important;
}

.product-card--default .pc-title {
    height: calc(var(--pc-title-lines, 2) * 1.2rem);
    flex-shrink: 0;
    margin: 0;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
}

.product-card--default .pc-title .product-title {
    -webkit-line-clamp: var(--pc-title-lines, 2);
    line-clamp: var(--pc-title-lines, 2);
    max-height: none;
}

.product-card--default .pc-oem {
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-shrink: 0;
    margin: 0;
    font-size: .7rem;
    overflow: hidden;
}
.product-card--default .pc-oem .oem-chip {
    display: inline-flex;
    align-items: center;
    font-weight: 600;
    letter-spacing: .01em;
    color: var(--b2c-steel, #6b7280);
}
.product-card--default .pc-oem .oem-label {
    font-weight: 800;
    color: var(--b2c-ink-soft, #4b5160);
    margin-right: .25rem;
}

.product-card--default .pc-stock {
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin: 0;
}

.product-card--default .pc-footer {
    margin-top: auto;
    border-top: 1px solid var(--b2c-line, #e6e8ec);
}

.product-card--default .pc-price {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-content: flex-end;
    gap: 0 .5rem;
    height: 44px;
    margin-bottom: .55rem;
    font-weight: 800;
    font-size: 1.05rem;
    letter-spacing: -0.01em;
}

.product-card--default .pc-price .pc-old-price { order: 1; }
.product-card--default .pc-price .price-text { font-size: 1.05rem; }
.product-card--default .pc-price .pc-old-price {
    font-size: .76rem;
    font-weight: 600;
    color: var(--card-meta-color);
    text-decoration: line-through;
}

.product-card--default .cart-control {
    display: flex;
    align-items: stretch;
    gap: .5rem;
    width: 100%;
}

.product-card--default .cart-control .qty-pill {
    display: flex;
    align-items: stretch;
    border: 1px solid var(--b2c-line, #e6e8ec);
    border-radius: 8px;
    background: var(--b2c-surface, #fff);
    overflow: hidden;
    flex-shrink: 0;
}

.product-card--default .cart-control .cart-decrease,
.product-card--default .cart-control .cart-increase {
    width: 32px;
    height: 38px;
    flex-shrink: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: var(--b2c-ink, #171a1f);
    font-size: .9rem;
    font-weight: 700;
    transition: background-color .15s ease;
}
.product-card--default .cart-control .cart-decrease:hover,
.product-card--default .cart-control .cart-increase:hover {
    background: var(--b2c-surface-muted, #f6f7f9);
}

.product-card--default .cart-control .cart-qty {
    width: 36px;
    height: 38px;
    flex-shrink: 0;
    min-width: 0;
    border: none;
    border-left: 1px solid var(--b2c-line, #e6e8ec);
    border-right: 1px solid var(--b2c-line, #e6e8ec);
    background: transparent;
    border-radius: 0;
    font-size: .8rem;
    font-weight: 700;
    padding: 0;
    color: var(--b2c-ink, #171a1f);
    text-align: center;
    -moz-appearance: textfield;
}
.product-card--default .cart-control .cart-qty::-webkit-outer-spin-button,
.product-card--default .cart-control .cart-qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.product-card--default .cart-control .cart-add-btn {
    flex-grow: 1;
    height: 38px;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: none;
    background: var(--cart-btn-color, var(--b2c-ink, #171a1f));
    color: #fff;
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    padding: 0 .5rem;
    transition: background-color .15s ease;
}
.product-card--default .cart-control .cart-add-btn .cart-add-label {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.product-card--default .cart-control .cart-add-btn i,
.product-card--default .cart-control .cart-add-btn .cart-add-label {
    pointer-events: none;
}
.product-card--default .cart-control .cart-add-btn:hover:not(:disabled) {
    background: color-mix(in srgb, var(--cart-btn-color, var(--b2c-ink, #171a1f)), black 20%);
}
.product-card--default .cart-control .cart-add-btn:disabled { opacity: .5; background: var(--b2c-steel, #6c757d); }

.product-card--default .cart-control .stock-alert-btn {
    flex-grow: 1;
    height: 38px;
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border: none;
    background: var(--b2c-primary);
    color: #fff;
    border-radius: 8px;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
    padding: 0 .5rem;
    transition: background-color .15s ease;
}
.product-card--default .cart-control .stock-alert-btn:hover {
    background: var(--b2c-primary-dark);
}
.product-card--default .cart-control .stock-alert-btn i,
.product-card--default .cart-control .stock-alert-btn .cart-add-label {
    pointer-events: none;
}

.product-card--minimal_fashion {
    --card-radius: 2px;
    --card-border: none;
    --card-shadow: none;
    --card-shadow-hover: none;
    --card-padding: 0;
    --card-bg: transparent;
    --card-title-font: Georgia, 'Iowan Old Style', 'Palatino Linotype', serif;
    --card-title-weight: 400;
    --card-title-size: 0.98rem;
    --card-title-transform: none;
    --card-meta-color: #8a8478;
    --card-accent: #2b2620;
    --card-accent-contrast: #f6f3ee;
    --card-image-ratio: 3 / 4;
    --card-image-fit: cover;
    --card-image-bg: #f2efe9;
    --card-hover-lift: 0px;
}
.product-card--minimal_fashion:hover { box-shadow: none; }
.product-card--minimal_fashion .mf-image { position: relative; overflow: hidden; }
.product-card--minimal_fashion .mf-discount {
    position: absolute; top: .75rem; left: .75rem;
    background: var(--card-accent); color: var(--card-accent-contrast);
    font-size: .68rem; letter-spacing: .04em; font-weight: 600;
    border-radius: 0; padding: .25rem .6rem;
}
.product-card--minimal_fashion .mf-favorite {
    position: absolute; top: .5rem; right: .5rem;
    width: 30px; height: 30px; border: none; border-radius: 50%;
    background: rgba(246, 243, 238, .9); display: flex; align-items: center; justify-content: center;
    opacity: 0; transition: opacity .2s ease;
}
.product-card--minimal_fashion:hover .mf-favorite { opacity: 1; }
.product-card--minimal_fashion .mf-quick-add {
    position: absolute; left: 0; right: 0; bottom: 0;
    background: rgba(246, 243, 238, .96);
    display: flex; align-items: center; gap: .4rem;
    padding: .6rem;
    transform: translateY(100%);
    transition: transform .28s ease;
}
.product-card--minimal_fashion:hover .mf-quick-add,
.product-card--minimal_fashion .mf-quick-add:focus-within { transform: translateY(0); }
.product-card--minimal_fashion .mf-qty-btn {
    background: none; border: 1px solid var(--card-meta-color); width: 26px; height: 26px; font-size: .8rem;
}
.product-card--minimal_fashion .mf-qty-input {
    width: 34px; text-align: center; border: none; background: transparent; font-size: .8rem;
}
.product-card--minimal_fashion .mf-add-btn {
    flex-grow: 1; background: var(--card-accent); color: var(--card-accent-contrast);
    border: none; font-size: .74rem; letter-spacing: .05em; text-transform: uppercase;
    padding: .5rem; font-weight: 600;
}
.product-card--minimal_fashion .mf-info { display: block; padding-top: .9rem; text-align: left; }
.product-card--minimal_fashion .mf-brand {
    font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--card-meta-color); margin-bottom: .3rem;
}
.product-card--minimal_fashion .mf-title {
    -webkit-line-clamp: 1;
    color: #2b2620;
    margin-bottom: .35rem;
}
.product-card--minimal_fashion .mf-price { font-size: .92rem; color: var(--card-accent); font-weight: 500; }
.product-card--minimal_fashion .mf-old-price { color: var(--card-meta-color); font-size: .8rem; margin-left: .5rem; }
.product-card--minimal_fashion .mf-stock-note { font-size: .72rem; color: var(--card-meta-color); margin-top: .2rem; }
.product-card--minimal_fashion .mf-stock-out { color: #a33; }

.product-card--grid_market {
    --card-radius: 8px;
    --card-border: 1px solid #e7e5df;
    --card-shadow: 0 1px 2px rgba(15, 18, 15, .04);
    --card-padding: .6rem;
    --card-title-font: -apple-system, "Segoe UI", Arial, sans-serif;
    --card-title-weight: 700;
    --card-title-size: .82rem;
    --card-image-ratio: 1 / 1;
    --card-image-fit: contain;
    --card-image-bg: #fff;
    --card-accent: #d64545;
    --card-hover-lift: -2px;
}
.product-card--grid_market { position: relative; }
.product-card--grid_market .gm-discount {
    position: absolute; top: .4rem; left: .4rem; z-index: 3;
    font-size: .62rem; padding: .2rem .45rem; border-radius: 4px;
}
.product-card--grid_market .gm-favorite {
    position: absolute; top: .4rem; right: .4rem; z-index: 3;
    width: 26px; height: 26px; border: none; border-radius: 50%;
    background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.15);
    display: flex; align-items: center; justify-content: center; opacity: 1;
}
.product-card--grid_market .gm-media { display: block; }
.product-card--grid_market .gm-stock-badge { margin: .4rem 0 .2rem; }
.product-card--grid_market .gm-badge-out { background: #f1f1ee; color: #8a8478; }
.product-card--grid_market .gm-badge-critical { background: #fff1e0; color: #b5650b; }
.product-card--grid_market .gm-badge-in { background: #e6f6ea; color: #1e8a3d; }
.product-card--grid_market .gm-title-row { min-height: 34px; }
.product-card--grid_market .gm-brand { display: block; font-size: .64rem; color: var(--card-meta-color); text-transform: uppercase; letter-spacing: .03em; }
.product-card--grid_market .gm-title { -webkit-line-clamp: 2; text-align: left; }
.product-card--grid_market .gm-price-row { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: baseline; gap: .4rem; margin-top: .3rem; width: 100%; }
.product-card--grid_market .gm-old-price { font-size: .7rem; color: var(--card-meta-color); }
.product-card--grid_market .gm-price { font-size: 1.05rem; font-weight: 800; color: var(--card-accent); }
.product-card--grid_market .gm-add-row {
    margin-top: auto; padding-top: .5rem;
    display: flex; align-items: center; gap: .4rem;
}
.product-card--grid_market .gm-qty {
    display: flex; align-items: center; border: 1px solid #e7e5df; border-radius: 6px; overflow: hidden;
}
.product-card--grid_market .gm-qty button {
    width: 24px; height: 28px; border: none; background: #f7f7f5; font-size: .85rem;
}
.product-card--grid_market .gm-qty input {
    width: 30px; text-align: center; border: none; font-size: .78rem;
}
.product-card--grid_market .quick-add-btn {
    display: flex !important;
    flex-grow: 1;
    align-items: center; justify-content: center; gap: .3rem;
    background: var(--card-accent); color: #fff;
    border: none; border-radius: 6px;
    font-size: .74rem; font-weight: 700;
    padding: .45rem .3rem;
}
.product-card--grid_market .quick-add-btn:disabled { opacity: .5; }
.product-card--grid_market .quick-add-btn i {
    pointer-events: none;
}

.product-card .reveal-on-hover {
    opacity: 1;
    transition: opacity .25s ease, transform .25s ease;
}

@media (max-width: 768px) {
    .product-card--default { --card-padding: .7rem; --card-radius: 10px; }

    .product-image-wrapper .discount-pill {
        top: 6px; left: 6px;
        font-size: .62rem;
        padding: .22rem .5rem;
    }
    .product-image-wrapper .featured-pill {
        top: 6px; right: 6px;
        width: 24px; height: 24px;
        font-size: .68rem;
    }
    .product-image-wrapper .garage-pill {
        bottom: calc(6px + var(--rb-bottom, 0px)); left: 6px;
        width: 22px; height: 22px;
        font-size: .68rem;
    }
    .product-image-wrapper .placeholder-box i { font-size: 2rem; }

    .product-card--default .pc-info-link { gap: .35rem; padding-top: .5rem; }
    .product-card--default .pc-code { font-size: .68rem; }
    .product-card--default .pc-title { height: calc(var(--pc-title-lines, 2) * 1.05rem); }
    .product-card--default .pc-oem { font-size: .66rem; }

    .product-card--default .pc-price {
        row-gap: .1rem;
        height: 40px;
        font-size: .92rem;
    }
    .product-card--default .pc-price .price-text { font-size: .92rem; }
    .product-card--default .pc-price .pc-old-price {
        font-size: .66rem;
    }

    .product-card--default .cart-control {
        flex-direction: column;
    }
    .product-card--default .cart-control .qty-pill {
        display: none;
    }
    .product-card--default .cart-control .cart-add-btn,
    .product-card--default .cart-control .stock-alert-btn {
        height: 34px;
        font-size: .76rem;
    }
}

.product-image-wrapper .campaign-badges {
    position: absolute;
    left: 6px;
    bottom: 28px;
    z-index: 7;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 3px;
    max-width: calc(100% - 52px);
    pointer-events: none;
}
.product-image-wrapper .campaign-badges.has-garage { bottom: 36px; }

.campaign-badge {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    font-size: .6rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .01em;
    color: #fff;
    background: #e11d48;
    border-radius: 5px;
    padding: .22rem .4rem;
    box-shadow: 0 1px 5px rgba(15, 18, 15, .2);
    pointer-events: auto;
}
.campaign-badge i { font-size: .58rem; flex-shrink: 0; }
.campaign-badge .cb-text { overflow: hidden; text-overflow: ellipsis; }
.campaign-badge.cb-percent { background: #e11d48; }
.campaign-badge.cb-multi { background: #7c3aed; }
.campaign-badge.cb-bundle { background: #ea580c; }
.campaign-badge.cb-shipping { background: #0f766e; }
.campaign-badge--static { font-size: .66rem; padding: .3rem .5rem; }

.product-card--minimal_fashion .product-image-wrapper .campaign-badges {
    top: 44px;
    bottom: auto;
    flex-direction: column;
}

@media (max-width: 768px) {
    .product-image-wrapper .campaign-badges {
        left: 5px;
        bottom: 24px;
        flex-direction: row;
        flex-wrap: wrap;
        max-width: calc(100% - 44px);
    }
    .product-image-wrapper .campaign-badges.has-garage { bottom: 32px; }
    .product-image-wrapper .campaign-badge {
        width: 20px;
        height: 20px;
        padding: 0;
        justify-content: center;
        border-radius: 50%;
    }
    .product-image-wrapper .campaign-badge i { font-size: .58rem; }
    .product-image-wrapper .campaign-badge .cb-text { display: none; }
    .product-card--minimal_fashion .product-image-wrapper .campaign-badges { top: 36px; flex-direction: column; }
}

.pd-campaigns {
    border: 1px solid #fecdd3;
    background: linear-gradient(135deg, #fff 30%, #fff1f2 100%);
    border-radius: 12px;
    padding: .85rem 1rem;
}
.pd-campaigns-title {
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #be123c;
    margin-bottom: .6rem;
}
.pd-campaign { display: flex; flex-direction: column; gap: .35rem; }
.pd-campaign + .pd-campaign { margin-top: .65rem; padding-top: .65rem; border-top: 1px dashed #fecdd3; }
.pd-campaign-head { display: flex; align-items: center; flex-wrap: wrap; gap: .45rem; }
.pd-campaign-row { display: flex; align-items: flex-end; justify-content: space-between; gap: .75rem; }
.pd-campaign-body { min-width: 0; flex: 1; }
.pd-campaign-action { flex-shrink: 0; }
.pd-campaign-name { font-size: .88rem; font-weight: 700; color: var(--b2c-ink, #0f172a); }
.pd-campaign-desc { font-size: .8rem; color: var(--b2c-ink-soft, #4b5160); }
.pd-campaign-hint { font-size: .72rem; color: var(--b2c-steel, #6b7280); }
.pd-campaign-partners { font-size: .78rem; margin-top: .15rem; }
.pd-campaign-partners-label { color: var(--b2c-steel, #6b7280); margin-right: .25rem; }
.pd-campaign-partner { font-weight: 700; color: var(--b2c-primary, #1d4ed8); text-decoration: none; }
.pd-campaign-partner:hover { text-decoration: underline; }
.pd-campaign-sep { margin: 0 .3rem; color: var(--b2c-steel, #6b7280); }

@media (max-width: 575.98px) {
    .pd-campaigns { padding: .7rem .8rem; }
    .pd-campaign-row { flex-direction: column; align-items: stretch; gap: .45rem; }
    .pd-campaign-action .btn { width: 100%; }
}

.lr-campaigns { display: flex; flex-wrap: nowrap; gap: 3px; margin-top: 3px; min-width: 0; overflow: hidden; }
.lr-campaigns > * { flex: 0 1 auto; min-width: 0; }

.stock-row-line { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem; }
.stock-row-line .stock-row { margin: 0; }
.pd-links { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: .4rem; margin-left: auto; }
.pd-link { width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--platform-color, #64748b); color: #fff; font-size: 1rem; text-decoration: none; overflow: hidden; transition: transform .15s, box-shadow .15s, filter .15s; }
.pd-link:hover { transform: translateY(-2px); color: #fff; filter: brightness(1.1); box-shadow: 0 3px 8px rgba(0,0,0,.18); }
.pd-link[data-platform="instagram"] { background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }
.pd-link .platform-icon--img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pd-link .platform-icon--emoji { font-size: 1rem; line-height: 1; }
@media (max-width: 576px) {
    .pd-link { width: 30px; height: 30px; font-size: .9rem; }
}

body[data-pc-cols] .product-card.product-card { --card-image-fit: var(--pc-img-fit, contain); }
body[data-pc-img-h] .product-card .product-image-wrapper { aspect-ratio: auto; height: calc(var(--pc-img-h) * .65); }
@media (min-width: 768px) {
    body[data-pc-img-h] .product-card .product-image-wrapper { height: var(--pc-img-h); }
}

:has(> .market-grid),
#gridView.row,
#favorite-products-row.row { container: pcgrid / inline-size; }
.market-layout > .market-content { align-self: stretch; width: 100%; }
.product-item-grid { container: pccard / inline-size; }

body[data-pc-cols] .market-grid { --pc-k: 2; grid-template-columns: repeat(var(--pc-k), minmax(0, 1fr)); }
body[data-pc-cols] #gridView.row > .product-item-grid,
body[data-pc-cols] #favorite-products-row.row > .product-item-grid { --pc-k: 2; flex: 0 0 auto; width: calc(100% / var(--pc-k)); max-width: calc(100% / var(--pc-k)); }

@container pcgrid (min-width: 600px) {
    body[data-pc-cols] .market-grid,
    body[data-pc-cols] #gridView.row > .product-item-grid,
    body[data-pc-cols] #favorite-products-row.row > .product-item-grid { --pc-k: 3; }
}
@container pcgrid (min-width: 760px) {
    body[data-pc-cols="auto"] .market-grid,
    body[data-pc-cols="auto"] #gridView.row > .product-item-grid,
    body[data-pc-cols="auto"] #favorite-products-row.row > .product-item-grid,
    body[data-pc-cols="4"] .market-grid,
    body[data-pc-cols="5"] .market-grid,
    body[data-pc-cols="4"] #gridView.row > .product-item-grid,
    body[data-pc-cols="5"] #gridView.row > .product-item-grid,
    body[data-pc-cols="4"] #favorite-products-row.row > .product-item-grid,
    body[data-pc-cols="5"] #favorite-products-row.row > .product-item-grid { --pc-k: 4; }
}
@container pcgrid (min-width: 880px) {
    body[data-pc-cols="5"] .market-grid,
    body[data-pc-cols="5"] #gridView.row > .product-item-grid,
    body[data-pc-cols="5"] #favorite-products-row.row > .product-item-grid { --pc-k: 5; }
}

body[data-pc-cols="auto"] { --pc-auto-w: 267px; }
@container pcgrid (min-width: 1431px) {
    body[data-pc-cols="auto"] .market-grid {
        grid-template-columns: repeat(auto-fill, var(--pc-auto-w));
        justify-content: space-between;
    }
}
@container pcgrid (min-width: 1431px) {
    body[data-pc-cols="auto"] #gridView.row > .product-item-grid,
    body[data-pc-cols="auto"] #favorite-products-row.row > .product-item-grid { --pc-k: 5; }
}
@container pcgrid (min-width: 1722px) {
    body[data-pc-cols="auto"] #gridView.row > .product-item-grid,
    body[data-pc-cols="auto"] #favorite-products-row.row > .product-item-grid { --pc-k: 6; }
}
@container pcgrid (min-width: 2013px) {
    body[data-pc-cols="auto"] #gridView.row > .product-item-grid,
    body[data-pc-cols="auto"] #favorite-products-row.row > .product-item-grid { --pc-k: 7; }
}
@container pcgrid (min-width: 2304px) {
    body[data-pc-cols="auto"] #gridView.row > .product-item-grid,
    body[data-pc-cols="auto"] #favorite-products-row.row > .product-item-grid { --pc-k: 8; }
}
@container pcgrid (min-width: 2595px) {
    body[data-pc-cols="auto"] #gridView.row > .product-item-grid,
    body[data-pc-cols="auto"] #favorite-products-row.row > .product-item-grid { --pc-k: 9; }
}

@media (min-width: 992px) {
    body[data-pc-cols="auto"] .market-page .market-container {
        width: 100%;
        max-width: none;
        padding-inline: 24px;
    }
    body[data-pc-cols="auto"] .market-page .products-banner-slider {
        max-width: 1140px;
        margin-inline: auto;
    }
}

@media (min-width: 768px) {
    .product-carousel .pc-track .product-item-grid { flex: 0 0 calc(100% / var(--pc-visible, 4)); max-width: calc(100% / var(--pc-visible, 4)); }
}

@container pccard (max-width: 150px) {
    .product-card .cart-add-btn .cart-add-label { font-size: .68rem; }
}

@media (min-width: 768px) {
    .pd-hero-row.pd-hero-sticky,
    .pd-hero-row.pd-hero-measure { align-items: flex-start; }
    .pd-hero-row.pd-hero-sticky > .col-md-5 { position: sticky; top: var(--pd-sticky-top, 90px); z-index: 2; }
}

.pd-buy-bar, .pd-buy-backdrop { display: none; }

@media (max-width: 767.98px) {
    .pd-buy-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1035;
        background: rgba(15, 23, 42, .45);
        opacity: 0;
        pointer-events: none;
        transition: opacity .25s ease;
    }
    .pd-buy-backdrop.is-visible { opacity: 1; pointer-events: auto; }
    body.pd-buy-sheet-open { overflow: hidden; }
    body.pd-buy-sheet-open .whatsapp-fab,
    body.pd-buy-sheet-open #crisp-chatbox [role="button"][data-maximized="false"] { display: none !important; }

    .pd-buy-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 1040;
        display: flex;
        flex-direction: column;
        padding: 0 .85rem calc(.6rem + env(safe-area-inset-bottom));
        background: var(--b2c-surface, #fff);
        border-top: 1px solid var(--b2c-line, #e5e7eb);
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -6px 20px rgba(15, 23, 42, .08);
        transform: translateY(110%);
        visibility: hidden;
        transition: transform .25s ease, visibility .25s;
    }
    .pd-buy-bar.is-visible { transform: translateY(0); visibility: visible; }
    .pd-buy-handle { display: flex; justify-content: center; align-items: center; width: 100%; height: 18px; border: none; background: transparent; padding: 0; }
    .pd-buy-grip { width: 42px; height: 4px; border-radius: 4px; background: var(--b2c-line, #cbd5e1); }

    .pd-buy-sheet { max-height: 0; overflow: hidden; transition: max-height .3s ease; }
    .pd-buy-bar.is-expanded .pd-buy-sheet { max-height: 60vh; overflow-y: auto; overscroll-behavior: contain; }
    .pd-buy-sheet-body { padding: .25rem 0 .75rem; margin-bottom: .6rem; border-bottom: 1px solid var(--b2c-line, #e5e7eb); display: flex; flex-direction: column; gap: .6rem; }
    .pd-buy-sheet-name { font-size: .9rem; font-weight: 700; color: var(--b2c-ink, #171a1f); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .pd-buy-sheet-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; }
    .pd-buy-sheet-label { font-size: .8rem; color: var(--b2c-steel, #64748b); }
    .pd-buy-sheet-unit { font-size: .9rem; font-weight: 700; }
    .pd-buy-sheet-note { font-size: .75rem; color: var(--b2c-steel, #64748b); }
    .pd-buy-stepper { display: inline-flex; align-items: center; border: 1px solid var(--b2c-line, #e5e7eb); border-radius: 10px; overflow: hidden; }
    .pd-buy-stepper button { width: 40px; height: 40px; border: none; background: var(--b2c-surface-muted, #f5f6f8); font-size: 1.1rem; font-weight: 700; color: var(--b2c-ink, #171a1f); }
    .pd-buy-qty { width: 64px; height: 40px; border: none; text-align: center; font-weight: 700; font-size: 1rem; -moz-appearance: textfield; }
    .pd-buy-qty::-webkit-outer-spin-button, .pd-buy-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

    .pd-buy-row { display: flex; align-items: center; gap: .5rem; }
    .pd-buy-bar-price { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; line-height: 1.2; border: none; background: transparent; padding: 0; color: inherit; text-align: left; }
    .pd-buy-bar-label { font-size: .7rem; color: var(--b2c-steel, #64748b); }
    .pd-buy-chevron { font-size: .6rem; margin-left: .2rem; transition: transform .2s ease; }
    .pd-buy-bar.is-expanded .pd-buy-chevron { transform: rotate(180deg); }
    .pd-buy-bar-amount { max-width: 100%; font-size: 1.05rem; font-weight: 800; color: var(--product-price-color, #1d4ed8); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .pd-buy-bar-qty { display: flex; flex-wrap: wrap; gap: 0 .4rem; font-size: .68rem; color: var(--b2c-steel, #64748b); }
    .pd-buy-bar-saving { font-weight: 700; color: #059669; }
    .pd-buy-bar-saving:empty { display: none; }
    body.pd-bar-mode .pd-hero-row .cart-area { display: none !important; }
    .pd-buy-bar-btn { display: inline-flex; align-items: center; gap: .4rem; padding: .7rem .9rem; border-radius: 12px; font-size: .85rem; font-weight: 700; white-space: nowrap; border: 1px solid var(--cart-btn-color, #171a1f); }
    .pd-buy-bar-btn--cart { background: var(--b2c-surface, #fff); color: var(--cart-btn-color, #171a1f); }
    .pd-buy-bar-btn--buy { background: var(--cart-btn-color, #171a1f); color: #fff; }
    body.has-pd-buy-bar { padding-bottom: 84px; }
    body.has-pd-buy-bar .whatsapp-fab,
    body.has-pd-buy-bar #crisp-chatbox [role="button"][data-maximized] { bottom: 96px !important; }
    body.has-pd-buy-bar #toastContainer { bottom: 90px !important; }
}

#loadMoreContainer.is-infinite #btnLoadMore:not(:disabled):not(.is-error) { visibility: hidden; }

.pd-side-sections {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.pd-side-sections > .h-100 {
    height: auto !important;
}

.rank-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    min-width: 0;
    max-width: 100%;
    padding: 0 .5rem;
    background: var(--rb-bg, #f27a1a);
    color: var(--rb-fg, #fff);
    font-size: .66rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .01em;
    white-space: nowrap;
}
.rank-badge i { font-size: .62rem; flex-shrink: 0; }
.rank-badge .rb-text { overflow: hidden; text-overflow: ellipsis; }

.product-image-wrapper .rank-badges {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 8;
    display: flex;
    flex-direction: column;
    pointer-events: none;
}
.product-image-wrapper .rank-badges.is-bottom { bottom: 0; }
.product-image-wrapper .rank-badges.is-top { top: 0; }
.product-image-wrapper .rank-badge { height: 22px; width: 100%; }

.product-card:has(.rank-badges) { --rb-stack: 22px; }
.product-card:has(.rank-badges > :nth-child(2)) { --rb-stack: 44px; }
.product-card:has(.rank-badges > :nth-child(3)) { --rb-stack: 66px; }
.product-card:has(.rank-badges.is-bottom) { --rb-bottom: var(--rb-stack); }

.product-card:has(.rank-badges.is-bottom) .product-image-wrapper .campaign-badges { bottom: calc(28px + var(--rb-stack)); }
.product-card:has(.rank-badges.is-bottom) .product-image-wrapper .campaign-badges.has-garage { bottom: calc(36px + var(--rb-stack)); }
.product-card:has(.rank-badges.is-bottom) .product-image-wrapper .product-dots { bottom: calc(6px + var(--rb-stack)); }
.product-card:has(.rank-badges.is-top) .product-image-wrapper .discount-pill,
.product-card:has(.rank-badges.is-top) .product-image-wrapper .featured-pill { top: calc(10px + var(--rb-stack)); }
.product-card--minimal_fashion:has(.rank-badges.is-top) .product-image-wrapper .campaign-badges { top: calc(44px + var(--rb-stack)); }

@media (max-width: 768px) {
    .product-image-wrapper .rank-badge { font-size: .6rem; padding: 0 .35rem; }
    .product-card:has(.rank-badges.is-bottom) .product-image-wrapper .campaign-badges { bottom: calc(24px + var(--rb-stack)); }
    .product-card:has(.rank-badges.is-bottom) .product-image-wrapper .campaign-badges.has-garage { bottom: calc(32px + var(--rb-stack)); }
    .product-card--minimal_fashion:has(.rank-badges.is-top) .product-image-wrapper .campaign-badges { top: calc(36px + var(--rb-stack)); }
}

.lr-campaigns .rank-badge {
    padding: .22rem .4rem;
    border-radius: 5px;
    font-size: .6rem;
    font-weight: 800;
    box-shadow: 0 1px 5px rgba(15, 18, 15, .2);
}

.pd-rank-badges {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin: .6rem 0 1.1rem;
}
.pd-rank-badge {
    display: flex;
    align-items: baseline;
    gap: .5rem;
}
.pd-rank-icon {
    flex-shrink: 0;
    color: var(--rb-bg, #f27a1a);
    font-size: .85rem;
}
.pd-rank-body {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .1rem .5rem;
    min-width: 0;
    line-height: 1.35;
}
.pd-rank-title {
    font-size: .9rem;
    font-weight: 800;
    color: color-mix(in srgb, var(--rb-bg, #f27a1a), black 18%);
}
.pd-rank-detail {
    font-size: .84rem;
    color: var(--b2c-steel, #5b6470);
}

.pd-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem 1rem;
    margin: .1rem 0 .4rem;
    font-size: .88rem;
}
.pd-meta-rating {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--b2c-ink, #171a1f);
    text-decoration: none;
}
.pd-meta-rating:hover { text-decoration: underline; color: var(--b2c-ink, #171a1f); }
.pd-meta-rating strong { font-weight: 700; }
.pd-meta-rating span { color: var(--b2c-steel, #6b7280); }
.pd-stars { display: inline-flex; gap: 2px; color: #e0a100; font-size: .85rem; }
.pd-stars .fa-regular { color: #c9ced6; }
.pd-meta .pd-meta-rating span.pd-stars { color: #f5a623; }

.pd-breadcrumb {
    display: flex;
    align-items: center;
    gap: .15rem;
    min-width: 0;
    margin: 0 0 1rem -.55rem;
    font-size: .84rem;
    line-height: 1.2;
    white-space: nowrap;
}
.pd-bc-link {
    flex: 0 1 auto;
    min-width: 0;
    display: inline-block;
    padding: .4rem .55rem;
    border-radius: 999px;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--b2c-steel, #6b7280);
    font-weight: 500;
    text-decoration: none;
    transition: background-color .15s ease, color .15s ease;
}
.pd-bc-link:hover,
.pd-bc-link:focus-visible {
    background: var(--b2c-surface-muted, #f1f3f5);
    color: var(--b2c-primary, #1d4ed8);
}
.pd-bc-root { flex-shrink: 0; display: inline-flex; align-items: center; gap: .4rem; overflow: visible; }
.pd-bc-root i { font-size: .75rem; }
.pd-bc-current {
    flex: 1 1 0;
    min-width: 4em;
    padding: .4rem .55rem;
    overflow: hidden;
    text-overflow: ellipsis;
    color: var(--b2c-ink, #171a1f);
    font-weight: 600;
    cursor: default;
}
.pd-bc-sep { flex-shrink: 0; font-size: .6rem; color: #b8bec7; }

.pd-gallery {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: .75rem;
    align-items: stretch;
    margin-bottom: 1.5rem;
}
.pd-gallery > .card,
.pd-gallery > .pd-media-card { margin-bottom: 0 !important; }
.pd-gallery:has(.pd-thumbs[hidden]) { grid-template-columns: minmax(0, 1fr); }
.pd-thumbs {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: .6rem;
    contain: size;
    min-height: 0;
    padding: 2px;
    overflow-y: auto;
    --thumbs-fade-start: 0px;
    --thumbs-fade-end: 56px;
    -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--thumbs-fade-start), #000 calc(100% - var(--thumbs-fade-end)), transparent 100%);
    mask-image: linear-gradient(to bottom, transparent 0, #000 var(--thumbs-fade-start), #000 calc(100% - var(--thumbs-fade-end)), transparent 100%);
    scrollbar-width: none;
    scroll-snap-type: y proximity;
}
.pd-thumbs::-webkit-scrollbar { display: none; }
.pd-thumbs[hidden] { display: none; }
.pd-thumbs.is-scrolled { --thumbs-fade-start: 56px; }
.pd-thumbs.is-scroll-end { --thumbs-fade-end: 0px; }
.pd-thumb {
    flex: 0 0 auto;
    width: 72px;
    height: 72px;
    padding: 0;
    border: 1px solid var(--b2c-line, #e6e8ec);
    border-radius: 10px;
    background: var(--b2c-surface, #fff);
    box-shadow: 0 1px 3px rgba(15, 18, 25, .06);
    overflow: hidden;
    cursor: pointer;
    scroll-snap-align: start;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.pd-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 4px; }
.pd-thumb:hover { border-color: color-mix(in srgb, var(--b2c-primary, #1d4ed8) 50%, var(--b2c-line, #e6e8ec)); }
.pd-thumb.active {
    border-color: var(--b2c-primary, #1d4ed8);
    box-shadow: 0 0 0 1px var(--b2c-primary, #1d4ed8);
}
.pd-thumb:focus-visible { outline: 2px solid var(--b2c-primary, #1d4ed8); outline-offset: 2px; }
.pd-thumb--video {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--b2c-ink, #171a1f);
    color: #fff;
    font-size: 1rem;
}
@media (max-width: 767.98px) {
    .pd-gallery { grid-template-columns: minmax(0, 1fr); }
    .pd-thumbs {
        order: 2;
        flex-direction: row;
        contain: none;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: none;
        -webkit-mask-image: linear-gradient(to right, transparent 0, #000 var(--thumbs-fade-start), #000 calc(100% - var(--thumbs-fade-end)), transparent 100%);
        mask-image: linear-gradient(to right, transparent 0, #000 var(--thumbs-fade-start), #000 calc(100% - var(--thumbs-fade-end)), transparent 100%);
    }
    .pd-thumb { width: 60px; height: 60px; }
}


.price-saving {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    flex-basis: 100%;
    font-size: .68rem;
    font-weight: 700;
    line-height: 1.2;
    color: #059669;
    white-space: nowrap;
}
.price-saving i { font-size: .62rem; }
.product-card--default .pc-price .price-saving {
    order: -1;
    flex-basis: 100%;
    margin-bottom: .1rem;
    font-size: .64rem;
}
.product-card--grid_market .gm-price-row:has(.price-saving),
.product-card--minimal_fashion .mf-price:has(.price-saving),
.list-row .lr-price:has(.price-saving) { flex-wrap: wrap; }

.pd-saving {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .5rem;
    margin-top: .5rem;
    font-size: .88rem;
    color: #047857;
}
.pd-saving > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #d1fae5;
    font-size: .7rem;
}
.pd-saving-note {
    font-size: .75rem;
    font-weight: 600;
    color: #fff;
    background: #e11d48;
    border-radius: 5px;
    padding: .12rem .45rem;
}

.pd-boxless .pd-box {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.pd-boxless .pd-info-box { padding-top: 0 !important; padding-bottom: 0 !important; }
.pd-boxless #productDescWrapper.pd-box {
    padding-top: 1.5rem !important;
    border-top: 1px solid var(--b2c-line, #e6e8ec) !important;
}
.pd-boxless .oem-section.pd-box {
    padding-top: 1rem !important;
    padding-bottom: 0 !important;
    border-top: 1px solid var(--b2c-line, #e6e8ec) !important;
}
.pd-boxless .review-item.pd-box {
    margin-bottom: 0 !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    border-bottom: 1px solid var(--b2c-line, #e6e8ec) !important;
}
.pd-boxless .add-review.pd-box {
    padding-top: 1.5rem !important;
    border-top: 1px solid var(--b2c-line, #e6e8ec) !important;
}
.pd-boxless .review-item + .add-review.pd-box { border-top: 0 !important; }

.pd-specs-boxless .pd-spec-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}
.pd-specs-boxless .pd-spec-card .card-header-equal {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-height: 58px;
    padding: .5rem 0 !important;
    background: none !important;
    color: var(--b2c-ink, #171a1f) !important;
    border-bottom: 2px solid var(--b2c-ink, #171a1f);
    font-size: 1.05rem;
    font-weight: 700;
}
.pd-specs-boxless .pd-spec-card .card-header-equal i { color: var(--b2c-primary, #1d4ed8); }
.pd-specs-boxless .pd-spec-card .card-header-equal #vehicleSearch {
    border: 1px solid var(--b2c-line, #dee2e6);
    border-radius: var(--bs-border-radius, .375rem);
    background: var(--b2c-surface, #fff);
}
.pd-specs-boxless .pd-spec-card .table {
    --bs-table-bg: transparent;
    --bs-table-striped-bg: transparent;
    --bs-table-hover-bg: var(--b2c-surface-muted, #f6f7f9);
}
.pd-specs-boxless .pd-spec-card thead { display: none; }
.pd-specs-boxless .pd-spec-card td { border-bottom: 1px solid var(--b2c-line, #e6e8ec); }
.pd-specs-boxless .pd-spec-card td:first-child { padding-left: 0 !important; }
.pd-specs-boxless .pd-spec-card td:last-child { padding-right: 0 !important; }

@media (max-width: 767.98px) {
    .pd-hero-row { --bs-gutter-y: .75rem; }
    .pd-hero-row > .col-md-5 > .card,
    .pd-hero-row > .col-md-5 > .pd-media-card,
    .pd-hero-row .pd-gallery { margin-bottom: .75rem !important; }
}

#reviews { scroll-margin-top: var(--pd-header-offset, 90px); }

.review-photos { display: flex; flex-wrap: wrap; gap: .5rem; margin: .25rem 0 .5rem; }
.review-photo {
    display: block;
    width: 72px;
    height: 72px;
    border: 1px solid var(--b2c-line, #e6e8ec);
    border-radius: 8px;
    overflow: hidden;
    background: var(--b2c-surface-muted, #f6f7f9);
}
.review-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .2s ease; }
.review-photo:hover img { transform: scale(1.05); }

.question-row { display: flex; gap: .75rem; align-items: flex-start; }
.question-row + .question-row { margin-top: .75rem; }
.question-row > div { min-width: 0; overflow-wrap: anywhere; }
.question-mark {
    flex: 0 0 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    background: var(--b2c-surface-muted, #f1f3f5);
    color: var(--b2c-ink, #171a1f);
    font-size: .78rem;
    font-weight: 800;
}
.question-mark.is-answer { background: var(--b2c-primary-soft, #e8eefd); color: var(--b2c-primary, #1d4ed8); }
.questions-list {
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: .6rem;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
}
.questions-list { cursor: grab; user-select: none; }
.questions-list.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.questions-list.is-dragging .question-item { pointer-events: none; }
.reviews-list { position: relative; }
.reviews-list.is-scrollable {
    overflow-y: auto;
    padding-right: .35rem;
    scrollbar-width: thin;
}
.questions-list .question-item {
    flex: 0 0 min(340px, 85%);
    margin-bottom: 0 !important;
    scroll-snap-align: start;
}
.pd-boxless .question-item.pd-box {
    padding: .25rem 1rem .25rem 0 !important;
    border-right: 1px solid var(--b2c-line, #e6e8ec) !important;
}
.pd-boxless .question-item.pd-box:last-child { border-right: 0 !important; }
.pd-boxless .ask-question.pd-box {
    padding-top: 1.5rem !important;
    border-top: 1px solid var(--b2c-line, #e6e8ec) !important;
}

.fa-hearts { position: relative; display: inline-block; width: 1.55em; }
.fa-hearts::before { content: "\f004"; }
.fa-hearts::after {
    content: "\f004";
    position: absolute;
    left: .62em;
    top: -.38em;
    font-size: .78em;
    -webkit-text-stroke: 1.6px #fff;
    paint-order: stroke fill;
}

.review-head-row { display: flex; align-items: center; gap: .7rem; }
.review-author-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .1rem; line-height: 1.25; }
.review-author-text strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-author-text .review-rating { font-size: .8rem; }
.product-reviews .pd-stars { color: #e0a100; vertical-align: -1px; }
.product-reviews .pd-stars .fa-regular { color: #c9ced6; }
.product-reviews .review-rating i { margin-right: 0; }
.review-avatar {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--navbar-button, var(--b2c-primary, #1d4ed8));
    color: #fff;
    font-weight: 700;
    font-size: 14px;
}
.review-date { flex: 0 0 auto; align-self: flex-start; font-size: .78rem; color: var(--b2c-steel, #6b7280); white-space: nowrap; }

.review-form-top { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.review-form-top .review-name-input { flex: 0 0 auto; width: 220px; max-width: 100%; }
.review-star-line { display: flex; align-items: center; gap: .5rem; }
.review-star-caption { font-size: .8rem; color: var(--b2c-steel, #6b7280); white-space: nowrap; }
.review-star-line:has(input:checked) .review-star-caption { color: var(--b2c-ink, #171a1f); font-weight: 700; }
.review-star-input { display: inline-flex; flex-direction: row-reverse; gap: 2px; }
.review-star-input input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.review-star-input label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 32px;
    font-size: 1.15rem;
    color: #d5d9df;
    cursor: pointer;
    transition: color .12s ease, transform .12s ease;
}
.review-star-input input:checked ~ label,
.review-star-input label:hover,
.review-star-input label:hover ~ label { color: #f5a623; }
.review-star-input:hover input:checked ~ label:not(:hover):not(:hover ~ label) { color: #d5d9df; }
.review-star-input label:hover { transform: scale(1.12); }
.review-star-input input:focus-visible + label { outline: 2px solid var(--b2c-primary, #1d4ed8); outline-offset: 1px; border-radius: 6px; }

.review-prompt-list { display: grid; gap: 1rem; }
.review-prompt-item { display: flex; gap: .85rem; padding-bottom: 1rem; border-bottom: 1px solid var(--b2c-line, #e6e8ec); }
.review-prompt-item:last-child { border-bottom: 0; padding-bottom: 0; }
.review-prompt-media {
    flex: 0 0 64px;
    height: 64px;
    border-radius: 10px;
    overflow: hidden;
    background: var(--b2c-surface-muted, #f6f7f9);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #c4c8cf;
}
.review-prompt-media img { width: 100%; height: 100%; object-fit: contain; }
.review-prompt-body { flex: 1 1 auto; min-width: 0; display: grid; gap: .35rem; }
.review-prompt-name { font-weight: 700; color: var(--b2c-ink, #171a1f); text-decoration: none; overflow-wrap: anywhere; }
.review-prompt-name:hover { color: var(--b2c-primary, #1d4ed8); }
.review-prompt-actions { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.review-prompt-status { color: var(--b2c-steel, #6b7280); }
.review-prompt-item.is-sent .review-star-input,
.review-prompt-item.is-sent textarea,
.review-prompt-item.is-sent button { display: none; }
.review-prompt-item.is-sent .review-prompt-status { color: var(--b2c-success, #1f7a4d); font-weight: 600; }

.reviews-toolbar { display: flex; justify-content: flex-end; margin: -.5rem 0 1rem; }
.review-sort-select { width: auto; min-width: 210px; max-width: 100%; }
