/*
 * AlmondB dashboard presentation layer.
 * This standalone source mirrors scss/almondb/dashboard/_modern-dashboard.scss
 * so local installations can apply the dashboard update without rebuilding Moodle's cached theme bundle.
 */
body.path-my.pagelayout-mydashboard {
    --almond-dashboard-canvas: #f4f6f8;
    --almond-dashboard-surface: #fff;
    --almond-dashboard-text: #17191f;
    --almond-dashboard-muted: #5f6672;
    --almond-dashboard-border: #dfe3e8;
    --almond-dashboard-accent: #e87817;
    --almond-dashboard-accent-dark: #b95309;
    --almond-dashboard-radius: .75rem;
    --almond-dashboard-shadow: 0 .125rem .5rem rgba(23, 25, 31, .055);
    background: var(--almond-dashboard-canvas);
    color: var(--almond-dashboard-text);
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

body.path-my.pagelayout-mydashboard .navbar.fixed-top {
    box-shadow: 0 .125rem .45rem rgba(23, 25, 31, .09);
}

body.path-my.pagelayout-mydashboard .navbar.fixed-top .primary-navigation .nav-link {
    font-weight: 600;
}

body.path-my.pagelayout-mydashboard .navbar.fixed-top .primary-navigation .nav-link:hover,
body.path-my.pagelayout-mydashboard .navbar.fixed-top .primary-navigation .nav-link:focus,
body.path-my.pagelayout-mydashboard .navbar.fixed-top .primary-navigation .nav-link.show {
    color: var(--almond-dashboard-accent);
}

body.path-my.pagelayout-mydashboard .navbar.fixed-top .primary-navigation .nav-link.active {
    border-bottom-color: var(--almond-dashboard-accent);
    color: var(--almond-dashboard-text);
}

body.path-my.pagelayout-mydashboard .navbar.fixed-top .primary-navigation .nav-link.active:hover,
body.path-my.pagelayout-mydashboard .navbar.fixed-top .primary-navigation .nav-link.active:focus {
    color: var(--almond-dashboard-accent-dark);
}

body.path-my.pagelayout-mydashboard #page {
    background: var(--almond-dashboard-canvas);
}

body.path-my.pagelayout-mydashboard #page.drawers .main-inner {
    width: min(100% - 2rem, 74rem);
    max-width: 74rem;
    padding: clamp(2.25rem, 5vw, 4.25rem) 0 4rem;
    background: transparent;
}

@media (min-width: 992px) {
    body#page-my-index.path-my.pagelayout-mydashboard .drawer.drawer-right.show {
        right: 0;
        /* Override Moodle's wide-screen inline-start calculation. */
        left: auto !important;
        inset-inline-start: auto !important;
        inset-inline-end: 0;
    }

    body#page-my-index.path-my.pagelayout-mydashboard.dir-rtl .drawer.drawer-right.show {
        right: auto;
        left: 0 !important;
    }
}

body.path-my.pagelayout-mydashboard #page-header {
    margin-bottom: 1.35rem;
}

body.path-my.pagelayout-mydashboard #page-header h1 {
    margin: 0;
    color: var(--almond-dashboard-text);
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.08;
}

body.path-my.pagelayout-mydashboard .drawer-toggles {
    min-height: 3rem;
}

body.path-my.pagelayout-mydashboard .drawer-toggles .drawer-right-toggle {
    right: 1rem;
    inset-inline-end: 1rem;
    width: 3rem;
    margin-inline-start: 0;
}

body.path-my.pagelayout-mydashboard .drawer-toggles .drawer-right-toggle .btn {
    margin: 0;
}

body.path-my.pagelayout-mydashboard .drawer-toggles .drawer-toggler .btn {
    display: inline-grid;
    width: 3rem;
    height: 3rem;
    padding: 0;
    place-items: center;
    border: 1px solid var(--almond-dashboard-border);
    border-radius: .625rem;
    background: var(--almond-dashboard-surface);
    color: var(--almond-dashboard-text);
    box-shadow: var(--almond-dashboard-shadow);
    transition: border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.path-my.pagelayout-mydashboard .drawer-toggles .drawer-toggler .btn:hover {
    border-color: rgba(232, 120, 23, .55);
    color: var(--almond-dashboard-accent-dark);
    box-shadow: 0 .25rem .9rem rgba(23, 25, 31, .09);
    transform: translateY(-1px);
}

body.path-my.pagelayout-mydashboard #block-region-content > .block {
    margin-bottom: 1.35rem;
    overflow: visible;
    border: 1px solid var(--almond-dashboard-border);
    border-radius: var(--almond-dashboard-radius);
    background: var(--almond-dashboard-surface);
    box-shadow: var(--almond-dashboard-shadow);
}

body.path-my.pagelayout-mydashboard #block-region-content > .block > .card-body {
    background: transparent;
}

body.path-my.pagelayout-mydashboard #block-region-content .block-header {
    min-height: 2.25rem;
    align-items: center;
    padding: .25rem .4rem 0;
}

body.path-my.pagelayout-mydashboard #block-region-content .card-title {
    margin: 0;
    color: var(--almond-dashboard-text);
    font-size: clamp(1.125rem, 2vw, 1.35rem);
    font-weight: 720;
    letter-spacing: -.018em;
    line-height: 1.25;
}

body.path-my.pagelayout-mydashboard #block-region-content .card-text.content {
    margin-top: 1rem;
    padding: 0 .4rem .4rem;
    color: var(--almond-dashboard-text);
}

body.path-my.pagelayout-mydashboard .block_news_items .newlink {
    margin-bottom: .25rem;
}

body.path-my.pagelayout-mydashboard .block_news_items .unlist {
    margin: 0;
    padding: 0;
}

body.path-my.pagelayout-mydashboard .block_news_items .post {
    display: flex;
    flex-direction: column;
    gap: .25rem;
    padding-block: .8rem;
    border-bottom: 1px solid #e8ebef;
}

body.path-my.pagelayout-mydashboard .block_news_items .post:last-child {
    border-bottom: 0;
}

body.path-my.pagelayout-mydashboard .block_news_items .post .head,
body.path-my.pagelayout-mydashboard .block_news_items .post .info {
    min-width: 0;
}

body.path-my.pagelayout-mydashboard .block_news_items .post .head {
    order: 2;
}

body.path-my.pagelayout-mydashboard .block_news_items .post .info {
    order: 1;
    font-weight: 600;
}

body.path-my.pagelayout-mydashboard .block_news_items .post .date,
body.path-my.pagelayout-mydashboard .block_news_items .post .name {
    color: var(--almond-dashboard-muted);
    font-size: .875rem;
}

body.path-my.pagelayout-mydashboard .block_news_items .footer {
    margin-top: .5rem;
}

body.path-my.pagelayout-mydashboard .block_online_users .info {
    margin-bottom: .75rem;
    color: var(--almond-dashboard-muted);
    text-align: start;
}

body.path-my.pagelayout-mydashboard .block_online_users .list {
    margin: 0;
    padding: 0;
}

body.path-my.pagelayout-mydashboard .block_online_users .listentry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-height: 3rem;
}

body.path-my.pagelayout-mydashboard .block_online_users .user {
    display: flex;
    align-items: center;
    gap: .75rem;
    min-width: 0;
}

body.path-my.pagelayout-mydashboard .block_online_users .userpicture {
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    border: .15rem solid #f0f2f5;
}

body.path-my.pagelayout-mydashboard .block_online_users .uservisibility a {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 50%;
}

body.path-my.pagelayout-mydashboard .block_online_users .uservisibility a:hover {
    background: rgba(232, 120, 23, .1);
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .card-grid,
body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .card-carousel,
body.path-my.pagelayout-mydashboard .block_myoverview .card-grid,
body.path-my.pagelayout-mydashboard .block_myoverview .card-carousel {
    gap: .75rem;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .card-grid,
body.path-my.pagelayout-mydashboard .block_myoverview .card-grid {
    column-gap: 0;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .course-card,
body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .card-grid > .col > .card,
body.path-my.pagelayout-mydashboard .block_myoverview .course-card,
body.path-my.pagelayout-mydashboard .block_myoverview .card-grid > .col > .card {
    overflow: hidden;
    border: 1px solid #e5e8ec;
    border-radius: .625rem;
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .course-card:hover,
body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .card-grid > .col > .card:hover,
body.path-my.pagelayout-mydashboard .block_myoverview .course-card:hover,
body.path-my.pagelayout-mydashboard .block_myoverview .card-grid > .col > .card:hover {
    border-color: rgba(232, 120, 23, .45);
    box-shadow: 0 .35rem 1rem rgba(23, 25, 31, .08);
    transform: translateY(-2px);
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .card-img-top,
body.path-my.pagelayout-mydashboard .block_myoverview .card-img-top {
    min-height: 9.5rem;
    background-position: center;
    background-size: cover;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .course-info-container,
body.path-my.pagelayout-mydashboard .block_myoverview .course-info-container {
    padding: .9rem;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .coursename,
body.path-my.pagelayout-mydashboard .block_myoverview .coursename {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--almond-dashboard-text);
    font-size: .975rem;
    font-weight: 680;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .coursename > .text-truncate,
body.path-my.pagelayout-mydashboard .block_myoverview .coursename > .text-truncate {
    display: block;
    max-width: 100%;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .coursename:hover,
body.path-my.pagelayout-mydashboard .block_myoverview .coursename:hover {
    color: var(--almond-dashboard-accent-dark);
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .coursename {
    display: flex;
    align-items: center;
    min-width: 0;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .coursename > [data-region="favourite-icon"] {
    flex: 0 0 auto;
}

body.path-my.pagelayout-mydashboard .block_recentlyaccessedcourses .coursename > .text-truncate {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .course-summaryitem {
    padding-block: .85rem;
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .course-summaryitem > .row {
    align-items: flex-start;
    flex-wrap: nowrap;
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .course-summaryitem > .row > .col-md-2 {
    flex: 0 0 clamp(7.5rem, 16vw, 10rem);
    width: auto;
    max-width: 10rem;
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .course-summaryitem > .row > .col-md-9 {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .course-summaryitem > .row > .col-md-1 {
    flex: 0 0 auto;
    width: auto;
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .summary-image {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    border: 1px solid #e2e6ea;
    border-radius: .625rem;
    background-color: #eef1f4;
    background-position: center;
    background-size: cover;
    box-shadow: 0 .2rem .6rem rgba(23, 25, 31, .1);
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .coursename {
    white-space: normal;
}

/* Bootstrap's text colour utility is important, so the favourite state needs
   the same priority in every Course overview display mode. */
body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"] [data-region="is-favourite"].text-primary {
    color: #f2b300 !important;
}

body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"] [data-region="is-favourite"] .fa-star {
    font-size: 1rem;
    filter: drop-shadow(0 .0625rem .0625rem rgba(105, 72, 0, .28));
}

body.path-my.pagelayout-mydashboard .block_calendar_month .maincalendar > [data-template="core_calendar/month_detailed"] > .header {
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .65rem;
    padding: 0 0 .9rem !important;
    border-bottom: 1px solid var(--almond-dashboard-border);
}

body.path-my.pagelayout-mydashboard .block_calendar_month .cal_courses_flt {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    min-height: 2.625rem;
    margin: 0 !important;
    border-color: #cfd5dc;
    border-radius: .55rem;
    background-color: var(--almond-dashboard-surface);
    color: var(--almond-dashboard-text);
    font-size: .9rem;
}

body.path-my.pagelayout-mydashboard .block_calendar_month [data-action="new-event-button"] {
    flex: 0 0 auto;
    min-height: 2.625rem;
    margin: 0 !important;
    padding-inline: 1rem;
    border-color: var(--almond-dashboard-accent);
    border-radius: .55rem;
    background: var(--almond-dashboard-accent);
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
    box-shadow: 0 .2rem .55rem rgba(232, 120, 23, .2);
}

body.path-my.pagelayout-mydashboard .block_calendar_month [data-action="new-event-button"]:hover,
body.path-my.pagelayout-mydashboard .block_calendar_month [data-action="new-event-button"]:focus {
    border-color: var(--almond-dashboard-accent-dark);
    background: var(--almond-dashboard-accent-dark);
    color: #fff;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarwrapper {
    padding-top: .85rem;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .controls {
    margin-bottom: .55rem;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .5rem;
    padding: .55rem .65rem;
    border: 1px solid #e6e9ed;
    border-radius: .65rem;
    background: #f7f8fa;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .previous,
body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .next {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    width: fit-content;
    min-width: 0;
    padding: .35rem .45rem;
    border-radius: .45rem;
    color: #39414c;
    font-size: .82rem;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .previous:hover,
body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .previous:focus,
body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .next:hover,
body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .next:focus {
    background: var(--almond-dashboard-surface);
    color: var(--almond-dashboard-accent-dark);
    box-shadow: 0 .125rem .4rem rgba(23, 25, 31, .09);
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .previous {
    justify-self: start;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .next {
    justify-self: end;
    text-align: end;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .arrow {
    color: var(--almond-dashboard-accent);
    font-size: .68rem;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .current {
    margin: 0;
    color: var(--almond-dashboard-text);
    font-size: clamp(.95rem, 2vw, 1.1rem);
    font-weight: 750;
    letter-spacing: -.015em;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth {
    width: 100%;
    height: auto;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: .18rem .3rem;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth th.header {
    padding: .35rem .1rem;
    color: var(--almond-dashboard-muted);
    font-size: .72rem;
    font-weight: 750;
    letter-spacing: .035em;
    text-align: center;
    text-transform: uppercase;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.day,
body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.dayblank {
    height: 3rem;
    padding: .12rem;
    border: 0;
    border-radius: .55rem;
    vertical-align: top;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.day {
    background: transparent;
    color: var(--almond-dashboard-text);
    transition: background-color .18s ease, box-shadow .18s ease;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.day > div {
    /* Core gives detailed calendar cells a fixed 11.5em height with an ID
       selector. Keep this dashboard block content-led. */
    height: auto !important;
    min-height: 2.5rem;
    overflow: visible !important;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.day:hover {
    background: rgba(232, 120, 23, .09);
    box-shadow: inset 0 0 0 1px rgba(232, 120, 23, .18);
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.day:focus-within {
    outline: .125rem solid rgba(232, 120, 23, .42);
    outline-offset: .0625rem;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.weekend:not(.today) {
    background: #fafbfc;
    color: #68717d;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.today {
    background: rgba(232, 120, 23, .08);
    box-shadow: inset 0 0 0 1px rgba(232, 120, 23, .2);
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth .day-number-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    font-size: .85rem;
    line-height: 1;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.today .day-number-circle {
    background: var(--almond-dashboard-accent);
    color: #fff;
    font-weight: 750;
    box-shadow: 0 .2rem .55rem rgba(232, 120, 23, .28);
}

body.path-my.pagelayout-mydashboard .block_calendar_month .footer .bottom {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    margin-top: .85rem;
    padding-top: .8rem;
    border-top: 1px solid var(--almond-dashboard-border);
}

body.path-my.pagelayout-mydashboard .block_calendar_month .footer .bottom .footer-link {
    margin: 0;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .footer .bottom a {
    color: #4f5865;
    font-size: .82rem;
    font-weight: 600;
    text-decoration: none;
}

body.path-my.pagelayout-mydashboard .block_calendar_month .footer .bottom a:hover,
body.path-my.pagelayout-mydashboard .block_calendar_month .footer .bottom a:focus {
    color: var(--almond-dashboard-accent-dark);
    text-decoration: underline;
    text-decoration-thickness: .0625rem;
    text-underline-offset: .18rem;
}

@media (max-width: 575.98px) {
    body.path-my.pagelayout-mydashboard .block_calendar_month .maincalendar > [data-template="core_calendar/month_detailed"] > .header {
        gap: .5rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .cal_courses_flt {
        font-size: .84rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month [data-action="new-event-button"] {
        padding-inline: .75rem;
        white-space: nowrap;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls {
        gap: .2rem;
        padding-inline: .35rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .previous,
    body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .next {
        padding-inline: .3rem;
        font-size: .75rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .calendar-controls .current {
        font-size: .95rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth {
        border-spacing: .08rem .22rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.day,
    body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.dayblank {
        height: 2.65rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth td.day > div {
        min-height: 2.15rem;
    }

    body.path-my.pagelayout-mydashboard .block_calendar_month .calendarmonth .day-number-circle {
        width: 1.85rem;
        height: 1.85rem;
        font-size: .8rem;
    }
}

body.path-my.pagelayout-mydashboard .block_timeline .btn,
body.path-my.pagelayout-mydashboard .block_myoverview .btn {
    min-height: 2.75rem;
    border-radius: .55rem;
    font-weight: 600;
    white-space: normal;
}

body.path-my.pagelayout-mydashboard .block_timeline .btn-outline-secondary,
body.path-my.pagelayout-mydashboard .block_timeline .btn-outline-primary,
body.path-my.pagelayout-mydashboard .block_myoverview .btn-outline-secondary,
body.path-my.pagelayout-mydashboard .block_myoverview .btn-outline-primary {
    border-color: #b8bec7;
    background: var(--almond-dashboard-surface);
    color: var(--almond-dashboard-text);
}

body.path-my.pagelayout-mydashboard .block_timeline .btn-outline-secondary:hover,
body.path-my.pagelayout-mydashboard .block_timeline .btn-outline-secondary:focus,
body.path-my.pagelayout-mydashboard .block_timeline .btn-outline-primary:hover,
body.path-my.pagelayout-mydashboard .block_timeline .btn-outline-primary:focus,
body.path-my.pagelayout-mydashboard .block_myoverview .btn-outline-secondary:hover,
body.path-my.pagelayout-mydashboard .block_myoverview .btn-outline-secondary:focus,
body.path-my.pagelayout-mydashboard .block_myoverview .btn-outline-primary:hover,
body.path-my.pagelayout-mydashboard .block_myoverview .btn-outline-primary:focus {
    border-color: var(--almond-dashboard-accent);
    background: rgba(232, 120, 23, .08);
    color: var(--almond-dashboard-accent-dark);
}

body.path-my.pagelayout-mydashboard .block_timeline .form-control,
body.path-my.pagelayout-mydashboard .block_myoverview .form-control {
    min-height: 2.75rem;
    border-color: #b8bec7;
    border-radius: .55rem;
}

body.path-my.pagelayout-mydashboard .block_timeline .form-control:focus,
body.path-my.pagelayout-mydashboard .block_myoverview .form-control:focus {
    border-color: #747c87;
    box-shadow: none;
}

body.path-my.pagelayout-mydashboard .block_myoverview hr.border-bottom {
    margin-block: 1rem;
    border-color: var(--almond-dashboard-border);
    opacity: 1;
}

body.path-my.pagelayout-mydashboard #page-footer.classhide {
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.path-my.pagelayout-mydashboard #page-footer.classhide > [data-region="footer-content-popover"] {
    display: none;
}

body.path-my.pagelayout-mydashboard #page-footer.classhide > .footer-content-debugging {
    display: none;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage {
    margin-top: 2rem;
    border-top: 1px solid #292d34;
    background: #15171b;
    color: #e8eaed;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage > .copyright-area {
    padding: 1.5rem 0 1.25rem;
    background: transparent;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage .container {
    width: min(100% - 2rem, 74rem);
    max-width: 74rem;
    margin-inline: auto;
    padding-inline: 0;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage .social-links {
    padding-top: 0;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage .social-links ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .55rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage .social-links li {
    margin: 0;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage .social-links a {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage .social-links a:hover {
    border-color: var(--almond-dashboard-accent);
    background: var(--almond-dashboard-accent);
    color: #fff;
    transform: translateY(-1px);
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage .copyright-area .copyright-area {
    padding: 0;
    background: transparent;
    line-height: 1.65;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage small {
    color: #c9ced6;
    font-size: .875rem;
}

body.path-my.pagelayout-mydashboard #page-footer-frontpage a {
    color: #fff;
    text-decoration-thickness: .08em;
    text-underline-offset: .2em;
}

body.path-my.pagelayout-mydashboard a {
    color: #0969c7;
}

body.path-my.pagelayout-mydashboard a:hover {
    color: #07529d;
}

body.path-my.pagelayout-mydashboard .dropdown-menu .dropdown-item {
    color: var(--bs-dropdown-link-color);
}

body.path-my.pagelayout-mydashboard .dropdown-menu .dropdown-item:hover,
body.path-my.pagelayout-mydashboard .dropdown-menu .dropdown-item:focus {
    background-color: var(--bs-dropdown-link-hover-bg);
    color: var(--bs-dropdown-link-hover-color);
}

body.path-my.pagelayout-mydashboard .dropdown-menu .dropdown-item.active,
body.path-my.pagelayout-mydashboard .dropdown-menu .dropdown-item:active {
    background-color: var(--bs-dropdown-link-active-bg);
    color: var(--bs-dropdown-link-active-color);
}

body.path-my.pagelayout-mydashboard .dropdown-menu .dropdown-item.disabled,
body.path-my.pagelayout-mydashboard .dropdown-menu .dropdown-item:disabled {
    background-color: transparent;
    color: var(--bs-dropdown-link-disabled-color);
}

body.path-my.pagelayout-mydashboard :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: .18rem solid rgba(232, 120, 23, .72);
    outline-offset: .15rem;
    box-shadow: none;
}

@media (max-width: 991.98px) {
    body.path-my.pagelayout-mydashboard .drawer-toggles .drawer-right-toggle {
        right: .5rem;
        inset-inline-end: .5rem;
    }

    body.path-my.pagelayout-mydashboard #page.drawers .main-inner {
        width: min(100% - 1.25rem, 74rem);
        padding-top: 2rem;
    }
}

@media (max-width: 767.98px) {
    body.path-my.pagelayout-mydashboard #page.drawers .main-inner {
        width: min(100% - 1rem, 74rem);
        padding-top: 1.5rem;
    }

    body.path-my.pagelayout-mydashboard #page-header h1 {
        font-size: 1.85rem;
    }

    body.path-my.pagelayout-mydashboard #block-region-content > .block {
        margin-bottom: 1rem;
        border-radius: .625rem;
    }

    body.path-my.pagelayout-mydashboard #block-region-content .block-header,
    body.path-my.pagelayout-mydashboard #block-region-content .card-text.content {
        padding-inline: .1rem;
    }

}

@media (max-width: 575.98px) {
    body.path-my.pagelayout-mydashboard .block_timeline .d-flex.flex-wrap,
    body.path-my.pagelayout-mydashboard .block_myoverview .d-flex.flex-wrap {
        align-items: stretch;
    }

    body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .course-summaryitem > .row {
        --bs-gutter-x: .75rem;
    }

    body.path-my.pagelayout-mydashboard .block_myoverview [data-region="courses-view"][data-display="summary"] .course-summaryitem > .row > .col-md-2 {
        flex-basis: 6.5rem;
        max-width: 6.5rem;
    }

    body.path-my.pagelayout-mydashboard .block_timeline .nav-search,
    body.path-my.pagelayout-mydashboard .block_myoverview .simplesearchform {
        flex-basis: 100%;
    }
}

/* Theme-wide focus treatment: no thick blue mouse-click ring. */
body :where(a, button, input, select, textarea, [tabindex], [role="button"]):focus {
    box-shadow: none !important;
}

body :where(a, button, input, select, textarea, [tabindex], [role="button"]):focus:not(:focus-visible) {
    outline: 0;
}

body :where(a, button, input, select, textarea, [tabindex], [role="button"]):focus-visible {
    outline: .125rem solid rgba(232, 120, 23, .78) !important;
    outline-offset: .125rem;
    box-shadow: none !important;
}

body .navbar :where(.nav-link, .dropdown-toggle, .aabtn):focus-visible {
    outline: 0 !important;
    text-decoration: underline;
    text-decoration-color: currentcolor;
    text-decoration-thickness: .125rem;
    text-underline-offset: .35rem;
}

/* Search controls never use Moodle's rectangular focus ring. Keyboard focus
   remains visible through an inset underline or an icon colour change. */
body :where(.search-input-inline, .simplesearchform, .searchform-navbar, .block_timeline, .block_myoverview)
    :where(button, input[type="text"], input[type="search"], .form-control):focus,
body :where(.search-input-inline, .simplesearchform, .searchform-navbar, .block_timeline, .block_myoverview)
    :where(button, input[type="text"], input[type="search"], .form-control):focus-visible {
    outline: 0 !important;
    box-shadow: none !important;
}

body :where(.simplesearchform, .searchform-navbar, .block_timeline, .block_myoverview)
    :where(input[type="text"], input[type="search"], .form-control):focus-visible {
    box-shadow: inset 0 -.125rem 0 #747c87 !important;
}

body :where(.search-input-inline, .simplesearchform)
    button:focus-visible {
    color: #747c87;
}

@media (prefers-reduced-motion: reduce) {
    body.path-my.pagelayout-mydashboard *,
    body.path-my.pagelayout-mydashboard *::before,
    body.path-my.pagelayout-mydashboard *::after {
        scroll-behavior: auto;
        transition-duration: .01ms;
    }
}

/* Navbar focus: retain a keyboard cue without the box-shaped blue ring. */
body.uses-drawers .navbar.fixed-top .nav-link:focus,
body.uses-drawers .navbar.fixed-top .nav-link:focus-visible {
    outline: 0;
    box-shadow: none;
}

body.uses-drawers .navbar.fixed-top .moremenu .nav-link:focus-visible {
    text-decoration: underline;
    text-decoration-color: currentcolor;
    text-decoration-thickness: .125rem;
    text-underline-offset: .35rem;
}

/* Moodle 5.3 course-category cards and filters. */
body.pagelayout-coursecategory.path-course-index #region-main {
    min-width: 0;
}

body.pagelayout-coursecategory.path-course-index #action_bar {
    margin-bottom: 1.5rem;
    padding: 0;
}

body.pagelayout-coursecategory.path-course-index #action_bar > .d-flex {
    flex-wrap: wrap;
    gap: .75rem;
}

body.pagelayout-coursecategory.path-course-index #action_bar .navitem {
    flex: 1 1 15rem;
    min-width: 0;
    margin: 0;
}

body.pagelayout-coursecategory.path-course-index #action_bar .urlselect,
body.pagelayout-coursecategory.path-course-index #action_bar .simplesearchform,
body.pagelayout-coursecategory.path-course-index #action_bar .input-group {
    width: 100%;
}

body.pagelayout-coursecategory.path-course-index .course_category_tree > .content > .courses {
    display: grid;
    gap: 1rem;
}

body.pagelayout-coursecategory.path-course-index .coursebox,
body.pagelayout-coursecategory.path-course-index .coursebox.even {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--almond-page-border, #dfe3e8);
    border-radius: .75rem;
    background: var(--almond-page-surface, #fff);
    box-shadow: 0 .125rem .5rem rgba(23, 25, 31, .055);
}

body.pagelayout-coursecategory.path-course-index .coursebox > .info {
    display: flex;
    align-items: flex-start;
    gap: .65rem;
    width: 100%;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--almond-page-border, #dfe3e8);
}

body.pagelayout-coursecategory.path-course-index .coursebox > .info > .coursename {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    float: none;
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.35;
}

body.pagelayout-coursecategory.path-course-index .coursebox > .info > .coursename a {
    display: inline;
    padding: 0;
    background-image: none !important;
    color: var(--almond-page-text, #17191f);
    overflow-wrap: anywhere;
    text-decoration: none;
}

body.pagelayout-coursecategory.path-course-index .coursebox > .info > .coursename a:hover {
    color: var(--almond-page-accent-dark, #b95309);
    text-decoration: underline;
    text-underline-offset: .18em;
}

body.pagelayout-coursecategory.path-course-index .coursebox .moreinfo,
body.pagelayout-coursecategory.path-course-index .coursebox .enrolmenticons {
    flex: 0 0 auto;
    margin: 0;
    padding: .1rem 0;
    float: none;
}

body.pagelayout-coursecategory.path-course-index .coursebox > .content {
    width: 100%;
    padding: 0;
}

body.pagelayout-coursecategory.path-course-index .coursebox > .content > .row {
    align-items: stretch;
    margin: 0;
}

body.pagelayout-coursecategory.path-course-index .coursebox > .content > .row > [class*="col-"] {
    min-width: 0;
    padding: 0;
}

body.pagelayout-coursecategory.path-course-index .coursebox .courseimage.single-course {
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: clamp(13rem, 28vw, 17rem);
    margin: 0;
    border-radius: 0;
    background-position: center;
}

body.pagelayout-coursecategory.path-course-index .coursebox .teachers {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    width: auto;
    margin: 0 !important;
    padding: .75rem;
    list-style: none;
}

body.pagelayout-coursecategory.path-course-index .coursebox .teachers li {
    min-width: 0;
}

body.pagelayout-coursecategory.path-course-index .coursebox .chip {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    max-width: 100%;
    height: auto;
    min-height: 2.25rem;
    margin: 0;
    padding: .3rem .7rem;
    border-radius: 2rem;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 .125rem .4rem rgba(23, 25, 31, .12);
    color: var(--almond-page-text, #17191f);
    line-height: 1.25;
}

body.pagelayout-coursecategory.path-course-index .coursebox .chip img {
    flex: 0 0 auto;
    width: 2rem;
    height: 2rem;
    margin: 0;
    float: none;
    border-radius: 50%;
    object-fit: cover;
}

body.pagelayout-coursecategory.path-course-index .coursebox .chip a {
    min-width: 0;
    color: inherit;
    overflow-wrap: anywhere;
    text-decoration: none;
}

body.pagelayout-coursecategory.path-course-index .coursebox .content .summary {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 1.25rem;
    float: none;
    color: #343941;
    line-height: 1.65;
}

body.pagelayout-coursecategory.path-course-index .coursebox .summary .no-overflow {
    width: 100%;
    overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
    body.pagelayout-coursecategory.path-course-index #action_bar .navitem {
        flex-basis: 100%;
    }

    body.pagelayout-coursecategory.path-course-index .coursebox > .info {
        padding: .875rem 1rem;
    }

    body.pagelayout-coursecategory.path-course-index .coursebox .courseimage.single-course {
        height: clamp(11rem, 55vw, 15rem);
    }

    body.pagelayout-coursecategory.path-course-index .coursebox .content .summary {
        padding: 1rem;
    }
}

/* Moodle 5.3 blog cards: keep media, metadata and post content in normal flow. */
body.path-blog #page.drawers div[role="main"] > h2 {
    display: block;
    margin-bottom: 1rem;
    color: var(--almond-page-text, #17191f);
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 720;
    letter-spacing: -.02em;
}

body.path-blog .blog_entry.almond-blog {
    width: 100%;
    margin: 0 0 1.5rem;
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
}

body.path-blog .almond-blog-post {
    width: 100%;
    margin: 0;
    overflow: hidden;
    border: 1px solid var(--almond-page-border, #dfe3e8);
    border-radius: .75rem;
    background: var(--almond-page-surface, #fff);
    box-shadow: 0 .125rem .5rem rgba(23, 25, 31, .055);
}

body.path-blog .almond-blog-post > .content {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
}

body.path-blog .blog_entry .audience {
    padding: .65rem 1.25rem;
    border-bottom: 1px solid var(--almond-page-border, #dfe3e8);
    border-radius: 0;
    background: #f7f8fa;
    color: var(--almond-page-muted, #5f6672);
    font-size: .875rem;
    font-weight: 600;
    text-align: start;
}

body.path-blog .almond-blog-img {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eef1f4;
}

body.path-blog .almond-blog-img img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    object-fit: cover;
}

body.path-blog .almond-blog-header {
    position: static;
    display: grid;
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: .75rem;
    width: auto;
    margin: 0;
    padding: 1rem 1.25rem;
    border-bottom: 1px solid var(--almond-page-border, #dfe3e8);
    background: #fff;
    color: var(--almond-page-text, #17191f);
}

body.path-blog .almond-blog-header .left {
    float: none;
    width: auto;
    margin: 0;
    overflow: visible;
}

body.path-blog .almond-blog-header .picture a {
    display: block;
    line-height: 1;
}

body.path-blog .almond-blog-header .userpicture {
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    border: .15rem solid #eef1f4;
    border-radius: 50%;
}

body.path-blog .almond-blog-header .topic {
    min-width: 0;
    width: auto;
    margin: 0;
}

body.path-blog .almond-blog-header .author {
    color: var(--almond-page-muted, #5f6672);
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

body.path-blog .almond-blog-header h4 {
    margin: .35rem 0 0;
    font-size: clamp(1.15rem, 2.2vw, 1.45rem);
    line-height: 1.3;
}

body.path-blog .almond-blog-header .subject {
    margin: 0;
}

body.path-blog .almond-blog-header .subject a {
    color: var(--almond-page-text, #17191f);
    overflow-wrap: anywhere;
}

body.path-blog .almond-blog-header .subject a:hover {
    color: var(--almond-page-accent-dark, #b95309);
    text-decoration: underline;
    text-underline-offset: .18em;
}

body.path-blog .almond-blog-post > .content > .no-overflow {
    padding: 1.25rem;
    overflow: visible;
    color: #343941;
    font-size: .975rem;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

body.path-blog .almond-blog-post > .content > .no-overflow img,
body.path-blog .almond-blog-post > .content > .no-overflow iframe,
body.path-blog .almond-blog-post > .content > .no-overflow video {
    max-width: 100%;
    height: auto;
}

body.path-blog .almond-blog-date {
    padding: 0 1.25rem .75rem;
    color: var(--almond-page-muted, #5f6672);
    font-size: .8rem;
    opacity: 1;
}

body.path-blog .blog_entry .tag_list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
    margin: 0;
    padding: 0 1.25rem 1rem;
}

body.path-blog .blog_entry .tag_list .inline-list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.path-blog .blog_entry .tag_list .badge {
    padding: .38rem .55rem;
    border-radius: .35rem;
    background: rgba(9, 105, 199, .1);
    color: #07529d;
    font-size: .75rem;
    font-weight: 650;
    white-space: normal;
}

body.path-blog .blog_entry .commands {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: 0 1.25rem 1.25rem;
}

body.path-blog .blog_entry .commands .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    margin: 0;
    padding: .45rem .75rem;
    border-width: 1px;
    border-radius: .4rem;
    box-shadow: none;
    font-size: .8125rem;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
}

body.path-blog .blog_entry .commands .btn:focus-visible {
    outline: .125rem solid currentcolor;
    outline-offset: .125rem;
    box-shadow: none;
}

body.path-blog .almond-blog-post > .side.options {
    display: none;
}

body.path-blog #theme_boost-drawers-blocks .block_tags .card-text.content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .45rem;
}

/* Moodle's tag cloud scale uses important font sizes; normalise it inside this drawer only. */
body.path-blog #theme_boost-drawers-blocks .block_tags a[class*="s"] {
    display: inline-flex;
    max-width: 100%;
    padding: .4rem .6rem;
    border: 1px solid rgba(9, 105, 199, .2);
    border-radius: .4rem;
    background: rgba(9, 105, 199, .08);
    color: #07529d;
    font-size: .875rem !important;
    font-weight: 650;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-decoration: none;
}

body.path-blog #theme_boost-drawers-blocks .block_tags a[class*="s"]:hover {
    border-color: var(--almond-page-accent, #e87817);
    background: rgba(232, 120, 23, .1);
    color: var(--almond-page-accent-dark, #b95309);
}

@media (max-width: 575.98px) {
    body.path-blog .blog_entry.almond-blog {
        margin-bottom: 1rem;
    }

    body.path-blog .almond-blog-header {
        grid-template-columns: 2.5rem minmax(0, 1fr);
        gap: .65rem;
        padding: .875rem;
    }

    body.path-blog .almond-blog-header .userpicture {
        width: 2.25rem;
        height: 2.25rem;
    }

    body.path-blog .blog_entry .audience,
    body.path-blog .almond-blog-post > .content > .no-overflow,
    body.path-blog .almond-blog-date,
    body.path-blog .blog_entry .tag_list,
    body.path-blog .blog_entry .commands {
        padding-inline: .875rem;
    }
}

/* Shared AlmondB shell for pages rendered by Moodle's drawers layout. */
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) {
    --almond-page-canvas: #f4f6f8;
    --almond-page-surface: #fff;
    --almond-page-text: #17191f;
    --almond-page-muted: #5f6672;
    --almond-page-border: #dfe3e8;
    --almond-page-accent: #e87817;
    --almond-page-accent-dark: #b95309;
    --almond-page-radius: .75rem;
    --almond-page-shadow: 0 .125rem .5rem rgba(23, 25, 31, .055);
    background: var(--almond-page-canvas);
    color: var(--almond-page-text);
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page {
    background: var(--almond-page-canvas);
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page.drawers .main-inner {
    width: min(100% - 2rem, 90rem);
    margin-bottom: 2rem;
    padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 3vw, 2.5rem) 3rem;
    border: 1px solid var(--almond-page-border);
    border-radius: var(--almond-page-radius);
    background: var(--almond-page-surface);
    box-shadow: var(--almond-page-shadow);
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-header h1 {
    color: var(--almond-page-text);
    font-size: clamp(1.9rem, 3.4vw, 2.55rem);
    font-weight: 750;
    letter-spacing: -.03em;
    line-height: 1.1;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .navbar.fixed-top {
    max-height: none;
    border-bottom: 0;
    box-shadow: 0 .125rem .75rem rgba(23, 25, 31, .045);
}

body#page-admin-themeselector .theme-card .card-body > .d-flex {
    align-items: center;
}

body#page-admin-themeselector .theme-card .card-body .h5 {
    margin-bottom: 0;
}

body#page-admin-themeselector .theme-card .card-body > .d-flex > div:last-child {
    display: flex;
    align-items: center;
    gap: .5rem;
}

body#page-admin-themeselector .theme-card .card-body .btn-link {
    display: inline-flex;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

body#page-admin-themeselector .theme-card .card-body .btn-link .icon {
    width: 1rem;
    height: 1rem;
    margin: 0;
    font-size: 1rem;
    line-height: 1rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .navbar.fixed-top .navbar-brand .logo {
    width: auto;
    max-width: 9.5rem;
    max-height: 3rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .navbar.fixed-top #usernavigation {
    min-width: 0;
    gap: .125rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .secondary-navigation {
    margin-bottom: 1.25rem;
    border-bottom: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .secondary-navigation .nav-link {
    font-weight: 600;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .drawer-toggles .drawer-toggler .btn {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    margin: 0;
    padding: 0;
    place-items: center;
    border: 1px solid var(--almond-page-border);
    border-radius: .625rem;
    background: var(--almond-page-surface);
    color: var(--almond-page-text);
    box-shadow: var(--almond-page-shadow);
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .drawer-toggles .drawer-right-toggle {
    inset-inline-end: .75rem;
    width: 2.75rem;
    margin-inline-start: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .btn,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .form-control,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .form-select,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .custom-select {
    min-height: 2.5rem;
    border-radius: .55rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .btn {
    font-weight: 600;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer.classhide {
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer > .footer-content-debugging {
    display: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage:empty {
    display: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage {
    margin-top: 2rem;
    border-top: 1px solid #292d34;
    background: #15171b;
    color: #e8eaed;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage > .copyright-area {
    padding: 1.5rem 0 1.25rem;
    background: transparent;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .container {
    width: min(100% - 2rem, 90rem);
    max-width: 90rem;
    margin-inline: auto;
    padding-inline: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .row {
    margin-inline: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .row > [class*="col-"] {
    padding-inline: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .social-links {
    padding-top: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .social-links ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .55rem;
    margin: 0 0 1rem;
    padding: 0;
    list-style: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .social-links li {
    margin: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .social-links a {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .social-links a:hover {
    border-color: var(--almond-page-accent);
    background: var(--almond-page-accent);
    color: #fff;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .copyright-area .copyright-area {
    padding: 0;
    background: transparent;
    line-height: 1.65;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage small {
    color: #c9ced6;
    font-size: .875rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage a {
    color: #fff;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: .18rem solid rgba(232, 120, 23, .72);
    outline-offset: .15rem;
    box-shadow: none;
}

body.pagelayout-mycourses .block-myoverview .card-grid {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

body.pagelayout-mycourses .block-myoverview .course-card {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--almond-page-border);
    border-radius: .7rem;
    box-shadow: 0 .125rem .45rem rgba(23, 25, 31, .05);
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.pagelayout-mycourses .block-myoverview .course-card:hover {
    border-color: rgba(232, 120, 23, .45);
    box-shadow: 0 .4rem 1rem rgba(23, 25, 31, .09);
    transform: translateY(-2px);
}

body.pagelayout-mycourses .block-myoverview .card-img-top {
    min-height: 10rem;
    background-position: center;
    background-size: cover;
}

body.pagelayout-mycourses .block-myoverview .course-info-container {
    padding: 1rem;
}

body.pagelayout-mycourses .block-myoverview .coursename {
    color: var(--almond-page-text);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}

body.pagelayout-mycourses .block-myoverview .categoryname {
    color: var(--almond-page-muted);
}

body.pagelayout-admin .tab-content .tab-pane > .container-fluid > hr {
    margin-block: 1.25rem;
    border-color: var(--almond-page-border);
    opacity: 1;
}

/* Moodle 5.3 file-manager toolbar alignment on the AlmondB settings page. */
body#page-admin-setting-themesettingalmondb .filemanager-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    min-height: 2.75rem;
    padding: .25rem;
}

body#page-admin-setting-themesettingalmondb .filemanager-toolbar .fp-toolbar,
body#page-admin-setting-themesettingalmondb .filemanager-toolbar .fp-viewbar {
    display: flex;
    align-items: center;
    gap: .25rem;
}

body#page-admin-setting-themesettingalmondb .filemanager-toolbar .fp-toolbar div {
    margin: 0;
}

body#page-admin-setting-themesettingalmondb .filemanager-toolbar a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
    min-height: 2.25rem;
    padding: 0;
    border-color: #c7cdd4;
    border-radius: .45rem;
    background: #f4f6f8;
    color: #29313a;
}

body#page-admin-setting-themesettingalmondb .filemanager-toolbar a.btn:hover,
body#page-admin-setting-themesettingalmondb .filemanager-toolbar a.btn:focus-visible,
body#page-admin-setting-themesettingalmondb .filemanager-toolbar .fp-viewbar a.checked {
    border-color: #9da6b0;
    background: #e3e8ed;
    color: #17191f;
}

body#page-admin-setting-themesettingalmondb .filemanager-toolbar .icon {
    width: 1rem;
    height: 1rem;
    margin: 0;
    font-size: .875rem;
    line-height: 1rem;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-toolbar {
    display: flex;
    align-items: center;
    gap: .375rem;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-toolbar > div,
body#page-admin-setting-themesettingalmondb .file-picker .fp-toolbar .fp-def-search {
    float: none;
    margin: 0;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-tb-refresh .btn,
body#page-admin-setting-themesettingalmondb .file-picker .fp-tb-logout .btn,
body#page-admin-setting-themesettingalmondb .file-picker .fp-tb-manage .btn,
body#page-admin-setting-themesettingalmondb .file-picker .fp-tb-uploadfile .btn,
body#page-admin-setting-themesettingalmondb .file-picker .fp-tb-help .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
    min-height: 2.25rem;
    padding: 0;
    border-radius: .45rem;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-repo-area {
    gap: .25rem;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-repo-area .nav-link {
    display: flex;
    align-items: center;
    min-height: 2.5rem;
    padding: .5rem .75rem;
    gap: .5rem;
    border-radius: .45rem;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-repo-icon {
    display: none;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-repo-area .nav-link::before {
    width: 1rem;
    flex: 0 0 1rem;
    color: currentcolor;
    content: "\f07b";
    font-family: "Font Awesome 6 Free";
    font-size: .875rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-viewbar {
    display: flex;
    align-items: center;
    gap: .375rem;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-viewbar .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 2.25rem;
    width: 2.25rem;
    min-width: 2.25rem;
    height: 2.25rem;
    min-height: 2.25rem;
    margin: 0 !important;
    padding: 0;
    border-radius: .45rem !important;
}

body#page-admin-setting-themesettingalmondb .file-picker .fp-toolbar .icon,
body#page-admin-setting-themesettingalmondb .file-picker .fp-viewbar .icon {
    width: 1rem;
    height: 1rem;
    margin: 0;
    font-size: .875rem;
    line-height: 1rem;
}

@media (max-width: 991.98px) {
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .navbar.fixed-top .navbar-brand .logo {
        max-width: 8rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .navbar.fixed-top .simplesearchform .searchbar {
        min-width: 0;
        max-width: 14rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .navbar.fixed-top .editmode-switch-form .mds-switch-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page.drawers .main-inner {
        width: min(100% - 1.25rem, 90rem);
        padding-inline: 1.25rem;
    }
}

@media (max-width: 575.98px) {
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page.drawers .main-inner {
        width: min(100% - 1rem, 90rem);
        padding: 1.5rem .875rem 2rem;
        border-radius: .625rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-header h1 {
        font-size: 1.75rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) #page-footer-frontpage .container {
        width: min(100% - 1rem, 90rem);
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) .drawer-toggles .drawer-right-toggle {
        top: 4.5rem;
        bottom: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) *,
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) *::before,
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login):not(.pagelayout-mydashboard) *::after {
        scroll-behavior: auto;
        transition-duration: .01ms;
    }
}

/* Shared footer shell for all drawer-based AlmondB pages. */
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer.classhide {
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer.classhide > [data-region="footer-content-popover"],
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer > .footer-content-debugging {
    display: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage:empty {
    display: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage {
    align-self: stretch;
    width: auto;
    margin-block-start: 2rem;
    overflow: hidden;
    border-top: 1px solid #343942;
    background: #222;
    color: #e8eaed;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage #block20 {
    width: 100%;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage #block20 > footer {
    padding-block: 2.5rem 2rem;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
    background: #222;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .container {
    width: min(100% - 2rem, 90rem);
    max-width: 90rem;
    margin-inline: auto;
    padding-inline: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .row {
    margin-inline: -.75rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage #block20 > footer .row {
    row-gap: 1.75rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .row > [class*="col-"] {
    padding-inline: .75rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .footer-widget,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .footer-logo {
    height: 100%;
    margin-bottom: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .footer-logo img {
    display: block;
    width: auto;
    max-width: 10rem;
    max-height: 3.25rem;
    margin-bottom: 1rem;
    object-fit: contain;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .widget-title {
    margin-bottom: 1rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .widget-title h6,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .footer-site-name {
    margin: 0;
    color: #fff;
    font-size: .9375rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.35;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .footer-dec p,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .address-line p,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .address-line .text_to_html {
    margin: 0;
    padding: 0;
    color: #c9ced6;
    font-size: .875rem;
    font-weight: 400;
    line-height: 1.65;
    text-align: start;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .footer-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .footer-menu li {
    margin: 0 0 .55rem;
    padding: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage a {
    color: #e8eaed;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage a:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage a:focus-visible {
    color: #e87817;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage #block20 > .copyright-area {
    padding: 1.25rem 0;
    background: #15171b;
    color: #c9ced6;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .copyright-area .copyright-area {
    padding: 0;
    background: transparent;
    line-height: 1.65;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links {
    padding-top: 0;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .55rem;
    margin: 0 0 .85rem;
    padding: 0;
    list-style: none;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links li,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links li:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links li:focus-within {
    width: auto;
    height: auto;
    margin: 0;
    background: transparent;
    line-height: normal;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links a {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links a:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links a:focus-visible {
    border-color: #e87817;
    background: #e87817;
    color: #fff;
    transform: translateY(-1px);
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage small,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .small {
    color: #c9ced6;
    font-size: .875rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top .dropdown-menu .dropdown-item:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top .dropdown-menu .dropdown-item:focus,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top .dropdown-menu .dropdown-item:focus-visible,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top .dropdown-menu .dropdown-item:active {
    background-color: #e87817;
    color: #fff;
}

/* Keep the shared shell ahead of older page-specific footer rules. */
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage {
    background: #222;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage .row {
    margin-inline: -.75rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage .row > [class*="col-"] {
    padding-inline: .75rem;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage a:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage a:focus-visible {
    color: #e87817;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage .social-links li,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage .social-links li:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage .social-links li:focus-within {
    width: auto;
    height: auto;
    margin: 0;
    background: transparent;
    line-height: normal;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage .social-links a:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers #page-footer-frontpage .social-links a:focus-visible {
    border-color: #e87817;
    background: #e87817;
    color: #fff;
}

/* Use the Almond accent consistently in the front-page navbar dropdowns too. */
body.pagelayout-frontpage .navbar.fixed-top .dropdown-menu .dropdown-item:hover,
body.pagelayout-frontpage .navbar.fixed-top .dropdown-menu .dropdown-item:focus,
body.pagelayout-frontpage .navbar.fixed-top .dropdown-menu .dropdown-item:focus-visible,
body.pagelayout-frontpage .navbar.fixed-top .dropdown-menu .dropdown-item:active {
    background-color: #e87817;
    color: #fff;
}

@media (min-width: 768px) {
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage {
        margin-inline: -3rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers.show-drawer-left #page-footer-frontpage {
        margin-inline-start: -1rem;
        margin-inline-end: -3rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers.show-drawer-right #page-footer-frontpage {
        margin-inline-start: -3rem;
        margin-inline-end: -1rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page.drawers.show-drawer-left.show-drawer-right #page-footer-frontpage {
        margin-inline: -1rem;
    }
}

@media (max-width: 575.98px) {
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage {
        margin-inline: 0;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage #block20 > footer {
        padding-block: 2rem 1.5rem;
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .container {
        width: min(100% - 1.5rem, 90rem);
    }

    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage #block20 > footer .row {
        row-gap: 1.5rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) #page-footer-frontpage .social-links a {
        transition: none;
    }
}

/* One navigation system for every logged-in AlmondB page except the front page. */
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .editmode-switch-form {
    --mds-bg-interactive-primary-default: #e87817;
    --mds-bg-interactive-primary-default-light: #fff5ec;
    --mds-bg-interactive-primary-hover: #b95309;
    --mds-bg-interactive-primary-disabled: #efb47f;
    --mds-focus-default: #e87817;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar {
    max-height: none;
    border-bottom: 0;
    background-color: #fff;
    box-shadow: 0 .125rem .45rem rgba(23, 25, 31, .09);
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link {
    color: #1d2125;
    font-weight: 600;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link:focus,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link:focus-visible,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link.show {
    color: #e87817;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link.active {
    border-bottom-color: #e87817;
    color: #17191f;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link.active:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link.active:focus,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .primary-navigation .nav-link.active:focus-visible {
    color: #b95309;
}

body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .dropdown-menu .dropdown-item:hover,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .dropdown-menu .dropdown-item:focus,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .dropdown-menu .dropdown-item:focus-visible,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .dropdown-menu .dropdown-item:active,
body.uses-drawers:not(.pagelayout-frontpage):not(.pagelayout-login) .navbar.fixed-top.navbar .dropdown-menu .dropdown-item.active {
    background-color: #e87817;
    color: #fff;
}

/* Keep the full calendar page visually aligned with the dashboard calendar
   while preserving Moodle's detailed event layout and JavaScript hooks. */
body.path-calendar.pagelayout-standard {
    --almond-calendar-canvas: #f4f6f8;
    --almond-calendar-surface: #fff;
    --almond-calendar-text: #17191f;
    --almond-calendar-muted: #5f6672;
    --almond-calendar-border: #dfe3e8;
    --almond-calendar-accent: #e87817;
    --almond-calendar-accent-dark: #b95309;
    background: var(--almond-calendar-canvas);
    color: var(--almond-calendar-text);
}

body.path-calendar.pagelayout-standard #page {
    background: var(--almond-calendar-canvas);
}

body.path-calendar.pagelayout-standard #page.drawers .main-inner {
    width: min(100% - 2rem, 74rem);
    max-width: 74rem;
    padding: clamp(2rem, 4vw, 3.5rem) 0 3.5rem;
    background: transparent;
}

body.path-calendar.pagelayout-standard #page-header {
    margin-bottom: 1.25rem;
}

body.path-calendar.pagelayout-standard #page-header h1 {
    margin: 0;
    color: var(--almond-calendar-text);
    font-size: clamp(2rem, 4vw, 2.65rem);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.08;
}

body.path-calendar.pagelayout-standard #region-main {
    padding: clamp(1rem, 2.4vw, 1.75rem);
    overflow: visible;
    border: 1px solid var(--almond-calendar-border);
    border-radius: .75rem;
    background: var(--almond-calendar-surface);
    box-shadow: 0 .125rem .5rem rgba(23, 25, 31, .055);
}

body.path-calendar.pagelayout-standard .maincalendar > .heightcontainer > [data-template="core_calendar/month_detailed"] > .header {
    flex-wrap: nowrap !important;
    align-items: center;
    gap: .65rem;
    padding: 0 0 1rem !important;
    border-bottom: 1px solid var(--almond-calendar-border);
}

body.path-calendar.pagelayout-standard .maincalendar [data-region="view-selector"] {
    flex: 0 0 auto;
}

body.path-calendar.pagelayout-standard .maincalendar #calendarviewdropdown,
body.path-calendar.pagelayout-standard .maincalendar .cal_courses_flt {
    min-height: 2.75rem;
    margin: 0 !important;
    border-color: #cfd5dc;
    border-radius: .55rem;
    background-color: var(--almond-calendar-surface);
    color: var(--almond-calendar-text);
    font-size: .9rem;
    font-weight: 600;
}

body.path-calendar.pagelayout-standard .maincalendar #calendarviewdropdown {
    min-width: 7rem;
}

body.path-calendar.pagelayout-standard .maincalendar .cal_courses_flt {
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
}

body.path-calendar.pagelayout-standard .maincalendar [data-action="new-event-button"] {
    flex: 0 0 auto;
    min-height: 2.75rem;
    margin: 0 !important;
    padding-inline: 1.1rem;
    border-color: var(--almond-calendar-accent);
    border-radius: .55rem;
    background: var(--almond-calendar-accent);
    color: #fff;
    font-size: .875rem;
    font-weight: 700;
    box-shadow: 0 .2rem .55rem rgba(232, 120, 23, .2);
}

body.path-calendar.pagelayout-standard .maincalendar [data-action="new-event-button"]:hover,
body.path-calendar.pagelayout-standard .maincalendar [data-action="new-event-button"]:focus {
    border-color: var(--almond-calendar-accent-dark);
    background: var(--almond-calendar-accent-dark);
    color: #fff;
}

body.path-calendar.pagelayout-standard .maincalendar .dropdown-menu .dropdown-item:hover,
body.path-calendar.pagelayout-standard .maincalendar .dropdown-menu .dropdown-item:focus,
body.path-calendar.pagelayout-standard .maincalendar .dropdown-menu .dropdown-item.active,
body.path-calendar.pagelayout-standard .maincalendar .dropdown-menu .dropdown-item:active {
    background-color: var(--almond-calendar-accent);
    color: #fff;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarwrapper {
    padding-top: 1rem;
}

body.path-calendar.pagelayout-standard .maincalendar .controls {
    margin-bottom: .7rem;
}

body.path-calendar.pagelayout-standard .maincalendar .calendar-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: .75rem;
    padding: .65rem .8rem;
    border: 1px solid #e6e9ed;
    border-radius: .65rem;
    background: #f7f8fa;
}

body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .previous,
body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .next {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    width: fit-content;
    min-width: 0;
    padding: .4rem .55rem;
    border-radius: .45rem;
    color: #39414c;
    font-size: .875rem;
    font-weight: 650;
    line-height: 1.2;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .previous:hover,
body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .previous:focus,
body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .next:hover,
body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .next:focus {
    background: var(--almond-calendar-surface);
    color: var(--almond-calendar-accent-dark);
    box-shadow: 0 .125rem .4rem rgba(23, 25, 31, .09);
}

body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .previous {
    justify-self: start;
}

body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .next {
    justify-self: end;
    text-align: end;
}

body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .arrow {
    color: var(--almond-calendar-accent);
    font-size: .7rem;
}

body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .current {
    margin: 0;
    color: var(--almond-calendar-text);
    font-size: clamp(1.1rem, 2.2vw, 1.45rem);
    font-weight: 750;
    letter-spacing: -.02em;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth {
    width: 100%;
    margin: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: .25rem;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth th.header {
    padding: .55rem .2rem;
    color: var(--almond-calendar-muted);
    font-size: .75rem;
    font-weight: 750;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.day,
body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.dayblank {
    height: 8rem;
    padding: .45rem;
    border: 1px solid #e6e9ed;
    border-radius: .6rem;
    vertical-align: top;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.dayblank {
    background: #f7f8fa;
    border-color: #eef0f2;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.day {
    background: var(--almond-calendar-surface);
    color: var(--almond-calendar-text);
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.day > div {
    /* Core uses 11.5em here. A shorter content-led cell keeps the detailed
       calendar useful without excessive whitespace. */
    height: auto !important;
    min-height: 7rem;
    overflow: visible !important;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.day:hover {
    border-color: rgba(232, 120, 23, .35);
    background: rgba(232, 120, 23, .045);
    box-shadow: 0 .15rem .45rem rgba(23, 25, 31, .055);
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.day:focus-within {
    outline: .125rem solid rgba(232, 120, 23, .45);
    outline-offset: .0625rem;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.weekend:not(.today) {
    background: #fafbfc;
    color: #68717d;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.today {
    border-color: rgba(232, 120, 23, .35);
    background: rgba(232, 120, 23, .07);
    box-shadow: inset 0 0 0 1px rgba(232, 120, 23, .12);
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth .day-number-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    font-size: .85rem;
    font-weight: 650;
    line-height: 1;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.today .day-number-circle {
    background: var(--almond-calendar-accent);
    color: #fff;
    font-weight: 750;
    box-shadow: 0 .2rem .55rem rgba(232, 120, 23, .28);
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth [data-region="event-item"] a {
    color: #39414c;
    font-size: .78rem;
    font-weight: 600;
}

body.path-calendar.pagelayout-standard .maincalendar .calendarmonth [data-region="event-item"] a:hover,
body.path-calendar.pagelayout-standard .maincalendar .calendarmonth [data-region="event-item"] a:focus {
    color: var(--almond-calendar-accent-dark);
}

body.path-calendar.pagelayout-standard .maincalendar .bottom {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem 1rem;
    width: 100%;
    margin: .85rem 0 0;
    padding-top: .8rem;
    border-top: 1px solid var(--almond-calendar-border);
}

body.path-calendar.pagelayout-standard .maincalendar .bottom a {
    color: #4f5865;
    font-size: .84rem;
    font-weight: 600;
    text-decoration: none;
}

body.path-calendar.pagelayout-standard .maincalendar .bottom a:hover,
body.path-calendar.pagelayout-standard .maincalendar .bottom a:focus {
    color: var(--almond-calendar-accent-dark);
    text-decoration: underline;
    text-decoration-thickness: .0625rem;
    text-underline-offset: .18rem;
}

body.path-calendar.pagelayout-standard :where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: .18rem solid rgba(232, 120, 23, .72);
    outline-offset: .15rem;
    box-shadow: none;
}

@media (max-width: 767.98px) {
    body.path-calendar.pagelayout-standard #page.drawers .main-inner {
        width: min(100% - 1rem, 74rem);
        padding-top: 1.5rem;
    }

    body.path-calendar.pagelayout-standard #region-main {
        padding: .85rem;
        border-radius: .625rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar > .heightcontainer > [data-template="core_calendar/month_detailed"] > .header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: .5rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar [data-region="view-selector"] {
        grid-column: 1;
        grid-row: 1;
    }

    body.path-calendar.pagelayout-standard .maincalendar #calendarviewdropdown {
        width: 100%;
        min-width: 0;
    }

    body.path-calendar.pagelayout-standard .maincalendar .cal_courses_flt {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
    }

    body.path-calendar.pagelayout-standard .maincalendar [data-action="new-event-button"] {
        grid-column: 2;
        grid-row: 1;
        padding-inline: .85rem;
        white-space: nowrap;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendar-controls {
        gap: .2rem;
        padding-inline: .4rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .previous,
    body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .next {
        padding-inline: .3rem;
        font-size: .75rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .current {
        font-size: 1rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendarmonth {
        border-spacing: .08rem .22rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendarmonth th.header {
        padding-inline: .05rem;
        font-size: .65rem;
        letter-spacing: .015em;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.day,
    body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.dayblank {
        height: 3rem;
        padding: .08rem;
        border-radius: .45rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendarmonth td.day > div {
        min-height: 2.55rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendarmonth .day-number-circle {
        width: 1.85rem;
        height: 1.85rem;
        font-size: .8rem;
    }
}

@media (max-width: 575.98px) {
    body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .previous,
    body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .next {
        justify-content: center;
        min-width: 2.25rem;
    }

    body.path-calendar.pagelayout-standard .maincalendar .calendar-controls .arrow_text {
        display: none;
    }
}
