:root :where(.wp-block-navigation) {
    &.is-style-header-nav {
        gap: var(--wp--preset--spacing--4);

        @media (width >= 1280px) {
            gap: var(--wp--preset--spacing--7);
        }

        @media (width <= 1279px) {
            &.wp-block-navigation__container,.is-style-mega-menu:not(.wp-block),
            .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
                width: 100%;
            }

            > .wp-block-navigation-item >.wp-block-navigation-item__content {
                font-weight: 500;
            }
        }

        .is-style-mega-menu {
            .wp-block-cover a {
                color: #fff;
            }
        }

        > .wp-block-navigation-item {
            &.has-child {
                &:hover {
                    > .wp-block-navigation-item__content {
                        position: relative;

                        &::before {
                            content: '';
                            position: absolute;
                            inset: 0 -16px -40px 0;
                            z-index: 1;
                        }
                    }
                }
                
                > .wp-block-navigation__submenu-container {
                    top: 63px;
                }
            }
        }

        & + .wp-block-site-logo {
            @media (width >= 1280px) {
                margin-inline: auto;
            }
        }

        .wp-block-navigation-item:not(.is-style-mega-menu) {
            .wp-block-navigation-item {
                @media (width >= 1280px) {
                    &:hover {
                        > .wp-block-navigation-item__content {
                            background-color: var(--wp--preset--color--stone-50);
                        }
                    }
                }
            }
        }

        .wp-block-navigation-item {
            > .wp-block-navigation-submenu {
                gap: var(--wp--preset--spacing--1);
                
                @media (width >= 1280px) {
                    padding-block: var(--wp--preset--spacing--4);
                    box-shadow: 0 8px 32px -4px rgba(103, 111, 123, 0.10);
                }

                .wp-block-navigation-item {
                    > .wp-block-navigation-item__content {
                        border-radius: 6px;
                    }

                    &.has-child {
                        > .wp-block-navigation__submenu-icon {
                            align-self: stretch;
                            height: inherit;
                            margin: 0;
                            width: 9px;
                            padding-right: 20px;
                            border-radius: 0 6px 6px 0;
                        }

                        > .wp-block-navigation-item__content {
                            border-radius: 6px 0 0 6px;
                        }
                    }

                    &:hover {
                        color: var(--wp--preset--color--stone-950);

                        &.has-child {
                            > .wp-block-navigation__submenu-icon {
                                background-color: var(--wp--preset--color--stone-50);
                            }
                        }
                    }
                }
            }            
        }

        &:not(.has-text-color) .wp-block-navigation__submenu-container {
            color: var(--wp--preset--color--stone-800);
        }

        .wp-block-navigation__submenu-container:not(.is-style-mega-menu) {
            .wp-block-navigation-item a:not(.wp-element-button),
            .wp-block-navigation-submenu a:not(.wp-element-button),
            .wp-block-navigation-submenu button.wp-block-navigation-item__content, 
            .wp-block-pages-list__item button.wp-block-navigation-item__content {
                padding: 4px 0;

                @media (width <= 1279px) {
                    font-size: 14px;
                }

                @media (width >= 1280px) {
                    padding: var(--wp--preset--spacing--1-5) 0.75rem;
                }
            }
        }

        .wp-block-navigation__submenu-container.is-style-mega-menu {
            .wp-block-navigation-item a:not(.wp-element-button),
            .wp-block-navigation-submenu a:not(.wp-element-button),
            .wp-block-navigation-submenu button.wp-block-navigation-item__content, 
            .wp-block-pages-list__item button.wp-block-navigation-item__content {
                padding: 0;
            }

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

        .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container, 
        .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container, 
        .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
            min-width: 220px;
        }

        .wp-block-navigation__submenu-container:not(.is-style-mega-menu) {
            border-color: var(--wp--preset--color--stone-100);

            &.block-editor-block-list__layout {
                border-radius: 16px;
            }
            
            .wp-block-navigation-item {
                padding-inline: var(--wp--preset--spacing--2);

                @media (width >= 1280px) {
                    padding-inline: var(--wp--preset--spacing--4);
                }

                &:first-child {
                    border-top-left-radius: inherit;
                    border-top-right-radius: inherit;
                }

                &:last-child {
                    border-bottom-left-radius: inherit;
                    border-bottom-right-radius: inherit;
                }
            }
        }

        @media (width <= 1279px) {
            &:not(.wp-block) {
                &,& ~ .header-action {flex-basis: auto;}

                & ~ .header-action {
                    margin-left: auto;

                    .is-style-nav-text {
                        display: none;
                    }
                }
            }   
        }

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

        @media (600px <= width <= 1279px) {
            &: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 <= 1279px) {
            &: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-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-inline: 0;
                }

                &: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;
                }
            }
        }

        @media (width >= 1280px) {
            &: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;
                        border-radius: 0;
                        top: calc(100% + 1px);
                    }

                    .group {
                        a::after {
                            content: "";
                            inset: 0;
                            position: absolute;
                        }
                    }
                }
            }
        }
    }
}

header.transparent:not(.wp-block),
.transparent:not(.wp-block) {
    position: absolute;
    inset: auto 0;
    z-index: 1;
}

header.transparent:not(.wp-block).light > .wp-block-group,
.transparent:not(.wp-block).light {
    border-bottom-color: rgba(255, 255, 255, 0.20) !important;

    &,
    .search-icon,
    .is-style-nav-text a,
    .wp-block-navigation__responsive-container-open {
        color: var(--wp--preset--color--white);
    }

    .wp-block-site-logo {
        img {
            filter: invert(1);
        }
    }

    .is-style-header-nav {
        > .wp-block-navigation-item  {
            > .wp-block-navigation-item__content,
            > .wp-block-navigation__submenu-icon {
                @media (width >= 1280px) {
                    color: var(--wp--preset--color--white);
                }
            }
        }
    }

    .wc-block-mini-cart__badge {
        color: var(--wp--preset--color--stone-950);
        background-color: var(--wp--preset--color--white);
    }
}

.error404 {
    .transparent.light .header-action {
        p a:where(:not(.wp-element-button)) {
            color: var(--wp--preset--color--white);
        }
    }
}