/* ==========================================================================================================
   Header + footer (UX upgrade 2026-09, staging). Elementor header 29335, footer 38, mobile menu popup 3786,
   categories flyout popup 29447. Layout only: every widget stays where Elementor renders it; the two header
   containers become CSS grids (their inner row containers use display:contents), so no Elementor data move
   is needed. Row heights are fixed so the sticky offsets measured by scripts/custom-new.js at
   elementor/frontend/init (--b2b-header-bottom / --b2b-stack-bottom) stay exact and nothing shifts after paint.
   ========================================================================================================== */

:root {
    --b2b-hf-pink: #DF1A81;
    --b2b-hf-pink-soft: #FBD0E6;
    --b2b-hf-ink: #1C1B1F;
    --b2b-hf-grey: #5F5F66;
    --b2b-hf-line: #E6E3DC;
    --b2b-hf-cream: #FCFAF4;
    /* Side gutter shared by header and footer: follows the product grid's 1420px max width on wide screens. */
    --b2b-hf-gutter: 16px;
    --b2b-hf-row1: 56px;   /* phones: logo row */
    --b2b-hf-row2: 52px;   /* phones: search row (44 + 8) */
    --b2b-hf-ease: cubic-bezier(.2, .7, .2, 1);
}

@media (min-width: 768px) {
    /* 40px = the product grid's side margin on tablets and small laptops. */
    :root { --b2b-hf-gutter: 40px; --b2b-hf-row1: 64px; --b2b-hf-row2: 0px; }
}

@media (min-width: 1280px) {
    :root { --b2b-hf-gutter: 24px; }
}

@media (min-width: 1025px) {
    :root { --b2b-hf-row1: 64px; --b2b-hf-row2: 44px; }
}

/* ---------------------------------------------------------------------------------------------- top bar */
.elementor-29335 .elementor-element.elementor-element-9af1800 {
    --padding-top: 7px;
    --padding-bottom: 7px;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

/* 4.6:1 on the brand pink (was #FCFAF4 = 4.37:1); one calm line. */
.elementor-29335 .elementor-element-cb95cd8 .elementor-heading-title {
    color: #FFFFFF !important;
    font-size: 14px !important;
    font-weight: 600;
    line-height: 20px !important;
    letter-spacing: 0;
    margin: 0 !important;
}

.elementor-29335 .elementor-element-9af1800 > .e-con-inner { padding: 0 !important; }

.elementor-29335 .elementor-element-9af1800 > .elementor-element,
.elementor-29335 .elementor-element-cb95cd8 > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

@media (max-width: 767px) {
    .elementor-29335 .elementor-element.elementor-element-9af1800 {
        padding: 6px 12px !important;
    }

    .elementor-29335 .elementor-element-cb95cd8 .elementor-heading-title {
        font-size: 13px !important;
        line-height: 18px !important;
    }
}

/* The container that only holds HTML widget a351dbd (the old flyout script, a comment after the data replay) added an
   empty 20px band under the header on every page. Scripts inside still run; it takes no space now. */
.elementor-location-header .elementor-element.elementor-element-7bfa549 { display: none !important; }

/* ---------------------------------------------------------------------------------- shared header items */
.elementor-location-header .elementor-widget { margin-bottom: 0 !important; }

/* Widget margins from the old two-row design (e.g. login 30px/18px/12px) would break the grid cells. */
.elementor-29335 .elementor-element-56808d6 .elementor-widget > .elementor-widget-container,
.elementor-29335 .elementor-element-cce0097 .elementor-widget > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

/* Logo (shortcode [user_logo]): a 44px tall link, image sized by height. */
.elementor-location-header .dynamic-img-height a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

.elementor-location-header .dynamic-img-height img {
    display: block;
    width: auto !important;
    max-width: 100%;
    object-fit: contain;
}

/* Search (b2b-search / Elementor search form): container sizing only. */
.elementor-location-header .elementor-widget-search-form { width: 100% !important; max-width: 100%; }
.elementor-location-header .elementor-widget-search-form > .elementor-widget-container { padding: 0 !important; margin: 0 !important; }

.elementor-location-header .elementor-search-form__container {
    min-height: 44px !important;
    height: 44px;
    border-radius: 22px !important;
    overflow: hidden;
}

.elementor-location-header .elementor-search-form__input { min-height: 44px; font-size: 16px; }

.elementor-location-header .elementor-search-form__submit { min-width: 48px; min-height: 44px; }

/* Cart pill: 44px target; the total never changes the width of the header row (fixed cell, see grids). */
.elementor-location-header #cart-toggle-button {
    min-height: 44px;
    min-width: 44px;
    justify-content: center;
}

.elementor-location-header .cart-total-badge {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    font-weight: 600;
}

/* Guests cannot see prices or order: no "₪0" cart for them (one rule; delete it to show the cart again). */
body:not(.logged-in) .elementor-location-header .elementor-widget-shortcode:has(.cart-toggle-button-wrapper) {
    display: none !important;
}

/* The Elementor menu-cart widget only feeds fragments; it takes no space. */
.elementor-location-header .elementor-widget-woocommerce-menu-cart {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden;
    pointer-events: none;
}

/* Points: quiet grey text, 44px target, no pill. */
.elementor-location-header .user-points { display: flex; align-items: center; }

.elementor-location-header .user-points a,
.elementor-location-header a.b2b-points-counter {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 4px;
    color: var(--b2b-hf-grey) !important;
    font-size: 13px !important;
    font-weight: 400;
    white-space: nowrap;
    text-decoration: none;
}

.elementor-location-header .user-points a span { font-size: 13px !important; color: var(--b2b-hf-grey) !important; }
.elementor-location-header .user-points svg { width: 16px; height: 16px; flex: none; stroke: currentColor; }
.elementor-location-header .user-points a:hover,
.elementor-location-header .user-points a:hover span { color: var(--b2b-hf-ink) !important; }

/* Account / login (icon list): one 44px link; greeting = name on top, "לאזור האישי" under it, both 1 line. */
.elementor-location-header .user-login-head,
.elementor-location-header .user-login-head-mob,
.elementor-location-header .user-login-head > .elementor-widget-container,
.elementor-location-header .user-login-head-mob > .elementor-widget-container {
    margin: 0 !important;
    width: auto !important;
    max-width: 100%;
}

.elementor-location-header .user-login-head .elementor-icon-list-item > a,
.elementor-location-header .user-login-head-mob .elementor-icon-list-item > a {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 4px;
}

.elementor-location-header .user-login-head .elementor-icon-list-icon svg,
.elementor-location-header .user-login-head-mob .elementor-icon-list-icon svg { width: 24px; height: 24px; }

.elementor-location-header .user-login-head .elementor-icon-list-icon,
.elementor-location-header .user-login-head-mob .elementor-icon-list-icon { flex: 0 0 24px; width: 24px; padding: 0 !important; margin: 0 !important; }

.elementor-location-header .user-login-head span.elementor-icon-list-text {
    display: block;
    max-width: 150px;
    overflow: hidden;
    padding: 0 !important;
    font-size: 13px !important;
    line-height: 18px !important;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.elementor-location-header .user-login-head span.elementor-icon-list-text br { display: none; }

.elementor-location-header .user-login-head span.elementor-icon-list-text span {
    display: block;
    font-size: 12px !important;
    line-height: 16px;
    color: var(--b2b-hf-pink) !important;
    text-decoration: none !important;
}

.logged-in .elementor-location-header .user-login-head { margin: 0 !important; }

/* ------------------------------------------------------------------------ desktop header (>= 1025px) */
@media (min-width: 1025px) {
    body .elementor-29335 .elementor-element.elementor-element-56808d6 {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) 168px auto 112px;
        grid-template-rows: var(--b2b-hf-row1) var(--b2b-hf-row2);
        grid-template-areas:
            "logo search acct pts cart"
            "cat  nav    agent agent agent";
        align-items: center;
        column-gap: 20px;
        row-gap: 0;
        min-height: 0 !important;
        padding: 0 max(var(--b2b-hf-gutter), calc((100% - 1420px) / 2)) !important;
        border-bottom: 1px solid var(--b2b-hf-line);
        box-shadow: none;
        /* The row divider, inset to the gutters (no element, no layout). */
        background-image: linear-gradient(var(--b2b-hf-line), var(--b2b-hf-line)) !important;
        background-repeat: no-repeat !important;
        background-size: calc(100% - 2 * max(var(--b2b-hf-gutter), calc((100% - 1420px) / 2))) 1px !important;
        background-position: center var(--b2b-hf-row1) !important;
        transition: box-shadow .2s var(--b2b-hf-ease);
    }

    body .elementor-29335 .elementor-element.elementor-element-56808d6.elementor-sticky--active {
        box-shadow: 0 2px 10px rgba(28, 27, 31, .06);
    }

    body .elementor-29335 .elementor-element-56808d6 > .elementor-element-9a837ad,
    body .elementor-29335 .elementor-element-56808d6 > .elementor-element-a9e4dcb { display: contents !important; }

    /* Grid items size to their content (Elementor "initial" widths were a few px wide inside the grid). */
    .elementor-29335 .elementor-element-56808d6 .elementor-widget { width: auto !important; max-width: 100%; }

    body .elementor-29335 .elementor-element-56808d6 > .elementor-element-9e20299 {
        grid-area: logo;
        width: auto !important;
        min-height: 0 !important;
        height: auto !important;
        padding: 0 !important;
        --padding-bottom: 0;
    }

    .elementor-29335 .elementor-element-56808d6 .dynamic-img-height img { height: 40px !important; }

    .elementor-29335 .elementor-element-56808d6 .elementor-element.elementor-element-42ffcf6 { grid-area: search; width: 100% !important; max-width: 640px !important; justify-self: center; }
    .elementor-29335 .elementor-element-56808d6 .elementor-element-04821a1 { grid-area: acct; justify-self: stretch; }
    .elementor-29335 .elementor-element-56808d6 .elementor-element-f8e407a { grid-area: pts; }
    .elementor-29335 .elementor-element-56808d6 .elementor-element-ee05f03 { grid-area: cart; justify-self: end; }
    /* mini-cart.css nudges #category-menu up 4px for the old layout; the grid centres it instead. */
    .elementor-29335 .elementor-element-56808d6 #category-menu.elementor-element-66e1cd9 { grid-area: cat; transform: none !important; }
    .elementor-29335 .elementor-element-56808d6 .elementor-element-6ba5b74 { grid-area: nav; justify-self: start; width: auto !important; }
    .elementor-29335 .elementor-element-56808d6 .elementor-element-9a97ee3 { grid-area: agent; justify-self: end; }

    /* Guests: no points / cart cells, the login sits at the end. */
    body:not(.logged-in) .elementor-29335 .elementor-element.elementor-element-56808d6 {
        grid-template-columns: auto minmax(0, 1fr) auto 0 0;
    }

    /* Row 2: categories + nav links, 44px each, one calm size. */
    .elementor-29335 #category-menu .elementor-button {
        min-height: 44px;
        padding: 0 12px 0 14px !important;
        font-size: 16px !important;
        font-weight: 600;
    }

    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main .elementor-item {
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 0 14px !important;
        font-size: 16px !important;
        line-height: 1 !important;
    }

    /* No vertical dividers between the row-2 links (one quiet row). */
    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main .elementor-nav-menu > li,
    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main .elementor-item,
    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main .elementor-item::before,
    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main .elementor-item::after,
    .elementor-29335 .elementor-element-66e1cd9 .elementor-button {
        border: 0 !important;
        box-shadow: none !important;
    }

    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main .elementor-nav-menu > li:not(:last-child)::after { display: none !important; }

    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main .elementor-item-active,
    .elementor-29335 .elementor-element-6ba5b74 .elementor-nav-menu--main [aria-current="page"] {
        color: var(--b2b-hf-pink) !important;
    }
}

/* ------------------------------------------------------------------------ mobile + tablet header (<= 1024) */
@media (max-width: 1024px) {
    body .elementor-29335 .elementor-element.elementor-element-cce0097 {
        display: grid !important;
        grid-template-columns: 44px auto minmax(0, 1fr) auto auto;
        grid-template-rows: var(--b2b-hf-row1) auto;
        grid-template-areas:
            "menu logo gap  acct cart"
            "srch srch srch srch srch";
        align-items: center;
        column-gap: 8px;
        min-height: 0 !important;
        padding: 0 var(--b2b-hf-gutter) !important;
        border-bottom: 1px solid var(--b2b-hf-line);
        transition: box-shadow .2s var(--b2b-hf-ease);
    }

    body .elementor-29335 .elementor-element.elementor-element-cce0097.elementor-sticky--active {
        box-shadow: 0 2px 10px rgba(28, 27, 31, .06);
    }

    body .elementor-29335 .elementor-element-cce0097 > .e-con { display: contents !important; }

    .elementor-29335 .elementor-element-cce0097 .elementor-widget { width: auto !important; max-width: 100%; }
    .elementor-29335 .elementor-element-cce0097 .elementor-element.elementor-element-e5270ad { width: 100% !important; }

    .elementor-29335 .elementor-element-cce0097 .elementor-element-b06705d { grid-area: menu; }
    .elementor-29335 .elementor-element-cce0097 .elementor-element-7925cbf { grid-area: logo; }
    .elementor-29335 .elementor-element-cce0097 .elementor-element-31f0a12 { display: none !important; }
    .elementor-29335 .elementor-element-cce0097 .elementor-element-f75e4d4 { grid-area: acct; }
    .elementor-29335 .elementor-element-cce0097 .elementor-element-82949a1 { grid-area: acct; }
    .elementor-29335 .elementor-element-cce0097 .elementor-element-431130e { grid-area: cart; justify-self: end; }
    .elementor-29335 .elementor-element-cce0097 .elementor-element-e5270ad { grid-area: srch; padding-bottom: 8px; }

    .elementor-29335 .elementor-element-cce0097 .dynamic-img-height img { height: 32px !important; }

    /* Hamburger: 44px target around the 26px icon. */
    .elementor-29335 .elementor-element-b06705d .elementor-icon-wrapper { display: flex; height: 44px; line-height: 0; }

    .elementor-29335 .elementor-element-b06705d a.elementor-icon {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        margin-inline-start: -9px;
    }

    .elementor-29335 .elementor-element-b06705d a.elementor-icon svg { width: 26px !important; height: 26px !important; }

    .elementor-29335 .elementor-element-cce0097 .elementor-element-82949a1 { min-width: max-content; }
    .elementor-29335 .elementor-element-cce0097 .user-login-head-mob .elementor-icon-list-items { flex-wrap: nowrap !important; }

    /* Guest login: icon + "התחברות" on one line. */
    .elementor-29335 .elementor-element-cce0097 .user-login-head-mob .elementor-icon-list-text {
        font-size: 14px !important;
        padding: 0 !important;
    }
}

/* Tablet and landscape phones: one 64px row with the search in the middle. */
@media (min-width: 768px) and (max-width: 1024px) {
    body .elementor-29335 .elementor-element.elementor-element-cce0097 {
        grid-template-columns: 44px auto minmax(0, 1fr) auto auto;
        grid-template-rows: var(--b2b-hf-row1);
        grid-template-areas: "menu logo srch acct cart";
        column-gap: 16px;
    }

    .elementor-29335 .elementor-element-cce0097 .elementor-element-e5270ad { padding-bottom: 0; max-width: 560px; justify-self: center; }
    .elementor-29335 .elementor-element-cce0097 .dynamic-img-height img { height: 36px !important; }
}

/* Narrow tablets with points + cart in the row: the search would be too short, so it keeps its own row. */
@media (min-width: 768px) and (max-width: 899px) {
    body.logged-in .elementor-29335 .elementor-element.elementor-element-cce0097 {
        grid-template-rows: var(--b2b-hf-row1) auto;
        grid-template-areas:
            "menu logo gap  acct cart"
            "srch srch srch srch srch";
    }

    body.logged-in .elementor-29335 .elementor-element-cce0097 .elementor-element-e5270ad { padding-bottom: 8px; max-width: none; justify-self: stretch; }
}

@media (max-width: 380px) {
    body .elementor-29335 .elementor-element.elementor-element-cce0097 { column-gap: 4px; }
    .elementor-29335 .elementor-element-cce0097 .dynamic-img-height img { height: 28px !important; }
}

/* ---------------------------------------------------------------------------- agent tools ("כלי סוכן") */
.b2b-agent-menu { position: relative; }

.b2b-agent-menu__toggle {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    min-height: 44px;
    padding: 0 12px !important;
    border: 1px solid var(--b2b-hf-line) !important;
    border-radius: 22px !important;
    background: #fff !important;
    color: var(--b2b-hf-ink) !important;
    font: inherit;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    cursor: pointer;
    white-space: nowrap;
}

.b2b-agent-menu__toggle span { font-size: 14px !important; line-height: 1 !important; color: inherit !important; }

.b2b-agent-menu__toggle:hover { border-color: #CFCAC0 !important; }
.b2b-agent-menu__toggle svg { width: 12px; height: 12px; transition: transform .2s var(--b2b-hf-ease); }
.b2b-agent-menu__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.b2b-agent-menu__panel {
    position: absolute;
    top: calc(100% + 6px);
    inset-inline-end: 0;
    z-index: 1000;
    min-width: 220px;
    padding: 6px;
    border: 1px solid var(--b2b-hf-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(28, 27, 31, .12);
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity .18s var(--b2b-hf-ease), transform .18s var(--b2b-hf-ease);
}

.b2b-agent-menu__panel[hidden] { display: none; }
.b2b-agent-menu.is-open .b2b-agent-menu__panel { opacity: 1; transform: none; }

/* The plugin prints inline flex-wrap styles; turn the links into a list. */
.b2b-agent-menu .agent-dashboard-link {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    line-height: 1.3 !important;
    text-align: start !important;
}

.b2b-agent-menu .agent-dashboard-link a.agent-button {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    padding: 0 12px !important;
    border-radius: 8px;
    background: none !important;
    color: var(--b2b-hf-ink) !important;
    text-decoration: none !important;
    white-space: nowrap;
}

.b2b-agent-menu .agent-dashboard-link a.agent-button span { font-size: 14px !important; color: inherit !important; }
.b2b-agent-menu .agent-dashboard-link a.agent-button:hover,
.b2b-agent-menu .agent-dashboard-link a.agent-button:focus-visible { background: #F6F3EC !important; }

/* Inside the mobile menu the panel is an inline accordion. */
.elementor-popup-modal .b2b-agent-menu__toggle { width: 100%; justify-content: space-between; }
.elementor-popup-modal .b2b-agent-menu__panel {
    position: static;
    margin-top: 6px;
    box-shadow: none;
    transform: none;
}

/* ------------------------------------------------------------------------------ categories flyout 29447 */
/* Directly under the real header bottom (header-footer.js keeps --b2b-hf-flyout-top current while it is open). */
#elementor-popup-modal-29447.elementor-popup-modal { top: var(--b2b-hf-flyout-top, 143px); }

/* ---------------------------------------------------------------------------------- mobile menu 3786 */
#elementor-popup-modal-3786 .dialog-close-button {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 44px !important;
    height: 44px !important;
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    padding: 0 !important;
    font-size: 18px !important;
    outline-offset: -2px;
}

#elementor-popup-modal-3786 .dialog-close-button i { font-size: 18px; }

/* Rows: the whole 52px row is the link (the text alone was a 24px target); calm ink labels, pink = current. */
#elementor-popup-modal-3786 .menu-item > a,
#elementor-popup-modal-3786 .menu-item .menu-title {
    display: flex !important;
    align-items: center;
    min-height: 52px;
    flex: 1 1 auto;
    color: var(--b2b-hf-ink) !important;
}

#elementor-popup-modal-3786 .menu-item > a[aria-current],
#elementor-popup-modal-3786 .menu-item.is-current > a { color: var(--b2b-hf-pink) !important; }

#elementor-popup-modal-3786 .elementor-search-form__container { max-width: 100%; min-height: 44px !important; border-radius: 22px !important; }
#elementor-popup-modal-3786 .elementor-search-form__input,
#elementor-popup-modal-3786 .elementor-search-form__submit { min-height: 44px; }
#elementor-popup-modal-3786 .elementor-widget-button .elementor-button { min-height: 44px; display: inline-flex; align-items: center; }
#elementor-popup-modal-3786 .elementor-widget-search-form { width: 100% !important; }

#elementor-popup-modal-3786 .elementor-icon-list-item > a { min-height: 44px; display: flex !important; align-items: center; }

#elementor-popup-modal-3786 .elementor-widget-icon a.elementor-icon {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
}

/* ------------------------------------------------ mobile menu 3786: category drawer (catalog redesign WP-D) */
/* Markup: header-footer.php replaces the [mobile_menu] output with nav.b2b-drawer (shortcuts + chevron accordions).
   Only the drawer panel scrolls; the backdrop and the page behind stay put (Elementor locks the body). */
#elementor-popup-modal-3786.elementor-popup-modal { overflow: hidden !important; overscroll-behavior: contain; }
/* The message box scrolls, not the dialog, so the 44px close button (absolute in the dialog) stays in reach. */
#elementor-popup-modal-3786 .dialog-widget-content { max-height: 100vh; max-height: 100dvh; overflow: hidden !important; }
#elementor-popup-modal-3786 .dialog-message {
    max-height: 100vh;
    max-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
#elementor-popup-modal-3786 .dialog-close-button {
    z-index: 2;
    background: #fff !important;
    border-radius: 12px;
    box-shadow: 0 0 0 1px #EBEBEB, 0 2px 6px rgba(28, 27, 31, .08);
}
#elementor-popup-modal-3786 .dialog-close-button i { background: transparent !important; }

#elementor-popup-modal-3786 .b2b-drawer {
    --b2b-dr-ink: #1C1B1F;
    --b2b-dr-grey: #6B6B6B;
    --b2b-dr-line: #EBEBEB;
    --b2b-dr-cur: #A3125A;
    --b2b-dr-hover: #F4F1EA;
    font-family: "Noto Sans Hebrew", sans-serif;
    color: var(--b2b-dr-ink);
}

#elementor-popup-modal-3786 .b2b-drawer ul { list-style: none; margin: 0; padding: 0; }
#elementor-popup-modal-3786 .b2b-drawer li { margin: 0; padding: 0; }

/* Shortcuts: 3 quiet rows with 20px line icons, then a 12px gap and one hairline before the tree. */
#elementor-popup-modal-3786 .b2b-drawer__shortcuts {
    padding-bottom: 12px;
    margin-bottom: 4px;
    border-bottom: 1px solid var(--b2b-dr-line);
}

#elementor-popup-modal-3786 .b2b-drawer__short {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 48px;
    padding: 0 8px;
    border-radius: 12px;
    color: var(--b2b-dr-ink) !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    outline-offset: -2px;
}

#elementor-popup-modal-3786 .b2b-drawer__short .b2b-drawer__icon { flex: none; color: var(--b2b-dr-grey); }
#elementor-popup-modal-3786 .b2b-drawer__short[aria-current] { color: var(--b2b-dr-cur) !important; font-weight: 600; }
#elementor-popup-modal-3786 .b2b-drawer__short[aria-current] .b2b-drawer__icon { color: var(--b2b-dr-cur); }

/* Tree rows: the name is the link (48px, whole row), the chevron is its own 44x48 button at the inline end. */
#elementor-popup-modal-3786 .b2b-drawer__list--d0 > .b2b-drawer__item { border-bottom: 1px solid var(--b2b-dr-line); }
#elementor-popup-modal-3786 .b2b-drawer__list--d0 > .b2b-drawer__item:last-child { border-bottom: 0; }

#elementor-popup-modal-3786 .b2b-drawer__row { display: flex; align-items: stretch; }

#elementor-popup-modal-3786 .b2b-drawer__link {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    min-height: 48px;
    padding: 4px 8px;
    border-radius: 10px;
    color: var(--b2b-dr-ink) !important;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;
    outline-offset: -2px;
}

#elementor-popup-modal-3786 .b2b-drawer__toggle {
    flex: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-height: 48px;
    margin: 0;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--b2b-dr-grey) !important;
    cursor: pointer;
    outline-offset: -2px;
    -webkit-tap-highlight-color: transparent;
}

/* The global ring (2px pink, offset 2) is drawn inset here: open panels clip their overflow for the height animation. */
#elementor-popup-modal-3786 .b2b-drawer a:focus-visible,
#elementor-popup-modal-3786 .b2b-drawer button:focus-visible { outline-offset: -2px !important; }

#elementor-popup-modal-3786 .b2b-drawer__toggle .b2b-drawer__icon { transition: transform 200ms ease; }
#elementor-popup-modal-3786 .b2b-drawer__item.is-open > .b2b-drawer__row > .b2b-drawer__toggle .b2b-drawer__icon { transform: rotate(180deg); }

@media (hover: hover) {
    #elementor-popup-modal-3786 .b2b-drawer__short:hover,
    #elementor-popup-modal-3786 .b2b-drawer__link:hover,
    #elementor-popup-modal-3786 .b2b-drawer__toggle:hover { background: var(--b2b-dr-hover) !important; }
}

/* Expand: the panel grows 0fr -> 1fr (200ms) while its list fades in and settles 4px (160ms). Collapsed panels are
   visibility:hidden, so their links are out of the tab order and the accessibility tree. */
#elementor-popup-modal-3786 .b2b-drawer__panel {
    display: grid;
    grid-template-rows: 0fr;
    visibility: hidden;
    transition: grid-template-rows 200ms var(--b2b-hf-ease), visibility 0s linear 200ms;
}

#elementor-popup-modal-3786 .b2b-drawer__item.is-open > .b2b-drawer__panel {
    grid-template-rows: 1fr;
    visibility: visible;
    transition: grid-template-rows 200ms var(--b2b-hf-ease), visibility 0s;
}

#elementor-popup-modal-3786 .b2b-drawer__inner { min-height: 0; overflow: hidden; }

/* A group above the tapped one closes instantly (header-footer.js keeps the tapped row under the finger). */
#elementor-popup-modal-3786 .b2b-drawer--instant > .b2b-drawer__panel,
#elementor-popup-modal-3786 .b2b-drawer--instant > .b2b-drawer__panel > .b2b-drawer__inner > .b2b-drawer__list,
#elementor-popup-modal-3786 .b2b-drawer--instant > .b2b-drawer__row .b2b-drawer__icon { transition: none !important; }

#elementor-popup-modal-3786 .b2b-drawer__inner > .b2b-drawer__list {
    margin: 0 0 8px;
    margin-inline-start: 16px;
    border-inline-start: 1px solid var(--b2b-dr-line);
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 160ms ease-out, transform 160ms ease-out;
}

#elementor-popup-modal-3786 .b2b-drawer__item.is-open > .b2b-drawer__panel > .b2b-drawer__inner > .b2b-drawer__list { opacity: 1; transform: none; }

/* Sub-levels: 44px rows, 15px, indented 16px behind a hairline guide. */
#elementor-popup-modal-3786 .b2b-drawer__list--d1 .b2b-drawer__link,
#elementor-popup-modal-3786 .b2b-drawer__list--d2 .b2b-drawer__link {
    min-height: 44px;
    padding-inline-start: 12px;
    font-size: 15px;
    font-weight: 400;
}

#elementor-popup-modal-3786 .b2b-drawer__list--d1 .b2b-drawer__toggle,
#elementor-popup-modal-3786 .b2b-drawer__list--d2 .b2b-drawer__toggle { min-height: 44px; }

#elementor-popup-modal-3786 .b2b-drawer__item--all > .b2b-drawer__row > .b2b-drawer__link { font-weight: 500; }

/* Current category: pink-ink text, 600, and a 3px bar at the inline start; its ancestors are 600 ink. */
#elementor-popup-modal-3786 .b2b-drawer__item.is-on-path > .b2b-drawer__row > .b2b-drawer__link { font-weight: 600; }
#elementor-popup-modal-3786 .b2b-drawer__link[aria-current] { color: var(--b2b-dr-cur) !important; font-weight: 600 !important; }
#elementor-popup-modal-3786 .b2b-drawer__link[aria-current]::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    top: 10px;
    bottom: 10px;
    width: 3px;
    border-radius: 3px;
    background: var(--b2b-dr-cur);
}

#elementor-popup-modal-3786 .b2b-drawer__inner .b2b-drawer__link[aria-current]::before { inset-inline-start: -2px; }

/* --------------------------------------------------------------------------------------------- footer 38 */
.elementor-location-footer .elementor-element.elementor-element-281ddb91 {
    padding: 56px max(var(--b2b-hf-gutter), calc((100% - 1420px) / 2)) calc(16px + env(safe-area-inset-bottom, 0px)) !important;
}

.elementor-location-footer .elementor-element-281ddb91 > .elementor-container { max-width: none !important; }
.elementor-location-footer .elementor-element.elementor-element-2fe1fb56 { margin-top: 32px !important; }

.elementor-location-footer .elementor-element-dc26e6f .elementor-icon-list-item > a,
.elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-item > a,
.elementor-location-footer .elementor-element-d227527 .elementor-icon-list-item > a {
    display: inline-flex !important;
    align-items: center;
    min-height: 32px;
}

.elementor-location-footer .elementor-element-dc26e6f .elementor-icon-list-text,
.elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-text,
.elementor-location-footer .elementor-element-d227527 .elementor-icon-list-text { color: #D6D3CC !important; }

.elementor-location-footer .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: #FFFFFF !important; }

/* Copyright row: keep clear of the scroll-to-top button (it sits at the inline-end corner). */
.elementor-location-footer .elementor-element-9b799ec { padding-inline-end: 56px; }
.elementor-location-footer .elementor-element-c03f74d .elementor-heading-title { direction: rtl; unicode-bidi: plaintext; }

/* Collapsible link groups on phones (header-footer.js turns each heading into a button). */
.b2b-hf-acc__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    color: inherit !important;
    font: inherit;
    font-size: inherit !important;
    font-weight: inherit !important;
    text-align: start;
    cursor: pointer;
}

.b2b-hf-acc__btn svg { width: 14px; height: 14px; flex: none; transition: transform .2s var(--b2b-hf-ease); }
.b2b-hf-acc__btn[aria-expanded="true"] svg { transform: rotate(180deg); }

@media (min-width: 768px) {
    .b2b-hf-acc__btn { pointer-events: none; min-height: 0; }
    .b2b-hf-acc__btn svg { display: none; }
}

@media (max-width: 767px) {
    .elementor-location-footer .elementor-element.elementor-element-281ddb91 {
        padding-top: 32px !important;
        padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* Service icons: three compact columns instead of a tall list. */
    .elementor-location-footer .elementor-element-7aefbbf .elementor-icon-list-items {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .elementor-location-footer .elementor-element-7aefbbf .elementor-icon-list-item {
        flex-direction: column;
        align-items: center !important;
        text-align: center;
        margin: 0 !important;
        padding: 0 !important;
    }

    .elementor-location-footer .elementor-element-7aefbbf .elementor-icon-list-item > a { flex-direction: column; min-height: 44px; }

    .elementor-location-footer .elementor-element-7aefbbf .elementor-icon-list-icon { margin: 0 0 6px !important; padding: 0 !important; }
    .elementor-location-footer .elementor-element-7aefbbf .elementor-icon-list-icon svg { width: 40px !important; height: 40px !important; }

    .elementor-location-footer .elementor-element-7aefbbf .elementor-icon-list-text {
        font-size: 13px !important;
        line-height: 18px !important;
        padding: 0 !important;
    }

    .elementor-location-footer .elementor-element-04213a6 { margin: 12px 0 !important; }
    .elementor-location-footer .elementor-element-eba7be6 { margin: 0 !important; }
    .elementor-location-footer .elementor-element-eba7be6 > .elementor-widget-wrap {
        padding: 0 0 16px !important;
        border: 0 !important;
    }
    .elementor-location-footer .elementor-element-7aefbbf { margin-bottom: 8px !important; }
    .elementor-location-footer .elementor-element-962e9be { border-bottom: 1px solid rgba(255, 255, 255, .12); }
    .elementor-location-footer .elementor-element-dfa31ba { margin-bottom: 8px !important; }
    .elementor-location-footer .elementor-element-dfa31ba p { font-size: 14px; line-height: 1.5; margin: 0; }

    /* Link groups: a divider between groups, heading row = 48px button, links 44px. */
    .elementor-location-footer .elementor-element-4d3a480e,
    .elementor-location-footer .elementor-element-de68719,
    .elementor-location-footer .elementor-element-962e9be {
        border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .elementor-location-footer .elementor-element-4d3a480e > .elementor-widget-wrap,
    .elementor-location-footer .elementor-element-de68719 > .elementor-widget-wrap,
    .elementor-location-footer .elementor-element-962e9be > .elementor-widget-wrap {
        padding: 0 !important;
    }

    .elementor-location-footer .elementor-element-56174037,
    .elementor-location-footer .elementor-element-5a59548,
    .elementor-location-footer .elementor-element-7c1dc49 { margin: 0 !important; }

    .elementor-location-footer .elementor-element-56174037 .elementor-heading-title,
    .elementor-location-footer .elementor-element-5a59548 .elementor-heading-title,
    .elementor-location-footer .elementor-element-7c1dc49 .elementor-heading-title { text-align: start !important; }

    .elementor-location-footer .elementor-element-dc26e6f .elementor-icon-list-item > a,
    .elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-item > a,
    .elementor-location-footer .elementor-element-d227527 .elementor-icon-list-item > a { min-height: 44px; }

    .elementor-location-footer .elementor-element-dc26e6f .elementor-icon-list-items,
    .elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-items,
    .elementor-location-footer .elementor-element-d227527 .elementor-icon-list-items { justify-content: flex-start; text-align: start; padding-bottom: 8px; }

    .elementor-location-footer .elementor-element-dc26e6f .elementor-icon-list-item,
    .elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-item,
    .elementor-location-footer .elementor-element-d227527 .elementor-icon-list-item { justify-content: flex-start !important; margin: 0 !important; padding: 0 !important; }

    .b2b-hf-acc.is-collapsed { display: none !important; }

    .elementor-location-footer .elementor-element.elementor-element-2fe1fb56 {
        margin-top: 16px !important;
        padding: 8px 0 0 !important;
        border: 0 !important;
    }
    .elementor-location-footer .elementor-element-5742157d .elementor-widget-wrap,
    .elementor-location-footer .elementor-element-9b799ec .elementor-widget-wrap { justify-content: center !important; }
    .elementor-location-footer .elementor-element-9b799ec { padding-inline-end: 0; }
    .elementor-location-footer .elementor-element-5b236d7,
    .elementor-location-footer .elementor-element-c03f74d { text-align: center; width: 100% !important; }
    .elementor-location-footer .elementor-element-5b236d7 .elementor-heading-title,
    .elementor-location-footer .elementor-element-c03f74d .elementor-heading-title { text-align: center !important; }
    /* Room for the scroll-to-top button under the last line. */
    .elementor-location-footer .elementor-element-c03f74d { padding-bottom: 56px; }
}

/* ------------------------------------------------------------------------------------ scroll to top */
#ast-scroll-top {
    display: none;
    width: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    border-radius: 50% !important;
    border: 1px solid var(--b2b-hf-line) !important;
    background: rgba(255, 255, 255, .94) !important;
    color: var(--b2b-hf-pink) !important;
    box-shadow: 0 2px 10px rgba(28, 27, 31, .12);
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    font-size: 14px !important;
    transition: opacity .2s var(--b2b-hf-ease), transform .2s var(--b2b-hf-ease);
}

#ast-scroll-top .ast-icon svg { fill: currentColor !important; width: 14px !important; height: 14px !important; }
#ast-scroll-top:hover { background: #fff !important; }

@media (max-width: 767px) {
    #ast-scroll-top { width: 44px !important; height: 44px !important; }
}
/* header-footer.js hides the button while scrolling down (every width: at 1440 it sat on the last card's +); it comes
   back on scroll up and near the page end. */
#ast-scroll-top.b2b-hf-away { opacity: 0; transform: translateY(8px); pointer-events: none; }

/* ------------------------------------------------------------------------------------------- motion */
@media (prefers-reduced-motion: reduce) {
    body .elementor-29335 .elementor-element.elementor-element-56808d6,
    body .elementor-29335 .elementor-element.elementor-element-cce0097,
    .b2b-agent-menu__panel,
    .b2b-agent-menu__toggle svg,
    .b2b-hf-acc__btn svg,
    #ast-scroll-top { transition: none !important; }

    /* Drawer accordions: instant open/close, no fade or slide, chevron flips without rotating. */
    #elementor-popup-modal-3786 .b2b-drawer__panel,
    #elementor-popup-modal-3786 .b2b-drawer__inner > .b2b-drawer__list,
    #elementor-popup-modal-3786 .b2b-drawer__toggle .b2b-drawer__icon { transition: none !important; }
    #elementor-popup-modal-3786 .b2b-drawer__inner > .b2b-drawer__list { transform: none; }
}

/* Search field: the browser's 3px focus outline on the input was clipped by the rounded field and left one dark
   line between the text and the magnifier (owner, 2026-09-27). The field's own pink ring (:focus-within) is the
   focus indicator. */
.elementor-location-header .elementor-search-form__input:focus,
.elementor-location-header .elementor-search-form__input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* ---------------------------------------- mobile menu 3786: close button, top row, open / close motion (owner, 2026-09-29) */
/* The X is centred in its 44px square (the icon font glyph sat 5px left and 7px high of the square's middle). */
#elementor-popup-modal-3786 .dialog-close-button.dialog-close-button {
    top: 10px !important;
    right: 10px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    line-height: 1 !important;
    color: var(--b2b-hf-pink, #DF1A81) !important;
    transition: background-color 150ms ease;
}
#elementor-popup-modal-3786 .dialog-close-button.dialog-close-button i {
    position: static !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 18px !important;
    color: inherit !important;
}
@media (hover: hover) {
    #elementor-popup-modal-3786 .dialog-close-button.dialog-close-button:hover { background: #F4F1EA !important; }
}
#elementor-popup-modal-3786 .dialog-close-button.dialog-close-button:active { background: #EFEAE0 !important; }

/* The first row (greeting / login) keeps clear of the X: it used to run under the button. */
#elementor-popup-modal-3786 .elementor-element-06acf48 {
    margin-inline-start: 54px !important;
    max-width: calc(100% - 54px) !important;
    min-height: 44px;
}

/* Open / close motion (header-footer.js adds the classes): the panel slides in from its edge while the backdrop
   fades in; closing reverses it, a little faster. Transform + opacity only. The backdrop is a calm 45% ink. */
#elementor-popup-modal-3786.elementor-popup-modal.b2b-dr-anim { background-color: rgba(28, 27, 31, .45) !important; }
#elementor-popup-modal-3786.b2b-dr-anim .dialog-widget-content { will-change: transform; }
#elementor-popup-modal-3786.b2b-dr-open { transition: background-color 260ms ease; }
#elementor-popup-modal-3786.b2b-dr-open .dialog-widget-content { transition: transform 300ms cubic-bezier(.22, .8, .24, 1); }
#elementor-popup-modal-3786.elementor-popup-modal.b2b-dr-enter,
#elementor-popup-modal-3786.elementor-popup-modal.b2b-dr-closing { background-color: rgba(28, 27, 31, 0) !important; }
#elementor-popup-modal-3786.b2b-dr-enter .dialog-widget-content,
#elementor-popup-modal-3786.b2b-dr-closing .dialog-widget-content { transform: translateX(100%); }
#elementor-popup-modal-3786.b2b-dr-closing { transition: background-color 200ms ease; pointer-events: none; }
#elementor-popup-modal-3786.b2b-dr-closing .dialog-widget-content { transition: transform 220ms cubic-bezier(.4, 0, .9, .6); }
@media (prefers-reduced-motion: reduce) {
    #elementor-popup-modal-3786.elementor-popup-modal,
    #elementor-popup-modal-3786 .dialog-widget-content { transition: none !important; transform: none !important; }
}

/* No blue tap flash (Android Chrome's default highlight) anywhere in the phone menu; rows show a calm press tint instead. */
#elementor-popup-modal-3786,
#elementor-popup-modal-3786 * { -webkit-tap-highlight-color: transparent; }
#elementor-popup-modal-3786 :is(a, button):focus:not(:focus-visible) { outline: none !important; box-shadow: none; }
#elementor-popup-modal-3786 :is(.b2b-drawer__short, .b2b-drawer__link, .b2b-drawer__toggle, .b2b-agent-menu__toggle, .elementor-icon-list-item > a):active {
    background: #F4F1EA !important;
}

/* Account row: "הנקודות שלי" / "היעדים שלי" line up at the start (right) under the greeting, like the list below,
   instead of floating in the middle. */
#elementor-popup-modal-3786 .elementor-element-ecd1996 .elementor-icon-list-items { justify-content: flex-start !important; gap: 4px 20px; padding-inline-start: 20px !important; }
#elementor-popup-modal-3786 .elementor-element-ecd1996 .elementor-icon-list-item { margin: 0 !important; }
#elementor-popup-modal-3786 .elementor-element-ecd1996 { align-self: stretch; text-align: start; }

/* ------------------------------------------------ product page: a short footer (owner, 2026-09-29) */
/* On the product page the footer stays out of the buying flow: the trust row (phone, delivery, secure payment) and
   the legal links (shipping policy, terms, privacy, accessibility statement - always one tap away) remain; the logo,
   the about text and the "about / contact" and "my account" groups (both in the header menu) are left out. */
body.single-product .elementor-location-footer :is(.elementor-element-e6524f7, .elementor-element-dfa31ba, .elementor-element-04213a6,
    .elementor-element-4d3a480e, .elementor-element-962e9be, .elementor-element-5a59548) { display: none !important; }
body.single-product .elementor-location-footer .elementor-element-f4008ae,
body.single-product .elementor-location-footer .elementor-element-f4008ae.b2b-hf-acc.is-collapsed { display: block !important; }
body.single-product .elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-items {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 18px;
}
body.single-product .elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
body.single-product .elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-item > a { min-height: 44px; font-size: 14px; }
body.single-product .elementor-location-footer .elementor-element-f4008ae .elementor-icon-list-icon { display: none !important; }
body.single-product .elementor-location-footer .elementor-element-de68719 { width: 100% !important; }
body.single-product .elementor-location-footer .elementor-element-c03f74d { padding-bottom: 12px !important; }

/* ------------------------------------------------ no blue tap flash anywhere (owner, 2026-09-29) */
/* Android Chrome paints a blue box on every tapped link/button (the cart icon, cards, chips...). It is off site-wide;
   controls give their own press feedback (the cart icon scales, rows tint, buttons darken). A mouse/touch click also
   no longer leaves the browser's focus outline behind - keyboard focus (:focus-visible) keeps its ring. */
html { -webkit-tap-highlight-color: transparent; }
:is(a, button, [role="button"], summary, label):focus:not(:focus-visible) { outline: none; }
#cart-toggle-button:focus:not(:focus-visible) { box-shadow: none; background: none; }

/* ------------------------------------------------ catalog pages: header steps aside while scrolling down */
/* header-footer.js headroom(): html.b2b-hr (static, set once) on catalog pages; each moving element gets .b2b-hr-up
   only while every layer is position:fixed, and .b2b-hr-anim only for the ~240ms of one (200ms) slide. The state
   lives on the moving elements, never on <html>/<body>: a root class change restyles every product card (the grid
   painted blank on iPhones while scrolling back up). The translate does not depend on Elementor's sticky class, so
   Elementor's un-stick/re-stick on resize (phone address bar) changes nothing on screen. The spacer copies (which
   share the header's id) never get the classes. Same specificity as the earlier html-class selectors. */
html.b2b-hr :is(.elementor-element-cce0097, .elementor-element-56808d6, .elementor-element-040666c,
    .elementor-element-f8ed5f8, #b2bs-page-cats.is-stuck, .b2b-fdock).b2b-hr-up:not(.elementor-sticky__spacer) {
    translate: 0 calc(-1 * var(--b2b-hdr-shift, 0px));
}
html.b2b-hr :is(.elementor-element-cce0097, .elementor-element-56808d6, .elementor-element-040666c,
    .elementor-element-f8ed5f8, #b2bs-page-cats).b2b-hr-anim:not(.elementor-sticky__spacer) {
    transition: translate 200ms cubic-bezier(.22, .8, .24, 1);
}
/* the dock keeps its own fade while it slides */
html.b2b-hr .b2b-fdock.b2b-hr-anim {
    transition: translate 200ms cubic-bezier(.22, .8, .24, 1), opacity .18s var(--b2b-f-ease), transform .18s var(--b2b-f-ease), visibility 0s linear .18s;
}
html.b2b-hr .b2b-fdock.b2b-hr-anim.is-on {
    transition: translate 200ms cubic-bezier(.22, .8, .24, 1), opacity .18s var(--b2b-f-ease), transform .18s var(--b2b-f-ease), visibility 0s;
}
html.b2b-hr :is(.elementor-element-cce0097, .elementor-element-56808d6).b2b-hr-up { box-shadow: none !important; }

/* desktop filter sidebar: its stick point rises with the header (sticky offset; animated only during a slide) */
@media (min-width: 1280px) {
    html.b2b-hr .woocommerce:has(> .b2b-fsb) > .b2b-fsb.b2b-hr-anim { transition: top 200ms cubic-bezier(.22, .8, .24, 1); }
    html.b2b-hr:not(.b2b-fsb-closed) body .woocommerce:has(> .b2b-fsb) > .b2b-fsb.b2b-hr-up {
        top: calc(var(--b2b-stack-bottom, 216px) + 12px - var(--b2b-hdr-shift, 0px));
        max-height: calc(100vh - var(--b2b-stack-bottom, 216px) - 24px + var(--b2b-hdr-shift, 0px)) !important;
    }
    html.b2b-hr:not(.b2b-fsb-closed) body.b2b-ot-has-bar .woocommerce:has(> .b2b-fsb) > .b2b-fsb.b2b-hr-up {
        max-height: calc(100vh - var(--b2b-stack-bottom, 216px) - 24px + var(--b2b-hdr-shift, 0px) - var(--b2b-ot-h, 64px)) !important;
    }
    html.b2b-hr:not(.b2b-fsb-closed) body.search .woocommerce:has(> .b2b-fsb) > .b2b-fsb.b2b-hr-up {
        top: calc(var(--b2b-header-bottom, 109px) + 60px - var(--b2b-hdr-shift, 0px));
        max-height: calc(100vh - var(--b2b-header-bottom, 109px) - 72px + var(--b2b-hdr-shift, 0px)) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    html.b2b-hr :is(.elementor-element-cce0097, .elementor-element-56808d6, .elementor-element-040666c,
        .elementor-element-f8ed5f8, #b2bs-page-cats, .b2b-fdock, .b2b-fsb).b2b-hr-anim { transition: none !important; }
}

/* Safety net: the row under the header keeps its cream curtain above it as well as to its sides (its cream
   box-shadow was clipped to the sides only), hidden behind the header - a frame where they drift apart shows cream. */
:is(.tax-product_cat, .search, .post-type-archive-product) .elementor-element-040666c.elementor-sticky--active:not(.elementor-sticky__spacer) {
    clip-path: inset(-140px -844px 0 -844px) !important;
}

/* ------------------------------------------------------------------ motion tokens (one place) */
/* Durations and easings shared by the drawers, the cart, the bars and the header scroll-away. Under reduced motion
   every duration is 0 at the source, so rules that use the tokens need no separate reduced-motion override. */
:root {
    --b2b-dur-fast: 150ms;
    --b2b-dur-base: 240ms;
    --b2b-dur-slow: 320ms;
    --b2b-ease-enter: cubic-bezier(.22, .8, .24, 1);
    --b2b-ease-exit: cubic-bezier(.4, 0, .9, .6);
    --b2b-ease-std: cubic-bezier(.2, .7, .2, 1);
}
@media (prefers-reduced-motion: reduce) {
    :root { --b2b-dur-fast: 0ms; --b2b-dur-base: 0ms; --b2b-dur-slow: 0ms; }
    html { scroll-behavior: auto !important; }
}

/* (moved from mini-cart.css, 2026-09-29) */
/* Desktop header: keep the category button vertically aligned with the nav menu links. */
.elementor-29335 #category-menu .elementor-button {
    align-items: center !important;
    display: inline-flex !important;
    min-height: 44px !important;
}

.elementor-29335 #category-menu {
    transform: translateY(-4px) !important;
}

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

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

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