/*
Theme Name: B2B Astra Child
Template: astra
Description: B2B Market storefront customisations on top of the stock Astra parent (T13.16). Built from the former in-place Astra edits by tools/staging/astra-child-build.py.
Author: B2B Market
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: b2b-astra-child
*/
.still-loading {
    display: none !important;
}

.elementor-products-grid ul.products.elementor-grid li.product.ast-article-post {
    justify-content: flex-start;
}

.pleaselogin a {
    color: #fff;
    background: #000;
    padding: 6px 10px 6px 10px;
    line-height: 1 !important;
    border-radius: 50px;
    font-weight: 400;
    display: block;
}

@media all and (min-width: 770px) and (max-width:1300px) {
    .pleaselogin a {
        font-size: 16px;
    }
}

body.cart-is-open {
    overflow: hidden;
}

.product-popup .woocommerce-loop-product__buttons,
.astra-shop-summary-wrap .woocommerce-loop-product__buttons,
.single-product .in-stock-item-loop {
    display: none;
}

a:focus {
    outline: unset !important;
}

.pleaselogin a::before {
    background-image: url('images/account2.png');
    background-size: 23px 23px;
    background-repeat: no-repeat;
    display: inline-block;
    width: 23px;
    height: 23px;
    content: "";
    position: relative;
    top: 0px;
    left: 3px;
    vertical-align: middle;
}

.in-stock-item-loop {
    margin-bottom: 10px;
}

.in-stock-item-loop.yes {
    color: #4DB773;
    text-align: right;
    font-size: 16px;
    margin-right: -7px;
    width: auto;
}

.in-stock-item-loop.no {
    color: #D90202;
    text-align: right;
    font-size: 16px;
    margin-right: -7px;
    width: auto;
}

.user-login-head {
    visibility: hidden;
}

/** Product Loop **/
ul li.product.ast-grid-common-col {
    border: solid 3px !important;
    border-color: rgb(235 235 235) !important;
    padding: 0 !important;
    border-radius: 30px !important;
}

ul li.product.ast-grid-common-col h2.woocommerce-loop-product__title {
    color: #1C1B1F !important;
    text-align: right;
    font-family: 'Noto Sans Hebrew' !important;
    font-size: 18px !important;
    overflow-wrap: break-word;
    word-break: break-word;
    hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    max-height: 3em;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    /* overflow: hidden; */
}

ul li.product.ast-grid-common-col span.ast-woo-product-category {
    display: none !important;
}

.elementor-3684 .elementor-wc-products ul.products li.product .price {
    margin-top: 20px !important;
}

ul li.product.ast-grid-common-col .price {
    font-size: 20px !important;
    font-family: 'Noto Sans Hebrew' !important;
    text-align: right;
    padding: 10px 0 !important;
    float: right;
    margin-top: 18px !important;
}

.elementor-3684 ul.products li.product .price {
    color: #DF1A81;
    font-family: "Open Sans Hebrew", Sans-serif;
    font-weight: 600;
}

.quantity-pricing-table {
    background-color: #f5f5f5;
    display: flex;
    flex-direction: column;
    gap: 0;
    height: auto;
    margin: 9px 0 60px;
    direction: rtl;
    border-radius: 20px;
}

.quantity-pricing-wrapper {
    min-width: 220px;
    max-width: 400px;
    width: 25vw;
}

.tier-heading {
    text-align: right;
    color: #e01a80;
    margin: 4px 0;
    letter-spacing: 0px;
    font-size: 12px;
    font-weight: 600;
}

.pricing-tier {
    font-weight: 400;
    margin: 0 15px;
    padding: 5px 10px;
    border-bottom: 1px solid #c3bfbf;
}

.tier-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 30px;
}

.woocommerce-js ul.products li.product .price,
.woocommerce-page ul.products li.product .pricing-tier .tier-content .price {
    margin: 0 !important;
    padding: 0 !important;
}

.pricing-tier .price-per-unit {
    gap: 5px;
    display: flex;
    font-size: 12px !important;
    color: #1C1B1F;
    text-align: left;
    justify-content: flex-end;
    align-items: center;
}

.price-per-unit .woocommerce-Price-amount.amount {
    margin-top: -5px !important;
}

.price-per-unit span.woocommerce-Price-currencySymbol,
.price-per-unit bdi {
    font-size: 14px !important;
}

p.tier-title span.woocommerce-Price-currencySymbol,
p.tier-title bdi {
    float: unset !important;
    font-size: 16px !important;
}

p.tier-title bdi {
    font-weight: 700;
    color: #ff2d00;
}

.quantity-pricing-wrapper .pricing-tier .tier-content span.price {
    font-size: 14px !important;
    font-weight: 400;
    color: #e01a80;
}

.ast-grid-common-col span.price {
    min-width: 100%;
}

.quantity-pricing-wrapper .pricing-tier .tier-content .quantity {
    font-size: 14px;
    font-weight: 400;
    color: #1C1B1F;
}

.pricing-tier:last-child {
    border: none;
}

.price .quantity-pricing-wrapper {
    display: none;
}

.product-popup .woocommerce-Price-amount span {
    float: unset;
}


#elementor-popup-modal-3732 .quantity-pricing-wrapper {
    display: block !important;
}

.tier-desc {
    color: #6124E1;
    font-size: 14px;
    font-weight: 400;
}


.pricing-tier-header {
    display: flex;
    border-top: 1px solid #afaeb1;
    border-bottom: 1px solid #afaeb1;
    padding: 0px 0 5px;
    justify-content: center;
    gap: 4px;
    margin-bottom: 6px;
    align-content: center;
    align-items: center;
    margin-bottom: 16px;
}

p.tier-title {
    color: #1C1B1F;
    font-family: "Noto Sans Hebrew", Sans-serif;
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.3px;
    text-align: center;
    margin-bottom: 0;
}

p.tier-desc {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
}

svg.package-icon {
    height: 15px;
    width: 15px;
    color: #666;
}

.tier-desc svg.package-icon:first-child {
    margin-left: 4px;
}

.tier-desc svg.package-icon:last-child {
    margin-right: 4px;
}

.pricing-tier-loop svg.package-icon {
    height: 14px;
    width: 14px;
    fill: #6124E1;
}

@media screen and (max-width:768px) {
    svg.package-icon {
        height: 16px;
        width: 16px;
    }

    p.tier-desc {
        font-size: 9px;
        margin-bottom: 2px;
    }

    .pricing-tier-loop svg.package-icon {
        height: 9px;
        width: 9px;
    }

    .tier-title {
        font-size: 12px;
    }

    .price-per-unit span.woocommerce-Price-currencySymbol,
    .price-per-unit bdi {
        font-size: 10px !important;
    }

    p.tier-title span.woocommerce-Price-currencySymbol,
    p.tier-title bdi {
        font-size: 10px !important;
    }

    #elementor-popup-modal-3732 .quantity-pricing-table {
        padding: 0 15px;
        margin: 0 0 40px;
        display: block !important;
    }

    .quantity-pricing-wrapper {
        width: auto;
        margin: 0;
    }

    .tier-content {
        display: flex;
        height: 20px;
        flex-direction: row;
        justify-content: space-between;
    }

    .pricing-tier {
        margin: 0;
        padding: 10px 3px;
    }

    .quantity-pricing-wrapper .pricing-tier .tier-content .quantity {
        font-size: 14px;
        letter-spacing: -0.5px;
    }

    .quantity-pricing-wrapper .pricing-tier .tier-content span.price {
        font-size: 14px !important;
    }

    .pricing-tier .price-per-unit {
        line-height: 1.5;
        font-size: 12px !important;
        display: flex;
        justify-content: flex-end;
    }

    ul li.product.ast-grid-common-col .pricing-tier .price {
        width: unset;
    }
}





.quantity.buttons_added {
    background: #DF1A81 !important;
    color: #fff !important;
    font-family: "Noto Sans Hebrew" !important;
    font-size: 18px !important;
    padding: 2px 0;
    border: 0 !important;
    border-radius: 25px;
}

.quantity.buttons_added input {
    padding: 0 !important;
    width: 100%;
    background: #DF1A81 !important;
    color: #fff !important;
    font-family: "Noto Sans Hebrew" !important;
    font-size: 18px !important;
}

.quantity.buttons_added a {
    color: #fff !important;
    font-family: "Noto Sans Hebrew" !important;
    font-size: 25px !important;
    border: 0 !important;
}

.buttons_added input.qty::selection {
    background: #e2e8f0;
    color: #2d3748;
}

a.button.add_to_cart_button.btn-plus {
    font-family: 'Open Sans' !important;
    font-weight: 400 !important;
    font-size: 40px !important;
    line-height: 35px !important;
    padding: 5px 0 0 0px !important;
    text-align: center !important;
    margin: 0 !important;
    position: absolute;
    left: 17px;
    bottom: 15px;
    width: 45px;
    height: 45px;
    -moz-border-radius: 70px;
    -webkit-border-radius: 45px;
    border-radius: 35px !important;
    z-index: 9;
}

.more-info {
    left: 12px;
    position: absolute;
    margin-right: 10px;
    display: flex;
    flex-direction: row-reverse;
    background: none;
    border: none;
    padding: 0;
    width: 100%;
    cursor: unset;
    bottom: 66px;
}

button.more-info:focus,
button.more-info:hover {
    background: unset;
}

.more-info span {
    background-image: url(https://b2bmarket.co.il/wp-content/uploads/2025/03/more-info.png);
    width: 56px;
    height: 56px;
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
}

img.loader {
    position: relative;
    left: -55px;
    top: -10px;
}

a.button.add_to_cart_button.btn-plus.disabled {
    background: #d2d2d2 !important;
    opacity: 1;
    pointer-events: none;
}

.quantity.buttons_added a.plus.disabled {
    font-size: 18px !important;
    opacity: 0.7;
    pointer-events: none;
}

.quantity.buttons_added a.plus.disabled:before {
    content: 'x';
}

.no-more-units {
    display: none;
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 25px;
    top: auto;
    float: none;
    margin: 0;
    width: auto;
    text-align: center;
    line-height: 1.25;
    letter-spacing: -0.2px;
    font-size: 12px;
    z-index: 8;
    pointer-events: none;
}

.product-popup a.button.add_to_cart_button.btn-plus {
    width: 52px !important;
    height: 52px !important;
    bottom: -12px;
    font-size: 48px !important;
    line-height: 44px !important;
}

.product-popup a.button.add_to_cart_button.btn-plus:hover {
    border-color: #df1a81 !important;
    background-color: #df1a81 !important;
}

.product-popup span.max_per_cart {
    font-size: 13px;
    clear: both;
    position: relative;
    top: 22px;
}

@media all and (max-width: 768px) {

    .elementor-element.product-popup {
        max-height: 94vh;
        max-height: 94dvh;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        --padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
        padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
        scroll-padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    }

    .product-popup .swiper-pagination {
        bottom: 0 !important;
    }

    .swiper-container {
        margin-bottom: 30px;
    }

    .product-popup .swiper-slide img {
        padding: 0 !important;
    }

    .product-popup .swiper-slide {
        border: 0 !important;
    }

    .product-popup .swiper-container {
        min-height: auto;
    }

    .product-popup .product-img {
        margin-top: 55px;
    }

    .product-popup .product-img img {
        max-height: 180px;
    }

    .product-popup .product-title {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin-bottom: -5px !important;
        margin-top: 10px;
        font-size: 16px !important;
        letter-spacing: 0;
    }

    .product-popup a.button.add_to_cart_button.btn-plus {
        bottom: 8px;
        line-height: 51px !important;
    }

    .astra-shop-thumbnail-wrap {
        /* width: 40%; */
        /* float: right; */
        /* padding: 10px; */
        top: 0;
        /* max-height: 160px; */
        /* margin-bottom: 0 !important; */
        /* position: relative; */
    }

    .astra-shop-summary-wrap {
        width: 100%;
        float: left;
        padding: 0 8px !important;
        margin-bottom: 55px !important;
    }

    .elementor-element .elementor-wc-products .woocommerce[class*="columns-"] ul.products li.product {
        display: block;
        border-radius: 15px !important;
        border-width: 1px !important;
        box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.06);
    }

    ul li.product.ast-grid-common-col h2.woocommerce-loop-product__title {
        font-size: 12px !important;
        letter-spacing: 0;
    }

    ul li.product.ast-grid-common-col .price {
        font-size: 14px !important;
        font-weight: 600 !important;
        width: 100%;
        display: block !important;
    }

    .product-quantity.init {
        /* width: 30% !important; */
    }

    .product-quantity.init,
    .quantity.buttons_added {
        max-width: 130px;
    }

    .quantity.buttons_added a {
        font-size: 28px !important;
        line-height: 0;
    }

    .quantity.buttons_added,
    .quantity.buttons_added input {
        font-size: 18px !important;
    }

    .woocommerce-js .quantity .qty {
        /* height: 20px !important; */
        margin: 0 !important;
        padding: 0 !important;
        max-width: 40px !important;
    }

    .in-stock-item-loop.yes,
    .in-stock-item-loop.no {
        font-size: 13px;
        display: none;
    }

    .in-stock-item-loop.no {
        margin-right: -3px;
    }

    ul li.product.ast-grid-common-col {
        padding: 0 !important;
        display: block;
        border-radius: 15px !important;
        border-width: 1px !important;
        margin-bottom: 0 !important;
        box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.06);
    }

    a.button.add_to_cart_button.btn-plus {
        width: 38px !important;
        font-size: 35px !important;
        height: 38px;
        padding: 0 !important;
        line-height: 1em !important;
        left: 12px;
        bottom: 12px;
        float: left;
        position: absolute;
    }

    .more-info {
        position: absolute;
        bottom: 8px;
        right: -1px;
        flex-direction: row;
    }

    .woocommerce-js .quantity .minus,
    .woocommerce-js .quantity .plus {
        width: 33px !important;
    }

    .woocommerce-js .quantity .qty {
        width: 1.5em !important;
    }

    .more-info span {
        width: 40px;
        height: 42px;
    }

    a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
        margin: 0;
        position: absolute;
        /* top: 50%; */
        -ms-transform: translateY(-50%);
        /* transform: translateY(-50%); */
        padding: 25px 10px 0 10px;
    }

    img.loader {
        position: relative;
        left: -22px;
        top: -10px;
    }

    .elementor-shortcode ul.products.columns-4 {
        grid-template-columns: 1fr 1fr !important;
        grid-column-gap: 15px !important;
        grid-row-gap: 15px !important;
    }

    .elementor-shortcode li.ast-grid-common-col {
        display: block !important;
        margin-bottom: 20px !important;
    }

    .elementor-shortcode a.woocommerce-LoopProduct-link.woocommerce-loop-product__link {
        height: 100%;
    }

    .product-popup .product-short-description {
        display: -webkit-box;
        /* Enables flexbox layout for truncation */
        -webkit-line-clamp: 4;
        /* Limits text to 3 lines */
        -webkit-box-orient: vertical;
        /* Ensures vertical text flow */
        overflow: hidden;
        /* Hides overflowing content */
        text-overflow: ellipsis;
        /* Adds "..." to indicate truncation */
        font-size: 14px !important;
        line-height: 1.4;
    }

    .product-popup .product-attributes {
        line-height: 1.5;
        display: -webkit-box;
        /* Enables flexbox layout for truncation */
        -webkit-line-clamp: 3;
        /* Limits text to 3 lines */
        -webkit-box-orient: vertical;
        /* Ensures vertical text flow */
        overflow: hidden;
        /* Hides overflowing content */
        text-overflow: ellipsis;
        /* Adds "..." to indicate truncation */
    }

    .product-popup .regular-price {
        font-size: 20px;
    }

    .mini-cart-savings span.woocommerce-Price-amount.amount bdi {
        position: absolute;
        bottom: -30px;
    }

    .mini-cart-savings span.woocommerce-Price-amount.amount {
        position: absolute;
        right: -5px;
    }

    .mini-cart-savings {
        margin-bottom: 10px !important;
    }
}

/** CART **/
.elementor-menu-cart__wrapper .elementor-menu-cart__main {
    background: #fcfaf4;
    width: 495px;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__product.woocommerce-cart-form__cart-item.cart_item {
    padding: 12px 15px;
    background: #fff;
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.06);
    /* background-color: var(--e-global-color-astglobalcolor5); */
    border-color: #E2E8F0;
    border-radius: 20px !important;
    margin: 20px 0;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__product-remove.product-remove {
    right: 11px;
    bottom: 10px;
    border: none;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__product-remove.product-remove:after {
    content: "";
    width: 32px;
    height: 30px;
    background: url("images/delete.png") no-repeat;
    top: 0px;
    right: -10px;
    position: absolute;
    display: inline-block;
    transform: none;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__product-image.product-thumbnail {
    width: 95% !important;
    margin-right: 18px !important;
}

.elementor-menu-cart__wrapper .ast-product-name a {
    color: #1c1b1f;
    font-family: 'Noto Sans Hebrew' !important;
    font-size: 14px !important;
}

.elementor-menu-cart__wrapper .ast-mini-cart-price-wrap {
    color: #df1a81;
    font-size: 16px;
    font-family: 'Noto Sans Hebrew' !important;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__product-name.product-name {
    padding-right: 30px !important;
}

.elementor-menu-cart__wrapper .quantity .qty {
    height: 22px !important;
    font-size: 18px !important;
    line-height: 20px !important;
}

.elementor-menu-cart__wrapper .quantity.buttons_added a {
    font-size: 24px !important;
}

.elementor-menu-cart__wrapper .woocommerce-js .quantity .qty {
    min-height: 30px !important;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__product-price.product-price {
    padding-right: 30px;
}

.elementor-menu-cart__wrapper .ast-product-name {
    line-height: 1.4;
}

.elementor-menu-cart__wrapper a.elementor-button.elementor-button--view-cart {
    display: none;
}

.elementor-menu-cart__wrapper .elementor-menu-cart__footer-buttons {
    display: block;
    padding-top: 0;
}

.elementor-menu-cart__wrapper a.elementor-button.elementor-button--checkout {
    /* width: 50%; */
}

.elementor-menu-cart__wrapper a.elementor-button.elementor-button--checkout {
    width: 85%;
    margin: 15px 0px;
    font-size: 20px;
    background: #000;
    border-radius: 50px;
}

@media all and (max-width: 768px) {
    .elementor-menu-cart__wrapper .elementor-menu-cart__main {
        width: 100%;
    }
}

/** CHECKOUT **/
.woocommerce-checkout .ast-container,
.woocommerce-checkout .elementor-container.elementor-column-gap-default {
    max-width: 1580px;
}

.woocommerce-checkout article {
    background: #fcfaf4 !important;
}

h1.entry-title {
    font-family: 'Noto Sans Hebrew';
    font-size: 35px;
}

.woocommerce-checkout .woocommerce-billing-fields h3 {
    color: #df1a81;
    font-family: 'Noto Sans Hebrew';
    font-size: 20px !important;
}

.woocommerce-checkout .woocommerce-input-wrapper input {
    color: #000;
    font-family: 'Noto Sans Hebrew';
    font-size: 16px;
    border-radius: 50px !important;
}

.woocommerce-checkout textarea#billing_notes {
    border-radius: 20px;
    font-family: 'Noto Sans Hebrew' !important;
    font-size: 16px;
}

.woocommerce-checkout div#order_review {
    background: #fff !important;
    border: solid 1px var(--ast-border-color) !important;
    border-radius: 19px;
    padding: 5px 20px !important;
}

.woocommerce-checkout h3#order_review_heading {
    border: 0 !important;
    padding-right: 0 !important;
    color: #df1a81;
    font-family: 'Noto Sans Hebrew';
    font-size: 20px !important;
}

.woocommerce-checkout .ast-product-name {
    font-size: 14px;
    color: #1c1b1f;
    font-family: 'Noto Sans Hebrew' !important;
}

.woocommerce-checkout strong.product-quantity {
    font-size: 15px;
    text-align: left;
    /* direction: ltr; */
}

.woocommerce-checkout span.woocommerce-Price-amount.amount {
    font-size: 16px;
    /* font-family: 'Noto Sans Hebrew' !important; */
}

.woocommerce-checkout button#place_order {
    border-radius: 50px;
}

.woocommerce-checkout tr.cart-subtotal {
    display: none;
}

.woocommerce-checkout tr.order-total * {
    color: #df1a81;
    font-weight: bold !important;
}

.woocommerce-checkout th.product-name,
th.product-total {
    color: #1c1b1f;
    font-size: 16px;
}

.woocommerce-checkout label[for="payment_method_yaadpay"] {
    font-size: 14px;
    color: #6d6d6d;
}

.woocommerce-checkout label[for="payment_method_yaadpay"] img {
    width: 105px;
    float: left;
    top: 10px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text {
    display: none;
}

.woocommerce-checkout label[for="payment_method_cheque"] {
    font-size: 14px;
    color: #6d6d6d;
}

.woocommerce-checkout .payment_box {
    font-size: 14px !important;
}

#billing_country_field {
    display: none;
}

.quantity.buttons_added.placeholder {
    display: none;
}

.widget_shopping_cart_content .elementor-menu-cart__subtotal {
    display: none;
}

.amount-left {
    background: #000;
    color: #fff;
    font-size: 16px;
    padding: 4px 0;
    display: none;
}

.elementor-menu-cart__footer-buttons {
    background: #df1a81;
    margin-top: 0 !important;
    padding-top: 0;
}

.less-min span {
    color: #DF1A81;
}

.less-min {
    background: #FBD0E6 !important;
    pointer-events: none;
}

.elementor-menu-cart__products {
    overflow-y: scroll !important;
}

ul.products li.ast-grid-common-col {
    background: #fff;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap,
.woocommerce-page ul.products li.product .astra-shop-summary-wrap {
    padding: 0;
}

.elementor.elementor-4196 input {
    direction: rtl;
}

.ast-scroll-to-top-right {
    left: 6px;
    bottom: 55px;
}

main#main {
    padding: 15px;
}

#cat-list h2.woocommerce-loop-category__title {
    width: max-content;
}

#cat-list h2.woocommerce-loop-category__title {
    padding: 7px 10px !important;
}

.woocommerce-breadcrumb a {
    text-decoration: underline;
}

.woocommerce-breadcrumb img {
    padding: 0px 7px;
}

.product-logo {
    /* width: 100%; */
    /* max-width: 120px; */
    margin-bottom: 3px;
    text-align: right;
}

.elementor-location-popup .product-logo {
    height: 100%;
}

.product-logo img {
    width: 100% !important;
    object-fit: contain;
    max-height: 100%;

}

.cat-bubbles {
    z-index: 98;
}

.mobile-menu li.menu-item {
    border-bottom: solid 1px !important;
    border-color: #D8D8D8 !important;
}

.mobile-menu li.menu-item ul li {
    border: none !important;
}

.mobile-menu li.menu-item ul li:last-child {
    padding-bottom: 20px;
}

.mobile-menu li.menu-item ul li a {
    color: #1C1B1F !important;
    padding: 15px 25px !important;
}

/*li.mi-cel> a:before {    content: url(/wp-content/uploads/2024/04/03.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-elec> a:before {    content: url(/wp-content/uploads/2024/04/05.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-office> a:before {    content: url(/wp-content/uploads/2024/04/06.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-kids> a:before {    content: url(/wp-content/uploads/2024/04/06.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-snacks> a:before {    content: url(/wp-content/uploads/2023/02/cookie.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-kids> a:before {    content: url(/wp-content/uploads/2024/04/family_link.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-home> a:before {    content: url(/wp-content/uploads/2024/04/05.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-pharm> a:before {    content: url(/wp-content/uploads/2024/04/dentistry.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}li.mi-smoke> a:before {    content: url(/wp-content/uploads/2024/04/01.svg);    right: 0;    width:24px;    height:24px;    opacity: 1 !important;}*/
nav>ul>li>a.has-submenu:after {
    content: url(/wp-content/uploads/2024/04/add.svg);
    left: 0;
    width: 24px;
    height: 24px;
    opacity: 1 !important;
}

nav>ul>li>a.highlighted:after {
    content: url(/wp-content/uploads/2024/04/remove.svg);
    left: 0;
    width: 24px;
    height: 24px;
    opacity: 1 !important;
}


.ast-shop-toolbar-container {
    margin-bottom: 0 !important;
}

.rtl .woocommerce-pagination .page-numbers li:last-child .next {
    transform: none;
}

.rtl .woocommerce-pagination .page-numbers li:first-child .prev {
    transform: none;
}

span.per_unit {
    color: #000;
    font-size: 14px;
    position: absolute;
}

.box-p-container {
    position: absolute;
    left: 4px;
    bottom: 77px;
    font-size: 11px;
    line-height: 1.6;
    letter-spacing: 0;
}

.box-p {
    background: #E7E7E7;
    width: 31px;
    margin-left: 2px;
    height: 24px;
    line-height: 2;
    border-radius: 2px;
    font-size: 13px;
    font-weight: 500 !important;
    margin-bottom: -2px;
    color: #231F20;
    text-align: center;
}

.box-p-container.right {
    left: 58px;
}

.password-toggle-icon,
.password-toggle-icon2 {
    position: absolute;
    left: 25px;
    cursor: pointer;
}

.elementor-field-group-company,
.elementor-field-group-user_agent,
.elementor-field-group-referral_source,
.elementor-field-group-the_address,
.elementor-field-group-house_number,
.elementor-field-group-the_city,
.elementor-field-group-business_type,
.elementor-field-group-relevant,
.elementor-field-group-future,
.elementor-field-group-remote {
    display: none;
}

.theplus-cont {
    position: absolute;
    cursor: pointer;
}

.company-msg {
    margin-bottom: 15px !important;
}

.company-msg p {
    margin-bottom: 0 !important;
}

.elementor-menu-cart__product-image,
.elementor-menu-cart__product-name.product-name {
    pointer-events: none;
}

.container-image-and-badge {
    /* height: 100%; */
}

.elementor-products-grid ul.products.elementor-grid li.product a.woocommerce-loop-product__link {
    height: 100%;
}

/*.astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {    top: 50%;    position: relative;    transform: translateY(-50%);}*/
.yith-wcbm-badge {
    margin-bottom: 10px !important;
    margin-right: 10px !important;
    width: 45px !important;
    height: 45px !important;
}

.yith-wcbm-badge span {
    font-size: 12px !important;
    line-height: 1em;
    font-weight: 400 !important;
    font-family: 'Noto Sans Hebrew' !important;
}

.yith-wcbm-badge-7052,
.yith-wcbm-badge-5150,
.yith-wcbm-badge-7030,
.yith-wcbm-badge-7031 {
    margin-right: 60px !important;
}

.yith-wcbm-badge-5142 span,
.yith-wcbm-badge-8812 span {
    font-size: 12px !important;
}

.yith-wcbm-badge.yith-wcbm-badge-css.yith-wcbm-badge-5142 {
    top: -1px;
    right: -13px;
    border-radius: 0 25px;
    width: 104px !important;
    height: 25px !important;
    transform: none !important;
}

.yith-wcbm-badge.yith-wcbm-badge-css.yith-wcbm-badge-8812 {
    top: -1px;
    right: -10px;
    border-radius: 0 20px;
    width: 56px !important;
    height: 25px !important;
    transform: none !important;
}

.yith-wcbm-badge.yith-wcbm-badge-css.yith-wcbm-badge-13127 {
    top: -1px;
    right: -10px;
    border-radius: 0 14px;
    width: 93px !important;
    height: 35px !important;
    transform: none !important;
}

body:not(.logged-out) label[for="billing_vatnumber"] {
    opacity: 0;
}

body:not(.logged-out) input#billing_vatnumber {
    display: none;
}

input#billing_phone {
    text-align: right;
}

.loading-spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(0, 0, 0, 0.1);
    border-left-color: #fff;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    vertical-align: middle;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.empty_cart {
    position: absolute;
    text-decoration: underline;
    cursor: pointer;
}

.inc_vat {
    color: #6B6B6B; /* was #8D949A: 2.9:1 on the page colour, now 5.2:1 */;
    font-size: 14px;
    font-weight: 400;
    direction: rtl;
    float: left;
    margin-right: 4px;
    letter-spacing: 0;
    margin-top: 6px;
    display: contents;
}

.short_description {
    color: #6B6B6B; /* was #8D949A: 2.9:1 on the page colour, now 5.2:1 */;
    font-size: 14px;
    font-weight: 400;
    text-align: right;
    min-height: 30px;
    margin-top: -4px;
    margin-bottom: 10px;
}

.product-description br+br {
    display: none;
}

.box-p-container {
    display: none;
}

/* Increase the size of the checkbox itself */
.woocommerce-form__input-checkbox {
    width: 24px;
    height: 24px;
    cursor: pointer;
}

/* Make the entire label clickable */
.woocommerce-form__label-for-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
}

/* Increase padding for better touch targets */
.woocommerce-form__label-for-checkbox input[type="checkbox"] {
    margin-right: 10px;
    /* Adjust the spacing between the checkbox and the text */
}

.woocommerce-form__label-for-checkbox span {
    font-size: 16px;
    /* Make the text larger for readability */
    cursor: pointer;
}

.product-popup .regular-price,
.product-popup .sale-price {
    color: #DF1A81;
}

.product-popup del.regular-price {
    color: #1C1B1F;
    font-size: 12px;
}


span.quantity {
    display: flex;
    align-items: center;
}

.scroll-nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: #ffffff !important;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    width: 40px;
    height: 40px;
    padding: 0 !important;
}

.scroll-nav-button path {
    stroke: #df1a81;
}

.scroll-nav-button.scroll-right {
    right: 0;
}

.scroll-nav-button.scroll-left {
    left: 0;
}

.scroll-nav-button.hidden {
    display: none !important;
}

.scroll-nav-button svg {
    fill: #fff;
    stroke: #ffffff;
}

.scroll-nav-button:hover {
    border: none;
    background: #ffffffc7 !important;
}

@media all and (max-width: 768px) {
    .logged-out .search-area {
        /* margin-top: -8px !important; */
    }

    .logged-out .product-sku,
    .logged-out .product-attributes,
    .logged-out .popup-price {
        /* display: none; */
    }

    /* For mobile view, increase the size further if needed */
    .woocommerce-form__input-checkbox {
        width: 28px;
        height: 28px;
    }

    /* Adjust text size and spacing for mobile */
    .woocommerce-form__label-for-checkbox span {
        font-size: 14px;
    }

    .woocommerce-terms-and-conditions-wrapper {
        margin-bottom: 16px !important;
    }

    .wc_payment_methods .input-radio {
        transform: scale(1.5);
        /* Increase radio button size */
        margin-right: 10px;
    }

    li.wc_payment_method.payment_method_yaadpay {
        margin-bottom: 10px !important;
    }

    h5.choose-payment-title {
        margin-bottom: 14px;
        font-size: 20px;
    }

    /*    input[id^="payment_method_"] {            display: none;        }        .woocommerce-checkout label[for^="payment_method_"] {            display: block;            width: 100% !important;        }        li.wc_payment_method {            margin-bottom:20px !important;            padding:5px;        }        li.wc_payment_method.active {            border: solid 1px;            border-radius:5px;            box-sizing:border-box;        }*/
    a.qlwapp-toggle {
        margin: 15px !important;
    }

    #qlwapp.qlwapp-bubble .qlwapp-toggle {
        width: 50px;
        height: 50px;
    }

    .quantity.buttons_added {
        z-index: 9;
        float: left;
        position: absolute;
        bottom: 10px;
        left: 7px;
    }

    .yith-wcbm-badge-7704 .yith-wcbm-badge-text,
    .yith-wcbm-badge-7703 .yith-wcbm-badge-text,
    .yith-wcbm-badge-7701 .yith-wcbm-badge-text {
        margin-right: -3px;
    }

    .yith-wcbm-badge-7265 .yith-wcbm-badge-text {
        margin-right: -3px;
    }

    .yith-wcbm-badge-7265 .yith-wcbm-badge-text span {
        letter-spacing: -1px;
    }

    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7049,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7034,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7050,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7054,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7055,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7105,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7103,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7102,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7104,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7106,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-7053 {
        top: 5px;
        margin-right: -3px !important;
    }

    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8284,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-14817,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8730 {
        left: -32px;
        width: 45px !important;
        height: 45px !important;
    }

    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8284 span,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-14817 span,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8730 span {
        font-size: 12px !important;
    }

    .yith-wcbm-badge.yith-wcbm-badge-css.yith-wcbm-badge-8812 {
        top: -25px;
        right: -20px;
        border-radius: 0 15px;
        width: 50px !important;
        height: 20px !important;
        transform: none !important;
    }

    .inc_vat {
        font-size: 10px;
        float: right;
        margin: 0;
        padding: 3px 3px 0 0;
    }

    .short_description {
        font-size: 10px;
        line-height: 0;
        text-align: right;
        margin: 5px 0;
        min-height: 0;
    }

    .yith-wcbm-badge-7052,
    .yith-wcbm-badge-5150,
    .yith-wcbm-badge-7030,
    .yith-wcbm-badge-7031 {
        margin-right: -3px !important;
        top: -32px;
    }

    .yith-wcbm-badge.yith-wcbm-badge-css.yith-wcbm-badge-13127 {
        height: 20px !important;
        top: -25px;
        right: -20px;
        width: 58px !important;
    }

    .yith-wcbm-badge {
        width: 32px !important;
        height: 32px !important;
    }

    .yith-wcbm-badge span {
        font-size: 9.5px !important;
        letter-spacing: -0.1px;
    }

    .yith-wcbm-badge p {
        line-height: 0 !important;
    }

    ::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    ::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0);
    }

    ::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0);
    }

    #cat-list ul.products.elementor-grid {
        flex-wrap: nowrap;
        overflow: auto;
        justify-content: flex-start;
    }

    /* Arrows sit fully on screen with their own white disc, so pills never show through them. */
    .scroll-nav-button.scroll-left {
        left: 2px;
    }

    .scroll-nav-button.scroll-right {
        right: 2px;
    }

    .scroll-nav-button,
    .scroll-nav-button:hover {
        width: 34px;
        height: 34px;
        background: #ffffff !important;
        box-shadow: 0 1px 6px rgba(0, 0, 0, 0.18);
    }

    .woocommerce-checkout .woocommerce form .form-row-first,
    .woocommerce form .form-row-last,
    .woocommerce-page form .form-row-first,
    .woocommerce-page form .form-row-last {
        width: 100%;
        margin: 5px 0 !important;
    }

    .woocommerce-checkout .woocommerce-checkout article {
        padding: 0 !important;
    }

    .woocommerce-checkout h3#order_review_heading {
        padding-top: 0 !important;
    }

    .woocommerce-checkout tr.cart_item {
        display: table-row !important;
        font-size: 12px !important;
    }

    .woocommerce-checkout tr.cart_item * {
        font-size: 11px !important;
        line-height: 1.3;
    }

    .woocommerce-checkout tr.cart_item td.product-name {
        min-width: 116%;
    }

    .woocommerce-checkout .woocommerce-checkout label[for="payment_method_yaadpay"] img {
        float: none !important;
        top: 0 !important;
    }

    span.per_unit {
        font-size: 10px;
        font-weight: 400;
        padding-top: 2px;
    }

    .box-p-container {
        bottom: 65px;
        font-weight: 500;
        color: #000;
    }

    .elementor-products-grid ul.products.elementor-grid.columns-4 {
        grid-template-columns: 1fr 1fr;
        grid-column-gap: 15px !important;
        grid-row-gap: 15px !important;
    }

    .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
        top: unset !important;
        position: relative !important;
        transform: unset !important;
    }

    .product-logo {
        position: absolute;
        top: -3px;
        left: 10px;
    }

    .product-popup .product-logo {
        top: 34px;
    }

    .product-popup .product-logo img {
        max-height: 16px;
    }

    .product-logo img {
        max-height: 10px;
    }

    ul li.product.ast-grid-common-col .price span:not(.max_per_cart):not(.tier-title span) {
        float: right;
        margin-left: 3px;
        margin-bottom: 7px;
    }

    ul li.product.ast-grid-common-col .price span.per_unit {
        right: 10px;
    }

    .astra-shop-summary-wrap span.woocommerce-Price-currencySymbol {
        float: left !important;
    }
}

.outofstock_overlay {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    background: rgba(255, 255, 255, 0.5);
    z-index: 9;
    border-radius: 15px;
}

.outofstock_msg {
    top: 50%;
    position: relative;
    transform: translateY(-50%);
    color: #fff;
    background: #000;
    font-size: 11px;
    width: 125px;
    height: 20px;
    line-height: 18px;
    margin: 0 auto;
    border-radius: 20px;
}

.main-products-grid li.product-category.product {
    display: none !important;
}

.failed-login {
    display: none;
    margin: 0 !important;
}


.zoom-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
}

.zoom-popup.active {
    display: block;
}

.zoom-popup-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
}

.zoom-popup-content {
    position: relative;
    max-width: 90%;
    height: 96vh;
    margin: 2vh auto;
    background: white;
    padding: 20px;
    border-radius: 8px;
}

.zoom-popup-main-image {
    height: 100%;
}

.zoom-popup-close {
    position: absolute;
    top: 10px;
    left: 10px;
    font-size: 24px;
    cursor: pointer;
    color: #333;
    z-index: 1;
}

.zoom-popup-main-image {
    text-align: center;
}

.zoom-popup-main-image img {
    max-width: 100%;
    height: 100%;
    object-fit: contain;
}

.zoom-popup-thumbnails {
    top: 10px;
    position: absolute;
    right: 10px;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    display: flex;
    flex-direction: column;
}

.zoom-popup-thumbnail {
    width: 60px;
    border-radius: 15px;
    object-fit: cover;
    cursor: pointer;
    border: 1px solid #0000005e;
    transition: border-color 0.2s;
}

.zoom-popup-thumbnail.active {
    border-color: #df1a81;
}

@media all and (max-width: 769px) {
    .zoom-popup-thumbnail {
        width: 50px;
    }
}

@media all and (min-width: 768px) {
    ::-webkit-scrollbar {
        width: 0;
        height: 0;
    }

    ::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, 0);
    }

    ::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0);
    }

    #cat-list ul.products.elementor-grid {
        flex-wrap: nowrap;
        overflow: auto;
        justify-content: flex-start;
        -ms-overflow-style: none;
        scrollbar-width: none;
        position: relative;
        scroll-behavior: smooth;
        padding: 0;
        /* Default padding is 0 */
        transition: none; /* was a padding transition: it re-laid-out the row every frame */
        
    }

    #cat-list ul.products.elementor-grid::-webkit-scrollbar {
        display: none;
    }

    ul.products.elementor-grid.columns-10 {
        padding: 0;
        transition: none;
    }

    .woocommerce.columns-10.has-left-navigation {
        padding-left: 50px;
    }

    .woocommerce.columns-10.has-right-navigation {
        padding-right: 50px;
    }


}

@media all and (min-width: 768px) {
    .gallery-thumbnails {
        margin-top: 20px;
    }

    .elementor-location-archive h2.woocommerce-loop-product__title {
        min-height: 46px;
    }

    .elementor-location-archive .astra-shop-thumbnail-wrap {
        min-height: 300px;
    }

    .outofstock_msg {
        font-size: 15px;
        width: 139px;
    }

    .product-popup .product-img {
        margin-top: 25px;
    }

    .popup-price .inc_vat {
        line-height: 27px;
        float: right;
        margin-top: 0;
        margin-bottom: 5px;
    }

    .long-description-web {
        max-height: 400px;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .info-btn svg {
        width: 24px;
        height: 24px;
    }

    .yith-wcbm-badge.yith-wcbm-badge-css.yith-wcbm-badge-13127 {
        border-radius: 0 23px;
    }

    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8284,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-14817,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8730 {
        left: -22px;
        width: 60px !important;
        height: 60px !important;
    }

    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8284 span,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-8730 span,
    .yith-wcbm-badge.yith-wcbm-badge-text.yith-wcbm-badge-14817 span {
        font-size: 15px !important;
    }

    .quantity.buttons_added {
        position: absolute;
        left: 17px;
        bottom: 15px;
    }

    .yith-wcbm-badge {
        overflow: hidden !important;
    }

    .woocommerce-js ul.products li.product a img {
        padding: 20px !important;
    }

    .woocommerce ul.products li.product .astra-shop-summary-wrap,
    .woocommerce-page ul.products li.product .astra-shop-summary-wrap {
        padding: 0 20px 50px 20px !important;
    }

    .elementor-shortcode .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail.size-woocommerce_thumbnail {
        top: unset !important;
        position: unset !important;
        transform: unset !important;
    }

    .product-popup .product-description {
        margin-top: 10px;
    }

    .pricing-tier-loop {
        width: 100%;
        margin-bottom: 80px;
    }

    p.tier-title {
        font-size: 16px;
    }

    .pricing-tier-header {
        padding: 8px 0;
        align-items: center;
        margin-bottom: 16px;
    }
}

.product-popup .product-description {
    margin-top: 5px;
    color: #6D6D6D;
}

.elementor-shortcode .astra-shop-summary-wrap form.cart {
    display: none;
}

.elementor-shortcode li.ast-grid-common-col {
    border-radius: 20px;
}

.elementor-shortcode a.button.product_type_simple {
    display: none;
}

span.max_per_cart {
    color: #0092FF;
    font-size: 11px;
    font-weight: normal;
    letter-spacing: 0;
    margin-top: 10px;
    margin-bottom: 1px;
    align-items: center;
    display: flex;
    gap: 5px;
}

span.quantity_step {
    color: #0092FF;
    font-size: 15px;
    font-weight: normal;
    letter-spacing: 0;
    margin-top: 10px;
    margin-bottom: 1px;
    align-items: center;
    display: flex;
    gap: 0px;
}

span.quantity_step svg {
    height: 15px;
}

.perc-savings {
    font-size: 11px;
    color: #000;
    background: #80DB65;
    padding: 5px 8px;
    gap: 3px;
    display: flex;
    align-items: center;
}

span.uptodate {
    background: #f8f7f2;
    padding: 5px 8px;
    color: #333;
    font-size: 11px;
    font-weight: 400;
}

.sale-data {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
    align-items: center;
}

.sale-data span {
    line-height: 14px;
}

@media all and (max-width: 768px) {
    span.max_per_cart {
        margin-top: 0;
    }

    span.quantity_step {
        font-size: 11px;
        letter-spacing: 0;
        margin-top: 0;
        margin-bottom: 1px;
        align-items: center;
        display: flex;
        gap: 0;
        float: unset !important;
        margin-left: 0 !important;
    }

    span.quantity_step svg {
        height: 11px;
    }

    .no-more-units {
        font-size: 10px;
        line-height: 1.2;
        left: 12px;
        right: 12px;
        bottom: 56px;
        top: auto;
    }

    .perc-savings {
        font-size: 7px;
        gap: 0;
        padding: 2px 1px;
    }

    span.uptodate {
        padding: 2px 1px;
        font-size: 7px;
    }
}

.logged-in .user-login-head {
    margin-left: 25px;
}

.logged-in .user-login-head-mob {
    display: none;
}

.logged-out .elementor-widget-woocommerce-menu-cart,
.logged-out .top-bar {
    /* display: none !important; */
}

span.elementor-button-icon-qty,
span.elementor-button-icon-price {
    display: block;
    position: absolute;
    min-width: 1.6em;
    letter-spacing: normal;
    height: 1.6em;
    line-height: 1.5em;
    top: -.7em;
    inset-inline-end: -.7em;
    border-radius: 100%;
    color: var(--items-indicator-text-color, #fff);
    background-color: var(--items-indicator-background-color, #d9534f);
    text-align: center;
    font-size: 10px;
    left: 35px !important;
    font-size: 14px !important;
    font-weight: 500;
    top: 12px !important;
    border-radius: 50px !important;
    padding: 1px 10px;
}

span.elementor-button-icon-price.updating {
    background-image: linear-gradient(90deg, var(--items-indicator-background-color, #d9534f) 0%, #dfb6cc 50%, var(--items-indicator-background-color, #d9534f) 100%);
    background-size: 200% 100%;
    animation: gradientSlide 2s ease infinite;
}

@keyframes gradientSlide {
    0% {
        background-position: 100% 0;
    }

    100% {
        background-position: -100% 0;
    }
}

span.elementor-button-icon-qty {
    display: none !important;
}

.main-cats {
    display: none;
}

.main-boxes {
    min-height: 700px;
}

.main-boxes::after {
    content: '';
    position: absolute;
    top: 10%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    /* Center the loader */
    border: 5px solid #f3f3f3;
    border-top: 5px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    visibility: visible;
    /* Initially visible */
    z-index: 99999999;
}

.main-boxes.hide-loader::after {
    visibility: hidden;
}

.stock-warning {
    background-color: #ffcc00;
    color: #333;
    padding: 10px;
    font-size: 14px;
    text-align: center;
    margin-bottom: 10px;
    border: 1px solid #ff9900;
}

.woocommerce-js ul.products li.product span.onsale.circle {
    right: 0;
    border-radius: 0 15px;
    width: 62px !important;
    height: 24px !important;
    transform: none !important;
    background: #80DB65;
    color: #000;
    font-size: 12px;
    font-weight: 500;
    margin: 0;
    padding: 0;
    line-height: 2em;
    min-height: unset;
    z-index: 98;
}

.price del * {
    text-decoration: line-through;
    color: #000 !important;
    font-size: 11px;
    padding-right: 1px;
    line-height: 19px;
}

.price ins {
    float: right;
}

.product-popup .product-img img {
    max-height: 360px;
    max-width: 100% !important;
}

.info-btn {
    position: absolute;
    bottom: 3px;
    cursor: pointer;
    height: 24px;
    width: 24px;
}

.astra-shop-summary-wrap .info-btn {
    display: none;
}

ol.promo-list {
    margin-right: 24px;
    margin-bottom: 0;
}

span.promo-toggle.promo-show {
    margin-right: 9px;
}

.popup-price span {
    float: right;
}

.popup-price .inc_vat {
    line-height: 27px;
    font-size: 12px;
}

.popup-price {
    margin-top: 12px;
}

i.eicon-close {
    margin-top: -15px;
    margin-left: -12px;
    padding: 12px;
}

.zoom-popup-close i.eicon-close {
    margin-left: 0;
}

#elementor-popup-modal-3732 .eicon-close:before {
    content: "\e87f";
    font-size: 25px;
    color: #1C1B1F;
}

#elementor-popup-modal-3732 .e-con.e-flex>.e-con-inner {
    gap: 12px !important;
}

.product-popup span.per_unit {
    bottom: -5px !important;
    font-size: 13px;
}

.product-popup .box-p-container {
    display: flex;
    bottom: 2px;
    line-height: 2;
    font-weight: 400;
    color: #999999;
}

.user-login-head span.elementor-icon-list-text,
.mob-icon span.elementor-icon-list-text {
    font-size: 14px;
    text-align: right;
    line-height: 17px;
    color: #1C1B1F !important;
}

.user-login-head span.elementor-icon-list-text span,
.mob-icon span.elementor-icon-list-text span {
    font-size: 12px;
    color: #DF1A81;
    text-decoration: underline;
}

.mob-icon svg {
    width: 26px !important;
    height: 26px !important;
}

.more-about {
    border-top: solid 1px;
    border-bottom: solid 1px;
    border-color: #E7E7E7;
    padding-top: 10px;
    margin: 7px 0;
    cursor: pointer;
}

.more-about svg:first-of-type {
    position: absolute;
    right: 67px;
    bottom: 12px;
}

.more-about svg:last-of-type {
    position: absolute;
    left: 67px;
    bottom: 12px;
}

.product-popup .product-sku {
    margin-top: 5px;
}

.product-popup .e-con-inner {
    gap: 10px;
}

.long-description {
    max-height: 400px;
    overflow: scroll;
    overflow-x: hidden;
    display: none;
}

.quantity {
    position: relative;
}

.floating-number {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
    /* Start from just above the center */
    font-size: 1.2em;
    color: #333;
    opacity: 1;
    animation: float-up 0.5s ease-out forwards;
    pointer-events: none;
    /* Prevents it from affecting layout */
}

@keyframes float-up {
    0% {
        transform: translate(-50%, -50%);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, -150%);
        opacity: 0;
    }
}

.no-scroll {
    overflow: hidden;
}

label[for="form-field-the_terms-0"] {
    font-size: 15px !important;
}

.elementor-field-group-the_terms span.elementor-field-option {
    line-height: 1.1;
}

.elementor-menu-cart__close-button {
    padding: 15px;
}

.gallery-thumbnails {
    display: flex;
    flex-wrap: wrap;
    /* Allows thumbnails to wrap to the next line */
    justify-content: flex-start;
    /* Align the first row to the start (left) */
}

.gallery-thumbnails img {
    border-radius: 10px;
    width: 100px;
    height: 100px;
    cursor: pointer;
    margin-right: 13px;
    object-fit: cover;
    border: 1px solid #E2E8F0;
}

.gallery-thumbnails img:nth-child(n + 6) {
    /* Starting from the 6th thumbnail */
    margin-right: 0;
    /* Remove right margin for the last item */
    margin-left: auto;
    /* Push the second row thumbnails to the right */
}

.units-in-box-text {
    width: 32px;
    line-height: 1;
}

small.tax_label {
    display: none;
}

ul#shipping_method li:not(.elementor-widget-woocommerce-cart #shipping_method li) {
    padding-left: 0 !important;
}

.category-cards-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: start;
    align-content: start;
    gap: 20px;
}

.category-card {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease;
    border-radius: 20px;
}

.category-card:hover .category-card__image {
    transform: scale(1.2);
}

.category-card:hover .category-card__overlay {
    background-color: rgba(0, 0, 0, .3);
}

.category-card__overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    transition-duration: 2500ms;
    z-index: 2;
}

.category-card__link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.category-card__image-wrapper {
    position: relative;
    min-height: 420px;
}

.category-card__image-wrapper > img.category-card__image {
    position: absolute;
    inset: 0;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transition-duration: 2500ms;
}

.category-card__content {
    min-height: 420px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    color: #fff;
    z-index: 1;
    text-align: right;
    padding: 20px 20px 20px 20px;
}

h2.category-card__title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    font-family: "Noto Sans Hebrew";
}

@media (max-width: 767px) {

    .category-card__image-wrapper {
        min-height: 160px;
    }

    .category-card__content {
        min-height: 160px;
    }

    .category-cards-wrapper {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    h2.category-card__title {
        font-size: 16px;
    }
}

.loop-product-points {
    margin-bottom: 21px;
    font-weight: 500;
    font-size: 14px;
    display: flex;
    column-gap: 5px;
}

.loop-product-points span {
    font-size: 14px;
    letter-spacing: 0px;
}

@media screen and (max-width:768px) {
    .loop-product-points {
        font-size: 11px;
        display: flex;
        column-gap: 5px;
        align-items: center;
    }

    .loop-product-points span {
        font-size: 12px;
        letter-spacing: 0px;
    }

    .user-points span {
        font-size: 12px;
    }
}

/* אזור אישי נקודות */

p.wps_wpr_heading {
    display: none;
}

.wps_wpr_each_section_wrap {
    display: block;
}

span.wps_wpr_view_log {
    display: block;
}

.wps_ways_to_gain_points_section {
    margin-top: 50px;
}

/* Meant for the points area; it reached every span on the site. Components with their own type scale opt out
   (the order bar / pill "חסרים ₪590.00" wrapped onto two lines, the PDP facts and the cart notice). */
span:not(:where(.b2b-ot-bar *, .b2b-ot-pill *, .b2b-pdp-facts *, .b2b-cart-toast *, .b2b-rules *, .b2b-listmeta *)) {
    font-family: "Noto Sans Hebrew";
    font-size: 18px;
}

fieldset.wps_wpr_each_section {
    border: unset !important;
    !i;
    !;
    box-shadow: unset;
}

p.wps_wpr_message {
    display: none;
}

img[src*="points-and-rewards-for-woocommerce/public/images/copy.png"] {
    display: none;
}

button.wps_wpr_btn_copy.wps_tooltip:before:hover {
    opacity: 1;
    color: #333;
}

button.wps_wpr_btn_copy.wps_tooltip:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0c5";
    display: inline-block;
    font-weight: 900;
    font-size: 16px;
    color: #666;
    cursor: pointer;
    opacity: 0.9;
    transition: opacity 0.2s ease;

}

nav.woocommerce-MyAccount-navigation ul {
    padding: 0;
    margin-bottom: 37px;
}

.wps_wpr_points_only.wps_wpr_show_points_on_account_page {
    margin-bottom: 53px;
}

span.wps_wpr_view_log {
    margin: -42px 0px 12px;
}


table.wps_wpr_total_points h4 {
    font-family: 'Noto Sans Hebrew';
    font-size: 18px;
    margin: 0
}

a.wps_wpr_open_toggle:after {
    content: unset !important;
}

table.wps_wpr_common_table span,
table.wps_wpr_common_table td {
    font-size: 16px !important;
}

table.wps_wpr_common_table th {
    text-align: right;
}


.wps_wpr_slide_toggle p {
    font-size: 16px;
}

.woocommerce-form-coupon-toggle .woocommerce-info {
    margin: 8px 0;
}

/* Older WooCommerce rendered an explanatory paragraph as the first child of this form, and this
   rule hid it. WooCommerce 9.x dropped that paragraph, so :nth-child(1) became the coupon input
   row and the field disappeared from checkout. Target the text paragraph by what it is instead. */
.checkout_coupon.woocommerce-form-coupon > p:not(.form-row) {
    display: none;
}

form.checkout_coupon.woocommerce-form-coupon {
    margin: 0 36px;
}


button.button[name="apply_coupon"] {
    padding: 7px 20px !important;
}

/* הסתרת תרפיט משתמש במובייל בעמוד נקודות ויעדים */

@media only screen and (max-width: 767px) {
    .woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--my-goals.is-active {
        visibility: visible;
    }

    nav:has(.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--my-goals.is-active),
    .nav:has(.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--my-goals.is-active) {
        display: none !important;
    }

    .woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--points.is-active {
        visibility: visible;
    }

    nav:has(.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--points.is-active),
    .nav:has(.woocommerce-MyAccount-navigation-link.woocommerce-MyAccount-navigation-link--points.is-active) {
        display: none !important;
    }
}




.logged-out li.ast-grid-common-col.ast-full-width:has(.pleaselogin) {
    display: none !important;
}

.wcdm-deal-ribbon {
    position: absolute;
    top: 75px;
    right: -23px;
    width: 140px;
    height: 30px;
    background: linear-gradient(135deg, #c2181d, #e53935);
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    text-align: center;
    line-height: 30px;
    transform: rotate(45deg);
    transform-origin: top right;
    z-index: 10;
    border-radius: 4px;
    pointer-events: none;
    border: none;
}

.wcdm-deal-ribbon span {
    font-size: 12px;
position: relative;
    z-index: 2;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    line-height: 12px;
    padding: 0 30px;
    display: flex;
    align-content: center;
    justify-content: center;
    height: 28px;
    align-items: center;
}

.wcdm-deal-ribbon::before {
    content: "";
    position: absolute;
    top: -1px;
    right: -1px;
    background: #fcfaf4;
    width: 31px;
    height: 31px;
    clip-path: polygon(100% 0, 0 0, 100% 100%);
}

.wcdm-deal-ribbon::after {
    content: "";
    position: absolute;
    left: -1px;
    top: -1px;
    background: #fcfaf4;
    width: 31px;
    height: 31px;
    clip-path: polygon(100% 0, 0 100%, 0 0);
}

li.is-processing .buttons_added {
    opacity: 0.8;
}

.cart_item .product-name {
    position: relative;
    padding-bottom: 22px;

}

.cart_item .variation {
    position: absolute;
    inset-inline-start: 0;
    bottom: 0px;
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    background: #de1c83;
    color: #fff;
    height: 15px;
    padding: 0 8px;
    border-radius: 15px
}

.checkout-points-earned {
    margin: -16px 0 20px;
    background: #ec4899;
    color: #fff;
    border-radius: 999px;
    text-align: center;
    width: 280px;
}

.checkout-points-earned .label {
    font-size: 14px;
}

.checkout-points-earned .points-badge {
    font-size: 14px;
    font-weight: 700;

}


.product-popup .promo-area {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fafafa;
}

.product-popup .promo-area .promo-title {
    font-size: 14px;
    margin-top: 6px;
}

.product-popup .promo-area .promo-list {
    font-size: 13px;
    opacity: .9;
    line-height: 1.3;
}

.product-popup .promo-area .promo-badge {
    font-weight: 600;
    margin-top: 4px;
}

/* Align the category button with the adjacent Elementor nav links in the desktop header. */
.elementor-29335 #category-menu .elementor-button {
    align-items: center;
    display: inline-flex;
    min-height: 44px;
    padding-bottom: 13px !important;
    padding-top: 13px !important;
}

.elementor-29335 #category-menu .elementor-button-content-wrapper,
.elementor-29335 #category-menu .elementor-button-icon {
    align-items: center;
}

.elementor-29335 #category-menu .elementor-button-icon {
    display: inline-flex;
    line-height: 1;
}

.elementor-29335 #category-menu .elementor-button-icon svg {
    display: block;
}

/* Sticky breadcrumb (Elementor template 3684, widget 040666c): on mobile the widget had 3px vertical
   padding, so once it stuck under the header the product grid scrolled right up against the text.
   Match the desktop 10px and centre the link, arrow and current page on one line. */
@media (max-width: 767px) {
    body .elementor-3684 .elementor-element.elementor-element-040666c > .elementor-widget-container {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

body .elementor-3684 .elementor-element-040666c nav.woocommerce-breadcrumb.custom-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

/* Quantity stepper: the number field inherited a 1px light-grey top/bottom border that showed as two
   white lines across the pink pill. Keep the border box (no height change), make it invisible. */
body .quantity.buttons_added input.qty {
    border-top-color: transparent;
    border-bottom-color: transparent;
}

/* At the maximum quantity the "+" was swapped for an "x", which reads as "remove". Keep the "+" and
   show it clearly disabled instead (catalog stepper and mini-cart). */
body .quantity.buttons_added a.plus.disabled::before,
body button.plus-qty.disabled::before {
    content: "+";
}

body .quantity.buttons_added a.plus.disabled,
body button.plus-qty.disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* iPhone: tapping + / - quickly counted as a double-tap and zoomed the whole page (customer report,
   side cart). "manipulation" drops double-tap-to-zoom on these controls only; pinch-zoom still works. */
body .quantity.buttons_added,
body .quantity.buttons_added a,
body .quantity.buttons_added input.qty,
body .product-quantity_new,
body .mini-cart-item-quantity,
body .mini-cart-item-quantity button,
body .mini-cart-item-quantity input,
body a.add_to_cart_button.btn-plus {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}


/* Category bubbles row: native swipe with momentum, gentle snap to each pill, and the row never hands a
   vertical swipe to itself (page keeps scrolling up/down when the finger starts on the row). */
#cat-list ul.products.elementor-grid {
    scroll-snap-type: x proximity;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x pan-y;
    scrollbar-width: none;
}

#cat-list ul.products.elementor-grid::-webkit-scrollbar {
    display: none;
}

#cat-list ul.products.elementor-grid > li {
    scroll-snap-align: start;
}

.scroll-nav-button {
    touch-action: manipulation;
}

/* Category archives (Elementor template 3684, widget cb33899): the category name was shown twice, in the
   breadcrumb and again as a big heading right under it (owner: "already in the breadcrumb"). Hide the
   Archive Title widget visually but keep its h1 for screen readers and search engines (it is the page's
   only h1). Out of the grid flow, so its row and spacing collapse too. Search results (3756) untouched. */
body .elementor-3684 .elementor-element.elementor-element-cb33899 {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Category page: space around the breadcrumb (owner: "extra space"). The section added 10-15px above the widget's own
   10px padding and the divider under it had 15px above and below. Now: header -> 10px -> path -> 10px -> line -> bubbles.
   The widget keeps its 10px (it is the sticky row). */
body .elementor-3684 .elementor-element.elementor-element-76e9292 > .e-con-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

body .elementor-3684 .elementor-element-7c48a08 .elementor-divider {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Category page sticky stack (template 3684): header, breadcrumb (040666c), bubbles row (f8ed5f8).
   The stuck breadcrumb had no background of its own (and z-index 10 on mobile), so product cards scrolled
   visibly through it. Opaque page colour, painted full width (the widget itself is narrower than the screen),
   above the cards. The theme script aligns the breadcrumb text with the product grid and rounds the offsets
   so the rows meet without a sub-pixel seam. */
body .elementor-3684 .elementor-element.elementor-element-040666c {
    z-index: 99 !important;
    background-color: #FCFAF4;
    box-shadow: 0 0 0 100vmax #FCFAF4;
    clip-path: inset(0 -100vmax);
}

/* Bubbles row: same height everywhere with the pills centred (desktop had 27px above and 60px below, so the
   stuck row was 121px tall); a soft line under it only while it is stuck over scrolling products. */
body .elementor-3684 .elementor-element.elementor-element-f8ed5f8 {
    padding-top: 0;
    padding-bottom: 0;
    transition: box-shadow 0.2s ease;
}

body .elementor-3684 .elementor-element-f8ed5f8 > .elementor-container > .elementor-column > .elementor-widget-wrap {
    padding: 12px 10px;
}

body .elementor-3684 .elementor-element-f8ed5f8 .elementor-element-ef22e8d > .elementor-widget-container {
    margin-top: 0;
    margin-bottom: 0;
}

body .elementor-3684 .elementor-element-f8ed5f8.elementor-sticky--active {
    box-shadow: 0 8px 10px -8px rgba(28, 27, 31, 0.22);
}

/* Products section: four shortcode widgets above the grid (top description, recent orders, new products, promo
   description) render nothing on most pages but each kept Elementor's 20px widget gap, leaving ~90px of blank
   page between the bubbles row and the first product. The gap now follows real output only. */
body .elementor-3684 .elementor-element-b304d3a,
body .elementor-3684 .elementor-element-6eb12b5,
body .elementor-3684 .elementor-element-6599423,
body .elementor-3684 .elementor-element-870d402 {
    margin-bottom: 0;
}

body .elementor-3684 .elementor-element-b304d3a .elementor-shortcode:has(> *),
body .elementor-3684 .elementor-element-6eb12b5 .elementor-shortcode:has(> *),
body .elementor-3684 .elementor-element-6599423 .elementor-shortcode:has(> *),
body .elementor-3684 .elementor-element-870d402 .elementor-shortcode:has(> *) {
    margin-bottom: 20px;
}

/* Bubbles row navigation: an arrow on each end (white disc, brand chevron, 40px target), shown only while
   there is more in that direction, over a fade that makes a cut pill read as "more". No side padding is
   reserved any more, so the row no longer slides sideways when an arrow appears or disappears. */
body #cat-list .b2b-cat-row,
body .b2b-row-nav {
    padding-left: 0;
    padding-right: 0;
}

body #cat-list ul.products.elementor-grid,
body .b2b-row-nav > .b2b-row-nav-list {
    scroll-behavior: auto;
}

body #cat-list .b2b-cat-row::before,
body .b2b-row-nav::before,
body #cat-list .b2b-cat-row::after,
body .b2b-row-nav::after {
    content: "";
    display: block; /* WooCommerce's clearfix makes these display:table, which ignores top/bottom */
    position: absolute;
    top: -2px;
    bottom: -2px;
    width: 96px;
    z-index: 2;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease;
}

body #cat-list .b2b-cat-row::before,
body .b2b-row-nav::before {
    left: 0;
    background: linear-gradient(to right, #FCFAF4 45%, rgba(252, 250, 244, 0));
}

body #cat-list .b2b-cat-row::after,
body .b2b-row-nav::after {
    right: 0;
    background: linear-gradient(to left, #FCFAF4 45%, rgba(252, 250, 244, 0));
}

body #cat-list .b2b-cat-row.has-left-navigation::before,
body .b2b-row-nav.has-left-navigation::before,
body #cat-list .b2b-cat-row.has-right-navigation::after,
body .b2b-row-nav.has-right-navigation::after {
    opacity: 1;
}

body #cat-list .scroll-nav-button,
body .b2b-row-nav > .scroll-nav-button,
body #cat-list .scroll-nav-button:hover,
body .b2b-row-nav > .scroll-nav-button:hover {
    width: 40px;
    height: 40px;
    padding: 0 !important;
    border: 0;
    border-radius: 50%;
    background: #ffffff !important;
    color: #DF1A81;
    box-shadow: 0 1px 2px rgba(28, 27, 31, 0.12), 0 3px 10px rgba(28, 27, 31, 0.14);
    z-index: 3;
    opacity: 1;
    visibility: visible;
    transition: opacity 0.15s ease, visibility 0s linear 0s, box-shadow 0.15s ease, transform 0.15s ease;
}

/* At either end the arrow fades out instead of vanishing (and stays out of the tab order while hidden). */
body #cat-list .scroll-nav-button.hidden,
body .b2b-row-nav > .scroll-nav-button.hidden {
    display: flex !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease, visibility 0s linear 0.15s, box-shadow 0.15s ease, transform 0.15s ease;
}

body #cat-list .scroll-nav-button.scroll-left,
body .b2b-row-nav > .scroll-nav-button.scroll-left {
    left: 0;
}

body #cat-list .scroll-nav-button.scroll-right,
body .b2b-row-nav > .scroll-nav-button.scroll-right {
    right: 0;
}

body #cat-list .scroll-nav-button svg,
body .b2b-row-nav > .scroll-nav-button svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: none;
}

body #cat-list .scroll-nav-button path,
body .b2b-row-nav > .scroll-nav-button path {
    stroke: currentColor;
}

@media (hover: hover) and (pointer: fine) {
    body #cat-list .scroll-nav-button:hover,
    body .b2b-row-nav > .scroll-nav-button:hover {
        box-shadow: 0 2px 4px rgba(28, 27, 31, 0.14), 0 6px 16px rgba(28, 27, 31, 0.18);
    }

    body #cat-list ul.products.elementor-grid,
    body .b2b-row-nav > .b2b-row-nav-list {
        cursor: grab;
    }

    body #cat-list ul.products.elementor-grid.is-dragging,
    body .b2b-row-nav > .b2b-row-nav-list.is-dragging,
    body #cat-list ul.products.elementor-grid.is-dragging a,
    body .b2b-row-nav > .b2b-row-nav-list.is-dragging a {
        cursor: grabbing;
        user-select: none;
    }
}

body #cat-list .scroll-nav-button:active,
body .b2b-row-nav > .scroll-nav-button:active {
    transform: translateY(-50%) scale(0.94);
}

body #cat-list .scroll-nav-button:focus,
body .b2b-row-nav > .scroll-nav-button:focus {
    outline: none;
}

body #cat-list .scroll-nav-button:focus-visible,
body .b2b-row-nav > .scroll-nav-button:focus-visible {
    outline: 2px solid #DF1A81;
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    body #cat-list .b2b-cat-row::before,
    body .b2b-row-nav::before,
    body #cat-list .b2b-cat-row::after,
    body .b2b-row-nav::after,
    body #cat-list .scroll-nav-button,
    body .b2b-row-nav > .scroll-nav-button,
    body #cat-list .scroll-nav-button.hidden,
    body .b2b-row-nav > .scroll-nav-button.hidden,
    body .elementor-3684 .elementor-element.elementor-element-f8ed5f8 {
        transition: none;
    }
}

/* Product cards open the product page (image and title) for every visitor. On a mouse the card lifts 2px
   with a soft shadow; pressing the image or title dims it briefly. Transform/shadow/opacity only, so nothing
   around the card moves. */
@media (hover: hover) and (pointer: fine) {
    body .elementor-widget-woocommerce-products ul.products li.ast-article-post,
    body .elementor-widget-wc-archive-products ul.products li.ast-article-post {
        transition: transform 0.15s ease, box-shadow 0.15s ease;
    }

    body .elementor-widget-woocommerce-products ul.products li.ast-article-post:hover,
    body .elementor-widget-wc-archive-products ul.products li.ast-article-post:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 18px rgba(28, 27, 31, 0.10);
    }
}

body ul.products li.ast-article-post a.woocommerce-LoopProduct-link img,
body ul.products li.ast-article-post a.ast-loop-product__link {
    transition: opacity 0.1s ease;
}

body ul.products li.ast-article-post a.woocommerce-LoopProduct-link:active img,
body ul.products li.ast-article-post a.ast-loop-product__link:active {
    opacity: 0.75;
}

@media (prefers-reduced-motion: reduce) {
    body .elementor-widget-woocommerce-products ul.products li.ast-article-post,
    body .elementor-widget-wc-archive-products ul.products li.ast-article-post,
    body ul.products li.ast-article-post a.woocommerce-LoopProduct-link img,
    body ul.products li.ast-article-post a.ast-loop-product__link {
        transition: none;
    }

    body .elementor-widget-woocommerce-products ul.products li.ast-article-post:hover,
    body .elementor-widget-wc-archive-products ul.products li.ast-article-post:hover {
        transform: none;
    }
}

/* Infinite scroll on category pages: placeholder cards (real card size, same grid) while the next page loads
   and while Back rebuilds the pages a buyer had open; a soft shimmer, off under reduced motion. */
.b2b-card-skeletons {
    display: grid;
    width: 100%;
}

.b2b-card-skeleton {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    border: 1px solid #EBEBEB;
    border-radius: 15px;
    background: #ffffff;
}

.b2b-card-skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(252, 250, 244, 0), rgba(236, 232, 222, 0.7), rgba(252, 250, 244, 0));
    transform: translateX(-100%);
    animation: b2b-card-shimmer 1.3s ease-in-out infinite;
}

@keyframes b2b-card-shimmer {
    to {
        transform: translateX(100%);
    }
}

.yith-infs-loader.has-skeletons {
    margin: 0;
    padding: 0;
    text-align: initial;
}

.yith-infs-loader.has-skeletons > img {
    display: none;
}

.b2b-card-skeletons.is-next {
    margin-bottom: 0;
}

/* mini-cart.js b2bCategoryScroll(): the footer waits until the last page is in; the list ends on the placeholder
   row and one quiet status line (the body already keeps room for the fixed cart bar). */
html.b2b-more-pending .elementor-location-footer {
    display: none;
}

.b2b-more-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 20px 0 32px;
    font-size: 14px;
    line-height: 20px;
    color: #6b6b6b;
}

.b2b-more-status__dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    border: 2px solid rgba(223, 26, 129, 0.2);
    border-top-color: #DF1A81;
    animation: b2b-more-spin 0.8s linear infinite;
}

@keyframes b2b-more-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .b2b-card-skeleton::after {
        animation: none;
        transform: none;
        opacity: 0.5;
    }

    .b2b-more-status__dot {
        animation: none;
    }
}

/* iPhone: a fast flick past the footer bounced into the beige page colour below the black footer (rubber-band
   overscroll; the page itself ends at the footer). Root only: the search sheet, side cart and menus keep
   their own contained scrolling. */
html {
    overscroll-behavior-y: none;
}


/* ==========================================================================================================
   UX upgrade 2026-09 (catalog, staging) - phase 1: smoothness
   ========================================================================================================== */

/* Header first paint: the guest "התחברות" item wrapped onto two lines until the web font arrived, then
   collapsed to one line and pulled the whole page up by ~65px on phones (CLS). One line from the start. */
.user-login-head-mob .elementor-icon-list-item,
.user-login-head-mob .elementor-icon-list-text {
    white-space: nowrap;
}

/* Mobile menu (popup 3786): every row has the same height from the first frame (rows with a "+" toggle were
   taller and grew after opening); the toggle is a 44px touch target; scrolling inside the menu does not
   scroll the page behind it. */
#elementor-popup-modal-3786 .menu-item {
    min-height: 52px;
    box-sizing: border-box;
    align-items: center;
}

#elementor-popup-modal-3786 .menu-item > .toggle-button {
    min-width: 44px;
    min-height: 44px;
    margin-top: -6px;
    margin-bottom: -6px;
}

#elementor-popup-modal-3786 .dialog-message,
#elementor-popup-modal-3786 .dialog-widget-content {
    overscroll-behavior: contain;
}


/* ==========================================================================================================
   UX upgrade 2026-09 (catalog, staging) - phase 2: calm, denser product cards
   Scope: the product grids of the category template (3684) and the search-results template (3756). The
   header search panel (.b2bs-real) keeps its own card rules. Selectors outrank the theme's card rules
   (specificity 0,4,2 / 0,5,2 with !important).
   ========================================================================================================== */

/* Keyboard focus is visible everywhere (the theme removed every focus outline). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
a:focus-visible,
button:focus-visible {
    outline: 2px solid #DF1A81 !important;
    outline-offset: 2px !important;
}

/* Guests: "להצגת מחיר" is a real button now (same look as the old link). */
.pleaselogin button {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 50px;
    background: #000;
    color: #fff;
    font: inherit;
    font-weight: 400;
    line-height: 1 !important;
    cursor: pointer;
}

.pleaselogin button::before {
    background-image: url('images/account2.png');
    background-size: 23px 23px;
    background-repeat: no-repeat;
    display: inline-block;
    width: 23px;
    height: 23px;
    content: "";
    position: relative;
    left: 3px;
    vertical-align: middle;
}

.pleaselogin button:hover {
    background: #1C1B1F;
    color: #fff;
}

/* ---------- grid density ---------- */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 12px !important;
    row-gap: 12px !important;
}

@media (min-width: 768px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 16px !important;
        row-gap: 16px !important;
    }
}

@media (min-width: 1024px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        column-gap: 20px !important;
        row-gap: 20px !important;
    }
}

@media (min-width: 1440px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }
}

/* ---------- the card ---------- */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    min-width: 0;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #EBEBEB !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 1px 3px rgba(28, 27, 31, 0.05) !important;
    transition-property: transform, box-shadow, opacity !important;
    transition-duration: 0.2s !important;
}

/* Image: capped height, whole product visible. */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 14px 0 !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap a {
    position: relative !important;
    display: block !important;
    height: 160px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap .container-image-and-badge {
    height: 100%;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
}

/* Text column. The bottom of every logged-in card is reserved for the + / stepper row, so a price is never
   covered; guests have no controls there. */
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 {
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 auto !important;
    width: auto !important;
    float: none !important;
    margin: 0 !important;
    padding: 10px 14px 16px !important;
}

body.logged-in :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: 66px !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .woocommerce-loop-product__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden !important;
    height: auto !important;
    min-height: calc(2 * 1.35em) !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    color: #1C1B1F !important;
    letter-spacing: 0 !important;
}

/* Price block: pack price first (dark pink, bold, never wrapping), per-unit price and pack size quietly
   under it, then the small grey facts (multiples, points). */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price {
    display: flex !important;
    flex-flow: row wrap !important;
    align-items: baseline !important;
    column-gap: 6px !important;
    row-gap: 2px !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #DF1A81 !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .short_description:empty {
    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 .price br {
    display: none;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price .woocommerce-Price-currencySymbol {
    font-size: 0.9em !important;
    line-height: 1 !important;
    vertical-align: baseline !important;
}

/* line break after the price line */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price::before {
    content: "";
    order: 25;
    flex-basis: 100%;
    height: 0;
    margin-top: -2px;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > .woocommerce-Price-amount,
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > ins {
    order: 10;
    line-height: 1.25 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #DF1A81 !important;
    white-space: nowrap;
    text-decoration: none;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > del {
    order: 20;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #767676 !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price .per_unit,
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price .b2b-pack {
    order: 30;
    position: static !important;
    display: inline !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #5F5F5F !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price .per_unit ~ .b2b-pack::before {
    content: "·";
    margin-inline-end: 6px;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product :is(.quantity_step, .max_per_cart, .loop-product-points, .sale-data, .inc_vat) {
    order: 40;
    flex-basis: 100%;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    margin: 2px 0 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    color: #6B6B6B !important;
    white-space: normal;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product :is(.quantity_step, .max_per_cart, .loop-product-points, .sale-data) span {
    font-size: 12px !important;
    letter-spacing: 0 !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product :is(.quantity_step, .max_per_cart, .loop-product-points, .sale-data) svg {
    flex: none;
    width: 14px !important;
    height: 14px !important;
    margin: 0 !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product :is(.quantity_step, .max_per_cart, .loop-product-points, .sale-data) svg path {
    fill: #8A8A8A !important;
}

/* Sale saving stays readable, but not louder than the price. */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .sale-data .perc-savings {
    color: #1C1B1F !important;
    font-weight: 600 !important;
}

/* Guests: the price button sits in the text flow under the title. */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price .pleaselogin {
    order: 50;
    flex-basis: 100%;
    width: 100%;
    margin-top: 6px;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .pleaselogin :is(a, button) {
    font-size: 15px !important;
    font-weight: 400 !important;
}

/* + button and stepper: one fixed row at the bottom-left, 44px targets. */
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 {
    left: 12px !important;
    bottom: 12px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    font-size: 34px !important;
    line-height: 44px !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.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 .astra-shop-summary-wrap > .product-quantity_new,
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .quantity.buttons_added.placeholder {
    position: absolute !important;
    left: 12px !important;
    bottom: 12px !important;
    margin: 0 !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .quantity.buttons_added {
    height: 44px !important;
    min-width: 124px;
    align-items: center !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .quantity.buttons_added a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 40px !important;
    height: 44px !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .product-quantity_new > .quantity.buttons_added {
    position: absolute !important;
    top: auto !important;
    right: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    margin: 0 !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 {
    position: absolute;
    left: 12px;
    bottom: 58px;
    margin: 0;
    font-size: 12px;
    color: #6B6B6B;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product img.loader {
    display: none !important;
}

/* Info: a standard round "i" button in the image corner (44px target, 30px disc) instead of the hand sticker.
   It still opens the product popup. */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products > li.product.type-product button.more-info {
    position: absolute !important;
    top: 8px !important;
    left: 8px !important;
    right: auto !important;
    bottom: auto !important;
    z-index: 4;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    cursor: pointer !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products > li.product.type-product button.more-info .more-info-icon {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50%;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7.2' r='1.5' fill='%231C1B1F'/%3E%3Crect x='10.8' y='10' width='2.4' height='8' rx='1.2' fill='%231C1B1F'/%3E%3C/svg%3E") center / 20px 20px no-repeat !important;
    box-shadow: 0 0 0 1px #E2E2E2, 0 1px 3px rgba(28, 27, 31, 0.12);
    transition: box-shadow 0.15s ease, transform 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products > li.product.type-product button.more-info:hover .more-info-icon {
        box-shadow: 0 0 0 1px #DF1A81, 0 2px 6px rgba(28, 27, 31, 0.16);
    }
}

/* One badge per card (the server keeps at most one YITH badge); the out-of-stock label wins. */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products ul.products > li.product.type-product .b2b-badge {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
    padding: 4px 10px;
    border-radius: 999px;
    background: #1C1B1F;
    color: #fff;
    font-size: 12px;
    line-height: 1.4;
    font-weight: 500;
    pointer-events: none;
}

/* A deal that applies to most of the page is announced once above the grid, not on every card. */
body ul.products > li.product.b2b-deal-common .wcdm-deal-ribbon {
    display: none !important;
}

.b2b-deal-strip {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 10px 14px;
    border-radius: 12px;
    background: #FDE8F2;
    color: #1C1B1F;
    font-size: 15px;
    line-height: 1.4;
}

.b2b-deal-strip__label {
    flex: none;
    padding: 2px 10px;
    border-radius: 999px;
    background: #DF1A81;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
}

@media (max-width: 1023px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap a {
        height: 150px !important;
    }
}

@media (max-width: 767px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product {
        border-radius: 14px !important;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap {
        padding: 10px 10px 0 !important;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap a {
        height: 130px !important;
    }

    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: 8px 10px 12px !important;
    }

    body.logged-in :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: 62px !important;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .woocommerce-loop-product__title {
        font-size: 14px !important;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > .woocommerce-Price-amount,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > ins {
        font-size: 16px !important;
    }

    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,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.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 .astra-shop-summary-wrap > .product-quantity_new,
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .quantity.buttons_added.placeholder {
        left: 8px !important;
        bottom: 9px !important;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .quantity.buttons_added {
        min-width: 100px;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .quantity.buttons_added a {
        min-width: 36px !important;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products > li.product.type-product button.more-info {
        top: 4px !important;
        left: 4px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products ul.products > li.product.type-product button.more-info .more-info-icon {
        transition: none;
    }
}


/* ==========================================================================================================
   UX upgrade 2026-09 (catalog, staging) - phase 3: in-cart state
   ========================================================================================================== */

/* Row/list facts and the card state block are hidden unless a layout below shows them. */
.b2b-listmeta,
.b2b-line-total,
.b2b-cardstate {
    display: none;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products > li.product.type-product.b2b-in-cart {
    border-color: #F3B6D4 !important;
    background: #FFF6FA !important;
    box-shadow: 0 0 0 1px #F3B6D4, 0 1px 3px rgba(223, 26, 129, 0.08) !important;
}

/* Grid: "בסל: N" sits at the start of the bottom action row (the + / stepper is at its end). */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-cardstate {
    display: block;
    position: absolute;
    right: 12px;
    bottom: 20px;
    height: 28px;
    min-width: 76px;
    pointer-events: none;
}

.b2b-cardstate .b2b-incart,
.b2b-cardstate .b2b-incart-ok {
    position: absolute;
    top: 0;
    right: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
    font-weight: 600;
    white-space: nowrap;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.b2b-cardstate .b2b-incart {
    background: #FDE3F0;
    color: #A3125A;
    opacity: 0;
    transform: translateY(4px);
}

.b2b-cardstate .b2b-incart__label {
    font-weight: 400;
}

.b2b-cardstate .b2b-incart-ok {
    background: #1C1B1F;
    color: #fff;
    opacity: 0;
    transform: translateY(4px);
}

li.product.b2b-in-cart .b2b-cardstate .b2b-incart {
    opacity: 1;
    transform: none;
}

li.product.b2b-updated .b2b-cardstate .b2b-incart {
    opacity: 0;
}

li.product.b2b-updated .b2b-cardstate .b2b-incart-ok {
    opacity: 1;
    transform: none;
}

@media (max-width: 767px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-cardstate {
        right: 8px;
        bottom: 17px;
        min-width: 0;
    }

    .b2b-cardstate .b2b-incart,
    .b2b-cardstate .b2b-incart-ok {
        padding: 0 8px;
        font-size: 12px;
    }

    /* A 2-column phone card has no room for the chip next to the stepper, and the stepper already shows the
       quantity: the tint marks the card, and only the short "עודכן בסל" confirmation appears (image corner). */
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-incart {
        display: none;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-cardstate {
        top: 10px;
        bottom: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .b2b-cardstate .b2b-incart,
    .b2b-cardstate .b2b-incart-ok {
        transition: none;
        transform: none;
    }
}


/* ==========================================================================================================
   UX upgrade 2026-09 (catalog, staging) - phase 4: product LIST view
   Activated by a class on the list element: <ul class="products b2b-list">. Container-agnostic: the row
   layout follows the width of the LIST (container query "b2blist"), not the screen, so the same cards work in
   the category page, the search-results page and the header search panel.
     list width >= 980px  full row:    image | name + subtitle | SKU | stock | pack price | line total | qty | info
     list width 561-979px medium row:  image | name / SKU + stock | pack price | qty | info
     list width <= 560px  two lines:   image | name ... pack price  /  SKU  stock  info  qty
   Fixed row heights (custom properties, readable by placeholders):
     --b2b-row-h   84px (lists wider than 560px)  |  100px (560px and narrower)
     --b2b-row-img 60px                            |  56px
   Same cards, same controls (price, steps, max, stepper, cart queue) - no second implementation.
   ========================================================================================================== */

html body ul.products.b2b-list.b2b-list {
    container: b2blist / inline-size;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    row-gap: 6px !important;
    column-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body ul.products.b2b-list.b2b-list::before,
html body ul.products.b2b-list.b2b-list::after {
    display: none !important;
}

/* ---------- the row (base = narrow, two lines) ---------- */
html body ul.products.b2b-list.b2b-list > li.product.type-product {
    --b2b-row-h: 100px;
    --b2b-row-img: 56px;
    position: relative !important;
    display: grid !important;
    grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 44px auto;
    grid-template-rows: minmax(0, 1fr) 44px;
    grid-template-areas:
        "img name name price"
        "img meta info qty";
    column-gap: 10px;
    row-gap: 2px;
    align-items: center;
    box-sizing: border-box;
    width: auto !important;
    height: var(--b2b-row-h) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    float: none !important;
    border: 1px solid #EBEBEB !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: none !important;
    overflow: hidden;
    text-align: start !important;
    transform: none !important;
    transition-property: background-color, border-color, box-shadow !important;
    transition-duration: 0.2s !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product.b2b-in-cart {
    border-color: #F3B6D4 !important;
    background: #FFF6FA !important;
}

@media (hover: hover) and (pointer: fine) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product:hover {
        box-shadow: 0 2px 8px rgba(28, 27, 31, 0.08) !important;
    }
}

/* summary's children become cells of the row */
html body ul.products.b2b-list.b2b-list > li.product.type-product .astra-shop-summary-wrap,
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-listmeta {
    display: contents !important;
}

/* not shown in rows */
html body ul.products.b2b-list.b2b-list > li.product.type-product :is(.product-gallery, .ast-woo-product-category, .wcdm-deal-ribbon, .short_description, .in-stock-item-loop, .loader, .product-sku, .product-attributes, .info-btn, .woocommerce-loop-product__buttons, .b2b-incart, .yith-wcbm-badge, .b2b-badge, .b2b-line-total, .quantity-pricing-wrapper, .loop-product-points, .max_per_cart, .box-p-container, .tier-desc, .inc_vat) {
    display: none !important;
}

/* image */
html body ul.products.b2b-list.b2b-list > li.product.type-product .astra-shop-thumbnail-wrap {
    grid-area: img;
    position: relative !important;
    width: var(--b2b-row-img) !important;
    height: var(--b2b-row-img) !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .astra-shop-thumbnail-wrap a,
html body ul.products.b2b-list.b2b-list > li.product.type-product .astra-shop-thumbnail-wrap .container-image-and-badge {
    position: static !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .astra-shop-thumbnail-wrap img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    border-radius: 6px;
}

/* name */
html body ul.products.b2b-list.b2b-list > li.product.type-product a.ast-loop-product__link {
    grid-area: name;
    align-self: center;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .woocommerce-loop-product__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 500 !important;
    color: #1C1B1F !important;
    letter-spacing: 0 !important;
}

/* SKU and stock */
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku {
    grid-area: meta;
    min-width: 0;
    padding-inline-start: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    line-height: 1.3;
    color: #6B6B6B;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku bdi {
    unicode-bidi: isolate;
    font-variant-numeric: tabular-nums;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-stock {
    grid-area: meta;
    justify-self: start;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    line-height: 1.3;
    color: #3D3D3D;
    white-space: nowrap;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-stock::before {
    content: "";
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2E8B57;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-stock.is-out::before {
    background: #B3261E;
}

/* narrow rows: stock as a dot only (the word stays for screen readers) */
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-stock {
    font-size: 0;
}

/* price: pack price, per-unit (and pack size) under it; never wrapping */
html body ul.products.b2b-list.b2b-list > li.product.type-product .price {
    grid-area: price;
    position: static !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    justify-content: center !important;
    gap: 1px !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: #DF1A81 !important;
    text-align: end !important;
    white-space: nowrap;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price br {
    display: none;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price > :is(.woocommerce-Price-amount, ins) {
    order: 1;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    color: #DF1A81 !important;
    text-decoration: none;
    unicode-bidi: isolate;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .woocommerce-Price-currencySymbol {
    font-size: 0.9em !important;
    line-height: 1 !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price > del {
    order: 2;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.per_unit, .b2b-pack, .quantity_step, .sale-data) {
    order: 3;
    position: static !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    color: #5F5F5F !important;
    white-space: nowrap;
    unicode-bidi: isolate;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.quantity_step, .sale-data) svg {
    display: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .b2b-pack,
html body ul.products.b2b-list.b2b-list > li.product.type-product .price .sale-data .uptodate {
    display: none !important;
}

/* quantity-tier deals: a short note in the row (the details stay in the info popup) */
html body ul.products.b2b-list.b2b-list > li.product.type-product .price .pricing-tier-loop {
    display: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price:has(.pricing-tier-loop)::after {
    content: "";
    order: 4;
    font-size: 11px;
    font-weight: 600;
    color: #A3125A;
}

/* guests: the price cell is the login button */
html body ul.products.b2b-list.b2b-list > li.product.type-product .price .pleaselogin {
    order: 5;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .pleaselogin :is(a, button) {
    min-height: 40px;
    padding: 6px 14px !important;
    font-size: 14px !important;
    white-space: nowrap;
}

/* quantity: + / stepper, 44px */
html body ul.products.b2b-list.b2b-list > li.product.type-product :is(a.add_to_cart_button, .quantity.buttons_added.placeholder, .product-quantity, .astra-shop-summary-wrap > .product-quantity_new, .no-more-units) {
    grid-area: qty;
    justify-self: end;
    align-self: center;
    position: static !important;
    inset: auto !important;
    float: none !important;
    margin: 0 !important;
    transform: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product a.button.add_to_cart_button.btn-plus {
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    font-size: 30px !important;
    line-height: 44px !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .product-quantity_new > .quantity.buttons_added {
    position: static !important;
    inset: auto !important;
    margin: 0 !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .quantity.buttons_added {
    height: 44px !important;
    min-width: 112px;
    max-width: 140px;
    align-items: center !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .quantity.buttons_added a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 36px !important;
    height: 44px !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .quantity.buttons_added input.qty {
    font-variant-numeric: tabular-nums;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .no-more-units {
    max-width: 140px;
    font-size: 11px;
    line-height: 1.25;
    color: #6B6B6B;
    text-align: center;
    white-space: normal;
}

/* info button */
html body ul.products.b2b-list.b2b-list > li.product.type-product button.more-info {
    grid-area: info;
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    justify-self: center;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    cursor: pointer !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product button.more-info .more-info-icon {
    display: block !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50%;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7.2' r='1.5' fill='%231C1B1F'/%3E%3Crect x='10.8' y='10' width='2.4' height='8' rx='1.2' fill='%231C1B1F'/%3E%3C/svg%3E") center / 18px 18px no-repeat !important;
    box-shadow: 0 0 0 1px #E2E2E2;
}

/* "עודכן בסל" confirmation (the tint marks rows in the cart; the stepper shows the quantity) */
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-cardstate {
    grid-area: meta;
    position: relative;
    display: block;
    align-self: center;
    height: 26px;
    pointer-events: none;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-cardstate .b2b-incart-ok {
    height: 26px;
    font-size: 12px;
}

/* guests (no quantity column): login button at the end of the second line */
html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.pleaselogin) {
    grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 44px auto;
    grid-template-areas:
        "img name name name"
        "img meta info price";
}

/* ---------- medium rows ---------- */
@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product {
        --b2b-row-h: 84px;
        --b2b-row-img: 60px;
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) auto 128px 140px 44px;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "img name name price qty info"
            "img meta stock price qty info";
        column-gap: 14px;
        row-gap: 2px;
        padding: 10px 12px !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product a.ast-loop-product__link {
        align-self: end;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product :is(.b2b-sku, .b2b-stock, .b2b-cardstate) {
        align-self: start;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .woocommerce-loop-product__title {
        -webkit-line-clamp: 1;
        font-size: 15px !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-stock {
        grid-area: stock;
        font-size: 12px;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku {
        padding-inline-start: 0;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .price > :is(.woocommerce-Price-amount, ins) {
        font-size: 16px !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.per_unit, .quantity_step, .sale-data) {
        font-size: 12px !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .quantity.buttons_added {
        min-width: 124px;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.pleaselogin) {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) auto 150px 44px;
        grid-template-areas:
            "img name name price info"
            "img meta stock price info";
    }
}

/* ---------- full rows ---------- */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 168px 96px 132px 112px 140px 44px;
        grid-template-areas:
            "img name sku stock price total qty info"
            "img sub  sku stock price total qty info";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .ast-woo-product-category {
        grid-area: sub;
        display: block !important;
        align-self: start;
        min-width: 0;
        margin: 0 !important;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 12px !important;
        line-height: 1.3 !important;
        color: #6B6B6B !important;
        text-align: start !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product :is(.b2b-sku, .b2b-stock) {
        align-self: center;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku {
        grid-area: sku;
        font-size: 13px;
        text-overflow: clip;   /* 168px fits the word + 13 digits: never cut a barcode */
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-stock {
        font-size: 13px;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-line-total {
        grid-area: total;
        display: block !important;
        align-self: center;
        font-size: 15px;
        font-weight: 600;
        color: #1C1B1F;
        text-align: end;
        white-space: nowrap;
        unicode-bidi: isolate;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-line-total:has(.woocommerce-Price-amount)::before {
        content: "סה״כ ";
        font-size: 12px;
        font-weight: 400;
        color: #6B6B6B;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-line-total__none {
        visibility: hidden;   /* the total appears only for items in the cart; an empty cell is calmer than "—" */
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-cardstate {
        grid-area: total;
        align-self: center;
        justify-self: end;
        width: 96px;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.pleaselogin) {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 168px 96px 180px 44px;
        grid-template-areas:
            "img name sku stock price info"
            "img sub  sku stock price info";
    }
}

/* ---------- toolbar: count + view toggle ---------- */
.b2b-view-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    margin: 0 0 12px;
}

.b2b-count {
    margin: 0 !important;
    font-size: 14px;
    line-height: 1.4;
    color: #5F5F5F;
}

.b2b-count bdi {
    font-variant-numeric: tabular-nums;
}

.b2b-viewtoggle {
    display: inline-flex;
    gap: 2px;
    padding: 2px;
    border: 1px solid #E2E2E2;
    border-radius: 12px;
    background: #fff;
}

.b2b-viewtoggle .b2b-viewbtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #5F5F5F;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.b2b-viewtoggle .b2b-viewbtn:hover {
    background: #F5F5F5;
    color: #1C1B1F;
}

.b2b-viewtoggle .b2b-viewbtn[aria-pressed="true"] {
    background: #FDE3F0;
    color: #A3125A;
}

@media (prefers-reduced-motion: reduce) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product,
    .b2b-viewtoggle .b2b-viewbtn {
        transition: none !important;
    }
}

/* The arrows are built at DOMContentLoaded now, so Elementor's sticky placeholder (a hidden clone of the
   bubbles section) contains copies of them; the arrows set visibility:visible, which would show the copies. */
body .elementor-sticky__spacer .scroll-nav-button,
body .elementor-sticky__spacer .scroll-nav-button:hover {
    visibility: hidden !important;
    pointer-events: none !important;
}

body .elementor-sticky__spacer .b2b-row-nav::before,
body .elementor-sticky__spacer .b2b-row-nav::after {
    display: none !important;
}

/* "הזמנות אחרונות" (b2b-order-tools): the per-product history line ("הוזמן 6 פעמים · אחרון 17/05 · 5 אריזות")
   takes the subtitle place in full rows, and the SKU place in narrower rows (one line, ellipsis). */
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ot-meta {
    grid-area: meta;
    align-self: center;
    min-width: 0;
    padding-inline-start: 14px;
    margin: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px !important;
    line-height: 1.3 !important;
    color: #6B6B6B !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-ot-meta) .b2b-sku {
    display: none !important;
}

@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ot-meta {
        align-self: start;
    }
}

@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ot-meta {
        grid-area: sub;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-ot-meta) .ast-woo-product-category {
        display: none !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-ot-meta) .b2b-sku {
        display: block !important;
    }
}

@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product .price:has(.pricing-tier-loop)::after {
        content: "הנחת כמות";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ot-meta {
        padding-inline-start: 0;
    }
}


/* ==========================================================================================================
   UX upgrade 2026-09 (catalog, staging) - phase 5: navigation polish
   ========================================================================================================== */

/* Bubbles: darker pink text (5.5:1 on the pale pill, was 3.3:1); 44px tap height without making the row taller;
   the current category (on leaf pages the row shows its siblings) is filled; "הכל" goes back to the parent. */
body #cat-list li.product-category .woocommerce-loop-category__title {
    color: #A3125A !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

body #cat-list li.product-category > a {
    display: block;
    margin: -5px 0 !important;
    padding: 5px 0 !important;
}

body #cat-list li.product-category.is-current .woocommerce-loop-category__title {
    background-color: #C8166F !important;
    color: #fff !important;
}

body #cat-list li.product-category.b2b-cat-all .woocommerce-loop-category__title {
    background-color: #fff !important;
    color: #A3125A !important;
    box-shadow: inset 0 0 0 1px #F3B6D4;
}

@media (hover: hover) and (pointer: fine) {
    body #cat-list li.product-category:not(.is-current) > a:hover .woocommerce-loop-category__title {
        background-color: #F8BCDA !important;
    }
}

/* Categories flyout (popup 29447, [columns_menu]): the main column shows all top categories (it was capped at
   560px and hid the last ones without any hint); a soft shadow at the top/bottom edge appears only while the
   column can scroll that way; the current category is marked; "הצג הכל" is a quiet link. */
.three-column-menu-wrapper .menu-column {
    max-height: min(calc(100vh - 220px), 760px) !important;
    overscroll-behavior: contain;
    background:
        linear-gradient(#fff 30%, rgba(255, 255, 255, 0)) top / 100% 36px no-repeat local,
        linear-gradient(rgba(255, 255, 255, 0), #fff 70%) bottom / 100% 36px no-repeat local,
        radial-gradient(farthest-side at 50% 0, rgba(28, 27, 31, 0.16), transparent) top / 100% 12px no-repeat scroll,
        radial-gradient(farthest-side at 50% 100%, rgba(28, 27, 31, 0.16), transparent) bottom / 100% 12px no-repeat scroll,
        #fff;
}

.three-column-menu-wrapper .menu-column .menu-item.is-current {
    box-shadow: inset -3px 0 0 #DF1A81;
}

.three-column-menu-wrapper .menu-column .menu-item.is-current .menu-title {
    color: #A3125A !important;
    font-weight: 600;
}

.three-column-menu-wrapper .sub-menu-item.all-items a {
    display: flex;
    align-items: center;
    min-height: 44px;
    color: #A3125A !important;
    font-size: 14px !important;
    font-weight: 600;
}

/* Mobile menu: the "+" / "−" icon is drawn once (the text "+" beside it is gone). */
#elementor-popup-modal-3786 span.plus-icon {
    font-size: 0;
}

/* "הזמנות אחרונות" for guests: a calm explanation and the login button (opens popup 3713). */
.b2b-guest-gate {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    margin: 8px auto 24px;
    padding: 24px;
    max-width: 520px;
    border-radius: 16px;
    background: #fff;
    text-align: center;
}

.b2b-guest-gate p {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
    color: #1C1B1F;
}

.b2b-guest-gate__btn,
.b2b-guest-gate__btn:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 28px;
    border-radius: 999px;
    background: #DF1A81;
    color: #fff !important;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.b2b-guest-gate__btn:hover {
    background: #C8166F;
    color: #fff !important;
}

/* Login popup: a 20px remember-me box with a 44px tap row; 16px inputs so iOS does not zoom on focus
   (pinch-zoom is allowed again). */
.elementor-login .elementor-field-type-checkbox label,
.elementor-login .elementor-field-type-checkbox .elementor-field-option {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    cursor: pointer;
}

.elementor-login .elementor-field-type-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #DF1A81;
}

@media (max-width: 767px) {
    .elementor-login input.elementor-field,
    .elementor-login input[type="text"],
    .elementor-login input[type="password"] {
        font-size: 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body #cat-list li.product-category .woocommerce-loop-category__title {
        transition: none;
    }
}


/* ==========================================================================================================
   UX review fixes 2026-09-27 (staging)
   ========================================================================================================== */

/* R1. Narrow rows (list width <= 560px: phones, the search sheet): the SKU never truncates.
   The second line had SKU + a 44px info column + the stepper (112px), leaving 76px for a 12-digit SKU at 360px.
   The info button moves to the image corner (as on grid cards, same 44px target), so the SKU gets the full
   middle column; guests (no info, no quantity) lose the empty 44px column. */
@container b2blist (max-width: 560px) {
    /* absolutely positioned inside the grid area "img": bottom-left (inline-end) corner, 10px into the gap;
       the extra classes outrank the category grid rule (0,7,4) that also positions this button */
    html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product button.more-info.more-info {
        grid-area: img;
        position: absolute !important;
        inset: auto auto 0 -10px !important;
        z-index: 2;
        margin: 0 !important;
    }

    html body ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product button.more-info.more-info .more-info-icon {
        width: 24px !important;
        height: 24px !important;
        background-size: 16px 16px !important;
        box-shadow: 0 0 0 1px #E2E2E2, 0 1px 3px rgba(28, 27, 31, 0.12);
    }

    /* The digits only (the "מק״ט" word stays for screen readers): a 13-digit barcode fits next to a stepper at 360px. */
    /* A longer SKU wraps inside the 44px second row instead of being cut. */
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku {
        font-size: 0;
        white-space: normal;
        text-overflow: clip;
        line-height: 1.25;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku bdi {
        font-size: 12px;
        word-break: break-all;
    }

    /* "הזמנות אחרונות": the history line may use two lines (the 44px second row fits two 12px lines), so the
       last part ("5 אריזות") is not cut off. */
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-ot-meta {
        display: -webkit-box !important;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        white-space: normal;
        line-height: 1.25 !important;
    }
}

/* R2. Grid cards: no "בסל: N" chip next to the stepper on desktop either - the stepper already shows the same
   quantity (duplicate information). The tint marks the card; the short "עודכן בסל" confirmation still appears. */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-incart {
    display: none;
}

/* R3. Rows: the guest "להצגת מחיר" button is a full 44px touch target (was 40px). */
html body ul.products.b2b-list.b2b-list > li.product.type-product .pleaselogin :is(a, button) {
    min-height: 44px;
}


/* ==========================================================================================================
   Variant stickers, brand logo line + info lines (2026-09-27, staging)
   Every card prints .b2b-subline right after the product name: the brand logo (.product-logo.b2b-brand; it used to
   sit over the image corner, under the info button in the grid and on top of the stepper in list rows), then the
   variant stickers (.b2b-stickers: ALL the YITH info badges - "חום", "המפ", "לבן", "קטן + פילטר"... - redrawn by
   the theme as the same round discs with the badge's own colours and text).
     grid cards: the logo under the name; the stickers ON THE PHOTO, one row at its bottom-right (inline-start)
                 corner, 42px (36px with 3, 28px with 4+), 6px apart. The photo also holds the "i" (top-left) and at
                 most one promo badge or the out-of-stock label (top-right).
     list rows:  the second line under the name: logo, then the stickers at 24px, 4px apart.
   List rows: max-per-order, points and multiples are small grey lines in the price cell (at most three lines under
   the price, by priority: per-unit > multiples/sale > max per order > quantity-deal note > points; a line that
   does not fit is clipped whole, never cut). Narrow rows (list <= 560px) are 120px (were 100px).
   ========================================================================================================== */

html body li.product .b2b-subline {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 8px;
    min-width: 0;
    margin: 6px 0 0 !important;
    padding: 0 !important;
}

html body li.product .b2b-subline .product-logo.b2b-brand {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
    width: auto !important;
    height: 16px !important;
    max-width: 72px;
    margin: 0 !important;
    padding: 0 !important;
    text-align: start;
    animation: b2b-subline-in 0.18s ease-out both;
}

@keyframes b2b-subline-in {
    from {
        opacity: 0;
    }
}

html body li.product .b2b-subline .product-logo.b2b-brand img {
    display: block !important;
    width: auto !important;
    height: 16px !important;
    max-width: 100% !important;
    max-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: right center;
}

/* the sticker: a round disc in the badge's colours with its text */
html body li.product .b2b-stickers {
    --b2b-st: 42px;
    --b2b-st-fs: 10.5px;
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    margin: 0 !important;
    padding: 0 !important;
}

html body li.product .b2b-stickers .b2b-sticker {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: var(--b2b-st);
    height: var(--b2b-st);
    margin: 0 !important;
    padding: 2px;
    border-radius: 50%;
    background: var(--b2b-st-bg, #2D2D2D);
    color: var(--b2b-st-fg, #fff);
    box-shadow: inset 0 0 0 1px rgba(28, 27, 31, 0.1), 0 1px 2px rgba(28, 27, 31, 0.16);
    overflow: hidden;
    text-align: center;
    animation: b2b-sticker-in 0.18s ease-out both;
    animation-delay: calc(var(--b2b-st-i, 0) * 40ms);
}

html body li.product .b2b-stickers .b2b-sticker__t {
    display: block !important;
    max-width: 100%;
    color: inherit !important;
    font-size: var(--b2b-st-fs) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    white-space: normal;
    overflow-wrap: anywhere;
}

@keyframes b2b-sticker-in {
    from {
        opacity: 0;
        transform: scale(0.9);
    }
}

/* grid: the stickers sit on the photo's bottom-right (inline-start) corner; the text line keeps only the logo */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product {
    --b2b-img-bottom: 234px;   /* photo top padding 14 + height 220 (bigger photos, 2026-09-28) */
    --b2b-img-inset: 14px;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product .b2b-stickers {
    position: absolute;
    z-index: 3;
    top: calc(var(--b2b-img-bottom) - var(--b2b-st) - 4px);
    right: var(--b2b-img-inset);
    pointer-events: none;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product .b2b-stickers:has(> :nth-child(3)) {
    --b2b-st: 36px;
    --b2b-st-fs: 9px;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product .b2b-stickers:has(> :nth-child(4)) {
    --b2b-st: 28px;
    --b2b-st-fs: 7px;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product .b2b-subline:not(.has-logo) {
    height: 0;
    margin: 0 !important;
}

/* the one promo badge moves to the top-right corner (the stickers own the bottom one); YITH placed some promo
   badges bottom-right ("כשר לפסח") */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product .container-image-and-badge .yith-wcbm-badge.yith-wcbm-badge {
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    margin: 0 !important;
}

@media (max-width: 1023px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product {
        --b2b-img-bottom: 214px;   /* 14 + 200 */
    }
}

@media (max-width: 767px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce > ul.products:not(.b2b-list) > li.product.type-product {
        --b2b-img-bottom: 166px;   /* padding 6 + height 160 */
        --b2b-img-inset: 6px;
    }
}

@media (prefers-reduced-motion: reduce) {
    html body li.product .b2b-subline .product-logo.b2b-brand,
    html body li.product .b2b-stickers .b2b-sticker {
        animation: none;
    }
}

/* ---------- list rows ---------- */

/* small facts in the price cell: compact wording, one fixed 13px line each, grey, no icons */
html body ul.products.b2b-list.b2b-list > li.product.type-product .price {
    align-self: stretch !important;
    overflow: hidden !important;
    justify-content: center !important;
    justify-content: safe center !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price > :is(.woocommerce-Price-amount, ins) {
    flex: none;
    float: none !important;
    height: 19px;
    margin: 0 !important;
    line-height: 19px !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price span {
    float: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price > del,
html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.per_unit, .quantity_step, .sale-data, .max_per_cart, .loop-product-points) {
    flex: none;
    display: block !important;
    height: 13px !important;
    max-width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 11px !important;
    line-height: 13px !important;
    font-weight: 400 !important;
    color: #6B6B6B !important;
    white-space: nowrap;
    unicode-bidi: isolate;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price > :is(ins, del) :is(.woocommerce-Price-amount, bdi) {
    font-size: inherit !important;
    line-height: inherit !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .per_unit { order: 3; color: #5F5F5F !important; }
html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.sale-data, .quantity_step) { order: 4; }
html body ul.products.b2b-list.b2b-list > li.product.type-product .price .max_per_cart { order: 5; }
html body ul.products.b2b-list.b2b-list > li.product.type-product .price:has(.pricing-tier-loop)::after { order: 6; flex: none; height: 13px; line-height: 13px; }
html body ul.products.b2b-list.b2b-list > li.product.type-product .price .loop-product-points { order: 7; }

html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.max_per_cart, .loop-product-points) :is(svg, span) {
    font-size: inherit !important;
    line-height: inherit !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.max_per_cart, .loop-product-points, .quantity_step) svg {
    display: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .sale-data .perc-savings {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    font-size: 11px !important;
    line-height: 13px !important;
    color: #1E7B34 !important;
    font-weight: 600 !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .sale-data .perc-savings svg {
    display: none !important;
}

/* compact wording from the numbers (the full sentence stays in the grid and in the product popup) */
html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.quantity_step, .max_per_cart, .loop-product-points)[data-n] {
    font-size: 0 !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price :is(.quantity_step, .max_per_cart, .loop-product-points)[data-n] > span {
    display: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .quantity_step[data-n]::after {
    content: "בכפולות של " attr(data-n);
    font-size: 11px;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .max_per_cart[data-n]::after {
    content: "עד " attr(data-n) " יח׳ בהזמנה";
    font-size: 11px;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .price .loop-product-points[data-n]::after {
    content: "קבל " attr(data-n) " נק׳";
    font-size: 11px;
}

/* the old logo place (before the name) and the category subtitle make way for the subline */
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-subline {
    grid-area: sub;
    align-self: center;
    flex-wrap: nowrap;
    height: 24px;
    margin: 0 !important;
    overflow: hidden;
    container: b2bsub / inline-size;
}

/* 24px stickers, 4px apart; they never shrink (the logo gives way first) */
html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-subline .b2b-stickers {
    --b2b-st: 24px;
    --b2b-st-fs: 6px;
    position: static;
    flex: none;
    gap: 4px;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-subline .b2b-sticker {
    padding: 1px;
    box-shadow: inset 0 0 0 1px rgba(28, 27, 31, 0.1);
}

@container b2bsub (max-width: 120px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-subline.has-variants .product-logo.b2b-brand {
        display: none !important;
    }
}

html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) .ast-woo-product-category {
    display: none !important;
}

/* narrow rows (list <= 560px): 120px, three lines
     image | name (2 lines)              | price + facts
           | logo + stickers             |
           | SKU + stock                 | + / stepper                                                     */
@container b2blist (max-width: 560px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product {
        --b2b-row-h: 120px;
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) auto;
        grid-template-rows: minmax(0, 1fr) 24px 44px;
        grid-template-areas:
            "img name price"
            "img sub  price"
            "img meta qty";
        row-gap: 2px;
        padding-top: 5px !important;
        padding-bottom: 5px !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:not(:has(.b2b-subline)) {
        grid-template-areas:
            "img name price"
            "img name price"
            "img meta qty";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.pleaselogin) {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) auto;
        grid-template-areas:
            "img name name"
            "img sub  sub"
            "img meta price";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.pleaselogin):not(:has(.b2b-subline)) {
        grid-template-areas:
            "img name name"
            "img name name"
            "img meta price";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.pleaselogin) .price {
        align-self: center !important;
        overflow: visible !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product a.ast-loop-product__link {
        align-self: center;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product :is(.b2b-sku, .b2b-stock, .b2b-cardstate, .b2b-ot-meta) {
        align-self: center;
    }
}

/* medium rows (561-979px), still 84px: three short lines in the text column - name (1 line) / subline /
   SKU + stock (the history line on "הזמנות אחרונות") */
@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) {
        grid-template-rows: minmax(0, 1fr) 24px 15px;
        grid-template-areas:
            "img name name  price qty info"
            "img sub  sub   price qty info"
            "img meta stock price qty info";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline):has(.pleaselogin) {
        grid-template-areas:
            "img name name  price info"
            "img sub  sub   price info"
            "img meta stock price info";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) a.ast-loop-product__link {
        align-self: end;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) :is(.b2b-sku, .b2b-stock, .b2b-ot-meta, .b2b-cardstate) {
        align-self: center;
        line-height: 15px !important;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-subline {
        align-self: center;
    }
}

/* full rows (>= 980px): the subline replaces the category subtitle under the name */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 168px 96px 132px 112px 140px 44px;
        grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "img name sku stock price total qty info"
            "img sub  sku stock price total qty info";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline):has(.pleaselogin) {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 168px 96px 180px 44px;
        grid-template-areas:
            "img name sku stock price info"
            "img sub  sku stock price info";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) :is(.b2b-sku, .b2b-ot-meta) {
        padding-inline-start: 0;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product .b2b-subline {
        align-self: start;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) :is(.b2b-sku, .b2b-stock, .b2b-cardstate) {
        line-height: 1.3 !important;
    }

    /* "הזמנות אחרונות": subline, then the history line, both under the name */
    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline):has(.b2b-ot-meta) {
        grid-template-columns: var(--b2b-row-img) minmax(0, max-content) minmax(0, 1fr) 168px 96px 132px 112px 140px 44px;
        grid-template-areas:
            "img name name sku stock price total qty info"
            "img sub  hist sku stock price total qty info";
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline):has(.b2b-ot-meta) .b2b-subline {
        container-type: normal;
    }

    html body ul.products.b2b-list.b2b-list > li.product.type-product:has(.b2b-subline) .b2b-ot-meta {
        grid-area: hist;
        align-self: start;
        justify-self: start;
        max-width: 100%;
        padding-inline-start: 12px;
        line-height: 20px !important;
        text-align: start !important;
    }
}

/* ==========================================================================================================
   Owner round 2026-09-27 (after launch)
   ========================================================================================================== */

/* Phone rows (list <= 560px): a bigger product photo (56 -> 80px); the 120px row already has the height. */
@container b2blist (max-width: 560px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product {
        --b2b-row-img: 80px;
    }
}

/* Out of stock in list rows. The grid-card treatment (a white wash over the whole card, a black pill and a bell
   centred on it, Astra's "אזל מן המלאי" over the photo) landed on the title in a 120px row. In rows the status
   line already says "אזל מהמלאי": the photo is dimmed and the "notify me" bell (wc-webhooks) takes the empty
   quantity cell as a 44px button. */
html body ul.products.b2b-list.b2b-list > li.product.type-product .ast-shop-product-out-of-stock {
    display: none !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product.outofstock .astra-shop-thumbnail-wrap img {
    opacity: 0.55;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .outofstock_overlay {
    grid-area: qty;
    justify-self: end;
    align-self: center;
    position: static !important;
    display: flex;
    align-items: center;
    width: auto !important;
    height: auto !important;
    background: none !important;
    border-radius: 0;
    z-index: auto;
    pointer-events: none;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .outofstock_msg {
    display: none;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .stock-notify-btn {
    position: static !important;
    inset: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #FFF0F7 !important;
    pointer-events: auto;
    transition: background-color 0.15s ease;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .stock-notify-btn:hover {
    background: #FFE1EF !important;
}

html body ul.products.b2b-list.b2b-list > li.product.type-product .stock-notify-btn svg {
    width: 20px;
    height: 20px;
}

/* Wider lists (rows 84px): the photo 60 -> 72px, the full row height minus its 6px padding. */
@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list > li.product.type-product {
        --b2b-row-img: 72px;
    }
}

/* Out of stock, one message per card and the "notify me" bell always where the + would be.
   Rows: the status line ("אזל מהמלאי") is the message (rules above). Grid cards: the status line is not shown,
   so the plugin's pill is the message, as a small label on the photo; Astra's own "אזל מן המלאי" over the photo is
   hidden whenever the plugin's overlay is there (it stays as the fallback when the plugin is off). No white wash
   over the whole card: the photo is dimmed instead. */
html body ul.products > li.product.outofstock .astra-shop-thumbnail-wrap img {
    opacity: 0.55;
}

html body ul.products > li.product:has(.outofstock_overlay) .ast-shop-product-out-of-stock {
    display: none !important;
}

html body ul.products:not(.b2b-list) > li.product .outofstock_overlay {
    position: absolute !important;
    inset: 0 !important;
    width: auto !important;
    height: auto !important;
    background: none !important;
    z-index: 3;
    pointer-events: none;
}

/* The theme's own badge on the photo ("אזל מהמלאי", b2b-badge--oos) is the grid message: the plugin's
   "אזל במלאי זמנית" pill would be a second one on the same photo. */
html body ul.products > li.product:has(.b2b-badge--oos) .outofstock_msg {
    display: none !important;
}

html body ul.products:not(.b2b-list) > li.product .outofstock_msg {
    position: absolute !important;
    top: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 4px 12px;
    border-radius: 100px;
    background: rgba(28, 27, 31, 0.86);
    color: #fff;
    font-size: 12px !important;
    font-weight: 600;
    line-height: 1.4 !important;
    white-space: nowrap;
}

html body ul.products:not(.b2b-list) > li.product .stock-notify-btn {
    position: absolute !important;
    inset: auto auto 12px 12px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #FFF0F7 !important;
    pointer-events: auto;
    transition: background-color 0.15s ease;
}

html body ul.products:not(.b2b-list) > li.product .stock-notify-btn:hover {
    background: #FFE1EF !important;
}

html body ul.products:not(.b2b-list) > li.product .stock-notify-btn svg {
    width: 20px;
    height: 20px;
}

@media (max-width: 767px) {
    html body ul.products:not(.b2b-list) > li.product .stock-notify-btn {
        inset: auto auto 9px 8px !important;
    }
}

/* Cart confirmation notice (custom-new.js): top-right under the header, fades in and out, one at a time. The chip
   that used to appear on the card or row is gone. */
.b2b-cardstate .b2b-incart-ok,
li.product.b2b-updated .b2b-cardstate .b2b-incart-ok {
    display: none !important;
}

.b2b-cart-toast {
    position: fixed;
    top: calc(var(--b2b-header-bottom, 110px) + 12px);
    right: 16px;
    z-index: 99990;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: min(360px, calc(100vw - 32px));
    padding: 10px 16px 10px 14px;
    border-radius: 14px;
    background: #1C1B1F;
    color: #fff;
    box-shadow: 0 8px 24px rgba(28, 27, 31, 0.22);
    font-size: 14px;
    line-height: 1.35;
    direction: rtl;
    pointer-events: none;
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.b2b-cart-toast.is-on {
    opacity: 1;
    transform: none;
}

.b2b-cart-toast__icon {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #DF1A81;
    color: #fff;
}

.b2b-cart-toast.is-removed .b2b-cart-toast__icon {
    background: #5F5F5F;
}

.b2b-cart-toast.is-removed .b2b-cart-toast__icon::before {
    content: "";
    width: 10px;
    height: 2px;
    border-radius: 1px;
    background: #fff;
}

.b2b-cart-toast__text {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.b2b-cart-toast__text strong {
    font-weight: 700;
}

.b2b-cart-toast__name {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 13px;
    color: #D6D3CC;
}

.b2b-cart-toast__name:empty {
    display: none;
}

/* Out of stock, one message: the theme's own badge (b2b-badge--oos) is the message, so Astra's "אזל מן המלאי"
   over the photo goes whenever it is there (also when the notify plugin is off). */
html body ul.products > li.product:has(.b2b-badge--oos) .ast-shop-product-out-of-stock {
    display: none !important;
}

/* Phones: the cart notice sits over the header (top of the screen) instead of under it, so it never covers the
   sticky breadcrumb row and its filter / sort button. */
@media (max-width: 767px) {
    .b2b-cart-toast {
        top: calc(8px + env(safe-area-inset-top, 0px));
        right: 12px;
        max-width: calc(100vw - 24px);
    }
}

/* Grid cards: the price block is a wrapping flex box with a fixed height (cards line up); its lines stretched to
   fill that height, so "₪2.50 ליח'" floated ~11px under the price. Lines stay together at the top; the spare
   height goes under them. Same on every page that shows these cards. */
html body ul.products:not(.b2b-list) > li.product.type-product .astra-shop-summary-wrap .price {
    align-content: flex-start !important;
}

/* ...and the price amount carried a 7px bottom margin plus the per-unit line 2px top padding (old theme rules):
   price and "₪X ליח'" read as one pair now, 2px apart (the row gap). */
html body ul.products:not(.b2b-list) > li.product.type-product .astra-shop-summary-wrap .price > :is(.woocommerce-Price-amount, ins, del) {
    margin-bottom: 0 !important;
}

html body ul.products:not(.b2b-list) > li.product.type-product .astra-shop-summary-wrap .price .per_unit {
    padding-top: 0 !important;
}

/* ==========================================================================================================
   Card anatomy (2026-09-28, staging): grid cards and list rows show the SAME facts in the SAME order
     name -> brand logo + stickers -> short description -> ordering facts (multiples / limit / points / carton)
     -> price + per-unit + deal -> stock + SKU -> quantity
   (grid cards keep the variant stickers on the photo, where the owner asked for them).
   The ordering facts are printed by the server (functions.php b2b_cux_rules_html(), .b2b-rules > .b2b-rule), so
   a list row has its final height at first paint; the price's own copies stay for the info popup and are hidden
   on cards. List rows grow with their content (every part is server markup, nothing is inserted after paint):
   phones min 120px, wider lists min 84px. The header search panel's rows (.b2bs-real) keep their fixed-height
   layout (its instant placeholders are fixed); only the stepper rules below reach them. The SKU/stock columns of wide rows moved into the name cell's last line,
   which gives the name the width it lacked.
   ========================================================================================================== */

/* the facts block: hidden unless a layout below shows it (the header search panel keeps its own price lines) */
html body li.product .b2b-rules {
    display: none !important;
}

html body li.product .b2b-rules .b2b-rule {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 12px;
    line-height: 16px;
    font-weight: 400;
    color: #5F5F5F;
    white-space: nowrap;
}

/* compact wording: shown only in narrow grid cards (see below) */
html body li.product .b2b-rules .b2b-rule__short {
    display: none;
}

html body li.product .b2b-rules .b2b-rule__i {
    flex: none;
    width: 14px;
    height: 14px;
    color: #8A8A8A;
}

/* ---------- grid cards ---------- */
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 > * {
    order: 9;
}

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 > a.ast-loop-product__link { order: 1; }
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 > .b2b-subline { order: 2; }
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 > .b2b-ot-meta { order: 3; }
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 > .short_description { order: 4; }
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 > .b2b-rules { order: 5; }
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 > .price { order: 6; }
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 > .b2b-listmeta { order: 7; }

/* the price block (price, per-unit, deal, then stock + SKU) sits at the bottom of the text column, so prices line
   up across a row whatever the facts above them; at least 8px under the facts */
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 > .price {
    margin-top: auto !important;
    padding-top: 8px !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .short_description:not(:empty) {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    min-height: 0 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
    color: #6B6B6B !important;
    text-align: start !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-rules {
    display: flex !important;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    margin: 6px 0 0 !important;
    padding: 0 !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-rules .b2b-rule {
    max-width: 100%;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-rules .b2b-rule > span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* the text column is a size container: narrow cards (phones, text column <= 180px) use the compact wording so
   every fact stays on one line ("בכפולות של 12", "עד 24 יח' בהזמנה", "קבל 150 נק'", "בקרטון: 40") */
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 {
    container: b2bcard / inline-size;
}

@container b2bcard (max-width: 180px) {
    html body li.product .b2b-rules .b2b-rule__full {
        display: none;
    }

    html body li.product .b2b-rules .b2b-rule__short {
        display: inline;
    }
}

/* the price block's own lines: deal / VAT lines go ABOVE the price amount (with the facts), the per-unit line
   under it; a card without a per-unit line keeps that line's height, so the price amount's top is the same on
   every card of a row */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > :is(.sale-data, .inc_vat, .quantity-pricing-wrapper, .pricing-tier-loop) {
    order: 5 !important;
    flex-basis: 100%;
    margin: 0 0 4px !important;
}

/* sale: the new price (ins) and the old one (del) are exactly one price line tall, like a normal price (their inner
   spans took the global 18px / taller line boxes, so the sale price sat 9px lower than its neighbours) */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > :is(.woocommerce-Price-amount, ins, del) {
    height: 22px !important;
    line-height: 22px !important;
    overflow: visible;
}

/* the old price is smaller: a short line box that sits on the price's baseline without making the line taller */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price.price > del {
    height: auto !important;
    line-height: 14px !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > :is(ins, del) :is(.woocommerce-Price-amount, bdi) {
    font-size: inherit !important;
    line-height: inherit !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price:not(:has(> .per_unit, .pleaselogin)) {
    padding-bottom: 20px !important;
}

/* the per-unit line is exactly 18px (+ the 2px row gap = the 20px reserved above) */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .price > :is(.per_unit, .b2b-pack) {
    height: 18px !important;
    line-height: 18px !important;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product:has(.b2b-rules) .price :is(.quantity_step, .max_per_cart, .loop-product-points) {
    display: none !important;
}

/* stock + SKU under the price: a dot (the word stays for screen readers) and the digits */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-listmeta {
    display: flex !important;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin: 6px 0 0 !important;
    font-size: 12px;
    line-height: 16px;
    color: #6B6B6B;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-listmeta .b2b-stock {
    order: -1;
    flex: none;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #2E8B57;
    font-size: 0;
    overflow: hidden;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-listmeta .b2b-stock.is-out {
    background: #B3261E;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-listmeta .b2b-sku {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px;
    line-height: 16px;
    color: #6B6B6B;
}

body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-listmeta .b2b-sku bdi {
    font-variant-numeric: tabular-nums;
}

@media (max-width: 767px) {
    /* phone cards: the digits only ("מק״ט" stays for screen readers), so a 13-digit barcode fits at 360px */
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-listmeta .b2b-sku {
        font-size: 0;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .b2b-listmeta .b2b-sku bdi {
        font-size: 12px;
    }
}

/* ---------- list rows: shared ---------- */
html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .short_description:not(:empty) {
    grid-area: desc;
    position: static !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    min-width: 0;
    min-height: 0 !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 16px !important;
    font-weight: 400 !important;
    color: #6B6B6B !important;
    text-align: start !important;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.pleaselogin) .b2b-rules,
html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.b2b-rules) .price :is(.loop-product-points, .max_per_cart, .quantity_step) {
    display: none !important;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:not(:has(.pleaselogin)) .b2b-rules {
    grid-area: rules;
    justify-self: stretch;
    align-self: start;
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px 14px;
    min-width: 0;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    overflow: visible;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-subline {
    margin: 4px 0 0 !important;
    align-self: start;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-ot-meta {
    grid-area: hist;
    align-self: start;
    justify-self: stretch;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    line-height: 16px !important;
}

/* stock + SKU: one line in the name cell (stock first); the card-state chip is not used in rows any more */
html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta {
    grid-area: meta;
    display: flex !important;
    align-items: center;
    align-self: center;
    gap: 8px;
    min-width: 0;
    margin: 0 !important;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-stock {
    order: -1;
    flex: none;
    grid-area: auto;
    justify-self: auto;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-sku {
    display: block !important;
    flex: 0 1 auto;
    grid-area: auto;
    min-width: 0;
    padding: 0 !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap !important;
    font-size: 12px;
    line-height: 16px !important;
    word-break: normal;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-sku bdi {
    word-break: normal !important;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-cardstate {
    display: none !important;
}

/* out of stock: the same corner tag as on the grid photo (the deal / new labels already use it in rows), so a
   phone row says it in words too (its status line is a dot) */
html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .container-image-and-badge .b2b-badge.b2b-badge--oos {
    position: absolute !important;
    z-index: 4;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    display: inline-flex !important;
    align-items: center;
    box-sizing: border-box;
    height: 18px;
    max-width: 100%;
    margin: 0;
    padding: 0 4px;
    border-radius: 0 0 0 6px;
    background: #F1F0EC;
    color: #5F5F5F;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}

/* ---------- list rows: phones (list <= 560px) ----------
     image | name (2 lines)          | price, per-unit, deal
           | logo + stickers         |
           | history (246) / description / facts (full width)
           | stock + SKU             | + / stepper (112px cell in both states: nothing reflows on "+") */
@container b2blist (max-width: 560px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:not(:has(.pleaselogin)) {
        height: auto !important;
        min-height: 120px !important;
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 100px;
        grid-template-rows: auto auto auto auto auto 50px;
        grid-template-areas:
            "img name  price"
            "img sub   price"
            "img hist  hist"
            "img desc  desc"
            "img rules rules"
            "img meta  qty";
        row-gap: 0;
        column-gap: 8px;
        align-items: start;
        align-content: start;
        padding: 8px 10px !important;
    }

    /* the stepper is 100px wide, like on the phone grid cards (36 + 28 + 36) */
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .quantity.buttons_added {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .quantity.buttons_added > a {
        flex: 0 0 36px !important;
        min-width: 36px !important;
        width: 36px !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .quantity.buttons_added > input.qty {
        flex: 1 1 auto !important;
        width: 28px !important;
        min-width: 0 !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:not(:has(.pleaselogin)) .short_description:not(:empty) {
        -webkit-line-clamp: 2;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:not(:has(.pleaselogin)) .price {
        align-self: start !important;
        justify-content: flex-start !important;
        overflow: visible !important;
    }

    /* stock + SKU and the quantity share the last line, centred on the 44px control, 6px under the text */
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:not(:has(.pleaselogin)) .b2b-listmeta,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:not(:has(.pleaselogin)) :is(a.add_to_cart_button, .quantity.buttons_added.placeholder, .product-quantity, .astra-shop-summary-wrap > .product-quantity_new, .outofstock_overlay) {
        align-self: center !important;
        margin-top: 6px !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-stock {
        flex: 0 0 8px;
        width: 8px;
        gap: 0;
        overflow: hidden;
        font-size: 0;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-sku {
        font-size: 0;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-sku bdi {
        font-size: 12px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.b2b-ot-meta) .b2b-sku {
        display: block !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta {
        gap: 6px;
    }
}

/* narrowest phones (list <= 340px, a 360px screen): a 72px photo and 8px sides keep a 13-digit SKU whole */
@container b2blist (max-width: 340px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product {
        --b2b-row-img: 72px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:not(:has(.pleaselogin)) {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-sku bdi {
        letter-spacing: -0.2px;
    }
}

/* ---------- list rows: wider lists (561px and up) ----------
     image | name / logo + stickers / history / description / facts / stock + SKU | price | (total) | qty | i */
@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.b2b-subline) {
        height: auto !important;
        min-height: 84px !important;
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 100px 124px 44px;
        grid-template-rows: repeat(6, auto);
        column-gap: 12px;   /* areas: the medium-row (561-979) and wide-row (>= 980) blocks further down */
        row-gap: 0;
        align-items: start;
        align-content: center;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.pleaselogin),
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.b2b-subline):has(.pleaselogin) {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1fr) 150px 44px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .woocommerce-loop-product__title {
        -webkit-line-clamp: 2;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product a.ast-loop-product__link,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.b2b-subline) a.ast-loop-product__link {
        align-self: start;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta {
        margin-top: 4px !important;
        align-self: start;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-stock {
        font-size: 12px;
        line-height: 16px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-sku {
        font-size: 12px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.b2b-ot-meta) .b2b-sku {
        display: block !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product :is(.price, a.add_to_cart_button, .quantity.buttons_added.placeholder, .product-quantity, .astra-shop-summary-wrap > .product-quantity_new, .no-more-units, .outofstock_overlay, button.more-info) {
        align-self: center !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .price {
        overflow: visible !important;
    }

    /* the "i" is a cell of the row, centred like the price and the quantity (the category grid rule pinned it
       absolutely to the row's top-left corner) */
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product button.more-info.more-info {
        grid-area: info;
        position: static !important;
        inset: auto !important;
        align-self: center !important;
        justify-self: center;
    }

}

/* full rows (>= 980px): the running total gets its own column (columns and areas: the wide-row blocks below) */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-line-total {
        align-self: center;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .ast-woo-product-category {
        display: none !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product:has(.b2b-subline):has(.b2b-ot-meta) .b2b-subline {
        container-type: inline-size;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .b2b-listmeta .b2b-sku {
        text-overflow: clip;
    }
}

/* ---------- the quantity stepper: -, number and + on one centre line, glyphs drawn (the text "-" sat low) ---------- */
html body li.product .quantity.buttons_added,
html body #elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added {
    align-items: center !important;
    padding-top: 0 !important;       /* the theme's 2px top/bottom padding pushed "-" and "+" 2px below the number */
    padding-bottom: 0 !important;
    box-sizing: border-box !important;
}

html body li.product .quantity.buttons_added > a:is(.minus, .plus).no-internal-border,
html body #elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added > a:is(.minus, .plus) {
    display: inline-flex !important;
    align-self: stretch !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background-color: transparent !important;
    background-image: linear-gradient(currentColor, currentColor) !important;
    background-size: 14px 2px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

html body li.product .quantity.buttons_added > a.plus.no-internal-border,
html body #elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added > a.plus {
    background-image: linear-gradient(currentColor, currentColor), linear-gradient(currentColor, currentColor) !important;
    background-size: 14px 2px, 2px 14px !important;
}

html body li.product .quantity.buttons_added > a:is(.minus, .plus).no-internal-border::before,
html body li.product .quantity.buttons_added > a:is(.minus, .plus).no-internal-border::after,
html body #elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added > a:is(.minus, .plus)::before,
html body #elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added > a:is(.minus, .plus)::after {
    content: none !important;
}

html body li.product .quantity.buttons_added > input.qty {
    align-self: center !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 44px !important;
    text-align: center !important;
}

/* the round "+" on cards and rows: the same drawn cross, centred in the 44px disc */
html body li.product a.button.add_to_cart_button.btn-plus {
    font-size: 0 !important;
    line-height: 0 !important;
    background-image: linear-gradient(#fff, #fff), linear-gradient(#fff, #fff) !important;
    background-size: 16px 2px, 2px 16px !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Order pill (b2b-order-tools): "חסרים ₪590.00" stays on one line (it wrapped once spans stopped being 18px) */
html body .b2b-ot-pill :is(.b2b-ot-pill__total, .b2b-ot-pill__msg) {
    white-space: nowrap;
}

/* ---------- Breadcrumb alignment (was set by custom-new.js ~2s after load: the text jumped 40px at 1280) ----------
   The breadcrumb text starts where the bubbles row / grid starts. Bubbles: section f8ed5f8 side padding (0 /
   40 / 30 / 3px by breakpoint) + the widget wrap's 10px, in a 1440px container; breadcrumb: container 76e9292 side
   padding (10 / 10 / 30 / 10px) with a 1440px inner box. */
body .elementor-3684 .elementor-element.elementor-element-040666c > .elementor-widget-container {
    padding-left: clamp(0px, (100vw - 1440px) / 2, 10px) !important;
    padding-right: clamp(0px, (100vw - 1440px) / 2, 10px) !important;
}

@media (max-width: 1366px) {
    body .elementor-3684 .elementor-element.elementor-element-040666c > .elementor-widget-container {
        padding-left: 40px !important;
        padding-right: 40px !important;
    }
}

@media (max-width: 1024px) {
    body .elementor-3684 .elementor-element.elementor-element-040666c > .elementor-widget-container {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media (max-width: 767px) {
    body .elementor-3684 .elementor-element.elementor-element-040666c > .elementor-widget-container {
        padding-left: 3px !important;
        padding-right: 3px !important;
    }
}

/* ---------- Round 3 (final-qa2) ----------
   Pack size is a fact now (b2b_cux_rules_html(), "מארז 12 יח'"): the copy after the price (a line only some cards
   had, which lifted their price ~20px above the row, and started with "·" when it wrapped) is hidden on cards that
   print the facts; guests keep it next to the login button. */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product:has(.b2b-rules) .price .b2b-pack {
    display: none !important;
}

/* Brand logo: a fixed 72 x 16 box (the img also carries width/height), the logo scaled into it from the start
   edge, so the stickers after it keep their place while the image loads (was a 72px slide, CLS 0.0019). */
html body li.product .b2b-subline .product-logo.b2b-brand {
    flex: 0 1 72px;
    width: 72px !important;
    min-width: 0;
}

html body li.product .b2b-subline .product-logo.b2b-brand img {
    width: 100% !important;
    max-width: 72px !important;
    height: 16px !important;
    object-fit: contain !important;
    object-position: right center;
}

/* Header search panel rows (.b2bs-real, the fixed 84 / 120px layout of the panel): the SKU is never cut. The
   "מק״ט" word goes visually (it stays for screen readers, as in phone rows) and the digits keep one line, so a
   13-digit barcode fits the narrow meta cell (was "…9882300" at 1440 with a 98px cell). */
html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku {
    font-size: 0 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .b2b-sku bdi {
    font-size: 12px !important;
    white-space: nowrap !important;
    word-break: normal !important;
}

/* Header search panel rows on wider lists (>= 561px; 564px at 1440): the stock dot + SKU line and the narrower
   quantity stepper (the row grid itself: the panel block further down). */
@container b2blist (min-width: 561px) and (max-width: 979px) {
    html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .b2b-listmeta {
        grid-area: meta;
        display: flex !important;
        align-items: center;
        align-self: center;
        gap: 6px;
        min-width: 0;
        margin: 0 !important;
    }

    html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .b2b-listmeta .b2b-stock {
        order: -1;
        flex: 0 0 8px;
        width: 8px;
        gap: 0;
        overflow: hidden;
        font-size: 0 !important;
        grid-area: auto;
    }

    html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .b2b-listmeta .b2b-sku {
        grid-area: auto;
        padding: 0 !important;
        line-height: 16px !important;
    }

    html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .quantity.buttons_added {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
    }

    html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .quantity.buttons_added > a {
        flex: 0 0 36px !important;
        min-width: 36px !important;
        width: 36px !important;
    }

    html body .b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product .quantity.buttons_added > input.qty {
        flex: 1 1 auto !important;
        width: 28px !important;
        min-width: 0 !important;
    }
}

/* List rows: the photo is a white tile the full height of the row (owner, 2026-09-28), not a small square at the top.
   The photo scales to fill the tile without cropping (packshots carry text). Phones keep the tile widths of the card
   layout (80px, 72px on a 360px screen: the text column needs the room for a whole 13-digit SKU); wider rows use
   96px. Never in the header search panel (fixed 84px rows). */
@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product {
        --b2b-row-img: 96px;
    }
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .astra-shop-thumbnail-wrap {
    height: auto !important;
    align-self: stretch !important;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}

html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul) > li.product.type-product .astra-shop-thumbnail-wrap img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    border-radius: 0;
}

/* Phone rows: the "i" sits inside the photo tile's bottom-left corner (the tile is narrow; the label has the top), not half outside its edge;
   the corner label keeps the top-right corner. */
@container b2blist (max-width: 560px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list.b2b-list > li.product.type-product.type-product.type-product button.more-info.more-info.more-info {
        inset: auto auto 4px 4px !important;
    }
}

/* Owner, 2026-09-28: product cards (grid, list rows, related row, header search panel) show neither the SKU nor the
   carton line ("40 מארזים בקרטון"). The markup stays: the info popup reads the SKU from the card, and the product
   page shows both. Selectors are deliberately heavy: the list / grid card rules set these visible with !important. */
html body ul.products.products.products > li.product.product.product .b2b-listmeta .b2b-sku.b2b-sku.b2b-sku,
html body ul.products.products.products > li.product.product.product .b2b-rules .b2b-rule--carton.b2b-rule--carton {
    display: none !important;
}

/* ...nor the green "in stock" dot: with the SKU gone the stock line would be a lone dot. In-stock cards drop the line
   entirely; out-of-stock cards keep their single "אזל מהמלאי" message. */
html body ul.products.products.products > li.product.product.product .b2b-listmeta.b2b-listmeta.b2b-listmeta:not(:has(.b2b-stock.is-out)) {
    display: none !important;
}

/* Bigger product photos (owner, 2026-09-28). Grid cards (category + search results): 220px tall on desktop, 200 on
   tablets, 160 on phones (less padding around the photo there). List rows: with the SKU off the cards the text column
   no longer needs its room, so the photo tile widens: 100px on phones (88 on 360px screens), 120px on wider rows.
   Not the header search panel (compact fixed rows). */
body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap a {
    height: 220px !important;
}

@media (max-width: 1023px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap a {
        height: 200px !important;
    }
}

@media (max-width: 767px) {
    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap {
        padding: 6px 6px 0 !important;
    }

    body :is(.elementor-3684, .elementor-3756) .elementor-wc-products .woocommerce:not(.b2bs-real) > ul.products:not(.b2b-list) > li.product.type-product .astra-shop-thumbnail-wrap a {
        height: 160px !important;
    }
}

@container b2blist (max-width: 560px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product {
        --b2b-row-img: 100px;
    }
}

@container b2blist (max-width: 340px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product {
        --b2b-row-img: 88px;
    }
}

@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product {
        --b2b-row-img: 120px;
    }
}

/* Fact icons keep their original colours (owner): order limit + multiples blue, points gift pink; text stays grey. */
html body ul.products > li.product .b2b-rules .b2b-rule--max .b2b-rule__i,
html body ul.products > li.product .b2b-rules .b2b-rule--step .b2b-rule__i {
    color: #0092FF !important;
}

html body ul.products > li.product .b2b-rules .b2b-rule--points .b2b-rule__i {
    color: #DF1A81 !important;
}

/* Phones: the cart notice is one line ("עודכן בסל · כמות N") and stops before the header cart (left), so the cart
   icon and its total stay visible while it shows. */
@media (max-width: 767px) {
    .b2b-cart-toast {
        max-width: calc(100vw - 172px);
        padding: 8px 12px 8px 10px;
        gap: 8px;
    }

    .b2b-cart-toast__name {
        display: none !important;
    }

    .b2b-cart-toast__text strong {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .b2b-cart-toast__icon {
        width: 22px;
        height: 22px;
    }
}

/* Cart notice anchored under the header cart icon (custom-new.js sets top / left / arrow), with a small pointer up to
   the cart; the phone rules above keep it to one line. Falls back to the top corner when no cart button is visible. */
.b2b-cart-toast {
    right: auto;
    transform-origin: var(--b2b-toast-arrow, 24px) 0;
    transform: translateY(-6px) scale(0.98);
}

.b2b-cart-toast.is-on {
    transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .b2b-cart-toast,
    .b2b-cart-toast.is-on {
        transition: none;
        transform: none;
    }
}

.b2b-cart-toast::before {
    content: "";
    position: absolute;
    top: -6px;
    left: calc(var(--b2b-toast-arrow, 24px) - 6px);
    width: 12px;
    height: 12px;
    border-radius: 2px;
    background: #1C1B1F;
    transform: rotate(45deg);
}

.b2b-cart-toast.is-free {
    top: calc(var(--b2b-header-bottom, 110px) + 12px);
    left: auto;
    right: 16px;
}

.b2b-cart-toast.is-free::before {
    display: none;
}

@media (max-width: 767px) {
    .b2b-cart-toast {
        right: auto;
        max-width: calc(100vw - 24px);
    }
}

/* Wide list rows (list >= 980px, owner 2026-09-28): the free space between the product and the price becomes a
   details column - short description on top, then the info lines (points / limit / multiples) - so a row reads
   photo | name + logo/stickers | details | price | total | quantity | i. Rows get shorter to scan and the photo
   tile bigger (132px wide, 120px minimum row height). Phones and medium rows keep their stacked layout. */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline),
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline):has(.b2b-ot-meta) {
        --b2b-row-img: 150px;
        min-height: 140px !important;
        grid-template-columns: var(--b2b-row-img) minmax(0, 1.15fr) minmax(200px, 1fr) 140px 112px 140px 44px;
        column-gap: 20px;   /* rows and areas: the logo block further down */
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.pleaselogin),
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline):has(.pleaselogin) {
        grid-template-columns: var(--b2b-row-img) minmax(0, 1.15fr) minmax(200px, 1fr) 180px 44px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product > .astra-shop-summary-wrap > .short_description,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .short_description {
        grid-area: desc;
        align-self: end;
        margin: 0 !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules:not(.b2b-rules--inline) {
        grid-area: rules;
        align-self: start;
        display: flex !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding-top: 4px !important;
    }
}

/* Wide list rows: one clear type scale (owner: font sizes) - name 16/600, details 13px, price 18px, per-unit 12px,
   row total 16px. */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .woocommerce-loop-product__title {
        font-size: 16px !important;
        line-height: 1.35 !important;
        font-weight: 600 !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .short_description,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .short_description * {
        font-size: 13px !important;
        line-height: 1.5 !important;
        color: #5F5F5F !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules .b2b-rule,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules .b2b-rule * {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules .b2b-rule__i {
        width: 15px !important;
        height: 15px !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .price > :is(.woocommerce-Price-amount, ins) {
        font-size: 18px !important;
        height: auto !important;
        line-height: 1.3 !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .price .per_unit {
        font-size: 12px !important;
        height: auto !important;
        line-height: 1.4 !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-line-total,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-line-total * {
        font-size: 16px !important;
    }
}

/* Wide list rows: the text block is centred as a group on the row's middle line (price, stepper and "i" already are).
   Spacer rows above and below; the name's first line pairs with the description, the logo / stickers line with the
   info lines. */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline),
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline):has(.b2b-ot-meta) {
        row-gap: 4px;   /* rows and areas: the logo block below */
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product a.ast-loop-product__link,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .short_description {
        align-self: end !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules:not(.b2b-rules--inline) {
        align-self: start !important;
    }
}

/* The cart notice is one line everywhere ("נוסף לסל · כמות N" / "עודכן בסל · כמות N" / "הוסר מהסל"): no product name. */
.b2b-cart-toast .b2b-cart-toast__name {
    display: none !important;
}

.b2b-cart-toast .b2b-cart-toast__text strong {
    white-space: nowrap;
}

/* Wider list rows (list >= 561px): bigger brand logo (100 x 22) and variant stickers (32px) - owner, 2026-09-28.
   Fixed boxes, so nothing moves when the logo image loads. Phones keep the compact line. */
@container b2blist (min-width: 561px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline {
        height: 34px !important;
        gap: 8px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline .product-logo.b2b-brand {
        flex: 0 1 100px !important;
        width: 100px !important;
        max-width: 100px !important;
        height: 22px !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline .product-logo.b2b-brand img {
        width: 100px !important;
        max-width: 100px !important;
        height: 22px !important;
        max-height: 22px !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline .b2b-stickers {
        --b2b-st: 32px !important;
        --b2b-st-fs: 8px !important;
        gap: 5px;
    }
}

/* Wide list rows (owner, 2026-09-28): the brand logo sits in the details column, level with the name; the "what's
   inside" line goes under the name and the variant stickers under it. The subline box is dissolved here so the logo
   and the stickers are placed separately (its narrow-width logo rule does not apply at this width). Still centred on
   the row's middle line. */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline),
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline):has(.b2b-ot-meta) {
        grid-template-rows: 1fr auto auto auto auto 1fr;
        grid-template-areas:
            "img .    .     price total qty info"
            "img name logo  price total qty info"
            "img desc rules price total qty info"
            "img stk  rules price total qty info"
            "img hist rules price total qty info"
            "img meta .     price total qty info";
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.pleaselogin),
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline):has(.pleaselogin) {
        grid-template-areas:
            "img .    .     price info"
            "img name logo  price info"
            "img desc rules price info"
            "img stk  rules price info"
            "img hist rules price info"
            "img meta .     price info";
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline {
        display: contents !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline .product-logo.b2b-brand {
        grid-area: logo;
        align-self: end !important;
        justify-self: start !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-subline .b2b-stickers {
        grid-area: stk;
        align-self: start !important;
        justify-self: start !important;
        margin-top: 2px;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product a.ast-loop-product__link {
        align-self: end !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .short_description,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules:not(.b2b-rules--inline) {
        align-self: start !important;
    }
}

/* Phone and medium list rows (owner, 2026-09-28): the "what's inside" line goes right under the name, then the brand
   logo + stickers - the same order as the wide rows. */
@container b2blist (max-width: 560px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) {
        grid-template-areas:
            "img name  price"
            "img desc  price"
            "img sub   sub"
            "img hist  hist"
            "img rules rules"
            "img meta  qty";
    }
}

@container b2blist (min-width: 561px) and (max-width: 979px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline) {
        grid-template-areas:
            "img name  price qty info"
            "img desc  price qty info"
            "img sub   price qty info"
            "img hist  price qty info"
            "img rules price qty info"
            "img meta  price qty info";
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.pleaselogin),
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-subline):has(.pleaselogin) {
        grid-template-areas:
            "img name  price info"
            "img desc  price info"
            "img sub   price info"
            "img hist  price info"
            "img rules price info"
            "img meta  price info";
    }
}

/* Wide list rows (owner, 2026-09-28/29): the brand logo stands alone in the details column; every fact (points,
   order limit, multiples) sits under the price, right-aligned with the price lines. */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-rules):not(:has(.pleaselogin)) {
        grid-template-areas:
            "img .    .     price total qty info"
            "img name logo  price total qty info"
            "img desc .     price total qty info"
            "img stk  .     facts total qty info"
            "img hist .     facts total qty info"
            "img meta .     facts total qty info";
    }

    /* price and facts sit 8px higher than the name column's rows (the gap between them stays 8px): two fact lines
       ("נמכר בכפולות של 4" + points) then fit the 140px row instead of stretching it to 155px (owner, 2026-09-30) */
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product:has(.b2b-rules):not(:has(.pleaselogin)) .price {
        align-self: end !important;
        margin-bottom: 8px !important;
    }

    /* the price, per-unit price and facts are right-aligned in their column */
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .price.price {
        align-items: flex-start !important;
        text-align: start !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules.b2b-rules:not(.b2b-rules--inline) {
        grid-area: facts !important;
        align-self: start !important;
        justify-self: start !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        gap: 2px !important;
        width: max-content;
        max-width: none;
        margin: -4px 0 0 !important;
    }

    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-rules.b2b-rules:not(.b2b-rules--inline) .b2b-rule {
        white-space: nowrap;
    }
}

/* Header search panel rows (>= 561px) take the category list rows' layout (owner, 2026-09-28): 120px photo tile,
   name (2 lines) / what's inside / logo + stickers / facts, then price, + / stepper and "i" - instead of the compact
   84px rows. Values copied from the category rows at the same width. */
@container b2blist (min-width: 561px) and (max-width: 979px) {
    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product {
        height: auto !important;
        min-height: 84px !important;
        grid-template-columns: 120px minmax(0, 1fr) 100px 124px 44px !important;
        grid-template-rows: repeat(6, auto) !important;
        grid-template-areas:
            "img name  price qty info"
            "img desc  price qty info"
            "img sub   price qty info"
            "img hist  price qty info"
            "img rules price qty info"
            "img meta  price qty info" !important;
        column-gap: 12px !important;
        row-gap: 0 !important;
        align-items: start !important;
        align-content: center !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:has(.pleaselogin) {
        grid-template-columns: 120px minmax(0, 1fr) 150px 44px !important;
        grid-template-areas:
            "img name  price info"
            "img desc  price info"
            "img sub   price info"
            "img hist  price info"
            "img rules price info"
            "img meta  price info" !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .astra-shop-thumbnail-wrap {
        grid-area: img;
        align-self: center !important;
        width: 120px !important;
        height: 110px !important;
        border-radius: 10px;
        overflow: hidden;
        background: #fff;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .astra-shop-thumbnail-wrap a {
        display: block;
        width: 120px !important;
        height: 110px !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .astra-shop-thumbnail-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain;
        border-radius: 0 !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product a.ast-loop-product__link {
        align-self: start !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .woocommerce-loop-product__title {
        -webkit-line-clamp: 2 !important;
        line-clamp: 2;
        white-space: normal !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .short_description:not(:empty) {
        grid-area: desc;
        display: block !important;
        min-height: 0 !important;
        margin: 4px 0 0 !important;
        font-size: 12px !important;
        line-height: 16px !important;
        text-align: start !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-subline {
        grid-area: sub;
        align-self: start !important;
        height: auto !important;
        margin: 4px 0 0 !important;
        gap: 8px !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-subline .product-logo.b2b-brand {
        width: 100px !important;
        max-width: 100px !important;
        height: 22px !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-subline .product-logo.b2b-brand img {
        max-width: 100px !important;
        max-height: 22px !important;
        height: 22px !important;
        width: auto !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-subline .b2b-stickers {
        --b2b-st: 32px !important;
        --b2b-st-fs: 8px !important;
        gap: 5px;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .b2b-rules {
        grid-area: rules;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 2px 14px;
        margin: 4px 0 0 !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .price {
        align-self: center !important;
        overflow: visible !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-listmeta.b2b-listmeta:not(:has(.b2b-stock.is-out)) {
        display: none !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product button.more-info.more-info {
        grid-area: info;
        position: static !important;
        inset: auto !important;
        align-self: center !important;
    }
}

@container b2blist (min-width: 561px) {
    /* the facts are shown once, in the facts line (as on the category rows) */
    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:has(.b2b-rules) .price :is(.loop-product-points, .max_per_cart, .quantity_step) {
        display: none !important;
    }

    html body .b2bs-panel:not(.is-wide) .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-subline .product-logo.b2b-brand {
        flex: 0 0 100px !important;
    }

    /* out of stock: the words, not a lone dot */
    html body .b2bs-panel:not(.is-wide) .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-listmeta {
        margin-top: 4px !important;
        align-self: start !important;
    }

    html body .b2bs-panel:not(.is-wide) .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .b2b-listmeta .b2b-stock {
        width: auto !important;
        overflow: visible !important;
        font-size: 12px !important;
        line-height: 16px !important;
        gap: 6px;
    }

    /* price lines right-aligned (RTL), like the wide category rows */
    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product .price.price,
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .price.price {
        align-items: flex-start !important;
        text-align: start !important;
    }
}

/* Header search panel rows on phones (<= 560px) take the category list's phone rows (owner, 2026-09-29): 100px photo
   tile, name / what's inside / logo + stickers / facts line, price top-left, + / stepper bottom-left, "i" in the photo's
   corner - instead of the compact 120px rows with the facts squeezed into the price column. Values from the category rows. */
@container b2blist (max-width: 560px) {
    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) {
        height: auto !important;
        min-height: 120px !important;
        grid-template-columns: 100px minmax(0, 1fr) 100px !important;
        grid-template-rows: auto auto auto auto auto 50px !important;
        grid-template-areas:
            "img name  price"
            "img desc  price"
            "img sub   sub"
            "img hist  hist"
            "img rules rules"
            "img meta  qty" !important;
        column-gap: 8px !important;
        row-gap: 0 !important;
        align-items: start !important;
        align-content: start !important;
        padding: 8px 10px !important;
        border-radius: 15px;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .astra-shop-thumbnail-wrap {
        grid-area: img;
        position: relative;
        align-self: stretch !important;
        width: 100px !important;
        height: auto !important;
        min-height: 88px;
        border-radius: 10px;
        overflow: hidden;
        background: #fff;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .astra-shop-thumbnail-wrap a {
        position: absolute;
        inset: 0;
        display: block;
        width: 100% !important;
        height: 100% !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .astra-shop-thumbnail-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain;
        border-radius: 0 !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) a.ast-loop-product__link {
        align-self: start !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .short_description:not(:empty) {
        grid-area: desc;
        display: block !important;
        min-height: 0 !important;
        margin: 4px 0 0 !important;
        font-size: 12px !important;
        line-height: 16px !important;
        text-align: start !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .b2b-subline {
        grid-area: sub;
        align-self: start !important;
        margin: 4px 0 0 !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .b2b-rules {
        grid-area: rules;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        gap: 2px 14px;
        margin: 4px 0 0 !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .price.price {
        grid-area: price;
        align-self: start !important;
        overflow: visible !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:has(.b2b-rules) .price :is(.loop-product-points, .max_per_cart, .quantity_step) {
        display: none !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .b2b-listmeta {
        grid-area: meta;
        margin: 6px 0 0 !important;
        align-self: center !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) .b2b-listmeta.b2b-listmeta:not(:has(.b2b-stock.is-out)) {
        display: none !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) :is(a.add_to_cart_button, .product-quantity, .astra-shop-summary-wrap > .product-quantity_new, .quantity.buttons_added.placeholder) {
        grid-area: qty;
        margin: 6px 0 0 !important;
    }

    html body .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list.b2b-list > li.product.type-product.type-product:not(:has(.pleaselogin)) button.more-info.more-info {
        grid-area: img;
        position: absolute !important;
        inset: auto auto 4px 4px !important;
    }
}

/* Header search panel, wide (owner, 2026-09-30): when its list is >= 980px (autocomplete.js sets .b2bs-panel.is-wide)
   the rows are the category list's wide rows - every category rule applies (their exclusion is only for a panel that
   is not wide). Here only the plugin's own card-grid overrides are lifted: its fixed row height, image height and the
   hidden short description. */
html body .b2bs-panel.is-wide .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product.type-product {
    height: auto !important;
    overflow: visible !important;
}
html body .b2bs-panel.is-wide .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product.type-product .astra-shop-thumbnail-wrap img,
html body .b2bs-panel.is-wide .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product.type-product img.attachment-woocommerce_thumbnail {
    height: 100% !important;
}
html body .b2bs-panel.is-wide .b2bs-real.b2bs-real ul.products.b2b-list.b2b-list > li.product.type-product.type-product .short_description:not(:empty) {
    display: block !important;
    max-height: none !important;
    -webkit-line-clamp: none !important;
}

/* Wide rows (category >= 980 and the wide search panel): an out-of-stock row keeps the 140px height - its
   "אזל מהמלאי" takes the empty quantity cell (no + button there) instead of a new line under the stickers
   (owner, 2026-09-30: "different row heights"). */
@container b2blist (min-width: 980px) {
    html body ul.products.b2b-list.b2b-list:not(.b2bs-panel:not(.is-wide) ul).b2b-list > li.product.type-product.type-product .b2b-listmeta.b2b-listmeta.b2b-listmeta:has(.b2b-stock.is-out) {
        grid-area: qty !important;
        align-self: center !important;
        justify-self: center !important;
        margin: 0 !important;
    }
}

/* ---- Astra Pro (astra-addon) replacements, 2026-10-01 ----
   Lets the site run without the Astra Pro add-on. Verified on staging with the add-on deactivated. */
/* Cart: quantity stays in its own column (the theme positions it absolutely for cards). */
.woocommerce-cart-form td.product-quantity .quantity.buttons_added{position:static;display:inline-flex}
/* Cart (desktop): items and a sticky totals column side by side, as Astra Pro's cart layout did. */
@media (min-width:922px){
 .woocommerce-cart div.woocommerce:has(> .woocommerce-cart-form){display:flex;flex-wrap:wrap;gap:2em;align-items:flex-start}
 .woocommerce-cart div.woocommerce:has(> .woocommerce-cart-form) > *:not(.woocommerce-cart-form):not(.cart-collaterals){flex:0 0 100%;max-width:100%}
 .woocommerce-cart div.woocommerce:has(> .woocommerce-cart-form) > .woocommerce-cart-form{flex:1 1 0;min-width:0}
 .woocommerce-cart div.woocommerce:has(> .woocommerce-cart-form) > .cart-collaterals{flex:0 0 30%;position:sticky;top:2em}
 .woocommerce-cart .cart-collaterals .cart_totals{width:100%;float:none}
}
