/* ==========================================================================================================
   Product details page (PDP), UX upgrade 2026-09 (staging). Loaded on product pages only (includes/pdp.php).
   Template: Elementor single-product 25741. Everything is scoped to it, so the gallery plugin's styles in the
   info popup (3732) and the catalog cards are untouched.
   Calm: one brand colour (#DF1A81) for the price and the primary action only; grey quiet lines; 8px rhythm.
   Motion: opacity/transform only, 150-250 ms, none under prefers-reduced-motion.
   ========================================================================================================== */

.elementor-25741 {
    --pdp-pink: #DF1A81;
    --pdp-pink-dark: #C8166F;
    --pdp-pink-text: #A3125A;
    --pdp-pink-soft: #FFF6FA;
    --pdp-ink: #1c1b1f;
    --pdp-grey: #5f5f66;
    --pdp-line: #e6e3dc;
    --pdp-card: #fff;
    --pdp-ok: #1E7F4F;
    --pdp-bar-h: 64px;
    --pdp-safe: env(safe-area-inset-bottom, 0px);
    --pdp-top: calc(var(--b2b-header-bottom, 0px) + 16px);
}

/* ---------------------------------------------------------------- breadcrumb: path only (the H1 is the name) */
.elementor-25741 .custom-breadcrumbs.woocommerce-breadcrumb {
    font-size: 0 !important;          /* hides the trailing product-name text node; links restore their size */
    line-height: 1.5;
    color: var(--pdp-grey);
}
.elementor-25741 .custom-breadcrumbs.woocommerce-breadcrumb a:not(:first-of-type) {
    font-size: 15px;
    color: var(--pdp-grey);
    text-underline-offset: 3px;
    display: inline-block;
    padding: 10px 0;                  /* 44px tap row */
    line-height: 24px;
}
.elementor-25741 .custom-breadcrumbs.woocommerce-breadcrumb a:first-of-type {
    padding: 14px;
    margin: -14px -14px -14px 0;
    box-sizing: content-box;
    background-origin: content-box;
}
.elementor-25741 .custom-breadcrumbs img.delim {
    width: 14px;
    height: 14px;
    margin: 0 6px;
    vertical-align: middle;
    opacity: .6;
}
.elementor-25741 .custom-breadcrumbs img.delim:last-of-type { display: none; }
/* phones: home + the product's category only (back-link pattern), one line */
@media (max-width: 767px) {
    .elementor-25741 .custom-breadcrumbs.woocommerce-breadcrumb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .elementor-25741 .custom-breadcrumbs.woocommerce-breadcrumb a:not(:first-of-type):not(:last-of-type) { display: none; }
    .elementor-25741 .custom-breadcrumbs img.delim:not(:first-of-type) { display: none; }
    .elementor-25741 .custom-breadcrumbs.woocommerce-breadcrumb a:last-of-type:not(:first-of-type) { max-width: calc(100% - 60px); overflow: hidden; text-overflow: ellipsis; vertical-align: middle; }
}
/* Space above / below the breadcrumb (owner: "extra space"). Elementor's own padding vars won over the ones
   here (higher specificity), and an empty shortcode section (c7c1250) plus a -10px margin added ~30px more.
   Header -> path 12px (8px phones), path -> gallery 12px (8px phones); the 44px link row stays the tap target. */
body .elementor-25741 .elementor-element.elementor-element-c7c1250:not(:has(.elementor-shortcode > *)) { display: none !important; }
body .elementor-25741 .elementor-element.elementor-element-99dc874 { margin-top: 0 !important; }
body .elementor-25741 .elementor-element.elementor-element-99dc874 > .e-con-inner { padding-top: 12px !important; padding-bottom: 0 !important; }
body .elementor-25741 .elementor-element.elementor-element-8d74ee1 > .e-con-inner { padding-top: 12px !important; }
@media (max-width: 767px) {
    body .elementor-25741 .elementor-element.elementor-element-99dc874 > .e-con-inner { padding-top: 8px !important; }
    body .elementor-25741 .elementor-element.elementor-element-8d74ee1 > .e-con-inner { padding-top: 8px !important; }
}

/* ---------------------------------------------------------------- two columns: gallery | buy box */
.elementor-25741 .elementor-element-8d74ee1 { --padding-top: 16px; --padding-bottom: 40px; }
@media (min-width: 768px) {
    .elementor-25741 .elementor-element-8d74ee1 > .e-con-inner {
        flex-direction: row !important;
        align-items: flex-start;
        column-gap: 48px;
    }
    .elementor-25741 .elementor-element-5868d12 {
        --width: calc(54% - 24px) !important;
        --padding-left: 0px; --padding-right: 0px;
    }
    .elementor-25741 .elementor-element-cd0069e {
        --width: calc(46% - 24px) !important;
        position: sticky;
        top: var(--pdp-top);
        align-self: flex-start;
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    .elementor-25741 .elementor-element-8d74ee1 > .e-con-inner { column-gap: 24px; }
    .elementor-25741 .elementor-element-5868d12 { --width: calc(50% - 12px) !important; }
    .elementor-25741 .elementor-element-cd0069e { --width: calc(50% - 12px) !important; }
}

/* Phones: one column. The gallery column dissolves (display: contents) so the order is
   gallery -> buy box -> description/specs, while desktop keeps the details under the gallery. */
@media (max-width: 767px) {
    .elementor-25741 .elementor-element-8d74ee1 { --padding-top: 8px; --padding-bottom: 24px; --padding-left: 16px; --padding-right: 16px; }
    .elementor-25741 .elementor-element-8d74ee1 > .e-con-inner { flex-direction: column !important; row-gap: 16px; }
    .elementor-25741 .elementor-element-5868d12 { display: contents; }
    .elementor-25741 .elementor-element-7241f10 { order: 1; width: 100%; }
    .elementor-25741 .elementor-element.elementor-element-cd0069e { order: 2; --padding-top: 0px; padding-top: 0; }
    .elementor-25741 .elementor-element-b2bpdd1 { order: 3; width: 100%; }
}

/* ---------------------------------------------------------------- gallery */
.elementor-25741 .product-image-widget.desktop-view { gap: 12px; }
.elementor-25741 .product-image-widget .main-image {
    border-color: var(--pdp-line);
    border-radius: 16px;
    background: #fff;
}
.woocommerce-page .elementor-25741 .product-image-widget .main-image img {
    height: 440px;
    border-radius: 16px;
}
.elementor-25741 .product-image-widget .gallery-images { max-height: 440px; gap: 8px; }
.elementor-25741 .product-image-widget .gallery-images img.gallery-image {
    width: 80px;
    height: 80px;
    border-radius: 10px;
    border: 1px solid var(--pdp-line);
    background: #fff;
    object-fit: contain;
    transition: border-color .15s ease, box-shadow .15s ease;
}
.elementor-25741 .product-image-widget img.gallery-image.active {
    border-color: var(--pdp-ink);
    box-shadow: inset 0 0 0 1px var(--pdp-ink);
}
.elementor-25741 .product-image-widget .navigation span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 1px 4px rgba(28, 27, 31, .12);
}
@media (hover: none) {
    .elementor-25741 .product-image-widget .navigation { opacity: 1; }
}
.elementor-25741 .product-logo { top: 12px; left: 12px; }
.elementor-25741 img.category-logo-image { max-height: 24px; max-width: 120px; }

/* Phone slider: a calm, fixed-height frame (no jump when Swiper starts), swipe + dots, no arrows. */
@media (max-width: 767px) {
    .elementor-25741 .product-image-widget.mobile-slider { overflow: visible; }
    .elementor-25741 .mobile-slider .swiper-container { min-height: 0; margin: 0 !important; padding-bottom: 0; position: relative !important; }
    .elementor-25741 .mobile-slider .swiper-container:has(.swiper-pagination) { padding-bottom: 24px; }
    .elementor-25741 .elementor-element-7241f10 > .elementor-widget-container { margin: 0 !important; }
    .elementor-25741 .mobile-slider .swiper-wrapper { margin-bottom: 0; }
    .elementor-25741 .mobile-slider .swiper-slide {
        height: min(260px, 30vh);
        border-color: var(--pdp-line);
        border-radius: 16px;
    }
    .elementor-25741 .mobile-slider .swiper-slide img {
        width: 100%;
        height: 100%;
        max-height: none;
        padding: 16px;
        box-sizing: border-box;
        object-fit: contain;
    }
    .elementor-25741 .mobile-slider .swiper-button-next,
    .elementor-25741 .mobile-slider .swiper-button-prev { display: none !important; }
    .elementor-25741 .product-image-widget .swiper-pagination.swiper-pagination-bullets {
        bottom: 0 !important;
        line-height: 8px;
    }
    .elementor-25741 .mobile-slider .swiper-pagination-bullet {
        width: 8px;
        height: 8px;
        margin: 0 4px !important;
        background: #cfccc6;
        opacity: 1;
        transition: background-color .2s ease, transform .2s ease;
    }
    .elementor-25741 .mobile-slider .swiper-pagination-bullet-active { background: var(--pdp-ink); transform: scale(1.15); }
}

/* ---------------------------------------------------------------- buy box */
.elementor-25741 .elementor-element-cd0069e {
    --gap: 12px 12px;
    --row-gap: 12px;
    gap: 12px;
}
.elementor-25741 .elementor-element-cd0069e > .elementor-element { margin: 0 !important; }
.elementor-25741 .elementor-element-675ff9a { order: 1; }
.elementor-25741 .elementor-element-b2bpdf1 { order: 2; }
.elementor-25741 .elementor-element-cdf969f { order: 3; }
.elementor-25741 .elementor-element-8ebb504 { order: 4; }
.elementor-25741 .elementor-element-50f9679 { order: 5; }
.elementor-25741 .elementor-element-c95ee2b { order: 6; }
.elementor-25741 .elementor-element-6660584 { order: 7; }

.elementor-25741 .elementor-element-675ff9a h1.product_title,
.elementor-25741 #product-title h1 {
    margin: 0;
    font-size: 26px !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    color: var(--pdp-ink);
}
@media (max-width: 767px) {
    .elementor-25741 .elementor-element-675ff9a h1.product_title { font-size: 21px !important; }
}

/* Brand logo + the product's variant stickers (the YITH info badges "חום", "המפ", "לבן", "קטן + פילטר"...), drawn as
   the same round discs as the catalog cards (.b2b-sticker, badge colours via --b2b-st-bg/fg) and lifted off the
   photo: one row that wraps, 8px gap, 44px discs (40px on phones). The disc text is real text (screen readers). */
.b2b-pdp-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 4px; }
.b2b-pdp-brand { display: inline-flex; align-items: center; height: 24px; }
.b2b-pdp-brand img { display: block; height: 24px; width: auto; max-width: 110px; object-fit: contain; }
.b2b-pdp-stickers { --b2b-st: 44px; --b2b-st-fs: 11px; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; }
.b2b-pdp-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;
    padding: 3px;
    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, .1), 0 1px 2px rgba(28, 27, 31, .16);
    overflow: hidden;
    text-align: center;
    animation: b2bPdpSticker .18s ease-out both;
    animation-delay: calc(var(--b2b-st-i, 0) * 40ms);
}
.b2b-pdp-stickers .b2b-sticker__t {
    display: block;
    max-width: 100%;
    color: inherit !important;
    font-size: var(--b2b-st-fs) !important;
    line-height: 1.05 !important;
    font-weight: 700 !important;
    white-space: normal;
    overflow-wrap: anywhere;
}
@keyframes b2bPdpSticker { from { opacity: 0; transform: scale(.9); } }
@media (max-width: 767px) { .b2b-pdp-stickers { --b2b-st: 40px; --b2b-st-fs: 10.5px; } }
/* fallback (catalog helper missing): the YITH sticker itself, made static */
.b2b-pdp-sticker__art { display: block; width: var(--b2b-st); height: var(--b2b-st); }
html body .b2b-pdp-sticker__art .yith-wcbm-badge {
    position: static !important; inset: auto !important; margin: 0 !important; transform: none !important;
    width: var(--b2b-st) !important; height: var(--b2b-st) !important; box-sizing: border-box !important; padding: 3px !important;
    display: flex !important; align-items: center; justify-content: center;
}
.b2b-sticker--yith { background: none !important; box-shadow: none !important; padding: 0 !important; }

/* Facts under the title: SKU (copyable) / stock · pack · carton. */
.b2b-pdp-facts { display: flex; flex-direction: column; gap: 6px; font-size: 14px; line-height: 1.4; color: var(--pdp-grey); }
.b2b-pdp-sku { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; min-height: 32px; }
.b2b-pdp-sku__val {
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
    color: var(--pdp-ink);
    font-size: 15px;
    overflow-wrap: anywhere;
    user-select: all;
}
.b2b-pdp-copy {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 44px;
    min-height: 44px;
    margin: -6px -8px;
    padding: 0 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: var(--pdp-grey);
    font: inherit;
    font-size: 13px;
    cursor: pointer;
}
.b2b-pdp-copy:hover { color: var(--pdp-ink); background: rgba(28, 27, 31, .05); }
.b2b-pdp-copy svg { flex: none; }
.b2b-pdp-copy__ok {
    color: var(--pdp-ok);
    opacity: 0;
    transform: translateX(4px);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
}
.b2b-pdp-copy.is-copied .b2b-pdp-copy__ok { opacity: 1; transform: none; }
.b2b-pdp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
.b2b-pdp-dot { display: none; }
/* the separator belongs to the fact after it, so a wrapped line never ends with a lone dot */
.b2b-pdp-meta > :not(.b2b-pdp-dot) ~ :not(.b2b-pdp-dot)::before { content: "·"; margin-inline-end: 8px; color: #b9b6ae; }
.b2b-pdp-stock { display: inline-flex; align-items: center; gap: 6px; }
.b2b-pdp-stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--pdp-ok); }
.b2b-pdp-stock.is-out { color: #B42318; }
.b2b-pdp-stock.is-out::before { background: #B42318; }
.b2b-pdp-pack, .b2b-pdp-carton { white-space: nowrap; }

/* Short description (ACF, <=25 chars) and the excerpt: quiet supporting text, never a heading look. */
.elementor-25741 .elementor-element-cdf969f,
.elementor-25741 .elementor-element-cdf969f p {
    margin: 0;
    font-size: 16px !important;
    line-height: 1.5 !important;
    color: var(--pdp-ink) !important;
}
.elementor-25741 .elementor-element-8ebb504 .elementor-heading-title {
    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: var(--pdp-grey) !important;
    white-space: pre-line;
}
.elementor-25741 .elementor-element-8ebb504 .elementor-heading-title strong { font-weight: 600; color: var(--pdp-ink); }

/* The buy card: sale note, price + quantity, then the rules as quiet lines. */
.elementor-25741 .elementor-element.elementor-element-50f9679 {
    --padding-top: 16px; --padding-bottom: 16px; --padding-left: 16px; --padding-right: 16px;
    padding: 16px !important;
    --gap: 8px 8px; gap: 8px;
    min-height: 0 !important;
    margin-top: 4px !important;
    background: var(--pdp-card);
    border: 1px solid var(--pdp-line);
    border-radius: 16px;
}
.elementor-25741 .elementor-element-25cc202 { order: 1; }
.elementor-25741 .elementor-element-21a419e { order: 2; }
.elementor-25741 .elementor-element-d085654 { order: 3; }
.elementor-25741 .elementor-element-57c37e2 { order: 4; }
.elementor-25741 .elementor-element-50f9679 > .elementor-element { margin: 0 !important; }
.elementor-25741 .elementor-element-25cc202 .elementor-shortcode:not(:has(.sale-data)) { display: none; }
.elementor-25741 .elementor-element-50f9679 > .elementor-element:has(> .elementor-widget-container > .elementor-shortcode:empty),
.elementor-25741 .elementor-element-25cc202:not(:has(.sale-data)),
.elementor-25741 .elementor-element-57c37e2:not(:has(.elementor-widget)) { display: none; }

.elementor-25741 .elementor-element-21a419e::before { display: none !important; } /* cream overlay of the old sticky row */
.elementor-25741 .elementor-element.elementor-element-57c37e2 { --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; padding: 0 !important; }
.elementor-25741 .elementor-element-21a419e {
    flex-direction: column !important;
    align-items: stretch;
    --gap: 4px 4px; gap: 4px;
}
.elementor-25741 #add-to-cart-wrapper {
    --width: 100% !important;
    width: 100%;
    flex-direction: row !important;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 !important;
    min-height: 56px;
}
.elementor-25741 #add-to-cart-wrapper > .elementor-element { --container-widget-width: auto; width: auto !important; max-width: none; margin: 0 !important; }
.elementor-25741 #add-to-cart-wrapper > .elementor-element-f7f0d19 { flex: 1 1 auto; min-width: 0; }
.elementor-25741 #add-to-cart-wrapper > .elementor-element-0b3c6a5 { flex: none; }

/* Price: pack price is the main price; "כולל מע"מ" and the per-unit price are quiet. */
.elementor-25741 .price-display { font-family: inherit !important; line-height: 1.2; display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 8px; row-gap: 2px; }
.elementor-25741 .price-display .total-price {
    font-size: 28px !important;
    font-weight: 700;
    color: var(--pdp-pink);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    flex-basis: 100%;
    order: 1;
}
.elementor-25741 .price-display .total-price ins { text-decoration: none; }
.elementor-25741 .price-display .total-price del { margin-inline-start: 6px; font-size: 16px; font-weight: 400; color: var(--pdp-grey); }
.elementor-25741 .price-display .price-text { order: 3; font-size: 13px; color: var(--pdp-grey); white-space: nowrap; }
.elementor-25741 .price-display .price-per-unit { order: 2; font-size: 14px !important; color: var(--pdp-grey); line-height: 1.3; white-space: nowrap; }
.elementor-25741 .sale-data { margin: 0 !important; gap: 8px; font-size: 13px; }
.elementor-25741 .sale-data .perc-savings { color: var(--pdp-pink-text); font-weight: 600; font-size: 13px; }
.elementor-25741 .sale-data .perc-savings path { fill: currentColor; }
.elementor-25741 .sale-data .uptodate { color: var(--pdp-grey); font-size: 13px; }

/* Quantity: the theme's +/- stepper, 48px targets. Before the first add only "+" shows: a clear pink pill. */
.elementor-25741 .quantity-control-wrapper { position: relative; margin: 0 !important; display: flex; flex-direction: column; align-items: flex-end; }
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added,
.elementor-25741 .elementor-shortcode .quantity-control-wrapper .quantity.buttons_added {
    position: static !important;
    top: auto;
    margin: 0 !important;
    min-height: 0;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    padding: 0;
    border-radius: 100px;
    box-sizing: border-box;
    width: auto !important;
    flex: none;
    max-width: none !important;
}
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added a.plus,
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added a.minus {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px !important;
    height: 46px !important;
    margin: 0;
    padding: 0;
    border: 0;
    flex: none;
    border-radius: 50%;
    background: transparent;
    font-size: 24px !important;
    line-height: 1;
    text-decoration: none;
    transition: background-color .15s ease, transform .15s ease;
}
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added a:hover { background: rgba(255, 255, 255, .14); }
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added a:active { transform: scale(.94); }
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper input.qty {
    flex: none;
    width: 52px !important;
    max-width: none !important;
    height: 46px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0 !important;
    text-align: center;
    font-size: 18px !important;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added a.plus.disabled {
    opacity: .35;
    pointer-events: none;
}
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added a.plus.disabled::before { content: "+"; }
/* the stepper keeps the site-wide look (pink pill, white text: style.css); first add = one pill "+ הוספה לסל" */
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.buttons_added.initial-state {
    background: transparent !important;
    padding: 0;
}
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.initial-state a.plus {
    width: auto !important;
    min-width: 148px;
    height: 48px !important;
    padding: 0 20px;
    gap: 8px;
    border-radius: 100px;
    background: var(--pdp-pink);
    color: #fff;
    font-size: 16px !important;
    font-weight: 600;
    box-shadow: 0 2px 8px rgba(223, 26, 129, .22);
}
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.initial-state a.plus::before {
    content: "";
    width: 14px;
    height: 14px;
    background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat,
                linear-gradient(currentColor, currentColor) center / 2px 100% no-repeat;
}
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.initial-state a.plus { font-size: 0 !important; }
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.initial-state a.plus::after { content: "הוספה לסל"; font-size: 16px; }
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.initial-state a.plus:hover { background: var(--pdp-pink-dark); }
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.initial-state a.minus,
.elementor-25741 #add-to-cart-wrapper .quantity-control-wrapper .quantity.initial-state input.qty { display: none !important; }
.elementor-25741 .quantity-control-wrapper .no-more-units {
    position: static;
    width: auto;
    margin-top: 6px;
    font-size: 13px;
    color: var(--pdp-grey);
    text-align: end;
    white-space: nowrap;
}
.elementor-25741 .quantity-control-wrapper .no-more-units path { fill: currentColor; }
/* the static "אפשר עד N יח' בהזמנה" line already says it */
.elementor-25741 .elementor-element-50f9679:has(.limit-product .elementor-heading-title) .no-more-units { display: none !important; }

/* "עודכן בסל" after each change (pdp.js), same wording as the catalog cards */
.b2b-pdp-ok {
    position: absolute;
    top: calc(100% + 6px);
    inset-inline-end: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--pdp-ok);
    white-space: nowrap;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .2s ease, transform .2s ease;
    pointer-events: none;
}
.b2b-pdp-ok.is-on { opacity: 1; transform: none; }

/* Rules: quiet grey lines with small grey icons. */
.elementor-25741 .quantity-step-info { margin: 0 !important; gap: 6px; font-size: 14px; color: var(--pdp-grey); }
.elementor-25741 .quantity-step-info svg { width: 16px; height: 16px; }
.elementor-25741 .quantity-step-info path { fill: currentColor; }
.elementor-25741 .limit-product .elementor-heading-title {
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    color: var(--pdp-grey) !important;
    padding-right: 22px !important;
}
.elementor-25741 .limit-product .elementor-heading-title::before { width: 16px !important; height: 16px !important; filter: grayscale(1) opacity(.7); }

/* Back to category: a quiet text link, not a second big button next to the primary action. */
.elementor-25741 .elementor-element-53329e3 { width: auto !important; align-self: flex-start; }
.elementor-25741 .elementor-element-cd0069e .elementor-widget > .elementor-widget-container { margin: 0 !important; }
.elementor-25741 .elementor-element-53329e3 .elementor-button {
    min-height: 44px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: var(--pdp-grey) !important;
    fill: var(--pdp-grey) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    box-shadow: none !important;
    display: inline-flex;
    align-items: center;
}
.elementor-25741 .elementor-element-53329e3 .elementor-button:hover .elementor-button-text { text-decoration: underline; text-underline-offset: 3px; }
.elementor-25741 .elementor-element-53329e3 .elementor-button svg { width: 14px; height: 14px; }

/* Points and tier table: small, grey. */
.elementor-25741 .product-points { display: flex; align-items: center; gap: 6px; font-size: 14px; color: var(--pdp-grey); }
.elementor-25741 .product-points svg { width: 16px; height: 16px; }
.elementor-25741 .product-points path { fill: #9a979f; }
.elementor-25741 .product-points span { font-size: 14px !important; }
.elementor-25741 .elementor-element-6660584:not(:has(.product-points)),
.elementor-25741 .elementor-element-c95ee2b:not(:has(table, .quantity-pricing-table, div div)) { display: none; }

/* Guests: one calm login button in place of the price. */
.elementor-25741 #add-to-cart-wrapper .pleaselogin { margin: 0; }
.elementor-25741 #add-to-cart-wrapper .pleaselogin button {
    width: auto;
    min-width: 176px;
    min-height: 48px;
    padding: 0 20px;
    font-size: 16px !important;
    white-space: nowrap;
}

/* ---------------------------------------------------------------- phone: purchase row sticks above the order bar */
@media (max-width: 767px) {
    body.single-product.b2b-pdp-has-buybar { padding-bottom: calc(var(--pdp-bar-h, 64px) + env(safe-area-inset-bottom, 0px)) !important; }
    body.single-product.b2b-pdp-has-buybar.b2b-ot-has-bar {
        padding-bottom: calc(64px + var(--b2b-ot-h, 60px) + env(safe-area-inset-bottom, 0px)) !important;
    }
    .b2b-pdp-slot { position: relative; }
    .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9989;
        box-sizing: border-box;
        width: 100% !important;
        min-height: 0;
        height: calc(var(--pdp-bar-h) + var(--pdp-safe));
        padding: 8px 16px calc(8px + var(--pdp-safe)) !important;
        background: #fff;
        border-top: 1px solid var(--pdp-line);
        box-shadow: 0 -4px 16px rgba(28, 27, 31, .06);
        animation: b2bPdpBarIn .2s ease both;
    }
    body.b2b-ot-has-bar .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed {
        bottom: calc(var(--b2b-ot-h, 60px) + var(--b2b-ot-safe, 0px));
        height: var(--pdp-bar-h);
        padding-bottom: 8px !important;
        box-shadow: none;
    }
    .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed .price-display .total-price { font-size: 20px !important; }
    .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed .price-display .price-text { display: none; }
    .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed .price-display .price-per-unit { font-size: 13px !important; }
    .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed .no-more-units,
    .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed .b2b-pdp-ok { display: none !important; }
    /* one coherent bottom area: while the purchase row is up, the order bar stays expanded under it (no pill) */
    body.b2b-pdp-buybar-on .b2b-ot-bar.is-collapsed { transform: none !important; }
    body.b2b-pdp-buybar-on .b2b-ot-pill { display: none !important; }
    /* scroll-to-top always clears the purchase row (fixed offset: it never jumps when the row appears) */
    body.b2b-pdp-has-buybar.b2b-ot-has-bar #ast-scroll-top { bottom: calc(64px + var(--b2b-ot-h, 60px) + 16px + env(safe-area-inset-bottom, 0px)) !important; }
    body.b2b-pdp-has-buybar:not(.b2b-ot-has-bar) #ast-scroll-top { bottom: calc(64px + 16px + env(safe-area-inset-bottom, 0px)) !important; }
    body.b2bs-open .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed,
    body.cart-is-open .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed { opacity: 0; pointer-events: none; }
}
@keyframes b2bPdpBarIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- description + specifications */
.b2b-pdp-info { margin-top: 32px; border-top: 1px solid var(--pdp-line); }
@media (max-width: 767px) { .b2b-pdp-info { margin-top: 4px; } }
.b2b-pdp-sec { border-bottom: 1px solid var(--pdp-line); }
.b2b-pdp-sec__sum {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 56px;
    list-style: none;
    cursor: pointer;
}
.b2b-pdp-sec__sum::-webkit-details-marker { display: none; }
.b2b-pdp-sec__sum::marker { content: ""; }
.b2b-pdp-sec__title { margin: 0 !important; font-size: 18px !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--pdp-ink) !important; }
.b2b-pdp-sec__chev {
    flex: none;
    width: 10px;
    height: 10px;
    margin-inline-end: 6px;
    border-right: 2px solid var(--pdp-grey);
    border-bottom: 2px solid var(--pdp-grey);
    transform: rotate(135deg);              /* closed: points to the inline end (left in RTL) */
    transition: transform .2s ease;
}
.b2b-pdp-sec[open] .b2b-pdp-sec__chev { transform: translateY(-3px) rotate(45deg); } /* open: points down */
.b2b-pdp-sec__body { padding: 0 0 20px; font-size: 16px; line-height: 1.7; color: #3d3d42; overflow-wrap: anywhere; }
.b2b-pdp-sec[open] .b2b-pdp-sec__body { animation: b2bPdpFade .2s ease both; }
.b2b-pdp-sec__body > :first-child { margin-top: 0; }
.b2b-pdp-sec__body > :last-child { margin-bottom: 0; }
.b2b-pdp-sec__body img { max-width: 100%; height: auto; }
.b2b-pdp-specs { margin: 0; display: grid; grid-template-columns: 1fr; }
.b2b-pdp-spec { display: grid; grid-template-columns: minmax(110px, 38%) 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid #f0ede6; }
.b2b-pdp-spec:first-child { border-top: 0; padding-top: 0; }
.b2b-pdp-spec dt { margin: 0; font-size: 14px; color: var(--pdp-grey); font-weight: 400; }
.b2b-pdp-spec dd { margin: 0; font-size: 15px; color: var(--pdp-ink); font-variant-numeric: tabular-nums; }
.b2b-pdp-spec dd a { color: var(--pdp-pink-text); display: inline-flex; align-items: center; min-height: 44px; margin: -13px 0; }
@keyframes b2bPdpFade { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* ---------------------------------------------------------------- more from the category (real catalog cards) */
.elementor-25741 .elementor-element.elementor-element-b2bpdr0 { --padding-top: 8px; --padding-bottom: 48px; display: flex; flex-direction: column; padding-top: 8px; padding-bottom: 48px; }
.elementor-25741 .elementor-element-b2bpdr0 > .e-con-inner, .elementor-25741 .elementor-element-b2bpdr0:not(:has(> .e-con-inner)) > .elementor-element { width: 100%; max-width: min(100%, 1200px); margin-inline: auto; }
@media (max-width: 1366px) { .elementor-25741 .elementor-element-b2bpdr0 > .e-con-inner, .elementor-25741 .elementor-element-b2bpdr0:not(:has(> .e-con-inner)) > .elementor-element { max-width: min(100%, 1120px); } }
@media (max-width: 767px) { .elementor-25741 .elementor-element.elementor-element-b2bpdr0 { --padding-left: 16px; --padding-right: 16px; --padding-bottom: 32px; padding: 8px 16px 32px; } }
.b2b-pdp-related { --pdp-card-w: 232px; --pdp-card-h: 320px; width: 100%; }
@media (max-width: 1024px) { .b2b-pdp-related { --pdp-card-w: 210px; } }
@media (max-width: 767px) { .b2b-pdp-related { --pdp-card-w: calc((100vw - 32px - 12px) / 2.2); --pdp-card-h: 300px; } }
.b2b-pdp-related__head { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 16px; margin-bottom: 12px; }
.b2b-pdp-related__title { margin: 0 !important; font-size: 20px !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--pdp-ink) !important; }
.b2b-pdp-related__all { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--pdp-pink-text); text-underline-offset: 3px; }
.b2b-pdp-related__body { position: relative; display: block; min-height: var(--pdp-card-h); }
.b2b-pdp-related__phrow { display: flex; gap: 12px; overflow: hidden; }
.b2b-pdp-related__body.is-loaded { min-height: 0; }
.b2b-pdp-related__ph { flex: none; width: var(--pdp-card-w); height: var(--pdp-card-h); border-radius: 12px; background: #f1eee7; animation: b2bPdpPulse 1.4s ease-in-out infinite; }
@keyframes b2bPdpPulse { 50% { opacity: .55; } }
.b2b-pdp-related__cards { animation: b2bPdpFade .25s ease both; }

/* the catalog grid becomes one scroll row (arrows from window.b2bRowNav on desktop, swipe on phones) */
html body.single-product .b2b-pdp-related .elementor-3684 .elementor-wc-products .woocommerce > ul.products.elementor-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 2px 2px 8px !important;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    grid-template-columns: none !important;
}
html body.single-product .b2b-pdp-related .elementor-3684 .elementor-wc-products .woocommerce > ul.products.elementor-grid::-webkit-scrollbar { display: none; }
html body.single-product .b2b-pdp-related .elementor-3684 .elementor-wc-products .woocommerce > ul.products.elementor-grid > li.product {
    flex: 0 0 var(--pdp-card-w) !important;
    width: var(--pdp-card-w) !important;
    max-width: none !important;
    margin: 0 !important;
    scroll-snap-align: start;
}
html body.single-product .b2b-pdp-related .elementor-3684 .elementor-wc-products .woocommerce > ul.products::before,
html body.single-product .b2b-pdp-related .elementor-3684 .elementor-wc-products .woocommerce > ul.products::after { display: none !important; }

/* shared row arrows: centred on the image area, a narrower fade over cards; phones swipe (no arrows) */
.b2b-pdp-related .b2b-row-nav::before, .b2b-pdp-related .b2b-row-nav::after { width: 40px; bottom: 8px; }
.b2b-pdp-related .b2b-row-nav > .scroll-nav-button { top: 90px !important; transform: none; }
.b2b-pdp-related .b2b-row-nav > .scroll-nav-button.scroll-left { left: 4px; }
.b2b-pdp-related .b2b-row-nav > .scroll-nav-button.scroll-right { right: 4px; }
@media (max-width: 767px), (hover: none) {
    .b2b-pdp-related .b2b-row-nav > .scroll-nav-button { display: none !important; }
    .b2b-pdp-related .b2b-row-nav::before, .b2b-pdp-related .b2b-row-nav::after { display: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .elementor-25741 *, .b2b-pdp-related * { animation: none !important; transition: none !important; }
    .elementor-25741 #add-to-cart-wrapper.b2b-pdp-fixed { animation: none !important; }
}

/* ==========================================================================================================
   Product info popup (Elementor popup 3732, opened by the "i" on catalog cards). pdp.js renders .b2b-pp from
   the card; the theme's own fill stays in the DOM but hidden. Desktop: centred modal, photo | details.
   Phones: bottom sheet, one column, the price + stepper row sticks to the sheet's bottom.
   ========================================================================================================== */
#elementor-popup-modal-3732 {
    --pp-pink: #DF1A81;
    --pp-pink-text: #A3125A;
    --pp-ink: #1c1b1f;
    --pp-grey: #5f5f66;
    --pp-line: #e6e3dc;
    --pp-ok: #1E7F4F;
}
#elementor-popup-modal-3732 .dialog-widget-content {
    width: min(920px, calc(100vw - 48px)) !important;
    max-width: none !important;
    border-radius: 20px !important;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(28, 27, 31, .22);
}
#elementor-popup-modal-3732 .dialog-message { width: 100% !important; max-width: 100% !important; }
#elementor-popup-modal-3732 .dialog-widget-content.animated {
    animation-name: b2bPpIn !important;
    animation-duration: .2s !important;
    animation-timing-function: ease-out !important;
}
@keyframes b2bPpIn { from { opacity: 0; transform: translateY(8px) scale(.99); } to { opacity: 1; transform: none; } }

/* close: a real 44px round button in the corner; the focus ring surrounds the button itself */
#elementor-popup-modal-3732 .dialog-close-button {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    z-index: 20;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 50%;
    background: rgba(244, 241, 234, .95) !important;
    color: var(--pp-ink) !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transition: background-color .15s ease;
}
#elementor-popup-modal-3732 .dialog-close-button:hover { background: #ebe6db !important; }
#elementor-popup-modal-3732 .dialog-close-button i { position: static !important; margin: 0 !important; font-size: 18px !important; color: inherit !important; outline: none !important; }
#elementor-popup-modal-3732 .dialog-close-button i,
#elementor-popup-modal-3732 .dialog-close-button i::before { margin: 0 !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; border: 0 !important; }
#elementor-popup-modal-3732 .dialog-close-button:focus { outline: none; }
#elementor-popup-modal-3732 .dialog-close-button:focus-visible { outline: 2px solid var(--pp-pink) !important; outline-offset: 2px; }

/* the two columns */
#elementor-popup-modal-3732 .product-popup.b2b-pp-on {
    display: grid !important;
    grid-template-columns: minmax(0, 44fr) minmax(0, 56fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 32px !important;
    align-items: start;
    max-height: min(88vh, 760px) !important;
    padding: 28px 28px 24px !important;
    overflow-y: auto;
    overscroll-behavior: contain;
    box-sizing: border-box;
}
#elementor-popup-modal-3732 .product-popup.b2b-pp-on > .e-con { display: block !important; width: auto !important; min-width: 0; padding: 0 !important; margin: 0 !important; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; }
#elementor-popup-modal-3732 .product-popup.b2b-pp-on > .e-con > .e-con-inner { width: 100% !important; max-width: none !important; padding: 0 !important; display: block !important; }
/* the theme's fill stays in the DOM (other code reads it) but is not shown */
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .popup-container > .e-con-inner > :not(.b2b-pp),
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .popup-container > :not(.e-con-inner),
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .elementor-element-8cf892f .product-logo,
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .elementor-element-29c170c { display: none !important; }

/* photo: a fixed square box (no jump when the image arrives), dots with 24px targets */
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img { position: sticky; top: 0; margin: 0 !important; }
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .main-image,
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .swiper {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    border: 1px solid var(--pp-line) !important;
    border-radius: 16px;
    background: #fff;
    overflow: hidden;
}
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .main-image img,
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .swiper-slide img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    padding: 16px !important;
    box-sizing: border-box;
    object-fit: contain !important;
    border-radius: 0 !important;
    background: #fff;
}
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .swiper-slide { height: auto; aspect-ratio: 1 / 1; }
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .navigation { opacity: 1; }
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .navigation span {
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; margin: 0 8px; border-radius: 50%;
    background: rgba(255, 255, 255, .92); box-shadow: 0 1px 4px rgba(28, 27, 31, .14);
}
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .swiper-pagination { position: absolute !important; left: 0 !important; right: 0 !important; bottom: 2px !important; top: auto !important; z-index: 2; }
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .gallery-dots,
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .swiper-pagination {
    display: flex;
    justify-content: center;
    gap: 0;
    margin-top: 6px;
    width: 100% !important;
}
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .gallery-dots { position: static !important; }
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .gallery-dots .dot,
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .swiper-pagination-bullet {
    position: relative;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    border-radius: 50%;
    background: transparent !important;
    opacity: 1 !important;
    cursor: pointer;
}
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .gallery-dots .dot::after,
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .swiper-pagination-bullet::after {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    background: #cfccc6;
    transition: background-color .2s ease, transform .2s ease;
}
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .gallery-dots .dot.active::after,
#elementor-popup-modal-3732 .product-popup.b2b-pp-on .swiper-pagination-bullet-active::after { background: var(--pp-ink); transform: scale(1.15); }

/* details column */
.b2b-pp { display: flex; flex-direction: column; gap: 16px; min-width: 0; padding-top: 4px; color: var(--pp-ink); font-size: 15px; line-height: 1.45; }
.b2b-pp__head { display: flex; flex-direction: column; gap: 6px; padding-inline-end: 52px; } /* clear of the close button */
.b2b-pp__title { margin: 0 !important; font-size: 22px !important; line-height: 1.3 !important; font-weight: 600 !important; color: var(--pp-ink) !important; outline: none; }
.b2b-pp__sub { margin: 0 !important; font-size: 15px; color: var(--pp-grey); }
.b2b-pp__badges { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 4px; }
.b2b-pp__brand img { display: block; height: 22px; width: auto; max-width: 110px; object-fit: contain; }
#elementor-popup-modal-3732 .b2b-pp .b2b-stickers.b2b-pp__stickers {
    --b2b-st: 44px; --b2b-st-fs: 11px;
    position: static !important; inset: auto !important; transform: none !important;
    display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 0 !important; padding: 0 !important;
}
#elementor-popup-modal-3732 .b2b-pp .b2b-stickers .b2b-sticker {
    flex: none; display: flex; align-items: center; justify-content: center; box-sizing: border-box;
    width: var(--b2b-st) !important; height: var(--b2b-st) !important; margin: 0 !important; padding: 3px; border-radius: 50%;
    background: var(--b2b-st-bg, #2D2D2D); color: var(--b2b-st-fg, #fff); overflow: hidden; text-align: center;
    box-shadow: inset 0 0 0 1px rgba(28, 27, 31, .1), 0 1px 2px rgba(28, 27, 31, .16);
}
#elementor-popup-modal-3732 .b2b-pp .b2b-stickers .b2b-sticker__t { display: block; max-width: 100%; color: inherit !important; font-size: var(--b2b-st-fs) !important; line-height: 1.05 !important; font-weight: 700 !important; white-space: normal; overflow-wrap: anywhere; }

.b2b-pp__specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; padding: 0; border-top: 1px solid var(--pp-line); }
.b2b-pp__spec { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 8px; padding: 10px 0; border-bottom: 1px solid #f0ede6; min-width: 0; }
.b2b-pp__spec dt { margin: 0; font-size: 13px; color: var(--pp-grey); font-weight: 400; white-space: nowrap; }
.b2b-pp__spec dt::after { content: ":"; }
.b2b-pp__spec dd { margin: 0; font-size: 14px; color: var(--pp-ink); min-width: 0; overflow-wrap: anywhere; }

.b2b-pp__buy {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--pp-line);
    border-radius: 16px;
    background: #fff;
}
.b2b-pp__price { display: flex !important; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0 !important; padding: 0 !important; position: static !important; line-height: 1.2 !important; }
.b2b-pp__price > .woocommerce-Price-amount,
.b2b-pp__price ins .woocommerce-Price-amount { order: 1; font-size: 26px !important; font-weight: 700 !important; color: var(--pp-pink) !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.b2b-pp__price .woocommerce-Price-amount span,
.b2b-pp__price .woocommerce-Price-amount bdi { font-size: inherit !important; color: inherit !important; }
.b2b-pp__price ins { order: 1; text-decoration: none; }
.b2b-pp__price del { order: 2; font-size: 15px; color: var(--pp-grey); }
.b2b-pp__price del .woocommerce-Price-amount { font-size: 15px !important; color: var(--pp-grey) !important; font-weight: 400 !important; }
.b2b-pp__price .per_unit { position: static !important; inset: auto !important; order: 3; flex-basis: 100%; font-size: 14px !important; color: var(--pp-grey) !important; margin: 0 !important; }
.b2b-pp__vat { order: 2; font-size: 13px; color: var(--pp-grey); }
.b2b-pp__price .sale-data { order: 0; flex-basis: 100%; margin: 0 0 2px !important; }
.b2b-pp__price .pleaselogin { order: 1; margin: 0 !important; }
.b2b-pp__price .pleaselogin button { width: auto; min-width: 176px; min-height: 48px; padding: 0 20px; font-size: 16px !important; white-space: nowrap; }
.b2b-pp__rules { display: flex; flex-direction: column; gap: 4px; }
.b2b-pp__rules > * { position: static !important; display: flex !important; align-items: center; gap: 6px; margin: 0 !important; font-size: 13px !important; color: var(--pp-grey) !important; line-height: 1.4 !important; }
.b2b-pp__rules svg, .b2b-pp__rules img { width: 14px !important; height: 14px !important; opacity: .7; }
.b2b-pp__rules path { fill: currentColor; }
.b2b-pp .promo-area { margin: 0 !important; padding: 10px 12px !important; border-radius: 12px; background: #FFF6FA; font-size: 14px; }

/* quantity deals: a calm card in the scrolling body (promo, "mix" list, tier table), above the buy block */
.b2b-pp__deal { display: flex; flex-direction: column; gap: 10px; }
.b2b-pp__deal:empty { display: none; }
#elementor-popup-modal-3732 .b2b-pp__deal .quantity-pricing-wrapper {
    display: block !important; position: static !important; inset: auto !important; transform: none !important;
    width: auto !important; max-width: none !important; margin: 0 !important; padding: 14px 16px !important;
    border: 1px solid var(--pp-line); border-radius: 16px; background: #fff; box-shadow: none !important;
    font-size: 14px; line-height: 1.5; text-align: start;
}
#elementor-popup-modal-3732 .b2b-pp__deal .quantity-pricing-table { width: 100% !important; max-width: none !important; margin-top: 10px !important; }
#elementor-popup-modal-3732 .b2b-pp__deal .tier-heading { font-size: 14px !important; font-weight: 700; color: var(--pp-pink-text, #B3126A); }
#elementor-popup-modal-3732 .b2b-pp__deal .promo-products-mix { font-size: 13px !important; color: #3d3d42; }

/* price on the right, the stepper on the left, quiet rules underneath (same order as the PDP buy card) */
.b2b-pp__buy:has(.b2b-pp__action) { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "promo promo" "price action" "rules rules"; align-items: center; column-gap: 12px; row-gap: 0; }
.b2b-pp__buy:has(.b2b-pp__action) .promo-area { grid-area: promo; margin-bottom: 8px !important; }
.b2b-pp__buy:has(.b2b-pp__action) .b2b-pp__price { grid-area: price; }
.b2b-pp__buy:has(.b2b-pp__action) .b2b-pp__action { grid-area: action; margin: 0; }
.b2b-pp__buy:has(.b2b-pp__action) .b2b-pp__rules { grid-area: rules; margin-top: 8px; }

/* the card's real + / stepper, now a normal-flow row (no absolute card positions) */
.b2b-pp__action { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 48px; }
#elementor-popup-modal-3732 .b2b-pp__action > * { position: static !important; inset: auto !important; transform: none !important; margin: 0 !important; }
#elementor-popup-modal-3732 .b2b-pp__action .button.add_to_cart_button.btn-plus {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    width: auto !important; min-width: 148px; height: 48px !important; padding: 0 20px !important;
    border-radius: 100px !important; background: var(--pp-pink) !important; color: #fff !important;
    font-size: 0 !important; line-height: 1 !important; box-shadow: 0 2px 8px rgba(223, 26, 129, .22);
}
#elementor-popup-modal-3732 .b2b-pp__action .button.add_to_cart_button.btn-plus::before { content: "+"; font-size: 22px; font-weight: 400; }
#elementor-popup-modal-3732 .b2b-pp__action .button.add_to_cart_button.btn-plus::after { content: "הוספה לסל"; font-size: 16px; font-weight: 600; }
#elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added,
#elementor-popup-modal-3732 .b2b-pp__action .product-quantity_new .quantity.buttons_added {
    display: inline-flex; align-items: center; justify-content: space-between;
    position: static !important; inset: auto !important; transform: none !important;
    height: 48px !important; width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; border-radius: 100px !important; box-sizing: border-box;
}
#elementor-popup-modal-3732 .b2b-pp__action .product-quantity_new { display: flex; width: auto !important; height: auto !important; }
#elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added a { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 46px !important; height: 46px !important; font-size: 24px !important; line-height: 1 !important; }
#elementor-popup-modal-3732 .b2b-pp__action .quantity.buttons_added input.qty { flex: none; width: 52px !important; max-width: none !important; height: 46px; margin: 0 !important; text-align: center; font-size: 18px !important; font-weight: 600; }
#elementor-popup-modal-3732 .b2b-pp__action .no-more-units { position: absolute !important; top: calc(100% + 4px); inset-inline-end: 0; font-size: 12px; color: var(--pp-grey); white-space: nowrap; }

.b2b-pp__more { border-top: 1px solid var(--pp-line); border-bottom: 1px solid var(--pp-line); }
.b2b-pp__more-sum { display: flex; align-items: center; justify-content: space-between; min-height: 48px; font-size: 16px; font-weight: 600; cursor: pointer; list-style: none; }
.b2b-pp__more-sum::-webkit-details-marker { display: none; }
.b2b-pp__more-sum::marker { content: ""; }
.b2b-pp__more .b2b-pdp-sec__chev { flex: none; width: 10px; height: 10px; margin-inline-end: 6px; border-right: 2px solid var(--pp-grey); border-bottom: 2px solid var(--pp-grey); transform: rotate(135deg); transition: transform .2s ease; }
.b2b-pp__more[open] .b2b-pdp-sec__chev { transform: translateY(-3px) rotate(45deg); }
.b2b-pp__more-body { padding: 0 0 16px; font-size: 15px; line-height: 1.7; color: #3d3d42; overflow-wrap: anywhere; }
.b2b-pp__more-body img { max-width: 100%; height: auto; border-radius: 8px; }
.b2b-pp__more[open] .b2b-pp__more-body { animation: b2bPdpFade .2s ease both; }
.b2b-pp__link { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: 15px; font-weight: 600; color: var(--pp-pink-text) !important; text-decoration: none; }
.b2b-pp__link:hover span { text-decoration: underline; text-underline-offset: 3px; }

/* tablets: a narrower modal */
@media (max-width: 1024px) {
    #elementor-popup-modal-3732 .product-popup.b2b-pp-on { gap: 24px !important; padding: 24px 20px 20px !important; }
    .b2b-pp__specs { grid-template-columns: 1fr; }
}

/* phones: a bottom sheet */
@media (max-width: 767px) {
    #elementor-popup-modal-3732 { align-items: flex-end !important; }
    #elementor-popup-modal-3732 .dialog-widget-content {
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 20px 20px 0 0 !important;
        margin: 0 !important;
    }
    #elementor-popup-modal-3732 .product-popup.b2b-pp-on {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        max-height: 92vh !important;
        max-height: 92dvh !important;
        padding: 60px 16px 0 !important; /* the top row is the close button's */
    }
    #elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img { position: static; max-width: 320px; margin: 0 auto !important; width: 100%; }
    #elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .main-image,
    #elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .swiper,
    #elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .swiper-slide { aspect-ratio: 4 / 3; }
    #elementor-popup-modal-3732 .product-popup.b2b-pp-on .product-img .navigation { display: none; }
    .b2b-pp__title { font-size: 19px !important; }
    #elementor-popup-modal-3732 .b2b-pp .b2b-stickers.b2b-pp__stickers { --b2b-st: 40px; --b2b-st-fs: 10.5px; }
    #elementor-popup-modal-3732 .dialog-close-button { top: 8px !important; left: 8px !important; }
    .b2b-pp__head { padding-inline-end: 0; }
    /* price + stepper stay reachable at the bottom of the sheet */
    .b2b-pp__buy {
        position: sticky; bottom: 0; z-index: 3; order: 10;
        margin: 0 -16px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
        border: 0; border-top: 1px solid var(--pp-line); border-radius: 0;
        box-shadow: 0 -4px 16px rgba(28, 27, 31, .06);
    }
    .b2b-pp__more { order: 8; }
    .b2b-pp__link { order: 9; }
}
@media (prefers-reduced-motion: reduce) {
    #elementor-popup-modal-3732 .dialog-widget-content.animated { animation: none !important; }
    .b2b-pp *, .b2b-pdp-stickers .b2b-sticker { animation: none !important; transition: none !important; }
}
