header {
    /* Base menu block styles */

    nav.main-menu ul.nav-menu {
        position: relative;
    }

    /* Submenu children icon */

    nav.main-menu ul.nav-menu.submenu-children-icon-enabled .menu-item-has-children::after {
        content: "";
        display: inline-block;
        width: 1rem;
        height: 1rem;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='white' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat;
        background-size: contain;
        vertical-align: middle;
        margin-bottom: 0.25rem;
        margin-left: 0.1rem;
    }

    /* Submenu hover behavior */

    nav.main-menu ul.nav-menu.has-submenu-hover .menu-item:hover > .sub-menu-wrap {
        display: block !important;
        z-index: 100;
        min-width: 0;
    }

    nav.main-menu ul.nav-menu.has-submenu-hover .menu-item:hover > .sub-menu-wrap .sub-menu {
        display: grid !important;
    }

    /* Submenu wrapper positioning */

    nav.main-menu ul.nav-menu .sub-menu-wrap {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        width: auto;
        min-width: 200px;
        height: 58px;
        z-index: 100;
    }

    nav.main-menu ul.nav-menu .sub-menu-wrap .sub-menu {
        position: relative;
        left: 0;
        top: 0;
        display: flex;
        list-style: none;
        gap: var(--wp--style--block-gap);
        padding: 1rem;
        background: inherit;
        white-space: nowrap;
    }

    /* Menu item hover z-index */

    nav.main-menu ul.nav-menu li:hover {
        z-index: 200;
    }

    /* Current menu parent styling */

    nav.main-menu ul.nav-menu .current-menu-parent > a {
        font-weight: bold;
        padding-bottom: 2rem;
    }

    /* Current menu item/ancestor styling */

    nav.main-menu ul.nav-menu .current-menu-item .sub-menu li,
    nav.main-menu ul.nav-menu .current-menu-ancestor .sub-menu li {
        font-weight: normal;
    }

    /* Menu item with submenu padding */

    nav.main-menu ul.nav-menu .menu-item:has(> .sub-menu-wrap) > a {
        padding-bottom: 1.5rem;
    }

    /* Horizontal submenu direction */

    nav.main-menu ul.nav-menu.has-submenu-horizontal-direction .menu-item:hover > .sub-menu-wrap .sub-menu,
    nav.main-menu ul.nav-menu.has-submenu-horizontal-direction .menu-item.current-menu-item > .sub-menu-wrap .sub-menu,
    nav.main-menu ul.nav-menu.has-submenu-horizontal-direction .menu-item.current-menu-ancestor > .sub-menu-wrap .sub-menu {
        display: flex !important;
    }

    /* Vertical submenu direction */

    nav.main-menu ul.nav-menu.has-submenu-vertical-direction .menu-item:hover > .sub-menu-wrap .sub-menu,
    nav.main-menu ul.nav-menu.has-submenu-vertical-direction .menu-item.current-menu-item > .sub-menu-wrap .sub-menu,
    nav.main-menu ul.nav-menu.has-submenu-vertical-direction .menu-item.current-menu-ancestor > .sub-menu-wrap .sub-menu {
        display: block !important;
    }

    /* No hover behavior - submenus stay hidden unless explicitly shown */

    nav.main-menu ul.nav-menu.no-submenu-hover .menu-item:hover > .sub-menu-wrap {
        display: none;
    }

    nav.main-menu ul.nav-menu.has-submenu-hover > .menu-item-has-children:hover > .sub-menu-wrap {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        transition-delay: 0s !important;
    }

    nav.main-menu ul.nav-menu.has-submenu-hover > .menu-item-has-children:hover > .sub-menu-wrap:hover {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto;
        transition-delay: 0s !important;
    }

    /* Fallback styles for simple submenu (non-wrapped) */

    nav.main-menu ul.nav-menu .menu-item.menu-item-has-children:hover ul.sub-menu {
        position: absolute;
        display: block;
        background-color: inherit;
    }

    nav.main-menu ul.nav-menu .menu-item.menu-item-has-children ul.sub-menu {
        display: none;
        list-style: none;
        padding: 0;
    }
}