
/* JSON groups are structural headings, not unavailable local-page links. */
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-nav-group > .nbly-json-group-heading {
    display: block;
    padding: 0;
}
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-title {
    display: block;
    padding: .5rem 0;
    color: var(--gray-900);
    font-weight: 600;
    text-align: left;
    border-bottom: 1px solid var(--gray-200, #e5e7eb);
}
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-links {
    position: static;
    list-style: none;
    margin: 0;
    padding: .5rem 0;
    width: auto;
}
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-links > li {
    width: 100%;
}
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) a.nbly-json-nav-link {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: .5rem;
    padding: .5rem 0;
    text-align: left;
    color: var(--gray-900);
    font-size: 1rem;
    line-height: 1.5;
}
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) a.nbly-json-nav-link > .nav-square-img {
    display: block;
    width: .75rem;
    height: .75rem;
    padding: 0;
    margin-top: .25rem;
    flex-shrink: 0;
}
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-toggle {
    display: none;
}
@media (min-width: 1025px) {
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-links {
        display: block;
    }
    .nbly-header .nbly-main-menu > ul > .nbly-json-grouped-nav > .sub-menu {
        align-items: start;
    }
}
@media (max-width: 1024px) {
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-links {
        display: none;
        padding-left: 1rem;
    }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-nav-group.is-expanded > .nbly-json-group-links {
        display: block;
    }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-heading > span.nbly-json-group-title {
        display: none;
    }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-toggle {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 1rem;
        width: 100%;
        min-height: 44px;
        padding: .75rem 0;
        border: 0;
        background: transparent;
        color: var(--gray-900);
        font: inherit;
        text-align: left;
        cursor: pointer;
    }
}


/* Mobile JSON drill-down levels; desktop grouping is unchanged. */
.nbly-header .nbly-main-menu :is(#menu-main-menu, ul) :is(.nbly-json-panel-back, .nbly-json-panel-title) { display: none; }
@media (max-width: 1024px) {
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-heading > .nbly-json-group-title { display: none; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-toggle { padding: .5rem; font-weight: 500; line-height: 1.5; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-chevron { display: block; width: 30px; height: 30px; flex: 0 0 30px; box-sizing: border-box; padding: 5px; margin: 0; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-grouped-nav > a.no-link[aria-expanded="true"] { visibility: hidden; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) :is(.sub-menu, .nbly-json-group-links):has(> .nbly-json-nav-group.is-expanded) > li:not(.is-expanded):not(.mobile-back-item):not(.mobile-parent-item) { display: none !important; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-nav-group.is-expanded > .nbly-json-group-heading .nbly-json-group-toggle { background: #e9f3f9; color: var(--primary-500); border-radius: 4px; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-nav-group.is-expanded > .nbly-json-group-heading .nbly-json-chevron { visibility: hidden; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-links { padding: 0; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-group-links > li { padding: .25rem 0 .25rem 1rem; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) :is(.nbly-json-panel-back, .nbly-json-panel-title) { display: none; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-back { display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: 1rem; background: transparent; border: 0; color: var(--gray-900); font: inherit; cursor: pointer; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-back > span { font-size: 2rem; line-height: 1; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-panel-title > :is(a, span) { display: flex; align-items: center; padding: .75rem 1rem; margin: 0; text-align: left; color: var(--gray-900); font-weight: 600; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) .nbly-json-panel-title > a { text-decoration: underline; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) a.nbly-json-nav-link { display: inline-flex; width: auto; max-width: 100%; box-sizing: border-box; padding: .25rem 0; font-size: .875rem; line-height: 1.5; font-weight: 500; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) a.nbly-json-nav-link:is(:hover, :focus, :focus-visible, :active) { background: transparent; text-decoration: none; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) a.nbly-json-nav-link:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; border-radius: 4px; }
    .nbly-header .nbly-main-menu :is(#menu-main-menu, ul) a.nbly-json-nav-link > .nav-square-img { display: none; }
}

/* Keep dynamic desktop dropdowns laid out before hover so opening them cannot reflow. */
@media (min-width: 1025px) {
    .nbly-header .nbly-main-menu > ul > .nbly-dynamic-nav-columns > .sub-menu {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        column-gap: 2rem;
        row-gap: .5rem;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
    }

    .nbly-header .nbly-main-menu > ul > .nbly-dynamic-nav-columns:hover > .sub-menu,
    .nbly-header .nbly-main-menu > ul > .nbly-dynamic-nav-columns:focus-within > .sub-menu {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }

    .nbly-dynamic-nav-columns > .sub-menu > li {
        display: block;
        width: auto !important;
    }
}
