/* ==========================================================================================================
   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;
    border-radius: 8px;
}

#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;
}

/* --------------------------------------------------------------------------------------------- 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; }
    /* While the phone order pill / bar is on screen, header-footer.js hides the button when scrolling down. */
    #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; }
}

/* 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;
}
