:root :where(.wp-block-navigation) {
    &.wp-block-navigation__container{
        & > .wp-block-navigation-item {
            &.has-child {
                &:hover {
                    & > .wp-block-navigation-item__content {
                        &::before {
                            content: '';
                            position: absolute;
                            inset: 0 -16px -40px 0;
                            z-index: 1;
                        }
                    }
                }
            }
        }
    }
    .wp-block-navigation-item.has-child > .wp-block-navigation-submenu {
        padding: 8px;
        top: calc(100% + 12px);
        overflow: hidden;
        @media (width >= 1200px) {
            box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.28);
        }
        li {
            a {
                padding: 12px !important;
                span {
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 21px;
                }
            }
            &:hover {
                background: var(--wp--preset--color--light-purple) !important;
            }
        }
        > .wp-block-navigation-item > .wp-block-navigation-submenu {
            box-shadow: none !important;
            border: none !important;
        }
    }
}

.is-style-header-menu {
    @media (width <= 599px) {
            .wp-block-navigation__responsive-close {
                width: 300px;
            }            
        }

        @media (600px <= width <= 1199px) {
            &:not(.wp-block) {
                .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
                    display: none;
                }

                .wp-block-navigation__responsive-container-open:not(.always-shown) {
                    display: flex;
                }

                .wp-block-navigation__responsive-close {
                    width: 400px;
                }
            }
        }

        @media (width <= 1199px) {
            &:not(.wp-block) {
                .wp-block-navigation__responsive-close {
                    background-color: var(--wp--preset--color--white);
                    padding: 0;
                    margin-left: 0;
                    height: 100vh;

                    > .wp-block-navigation__responsive-dialog {
                        padding: 0 16px;
                        background-color: var(--wp--preset--color--white);

                        .wp-block-navigation__responsive-container-content {
                            .wp-block-navigation-item.has-child > .wp-block-navigation-submenu li {
                                a {
                                    span {
                                        font-size: 14px !important;
                                        color: var(--wp--preset--color--black) !important;
                                        line-height: 21px !important;
                                    }
                                }
                            }
                            .is-responsive {
                                > li a {
                                    font-size: 14px !important;
                                    color: var(--wp--preset--color--black) !important;
                                    font-weight: 500 !important;
                                    line-height: 21px !important;
                                }
                            }
                        }
                    }
                }

                .is-style-mega-menu {
                    > .wp-block-group {
                        padding: 16px 0 26px 0 !important;
                    }

                    .wp-block-woocommerce-mini-cart {
                        display: none;
                    }

                }

                .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
                    padding: 0 1em;
                }

                .wp-block-navigation__responsive-container-close {
                    right: 16px;
                }

                .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
                    padding-left: 10px;
                    padding-right: 0;

                    .wp-block-navigation-item__content {
                        color: var(--wp--preset--color--zinc-600);
                    }
                }

                &:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
                    background-color: color-mix(in oklab, #000 50%, transparent);
                    padding: 0;
                }

                .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
                    padding-top: 4px;
                }
            }
        }

        .is-style-mega-menu {
            .wp-block-woocommerce-mini-cart,.wc-block-mini-cart {
                display: none;
            }
        }

        @media (width >= 1200px) {
            &:not(.wp-block) {
                &,
                .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open),
                .wp-block-navigation__responsive-dialog, 
                .wp-block-navigation-item.is-style-mega-menu {
                    position: static;
                }

                .is-style-mega-menu {
                    .wp-block-navigation-submenu {
                        inset-inline: 0;
                    }

                    &.wp-block-navigation__submenu-container {
                        border-width: 0;
                    }

                    .is-style-header-menu {
                        gap: var(--wp--preset--spacing--3);

                        > li {
                            > a {
                                padding:0;
                            }
                        }
                    }
                }
            }
        }
    &:not(.is-style-header-menu) {
        > li > a.wp-block-navigation-item__content:hover {
            text-decoration: underline;
            text-underline-offset: 6px;
        }
    }
}


.vertical-menu.is-style-header-menu > li:first-child > button.wp-block-navigation__submenu-icon {
    display: none;
}

.vertical-menu.is-style-header-menu {
    display: block;

    > li:first-child {
        height: 24px;
    }

    .wp-block-columns.mega-menu {
        padding-left: 32px;
        padding-top: 32px;
        padding-bottom: 28px;
    }

    &:hover {
        background: var(--wp--preset--color--light-purple);
        > li:first-child > a > span {
            color: var(--wp--preset--color--primary) !important;
        }
        > li:first-child > a img {
            filter: invert(22%) sepia(71%) saturate(2213%) hue-rotate(235deg) brightness(88%) contrast(96%);
        }
    }
   
    .wp-block-navigation-item__label {
        display: inline-flex;
        align-items: center;
        gap: 9px;
    }
    > li {
        padding: 4px 8px;
    }
    > li a:hover {
        background: var(--wp--preset--color--light-purple);
    }

    .wp-block-navigation__container > .wp-block-navigation-item {
        line-height: 13px;
    }
    
    .wp-block-navigation-item.has-child > .wp-block-navigation-submenu {      
        top: calc(100% + 0px);
    }
}

.vertical-menu.is-style-header-menu > .has-child > .wp-block-navigation-submenu {
    padding: 40px 0 40px 40px !important;
}

.vertical-menu.is-style-header-menu > .has-child {
    position: static;
    > .wp-block-navigation__submenu-container {
        right: 0 !important;
        left: 0 !important;
        max-width: 1480px !important;
        margin-left: auto;
        margin-right: auto;
        li {
            display: inline-flex;
            width: auto;
            max-width: 243px;
            position: static;
        }
        @media (width >= 1200px) {
            li.has-child > .wp-block-navigation-submenu {
                right: 0;
                left: 304px;
                top: 0;
            }
        }
        .wp-block-navigation-item:first-child {
            margin-top: 32px;
        }
    }
}


.header-v1 .wp-block-navigation__responsive-container-open svg {
    fill: var(--wp--preset--color--white);
}

.mega-menu .wp-block-column .wp-block-group p.is-style-subtitle-sm a {
    padding: 0 !important;
    color: var(--wp--preset--color--contrast) !important;
}

.header-v1 .topbar-menu {
     > li > a {
        color: var(--wp--preset--color--white) !important;
    }
}

.header-v3 .vertical-menu.is-style-header-menu {
    .wp-block-navigation-item.has-child > .wp-block-navigation-submenu {
        top: calc(100% + 16px);
    }
}

.topbar-menu {
    .wp-block-navigation-item.has-child > .wp-block-navigation-submenu  li {
        a {
            padding: 3px !important;
            span {
                font-size: 11px !important;
                line-height: 16px !important;
            }
        }
    }

    .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container {
        min-width: 131px !important;
    }

    .wp-block-navigation-item.has-child > .wp-block-navigation-submenu {
        padding: 3px 6px !important;
        border-radius: 3px;
        
    }
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle[aria-expanded=true]>svg {
    transform: rotate(90deg);
}

.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
    width: 13px;
    height: 13px;
    svg {
        color: var(--wp--preset--color--gray);
    }
    
}

@media (width >= 1200px) {
    .menu-area {
        position: absolute;
        left: 0;
        right: 0;
        bottom: -61px;
        z-index: 2;
    }
}

@media (width >= 1200px) {
    .top-menu-area {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        top: -47px;
        width: 100%;
        max-width: 1400px;
        z-index: 2;
    }
}

@media (max-width: 1199px) {
    .wp-block-navigation__responsive-close {
        color: var(--wp--preset--color--black);
    }
}
