/*
 * local_courseui — left in-flow course sommaire (20%) + content (80%).
 * Styled to match the edumy theme: primary #16578F, secondary #E84D18,
 * gold accent #f0d078, Nunito typography. Not sticky.
 */

:root {
    --iaui-primary:   #16578F;   /* edumy color_primary */
    --iaui-primary-d: #0f3f68;   /* darker primary for headers */
    --iaui-secondary: #E84D18;   /* edumy color_secondary */
    --iaui-gold:      #f0d078;   /* edumy color_accent_4 */
    --iaui-ink:       #2a3547;   /* readable body ink */
    --iaui-muted:     #6c757d;   /* edumy color_tertiary */
    --iaui-rule:      #e3e8ef;
    --iaui-paper:     #f6f8fb;
    --iaui-shell:     #ffffff;
    --iaui-font:      'Nunito', 'Open Sans', system-ui, -apple-system, sans-serif;
}

/* ===========================================================
   1) LEFT SOMMAIRE — in-flow 20% column, content 80%
   =========================================================== */

@media (min-width: 992px) {
    .ia-cindex {
        flex: 0 0 20%;
        max-width: 20%;
        align-self: flex-start;
        order: -1;
        margin: 0 24px 24px 0;
    }
    .ia-content-col { flex: 0 0 78%; max-width: 78%; }
}

.ia-cindex {
    background: var(--iaui-shell);
    border: 1px solid var(--iaui-rule);
    border-radius: 8px;
    overflow: hidden;
    font-family: var(--iaui-font);
    box-shadow: 0 2px 10px rgba(22, 87, 143, 0.06);
}

.ia-cindex-head {
    padding: 18px 18px 14px;
    background: var(--iaui-primary);
    color: #fff;
}
.ia-cindex-eyebrow {
    font-family: var(--iaui-font);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--iaui-gold);
    margin-bottom: 5px;
}
.ia-cindex-title {
    font-family: var(--iaui-font);
    font-weight: 700;
    font-size: 18px;
    line-height: 1.25;
    color: #fff;
    margin: 0;
}
.ia-cindex-progress {
    margin-top: 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: rgba(255, 255, 255, 0.85);
    text-transform: uppercase;
}
.ia-cindex-progressbar {
    height: 4px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.22);
    margin-top: 7px;
    position: relative;
    overflow: hidden;
}
.ia-cindex-progressbar > span {
    display: block;
    height: 100%;
    border-radius: 4px;
    background: var(--iaui-gold);
    transition: width 0.3s ease;
}

.ia-cindex-section {
    padding: 14px 18px 6px;
    border-top: 1px solid var(--iaui-rule);
}
.ia-cindex-section:first-of-type { border-top: none; }
.ia-cindex-section-name {
    font-family: var(--iaui-font);
    font-size: 14px;
    font-weight: 700;
    color: var(--iaui-primary);
    margin-bottom: 8px;
    line-height: 1.3;
}
.ia-cindex-list { list-style: none; padding: 0 0 8px; margin: 0; }
.ia-cindex-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 8px 0;
    text-decoration: none !important;
    color: var(--iaui-ink);
    font-size: 13.5px;
    line-height: 1.35;
    transition: color 0.15s;
}
.ia-cindex-item:hover { color: var(--iaui-secondary); }
.ia-cindex-item.current { color: var(--iaui-primary); font-weight: 700; }
.ia-cindex-item.done { color: var(--iaui-muted); }
.ia-cindex-marker {
    flex: 0 0 15px;
    width: 15px; height: 15px;
    border: 2px solid var(--iaui-rule);
    border-radius: 50%;
    margin-top: 2px;
    display: inline-block;
    background: var(--iaui-shell);
    position: relative;
}
.ia-cindex-item.done .ia-cindex-marker {
    border-color: var(--iaui-primary);
    background: var(--iaui-primary);
}
.ia-cindex-item.done .ia-cindex-marker::after {
    content: '';
    position: absolute;
    left: 4px; top: 0;
    width: 4px; height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}
.ia-cindex-item.current .ia-cindex-marker { border-color: var(--iaui-primary); }
.ia-cindex-item.current .ia-cindex-marker::after {
    content: '';
    position: absolute;
    inset: 3px;
    background: var(--iaui-primary);
    border-radius: 50%;
}
.ia-cindex-item-type {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--iaui-muted);
    text-transform: uppercase;
    margin-right: 5px;
}
.ia-cindex-item[data-type="quiz"] .ia-cindex-marker { border-radius: 3px; }
.ia-cindex-item[data-type="customcert"] { color: var(--iaui-secondary); }
.ia-cindex-item[data-type="customcert"] .ia-cindex-marker {
    border-color: var(--iaui-secondary);
    border-radius: 3px;
}

/* ---- Toggle button (mobile only) ---- */
.ia-cindex-toggle {
    display: none;
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 210;
    background: var(--iaui-primary);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-family: var(--iaui-font);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 12px 18px;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(22, 87, 143, 0.3);
}

@media (max-width: 991.98px) {
    .ia-cindex {
        position: fixed;
        top: 0; left: 0; bottom: 0;
        width: 300px;
        max-width: 85vw;
        height: 100vh;
        overflow-y: auto;
        margin: 0;
        border-radius: 0;
        z-index: 1050;
        transform: translateX(-105%);
        transition: transform 0.25s ease;
    }
    .ia-cindex.open {
        transform: translateX(0);
        box-shadow: 4px 0 24px rgba(22, 87, 143, 0.2);
    }
    .ia-cindex-toggle { display: block; }
    .ia-content-col { flex: 0 0 100%; max-width: 100%; }
}

/* ===========================================================
   2) Activity navigation (prev / next / jump) — edumy-coherent
   =========================================================== */

.activity-navigation {
    padding: 24px 0 40px !important;
    border-top: 1px solid var(--iaui-rule) !important;
    margin-top: 32px !important;
    font-family: var(--iaui-font);
}
.activity-navigation .btn {
    border-radius: 6px !important;
    font-family: var(--iaui-font) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    padding: 10px 20px !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: all 0.15s ease !important;
}
/* Previous = outlined primary */
.activity-navigation .prevlink .btn {
    background: var(--iaui-shell) !important;
    border: 1px solid var(--iaui-primary) !important;
    color: var(--iaui-primary) !important;
}
.activity-navigation .prevlink .btn:hover {
    background: var(--iaui-primary) !important;
    color: #fff !important;
}
/* Next = solid primary */
.activity-navigation .nextlink .btn {
    background: var(--iaui-primary) !important;
    border: 1px solid var(--iaui-primary) !important;
    color: #fff !important;
}
.activity-navigation .nextlink .btn:hover {
    background: var(--iaui-primary-d) !important;
    border-color: var(--iaui-primary-d) !important;
}
.activity-navigation select.custom-select {
    border: 1px solid var(--iaui-rule) !important;
    border-radius: 6px !important;
    padding: 9px 14px !important;
    font-family: var(--iaui-font) !important;
    font-size: 13px !important;
    color: var(--iaui-ink) !important;
    background-color: var(--iaui-shell) !important;
}

/* ===========================================================
   3) Quiz — start/continue buttons
   =========================================================== */

body.path-mod-quiz .singlebutton .btn,
body.path-mod-quiz .continuebutton .btn,
body.path-mod-quiz form.quizstartbuttondiv .btn {
    background: var(--iaui-primary) !important;
    border: 1px solid var(--iaui-primary) !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-family: var(--iaui-font) !important;
    font-weight: 700 !important;
    padding: 11px 24px !important;
    text-transform: none !important;
    box-shadow: none !important;
    transition: background 0.15s ease !important;
}
body.path-mod-quiz .singlebutton .btn:hover,
body.path-mod-quiz .continuebutton .btn:hover,
body.path-mod-quiz form.quizstartbuttondiv .btn:hover {
    background: var(--iaui-primary-d) !important;
    border-color: var(--iaui-primary-d) !important;
}

/* ===========================================================
   4) Certificate module button
   =========================================================== */

body.path-mod-customcert .btn,
body.path-mod-customcert form .btn {
    background: var(--iaui-secondary) !important;
    border: 1px solid var(--iaui-secondary) !important;
    color: #fff !important;
    border-radius: 6px !important;
    font-family: var(--iaui-font) !important;
    font-weight: 700 !important;
    padding: 11px 24px !important;
}
body.path-mod-customcert .btn:hover {
    background: #c73f10 !important;
    border-color: #c73f10 !important;
}

/* ===========================================================
   5) Hide edumy hero band (photo + title + breadcrumb) and the
      page context header on course & activity pages
   =========================================================== */

body.path-course-view section.inner_page_breadcrumb,
body.path-mod section.inner_page_breadcrumb,
body.path-course-view .breadcrumb_content,
body.path-mod .breadcrumb_content,
body.path-course-view .page-context-header,
body.path-mod .page-context-header,
body.path-mod .activity-header {
    display: none !important;
}

/* ===========================================================
   6) Course home — OpenClassrooms-style, borderless
   =========================================================== */

body.path-course-view #region-main {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
body.path-course-view #region-main > .card,
body.path-course-view #region-main > .box {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}
/* Content fills its column. When the sommaire is present it sits in the
   78% column; otherwise it spans the row. Cap width only when standalone. */
body.path-course-view .course-content {
    font-family: var(--iaui-font);
}

/* Sections: no cards, just generous spacing + a hairline divider */
body.path-course-view .course-content ul.topics {
    margin: 0;
    padding: 0;
    list-style: none;
}
body.path-course-view .course-content ul.topics > li.section {
    list-style: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 0 2.75rem 0 !important;
    padding: 0 0 2rem 0 !important;
    border-bottom: 1px solid var(--iaui-rule) !important;
}
body.path-course-view .course-content ul.topics > li.section:last-child {
    border-bottom: none !important;
}

/* Section header / title */
body.path-course-view .course-content .course-section-header {
    margin-bottom: 0.5rem;
}
body.path-course-view .course-content h3.sectionname,
body.path-course-view .course-content .sectionname {
    font-family: var(--iaui-font);
    font-weight: 800;
    color: var(--iaui-primary);
    font-size: 1.55rem;
    letter-spacing: -0.01em;
    margin: 0 0 0.35rem 0;
    border: none;
}
body.path-course-view .course-content .sectionname a,
body.path-course-view .course-content .sectionname a:hover {
    color: var(--iaui-primary) !important;
    text-decoration: none;
}
body.path-course-view .course-content .course-description-item,
body.path-course-view .course-content .summarytext {
    color: var(--iaui-muted);
    line-height: 1.6;
    margin-bottom: 1rem;
    font-size: 0.98rem;
}

/* Activity rows — clean list, hover, no boxes */
body.path-course-view .course-content ul.section {
    margin: 0.5rem 0 0 0;
    padding: 0;
    list-style: none;
}
body.path-course-view .course-content li.activity {
    border: none !important;
    border-top: 1px solid var(--iaui-rule) !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    background: transparent !important;
}
body.path-course-view .course-content li.activity:first-child {
    border-top: none !important;
}
body.path-course-view .course-content li.activity .activity-item {
    padding: 12px 12px 12px 6px !important;
    border-radius: 8px;
    transition: background 0.15s ease;
    border: none !important;
}
body.path-course-view .course-content li.activity .activity-item:hover {
    background: var(--iaui-paper);
}
body.path-course-view .course-content .activityname a {
    color: var(--iaui-ink) !important;
    font-weight: 600;
    font-size: 1rem;
}
body.path-course-view .course-content .activityname a:hover {
    color: var(--iaui-primary) !important;
    text-decoration: none;
}
/* De-emphasise the module icons for the OC look */
body.path-course-view .course-content .activityiconcontainer {
    background: transparent !important;
    box-shadow: none !important;
    width: 26px !important;
    height: 26px !important;
    padding: 0 !important;
    margin-right: 8px !important;
}
body.path-course-view .course-content .activityiconcontainer img {
    width: 22px !important;
    height: 22px !important;
    opacity: 0.55;
}
/* Completion pill / afterlink muted */
body.path-course-view .course-content .activity .badge,
body.path-course-view .course-content .activity .afterlink {
    font-family: var(--iaui-font);
}


/* When the sommaire is NOT injected (e.g. a course with no visible items),
   keep the course home readable by capping its width. */
body.path-course-view:not(.has-ia-cindex) .course-content {
    max-width: 960px;
}