/* Header navigation uses the core Navigation block for focus, dismissal and scroll lock. */
@media (max-width: 1100px) {
    .site-header nav.primary-nav {
        flex: 0 0 auto;
        margin-inline-start: auto !important;
    }

    .site-header nav.primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) {
        display: none;
    }

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

/* The class is repeated on core's inner list, so header layout rules target nav explicitly. */
.site-header nav.primary-nav .wp-block-navigation__responsive-container.is-menu-open {
    --navigation-layout-justification-setting: flex-start;
    --navigation-layout-justify: flex-start;
    --navigation-layout-align: stretch;
    padding: max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
    overflow: auto;
    overscroll-behavior: contain;
    background: var(--wp--preset--color--background);
    color: var(--ink);
}

.site-header nav.primary-nav .is-menu-open .wp-block-navigation__responsive-close {
    width: 100%;
    max-width: 720px;
    min-width: 0;
    margin-inline: auto;
}

.site-header nav.primary-nav .is-menu-open .wp-block-navigation__responsive-dialog {
    width: 100%;
    min-width: 0;
}

.site-header nav.primary-nav .is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: stretch !important;
    padding-block-start: 64px;
    width: 100%;
    min-width: 0;
}

.site-header nav.primary-nav .is-menu-open .wp-block-navigation__container {
    align-items: stretch !important;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 4px;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    font-size: 1.125rem;
}

.site-header nav.primary-nav .is-menu-open .wp-block-navigation-item {
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.site-header nav.primary-nav .is-menu-open .wp-block-navigation-item__content {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 4px;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: start;
}

.site-header nav.primary-nav .is-menu-open .wp-block-navigation__submenu-container {
    width: 100%;
    min-width: 0;
    padding: 4px 0 4px 16px;
}

.site-header nav.primary-nav .is-menu-open .current-menu-item > a::after,
.site-header nav.primary-nav .is-menu-open a[aria-current="page"]::after {
    right: auto;
    bottom: 0;
    width: 40px;
}

.site-header nav.primary-nav .wp-block-navigation__responsive-container-close {
    display: flex;
    min-width: 44px;
    min-height: 44px;
}
