/* Provider groups share one menu surface; further providers can follow LPI. */
#mainnav .navbar { position: relative; }
#mainnav .cert-navigation { position: static; }
#mainnav .cert-navigation-trigger { display: flex; align-items: center; gap: 7px; border: 0; background: transparent; color: var(--catalog-ink, #182b43); font: inherit; font-size: 14px; cursor: pointer; padding: 8px 12px; min-height: 44px; }
#mainnav .cert-navigation.is-current .cert-navigation-trigger, #mainnav .cert-navigation-trigger[aria-expanded=true] { color: var(--catalog-blue, #174d95); }
#mainnav .cert-navigation-chevron { transition: transform .15s; }
#mainnav .cert-navigation-trigger[aria-expanded=true] .cert-navigation-chevron { transform: rotate(180deg); }
#mainnav .cert-navigation-panel { position: absolute; top: 100%; right: 0; width: min(900px, 100%); padding: 24px; text-align: left; border: 1px solid var(--catalog-line, #d9e1eb); border-radius: 7px; background: white; box-shadow: 0 12px 30px #112d551a; max-height: calc(100dvh - 130px); overflow-y: auto; z-index: 40; }
#mainnav .cert-navigation-panel[hidden] { display: none; }
#mainnav .cert-navigation-shortcuts { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--catalog-line, #d9e1eb); }
#mainnav .cert-navigation-panel a { color: var(--catalog-blue, #174d95); font-size: 14px; line-height: 1.5; text-decoration: none; }
#mainnav .cert-navigation-panel a:hover, #mainnav .cert-navigation-panel a:focus-visible, #mainnav .cert-navigation-panel a[aria-current=page] { background: var(--catalog-background, #f4f6f9); border-radius: 4px; }
#mainnav .cert-navigation-provider h2 { font: inherit; font-size: 18px; font-weight: 500; color: var(--catalog-blue, #174d95); margin: 16px 0; }
#mainnav .cert-navigation-groups { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 24px; }
#mainnav .cert-navigation-additional { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 20px; border-top: 1px solid var(--catalog-line, #d9e1eb); }
#mainnav .cert-navigation-group summary { color: var(--catalog-ink, #182b43); font-size: 14px; font-weight: 500; list-style: none; padding: 0 8px 8px; }
#mainnav .cert-navigation-group summary::-webkit-details-marker { display: none; }
#mainnav .cert-navigation-group ul { list-style: none; margin: 0; padding: 0; }
#mainnav .cert-navigation-group a { display: block; padding: 6px 8px; }
#mainnav .cert-navigation-group small { display: block; color: var(--catalog-muted, #53677e); font-size: 12px; margin-top: 3px; }
#mainnav .cert-navigation-specializations h3 { font: inherit; font-size: 14px; font-weight: 500; margin: 14px 8px 5px; }
#mainnav .cert-navigation-specializations > ul { margin-left: 8px; padding-left: 10px; border-left: 2px solid var(--catalog-line, #d9e1eb); }
#mainnav .cert-navigation-specializations small { margin: 0 0 2px; }
#mainnav .cert-navigation :is(a, button, summary):focus-visible { outline: 2px solid var(--catalog-blue, #174d95); outline-offset: 2px; }
#mainnav button.navbar-burger::after { content: none; }
#mainnav button.navbar-burger { background: transparent; border: 0; color: var(--catalog-blue, #174d95); }
@media (max-width: 1023px) {
    #mainnav .navbar-menu.is-active { max-height: calc(100dvh - 100px); overflow-y: auto; }
    #mainnav .cert-navigation { display: block; padding: 0; }
    #mainnav .cert-navigation-trigger { width: 100%; justify-content: flex-end; text-align: right; }
    #mainnav .cert-navigation-panel { position: static; width: 100%; max-height: none; overflow: visible; padding: 12px; box-shadow: none; }
    #mainnav .cert-navigation-shortcuts { flex-direction: column; gap: 0; }
    #mainnav .cert-navigation-shortcuts a { padding: 10px 8px; }
    #mainnav .cert-navigation-provider h2 { font-size: 16px; }
    #mainnav .cert-navigation-groups { grid-template-columns: 1fr; gap: 0; }
    #mainnav .cert-navigation-additional { grid-template-columns: 1fr; gap: 0; }
    #mainnav .cert-navigation-group { border-top: 1px solid var(--catalog-line, #d9e1eb); }
    #mainnav .cert-navigation-group summary { display: flex; justify-content: space-between; padding: 10px 8px; cursor: pointer; }
    #mainnav .cert-navigation-group summary::after { content: '+'; }
    #mainnav .cert-navigation-group[open] summary::after { content: '−'; }
}

/* One section indicator, aligned with the navigation's lower edge. */
.site-design #mainnav.has-background-white { border-bottom: 0; box-shadow: inset 0 -1px 0 var(--catalog-line, #d9e1eb); }
#mainnav .nav-entry.is-current { box-shadow: inset 0 -3px 0 var(--catalog-blue, #174d95); }
#mainnav .nav-entry.is-current > a,
#mainnav .nav-entry.is-current > .navbar-link > a { color: var(--catalog-blue, #174d95); }
#mainnav .nav-entry:hover,
#mainnav .nav-entry:focus-within { background-color: var(--catalog-background, #f4f6f9); }
#mainnav .nav-entry > a.navbar-item,
#mainnav .nav-entry > .navbar-link,
#mainnav .nav-entry > .navbar-link:hover { background: transparent; }
#mainnav .navbar-dropdown { background: white; }
#mainnav .navbar-dropdown a.navbar-item:hover,
#mainnav .navbar-dropdown a.navbar-item:focus-visible { background: var(--catalog-background, #f4f6f9); color: var(--catalog-blue, #174d95); }
#mainnav :is(.navbar-dropdown, .cert-navigation-panel) a[aria-current=page] { background: var(--catalog-background, #f4f6f9); box-shadow: inset 3px 0 0 var(--catalog-blue, #174d95); color: var(--catalog-blue, #174d95); }
#mainnav .navbar-brand > a:hover { background: transparent; }
@media (max-width: 1023px) {
    #mainnav .nav-entry.is-current { box-shadow: none; }
    #mainnav .nav-entry.is-current > a,
    #mainnav .nav-entry.is-current > .navbar-link,
    #mainnav .nav-entry.is-current > .cert-navigation-trigger { box-shadow: inset 3px 0 0 var(--catalog-blue, #174d95); background: var(--catalog-background, #f4f6f9); }
}
