.dynamic-header-navigation .dynamic-header-mega {
    padding: 0;
}

.dynamic-header-navigation .dynamic-header-mega--wide {
    width: min(100vw, 1920px);
    left: 0;
    transform: none;
}

.dynamic-header-navigation .dynamic-header-mega--narrow {
    width: min(1120px, calc(100vw - 32px));
    left: 0;
    transform: none;
}

.dynamic-header-mega__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 26%);
    gap: 24px;
    padding: 20px;
}

.dynamic-header-mega__sections {
    display: grid;
    grid-template-columns: repeat(var(--dynamic-menu-columns, 4), minmax(0, 1fr));
    gap: 24px;
}

.dynamic-header-mega--wide .dynamic-header-mega__sections {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dynamic-header-mega--narrow .dynamic-header-mega__sections {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dynamic-header-mega__image {
    min-height: 250px;
    overflow: hidden;
    border-radius: 8px;
}

.dynamic-header-mega__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dynamic-header-navigation .dynamic-header-dropdown {
    min-width: 240px !important;
    overflow: visible !important;
}

@media (min-width: 1200px) {
    .dynamic-header-navigation > .mainmenu > li > a {
        font-size: var(--dynamic-header-menu-font-size, 16px) !important;
    }

    /*
     * The header is injected into every storefront page. Keeping its stacking
     * context above page modules prevents hero, contract and content blocks
     * from covering an opened menu.
     */
    .rbt-header {
        isolation: isolate;
        z-index: 1000;
    }

    .rbt-header .rbt-header-middle,
    .rbt-header .rbt-header-common-sticky-activation {
        z-index: 1001;
    }

    .dynamic-header-navigation .dynamic-header-mega,
    .dynamic-header-navigation .dynamic-header-dropdown {
        z-index: 1002;
        pointer-events: none;
    }

    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item > a,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item > a {
        display: flex !important;
        align-items: center;
        justify-content: space-between !important;
        gap: 14px;
        width: auto;
    }

    .dynamic-header-navigation .dynamic-header-nested-icon {
        flex: 0 0 auto;
        margin-left: auto;
        font-size: 12px;
    }

    .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item > .dynamic-header-dropdown--nested {
        top: 0;
        left: 100%;
        display: flex !important;
        min-width: 240px !important;
        padding: 8px 0 !important;
        background: #fff;
        border: 0;
        border-left: 2px solid var(--color-primary, #6f1d75);
        border-radius: 0 10px 10px 0;
        box-shadow: 14px 16px 34px rgba(18, 18, 18, .16);
        pointer-events: none;
    }

    /* The theme animates dropdowns with clip-path. A clipped first-level
       panel also clips the nested panel that lives outside its right edge. */
    .dynamic-header-navigation > .mainmenu > li.has-dropdown:hover > .dynamic-header-dropdown,
    .dynamic-header-navigation > .mainmenu > li.has-dropdown:focus-within > .dynamic-header-dropdown,
    .dynamic-header-navigation > .mainmenu > li.has-dropdown.is-open > .dynamic-header-dropdown {
        overflow: visible !important;
        clip-path: none !important;
    }

    .rbt-main-navigation .dynamic-header-navigation li.with-rbt-megamenu:hover > .dynamic-header-mega,
    .mainbar-row .dynamic-header-navigation li.with-rbt-megamenu:hover > .dynamic-header-mega,
    .rbt-main-navigation .dynamic-header-navigation li.with-rbt-megamenu:focus-within > .dynamic-header-mega,
    .mainbar-row .dynamic-header-navigation li.with-rbt-megamenu:focus-within > .dynamic-header-mega,
    .rbt-main-navigation .dynamic-header-navigation li.with-rbt-megamenu.is-open > .dynamic-header-mega,
    .mainbar-row .dynamic-header-navigation li.with-rbt-megamenu.is-open > .dynamic-header-mega,
    .rbt-main-navigation .dynamic-header-navigation li.has-dropdown:hover > .dynamic-header-dropdown,
    .mainbar-row .dynamic-header-navigation li.has-dropdown:hover > .dynamic-header-dropdown,
    .rbt-main-navigation .dynamic-header-navigation li.has-dropdown:focus-within > .dynamic-header-dropdown,
    .mainbar-row .dynamic-header-navigation li.has-dropdown:focus-within > .dynamic-header-dropdown,
    .rbt-main-navigation .dynamic-header-navigation li.has-dropdown.is-open > .dynamic-header-dropdown,
    .mainbar-row .dynamic-header-navigation li.has-dropdown.is-open > .dynamic-header-dropdown {
        top: 100%;
        z-index: 1002;
        visibility: visible;
        opacity: 1;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        pointer-events: auto;
    }

    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:hover > .dynamic-header-dropdown--nested,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:hover > .dynamic-header-dropdown--nested,
    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:focus-within > .dynamic-header-dropdown--nested,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:focus-within > .dynamic-header-dropdown--nested,
    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item.is-open > .dynamic-header-dropdown--nested,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item.is-open > .dynamic-header-dropdown--nested {
        top: 0;
        left: 100%;
        visibility: visible;
        opacity: 1;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        pointer-events: auto;
    }
}

.rbt-main-navigation .dynamic-header-navigation li.with-rbt-megamenu:focus-within > .dynamic-header-mega,
.mainbar-row .dynamic-header-navigation li.with-rbt-megamenu:focus-within > .dynamic-header-mega,
.rbt-main-navigation .dynamic-header-navigation li.has-dropdown:focus-within > .dynamic-header-dropdown,
.mainbar-row .dynamic-header-navigation li.has-dropdown:focus-within > .dynamic-header-dropdown {
    top: 100%;
    z-index: 5;
    visibility: visible;
    opacity: 1;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

@media (min-width: 1200px) {
    .rbt-main-navigation .dynamic-header-navigation .mainmenu > li > .dynamic-header-dropdown,
    .mainbar-row .dynamic-header-navigation .mainmenu > li > .dynamic-header-dropdown {
        min-width: 240px !important;
        padding: 8px 0 !important;
    }

    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown li > a,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown li > a {
        margin: 0 10px !important;
        padding: 6px 16px !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:hover > .dynamic-header-dropdown--nested,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:hover > .dynamic-header-dropdown--nested,
    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:focus-within > .dynamic-header-dropdown--nested,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item:focus-within > .dynamic-header-dropdown--nested,
    .rbt-main-navigation .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item.is-open > .dynamic-header-dropdown--nested,
    .mainbar-row .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item.is-open > .dynamic-header-dropdown--nested {
        top: 0;
        right: auto;
        left: 100%;
        z-index: 1010;
        display: flex !important;
        visibility: visible;
        opacity: 1;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
        pointer-events: auto;
    }
}

@media (max-width: 1199.98px) {
    .dynamic-header-navigation .dynamic-header-dropdown > .dynamic-header-nested-item > a {
        display: flex !important;
        align-items: center;
        justify-content: space-between !important;
        gap: 12px;
        width: auto;
        font-size: 16px !important;
        line-height: 1.4 !important;
    }

    .dynamic-header-navigation .dynamic-header-dropdown--nested {
        position: static !important;
        width: calc(100% - 16px);
        min-width: 0;
        margin: 4px 8px 8px;
        padding: 5px 0 5px 12px;
        border: 0;
        border-left: 2px solid var(--color-primary, #6f1d75);
        border-radius: 0 8px 8px 0;
        background: rgba(111, 29, 117, .045);
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        clip-path: none;
        transform: none;
        display: none !important;
    }

    .dynamic-header-navigation .dynamic-header-dropdown--nested.active {
        display: flex !important;
        flex-direction: column !important;
    }

    .dynamic-header-navigation .dynamic-header-nested-icon {
        transform: rotate(90deg);
        transition: transform .2s ease;
    }

    .dynamic-header-navigation .dynamic-header-nested-item > a.open .dynamic-header-nested-icon {
        transform: rotate(-90deg);
    }

    .popup-mobile-menu .dynamic-header-mega {
        position: static;
        width: 100%;
        max-width: none;
        transform: none;
        padding: 0;
        box-shadow: none;
    }

    .popup-mobile-menu .dynamic-header-mega__grid,
    .popup-mobile-menu .dynamic-header-mega__sections {
        display: block;
        padding: 0;
    }

    .popup-mobile-menu .dynamic-header-mega > .rbt-megamenu-wrapper > .container-fluid {
        padding-right: 4px;
        padding-left: 4px;
    }

    .popup-mobile-menu .dynamic-header-mega__sections .single-mega-item {
        padding: 4px 0;
    }

    .popup-mobile-menu .dynamic-header-mega__sections .single-mega-item + .single-mega-item {
        margin-top: 6px !important;
    }

    .popup-mobile-menu .dynamic-header-mega__sections .mega-menu-item > li {
        margin: 0;
    }

    .popup-mobile-menu .dynamic-header-mega__sections .mega-menu-item > li > a {
        padding: 6px 8px !important;
        line-height: 20px;
    }

    .popup-mobile-menu .dynamic-header-mega__image {
        min-height: 0;
        margin-top: 6px;
    }

    .popup-mobile-menu .dynamic-header-mega__image img {
        max-height: 140px;
    }

    .popup-mobile-menu .dynamic-header-navigation .rbt-short-title {
        margin-bottom: 3px;
        font-size: 14px;
    }
}
