/* WC6 product cards (Doron's WC6B decision, 2026-10-07; staging first). Loaded after card-ribbons.css and
   style.css. Spec: mockups/WC_brief_he.md (WC2.1 B "Corner Tag" + WC6B) and badge_mapping.md §2-§5.
   Slot A: one corner tag, flush to the photo's top-right corner, 11.5px/600, line icons, magenta only for a deal.
   Slot D: "N ב־₪P" hero price. Slot E: + / stepper unchanged; hover ring + in-cart chip on desktop. */

/* ---------------- Slot A · corner tag (B language) ---------------- */
html body ul.products > li.product.type-product .b2b-ribbon {
    top: 0;
    right: 0;
    gap: 4px;
    height: 22px;
    padding: 0 8px;
    border-radius: 0 10px 0 6px;
    background: #DF1A81;
    color: #fff;
    box-shadow: none;
    font-family: inherit;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.15px;
    overflow: hidden;
}

html body ul.products > li.product.type-product .b2b-ribbon .b2b-ribbon__t {
    line-height: 16px;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* the theme sizes spans inside card links (18px): the tag's inner parts follow the tag */
html body ul.products > li.product.type-product .b2b-ribbon :is(.b2b-tag-f, .b2b-tag-s, bdi) {
    font: inherit !important;
    color: inherit !important;
    letter-spacing: inherit !important;
}

html body ul.products > li.product.type-product .b2b-ribbon .b2b-tag-i {
    display: block;
    flex: none;
    width: 12px;
    height: 12px;
}

/* families: ivory + hairline (רב מכר), charcoal (חדש), deep green (חזר למלאי), magenta (deal), charcoal + gift */
html body ul.products > li.product.type-product .b2b-ribbon--best {
    background: #FBF8F2;
    color: #1A1A1A;
    box-shadow: inset 0 0 0 1px #D9CFBD;
}
html body ul.products > li.product.type-product .b2b-ribbon--best .b2b-tag-i { color: #A65E1B; }

html body ul.products > li.product.type-product .b2b-ribbon--new {
    background: #1A1A1A;
    color: #fff;
}
html body ul.products > li.product.type-product .b2b-ribbon--new .b2b-tag-i { color: #E9D9B8; }

html body ul.products > li.product.type-product .b2b-ribbon--back {
    background: #1E5B3A;
    color: #fff;
}

html body ul.products > li.product.type-product .b2b-ribbon--deal.b2b-ribbon--gift {
    background: #1A1A1A;
    color: #fff;
}
html body ul.products > li.product.type-product .b2b-ribbon--gift .b2b-tag-i { color: #F49AC8; }

/* buy-get: two-tone, «קנה 4» charcoal on the right (read first in RTL) | «קבל 1» magenta */
html body ul.products > li.product.type-product .b2b-ribbon--split {
    gap: 0;
    padding: 0;
    background: transparent;
    align-items: stretch;
}
html body ul.products > li.product.type-product .b2b-ribbon--split .b2b-ribbon__t {
    display: inline-flex;
    align-items: center;
    padding: 0 7px;
    line-height: 1;
}
html body ul.products > li.product.type-product .b2b-ribbon--split .b2b-ribbon__l { background: #1A1A1A; color: #fff; }
html body ul.products > li.product.type-product .b2b-ribbon--split .b2b-ribbon__r { background: #DF1A81; color: #fff; }
html body ul.products > li.product.type-product .b2b-ribbon--split .b2b-tag-s { display: none; }
html body ul.products > li.product.type-product .b2b-ribbon--gift .b2b-tag-s { display: none; }

/* «חד־פעמי»: a small text line under the tag, not a second tag */
html body ul.products > li.product.type-product .b2b-tag-note {
    position: absolute;
    z-index: 4;
    top: 26px;
    right: 0;
    padding: 3px 5px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.94);
    color: #8E1352;
    font-size: 10px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.3px;
    white-space: nowrap;
    pointer-events: none;
}

/* out of stock + owner promo: same corner tag shape, their own calm colours */
html body ul.products:not(.b2b-list) > li.product.type-product .b2b-badge.b2b-badge--oos.b2b-badge--oos.b2b-badge--oos {
    height: 22px;
    padding: 0 8px;
    border-radius: 0 10px 0 6px;
    background: #E9E7E2;
    color: #5A5A5A;
    font-size: 11.5px;
    letter-spacing: 0.15px;
}

html body ul.products:not(.b2b-list) > li.product.type-product .yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge {
    height: 22px !important;
    padding: 0 8px !important;
    border-radius: 0 10px 0 6px !important;
    background: #F5EEDB !important;
    color: #6E5310 !important;
    box-shadow: inset 0 0 0 1px #E3D3A6 !important;
}

/* out of stock: muted photo (the + is already replaced by «עדכנו אותי»); 2026-10-08 oos_img: muted, not colourless
   (no brightness(): it turned the white photo background into a grey tile) */
html body ul.products > li.product.type-product.outofstock .astra-shop-thumbnail-wrap img {
    filter: grayscale(.3) saturate(.7);
    opacity: .8;
}

/* package deal (b2b-package-promo): the whole photo stays the tap target that opens the deal popup; its diagonal
   sash becomes the magenta corner tag. A status tag never sits next to it (wc6-cards.php drops it server-side). */
html body ul.products > li.product.type-product .b2bpp-ribbon.b2bpp-ribbon-card > span {
    /* the plugin's 0.2.35 overlay IS the corner box (top-right, width auto); its span is the tag face */
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
    box-sizing: border-box !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 8px !important;
    border-radius: 0 10px 0 6px !important;
    background: #DF1A81 !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    letter-spacing: 0.15px !important;
}
html body ul.products > li.product.type-product.b2bpp-carrier .b2b-ribbon {
    display: none !important;
}

/* phones, grid: 18px / 10px tag; buy-get in its short form «4 | +1» */
@media (max-width: 767px) {
    html body ul.products:not(.b2b-list) > li.product.type-product .b2b-ribbon,
    html body ul.products:not(.b2b-list) > li.product.type-product .b2b-badge.b2b-badge--oos.b2b-badge--oos.b2b-badge--oos {
        height: 18px;
        padding: 0 5px;
        gap: 3px;
        font-size: 10px;
        max-width: calc(100% - 34px);
    }
    html body ul.products:not(.b2b-list) > li.product.type-product .yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge.yith-wcbm-badge {
        height: 18px !important;
        padding: 0 5px !important;
    }
    html body ul.products:not(.b2b-list) > li.product.type-product .b2b-ribbon .b2b-tag-i {
        width: 10px;
        height: 10px;
    }
    html body ul.products:not(.b2b-list) > li.product.type-product .b2b-ribbon--split { padding: 0; gap: 0; }
    html body ul.products:not(.b2b-list) > li.product.type-product .b2b-ribbon--split .b2b-ribbon__t { padding: 0 5px; }
    html body ul.products > li.product.type-product .b2b-ribbon--split .b2b-tag-f { display: none; }
    html body ul.products > li.product.type-product .b2b-ribbon--split .b2b-tag-s { display: inline; }
    html body ul.products > li.product.type-product .b2b-ribbon--gift .b2b-tag-f { display: none; }
    html body ul.products > li.product.type-product .b2b-ribbon--gift .b2b-tag-s { display: inline; }
    html body ul.products:not(.b2b-list) > li.product.type-product .b2b-tag-note {
        top: 21px;
        padding: 2px 4px;
        font-size: 9.5px;
    }
    html body ul.products:not(.b2b-list) > li.product.type-product .b2bpp-ribbon.b2bpp-ribbon-card > span {
        height: 18px !important;
        min-height: 18px !important;
        padding: 0 5px !important;
        font-size: 10px !important;
    }
}

/* list rows (small photo): 18px / 10.5px tag (phones 16px / 9.5px); a long deal text may wrap instead of being cut */
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon {
    min-height: 18px;
    padding: 2px 6px !important;
    gap: 3px;
    border-radius: 0 10px 0 6px !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
}
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon--split {
    padding: 0 !important;
}
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon--split .b2b-ribbon__t {
    padding: 2px 5px !important;
}
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon .b2b-tag-i {
    width: 10px;
    height: 10px;
}
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-tag-note {
    display: none;
}
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2bpp-ribbon.b2bpp-ribbon-card > span {
    height: auto !important;
    min-height: 18px !important;
    padding: 2px 6px !important;
    font-size: 10.5px !important;
    line-height: 1.2 !important;
    white-space: normal !important;
}
@media (max-width: 767px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon,
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2bpp-ribbon.b2bpp-ribbon-card > span {
        min-height: 16px !important;
        padding: 1px 4px !important;
        font-size: 9.5px !important;
    }
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon--split { padding: 0 !important; }
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon--split .b2b-ribbon__t { padding: 1px 4px !important; }
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ribbon .b2b-tag-i {
        width: 9px;
        height: 9px;
    }
}

/* ---------------- Slot D · "N ב־₪P" is the main price ---------------- */
/* (:not(#b2b-wc6) only lifts the weight over the list-row price rules) */
html body ul.products > li.product.type-product .price:not(#b2b-wc6):has(> .b2b-hero) > :is(.woocommerce-Price-amount, ins, del, br, .per_unit, .sale-data, .b2b-pack) {
    display: none !important;
}

html body ul.products > li.product.type-product .price .b2b-hero {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    flex-basis: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
}

html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__deal {
    display: inline-flex !important;
    align-items: baseline;
    gap: 3px;
    color: #DF1A81 !important;
    font-size: 18px !important;   /* = today's main card price (WC6B: same place, same size) */
    font-weight: 800 !important;
    letter-spacing: -0.3px;
    line-height: 24px !important;
    white-space: nowrap;
}

html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__q {
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0;
    line-height: 1 !important;
}

html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__p {
    color: inherit !important;
    font: inherit !important;
    letter-spacing: inherit;
}

html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__unit {
    display: block !important;
    color: #77727C !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 16px !important;
    text-decoration: none !important;
}
html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__unit bdi { font: inherit !important; color: inherit !important; }

/* progress line: only once the product is in the cart («עוד 1 למבצע» → «המבצע הופעל») */
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog {
    display: none !important;
    align-items: center;
    gap: 6px;
    width: 100%;
    max-width: 240px;
    margin-top: 2px;
    color: #B0105F !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 14px !important;
}
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog.is-on { display: flex !important; }
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog__t { font: inherit !important; color: inherit !important; white-space: nowrap; }
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog__ok { display: none; flex: none; width: 12px; height: 12px; }
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog__bar {
    position: relative;
    flex: 1;
    min-width: 30px;
    height: 3px;
    border-radius: 3px;
    background: #F3E3EC;
    overflow: hidden;
}
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog__bar::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: var(--w, 0%);
    border-radius: 3px;
    background: #DF1A81;
}
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog.is-done { color: #1E5B3A !important; }
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog.is-done .b2b-dealprog__ok { display: block; }
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog.is-done .b2b-dealprog__bar { background: #E3EFE7; }
html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog.is-done .b2b-dealprog__bar::after { width: 100%; background: #1E5B3A; }

@media (max-width: 767px) {
    html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__deal {
        font-size: 16px !important;
        line-height: 22px !important;
    }
    html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__q { font-size: 11.5px !important; }
    html body ul.products > li.product.type-product .price .b2b-hero .b2b-hero__unit { font-size: 11px !important; line-height: 14px !important; }
    html body ul.products > li.product.type-product .price .b2b-hero .b2b-dealprog { font-size: 9.5px !important; }
}

/* the info popup copies the card's price parts it needs by itself: never show the hero line inside it */
.product-popup .b2b-hero,
#elementor-popup-modal-3732 .b2b-hero {
    display: none !important;
}

/* ---------------- Slot E · + / stepper: same shape and place; desktop hover + in-cart chip ---------------- */
@media (hover: hover) and (pointer: fine) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product {
        transition: transform 0.2s ease, box-shadow 0.2s ease;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product:hover {
        transform: translateY(-3px);
        box-shadow: 0 2px 4px rgba(20, 16, 24, 0.05), 0 22px 44px -20px rgba(20, 16, 24, 0.30) !important;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product.b2b-in-cart:hover {
        box-shadow: 0 0 0 1px #F3B6D4, 0 22px 44px -20px rgba(20, 16, 24, 0.30) !important;
    }
    html body ul.products > li.product.type-product:hover a.button.add_to_cart_button.btn-plus {
        box-shadow: 0 0 0 6px rgba(223, 26, 129, 0.14), 0 0 0 1px rgba(223, 26, 129, 0.25), 0 6px 14px -4px rgba(223, 26, 129, 0.45) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product:hover {
        transition: none;
        transform: none;
    }
}

/* desktop grid: «✓ בסל: N» beside the stepper; right after a change «✓ נוסף לסל · בסל: N» (dark).
   wc6-cards.js sets data-wc6-room per card width: full / short (prefix alone) / tight (no prefix) / none (no chip). */
@media (min-width: 768px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-incart :is(.b2b-incart__label, .b2b-incart__qty) {
        font-family: inherit !important;
        font-size: inherit !important;
        line-height: inherit !important;
        font-weight: 700 !important;
        display: inline !important;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="full"] .b2b-incart, body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="short"] .b2b-incart, body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="tight"] .b2b-incart {
        display: inline-flex !important;
        top: -1px;
        gap: 4px;
        height: 24px;
        padding: 0 9px;
        border-radius: 10px;
        background: #F4F2F5;
        color: #1A1A1A;
        font-size: 11.5px;
        line-height: 1;
        font-weight: 700;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-incart::before {
        content: '';
        flex: none;
        width: 12px;
        height: 12px;
        background: #1E5B3A;
        -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product.b2b-in-cart.b2b-updated .b2b-incart {
        opacity: 1;
        transform: none;
        background: #1A1A1A;
        color: #fff;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product.b2b-in-cart.b2b-updated .b2b-incart::before {
        background: #8FE0AE;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="full"].b2b-in-cart.b2b-updated[data-wc6-delta="up"] .b2b-incart .b2b-incart__label::before {
        content: 'נוסף לסל · ';
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="full"].b2b-in-cart.b2b-updated[data-wc6-delta="down"] .b2b-incart .b2b-incart__label::before {
        content: 'עודכן · ';
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="short"].b2b-in-cart.b2b-updated .b2b-incart :is(.b2b-incart__label, .b2b-incart__qty) {
        display: none !important;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="short"].b2b-in-cart.b2b-updated[data-wc6-delta="up"] .b2b-incart::after {
        content: 'נוסף לסל';
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product[data-wc6-room="short"].b2b-in-cart.b2b-updated[data-wc6-delta="down"] .b2b-incart::after {
        content: 'עודכן בסל';
    }
}

/* 2026-10-07 (nav) search dropdown + every list: a card with packaging lines already says the unit content in its
   "יח׳ · …" line; the old short description sat in the same grid cell on top of it (two texts drawn over each other
   in the search sheet). One line only. */
html body li.product .b2b-chain:has(.b2b-chain__r--unit) ~ .short_description,
html body .b2bs-panel ul.products li.product .b2b-chain:has(.b2b-chain__r--unit) ~ div.short_description { display: none !important; }
/* the master-carton line never truncates into "(768 …" */
html body li.product .b2b-chain__r--master > span { white-space: normal; overflow: visible; text-overflow: clip; }

/* 2026-10-07 (nav) quantity-tier strip (b2b_wc6_tier_strip): one soft-pink line, cheapest tier emphasised;
   a narrow card swaps to the short form. Replaces «הטבה ברכישה כמותית» + the «← החל מ… לחץ כאן לפירוט! →» box. */
html body li.product .pricing-tier-loop.b2b-tiers { display: block !important; margin: 6px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; container-type: inline-size; width: 100%; }
html body li.product .b2b-tiers__b { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 6px; width: 100%; min-height: 30px; padding: 5px 10px; border-radius: 10px; background: #FDF0F6; color: #8A1450; font-size: 12.5px; line-height: 1.35; cursor: pointer; direction: rtl; text-align: right; transition: background .15s; }
html body li.product .b2b-tiers__b:hover { background: #FBE2EE; }
html body li.product .b2b-tiers__b:focus-visible { outline: 2px solid #DF1A81; outline-offset: 2px; }
html body li.product .b2b-tiers__i { flex: none; width: 14px; height: 14px; color: #DF1A81; }
html body li.product .b2b-tiers__full { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 5px; min-width: 0; }
html body li.product .b2b-tiers__s { white-space: nowrap; }
html body li.product .b2b-tiers__s i { font-style: normal; color: #6D6D6D; }
html body li.product .b2b-tiers__s bdi { font-weight: 600; }
html body li.product .b2b-tiers__s.is-best bdi { color: #DF1A81; font-weight: 800; }
html body li.product .b2b-tiers__d { color: #D9A3BF; font-weight: 400; }
html body li.product .b2b-tiers__short { display: none; white-space: nowrap; }
html body li.product .b2b-tiers__short bdi { color: #DF1A81; font-weight: 800; }
@container (max-width: 190px) {
    html body li.product .b2b-tiers__full { display: none; }
    html body li.product .b2b-tiers__short { display: inline; }
}
/* the old purple fact line says the same thing */
html body li.product:has(.b2b-tiers) .b2b-rules .b2b-rule--tier { display: none !important; }
/* (search rows) beat style.css «.b2bs-real … .short_description:not(:empty) { display:block !important }» */
html body .b2bs-real.b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product.type-product .b2b-chain:has(.b2b-chain__r--unit) ~ .short_description.short_description:not(:empty),
html body .b2bs-real.b2bs-real.b2bs-real ul.products.products.products > li.product.type-product.type-product.type-product .b2b-chain:has(.b2b-chain__r--unit) ~ .short_description.short_description:not(:empty) { display: none !important; }
/* list rows (category list view + search rows) used to hide the tier box and print «הטבה ברכישה כמותית» via
   .price::after; the strip replaces both, as the last line of the price block */
html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .price .pricing-tier-loop.b2b-tiers { display: block !important; order: 6 !important; flex: 0 0 100% !important; width: 100% !important; margin: 4px 0 0 !important; }
html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .price:has(.b2b-tiers)::after { content: none !important; display: none !important; }
html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-tiers__b { font-size: 12px; min-height: 26px; padding: 4px 8px; }
html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:has(.b2b-tiers) .b2b-rules .b2b-rule--tier { display: none !important; }
/* the strip's text never inherits the price amount's size (.price bdi / .amount rules) */
html body li.product .b2b-tiers .b2b-tiers__b :is(span, i, b, bdi) { font-size: inherit !important; line-height: inherit !important; letter-spacing: 0 !important; }
html body li.product .b2b-tiers .b2b-tiers__b bdi { font-family: inherit !important; }
html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .price .pricing-tier-loop.b2b-tiers { width: 100% !important; max-width: 100% !important; min-width: 0 !important; align-self: stretch !important; } /* container-type needs a definite width */
html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-tiers__short { white-space: normal; }

/* (nav #22) variant stickers inside the photo frame, bottom inline-start (right) corner, in every view: grid cards,
   list rows at every width, phones and the search panel (functions.php b2b_cux_img_stickers()) */
html body li.product .container-image-and-badge > .b2b-stickers--img {
    position: absolute !important; z-index: 3; top: auto !important; bottom: 6px !important; right: 6px !important; left: auto !important;
    display: flex !important; flex-wrap: nowrap; gap: 4px; margin: 0 !important; padding: 0 !important;
    max-width: calc(100% - 12px); pointer-events: none; direction: rtl;
}
html body ul.products.b2b-list > li.product .container-image-and-badge > .b2b-stickers--img { --b2b-st: 28px; --b2b-st-fs: 7px; bottom: 4px !important; right: 4px !important; gap: 3px; }
html body ul.products.b2b-list > li.product .container-image-and-badge > .b2b-stickers--img:has(> :nth-child(3)) { --b2b-st: 24px; --b2b-st-fs: 6px; }
html body ul.products.b2b-list > li.product .container-image-and-badge > .b2b-stickers--img:has(> :nth-child(4)) { --b2b-st: 20px; --b2b-st-fs: 5.5px; }
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list > li.product .container-image-and-badge > .b2b-stickers--img { --b2b-st: 30px; --b2b-st-fs: 7.5px; }
}

/* (nav #24) quantity-discount badge on the photo («עד 13% הנחה בכמות», the real best tier saving): pink gradient
   pill, white percent-tag disc, one pop + one shine sweep on load, lift on hover; click = popup at the tier rows.
   Grid: bottom-left (top-left = (i), top-right = WC6 tag, bottom-right = stickers). List rows: top-left.
   Narrow photos (< 200px: phones, list rows) show the short form «−13% בכמות». */
html body li.product .container-image-and-badge:has(> .b2b-tierbadge) { container: b2bimg / inline-size; }
html body li.product .container-image-and-badge > .b2b-tierbadge {
    position: absolute !important; z-index: 4; left: 6px; bottom: 6px; top: auto; right: auto;
    display: inline-flex; align-items: center; gap: 5px; box-sizing: border-box; height: 28px; max-width: calc(100% - 12px);
    padding: 0 11px 0 4px; border-radius: 999px; overflow: hidden; isolation: isolate; direction: rtl;
    background: linear-gradient(135deg, #FF4FA6 0%, #DF1A81 52%, #B10E63 100%); color: #fff !important;
    font-family: "Noto Sans Hebrew", "Heebo", sans-serif !important; font-weight: 700 !important; font-size: 12px !important; line-height: 1 !important; letter-spacing: 0; white-space: nowrap; text-decoration: none;
    box-shadow: 0 6px 14px -6px rgba(177, 14, 99, .65), inset 0 0 0 1px rgba(255, 255, 255, .22);
    cursor: pointer; pointer-events: auto; user-select: none; -webkit-tap-highlight-color: transparent;
    transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
    animation: b2b-tb-pop .5s cubic-bezier(.2, .9, .3, 1.35) .25s both;
}
html body li.product .container-image-and-badge > .b2b-tierbadge::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(105deg, transparent 28%, rgba(255, 255, 255, .6) 50%, transparent 72%);
    transform: translateX(-130%); animation: b2b-tb-shine 1.1s ease .9s 1 both;
}
html body li.product .b2b-tierbadge .b2b-tierbadge__ic { color: #DF1A81 !important; }
html body li.product .b2b-tierbadge__ic { flex: none; display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; background: #fff; color: #DF1A81; box-shadow: 0 1px 2px rgba(0, 0, 0, .15); }
html body li.product .b2b-tierbadge__i { display: block; width: 13px; height: 13px; }
html body li.product .b2b-tierbadge__t { position: relative; z-index: 2; display: flex; align-items: center; }
html body li.product .b2b-tierbadge b { font-weight: 900; font-size: 13.5px; margin: 0 1px; }
html body li.product .b2b-tierbadge__short { display: none; }
html body li.product .b2b-tierbadge :is(span, b, i, bdi) { font-family: inherit !important; font-size: inherit !important; line-height: 1 !important; color: inherit !important; font-style: normal !important; letter-spacing: 0 !important; }
html body li.product .b2b-tierbadge .b2b-tierbadge__t b, html body li.product .b2b-tierbadge .b2b-tierbadge__t b bdi { font-size: 13.5px !important; font-weight: 900 !important; }
html body li.product .container-image-and-badge > .b2b-tierbadge:hover { transform: translateY(-1px) scale(1.04); filter: brightness(1.06) saturate(1.05); box-shadow: 0 10px 18px -8px rgba(177, 14, 99, .75), inset 0 0 0 1px rgba(255, 255, 255, .3); }
html body li.product .container-image-and-badge > .b2b-tierbadge:active { transform: scale(.96); }
html body li.product .container-image-and-badge > .b2b-tierbadge:focus-visible { outline: 2px solid #fff; outline-offset: 0; box-shadow: 0 0 0 4px #DF1A81; }
@keyframes b2b-tb-pop { from { opacity: 0; transform: translateY(6px) scale(.75); } }
@keyframes b2b-tb-shine { to { transform: translateX(130%); } }
@container b2bimg (max-width: 200px) {
    html body li.product .container-image-and-badge > .b2b-tierbadge { height: 24px; padding: 0 8px 0 3px; gap: 4px; font-size: 11px !important; left: 5px; bottom: 5px; }
    html body li.product .b2b-tierbadge__ic { width: 18px; height: 18px; }
    html body li.product .b2b-tierbadge__i { width: 11px; height: 11px; }
    html body li.product .b2b-tierbadge .b2b-tierbadge__t b, html body li.product .b2b-tierbadge .b2b-tierbadge__t b bdi { font-size: 12px !important; }
    /* two or more stickers share the bottom edge: the badge keeps only «−13%» */
    html body li.product .container-image-and-badge:has(> .b2b-stickers--img > :nth-child(2)) .b2b-tierbadge__w { display: none; }
    html body li.product .b2b-tierbadge__full { display: none; }
    html body li.product .b2b-tierbadge__short { display: inline; }
}
/* list rows: top-left corner of the photo (the stickers keep the bottom-right) */
html body ul.products.b2b-list > li.product .container-image-and-badge > .b2b-tierbadge { top: 4px; bottom: auto; left: 4px; }
@media (prefers-reduced-motion: reduce) {
    html body li.product .container-image-and-badge > .b2b-tierbadge, html body li.product .container-image-and-badge > .b2b-tierbadge::after { animation: none !important; transition: none !important; }
    html body li.product .container-image-and-badge > .b2b-tierbadge::after { display: none; }
}
/* the strip under it reads as a control too: a chevron and a clearer hover */
html body li.product .b2b-tiers__b { border: 1px solid #F6CFE2; }
html body li.product .b2b-tiers__b:hover { border-color: #EFA3C8; }
/* list rows with a WC6 corner tag (top-right, «חזר למלאי» / «רב מכר»): the badge drops under the tag's line */
html body ul.products.b2b-list > li.product .container-image-and-badge:has(> .b2b-ribbon) > .b2b-tierbadge { top: 28px; }
/* very small photos (search-panel rows): the strip says it, the badge would cover the photo */
@container b2bimg (max-width: 100px) {
    html body li.product .container-image-and-badge > .b2b-tierbadge { display: none !important; }
}
/* narrow grid photos (phones) with two+ stickers: smaller stickers so the badge and the stickers never touch */
@container b2bimg (max-width: 200px) {
    html body ul.products:not(.b2b-list) > li.product .container-image-and-badge > .b2b-stickers--img:has(> :nth-child(2)) { --b2b-st: 32px; --b2b-st-fs: 8px; gap: 3px; }
}
html body li.product .b2b-tiers__short { white-space: normal; }

/* ==========================================================================================================
   2026-10-08 catcompact (Doron): tier strip CTA + progress, bigger + / stepper on phones, max-quantity bubble,
   «מוגבל ל־1 בהזמנה» fact line, quantity-tier progress in the product popup.
   ========================================================================================================== */
/* tier strip: «לחץ להנחת כמות» (small, bold) over «עד ₪20 ליח׳»; chevron = "opens the details"; once the product is in
   the cart the progress line (wc6-cards.js) takes line 1's place */
/* (rev. 2026-10-08 06:58, Doron: «the pink box is huge») a slim pill: stairs icon · «הנחה כמותית» · «עד ₪X ליח׳» on one
   24px line where the card is wide enough, two tight lines (~34px) in a narrow phone grid card. No chevron. In the cart the
   progress text takes the label's place and a 2px bar runs along the pill's bottom edge (no extra height). */
html body li.product .pricing-tier-loop.b2b-tiers.b2b-tiers { margin: 4px 0 0 !important; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b { position: relative; gap: 5px !important; min-height: 24px !important; padding: 3px 9px !important; border-radius: 12px !important; font-size: 11.5px !important; line-height: 15px !important; align-items: center !important; overflow: hidden; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__i { width: 13px !important; height: 13px !important; color: #DF1A81; }
html body li.product .b2b-tiers .b2b-tiers__txt { display: flex; flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0 5px; flex: 1 1 auto; min-width: 0; }
html body li.product .b2b-tiers .b2b-tiers__cta { display: inline; color: #A3125A; font-size: 11px !important; font-weight: 800; line-height: 15px !important; white-space: nowrap; }
html body li.product .b2b-tiers .b2b-tiers__short { white-space: nowrap; color: #6D2348; }
html body li.product .b2b-tiers .b2b-tiers__chev { display: none !important; }
html body li.product .b2b-tiers .b2b-tiers__prog { display: inline; min-width: 0; }
html body li.product .b2b-tiers .b2b-tiers__prog[hidden] { display: none !important; }
html body li.product .b2b-tiers.is-prog .b2b-tiers__cta { display: none; }
html body li.product .b2b-tiers .b2b-tiers__pt { display: inline; color: #A3125A; font-size: 11px !important; font-weight: 700; line-height: 15px !important; }
html body li.product .b2b-tiers .b2b-tiers__bar { display: block; position: absolute; left: 9px; right: 9px; bottom: 2px; height: 2px; border-radius: 2px; background: #F3D3E3; overflow: hidden; font-style: normal; }
html body li.product .b2b-tiers .b2b-tiers__bar > i { display: block; position: absolute; top: 0; bottom: 0; right: 0; width: 0; border-radius: 2px; background: #DF1A81; transition: width .25s ease; }
html body li.product .b2b-tiers.is-top .b2b-tiers__pt { color: #1E5B3A; }
html body li.product .b2b-tiers.is-top .b2b-tiers__bar > i { background: #1E5B3A; }
html body li.product .b2b-tiers.is-top .b2b-tiers__bar { background: #E3EFE7; }
/* nothing inside the pill inherits the price block's «span { margin: 0 0 7px 3px }» (that made the list strip 58px tall) */
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b :is(span, i, b, bdi, svg) { margin: 0 !important; }
/* one line when it fits; otherwise the value wraps under the label (two tight 13px lines) */
@container (max-width: 180px) {
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b { gap: 4px !important; min-height: 22px !important; padding: 2px 7px 3px !important; border-radius: 10px !important; line-height: 12.5px !important; font-size: 11px !important; }
    html body li.product .b2b-tiers .b2b-tiers__txt { gap: 0 4px; }
    html body li.product .b2b-tiers .b2b-tiers__cta, html body li.product .b2b-tiers .b2b-tiers__pt { font-size: 10.5px !important; line-height: 12.5px !important; }
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__i { width: 11px !important; height: 11px !important; }
    html body li.product .b2b-tiers .b2b-tiers__pt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { html body li.product .b2b-tiers .b2b-tiers__bar > i { transition: none; } }

/* sold individually: the fact line, before the buyer meets the limit */
html body li.product .b2b-chain__r--single, html body li.product .b2b-chain__r--single b { color: #8A1450 !important; }
html body li.product .b2b-chain__r--single .b2b-chain__i { color: #DF1A81; }

/* the + at its maximum is not dead: it still answers (bubble), so no "not-allowed" cursor */
html body li.product .quantity.buttons_added.buttons_added > a.plus.disabled { pointer-events: auto !important; cursor: pointer !important; }
.b2b-maxtip {
    position: fixed; z-index: 100000; display: none; max-width: min(260px, calc(100vw - 16px)); padding: 8px 12px;
    border-radius: 10px; background: #1C1B1F; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.35;
    direction: rtl; text-align: right; box-shadow: 0 4px 14px rgba(0, 0, 0, .22); pointer-events: none;
    opacity: 0; transform: translateY(4px); transition: opacity .15s ease, transform .15s ease;
}
.b2b-maxtip::after {
    content: ""; position: absolute; top: 100%; left: calc(var(--ax, 50%) - 6px);
    border: 6px solid transparent; border-top-color: #1C1B1F;
}
.b2b-maxtip.is-below::after { top: auto; bottom: 100%; border-top-color: transparent; border-bottom-color: #1C1B1F; }
.b2b-maxtip.is-on { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .b2b-maxtip { transition: none; } }

/* product popup: the same tier progress under the total */
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tierprog { display: flex !important; flex-direction: column; gap: 3px; margin-top: 2px; color: #A3125A !important; font-size: 11.5px !important; font-style: normal !important; font-weight: 700; line-height: 15px; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tierprog > i { display: block; position: relative; width: 100%; max-width: 220px; height: 4px; border-radius: 4px; background: #F3D3E3; overflow: hidden; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tierprog > i > i { position: absolute; top: 0; bottom: 0; right: 0; border-radius: 4px; background: #DF1A81; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tierprog.is-top { color: #1E5B3A !important; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tierprog.is-top > i > i { background: #1E5B3A; }

/* phones: the + is 52px (was 44) with a bolder glyph; the stepper the same height and wider (48px - / + targets) */
@media (max-width: 767px) {
    html body li.product a.button.add_to_cart_button.btn-plus.btn-plus,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product a.button.add_to_cart_button.btn-plus.btn-plus,
    html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product a.button.add_to_cart_button.btn-plus.btn-plus {
        width: 52px !important;
        height: 52px !important;
        min-width: 52px !important;
    }
    html body ul.products:not(#b2bcc) > li.product.type-product a.button.add_to_cart_button.btn-plus.btn-plus::before {
        font-size: 34px !important;
        font-weight: 600 !important;
    }
    /* grid cards: the button row sits 8px from the bottom; the text column keeps 8px more room above it */
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-summary-wrap {
        padding-bottom: 70px !important;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product.type-product a.button.add_to_cart_button.btn-plus,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product.type-product .quantity.buttons_added.placeholder,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product.type-product .product-quantity,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product.type-product .astra-shop-summary-wrap > .product-quantity_new {
        left: 8px !important;
        bottom: 8px !important;
    }
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .no-more-units { bottom: 66px; }
    /* the stepper (grid + list): 52px tall, - and + 48px wide each, the number 40px in the middle = 136px */
    html body ul.products:not(#b2bcc) > li.product.type-product.type-product .quantity.buttons_added.buttons_added {
        width: 136px !important;
        min-width: 136px !important;
        max-width: 136px !important;
        height: 52px !important;
        border-radius: 26px !important;
    }
    html body ul.products:not(#b2bcc) > li.product.type-product.type-product .quantity.buttons_added.buttons_added > a:is(.minus, .plus).no-internal-border {
        flex: 0 0 48px !important;
        width: 48px !important;
        min-width: 48px !important;
        height: 52px !important;
        background-size: 16px 2.5px !important;
    }
    html body ul.products:not(#b2bcc) > li.product.type-product.type-product .quantity.buttons_added.buttons_added > a.plus.no-internal-border {
        background-size: 16px 2.5px, 2.5px 16px !important;
    }
    html body ul.products:not(#b2bcc) > li.product.type-product.type-product .quantity.buttons_added.buttons_added > input.qty {
        flex: 0 0 40px !important;
        width: 40px !important;
        min-width: 0 !important;
        height: 52px !important;
        line-height: 52px !important;
        font-size: 17px !important;
        font-weight: 700 !important;
    }
}

/* Doron's two-line strip everywhere (grid + list, phone + desktop): «לחץ להנחת כמות» / «עד ₪X ליח׳»; the full tier
   list stays in the popup / product page */
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__full { display: none !important; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__short { display: inline !important; white-space: nowrap; }

/* 2026-10-08 catcompact: «מפרט אריזות» (product page + popup): compact rows with thin icons + the upsell line under them */
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__spec { margin-top: 14px; padding: 10px 12px; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__spec .b2b-qv__ch { margin: 0 0 6px; font-size: 12.5px; font-weight: 700; letter-spacing: 0; color: #1A1A1A; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__srs { display: flex; flex-wrap: wrap; gap: 6px 18px; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__sr { display: flex; align-items: center; gap: 6px; font-size: 13.5px; line-height: 20px; color: #3A3A3A; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__sr svg { flex: none; width: 16px; height: 16px; color: #77727C; stroke-width: 1.6; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__sr b { font-weight: 700; color: #1A1A1A; }
/* ticker: the tiers still ahead, one line at a time (slow CSS loop; the first line repeats at the end for a seamless wrap) */
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 6px; width: 100% !important; margin-top: 8px !important; padding: 6px 10px !important; min-height: 32px !important; border-radius: 8px !important; background: #FDF0F6 !important; color: #A3125A !important; font-size: 12.5px !important; font-weight: 700 !important; cursor: pointer; direction: rtl;  box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important;}
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick:focus-visible { outline: 2px solid #DF1A81; outline-offset: 2px; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick > svg { flex: none; width: 14px; height: 14px; margin-inline-start: auto; color: #DF1A81; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tickw { position: relative; display: block; flex: 1 1 auto; min-width: 0; height: 18px; overflow: hidden; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tickw > span { display: flex; align-items: center; gap: 5px; height: 18px; line-height: 18px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tickw > span svg { flex: none; width: 12px; height: 12px; color: #DF1A81; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick[data-n="2"] .b2b-qv__tickw > span { animation: b2bTick2 8s ease-in-out infinite; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick[data-n="3"] .b2b-qv__tickw > span { animation: b2bTick3 12s ease-in-out infinite; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick[data-n="4"] .b2b-qv__tickw > span { animation: b2bTick4 16s ease-in-out infinite; }
@keyframes b2bTick2 { 0%, 42% { transform: translateY(0); } 50%, 92% { transform: translateY(-18px); } 100% { transform: translateY(-36px); } }
@keyframes b2bTick3 { 0%, 28% { transform: translateY(0); } 33%, 61% { transform: translateY(-18px); } 67%, 95% { transform: translateY(-36px); } 100% { transform: translateY(-54px); } }
@keyframes b2bTick4 { 0%, 21% { transform: translateY(0); } 25%, 46% { transform: translateY(-18px); } 50%, 71% { transform: translateY(-36px); } 75%, 96% { transform: translateY(-54px); } 100% { transform: translateY(-72px); } }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick:hover .b2b-qv__tickw > span, html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tick:focus-visible .b2b-qv__tickw > span { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__tickw > span { animation: none !important; } }
/* «הוסף קרטון שלם (M מארזים)»: sets the stepper; the buy bar blinks once */
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__carton { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 6px; margin-top: 8px !important; min-height: 36px !important; padding: 6px 12px !important; border: 1px solid #DF1A81 !important; border-radius: 18px !important; color: #A3125A !important; background: #fff !important; font-size: 13px !important; font-weight: 700 !important; cursor: pointer;  box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; width: auto !important;}
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__carton svg { width: 15px; height: 15px; color: #DF1A81; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__carton:hover { background: #FDF0F6 !important; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__carton:focus-visible { outline: 2px solid #DF1A81; outline-offset: 2px; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__stick.is-set { animation: b2bSet .9s ease; }
@keyframes b2bSet { 0% { box-shadow: 0 0 0 0 rgba(223, 26, 129, .45); } 100% { box-shadow: 0 0 0 10px rgba(223, 26, 129, 0); } }
@media (prefers-reduced-motion: reduce) { html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__stick.is-set { animation: none; } }
/* «next size» (catcompact): a bigger pack of the same unit, under the spec rows; tap = select that pack option */
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next { all: unset; box-sizing: border-box; display: flex; align-items: center; gap: 6px; width: 100%; margin-top: 8px !important; min-height: 40px !important; padding: 6px 12px !important; border: 1px solid #E89BC1 !important; border-radius: 12px !important; background: #FDF0F6 !important; color: #5A1238 !important; font-size: 13px !important; line-height: 1.35 !important; font-weight: 500 !important; cursor: pointer; -webkit-tap-highlight-color: transparent; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; text-align: start !important; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next > span { flex: 1 1 auto; min-width: 0; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next b { font-weight: 800; color: #A3125A; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next em { font-style: normal; font-weight: 700; color: #1E5B3A; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next svg { flex: none; width: 15px; height: 15px; color: #DF1A81; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next svg:last-child { width: 14px; height: 14px; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next:hover { border-color: #DF1A81 !important; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next:active { background: #F8D3E5 !important; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__next:focus-visible { outline: 2px solid #DF1A81; outline-offset: 2px; }
/* cc-pill2 (Doron 07:11): two-line pill everywhere, the stairs icon spans both lines (26px), and it reads as tappable:
   a ‹ chevron at the end, a stronger pink border + soft shadow, hover/press states. Pure CSS (chevron is ::after). */
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b { gap: 7px !important; min-height: 34px !important; padding: 3px 8px 3px 7px !important; border-radius: 10px !important; border: 1px solid #E89BC1 !important; box-shadow: 0 1px 3px rgba(163,18,90,.16); font-size: 11.5px !important; line-height: 13px !important; -webkit-tap-highlight-color: transparent; transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, border-color .12s ease; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b::after { content: ""; flex: none; width: 6px; height: 6px; margin: 0 2px 0 3px; border-left: 2px solid #DF1A81; border-bottom: 2px solid #DF1A81; transform: rotate(45deg); }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b:hover { border-color: #DF1A81 !important; background: #FBE2EE; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b:active { transform: scale(.97); background: #F8D3E5; box-shadow: none; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__i { flex: none; width: 26px !important; height: 26px !important; color: #DF1A81; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__txt { flex-direction: column; flex-wrap: nowrap; align-items: flex-start; gap: 1px; }
html body li.product .b2b-tiers.b2b-tiers :is(.b2b-tiers__cta, .b2b-tiers__pt) { font-size: 11.5px !important; line-height: 13px !important; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__short { font-size: 11.5px !important; line-height: 13px !important; font-weight: 600; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__pt { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
html body li.product .b2b-tiers.b2b-tiers.is-prog .b2b-tiers__short { display: none !important; }
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__bar { left: 7px; right: 8px; bottom: 1px; }
@container (max-width: 180px) {
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b { gap: 5px !important; min-height: 32px !important; padding: 3px 7px 3px 5px !important; font-size: 11px !important; line-height: 12.5px !important; }
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__i { width: 26px !important; height: 26px !important; }
    html body li.product .b2b-tiers.b2b-tiers :is(.b2b-tiers__cta, .b2b-tiers__pt, .b2b-tiers__short) { font-size: 11px !important; line-height: 12.5px !important; }
}
@media (prefers-reduced-motion: reduce) { html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b { transition: none; } html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b:active { transform: none; } }
/* cc-pricecolor: regular card prices dark (#1a1a1a, same as the PDP/popup); sale (ins), the deal hero ("2 ב־₪14") and tier prices stay pink; del keeps its grey */
html body li.product .price :is(.woocommerce-Price-amount,.woocommerce-Price-amount *):not(ins *):not(del *):not(.b2b-hero *):not(.b2b-tiers *){color:#1a1a1a}
/* cc-giftline: the gift icon sits on the first text line's centre (box = one line-height, glyph centred in it) */
html body ul.products li.product .b2b-giftline.b2b-giftline .b2b-tag-i { flex: none; width: 14px; height: 1.35em; margin: 0 !important; align-self: flex-start; color: #DF1A81; }
/* cc-n1 (2026-10-08, Doron): N+1 deals say the deal in words above the price («קונים 5 – השישי עלינו», solid gift icon,
   one bold pink line; green «קיבלת את השישי מתנה ✓» once a full cycle is in the cart) + the one-tap button
   «הוסף 5 – קבל 6» beside the + (adds N+M: the deals-manager takes the free unit off at N+M). Price stays regular. */
html body li.product .price .b2b-n1 { display: flex !important; align-items: center; gap: 4px; max-width: 100%; margin: 0 0 3px !important; padding: 0 !important; color: #DF1A81; font-size: 13.5px !important; line-height: 18px !important; font-weight: 700 !important; white-space: nowrap; letter-spacing: 0; }
html body li.product .price .b2b-n1 .b2b-n1__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; margin: 0 !important; color: inherit !important; font-size: inherit !important; line-height: inherit !important; font-weight: inherit !important; }
html body li.product .price .b2b-n1 .b2b-n1__i { flex: none; width: 16px; height: 16px; margin: 0 !important; color: currentColor; }
html body li.product .price .b2b-n1.is-done { color: #1E7B46; }
@container (max-width: 180px) {
    html body li.product .price .b2b-n1 { gap: 3px; font-size: 12.5px !important; line-height: 17px !important; letter-spacing: -.1px; }
    html body li.product .price .b2b-n1 .b2b-n1__i { width: 14px; height: 14px; }
}
/* cc-n1btn (2026-10-08, Doron «הכפתור צריך טיפה לעצב»): a solid deal button - pink gradient pill, white bold text,
   the solid gift icon, soft shadow, pressed + loading (spinner) states. One line «הוסף 5 · 🎁 קבל 6» where it fits;
   two tiers («הוסף 5» over «🎁 קבל 6», different sizes) on narrow slots. The flat round + stays the plain single add. */
html body ul.products li.product .b2b-n1add { all: unset; box-sizing: border-box; position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 0 6px; min-height: 44px; padding: 0 16px; border-radius: 999px; background: linear-gradient(135deg, #E3238A 0%, #CC1478 55%, #B30F68 100%); color: #fff; font-family: inherit; font-size: 14px; line-height: 17px; font-weight: 800; letter-spacing: .1px; white-space: nowrap; text-align: center; cursor: pointer; box-shadow: 0 2px 6px rgba(163,18,90,.28), inset 0 1px 0 rgba(255,255,255,.22); text-shadow: 0 1px 0 rgba(110,0,55,.2); -webkit-tap-highlight-color: transparent; transition: transform .12s ease, box-shadow .12s ease, filter .12s ease; z-index: 2; }
html body ul.products li.product .b2b-n1add > span { display: inline-flex; align-items: center; gap: 4px; margin: 0; font: inherit; color: inherit; }
html body ul.products li.product .b2b-n1add .b2b-n1add__d { opacity: .7; font-weight: 700; }
html body ul.products li.product .b2b-n1add .b2b-n1add__i { flex: none; width: 14px; height: 14px; margin: 0; color: #fff; }
html body ul.products li.product .b2b-n1add:hover { filter: brightness(1.06); box-shadow: 0 3px 10px rgba(163,18,90,.34), inset 0 1px 0 rgba(255,255,255,.22); }
html body ul.products li.product .b2b-n1add:active { transform: scale(.96); filter: brightness(.93); box-shadow: 0 1px 2px rgba(163,18,90,.3), inset 0 2px 4px rgba(0,0,0,.14); }
html body ul.products li.product .b2b-n1add:focus-visible { outline: 2px solid #DF1A81; outline-offset: 2px; }
html body ul.products li.product .b2b-n1add.is-busy { pointer-events: none; filter: brightness(.95); }
html body ul.products li.product .b2b-n1add.is-busy > span { visibility: hidden; }
html body ul.products li.product .b2b-n1add.is-busy::after { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid rgba(255,255,255,.4); border-top-color: #fff; animation: b2bN1spin .6s linear infinite; }
@keyframes b2bN1spin { to { transform: rotate(360deg); } }
html body ul.products li.product.b2b-in-cart .b2b-n1add:not(.is-busy) { display: none !important; }
/* grid: on the + row, from the card's right edge to the + (8px gap), the + height (52px) */
html body ul.products:not(.b2b-list) li.product .b2b-n1add { position: absolute; right: 8px; left: 68px; bottom: 8px; height: 52px; padding: 0 12px; }
html body ul.products:not(.b2b-list) li.product:not(.b2b-in-cart):has(.b2b-n1add) .b2b-limit { display: none !important; }
@media (max-width: 767px) {
    html body ul.products:not(.b2b-list) li.product .b2b-n1add { flex-direction: column; gap: 1px; padding: 0 8px; }
    html body ul.products:not(.b2b-list) li.product .b2b-n1add .b2b-n1add__a { font-size: 15.5px; line-height: 18px; }
    html body ul.products:not(.b2b-list) li.product .b2b-n1add .b2b-n1add__b { gap: 3px; font-size: 12px; line-height: 14px; font-weight: 700; }
    html body ul.products:not(.b2b-list) li.product .b2b-n1add .b2b-n1add__i { width: 12px; height: 12px; }
    html body ul.products:not(.b2b-list) li.product .b2b-n1add .b2b-n1add__d { display: none; }
}
@media (prefers-reduced-motion: reduce) { html body ul.products li.product .b2b-n1add { transition: none; } html body ul.products li.product .b2b-n1add.is-busy::after { animation-duration: 1.6s; } }
/* cc-n1 fix: never cut the deal line - narrow cards (phones < 375px, long ordinals) wrap it instead of «…»; the green
   «קיבלת את השישי מתנה ✓» takes 11.5px on the 147px phone card so it stays on one line there */
html body li.product .price .b2b-n1 .b2b-n1__t { overflow: visible; text-overflow: clip; white-space: normal; text-wrap: balance; }
html body li.product .price .b2b-n1 { white-space: normal; }
@container (max-width: 180px) {
    html body li.product .price .b2b-n1.is-done { font-size: 11.5px !important; letter-spacing: -.15px; }
}
/* cc-n1 popup / product page: the deal line is the card's bold pink line (green once a full cycle is in the cart) */
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__deal.is-n1 { color: #DF1A81 !important; font-size: 14px !important; line-height: 1.35 !important; font-weight: 700 !important; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__deal.is-n1 span { color: inherit !important; font-weight: inherit !important; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__deal.is-n1 svg { width: 16px; height: 16px; color: currentColor; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__deal.is-n1.is-done { color: #1E7B46 !important; background: #EAF6EF !important; }
/* cc-n1btn popup / product page: the deal option's title is the cards' solid deal button look (not a button itself: the row selects) */
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__opt .b2b-qv__n1chip { display: inline-flex !important; align-items: center; gap: 6px; align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: linear-gradient(135deg, #E3238A 0%, #CC1478 55%, #B30F68 100%); color: #fff !important; font-size: 14px !important; line-height: 17px !important; font-weight: 800 !important; white-space: nowrap; box-shadow: 0 2px 6px rgba(163,18,90,.24), inset 0 1px 0 rgba(255,255,255,.22); text-shadow: 0 1px 0 rgba(110,0,55,.2); }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__opt .b2b-qv__n1chip span { display: inline-flex; align-items: center; gap: 4px; color: inherit !important; font: inherit; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__opt .b2b-qv__n1chip i { font-style: normal; opacity: .7; }
html body :is(.b2b-qv, .b2b-qvi) .b2b-qv__opt .b2b-qv__n1chip svg { flex: none; width: 13px; height: 13px; color: #fff; }
/* cc-n1btn: tablet / desktop grid - the + is 44px there (12px from the corner): the button takes the same height and line */
@media (min-width: 768px) {
    html body ul.products:not(.b2b-list) li.product .b2b-n1add { left: 64px; right: 12px; bottom: 12px; height: 44px; min-height: 44px; }
}

/* ==========================================================================================================
   2026-10-08 saleprice (Doron, live 1024 list: "₪465 / ₪1070 קטנים מ-₪120 / ₪55 – נראה מוזר"):
   a sale / package price (<ins> + struck <del>) is the same size and weight as a regular price in every view.
   Cause: the list rules force ".price > ins .woocommerce-Price-amount" to 15px while the <ins> box itself and a
   regular ".price > .woocommerce-Price-amount" get the view size (19-20px). The amount now inherits from <ins>.
   The struck list price stays small, grey, under it.
   ========================================================================================================== */
html body ul.products.b2b-list.b2b-list > li.product.type-product.type-product .price.price > ins :is(.woocommerce-Price-amount, bdi),
html body #cat-products ul.products.b2b-list.b2b-list > li.product.type-product.type-product .price.price > ins :is(.woocommerce-Price-amount, bdi),
html body ul.products.b2b-archive-list.b2b-list.b2b-list > li.product.type-product.type-product .price.price > ins :is(.woocommerce-Price-amount, bdi) {
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}
html body ul.products > li.product.type-product.type-product .price.price > del,
html body ul.products > li.product.type-product.type-product .price.price > del :is(.woocommerce-Price-amount, bdi, .woocommerce-Price-currencySymbol) {
    color: #6B6B6B !important;
    font-weight: 400 !important;
}

/* ==========================================================================================================
   2026-10-08 card_badge (Doron: «להרים למעלה בצד ימין את ההנחה ולתעדף כדי שלא יהיה תאג על תאג»)
   Grid cards: the quantity-discount badge («עד 20% הנחה בכמות» / «−20%») leaves the bottom edge (it sat on the variant
   stickers) for the photo's top inline-start (right) corner. One stacking order, top to bottom on the right edge:
     1. the status / deal corner tag (WC6 ribbon, package-deal tag, owner YITH badge - the server keeps one),
        then its «חד־פעמי» note line;
     2. the quantity-discount badge, right under them (or in the corner itself when there is no tag);
   the «i» keeps the top-left corner and the variant stickers the bottom-right one, so nothing ever overlaps.
   Out of stock: the «אזל מהמלאי» tag is the only tag (a quantity discount cannot be bought).
   List rows keep the badge top-left (their «i» is not on the photo, the corner tag may wrap there).
   ========================================================================================================== */
html body ul.products:not(.b2b-list) > li.product .container-image-and-badge > .b2b-tierbadge {
    top: var(--b2b-tb-top, 6px); right: 6px; bottom: auto; left: auto; max-width: calc(100% - 50px);
}
html body ul.products:not(.b2b-list) > li.product:has(:is(.b2b-ribbon, .b2bpp-ribbon-card, .yith-wcbm-badge)) { --b2b-tb-top: 28px; }
html body ul.products:not(.b2b-list) > li.product:has(.b2b-tag-note) { --b2b-tb-top: 46px; }
@media (max-width: 767px) {
    html body ul.products:not(.b2b-list) > li.product .container-image-and-badge > .b2b-tierbadge { right: 5px; }
    html body ul.products:not(.b2b-list) > li.product:not(:has(:is(.b2b-ribbon, .b2bpp-ribbon-card, .yith-wcbm-badge, .b2b-tag-note))) { --b2b-tb-top: 5px; }
    html body ul.products:not(.b2b-list) > li.product:has(:is(.b2b-ribbon, .b2bpp-ribbon-card, .yith-wcbm-badge)) { --b2b-tb-top: 26px; }
    html body ul.products:not(.b2b-list) > li.product:has(.b2b-tag-note) { --b2b-tb-top: 40px; }
}
html body ul.products > li.product:is(.outofstock, :has(.b2b-badge--oos)) .container-image-and-badge > .b2b-tierbadge { display: none !important; }
/* the stickers have the bottom edge to themselves again: full size, the badge keeps its «בכמות» word */
html body ul.products:not(.b2b-list) > li.product .container-image-and-badge:has(> .b2b-stickers--img > :nth-child(2)) .b2b-tierbadge__w { display: inline; }

/* 2026-10-08 oos_img (Doron: «כהה/מעומעם אבל לא חסר צבע»): an out-of-stock photo is muted, not colourless */
html body ul.products > li.product.type-product.outofstock .astra-shop-thumbnail-wrap img,
html body ul.products.b2b-list.b2b-list > li.product.type-product.outofstock .astra-shop-thumbnail-wrap img {
    filter: grayscale(.3) saturate(.7);
    opacity: .8;
}

/* 2026-10-08 list_badge_right (Doron: «הטאג פה צריך ללכת ימינה»): list rows now match the grid cards - the quantity-discount
   badge («−20%») sits in the photo's top-right corner, under the WC6 corner tag («רב מכר» / «חזר למלאי», also top-right)
   when there is one; the stickers keep the bottom edge, the «i» is not on the photo in list rows. */
html body ul.products.b2b-list > li.product .container-image-and-badge > .b2b-tierbadge,
html body ul.products.b2b-list > li.product .container-image-and-badge:has(> .b2b-ribbon) > .b2b-tierbadge {
    top: var(--b2b-tbl-top, 4px); right: 4px; bottom: auto; left: auto; max-width: calc(100% - 8px);
}
html body ul.products.b2b-list > li.product:has(:is(.b2b-ribbon, .b2bpp-ribbon-card, .yith-wcbm-badge)) { --b2b-tbl-top: 28px; }
html body ul.products.b2b-list > li.product:has(.b2b-tag-note) { --b2b-tbl-top: 46px; }
@media (max-width: 767px) {
    html body ul.products.b2b-list > li.product:has(:is(.b2b-ribbon, .b2bpp-ribbon-card, .yith-wcbm-badge)) { --b2b-tbl-top: 26px; }
    html body ul.products.b2b-list > li.product:has(.b2b-tag-note) { --b2b-tbl-top: 40px; }
}

/* 2026-10-11 (Doron «ליישר טקסט»): quantity-discount pill text on narrow cards — two clean lines,
   «הנחה כמותית» / «עד ₪X ליח׳» never wrap; icon + chevron shrink in narrow pills so the text fits. */
html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__txt { flex: 1 1 auto; min-width: 0; overflow: hidden; align-items: flex-start; }
html body li.product .b2b-tiers.b2b-tiers :is(.b2b-tiers__cta, .b2b-tiers__short) { display: block !important; max-width: 100%; white-space: nowrap !important; overflow: hidden; text-overflow: ellipsis; text-align: right; }
@container (max-width: 175px) {
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b { gap: 4px !important; padding: 3px 6px 3px 5px !important; }
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__i { width: 18px !important; height: 18px !important; }
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b::after { margin: 0 1px 0 0; width: 5px; height: 5px; }
    html body li.product .b2b-tiers.b2b-tiers :is(.b2b-tiers__cta, .b2b-tiers__pt, .b2b-tiers__short) { font-size: 11px !important; }
}
@container (max-width: 130px) {
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__b { gap: 3px !important; padding: 3px 4px !important; }
    html body li.product .b2b-tiers.b2b-tiers .b2b-tiers__i { width: 14px !important; height: 14px !important; }
    html body li.product .b2b-tiers.b2b-tiers :is(.b2b-tiers__cta, .b2b-tiers__pt, .b2b-tiers__short) { font-size: 10.5px !important; }
}
