/* Six equal course rows; the catalogue link stays outside the scrolling viewport. */
[data-course-menu] .oa-course-menu-list {
    --oa-course-row-height: 52px;
    display: block;
    max-height: min(312px, max(104px, calc(100dvh - 300px)));
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #8ca99a #edf3ef;
    scroll-padding-block: 4px;
}
[data-course-menu] .oa-course-menu-list::-webkit-scrollbar { width: 8px; }
[data-course-menu] .oa-course-menu-list::-webkit-scrollbar-track { background: #edf3ef; border-radius: 8px; }
[data-course-menu] .oa-course-menu-list::-webkit-scrollbar-thumb { background: #8ca99a; border: 2px solid #edf3ef; border-radius: 8px; }
[data-course-menu] [data-course-key] {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 2px;
    height: var(--oa-course-row-height, 52px);
    min-height: var(--oa-course-row-height, 52px);
    margin: 0;
    padding: 0 2px;
    border: 0;
    border-radius: 9px;
}
[data-course-menu] [data-course-key]:hover { background: #f1f7f2; }
[data-course-menu] [data-course-key] > a:not(.oa-course-pin-login) {
    box-sizing: border-box;
    flex: 1;
    min-width: 0;
    height: 52px;
    min-height: 52px;
    padding: 7px 8px;
    font-size: 13px;
    font-weight: 600;
    line-height: 19px;
    color: #3d6050;
    text-decoration: none;
    white-space: normal;
    overflow: hidden;
    overflow-wrap: anywhere;
    display: flex;
    align-items: center;
    border-radius: 7px;
}
[data-course-menu] .oa-course-menu-title {
    display: block;
    min-width: 0;
    max-height: 38px;
    line-height: 19px;
    overflow: hidden;
    overflow-wrap: anywhere;
    white-space: normal;
}
[data-course-menu] [data-course-key] > a[aria-current="page"],
[data-course-menu] [data-course-key] > a.is-active {
    background: #e4f0e8;
    box-shadow: inset 3px 0 #287558;
    color: #155c44;
}
[data-course-menu] button[data-course-pin],
[data-course-menu] .oa-course-pin-login {
    box-sizing: border-box;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #768f81;
    font: 22px/1 system-ui, sans-serif;
    cursor: pointer;
    text-decoration: none;
}
[data-course-menu] button[data-course-pin]:hover,
[data-course-menu] .oa-course-pin-login:hover { background: #e8f2eb; color: #17674f; }
[data-course-menu] button[data-course-pin][aria-pressed="true"] { color: #ad6b1d; background: #fff4df; }
[data-course-menu] button[data-course-pin]:disabled { opacity: .5; cursor: wait; }
[data-course-menu] a:focus-visible,
[data-course-menu] button[data-course-pin]:focus-visible {
    outline: 3px solid #e9a263;
    outline-offset: -3px;
}
[data-course-menu] .oa-course-menu-all {
    display: block;
    padding: 10px 8px;
    border-bottom: 1px solid #dce7df;
    margin-bottom: 5px;
    color: #17674f;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
}
[data-course-menu] .oa-course-menu-all.is-active { background: #e4f0e8; border-radius: 8px; }
[data-course-menu] .oa-course-menu-hint {
    margin: 0;
    padding: 0 8px 7px;
    color: #758a7d;
    font: 10px/1.6 "Open Sans", system-ui, sans-serif;
}
[data-course-menu] .oa-course-menu-status {
    min-height: 0;
    margin: 0;
    color: #587563;
    font: 11px/1.55 "Open Sans", system-ui, sans-serif;
    white-space: normal;
}
[data-course-menu] .oa-course-menu-status:not(:empty) { padding: 7px 8px 2px; }
[data-course-menu] .oa-course-menu-status.is-error { color: #8b4b36; }
[data-course-menu] .oa-course-menu-count { margin: 0; padding: 7px 8px 0; color: #758a7d; font: 10px/1.6 "Open Sans", system-ui, sans-serif; }
.oan-course-links { width: 330px; max-width: calc(100vw - 32px); }
.oan-mobile-nav .oan-course-links { width: auto; max-width: none; }
.oal-course-links { gap: 0; margin-left: 22px; padding-left: 9px; }
.oal-course-links [data-course-key] > a:not(.oa-course-pin-login) { font-size: 12px; }
@supports not (height: 100dvh) {
    [data-course-menu] .oa-course-menu-list { max-height: min(312px, max(104px, calc(100vh - 300px))); }
}
