.kxm-v4-badges {
    position: absolute;
    left: 8px;
    bottom: 8px;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    max-width: calc(100% - 16px);
    pointer-events: none;
}

.kxm-v4-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    height: 28px;
    padding: 0 10px;
    background: var(--kxm-v4-white);
    color: var(--kxm-v4-ink);
    border: 1px solid transparent;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.kxm-v4-badge--new {
    background: var(--kxm-v4-ink);
    color: var(--kxm-v4-white);
}

.kxm-v4-badge--last {
    border-color: var(--kxm-v4-ink);
}

.kxm-v4-badge--sale {
    height: 36px;
    padding: 0 12px;
    background: var(--kxm-v4-blue);
    color: var(--kxm-v4-on-blue);
    border-color: var(--kxm-v4-blue);
    font-size: 16px;
    letter-spacing: .01em;
    font-variant-numeric: tabular-nums;
}

.kxm-v4-badge--pickup {
    background: var(--kxm-v4-beige-100);
    border-color: var(--kxm-v4-beige-100);
}

.cms-index-index .kxm-home-sale .kxm-v4-badge--sale {
    height: 40px;
    padding-inline: 14px;
    font-size: 18px;
}

.kxm-v4-badges :is(.kxm-v4-badge--last, .kxm-v4-badge--pickup) {
    min-height: 20px;
    height: 20px;
    padding-inline: 6px;
    font-size: 10px;
    letter-spacing: .04em;
}

/* The original Sale percentage occupies the bottom 28px of the image. */
body.cms-promocje .products-grid .product-image > .kxm-sale-badge + .kxm-v4-badges {
    left: 0;
    bottom: 34px;
}

.cms-index-index .kxm-home-product-price .current-price,
body .products-grid .kxm-product-price .price-box .price,
body .products-list .price-box .price,
body .product-view .kxm-pdp-price .price-box .price {
    color: var(--kxm-v4-ink) !important;
    font-weight: 700 !important;
    font-size: 15px;
    line-height: 20px;
    letter-spacing: normal;
    font-variant-numeric: tabular-nums;
}

body .product-view .kxm-pdp-price .price-box .price {
    font-size: 24px;
    line-height: 28px;
}

.cms-index-index .kxm-home-product-price.is-sale .current-price,
body .products-grid .kxm-product-price .price-box .special-price .price,
body .products-list .price-box .special-price .price,
body .product-view .kxm-pdp-price .price-box .special-price .price {
    color: var(--kxm-v4-blue) !important;
}

.cms-index-index .kxm-home-product-price .old-price,
body .products-grid .kxm-product-price .price-box .old-price .price,
body .products-list .price-box .old-price .price,
body .product-view .kxm-pdp-price .price-box .old-price .price {
    color: var(--kxm-v4-ink-muted) !important;
    font-weight: 400 !important;
    text-decoration: line-through;
}

.cms-index-index :is(.kxm-home-new, .kxm-home-sale) .kxm-home-product-rail {
    grid-auto-columns: calc((100% - 3 * var(--kxm-v4-space-6)) / 4);
    gap: var(--kxm-v4-space-6);
}

.cms-index-index :is(.kxm-home-new, .kxm-home-sale) .kxm-home-product-image,
body .products-grid .item .product-image {
    aspect-ratio: 4 / 5;
}

.cms-index-index .kxm-home-product-image:hover img {
    transform: scale(1.025);
}

@media (max-width: 767px) {
    .cms-index-index :is(.kxm-home-new, .kxm-home-sale) .kxm-home-product-rail {
        grid-auto-columns: calc((100% - var(--kxm-v4-space-4)) / 2);
        gap: var(--kxm-v4-space-4);
        margin-right: 0;
        padding-right: 0;
    }
}
