/* Header corrections for Astra and Max Mega Menu staging markup. */
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-91434 > a.mega-menu-link > .mega-indicator,
#mega-menu-wrap-primary #mega-menu-primary > li.og-nav-free > a.mega-menu-link > .mega-indicator,
#ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-91434 > a.mega-menu-link > .mega-indicator,
#ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-free > a.mega-menu-link > .mega-indicator {
    display: none !important;
}

/* Astra's builder CSS swaps the two headers at (max-width: 921.99px), which
 * Chromium rounds up to 922px and Firefox/Safari do not. Pin the swap to the
 * integer boundary used by this file, Max Mega Menu and the body class set in
 * ogarniamsie-header-assets.php: mobile header up to 922px, desktop from 923px. */
@media (max-width: 922px) {
    #ast-desktop-header {
        display: none !important;
    }

    #ast-mobile-header {
        display: block !important;
    }
}

@media (min-width: 923px) {
    #ast-mobile-header {
        display: none !important;
    }
}

/* Category emoji belongs to CMS text, not an empty generated decoration. */
#mega-menu-wrap-primary #mega-menu-primary .mega-custom-icon::before {
    content: none !important;
    display: none !important;
}

.ast-desktop .site-header-primary-section-right > [data-section="section-header-search"],
.ast-desktop .site-header-section-right > [data-section="section-header-search"],
.ast-desktop .site-header-primary-section-right > .ast-header-search,
.ast-desktop .site-header-section-right > .ast-header-search,
#ast-desktop-header .site-header-above-section-right > .ast-header-search[data-section="section-header-search"],
#ast-desktop-header .site-header-primary-section-right > .ast-header-search[data-section="section-header-search"] {
    width: 24px !important;
    min-width: 24px !important;
    max-width: 24px !important;
    margin-right: 72px !important;
    padding: 0 !important;
}

#ast-desktop-header .site-header-above-section-right > .ast-header-account[data-section="section-header-account"],
#ast-desktop-header .site-header-primary-section-right > .ast-header-account[data-section="section-header-account"] {
    margin-right: 16px !important;
}

.ast-header-search .ast-search-menu-icon {
    display: none !important;
}

.ast-header-search .ast-search-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
}

.ast-header-search .ast-search-icon::before {
    content: none !important;
    display: none !important;
}

.ast-header-search .astra-search-icon {
    align-items: center !important;
    color: var(--og-header-icon-color) !important;
    display: inline-flex !important;
    height: 24px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: 24px !important;
}

.ast-header-search .astra-search-icon::before {
    background-color: currentColor !important;
    content: "" !important;
    display: block !important;
    height: 24px !important;
    mask-image: var(--og-header-search-mask) !important;
    mask-position: center !important;
    mask-repeat: no-repeat !important;
    mask-size: contain !important;
    -webkit-mask-image: var(--og-header-search-mask) !important;
    -webkit-mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
    width: 24px !important;
}

.ast-header-search .astra-search-icon .ast-icon,
.ast-header-search .astra-search-icon svg {
    display: none !important;
}

.ast-header-search .astra-search-icon:hover,
.ast-header-search .astra-search-icon:focus-visible,
.ast-header-search:hover .astra-search-icon,
.ast-header-search:focus-within .astra-search-icon,
.ast-header-account:hover .ast-header-account-link,
.ast-header-account:focus-within .ast-header-account-link,
.ast-header-account .ast-header-account-link:hover,
.ast-header-account .ast-header-account-link:focus-visible {
    color: var(--og-header-icon-hover) !important;
}

[data-section="section-header-woo-cart"] .cart-container,
.ast-site-header-cart .cart-container,
[data-section="section-header-woo-cart"] .ast-addon-cart-wrap,
.ast-site-header-cart .ast-addon-cart-wrap {
    color: var(--og-header-icon-color) !important;
    display: block !important;
    height: 24px !important;
    line-height: 1 !important;
    min-width: 31px !important;
    overflow: visible !important;
    padding: 0 !important;
    position: relative !important;
    width: 31px !important;
}

.ast-site-header-cart .ast-site-header-cart-li,
.ast-site-header-cart .cart-container {
    height: 24px !important;
    width: 31px !important;
}

.ast-addon-cart-wrap .astra-icon.ast-icon-shopping-cart {
    color: inherit !important;
    display: block !important;
    font-size: 0 !important;
    height: 24px !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: 31px !important;
}

.ast-addon-cart-wrap .astra-icon.ast-icon-shopping-cart::before {
    background-color: currentColor !important;
    content: "" !important;
    display: block !important;
    height: 24px !important;
    left: 0 !important;
    mask-image: var(--og-header-cart-mask) !important;
    mask-position: center !important;
    mask-repeat: no-repeat !important;
    mask-size: contain !important;
    position: absolute !important;
    top: 2px !important;
    -webkit-mask-image: var(--og-header-cart-mask) !important;
    -webkit-mask-position: center !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-size: contain !important;
    width: 24px !important;
}

.ast-addon-cart-wrap .astra-icon.ast-icon-shopping-cart .ast-icon,
.ast-addon-cart-wrap .astra-icon.ast-icon-shopping-cart svg {
    display: none !important;
}

.ast-addon-cart-wrap .astra-icon.ast-icon-shopping-cart::after {
    align-items: center !important;
    background: var(--og-header-cart-badge-bg) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    color: var(--og-header-cart-badge-color) !important;
    display: flex !important;
    font-family: "Montserrat", Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    height: 16px !important;
    justify-content: center !important;
    left: 15px !important;
    line-height: 1 !important;
    min-width: 16px !important;
    padding: 0 4px !important;
    position: absolute !important;
    right: auto !important;
    top: -4px !important;
    transform: none !important;
    width: auto !important;
    z-index: 2 !important;
}

.ast-site-header-cart .cart-container:hover,
.ast-site-header-cart .cart-container:focus-visible,
.ast-site-header-cart .cart-container:hover .ast-addon-cart-wrap,
.ast-site-header-cart .cart-container:focus-visible .ast-addon-cart-wrap,
.ast-site-header-cart:hover .cart-container,
.ast-site-header-cart:focus-within .cart-container,
.ast-header-woo-cart:hover .cart-container,
.ast-header-woo-cart:focus-within .cart-container {
    color: var(--og-header-icon-hover) !important;
}

/* Desktop Max Mega Menu list based on Figma Navi/main List: 14px items 32px
 * apart (16px padding each side) in centred 52px rows. Below 1366px the list
 * is two rows as in the Figma 1024px frame (68:252), see the block below. */
@media (min-width: 923px) {
    #mega-menu-wrap-primary {
        box-sizing: border-box !important;
        max-width: 100vw !important;
        overflow: visible !important;
        width: 100% !important;
        background: #ffffff !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary {
        align-items: center !important;
        background: #ffffff !important;
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        min-height: 52px !important;
        padding: 0 !important;
        text-align: center !important;
        width: 100% !important;
        max-width: 100vw !important;
        box-sizing: border-box !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
        align-items: center !important;
        display: flex !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:visited {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        color: #252525 !important;
        display: flex !important;
        font-family: var(--og-toast-font, "Montserrat", Arial, sans-serif) !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        height: 52px !important;
        justify-content: center !important;
        letter-spacing: 0 !important;
        line-height: 1.4 !important;
        margin: 0 !important;
        padding: 0 16px !important;
        text-decoration: none !important;
        text-transform: none !important;
        white-space: nowrap !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
        color: var(--og-header-icon-hover) !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link:focus {
        color: var(--og-header-icon-hover) !important;
        font-weight: 600 !important;
        text-decoration: underline !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-319240 > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-highlight > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-319240 > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-highlight > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-319240 > a.mega-menu-link:focus,
    #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-highlight > a.mega-menu-link:focus {
        color: var(--og-header-icon-hover) !important;
        font-weight: 600 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-91434 > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-free > a.mega-menu-link,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-91434 > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-free > a.mega-menu-link:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-91434 > a.mega-menu-link:focus,
    #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-free > a.mega-menu-link:focus {
        color: #990052 !important;
        font-weight: 600 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu {
        background: #ffffff !important;
        box-sizing: border-box !important;
        padding: 32px 0 !important;
        top: 100% !important;
        width: 100vw !important;
        z-index: 999 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-row {
        box-sizing: border-box !important;
        display: block !important;
        float: none !important;
        margin: 0 auto !important;
        max-width: 1210px !important;
        width: calc(100vw - 80px) !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu {
        box-sizing: border-box !important;
        display: grid !important;
        gap: 0 54px !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        width: 100% !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {
        box-sizing: border-box !important;
        float: none !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        text-align: left !important;
        width: auto !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu a,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu span {
        font-family: var(--og-toast-font, "Montserrat", Arial, sans-serif) !important;
        letter-spacing: 0 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li.mega-menu-item {
        box-sizing: border-box !important;
        line-height: 1.45 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li.mega-menu-item-has-children {
        margin-bottom: 32px !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li.mega-menu-item-has-children:last-child {
        margin-bottom: 0 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu a {
        box-sizing: border-box !important;
        color: #414042 !important;
        display: block !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        min-height: 27px !important;
        padding: 3.5px 0 !important;
        text-transform: none !important;
        text-align: left !important;
        white-space: normal !important;
        width: min(222px, 100%) !important;
        word-break: normal !important;
    }

    /* A direct text node becomes the first anonymous grid item. This keeps the
     * Figma text | 8px gap | badge composition stable while allowing long text
     * to wrap only in the available text track. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu a.mega-menu-link:has(> span.mega-menu-badge) {
        align-items: center !important;
        column-gap: 8px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-width: 0 !important;
        width: 100% !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu li.mega-menu-item-has-children > ul.mega-sub-menu > li.mega-menu-item:not(:last-child) {
        margin-bottom: 6px !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu a:hover,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu a:focus {
        background: transparent !important;
        color: var(--og-header-icon-hover) !important;
        font-weight: inherit !important;
        text-decoration: none !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu .mega-block-title,
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > ul.mega-sub-menu .mega-menu-item-has-children > a.mega-menu-link {
        color: #2d2d2d !important;
        display: block !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        line-height: 1.4 !important;
        margin-bottom: 12px !important;
        min-height: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        white-space: normal !important;
        width: min(196px, 100%) !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary span.mega-menu-badge {
        align-items: center !important;
        border: 0 !important;
        border-radius: 999px !important;
        box-shadow: none !important;
        display: inline-flex !important;
        font-family: var(--og-toast-font, "Montserrat", Arial, sans-serif) !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        justify-content: center !important;
        letter-spacing: 0 !important;
        line-height: 1 !important;
        /* Keep the 27px badge inside a 27px one-line link without making it
         * inflate the link's content track by the link's 3.5px block padding. */
        margin: -3.5px 0 !important;
        min-height: 27px !important;
        padding: 6px 12px !important;
        text-transform: uppercase !important;
        vertical-align: middle !important;
        white-space: nowrap !important;
    }

    /* The negative block margin reserves the canonical 27px link height. In
     * Max Mega Menu's grid, compensate its measured -5px visual offset so the
     * badge stays entirely inside the anchor rather than protruding above it. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu span.mega-menu-badge {
        transform: translateY(5px) !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary span.mega-menu-badge-style-one {
        background: #f3f6f6 !important;
        color: #0d9095 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary span.mega-menu-badge-style-three {
        background: #f6f6f6 !important;
        color: #717171 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout > ul.mega-sub-menu {
        box-shadow: 0 18px 40px rgba(37, 37, 37, 0.16) !important;
        left: auto !important;
        min-width: 326px !important;
        padding: 24px 28px 28px !important;
        right: 0 !important;
        width: auto !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout > ul.mega-sub-menu > li.mega-menu-item {
        margin-bottom: 9px !important;
        width: 100% !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout > ul.mega-sub-menu > li.mega-menu-item:last-child {
        margin-bottom: 0 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
        align-items: center !important;
        column-gap: 10px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        min-height: 27px !important;
        padding: 3.5px 0 !important;
        width: 100% !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout > ul.mega-sub-menu span.mega-menu-badge {
        justify-self: end !important;
        margin: 0 !important;
    }
}

/* Figma 68:252 (1024px): below 1366px the list is two centred rows, the first
 * seven items in the first row and the rest in the second (a full-width flex
 * break keeps the split from depending on text widths). DOM, visual and
 * keyboard order stay the same. The production menu's ten items need 1287px
 * for one row in Chromium, Firefox and WebKit; the 1366px bound leaves room
 * for longer labels without an uncontrolled wrap. */
@media (min-width: 923px) and (max-width: 1365px) {
    #mega-menu-wrap-primary #mega-menu-primary::after {
        content: "" !important;
        display: block !important;
        flex-basis: 100% !important;
        height: 0 !important;
        order: 1 !important;
    }

    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(n+8) {
        order: 2 !important;
    }

    /* A first-row panel starts below the first row with a transparent 52px
     * band over the second row: its content opens below the whole bar, and
     * the pointer stays inside the open item while crossing the second row. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu:nth-child(-n+7) > ul.mega-sub-menu {
        background-clip: padding-box !important;
        border-top: 52px solid transparent !important;
        box-shadow: none !important;
        top: calc(100% - 52px) !important;
    }

    /* Max Mega Menu's panel shadow, drawn below the band instead of around it. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu:nth-child(-n+7) > ul.mega-sub-menu::before {
        bottom: 0 !important;
        box-shadow: 0 12px 30px 2px rgba(0, 0, 0, 0.2) !important;
        content: "" !important;
        left: 0 !important;
        pointer-events: none !important;
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        z-index: -1 !important;
    }

    /* Second-row links stay visible and reachable above that band. */
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item:nth-child(n+8) > a.mega-menu-link {
        position: relative !important;
        z-index: 1000 !important;
    }
}

/* Mobile Max Mega Menu based on the Figma mobile accordion navigation. */
@media (max-width: 922px) {
    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle {
        align-items: center !important;
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        display: flex !important;
        height: 40px !important;
        justify-content: center !important;
        line-height: 1 !important;
        min-height: 40px !important;
        padding: 0 !important;
        width: 40px !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-left,
    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-center,
    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-right {
        flex: 0 0 auto !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-left {
        justify-content: center !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block {
        align-items: center !important;
        height: 40px !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-1 {
        width: 24px !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-block-1::after {
        color: var(--og-header-icon-color) !important;
        font-size: 24px !important;
        line-height: 1 !important;
        margin: 0 !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle:hover .mega-toggle-block-1::after,
    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle:focus-within .mega-toggle-block-1::after,
    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open .mega-toggle-block-1::after {
        color: var(--og-header-icon-hover) !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open::after {
        background: rgba(37, 37, 37, 0.28) !important;
        opacity: 1 !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {
        background: #ffffff !important;
        box-shadow: 0 18px 40px rgba(37, 37, 37, 0.16) !important;
        color: #252525 !important;
        font-family: var(--og-toast-font, "Montserrat", Arial, sans-serif) !important;
        height: calc(100vh - var(--og-notification-h, 0px)) !important;
        max-height: calc(100vh - var(--og-notification-h, 0px)) !important;
        overflow-y: auto !important;
        padding: 30px 20px 32px !important;
        top: var(--og-notification-h, 0px) !important;
        width: min(320px, 86vw) !important;
    }

    /* Below the visible notification bar (see figma-notification-bar.css). */
    body:has(.wpfront-notification-bar:not(.hidden)) #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle + #mega-menu-primary {
        height: calc(100vh - var(--og-notification-h, 40px)) !important;
        max-height: calc(100vh - var(--og-notification-h, 40px)) !important;
        top: var(--og-notification-h, 40px) !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        background: #ffffff !important;
        box-shadow: none !important;
        top: calc(12px + var(--og-notification-h, 0px)) !important;
    }

    body:has(.wpfront-notification-bar:not(.hidden)) #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        top: calc(12px + var(--og-notification-h, 40px)) !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary .mega-menu-toggle.mega-menu-open ~ button.mega-close::before {
        color: var(--og-header-icon-color) !important;
        font-size: 18px !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary li,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary a,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary span {
        font-family: var(--og-toast-font, "Montserrat", Arial, sans-serif) !important;
        letter-spacing: 0 !important;
        text-transform: none !important;
    }

    /* Max Mega Menu switches its own top-level items back to an inline layout
     * above its legacy 600px breakpoint. Astra remains in mobile-header mode
     * through 922px, so make the accordion's direct items a single stack for
     * that entire interval. Nested items keep their plugin-controlled layout. */
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary {
        display: block !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item {
        clear: both !important;
        display: block !important;
        float: none !important;
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link {
        align-items: center !important;
        background: transparent !important;
        border-bottom: 1px solid #f0ecef !important;
        color: #252525 !important;
        display: flex !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        justify-content: space-between !important;
        line-height: 1.25 !important;
        min-height: 48px !important;
        padding: 12px 0 !important;
        width: 100% !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-319240 > a.mega-menu-link,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-highlight > a.mega-menu-link {
        color: var(--og-header-icon-hover) !important;
        font-weight: 600 !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item-91434 > a.mega-menu-link,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.og-nav-free > a.mega-menu-link {
        color: #990052 !important;
        font-weight: 600 !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
        color: var(--og-header-icon-hover) !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item > ul.mega-sub-menu,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        padding: 6px 0 12px !important;
        width: 100% !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary ul.mega-sub-menu a.mega-menu-link {
        background: transparent !important;
        color: #252525 !important;
        display: flex !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        line-height: 1.45 !important;
        min-height: 0 !important;
        padding: 7px 0 7px 12px !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary ul.mega-sub-menu .mega-menu-item-has-children > a.mega-menu-link {
        font-size: 13px !important;
        font-weight: 600 !important;
        padding: 12px 0 7px !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary ul.mega-sub-menu a.mega-menu-link:hover,
    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary ul.mega-sub-menu a.mega-menu-link:focus {
        color: var(--og-header-icon-hover) !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary span.mega-menu-badge {
        align-items: center !important;
        border-radius: 999px !important;
        display: inline-flex !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        justify-content: center !important;
        line-height: 1 !important;
        margin-left: 6px !important;
        min-height: 24px !important;
        padding: 6px 12px !important;
        white-space: nowrap !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary span.mega-menu-badge-style-one {
        background: #f3f6f6 !important;
        color: var(--og-header-icon-hover) !important;
    }

    #ast-mobile-header #mega-menu-wrap-primary #mega-menu-primary span.mega-menu-badge-style-three {
        background: #fff7fa !important;
        color: #990052 !important;
    }
}
