/**
 * Shared nav item styling (top bar + course secondary nav).
 * Matches .btn corner radius; active state mirrors .btn-primary.
 */

:root,
body.theme-custom-enabled {
    --theme-custom-nav-accent: var(--bs-primary, #2563eb);
    --theme-custom-border-radius: var(--bs-border-radius, 0.375rem);
    --tc-nav-radius: var(--theme-custom-border-radius);
    --tc-nav-hover-bg: color-mix(in srgb, var(--theme-custom-nav-accent) 9%, #fff);
    --tc-nav-hover-border: color-mix(in srgb, var(--theme-custom-nav-accent) 28%, #d0d5dd);
    --tc-nav-hover-shadow: 0 3px 10px color-mix(in srgb, var(--theme-custom-nav-accent) 16%, transparent);
    --tc-nav-active-shadow: 0 3px 12px color-mix(in srgb, var(--theme-custom-nav-accent) 32%, transparent);
}

.theme-custom-nav-item {
    display: inline-flex !important;
    align-items: center;
    gap: 0.3rem;
    min-height: 2.25rem;
    padding: 0.42rem 0.88rem !important;
    margin: 0 0.1rem;
    border: 1px solid transparent !important;
    border-radius: var(--tc-nav-radius) !important;
    border-bottom: none !important;
    background: transparent !important;
    color: rgba(63, 68, 78, 0.68) !important;
    font-size: 0.95rem;
    font-weight: 600;
    line-height: 1.25;
    text-decoration: none;
    box-shadow: none !important;
    transition: background-color 0.16s ease, color 0.16s ease, border-color 0.16s ease,
        box-shadow 0.16s ease, transform 0.16s ease;
}

.theme-custom-nav-item:hover,
.theme-custom-nav-item:focus-visible {
    background: var(--tc-nav-hover-bg) !important;
    border-color: var(--tc-nav-hover-border) !important;
    color: var(--theme-custom-nav-accent) !important;
    box-shadow: var(--tc-nav-hover-shadow) !important;
    transform: translateY(-1px);
    outline: none;
}

.theme-custom-nav-item.active,
.theme-custom-nav-item.is-active {
    background: var(--theme-custom-nav-accent) !important;
    background-color: var(--theme-custom-nav-accent) !important;
    border-color: var(--theme-custom-nav-accent) !important;
    color: #fff !important;
    font-weight: 600;
    box-shadow: var(--tc-nav-active-shadow) !important;
    transform: none;
}

.theme-custom-nav-item.active .theme-custom-nav-item__label,
.theme-custom-nav-item.is-active .theme-custom-nav-item__label {
    color: inherit !important;
}

.theme-custom-nav-item.active:hover,
.theme-custom-nav-item.is-active:hover,
.theme-custom-nav-item.active:focus-visible,
.theme-custom-nav-item.is-active:focus-visible {
    background: color-mix(in srgb, var(--theme-custom-nav-accent) 88%, #000) !important;
    border-color: color-mix(in srgb, var(--theme-custom-nav-accent) 88%, #000) !important;
    color: #fff !important;
    box-shadow: var(--tc-nav-active-shadow) !important;
    transform: translateY(-1px);
}

.theme-custom-nav-item__label {
    white-space: nowrap;
}

.theme-custom-nav-dropdown {
    border-radius: var(--tc-nav-radius);
    border: 1px solid rgba(63, 68, 78, 0.1);
    background: #fff !important;
    box-shadow: 0 10px 32px rgba(63, 68, 78, 0.12);
    padding: 0.35rem;
}

.theme-custom-nav-dropdown .dropdown-item {
    border-radius: calc(var(--tc-nav-radius) * 0.85);
    font-weight: 600;
}

.theme-custom-nav-dropdown .dropdown-item:hover,
.theme-custom-nav-dropdown .dropdown-item:focus {
    background: var(--tc-nav-hover-bg) !important;
    color: var(--theme-custom-nav-accent) !important;
}

/* Admin shell left sidebar — unchanged */
.custom-admin-hub__nav-item:hover,
.custom-admin-hub__nav-item:focus-visible {
    background: color-mix(in srgb, var(--theme-custom-nav-accent) 8%, var(--bs-body-bg, #fff)) !important;
    color: var(--bs-gray-900, #212529) !important;
}

.custom-admin-hub__nav-item.is-active {
    background: color-mix(in srgb, var(--theme-custom-nav-accent) 14%, var(--bs-body-bg, #fff)) !important;
    border-color: color-mix(in srgb, var(--theme-custom-nav-accent) 35%, var(--bs-body-bg, #fff)) !important;
    color: var(--theme-custom-nav-accent) !important;
    box-shadow: 0 2px 12px color-mix(in srgb, var(--theme-custom-nav-accent) 12%, transparent);
}

.custom-admin-hub__nav-item.is-active .custom-admin-hub__nav-icon {
    background: var(--theme-custom-nav-accent) !important;
    color: #fff !important;
}

.custom-admin-hub__nav-icon {
    background: color-mix(in srgb, var(--theme-custom-nav-accent) 10%, var(--bs-body-bg, #fff)) !important;
    color: var(--theme-custom-nav-accent) !important;
}

/* Course secondary nav */
.secondary-navigation .navigation {
    background: #fff !important;
    border-bottom: 1px solid rgba(63, 68, 78, 0.1) !important;
}

.secondary-navigation .moremenu.navigation {
    opacity: 0;
    min-height: 3rem;
}

.secondary-navigation .moremenu.navigation.observed {
    opacity: 1;
}

body.theme-custom-course-page .secondary-navigation {
    min-height: 3rem;
}

.secondary-navigation .moremenu .nav-tabs {
    border: 0;
    background: transparent !important;
    flex-wrap: nowrap;
    gap: 0.2rem;
    align-items: center;
}

.secondary-navigation .moremenu .nav-item,
.secondary-navigation .moremenu .dropdownmoremenu {
    display: flex;
    align-items: center;
}

.secondary-navigation .moremenu .theme-custom-nav-item,
.secondary-navigation .moremenu .nav-link {
    height: auto !important;
    border-bottom: none !important;
}

.secondary-navigation .moremenu .dropdownmoremenu > .dropdown-toggle.nav-link {
    display: inline-flex !important;
    align-items: center;
    height: auto !important;
    min-height: 2.25rem;
    margin: 0 0.1rem;
    border-bottom: none !important;
}

.secondary-navigation .moremenu .dropdownmoremenu .dropdown-toggle::after {
    margin-left: 0.15rem;
    vertical-align: middle;
}

/* Top navbar moremenu */
.custom-navbar .moremenu {
    opacity: 1 !important;
    height: auto !important;
}

.custom-navbar .moremenu .nav-tabs {
    border: 0;
    background: transparent !important;
    margin: 0;
    flex-wrap: nowrap;
    gap: 0.2rem;
}

.custom-navbar .moremenu .nav-item {
    display: flex;
    align-items: center;
}

.custom-navbar .moremenu .theme-custom-nav-item,
.custom-navbar .moremenu .nav-link {
    height: auto !important;
    border-bottom: none !important;
}

.custom-navbar .moremenu .dropdown-toggle::after {
    margin-left: 0.15rem;
}

/* Beat Boost moremenu active underline — do not strip custom pill backgrounds */
.custom-navbar .moremenu .nav-link.active,
.secondary-navigation .moremenu .nav-link.active,
.custom-navbar .moremenu .show > .nav-link,
.secondary-navigation .moremenu .show > .nav-link {
    border-bottom-color: transparent !important;
}

.custom-navbar .moremenu .nav-link.active:not(.theme-custom-nav-item),
.secondary-navigation .moremenu .nav-link.active:not(.theme-custom-nav-item),
.custom-navbar .moremenu .show > .nav-link:not(.theme-custom-nav-item),
.secondary-navigation .moremenu .show > .nav-link:not(.theme-custom-nav-item) {
    background-color: transparent !important;
}

.custom-navbar .moremenu .theme-custom-nav-item.active,
.custom-navbar .moremenu .theme-custom-nav-item.is-active,
.secondary-navigation .moremenu .theme-custom-nav-item.active,
.secondary-navigation .moremenu .theme-custom-nav-item.is-active {
    background: var(--theme-custom-nav-accent) !important;
    background-color: var(--theme-custom-nav-accent) !important;
    border-color: var(--theme-custom-nav-accent) !important;
    color: #fff !important;
}

/* More dropdown (overflow menu) */
.secondary-navigation .moremenu .dropdownmoremenu .dropdown-item,
.custom-navbar .moremenu .dropdownmoremenu .dropdown-item {
    border-radius: calc(var(--tc-nav-radius) * 0.85);
    font-weight: 600;
}

.secondary-navigation .moremenu .dropdownmoremenu .dropdown-item:hover,
.custom-navbar .moremenu .dropdownmoremenu .dropdown-item:hover,
.secondary-navigation .moremenu .dropdownmoremenu .dropdown-item:focus,
.custom-navbar .moremenu .dropdownmoremenu .dropdown-item:focus {
    background: var(--tc-nav-hover-bg) !important;
    color: var(--theme-custom-nav-accent) !important;
}

/* No checkmark on active More-menu items — highlight colour is enough. */
.secondary-navigation .moremenu .dropdown-item[aria-current="true"]::before,
.secondary-navigation .moremenu .dropdown-item.active::before,
.secondary-navigation .moremenu .dropdown-item[aria-selected="true"]::before {
    content: none !important;
    display: none !important;
}

.secondary-navigation .moremenu .dropdownmoremenu > .dropdown-menu,
.custom-navbar .moremenu .dropdownmoremenu > .dropdown-menu {
    border-radius: var(--tc-nav-radius);
    border: 1px solid rgba(63, 68, 78, 0.1);
    background: #fff !important;
    box-shadow: 0 10px 32px rgba(63, 68, 78, 0.12);
    padding: 0.35rem;
}

/* Course focus mode layout (duplicated here because navmenu.css always loads). */
html.theme-custom-course-focus-mode .secondary-navigation,
body.theme-custom-course-focus-mode .secondary-navigation,
html.theme-custom-course-focus-mode .tertiary-navigation,
body.theme-custom-course-focus-mode .tertiary-navigation,
html.theme-custom-course-focus-mode .drawer-toggles,
body.theme-custom-course-focus-mode .drawer-toggles,
html.theme-custom-course-focus-mode .drawer-toggler,
body.theme-custom-course-focus-mode .drawer-toggler {
    display: none !important;
}

html.theme-custom-course-focus-mode #page.drawers,
body.theme-custom-course-focus-mode #page.drawers {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.theme-custom-course-focus-mode.limitedwidth #page.drawers .main-inner,
body.theme-custom-course-focus-mode.limitedwidth.uses-drawers #page.drawers .main-inner,
html.theme-custom-course-focus-mode body.limitedwidth #page.drawers .main-inner,
html.theme-custom-course-focus-mode body.limitedwidth.uses-drawers #page.drawers .main-inner,
body.theme-custom-course-focus-mode #page.drawers .main-inner,
html.theme-custom-course-focus-mode #page.drawers .main-inner {
    max-width: min(92rem, calc(100vw - 2.5rem)) !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.theme-custom-course-focus-mode.limitedwidth .header-maxwidth,
html.theme-custom-course-focus-mode body.limitedwidth .header-maxwidth,
body.theme-custom-course-focus-mode .header-maxwidth,
html.theme-custom-course-focus-mode .header-maxwidth {
    max-width: min(92rem, calc(100vw - 2.5rem)) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (min-width: 992px) {
    body.theme-custom-course-focus-mode[class*="theme-custom-drawer-"] #page.drawers,
    html.theme-custom-course-focus-mode body[class*="theme-custom-drawer-"] #page.drawers {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}
