/**
 * Falcon Editorial — in-course visual polish (runtime overrides).
 * Premium executive-education aesthetic; CSS-only, no markup changes.
 */

/* ── Shared course scope ─────────────────────────────────────────────── */
.path-course-view,
.pagelayout-course.format-topics,
.pagelayout-course.format-weeks,
.pagelayout-course.format-tiles,
.pagelayout-incourse.path-mod {
    --falcon-course-border: rgba(16, 42, 67, 0.11);
    --falcon-course-border-subtle: rgba(16, 42, 67, 0.08);
    --falcon-course-hover: rgba(16, 42, 67, 0.035);
}

/* ── Page shell & spacing rhythm ───────────────────────────────────── */
.path-course-view #page.drawers .main-inner,
.pagelayout-course.format-topics #page.drawers .main-inner,
.pagelayout-course.format-weeks #page.drawers .main-inner,
.pagelayout-course.format-tiles #page.drawers .main-inner {
    background: var(--falcon-warm-white);
    padding: 2rem clamp(1rem, 2.5vw, 1.5rem);
}

.path-course-view #region-main-box,
.pagelayout-course.format-topics #region-main-box,
.pagelayout-course.format-weeks #region-main-box,
.pagelayout-course.format-tiles #region-main-box {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.path-course-view #region-main,
.pagelayout-course.format-topics #region-main,
.pagelayout-course.format-weeks #region-main,
.pagelayout-course.format-tiles #region-main {
    background: transparent;
}

/* H1 — keep existing editorial title */
.path-course-view #page-header,
.pagelayout-course.format-topics #page-header,
.pagelayout-course.format-weeks #page-header,
.pagelayout-course.format-tiles #page-header {
    margin-bottom: 1.5rem;
    padding-bottom: 0;
    border-bottom: 0;
}

/* Course home — lift Boost limitedwidth (830px) so long titles can sit on one line. */
body.limitedwidth.path-course-view #page.drawers .main-inner,
body.limitedwidth.path-course-view .header-maxwidth,
body.limitedwidth.pagelayout-course.format-topics #page.drawers .main-inner,
body.limitedwidth.pagelayout-course.format-topics .header-maxwidth,
body.limitedwidth.pagelayout-course.format-weeks #page.drawers .main-inner,
body.limitedwidth.pagelayout-course.format-weeks .header-maxwidth,
body.limitedwidth.pagelayout-course.format-tiles #page.drawers .main-inner,
body.limitedwidth.pagelayout-course.format-tiles .header-maxwidth {
    max-width: 68rem !important;
}

.path-course-view #page-header > .w-100 > .d-flex.align-items-center,
.pagelayout-course.format-topics #page-header > .w-100 > .d-flex.align-items-center,
.pagelayout-course.format-weeks #page-header > .w-100 > .d-flex.align-items-center,
.pagelayout-course.format-tiles #page-header > .w-100 > .d-flex.align-items-center {
    justify-content: center;
    position: relative;
}

.path-course-view #page-header .me-auto,
.pagelayout-course.format-topics #page-header .me-auto,
.pagelayout-course.format-weeks #page-header .me-auto,
.pagelayout-course.format-tiles #page-header .me-auto {
    margin-inline: 0 !important;
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    align-items: center;
}

.path-course-view #page-header .page-header-headings h1,
.pagelayout-course.format-topics #page-header .page-header-headings h1,
.pagelayout-course.format-weeks #page-header .page-header-headings h1,
.pagelayout-course.format-tiles #page-header .page-header-headings h1,
.path-course-view #page-header .page-context-header h1,
.pagelayout-course.format-topics #page-header .page-context-header h1 {
    font-family: var(--falcon-font-serif);
    font-size: clamp(1.875rem, 3.2vw, 2.5rem);
    font-weight: 500;
    letter-spacing: -0.04em;
    line-height: 1.15;
    color: var(--falcon-navy);
    width: 100%;
    max-width: 100%;
    text-align: center;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.path-course-view #page-header .page-context-header,
.pagelayout-course.format-topics #page-header .page-context-header {
    width: 100%;
    max-width: 100%;
    justify-content: center;
}

.path-course-view #page-header .page-header-headings,
.pagelayout-course.format-topics #page-header .page-header-headings {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    text-align: center;
}

/* ── Tabs ──────────────────────────────────────────────────────────── */
.path-course-view .secondary-navigation,
.pagelayout-course.format-topics .secondary-navigation,
.pagelayout-course.format-weeks .secondary-navigation,
.pagelayout-course.format-tiles .secondary-navigation {
    margin-bottom: 2rem;
    padding-bottom: 0;
    background: transparent;
    border-bottom: 1px solid var(--falcon-course-border);
}

.path-course-view .secondary-navigation .navigation,
.path-course-view .secondary-navigation .moremenu,
.pagelayout-course.format-topics .secondary-navigation .navigation,
.pagelayout-course.format-topics .secondary-navigation .moremenu {
    border-bottom: 0;
}

.path-course-view .secondary-navigation .nav-link,
.pagelayout-course.format-topics .secondary-navigation .nav-link,
.pagelayout-course.format-weeks .secondary-navigation .nav-link,
.pagelayout-course.format-tiles .secondary-navigation .nav-link {
    font-family: var(--falcon-font-sans);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--falcon-grey);
    border: 0;
    border-bottom: 1px solid transparent;
    border-radius: 0;
    padding: 0.75rem 1.25rem;
    margin-bottom: -1px;
    background: transparent;
}

.path-course-view .secondary-navigation .nav-link:hover,
.path-course-view .secondary-navigation .nav-link:focus-visible,
.pagelayout-course.format-topics .secondary-navigation .nav-link:hover,
.pagelayout-course.format-topics .secondary-navigation .nav-link:focus-visible {
    color: var(--falcon-navy);
    background: transparent;
}

.path-course-view .secondary-navigation .nav-link.active,
.path-course-view .secondary-navigation .nav-link[aria-current="true"],
.pagelayout-course.format-topics .secondary-navigation .nav-link.active,
.pagelayout-course.format-topics .secondary-navigation .nav-link[aria-current="true"] {
    color: var(--falcon-navy);
    border-bottom-color: var(--falcon-green);
    background: transparent;
}

.path-course-view .secondary-navigation .nav-link:focus-visible,
.pagelayout-course.format-topics .secondary-navigation .nav-link:focus-visible {
    outline: 2px solid var(--falcon-gold);
    outline-offset: 2px;
}

/* ── Course sections — editorial, not boxed ────────────────────────── */
.path-course-view .course-content ul.topics,
.path-course-view .course-content ul.weeks,
.pagelayout-course.format-topics .course-content ul.topics,
.pagelayout-course.format-topics .course-content ul.weeks {
    padding: 0;
    margin: 0;
    list-style: none;
}

.path-course-view .course-content .section.main,
.pagelayout-course.format-topics .course-content .section.main,
.pagelayout-course.format-weeks .course-content .section.main,
.pagelayout-course.format-tiles .course-content .section.main {
    margin: 0 0 3rem;
    padding: 0;
    border: 0;
    background: transparent;
}

/* Always hide General (section 0) — including Announcements — on the course page and index. */
.path-course-view li#section-0.section.main,
.pagelayout-course.format-topics li#section-0.section.main,
.pagelayout-course.format-weeks li#section-0.section.main,
.pagelayout-course.format-tiles li#section-0.section.main {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

.path-course-view .courseindex .courseindex-section[data-number="0"],
.pagelayout-incourse .courseindex .courseindex-section[data-number="0"] {
    display: none !important;
}

.path-course-view .course-content .section.main .section-item,
.pagelayout-course.format-topics .course-content .section.main .section-item,
.pagelayout-course.format-weeks .course-content .section.main .section-item,
.pagelayout-course.format-tiles .course-content .section.main .section-item {
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.path-course-view .course-content .section.main .course-section-header,
.pagelayout-course.format-topics .course-content .section.main .course-section-header,
.pagelayout-course.format-weeks .course-content .section.main .course-section-header,
.pagelayout-course.format-tiles .course-content .section.main .course-section-header {
    background: transparent;
    border-bottom: 1px solid var(--falcon-course-border);
    padding: 0 0 1rem;
    margin: 0 0 0.5rem;
}

.path-course-view .course-content .section.main h3.sectionname,
.path-course-view .course-content .section.main .sectionname,
.path-course-view .course-content .section.main .section-title,
.pagelayout-course.format-topics .course-content .section.main h3.sectionname,
.pagelayout-course.format-topics .course-content .section.main .sectionname,
.pagelayout-course.format-topics .course-content .section.main .section-title {
    font-family: var(--falcon-font-serif);
    font-weight: 500;
    font-size: 1.375rem;
    letter-spacing: -0.025em;
    line-height: 1.25;
    color: var(--falcon-navy);
    margin: 0;
}

.path-course-view .course-content .section.main h3.sectionname a,
.path-course-view .course-content .section.main .sectionname a,
.pagelayout-course.format-topics .course-content .section.main h3.sectionname a,
.pagelayout-course.format-topics .course-content .section.main .sectionname a {
    color: inherit;
    text-decoration: none;
}

.path-course-view .course-content .section.main h3.sectionname a:hover,
.pagelayout-course.format-topics .course-content .section.main h3.sectionname a:hover {
    color: var(--falcon-navy-soft);
}

/* Compact chevron — not a big button */
.path-course-view .course-section-header .icons-collapse-expand,
.path-course-view .course-section-header .section-chevron,
.pagelayout-course.format-topics .course-section-header .icons-collapse-expand,
.pagelayout-course.format-topics .course-section-header .section-chevron {
    opacity: 0.45;
    font-size: 0.8125rem;
}

.path-course-view .section-collapsemenu,
.pagelayout-course.format-topics .section-collapsemenu {
    font-family: var(--falcon-font-sans);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--falcon-grey);
    text-decoration: none;
}

.path-course-view .section-collapsemenu:hover,
.pagelayout-course.format-topics .section-collapsemenu:hover {
    color: var(--falcon-navy-soft);
    text-decoration: underline;
}

/* ── Lesson rows ───────────────────────────────────────────────────── */
.path-course-view .course-content .section.main .activity-item,
.pagelayout-course.format-topics .course-content .section.main .activity-item,
.pagelayout-course.format-weeks .course-content .section.main .activity-item,
.pagelayout-course.format-tiles .course-content .section.main .activity-item {
    border-bottom: 1px solid var(--falcon-course-border-subtle);
    padding: 1rem 0;
    background: transparent;
    transition: background var(--falcon-transition), color var(--falcon-transition);
}

.path-course-view .course-content .section.main .activity-item:last-child,
.pagelayout-course.format-topics .course-content .section.main .activity-item:last-child {
    border-bottom: 0;
}

.path-course-view .course-content .section.main .activity-item:hover,
.pagelayout-course.format-topics .course-content .section.main .activity-item:hover {
    background: var(--falcon-course-hover);
}

.path-course-view .course-content .section.main .activityname,
.pagelayout-course.format-topics .course-content .section.main .activityname {
    font-family: var(--falcon-font-sans);
    font-weight: 500;
    font-size: 0.9375rem;
    line-height: 1.45;
    color: var(--falcon-navy);
}

.path-course-view .course-content .section.main .activityname a,
.pagelayout-course.format-topics .course-content .section.main .activityname a {
    color: inherit;
    text-decoration: none;
}

.path-course-view .course-content .section.main .activityname a:hover,
.pagelayout-course.format-topics .course-content .section.main .activityname a:hover {
    color: var(--falcon-navy-soft);
}

.path-course-view .course-content .section.main .activity-information,
.pagelayout-course.format-topics .course-content .section.main .activity-information {
    font-family: var(--falcon-font-sans);
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--falcon-grey);
}

.path-course-view .course-content .section.main .activityname a:focus-visible,
.pagelayout-course.format-topics .course-content .section.main .activityname a:focus-visible {
    outline: 2px solid var(--falcon-gold);
    outline-offset: 2px;
}

/* ── Unified activity icons ────────────────────────────────────────── */
.path-course-view .activityiconcontainer,
.pagelayout-course.format-topics .activityiconcontainer,
.pagelayout-incourse .activityiconcontainer {
    width: 2rem;
    height: 2rem;
    flex-shrink: 0;
    border-radius: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--falcon-paper) !important;
}

.path-course-view .activityiconcontainer .activityicon,
.pagelayout-course.format-topics .activityiconcontainer .activityicon,
.pagelayout-incourse .activityiconcontainer .activityicon {
    width: 1.125rem;
    height: 1.125rem;
    opacity: 0.78;
    filter: grayscale(0.15) contrast(0.95);
}

/* ── Status badges — quiet metadata ────────────────────────────────── */
.path-course-view .activity-item .badge.rounded-pill,
.path-course-view .activity-item .badge.bg-secondary,
.pagelayout-course.format-topics .activity-item .badge.rounded-pill,
.pagelayout-course.format-topics .activity-item .badge.bg-secondary {
    background: rgba(16, 42, 67, 0.06) !important;
    color: var(--falcon-grey) !important;
    border: 1px solid var(--falcon-course-border-subtle);
    border-radius: 2px;
    font-family: var(--falcon-font-sans);
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-transform: uppercase;
    padding: 0.125rem 0.5rem;
}

.path-course-view .activity-item .badge .icon,
.pagelayout-course.format-topics .activity-item .badge .icon {
    font-size: 0.625rem;
    opacity: 0.65;
}

/* ── Course index sidebar — publication-style contents ─────────────── */
.path-course-view #theme_boost-drawers-courseindex.drawer,
.pagelayout-incourse #theme_boost-drawers-courseindex.drawer {
    background: var(--falcon-paper);
    border-right: 1px solid var(--falcon-course-border);
    display: flex;
    flex-direction: column;
}

/* Restore Boost push layout and keep content inside the viewport. */
@media (min-width: 992px) {
    .path-course-view #page.drawers.show-drawer-left,
    .pagelayout-course.format-topics #page.drawers.show-drawer-left,
    .pagelayout-course.format-weeks #page.drawers.show-drawer-left,
    .pagelayout-course.format-tiles #page.drawers.show-drawer-left,
    .pagelayout-incourse #page.drawers.show-drawer-left {
        margin-left: 285px !important;
        padding-left: 1rem !important;
        width: calc(100% - 285px) !important;
        max-width: calc(100% - 285px) !important;
        box-sizing: border-box !important;
    }

    .path-course-view #page.drawers.show-drawer-left.show-drawer-right,
    .pagelayout-course.format-topics #page.drawers.show-drawer-left.show-drawer-right,
    .pagelayout-course.format-weeks #page.drawers.show-drawer-left.show-drawer-right,
    .pagelayout-course.format-tiles #page.drawers.show-drawer-left.show-drawer-right,
    .pagelayout-incourse #page.drawers.show-drawer-left.show-drawer-right {
        margin-left: 285px !important;
        margin-right: 315px !important;
        width: calc(100% - 600px) !important;
        max-width: calc(100% - 600px) !important;
    }

    /* Footer is outside #page — same left push as content when index drawer is open. */
    .path-course-view #page.drawers.show-drawer-left ~ #page-footer.falcon-site-footer,
    .pagelayout-course.format-topics #page.drawers.show-drawer-left ~ #page-footer.falcon-site-footer,
    .pagelayout-course.format-weeks #page.drawers.show-drawer-left ~ #page-footer.falcon-site-footer,
    .pagelayout-course.format-tiles #page.drawers.show-drawer-left ~ #page-footer.falcon-site-footer,
    .pagelayout-incourse #page.drawers.show-drawer-left ~ #page-footer.falcon-site-footer {
        margin-left: 285px !important;
        width: calc(100% - 285px) !important;
        max-width: calc(100% - 285px) !important;
        box-sizing: border-box !important;
    }

    .path-course-view #page.drawers.show-drawer-left.show-drawer-right ~ #page-footer.falcon-site-footer,
    .pagelayout-course.format-topics #page.drawers.show-drawer-left.show-drawer-right ~ #page-footer.falcon-site-footer,
    .pagelayout-course.format-weeks #page.drawers.show-drawer-left.show-drawer-right ~ #page-footer.falcon-site-footer,
    .pagelayout-course.format-tiles #page.drawers.show-drawer-left.show-drawer-right ~ #page-footer.falcon-site-footer,
    .pagelayout-incourse #page.drawers.show-drawer-left.show-drawer-right ~ #page-footer.falcon-site-footer {
        margin-left: 285px !important;
        margin-right: 315px !important;
        width: calc(100% - 600px) !important;
        max-width: calc(100% - 600px) !important;
    }

    .path-course-view #theme_boost-drawers-courseindex.drawer.show,
    .pagelayout-course.format-topics #theme_boost-drawers-courseindex.drawer.show,
    .pagelayout-course.format-weeks #theme_boost-drawers-courseindex.drawer.show,
    .pagelayout-course.format-tiles #theme_boost-drawers-courseindex.drawer.show,
    .pagelayout-incourse #theme_boost-drawers-courseindex.drawer.show {
        box-shadow: none;
    }

    .path-course-view #page.drawers.show-drawer-left .main-inner,
    .pagelayout-course.format-topics #page.drawers.show-drawer-left .main-inner,
    .pagelayout-course.format-weeks #page.drawers.show-drawer-left .main-inner,
    .pagelayout-course.format-tiles #page.drawers.show-drawer-left .main-inner,
    .pagelayout-incourse #page.drawers.show-drawer-left .main-inner {
        max-width: 100% !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

.path-course-view .drawerheader,
.pagelayout-incourse .drawerheader {
    flex: 0 0 auto;
    position: sticky;
    top: 0;
    z-index: 2;
    background: #fff;
    border-bottom: 1px solid var(--falcon-course-border);
}

.path-course-view .courseindex,
.pagelayout-incourse .courseindex {
    padding: 0.5rem 0 1.5rem;
}

.path-course-view .courseindex .courseindex-section,
.pagelayout-incourse .courseindex .courseindex-section {
    margin-bottom: 0.25rem;
}

.path-course-view .courseindex .courseindex-section + .courseindex-section,
.pagelayout-incourse .courseindex .courseindex-section + .courseindex-section {
    margin-top: 1.5rem;
    padding-top: 0.25rem;
}

/* Section titles in sidebar */
.path-course-view .courseindex .courseindex-item.courseindex-section-title,
.pagelayout-incourse .courseindex .courseindex-item.courseindex-section-title {
    font-family: var(--falcon-font-serif);
    font-size: 0.8125rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--falcon-navy);
    padding: 0.75rem 1rem 0.25rem;
    background: transparent;
    border-radius: 0;
}

.path-course-view .courseindex .courseindex-item.courseindex-section-title a,
.pagelayout-incourse .courseindex .courseindex-item.courseindex-section-title a {
    color: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Lesson items — lighter secondary nav */
.path-course-view .courseindex li.courseindex-item,
.pagelayout-incourse .courseindex li.courseindex-item {
    font-family: var(--falcon-font-sans);
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 1.4;
    color: var(--falcon-grey);
    padding: 0.5rem 1rem 0.5rem 1.25rem;
    border-radius: 0;
    transition: background var(--falcon-transition), color var(--falcon-transition);
}

.path-course-view .courseindex li.courseindex-item a,
.pagelayout-incourse .courseindex li.courseindex-item a {
    color: inherit;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

/* Hover — only non-current items (pageitem keeps navy + white text) */
.path-course-view .courseindex li.courseindex-item:not(.pageitem):not(.active):not([aria-current="page"]):hover,
.path-course-view .courseindex li.courseindex-item:not(.pageitem):not(.active):not([aria-current="page"]):focus,
.pagelayout-incourse .courseindex li.courseindex-item:not(.pageitem):not(.active):not([aria-current="page"]):hover,
.pagelayout-incourse .courseindex li.courseindex-item:not(.pageitem):not(.active):not([aria-current="page"]):focus {
    background: var(--falcon-course-hover);
    color: var(--falcon-navy-soft);
}

/* Current page + active — navy surface (overrides Boost .pageitem primary blue) */
.path-course-view .courseindex li.courseindex-item.pageitem,
.path-course-view .courseindex li.courseindex-item.active,
.path-course-view .courseindex li.courseindex-item[aria-current="page"],
.pagelayout-incourse .courseindex li.courseindex-item.pageitem,
.pagelayout-incourse .courseindex li.courseindex-item.active,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"] {
    background: var(--falcon-navy);
    color: #fff;
    box-shadow: none;
}

.path-course-view .courseindex li.courseindex-item.pageitem a,
.path-course-view .courseindex li.courseindex-item.pageitem .courseindex-link,
.path-course-view .courseindex li.courseindex-item.pageitem .courseindex-chevron,
.path-course-view .courseindex li.courseindex-item.active a,
.path-course-view .courseindex li.courseindex-item[aria-current="page"] a,
.path-course-view .courseindex li.courseindex-item.active .courseindex-link,
.path-course-view .courseindex li.courseindex-item.active .courseindex-chevron,
.path-course-view .courseindex li.courseindex-item[aria-current="page"] .courseindex-link,
.path-course-view .courseindex li.courseindex-item[aria-current="page"] .courseindex-chevron,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem a,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem .courseindex-link,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem .courseindex-chevron,
.pagelayout-incourse .courseindex li.courseindex-item.active a,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"] a,
.pagelayout-incourse .courseindex li.courseindex-item.active .courseindex-link,
.pagelayout-incourse .courseindex li.courseindex-item.active .courseindex-chevron,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"] .courseindex-link,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"] .courseindex-chevron {
    color: inherit;
}

/* Hover/focus on current — slightly lighter navy, text stays white */
.path-course-view .courseindex li.courseindex-item.pageitem:hover,
.path-course-view .courseindex li.courseindex-item.pageitem:focus,
.path-course-view .courseindex li.courseindex-item.active:hover,
.path-course-view .courseindex li.courseindex-item.active:focus,
.path-course-view .courseindex li.courseindex-item[aria-current="page"]:hover,
.path-course-view .courseindex li.courseindex-item[aria-current="page"]:focus,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:hover,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:focus,
.pagelayout-incourse .courseindex li.courseindex-item.active:hover,
.pagelayout-incourse .courseindex li.courseindex-item.active:focus,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"]:hover,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"]:focus {
    background: var(--falcon-navy-soft);
    color: #fff;
}

.path-course-view .courseindex li.courseindex-item.pageitem:hover a,
.path-course-view .courseindex li.courseindex-item.pageitem:hover .courseindex-link,
.path-course-view .courseindex li.courseindex-item.pageitem:hover .courseindex-chevron,
.path-course-view .courseindex li.courseindex-item.pageitem:focus a,
.path-course-view .courseindex li.courseindex-item.pageitem:focus .courseindex-link,
.path-course-view .courseindex li.courseindex-item.pageitem:focus .courseindex-chevron,
.path-course-view .courseindex li.courseindex-item.active:hover a,
.path-course-view .courseindex li.courseindex-item.active:hover .courseindex-link,
.path-course-view .courseindex li.courseindex-item.active:hover .courseindex-chevron,
.path-course-view .courseindex li.courseindex-item[aria-current="page"]:hover a,
.path-course-view .courseindex li.courseindex-item[aria-current="page"]:hover .courseindex-link,
.path-course-view .courseindex li.courseindex-item[aria-current="page"]:hover .courseindex-chevron,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:hover a,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:hover .courseindex-link,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:hover .courseindex-chevron,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:focus a,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:focus .courseindex-link,
.pagelayout-incourse .courseindex li.courseindex-item.pageitem:focus .courseindex-chevron,
.pagelayout-incourse .courseindex li.courseindex-item.active:hover a,
.pagelayout-incourse .courseindex li.courseindex-item.active:hover .courseindex-link,
.pagelayout-incourse .courseindex li.courseindex-item.active:hover .courseindex-chevron,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"]:hover a,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"]:hover .courseindex-link,
.pagelayout-incourse .courseindex li.courseindex-item[aria-current="page"]:hover .courseindex-chevron {
    color: inherit;
}

.path-course-view .courseindex li.courseindex-item:focus-visible,
.pagelayout-incourse .courseindex li.courseindex-item:focus-visible {
    outline: 2px solid var(--falcon-gold);
    outline-offset: -2px;
}

.path-course-view .drawer-toggles .btn,
.pagelayout-incourse .drawer-toggles .btn {
    color: var(--falcon-navy);
    border-color: var(--falcon-course-border);
    background: #fff;
    font-size: 0.8125rem;
    font-weight: 500;
}

.path-course-view .drawer-toggles .btn:hover,
.pagelayout-incourse .drawer-toggles .btn:hover {
    color: var(--falcon-navy-soft);
    border-color: rgba(16, 42, 67, 0.18);
    background: var(--falcon-paper);
}

/* ── Drawer offset — align with Falcon app chrome header ─────────── */
@media (min-width: 992px) {
    body.falcon-chrome-active .drawer-left,
    body.falcon-chrome-active .drawer-right,
    body.falcon-chrome-active #theme_boost-drawers-courseindex.drawer {
        top: var(--falcon-app-chrome-height, 4.4375rem);
        height: calc(100vh - var(--falcon-app-chrome-height, 4.4375rem));
    }

    body.falcon-chrome-active #page.drawers {
        margin-top: 0;
    }

    body.falcon-chrome-active .drawer-toggles .drawer-toggler {
        top: calc(var(--falcon-app-chrome-height, 4.4375rem) + 1rem);
    }
}

/* ── Activity module pages — editorial reading surface ───────────── */
/*
 * Root cause of quiz L/R "lines": not a border — sand (--falcon-warm-white)
 * gutters on .main-inner / #page.drawers against a #fff #region-main card.
 * Unify to white + full-bleed so no warm/white edge reads as a vertical bar.
 */
.pagelayout-incourse.path-mod #page.drawers {
    padding-left: 0;
    padding-right: 0;
}

.pagelayout-incourse.path-mod #page.drawers .main-inner {
    background: #fff;
    border-radius: 0;
    box-shadow: none;
    /* Vertical rhythm only — no sand L/R gutter beside the reading surface. */
    padding: 2rem 0;
}

.pagelayout-incourse.path-mod #region-main-box {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
}

.pagelayout-incourse.path-mod #region-main {
    background: #fff;
    /* Kill any Boost/card residual outline; contrast edges were the real bug. */
    border: 0 !important;
    border-radius: 0;
    box-shadow: none !important;
    padding: 2rem clamp(1.5rem, 3vw, 2rem);
}

.pagelayout-incourse.path-mod .breadcrumb {
    margin-bottom: 1rem;
    font-size: 0.75rem;
    color: var(--falcon-grey);
}

.pagelayout-incourse.path-mod .breadcrumb .breadcrumb-item,
.pagelayout-incourse.path-mod .breadcrumb .breadcrumb-item a {
    color: var(--falcon-grey);
}

.pagelayout-incourse.path-mod .breadcrumb .breadcrumb-item.active {
    color: var(--falcon-grey);
}

.pagelayout-incourse.path-mod #page-header {
    margin-bottom: 2rem;
    padding-bottom: 0;
    border-bottom: 0;
}

.pagelayout-incourse.path-mod .activity-header,
.pagelayout-incourse.path-mod .page-header-headings {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pagelayout-incourse.path-mod .page-header-headings h1 {
    font-family: var(--falcon-font-serif);
    font-size: clamp(1.625rem, 2.8vw, 2.125rem);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.1;
    color: var(--falcon-navy);
}

.pagelayout-incourse.path-mod .secondary-navigation {
    margin-bottom: 2rem;
    padding-bottom: 0;
    background: transparent;
    border-bottom: 1px solid var(--falcon-course-border);
}

.pagelayout-incourse.path-mod .secondary-navigation .navigation,
.pagelayout-incourse.path-mod .secondary-navigation .moremenu {
    border-bottom: 0;
}

.pagelayout-incourse.path-mod .secondary-navigation .nav-link {
    padding: 0.75rem 1.25rem;
    font-family: var(--falcon-font-sans);
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--falcon-grey);
    border-bottom: 2px solid transparent;
    border-radius: 0;
}

.pagelayout-incourse.path-mod .secondary-navigation .nav-link:hover,
.pagelayout-incourse.path-mod .secondary-navigation .nav-link:focus {
    color: var(--falcon-navy-soft);
    background: transparent;
}

.pagelayout-incourse.path-mod .secondary-navigation .nav-link.active {
    color: var(--falcon-navy);
    background: transparent;
    border-bottom-color: var(--falcon-green);
}

.pagelayout-incourse.path-mod #region-main .generalbox,
.pagelayout-incourse.path-mod #region-main .no-overflow {
    max-width: 42rem;
    text-align: left;
}

.pagelayout-incourse.path-mod #region-main .generalbox {
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
}

.pagelayout-incourse.path-mod #region-main .no-overflow h2,
.pagelayout-incourse.path-mod #region-main .no-overflow h3,
.pagelayout-incourse.path-mod #region-main .no-overflow h4,
.pagelayout-incourse.path-mod #region-main .no-overflow h5 {
    font-family: var(--falcon-font-serif);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--falcon-navy);
}

.pagelayout-incourse.path-mod #region-main .no-overflow h2 {
    font-size: 1.625rem;
    margin: 3rem 0 1rem;
}

.pagelayout-incourse.path-mod #region-main .no-overflow h3 {
    font-size: 1.375rem;
    margin: 2.5rem 0 0.75rem;
}

.pagelayout-incourse.path-mod #region-main .no-overflow h4 {
    font-size: 1.125rem;
    margin: 2rem 0 0.75rem;
}

.pagelayout-incourse.path-mod #region-main .no-overflow h5 {
    font-size: 1rem;
    margin: 1.5rem 0 0.5rem;
}

.pagelayout-incourse.path-mod #region-main .no-overflow > h2:first-child,
.pagelayout-incourse.path-mod #region-main .no-overflow > h3:first-child,
.pagelayout-incourse.path-mod #region-main .no-overflow > h4:first-child,
.pagelayout-incourse.path-mod #region-main .no-overflow > h5:first-child {
    margin-top: 0;
}

.pagelayout-incourse.path-mod #region-main .no-overflow p {
    font-family: var(--falcon-font-sans);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--falcon-ink);
    margin: 0 0 1rem;
}

.pagelayout-incourse.path-mod #region-main .no-overflow ul,
.pagelayout-incourse.path-mod #region-main .no-overflow ol {
    margin: 0 0 1.5rem;
    padding-left: 1.25rem;
}

/* Outside markers are clipped by Moodle's .no-overflow (overflow:auto)
   once numbers go double-digit (10., 11., …). Give ol extra gutter. */
.pagelayout-incourse.path-mod #region-main .no-overflow ol {
    padding-left: 2rem;
}

.pagelayout-incourse.path-mod #region-main .no-overflow ul li,
.pagelayout-incourse.path-mod #region-main .no-overflow ol li {
    margin-bottom: 0.5rem;
    font-family: var(--falcon-font-sans);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--falcon-ink);
}

.pagelayout-incourse.path-mod #region-main .no-overflow strong,
.pagelayout-incourse.path-mod #region-main .no-overflow b {
    font-weight: 500;
    color: var(--falcon-navy);
}

.pagelayout-incourse.path-mod #region-main .no-overflow a {
    color: var(--falcon-navy-soft);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.pagelayout-incourse.path-mod #region-main .no-overflow a:hover,
.pagelayout-incourse.path-mod #region-main .no-overflow a:focus {
    color: var(--falcon-navy);
}

/* ── Assignment — full-width workspace (tables, submission UI) ─── */
body.limitedwidth.path-mod-assign #page.drawers .main-inner,
body.limitedwidth.path-mod-assign #page.drawers .activity-header,
body.limitedwidth.path-mod-assign .header-maxwidth,
.path-mod-assign #page.drawers .main-inner,
.path-mod-assign #page.drawers .activity-header,
.path-mod-assign .activity-header,
.path-mod-assign .header-maxwidth,
.path-mod-assign .secondary-navigation .navigation,
.path-mod-assign .secondary-navigation .moremenu {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.pagelayout-incourse.path-mod-assign #region-main .generalbox,
body.pagelayout-incourse.path-mod-assign #region-main .no-overflow,
.path-mod-assign #region-main .generalbox,
.path-mod-assign #region-main .no-overflow {
    max-width: none !important;
}

/* ── Quiz landing + attempt — full-width workspace + Falcon chrome ─── */
/*
 * Blocks drawer must use Boost push layout (margin-right: 315px), not overlay.
 * Zeroing margin-right hid Next page / answer text under the quiz nav panel.
 */
@media (min-width: 992px) {
    .path-mod-quiz #page.drawers.show-drawer-right {
        margin-right: 315px !important;
        padding-right: 1rem !important;
        width: calc(100% - 315px) !important;
        max-width: calc(100% - 315px) !important;
        box-sizing: border-box !important;
    }

    .path-mod-quiz #page.drawers.show-drawer-left.show-drawer-right {
        margin-left: 285px !important;
        margin-right: 315px !important;
        width: calc(100% - 600px) !important;
        max-width: calc(100% - 600px) !important;
        box-sizing: border-box !important;
    }

    .path-mod-quiz #page.drawers.show-drawer-right ~ #page-footer.falcon-site-footer {
        margin-right: 315px !important;
        width: calc(100% - 315px) !important;
        max-width: calc(100% - 315px) !important;
        box-sizing: border-box !important;
    }

    .path-mod-quiz #page.drawers.show-drawer-left.show-drawer-right ~ #page-footer.falcon-site-footer {
        margin-left: 285px !important;
        margin-right: 315px !important;
        width: calc(100% - 600px) !important;
        max-width: calc(100% - 600px) !important;
        box-sizing: border-box !important;
    }

    .path-mod-quiz #theme_boost-drawers-blocks.drawer.show {
        box-shadow: none;
    }
}

body.limitedwidth.path-mod-quiz #page.drawers .main-inner,
body.limitedwidth.path-mod-quiz #page.drawers .activity-header,
body.limitedwidth.path-mod-quiz .header-maxwidth,
.path-mod-quiz #page.drawers .main-inner,
.path-mod-quiz #page.drawers .activity-header,
.path-mod-quiz .activity-header,
.path-mod-quiz .header-maxwidth,
.path-mod-quiz .secondary-navigation .navigation,
.path-mod-quiz .secondary-navigation .moremenu {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.pagelayout-incourse.path-mod-quiz #region-main .no-overflow,
body.pagelayout-incourse.path-mod-quiz #region-main #responseform,
.path-mod-quiz #region-main .no-overflow,
.path-mod-quiz #region-main #responseform {
    max-width: none !important;
}

.path-mod-quiz #region-main {
    padding: clamp(1.5rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.5rem);
}

/* Activity intros — keep white surface, drop Boost paper gutters + grey frame. */
.path-mod .activity-header .activity-details:not(:empty),
.path-mod-quiz .activity-header .activity-details:not(:empty) {
    background: transparent !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.path-mod .activity-header .activity-description,
.path-mod .activity-header .activity-description.has-automatic-completion {
    border: 0 !important;
    box-shadow: none;
}

/* Quiz view landing — exam launch surface */
.path-mod-quiz .activity-header {
    margin-bottom: 1.5rem;
    padding: 0;
    background: transparent;
    border: 0;
}

.path-mod-quiz .activity-header .activity-information,
.path-mod-quiz .activity-header .activity-details {
    width: 100%;
}

.path-mod-quiz .activity-header .activity-description {
    margin: 0;
    padding: 1.5rem 1.5rem 1.25rem;
    background: #fff;
    border: 0 !important;
    box-shadow: none;
    color: var(--falcon-text-color, #1f2937);
}

/* Boost .box / .card wrappers on quiz view — no L/R frame. */
.path-mod-quiz #region-main .box,
.path-mod-quiz #region-main .card {
    border-left: 0;
    border-right: 0;
    box-shadow: none;
}

.path-mod-quiz .activity-header .activity-description .no-overflow,
.path-mod-quiz .activity-header .activity-description .no-overflow p,
body.pagelayout-incourse.path-mod-quiz #region-main .activity-header .no-overflow p {
    margin: 0;
    font-family: var(--falcon-font-sans);
    font-size: 1.0625rem;
    line-height: 1.6;
    color: var(--falcon-text-color, #1f2937) !important;
}

.path-mod-quiz .activity-header .activity-description.has-automatic-completion {
    border: 0;
    padding-bottom: 1rem;
}

.path-mod-quiz .activity-header .completion-info {
    margin: 0;
    padding: 1rem 1.5rem 1.25rem;
    background: #fff;
    border: 0;
    border-top: 1px solid var(--falcon-course-border-subtle);
}

.path-mod-quiz .activity-header .automatic-completion-title {
    margin-bottom: 0.5rem;
    font-family: var(--falcon-font-sans);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--falcon-grey);
}

.path-mod-quiz .activity-header .automatic-completion-title strong {
    font-weight: 700;
    color: var(--falcon-grey);
}

.path-mod-quiz .activity-header .activity-completion-list {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.path-mod-quiz .activity-header .activity-completion-list > li {
    margin: 0;
    padding: 0.35rem 0 0.35rem 1.25rem;
    background: transparent;
    border: 0;
    position: relative;
}

.path-mod-quiz .activity-header .activity-completion-list > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.7rem;
    width: 0.4rem;
    height: 0.4rem;
    border: 0;
    border-radius: 50%;
    background: rgba(16, 42, 67, 0.28);
}

.path-mod-quiz .activity-header .automatic-completion-conditions li:has(.automatic-completion-is-complete)::before {
    left: 0;
    top: 0.7rem;
    width: 0.4rem;
    height: 0.4rem;
    border: 0;
    border-radius: 50%;
    background: var(--falcon-green);
}

.path-mod-quiz .activity-header .automatic-completion-conditions li:has(.automatic-completion-is-failed)::before {
    left: 0;
    top: 0.7rem;
    width: 0.4rem;
    height: 0.4rem;
    border: 0;
    border-radius: 50%;
    background: var(--falcon-red);
}

.path-mod-quiz .activity-header .activity-completion-list .fw-normal {
    font-family: var(--falcon-font-sans);
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.45;
    color: var(--falcon-navy);
}

.path-mod-quiz .tertiary-navigation {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin: 0 0 1.5rem;
    padding: 1.25rem 1.5rem;
    background: #fff;
    border: 1px solid var(--falcon-course-border);
}

/* Learner quiz: button only — no empty card around Attempt quiz. */
body.fal-learner-mod.path-mod-quiz .tertiary-navigation {
    margin: 1rem 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
}

body.fal-learner-mod.path-mod-quiz .tertiary-navigation .d-flex {
    width: auto;
    justify-content: flex-start;
    gap: 0.75rem;
}

/* Learner quiz: hide Moodle grading meta (method / grade to pass). */
body.fal-learner-mod.path-mod-quiz .quizinfo {
    display: none !important;
}

/* Empty Moodle leftover under Attempt — Bootstrap py-3 still pads it. */
body.fal-learner-mod.path-mod-quiz .quizattempt:empty {
    display: none !important;
}

/* Learner quiz landing — quiet attempts summary (no Bootstrap sand cards). */
body.fal-learner-mod.path-mod-quiz #region-main > div:has(.tertiary-navigation),
body.fal-learner-mod.path-mod-quiz #region-main > div:has(.quizreviewsummary) {
    padding-inline: 0 !important;
}

/* Beat general learner .activity-header padding (higher specificity). */
body.fal-learner-mod.path-mod.path-mod-quiz:not(.fal-artifact-edit-page) .activity-header {
    padding-bottom: 0.15rem;
}

body.fal-learner-mod.path-mod-quiz #region-main > div > h3 {
    margin: 1.5rem 0 0.75rem;
    padding: 0;
    border: 0;
    font-family: var(--falcon-font-serif, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif);
    font-size: 1.15rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.25;
    color: var(--falcon-navy, #102a43);
}

/* Full-width attempt block — kill Bootstrap row-cols-md-2 half-width cards. */
body.fal-learner-mod.path-mod-quiz #region-main .list-unstyled.row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
    display: flex;
    flex-direction: column;
    margin: 0;
    max-width: none;
    width: 100%;
}

body.fal-learner-mod.path-mod-quiz #region-main .list-unstyled.row > [class*="col"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 0 0.85rem !important;
}

body.fal-learner-mod.path-mod-quiz #region-main .card.h-100 {
    height: auto !important;
    width: 100%;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--falcon-line, #d8d4cc);
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

body.fal-learner-mod.path-mod-quiz #region-main .card .card-header {
    margin: 0;
    padding: 0.7rem 0 0.45rem;
    background: transparent;
    border: 0;
}

body.fal-learner-mod.path-mod-quiz #region-main .card .card-title {
    margin: 0;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.625rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--falcon-grey, #5f666b);
}

body.fal-learner-mod.path-mod-quiz #region-main .quizreviewsummary,
body.fal-learner-mod.path-mod-quiz #region-main .table.quizreviewsummary {
    width: 100%;
    margin: 0;
    border: 0;
    background: transparent;
}

body.fal-learner-mod.path-mod-quiz #region-main .quizreviewsummary th,
body.fal-learner-mod.path-mod-quiz #region-main .quizreviewsummary td {
    padding: 0.55rem 0;
    border: 0;
    border-bottom: 1px solid var(--falcon-line, #d8d4cc);
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.8125rem;
    line-height: 1.45;
    background: transparent;
    color: var(--falcon-ink, #17242e);
    vertical-align: top;
}

body.fal-learner-mod.path-mod-quiz #region-main .quizreviewsummary tr:last-child th,
body.fal-learner-mod.path-mod-quiz #region-main .quizreviewsummary tr:last-child td {
    border-bottom: 0;
}

body.fal-learner-mod.path-mod-quiz #region-main .quizreviewsummary th {
    width: 8.5rem;
    padding-right: 1.25rem;
    font-weight: 600;
    color: var(--falcon-grey, #5f666b);
}

body.fal-learner-mod.path-mod-quiz #region-main .card .card-body {
    margin: 0;
    padding: 0.65rem 0 0.15rem;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--falcon-line, #d8d4cc);
}

body.fal-learner-mod.path-mod-quiz #region-main .noreviewmessage {
    display: inline-block;
    margin-top: 0.15rem;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.02em;
    color: var(--falcon-grey, #5f666b);
}

/* Learner activity pages — trim empty bottom of the white shell. */
body.fal-learner-mod.path-mod #page.drawers .main-inner,
body.fal-learner-mod.pagelayout-incourse.path-mod #page.drawers .main-inner {
    flex-grow: 0; /* don't stretch empty white below short content */
    padding-top: 1.25rem;
    padding-bottom: 1rem;
    margin-bottom: 1.25rem;
}

body.fal-learner-mod.path-mod-quiz #region-main,
body.fal-learner-mod.pagelayout-incourse.path-mod-quiz #region-main {
    padding-bottom: 0.5rem !important;
}

.path-mod-quiz .tertiary-navigation .d-flex {
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.path-mod-quiz .quizstartbuttondiv {
    margin: 0;
}

.path-mod-quiz .quizstartbuttondiv .btn-primary,
.path-mod-quiz .quizstartbuttondiv button.btn-primary {
    min-height: 2.875rem;
    min-width: 11rem;
    padding: 0.75rem 1.5rem;
    font-family: var(--falcon-font-sans);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    border-radius: 0;
    background: var(--falcon-navy);
    border-color: var(--falcon-navy);
}

.path-mod-quiz .quizstartbuttondiv .btn-primary:hover,
.path-mod-quiz .quizstartbuttondiv .btn-primary:focus,
.path-mod-quiz .quizstartbuttondiv button.btn-primary:hover,
.path-mod-quiz .quizstartbuttondiv button.btn-primary:focus {
    background: var(--falcon-green);
    border-color: var(--falcon-green);
}

.path-mod-quiz .quizinfo {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
    gap: 0.75rem;
    margin: 0 0 1.5rem;
    padding: 0;
    background: transparent;
    border: 0;
}

.path-mod-quiz .quizinfo > p {
    margin: 0;
    padding: 1rem 1.125rem;
    background: #fff;
    border: 1px solid var(--falcon-course-border);
    border-left: 4px solid var(--falcon-green);
    font-family: var(--falcon-font-sans);
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--falcon-ink);
}

.path-mod-quiz .quizattempt {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

.path-mod-quiz .generaltable {
    width: 100%;
    margin-bottom: 1.5rem;
    background: #fff;
    border: 1px solid var(--falcon-course-border);
}

.path-mod-quiz .generaltable th,
.path-mod-quiz .generaltable td {
    padding: 0.875rem 1rem;
    font-family: var(--falcon-font-sans);
    font-size: 0.9375rem;
    vertical-align: middle;
    border-color: var(--falcon-course-border-subtle);
}

.path-mod-quiz .generaltable thead th {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--falcon-grey);
    background: var(--falcon-warm-white);
}

/* ── Page / ebook reading surface ─── */
body.limitedwidth.path-mod-page #page.drawers .main-inner,
body.limitedwidth.path-mod-page #page.drawers .activity-header,
body.limitedwidth.path-mod-page .header-maxwidth,
.path-mod-page #page.drawers .main-inner,
.path-mod-page #page.drawers .activity-header,
.path-mod-page .activity-header,
.path-mod-page .header-maxwidth,
.path-mod-page .secondary-navigation .navigation,
.path-mod-page .secondary-navigation .moremenu {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.pagelayout-incourse.path-mod-page #region-main .generalbox,
.path-mod-page #region-main .generalbox {
    max-width: none !important;
}

body.pagelayout-incourse.path-mod-page #region-main .no-overflow,
.path-mod-page #region-main .no-overflow {
    max-width: 48rem !important;
}

.path-mod-page .activity-header {
    margin-bottom: 1.5rem;
    padding: 0;
    background: transparent;
    border: 0;
}

.path-mod-page .activity-header .activity-information,
.path-mod-page .activity-header .activity-details {
    width: 100%;
}

.path-mod-page .activity-header .completion-info {
    margin: 0;
    padding: 0.875rem 0 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--falcon-course-border-subtle);
}

.path-mod-page .activity-header .automatic-completion-title {
    display: inline;
    margin: 0 0.75rem 0 0;
    font-family: var(--falcon-font-sans);
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--falcon-grey);
}

.path-mod-page .activity-header .automatic-completion-title strong {
    font-weight: 700;
    color: var(--falcon-grey);
}

.path-mod-page .activity-header .activity-completion-list {
    display: inline;
    margin: 0;
    padding: 0;
    list-style: none;
}

.path-mod-page .activity-header .activity-completion-list > li {
    display: inline;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

.path-mod-page .activity-header .activity-completion-list > li::before {
    content: none;
}

.path-mod-page .activity-header .automatic-completion-is-complete,
.path-mod-page .activity-header .automatic-completion-is-incomplete,
.path-mod-page .activity-header .automatic-completion-is-failed {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-family: var(--falcon-font-sans);
    font-size: 0.9375rem;
    color: var(--falcon-navy);
}

.path-mod-page .activity-header .automatic-completion-is-complete {
    color: #166534;
}

.path-mod-page .activity-header .automatic-completion-is-complete .icon {
    color: #15803d;
}

.path-mod-page #region-main [role="main"] > .generalbox {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

.path-mod-page #region-main .no-overflow {
    max-width: 48rem !important;
    margin: 0;
}

.path-mod-page #region-main .no-overflow > h4:first-child {
    margin: 0 0 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--falcon-course-border);
    font-family: var(--falcon-font-serif);
    font-size: clamp(1.5rem, 2.4vw, 1.875rem);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--falcon-navy);
}

.path-mod-page #region-main .no-overflow h4 {
    margin: 2.5rem 0 1rem;
    font-size: 1.25rem;
}

.path-mod-page #region-main .no-overflow p {
    font-size: 1.0625rem;
    line-height: 1.7;
    margin: 0 0 0.875rem;
}

.path-mod-page #region-main .no-overflow p + h4 {
    margin-top: 2.75rem;
}

/*
 * Lesson callouts — C3 (and similar) ebook HTML uses single-cell <table><thead><th>
 * blocks as callout boxes. Restyle them as editorial callouts; leave real data tables alone.
 */
.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child),
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) {
    width: 100%;
    margin: 1.75rem 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead,
.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr {
    border: 0;
    background: transparent;
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th {
    width: 100%;
    padding: 1.15rem 1.35rem;
    border: 1px solid var(--falcon-course-border-subtle, rgba(16, 42, 67, 0.08));
    border-left: 3px solid var(--falcon-green);
    border-radius: var(--falcon-radius, 4px);
    background: color-mix(in srgb, var(--falcon-paper) 78%, white);
    font-family: var(--falcon-font-sans);
    font-size: 1.0625rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    line-height: 1.65;
    text-align: left;
    text-transform: none;
    vertical-align: top;
    color: var(--falcon-navy);
}

/* Titled callouts: <p>label</p><p>body</p> */
.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th:has(> p:nth-of-type(2)),
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th:has(> p:nth-of-type(2)) {
    font-weight: 400;
    color: var(--falcon-ink);
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th > p:first-child,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th > p:first-child {
    margin: 0 0 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--falcon-green);
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th > p:not(:first-child),
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th > p:not(:first-child) {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.7;
    text-transform: none;
    color: var(--falcon-ink);
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th > p + p,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:only-child) > thead > tr > th > p + p {
    margin-top: 0.35rem;
}

/*
 * Label + body callouts — Atto/TinyMCE two-column thead tables
 * (e.g. "Business principle" | quote, "Checkpoint" | guidance).
 */
.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child),
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) {
    width: 100% !important;
    margin: 1.75rem 0;
    border: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: transparent;
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead {
    display: block;
    border: 0;
    background: transparent;
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr {
    display: block;
    padding: 1.15rem 1.35rem;
    border: 1px solid var(--falcon-course-border-subtle, rgba(16, 42, 67, 0.08));
    border-left: 3px solid var(--falcon-green);
    border-radius: var(--falcon-radius, 4px);
    background: color-mix(in srgb, var(--falcon-paper) 78%, white);
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr > th,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr > th {
    display: block;
    width: 100% !important;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: var(--falcon-font-sans);
    text-align: left;
    text-transform: none;
    vertical-align: top;
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr > th:first-child,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr > th:first-child {
    margin: 0 0 0.55rem;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--falcon-green);
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr > th:last-child,
.path-mod-page #region-main .no-overflow table:not(:has(tbody)):has(> thead > tr > th:first-child + th:last-child) > thead > tr > th:last-child {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.7;
    color: var(--falcon-ink);
}

/* Normalized checklist / loose-prompt blocks (see course_secondary_guard JS). */
.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-callout,
.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-checklist,
.path-mod-page #region-main .no-overflow .fal-ebook-callout,
.path-mod-page #region-main .no-overflow .fal-ebook-checklist {
    margin: 1.75rem 0;
    padding: 1.15rem 1.35rem;
    border: 1px solid var(--falcon-course-border-subtle, rgba(16, 42, 67, 0.08));
    border-left: 3px solid var(--falcon-green);
    border-radius: var(--falcon-radius, 4px);
    background: color-mix(in srgb, var(--falcon-paper) 78%, white);
}

.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-callout__label,
.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-checklist__label,
.path-mod-page #region-main .no-overflow .fal-ebook-callout__label,
.path-mod-page #region-main .no-overflow .fal-ebook-checklist__label {
    margin: 0 0 0.55rem;
    font-family: var(--falcon-font-sans);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--falcon-green);
}

.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-callout__body,
.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-callout > p,
.path-mod-page #region-main .no-overflow .fal-ebook-callout__body,
.path-mod-page #region-main .no-overflow .fal-ebook-callout > p {
    margin: 0;
    font-family: var(--falcon-font-sans);
    font-size: 1.0625rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.7;
    color: var(--falcon-ink);
}

.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-checklist__list,
.path-mod-page #region-main .no-overflow .fal-ebook-checklist__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-checklist__list > li,
.path-mod-page #region-main .no-overflow .fal-ebook-checklist__list > li {
    position: relative;
    margin: 0 0 0.55rem;
    padding-left: 1.75rem;
    font-family: var(--falcon-font-sans);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--falcon-ink);
}

.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-checklist__list > li:last-child,
.path-mod-page #region-main .no-overflow .fal-ebook-checklist__list > li:last-child {
    margin-bottom: 0;
}

.pagelayout-incourse.path-mod #region-main .no-overflow .fal-ebook-checklist__list > li::before,
.path-mod-page #region-main .no-overflow .fal-ebook-checklist__list > li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.35em;
    width: 0.9rem;
    height: 0.9rem;
    box-sizing: border-box;
    border: 1.5px solid var(--falcon-green);
    border-radius: 2px;
    background: #fff;
}

/* Real data tables in ebook pages — quieter editorial grid */
.pagelayout-incourse.path-mod #region-main .no-overflow table:has(tbody),
.path-mod-page #region-main .no-overflow table:has(tbody) {
    width: 100%;
    margin: 1.25rem 0 2rem;
    border-collapse: collapse;
    border: 0;
    background: transparent;
    font-family: var(--falcon-font-sans);
    font-size: 0.9375rem;
    line-height: 1.55;
    color: var(--falcon-ink);
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:has(tbody) > thead > tr > th,
.path-mod-page #region-main .no-overflow table:has(tbody) > thead > tr > th {
    padding: 0.65rem 0.85rem;
    border: 0;
    border-bottom: 1px solid var(--falcon-line, #d8d4cc);
    background: transparent;
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    text-align: left;
    color: var(--falcon-grey);
    vertical-align: bottom;
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:has(tbody) > tbody > tr > td,
.path-mod-page #region-main .no-overflow table:has(tbody) > tbody > tr > td {
    padding: 0.75rem 0.85rem;
    border: 0;
    border-bottom: 1px solid var(--falcon-course-border-subtle, rgba(16, 42, 67, 0.08));
    background: transparent;
    vertical-align: top;
    color: var(--falcon-ink);
}

.pagelayout-incourse.path-mod #region-main .no-overflow table:has(tbody) > tbody > tr:last-child > td,
.path-mod-page #region-main .no-overflow table:has(tbody) > tbody > tr:last-child > td {
    border-bottom: 0;
}

/* Learner activity pages — Falcon editorial chrome (match artifact form edit). */
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header {
    max-width: none !important;
    width: 100% !important;
    margin-inline: 0 !important;
    margin-bottom: 0.25rem;
    padding-inline: 2rem;
    padding-bottom: 0;
    border-bottom: 0;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header .w-100 > .d-flex {
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    max-width: none;
    width: 100%;
    margin-inline: 0;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header #page-navbar {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header #page-navbar .breadcrumb {
    display: flex;
    flex-wrap: nowrap !important;
    align-items: center;
    margin-bottom: 0;
    padding-left: 0;
    font-size: 0.75rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header #page-navbar .breadcrumb .breadcrumb-item,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header #page-navbar .breadcrumb .breadcrumb-item a {
    white-space: nowrap;
    flex-shrink: 0;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header #page-navbar .breadcrumb .breadcrumb-item:last-child {
    flex-shrink: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #region-main-settings-menu,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .region_main_settings_menu_proxy,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header .header-actions-container {
    display: none !important;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .fal-learner-mod-moodle-header,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header .page-context-header,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header .page-context-header.fal-learner-mod-moodle-header,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header .page-context-header[hidden],
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header .page-header-headings,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #page-header .activityiconcontainer {
    display: none !important;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .fal-learner-mod-hero {
    margin: 1.15rem 0 0.75rem;
    padding: 0 0 1.25rem;
    border-bottom: 1px solid var(--falcon-line, #d8d4cc);
    max-width: 48rem;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .fal-learner-mod-hero__eyebrow {
    margin: 0 0 0.45rem;
    color: var(--falcon-green, #147a43);
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.625rem;
    font-weight: 760;
    letter-spacing: 0.19em;
    text-transform: uppercase;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .fal-learner-mod-hero__title {
    margin: 0;
    font-family: var(--falcon-font-serif, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif);
    font-size: clamp(1.5rem, 3vw, 1.85rem);
    font-weight: 500;
    letter-spacing: -0.035em;
    line-height: 1.15;
    color: var(--falcon-navy, #102a43);
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #region-main {
    max-width: none !important;
    width: 100% !important;
    margin-inline: 0 !important;
    padding-top: 0.5rem;
    padding-bottom: 0.75rem;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #region-main .no-overflow {
    max-width: none !important;
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) #region-main .generalbox {
    margin: 0;
    padding: 0 !important;
    border: 0;
    background: transparent;
    box-shadow: none;
}

/* Quiet status under hero — metadata stack, not a card / not a broken flex row. */
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header {
    display: block !important; /* beat stale theme all.css hide */
    max-width: none;
    margin: 0;
    padding: 0 0 1.5rem; /* padding avoids collapse into following content */
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .activity-information,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .activity-details {
    width: 100%;
    margin: 0;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .completion-info {
    display: block;
    margin: 1rem 0 0;
    padding: 0.85rem 0 0;
    background: transparent;
    border: 0;
    border-top: 1px solid var(--falcon-line, #d8d4cc);
    border-radius: 0;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-conditions {
    margin: 0;
    padding: 0;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-title {
    display: block;
    margin: 0 0 0.45rem;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.625rem;
    font-weight: 760;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--falcon-grey, #5f666b);
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-title strong {
    font-weight: 760;
    color: inherit;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .activity-completion-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.3rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .activity-completion-list > li {
    display: block;
    position: static;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .activity-completion-list > li::before {
    content: none !important;
    display: none !important;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-complete,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-incomplete,
body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-failed {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.35;
    color: var(--falcon-navy, #102a43);
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-incomplete {
    color: var(--falcon-grey, #5f666b);
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-incomplete::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    flex-shrink: 0;
    border: 1.5px solid var(--falcon-grey, #5f666b);
    border-radius: 50%;
    opacity: 0.7;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-incomplete .icon {
    width: 0.875rem;
    height: 0.875rem;
    color: var(--falcon-grey, #5f666b);
    opacity: 0.75;
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-complete {
    color: var(--falcon-green, #147a43);
}

body.fal-learner-mod.path-mod:not(.fal-artifact-edit-page) .activity-header .automatic-completion-is-complete .icon {
    width: 0.875rem;
    height: 0.875rem;
    color: var(--falcon-green, #147a43);
}

/* Quiz landing: keep intro readable; completion stays the quiet stack above. */
body.fal-learner-mod.path-mod-quiz .activity-header .activity-description {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0 !important;
    box-shadow: none;
}

body.fal-learner-mod.path-mod-quiz .activity-header .completion-info {
    margin-top: 1.15rem;
    padding: 0.85rem 0 0;
    background: transparent;
    border-top: 1px solid var(--falcon-line, #d8d4cc);
}

/*
 * Video lesson — player fills the content area. No dark theatre shell /
 * inset frame around the player (those read as a heavy border).
 */
.path-mod-page #region-main:has(.falcon-video),
.path-mod-page #region-main:has(.video-js) {
    background: #fff;
    border: 0;
    border-radius: 0;
    padding: 1.5rem clamp(1rem, 2.5vw, 2rem) 1.75rem;
    overflow: visible;
}

.path-mod-page #region-main:has(.falcon-video) .activity-header,
.path-mod-page #region-main:has(.video-js) .activity-header {
    margin-bottom: 1rem;
}

.path-mod-page #region-main:has(.falcon-video) .activity-header .completion-info,
.path-mod-page #region-main:has(.video-js) .activity-header .completion-info {
    background: transparent;
    border: 0;
    border-top: 1px solid var(--falcon-course-border-subtle);
    color: var(--falcon-text-color, #1f2937);
}

/* Play marks complete; hide the manual Mark as done control. */
.path-mod-page #region-main:has(.falcon-video) .activity-header button[data-action="toggle-manual-completion"],
.path-mod-page #region-main:has(.falcon-video) .activity-header .completion-info [data-region="completion-manual"],
.path-mod-page #region-main:has(.video-js) .activity-header button[data-action="toggle-manual-completion"],
.path-mod-page #region-main:has(.video-js) .activity-header .completion-info [data-region="completion-manual"] {
    display: none !important;
}

/* Course list: Page video lessons complete on the lesson page — no Mark as done toggle. */
.path-course-view .activity.modtype_page .activity-item button[data-action="toggle-manual-completion"],
.path-course-view .activity.modtype_page .activity-header button[data-action="toggle-manual-completion"] {
    display: none !important;
}

.path-mod-page #region-main:has(.falcon-video) .activity-header .automatic-completion-title,
.path-mod-page #region-main:has(.falcon-video) .activity-header .automatic-completion-title strong,
.path-mod-page #region-main:has(.video-js) .activity-header .automatic-completion-title,
.path-mod-page #region-main:has(.video-js) .activity-header .automatic-completion-title strong {
    color: var(--falcon-grey);
}

.path-mod-page #region-main:has(.falcon-video) .activity-header .automatic-completion-is-complete,
.path-mod-page #region-main:has(.falcon-video) .activity-header .automatic-completion-is-incomplete,
.path-mod-page #region-main:has(.falcon-video) .activity-header .automatic-completion-is-failed,
.path-mod-page #region-main:has(.video-js) .activity-header .automatic-completion-is-complete,
.path-mod-page #region-main:has(.video-js) .activity-header .automatic-completion-is-incomplete,
.path-mod-page #region-main:has(.video-js) .activity-header .automatic-completion-is-failed {
    color: var(--falcon-text-color, #1f2937);
}

.path-mod-page #region-main:has(.falcon-video) [role="main"] > .generalbox,
.path-mod-page #region-main:has(.video-js) [role="main"] > .generalbox {
    margin: 0;
    padding: 0 !important;
    background: transparent;
    border: 0;
    text-align: left;
}

.path-mod-page #region-main:has(.falcon-video) .no-overflow,
.path-mod-page #region-main:has(.video-js) .no-overflow,
body.pagelayout-incourse.path-mod-page #region-main:has(.falcon-video) .no-overflow,
body.pagelayout-incourse.path-mod-page #region-main:has(.video-js) .no-overflow,
body.path-mod-page #region-main:has(.falcon-video) .no-overflow,
body.path-mod-page #region-main:has(.video-js) .no-overflow {
    max-width: none !important;
    width: 100% !important;
    margin: 0;
    overflow: visible !important;
}

.path-mod-page .falcon-video {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    overflow: hidden;
}

.path-mod-page .falcon-video .mediaplugin_videojs,
.path-mod-page .falcon-video .mediaplugin_videojs > div {
    max-width: 100% !important;
    width: 100% !important;
}

.path-mod-page .falcon-video .mediaplugin_videojs > div[style] {
    /* Beat Moodle's inline max-width:640px on the VideoJS host */
    max-width: 100% !important;
    width: 100% !important;
}

.path-mod-page .falcon-video .video-js {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0.2rem;
    overflow: hidden;
    background: #000;
}

/* VideoJS — Falcon prose ul/li + overflow:auto break menus (speed etc.) */
.path-mod-page #region-main .no-overflow:has(.video-js),
.path-mod-page #region-main .no-overflow:has(.falcon-video) {
    overflow: visible !important;
}

.path-mod-page .falcon-video,
.path-mod-page .mediaplugin_videojs {
    overflow: visible;
    max-width: 100%;
}

/* Keep non-fullscreen fluid player filling the stage (not the 640px inline). */
.path-mod-page .falcon-video .video-js:not(.vjs-fullscreen) {
    width: 100% !important;
    max-width: 100% !important;
}

.path-mod-page .video-js {
    /* Control bar size scales from this root font-size */
    font-size: 14px !important;
    overflow: visible;
    max-width: 100%;
}

/*
 * attach_videos embeds style="max-width:1200px" which VideoJS copies onto
 * .video-js — that inline cap survives fullscreen and leaves empty gutters.
 */
.video-js.vjs-fullscreen,
.video-js.vjs-fullscreen.vjs-fluid,
.path-mod-page .video-js.vjs-fullscreen,
.vjs-full-window .video-js.vjs-fullscreen,
.video-js:fullscreen,
.video-js:-webkit-full-screen {
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    padding-top: 0 !important;
    overflow: hidden !important;
}

/* Same inline max-width is copied onto the <video.vjs-tech> node */
.video-js.vjs-fullscreen .vjs-tech,
.video-js:fullscreen .vjs-tech,
.video-js:-webkit-full-screen .vjs-tech,
.vjs-full-window .video-js.vjs-fullscreen .vjs-tech {
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
}

.falcon-video:has(.vjs-fullscreen),
.mediaplugin_videojs:has(.vjs-fullscreen),
.mediaplugin_videojs:has(.vjs-fullscreen) > div {
    max-width: none !important;
    width: auto !important;
}

.path-mod-page .video-js .vjs-control-bar {
    z-index: 2;
    height: 3em;
}

.path-mod-page .video-js .vjs-menu {
    z-index: 10;
    overflow: visible !important;
}

.path-mod-page .video-js .vjs-playback-rate .vjs-playback-rate-value {
    font-size: 1.15em;
    line-height: 2.6em;
    pointer-events: none;
}

/* Undo editorial list styles leaking into .vjs-menu-content */
.pagelayout-incourse.path-mod #region-main .no-overflow .video-js ul,
.pagelayout-incourse.path-mod #region-main .no-overflow .video-js ol,
.pagelayout-incourse.path-mod #region-main .no-overflow .vjs-menu-content {
    margin: 0 0 0.3em !important;
    padding: 0 !important;
    list-style: none !important;
    color: #fff !important;
}

.pagelayout-incourse.path-mod #region-main .no-overflow .video-js li,
.pagelayout-incourse.path-mod #region-main .no-overflow .vjs-menu li,
.pagelayout-incourse.path-mod #region-main .no-overflow .vjs-menu-item,
.pagelayout-incourse.path-mod #region-main .no-overflow .vjs-menu-item-text {
    margin: 0 !important;
    padding: 0.2em 0 !important;
    font-family: inherit !important;
    font-size: 1em !important;
    line-height: 1.2 !important;
    color: #fff !important;
    background: transparent;
}

.pagelayout-incourse.path-mod #region-main .no-overflow .vjs-menu-item:hover,
.pagelayout-incourse.path-mod #region-main .no-overflow .vjs-menu-item:focus,
.pagelayout-incourse.path-mod #region-main .no-overflow .vjs-menu .vjs-selected {
    color: #fff !important;
    background-color: rgba(115, 133, 159, 0.55);
}

.pagelayout-incourse.path-mod #region-main .no-overflow .video-js a,
.pagelayout-incourse.path-mod #region-main .no-overflow .video-js button {
    color: inherit;
    text-decoration: none;
}

.path-mod-quiz .tertiary-navigation .btn-secondary {
    font-family: var(--falcon-font-sans);
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--falcon-navy);
    background: #fff;
    border-color: var(--falcon-course-border);
}

.path-mod-quiz .tertiary-navigation .btn-secondary:hover,
.path-mod-quiz .tertiary-navigation .btn-secondary:focus {
    color: var(--falcon-navy);
    background: var(--falcon-paper);
    border-color: rgba(16, 42, 67, 0.22);
}

.path-mod-quiz #quiz-timer-wrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

/* Learner quiz attempt: hide Moodle countdown chrome. */
body.fal-learner-mod.path-mod-quiz #quiz-timer-wrapper {
    display: none !important;
}

.path-mod-quiz #quiz-timer {
    font-family: var(--falcon-font-sans);
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--falcon-navy);
    background: var(--falcon-paper);
    border: 1px solid var(--falcon-course-border);
    border-radius: var(--falcon-radius);
}

.path-mod-quiz #toggle-timer.btn-secondary {
    font-size: 0.75rem;
}

.path-mod-quiz .que {
    display: flex;
    gap: 1.25rem;
    margin-bottom: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.path-mod-quiz .que .info {
    flex-shrink: 0;
    width: 8.5rem;
    padding: 1rem;
    background: var(--falcon-paper);
    border: 1px solid var(--falcon-course-border);
    border-radius: var(--falcon-radius);
}

.path-mod-quiz .que h3.no,
.path-mod-quiz .que .no.h3 {
    margin: 0 0 0.5rem;
    font-family: var(--falcon-font-serif);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.3;
    color: var(--falcon-navy);
}

.path-mod-quiz .que span.qno {
    display: block;
    font-family: var(--falcon-font-serif);
    font-size: 1.375rem;
    font-weight: 600;
    line-height: 1.1;
    color: var(--falcon-navy);
}

.path-mod-quiz .que .info .state {
    font-family: var(--falcon-font-sans);
    font-size: 0.75rem;
    color: var(--falcon-grey);
}

.path-mod-quiz .que .info .questionflag a {
    font-family: var(--falcon-font-sans);
    font-size: 0.75rem;
    color: var(--falcon-navy-soft);
    text-decoration: none;
}

.path-mod-quiz .que .info .questionflag a:hover,
.path-mod-quiz .que .info .questionflag a:focus {
    color: var(--falcon-navy);
    text-decoration: underline;
}

.path-mod-quiz .que .content {
    flex: 1 1 auto;
    min-width: 0;
}

.path-mod-quiz .que .formulation {
    margin-bottom: 0;
    padding: 1.5rem;
    color: var(--falcon-ink);
    background: #fff;
    border: 1px solid var(--falcon-course-border);
    border-radius: var(--falcon-radius);
}

/*
 * Review: hide redundant "The correct answer is…" when the learner already
 * answered correctly. Keep it for incorrect / partial. Drop the Feedback box
 * entirely when it would only have contained that line.
 */
.path-mod-quiz .que.correct .rightanswer {
    display: none;
}

.path-mod-quiz .que.correct .outcome:not(:has(.specificfeedback, .generalfeedback, .numpartscorrect, .im-feedback, .hint, .extra-feedback)) {
    display: none;
}

.path-mod-quiz .que .qtext {
    font-family: var(--falcon-font-sans);
    font-size: 1rem;
    line-height: 1.65;
    color: var(--falcon-ink);
    margin-bottom: 1.25rem;
}

/* Matching (qtype_match): table + form-select width:auto grows to longest option.
 * Leave room for the grading icon so it stays on the same line as the select. */
.path-mod-quiz .que .ablock {
    max-width: 100%;
    min-width: 0;
}

.path-mod-quiz .que table.answer {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}

.path-mod-quiz .que table.answer td.text {
    width: 55%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    vertical-align: middle;
}

.path-mod-quiz .que table.answer td.control {
    width: 45%;
    vertical-align: middle;
    white-space: nowrap;
}

.path-mod-quiz .que table.answer .form-select,
.path-mod-quiz .que table.answer select {
    display: inline-block;
    box-sizing: border-box;
    width: calc(100% - 1.75rem);
    max-width: calc(100% - 1.75rem);
    margin-left: 0;
    vertical-align: middle;
}

.path-mod-quiz .que table.answer td.control > .icon {
    display: inline-block;
    vertical-align: middle;
    margin-left: 0.25rem;
}

.path-mod-quiz .que .answer > div.r0,
.path-mod-quiz .que .answer > div.r1 {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 0.75rem 1rem;
    margin-bottom: 0.5rem;
    border: 1px solid var(--falcon-course-border-subtle);
    border-radius: var(--falcon-radius);
    background: var(--falcon-warm-white);
    cursor: pointer;
    transition: border-color 0.15s ease, background 0.15s ease;
}

.path-mod-quiz .que .answer > div.r0:hover,
.path-mod-quiz .que .answer > div.r1:hover {
    border-color: rgba(16, 42, 67, 0.18);
    background: var(--falcon-paper);
}

/*
 * Multichoice: Moodle only wires click on [data-region=answer-label] (not a real
 * <label>). Stretch that hit target across the whole Falcon answer card so empty
 * padding / trailing space selects the option too.
 */
.path-mod-quiz .que .answer > div.r0 [data-region="answer-label"],
.path-mod-quiz .que .answer > div.r1 [data-region="answer-label"] {
    flex: 1 1 auto;
    min-width: 0;
    width: auto !important;
    max-width: none;
    cursor: pointer;
}

.path-mod-quiz .que .answer > div.r0 [data-region="answer-label"]::before,
.path-mod-quiz .que .answer > div.r1 [data-region="answer-label"]::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
}

.path-mod-quiz .que .answer input[type="radio"],
.path-mod-quiz .que .answer input[type="checkbox"] {
    position: relative;
    z-index: 1;
    width: 1.625rem;
    height: 1.625rem;
    margin-top: 0.1rem;
    flex-shrink: 0;
    accent-color: var(--falcon-green);
    cursor: pointer;
}

.path-mod-quiz .que .answer .answernumber {
    font-weight: 600;
    color: var(--falcon-navy);
}

.path-mod-quiz .que .im-controls {
    margin-top: 1rem;
}

.path-mod-quiz .que .im-controls .btn-link,
.path-mod-quiz .que .im-controls input.btn-link {
    font-family: var(--falcon-font-sans);
    font-size: 0.8125rem;
    color: var(--falcon-navy-soft);
}

.path-mod-quiz .submitbtns {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--falcon-course-border-subtle);
}

.path-mod-quiz .submitbtns .btn-primary,
.path-mod-quiz .submitbtns input.btn-primary {
    min-width: 8rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* Quiz navigation block inside the blocks drawer. */
.path-mod-quiz #mod_quiz_navblock.card {
    border: 0;
    box-shadow: none;
    background: transparent;
}

.path-mod-quiz #mod_quiz_navblock .card-body {
    padding: 0;
}

.path-mod-quiz #mod_quiz_navblock .card-title {
    font-family: var(--falcon-font-serif);
    font-size: 1rem;
    font-weight: 500;
    color: var(--falcon-navy);
}

.path-mod-quiz .qn_buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

/*
 * Beat Boost #mod_quiz_navblock .qnbutton (40px / line-height 20px + bottom
 * .trafficlight strip). Flex-centering the digit sat it under that opaque
 * strip — numbers looked half-clipped. Flatten to one cell; status = button bg.
 */
.path-mod-quiz #mod_quiz_navblock .qnbutton,
.path-mod-quiz .qnbutton {
    float: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    box-sizing: border-box;
    width: 2.25rem;
    height: 2.25rem;
    margin: 0;
    padding: 0;
    border: 1px solid var(--falcon-course-border);
    border-radius: var(--falcon-radius);
    background: #fff;
    background-image: none;
    font-family: var(--falcon-font-sans);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1;
    color: var(--falcon-navy);
    text-decoration: none;
    overflow: hidden;
    white-space: nowrap;
}

.path-mod-quiz #mod_quiz_navblock .qnbutton .trafficlight,
.path-mod-quiz .qnbutton .trafficlight {
    display: none;
}

.path-mod-quiz #mod_quiz_navblock .qnbutton .thispageholder,
.path-mod-quiz .qnbutton .thispageholder {
    border-radius: var(--falcon-radius);
    border-width: 0;
}

.path-mod-quiz #mod_quiz_navblock .qnbutton.thispage .thispageholder,
.path-mod-quiz .qnbutton.thispage .thispageholder {
    border-width: 0;
}

.path-mod-quiz #mod_quiz_navblock .qnbutton.thispage,
.path-mod-quiz .qnbutton.thispage {
    background: var(--falcon-navy);
    border-color: var(--falcon-navy);
    color: #fff;
}

/* thispage + notyetanswered both apply — don't wipe navy bg back to white
 * (that left white digits on a white button). */
.path-mod-quiz #mod_quiz_navblock .qnbutton.thispage.notyetanswered,
.path-mod-quiz #mod_quiz_navblock .qnbutton.thispage.notanswered,
.path-mod-quiz #mod_quiz_navblock .qnbutton.thispage.answersaved,
.path-mod-quiz #mod_quiz_navblock .qnbutton.thispage.invalidanswer,
.path-mod-quiz .qnbutton.thispage.notyetanswered,
.path-mod-quiz .qnbutton.thispage.notanswered,
.path-mod-quiz .qnbutton.thispage.answersaved,
.path-mod-quiz .qnbutton.thispage.invalidanswer {
    background: var(--falcon-navy);
    border-color: var(--falcon-navy);
    color: #fff;
}

.path-mod-quiz #mod_quiz_navblock .qnbutton.notyetanswered:not(.thispage),
.path-mod-quiz #mod_quiz_navblock .qnbutton.notanswered:not(.thispage),
.path-mod-quiz .qnbutton.notyetanswered:not(.thispage),
.path-mod-quiz .qnbutton.notanswered:not(.thispage) {
    background: #fff;
    color: var(--falcon-navy);
}

.path-mod-quiz #mod_quiz_navblock .qnbutton.correct,
.path-mod-quiz .qnbutton.correct {
    background: rgba(20, 122, 67, 0.12);
    border-color: rgba(20, 122, 67, 0.35);
    color: var(--falcon-green);
}

.path-mod-quiz #mod_quiz_navblock .qnbutton.correct.thispage,
.path-mod-quiz .qnbutton.correct.thispage {
    background: var(--falcon-navy);
    border-color: var(--falcon-navy);
    color: #fff;
}

.path-mod-quiz #mod_quiz_navblock .qnbutton.incorrect,
.path-mod-quiz #mod_quiz_navblock .qnbutton.invalidanswer,
.path-mod-quiz .qnbutton.incorrect,
.path-mod-quiz .qnbutton.invalidanswer {
    background: rgba(198, 40, 50, 0.08);
    border-color: rgba(198, 40, 50, 0.28);
    color: #a11f28;
}

.path-mod-quiz #mod_quiz_navblock .qnbutton.incorrect.thispage,
.path-mod-quiz #mod_quiz_navblock .qnbutton.invalidanswer.thispage,
.path-mod-quiz .qnbutton.incorrect.thispage,
.path-mod-quiz .qnbutton.invalidanswer.thispage {
    background: var(--falcon-navy);
    border-color: var(--falcon-navy);
    color: #fff;
}

.path-mod-quiz .othernav {
    margin-top: 1rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--falcon-course-border-subtle);
}

.path-mod-quiz .othernav a {
    font-family: var(--falcon-font-sans);
    font-size: 0.8125rem;
    color: var(--falcon-navy-soft);
}

.path-mod-quiz .othernav a:hover,
.path-mod-quiz .othernav a:focus {
    color: var(--falcon-navy);
}

/* ── Responsive ────────────────────────────────────────────────────── */
@media (max-width: 768px) {
    .path-course-view #page.drawers .main-inner,
    .pagelayout-course.format-topics #page.drawers .main-inner {
        padding: 1.5rem 1rem;
    }

    .path-course-view #page-header,
    .pagelayout-course.format-topics #page-header {
        margin-bottom: 1rem;
    }

    .path-course-view .secondary-navigation,
    .pagelayout-course.format-topics .secondary-navigation {
        margin-bottom: 1.5rem;
    }

    .path-course-view .secondary-navigation .nav-link,
    .pagelayout-course.format-topics .secondary-navigation .nav-link {
        padding: 0.625rem 0.875rem;
    }

    .path-course-view .course-content .section.main,
    .pagelayout-course.format-topics .course-content .section.main {
        margin-bottom: 2rem;
    }

    .path-course-view .course-content .section.main h3.sectionname,
    .path-course-view .course-content .section.main .sectionname,
    .pagelayout-course.format-topics .course-content .section.main h3.sectionname,
    .pagelayout-course.format-topics .course-content .section.main .sectionname {
        font-size: 1.1875rem;
    }

    .path-course-view .course-content .section.main .activity-item,
    .pagelayout-course.format-topics .course-content .section.main .activity-item {
        padding: 0.75rem 0;
    }

    .path-course-view .courseindex li.courseindex-item a,
    .pagelayout-incourse .courseindex li.courseindex-item a {
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
    }

    .pagelayout-incourse.path-mod #page.drawers .main-inner {
        /* Keep full-bleed white — no sand L/R gutter on mobile either. */
        padding: 1.5rem 0;
    }

    .pagelayout-incourse.path-mod #region-main {
        padding: 1.5rem 1rem;
    }

    .pagelayout-incourse.path-mod #page-header {
        margin-bottom: 1.5rem;
    }

    .pagelayout-incourse.path-mod .secondary-navigation {
        margin-bottom: 1.5rem;
    }

    .pagelayout-incourse.path-mod .secondary-navigation .nav-link {
        padding: 0.625rem 0.875rem;
    }

    .pagelayout-incourse.path-mod #region-main .no-overflow h2 {
        font-size: 1.375rem;
        margin-top: 2rem;
    }

    .pagelayout-incourse.path-mod #region-main .no-overflow h3 {
        font-size: 1.25rem;
    }

    .pagelayout-incourse.path-mod #region-main .no-overflow h4 {
        font-size: 1.0625rem;
    }

    .path-mod-quiz .que {
        flex-direction: column;
        gap: 0.75rem;
    }

    .path-mod-quiz .que .info {
        width: 100%;
    }

    .path-mod-quiz .submitbtns {
        flex-direction: column;
        align-items: stretch;
        gap: 0.75rem;
    }

    .path-mod-quiz .submitbtns .mod_quiz-next-nav {
        margin-left: 0;
    }
}


/* End-of-lesson nav: Course menu + Next (when sequential lock allows). */
body.fal-learner-mod #region-main .fal-activity-footer-nav,
body.pagelayout-incourse #region-main .fal-activity-footer-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
    max-width: 48rem;
    margin: 2rem auto 0.25rem;
    padding: 1.25rem 0 0;
    border-top: 1px solid var(--falcon-line, #d8d4cc);
}
body.fal-learner-mod #region-main .fal-activity-footer-nav__menu,
body.pagelayout-incourse #region-main .fal-activity-footer-nav__menu {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.75rem;
    padding: 0.65rem 1.15rem;
    border: 1px solid var(--falcon-line, #d8d4cc);
    border-radius: 0.35rem;
    background: transparent;
    color: var(--falcon-navy, #102a43);
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.8125rem;
    font-weight: 650;
    letter-spacing: 0.02em;
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}
body.fal-learner-mod #region-main .fal-activity-footer-nav__menu:hover,
body.pagelayout-incourse #region-main .fal-activity-footer-nav__menu:hover {
    border-color: var(--falcon-navy, #102a43);
    color: var(--falcon-navy, #102a43);
    background: rgba(16, 42, 67, 0.04);
    text-decoration: none;
}
body.fal-learner-mod #region-main .fal-activity-footer-nav__next,
body.pagelayout-incourse #region-main .fal-activity-footer-nav__next {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.15rem;
    flex: 0 1 auto;
    max-width: min(22rem, 100%);
    min-height: 2.75rem;
    margin-left: auto;
    padding: 0.7rem 1.15rem;
    border: 0;
    border-radius: 0.35rem;
    background: var(--falcon-green, #147a43);
    color: #fff;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    text-align: left;
    text-decoration: none;
    transition: background 0.15s ease, transform 0.15s ease;
}
body.fal-learner-mod #region-main .fal-activity-footer-nav__next:hover,
body.pagelayout-incourse #region-main .fal-activity-footer-nav__next:hover {
    background: #0f6236;
    color: #fff;
    text-decoration: none;
}
body.fal-learner-mod #region-main .fal-activity-footer-nav__next-label,
body.pagelayout-incourse #region-main .fal-activity-footer-nav__next-label {
    font-size: 0.625rem;
    font-weight: 760;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    opacity: 0.85;
}
body.fal-learner-mod #region-main .fal-activity-footer-nav__next-name,
body.pagelayout-incourse #region-main .fal-activity-footer-nav__next-name {
    font-size: 0.9375rem;
    font-weight: 650;
    letter-spacing: -0.01em;
    line-height: 1.25;
}
@media (max-width: 575.98px) {
    body.fal-learner-mod #region-main .fal-activity-footer-nav,
    body.pagelayout-incourse #region-main .fal-activity-footer-nav {
        flex-direction: column;
    }
    body.fal-learner-mod #region-main .fal-activity-footer-nav__next,
    body.pagelayout-incourse #region-main .fal-activity-footer-nav__next {
        margin-left: 0;
        width: 100%;
    }
    body.fal-learner-mod #region-main .fal-activity-footer-nav__menu,
    body.pagelayout-incourse #region-main .fal-activity-footer-nav__menu {
        width: 100%;
    }
}

/* Course certificate — certificate-first student view. */
.path-mod-coursecertificate #region-main:has(.coursecertificate-student) .activity-header .activity-description,
.path-mod-coursecertificate #region-main:has(.coursecertificate-student) .activity-header .completion-info {
    display: none;
}

.path-mod-coursecertificate #region-main:has(.coursecertificate-student) .activity-header {
    padding-bottom: 0.25rem;
}

.path-mod-coursecertificate .coursecertificate-student {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin: 0.5rem auto 1.75rem;
    max-width: 960px;
    text-align: center;
}

.path-mod-coursecertificate .coursecertificate-student__intro {
    margin: 0;
    max-width: 36rem;
}

.path-mod-coursecertificate .coursecertificate-student__eyebrow {
    margin: 0 0 0.5rem;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--falcon-grey, #5f666b);
}

.path-mod-coursecertificate .coursecertificate-student__title {
    margin: 0 0 0.5rem;
    font-family: var(--falcon-font-serif, "Iowan Old Style", "Palatino Linotype", Georgia, serif);
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    line-height: 1.2;
    color: var(--falcon-navy, #102a43);
}

.path-mod-coursecertificate .coursecertificate-student__lede {
    margin: 0;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.95rem;
    line-height: 1.55;
    color: var(--falcon-ink, #3d4650);
}

.path-mod-coursecertificate .coursecertificate-student__frame {
    width: 100%;
    border: 1px solid rgba(16, 42, 67, 0.1);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 40px rgba(16, 42, 67, 0.08);
}

.path-mod-coursecertificate .coursecertificate-student__frame:has(.coursecertificate-student__pdf) {
    background: #e8e8e8;
    aspect-ratio: 297 / 210;
}

.path-mod-coursecertificate .coursecertificate-student__image {
    display: block;
    width: 100%;
    height: auto;
}

.path-mod-coursecertificate .coursecertificate-student__pdf {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.path-mod-coursecertificate .coursecertificate-student__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.85rem 1.25rem;
}

.path-mod-coursecertificate .coursecertificate-student__btn.btn-primary {
    min-width: 10rem;
    padding: 0.65rem 1.25rem;
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.875rem;
    font-weight: 650;
    letter-spacing: 0.01em;
    border: 0;
    border-radius: 2px;
    background: var(--falcon-navy, #102a43);
    color: #fff;
}

.path-mod-coursecertificate .coursecertificate-student__btn.btn-primary:hover,
.path-mod-coursecertificate .coursecertificate-student__btn.btn-primary:focus {
    background: var(--falcon-navy-soft, #1d3b55);
    color: #fff;
}

.path-mod-coursecertificate .coursecertificate-student__verify {
    font-family: var(--falcon-font-sans, "Sora", "Helvetica Neue", Arial, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--falcon-navy-soft, #1d3b55);
    text-decoration: underline;
    text-underline-offset: 0.18em;
}

.path-mod-coursecertificate .coursecertificate-student__verify:hover,
.path-mod-coursecertificate .coursecertificate-student__verify:focus {
    color: var(--falcon-navy, #102a43);
}

@media (max-width: 767.98px) {
    .path-mod-coursecertificate .coursecertificate-student {
        gap: 1.25rem;
        align-items: stretch;
        text-align: left;
    }

    .path-mod-coursecertificate .coursecertificate-student__actions {
        justify-content: flex-start;
    }

    .path-mod-coursecertificate .coursecertificate-student__frame:has(.coursecertificate-student__pdf) {
        aspect-ratio: auto;
        height: min(52vh, 420px);
    }
}
