/**
 * Online Academy, membership and cached-media presentation.
 * Loaded only when at least one academy/media module is enabled.
 */

.jda-academy-course-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
}
.jda-academy-course-card {
    display: flex;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
    border: 1px solid #e3ddd2;
    border-radius: var(--jda-card-radius);
    background: #fff;
    box-shadow: 0 16px 42px rgba(18,16,12,.055);
}
.jda-academy-course-card__media { display: block; overflow: hidden; background: #17140f; }
.jda-academy-course-card__media img,
.jda-academy-course-card__media .jda-card-placeholder { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .35s ease; }
.jda-academy-course-card:hover .jda-academy-course-card__media img { transform: scale(1.025); }
.jda-academy-course-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.3rem; }
.jda-academy-course-card h2,
.jda-academy-course-card h3 { margin: .4rem 0 .65rem; font-size: clamp(1.35rem, 2vw, 1.75rem); }
.jda-academy-course-card h2 a,
.jda-academy-course-card h3 a { color: inherit; text-decoration: none; }
.jda-academy-course-card p { color: var(--jda-muted); }
.jda-academy-course-card .jda-button { margin-top: 1rem; }
.jda-academy-price { margin-top: auto; padding-top: 1rem; color: var(--jda-primary); font-size: 1.15rem; }

.jda-progress { width: 100%; margin: 1rem 0; }
.jda-progress__heading { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .4rem; font-size: .78rem; font-weight: 750; }
.jda-progress__track { overflow: hidden; height: 8px; border-radius: 999px; background: #eae5db; }
.jda-progress__track span { display: block; height: 100%; border-radius: inherit; background: var(--jda-primary); }
.jda-progress small { display: block; margin-top: .38rem; color: var(--jda-muted); font-size: .72rem; }
.jda-progress--compact { margin-top: auto; }
.jda-progress--dark .jda-progress__track { background: rgba(255,255,255,.16); }
.jda-progress--dark .jda-progress__heading,
.jda-progress--dark small { color: rgba(255,255,255,.75); }

.jda-course-layout,
.jda-lesson-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .65fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.jda-course-side-panel,
.jda-lesson-sidebar {
    position: sticky;
    top: calc(var(--jda-header-height, 76px) + 1.5rem);
    padding: 1.5rem;
    border: 1px solid #e2ddd2;
    border-radius: var(--jda-card-radius);
    background: #fff;
    box-shadow: 0 14px 38px rgba(18,16,12,.05);
}
.jda-course-side-panel h2 { margin-top: 0; }
.jda-course-side-panel .jda-button,
.jda-course-side-panel .jda-text-link { margin-top: 1rem; }
.jda-course-instructor { display: grid; grid-template-columns: 88px 1fr; gap: 1.2rem; align-items: center; margin-top: 2.2rem; padding-top: 2rem; border-top: 1px solid #e8e2d7; }
.jda-course-instructor img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.jda-course-instructor h2 { margin: .2rem 0 .35rem; }

.jda-prerequisite-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.jda-prerequisite-grid a { display: flex; flex-direction: column; gap: .45rem; padding: 1.2rem; border: 1px solid #e0d9ce; border-radius: var(--jda-card-radius); background: #fff; color: inherit; text-decoration: none; }
.jda-prerequisite-grid a:hover { border-color: var(--jda-primary); }
.jda-prerequisite-grid span { color: var(--jda-primary); font-size: .78rem; font-weight: 750; }

.jda-syllabus-list { max-width: 940px; margin-inline: auto; }
.jda-syllabus-section { margin: 2rem 0 .75rem; color: var(--jda-primary); font-size: .82rem; letter-spacing: .07em; text-transform: uppercase; }
.jda-syllabus-item { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; gap: 1rem; align-items: center; padding: 1rem; border-top: 1px solid #e6e0d5; background: #fff; }
.jda-syllabus-item:last-child { border-bottom: 1px solid #e6e0d5; }
.jda-syllabus-item__number { display: grid; width: 34px; height: 34px; border-radius: 50%; background: #f5f0e7; color: var(--jda-primary); font-weight: 800; place-items: center; }
.jda-syllabus-item h4 { margin: 0 0 .25rem; font-size: 1rem; }
.jda-syllabus-item h4 a { color: inherit; text-decoration: none; }
.jda-syllabus-item p { margin: 0; color: var(--jda-muted); font-size: .82rem; }
.jda-syllabus-item__status { display: grid; justify-items: end; gap: .2rem; color: var(--jda-muted); font-size: .74rem; }
.jda-syllabus-item.is-complete .jda-syllabus-item__number { background: #e7f5ec; color: #16723a; }
.jda-syllabus-item.is-complete .jda-syllabus-item__status span { color: #16723a; font-weight: 750; }

.jda-lesson-header .jda-container { max-width: var(--jda-narrow); }
.jda-lesson-header h1 { max-width: 850px; }
.jda-lesson-content > * + * { margin-top: 1.6rem; }
.jda-lesson-video { margin-bottom: 2rem; }
.jda-lesson-resource { display: grid; grid-template-columns: auto 1fr auto; gap: 1rem; align-items: center; padding: 1.2rem; border: 1px solid #dfd7ca; border-radius: var(--jda-card-radius); background: #fffaf0; }
.jda-lesson-resource > span { font-size: 1.8rem; color: var(--jda-primary); }
.jda-lesson-resource p { margin: .2rem 0 0; color: var(--jda-muted); font-size: .82rem; }
.jda-lesson-sidebar > p { color: var(--jda-muted); font-size: .78rem; text-align: center; }
.jda-video-transcript { margin-top: 1.5rem; border: 1px solid #e0d9ce; border-radius: var(--jda-card-radius); background: #fff; }
.jda-video-transcript summary { padding: 1rem 1.2rem; cursor: pointer; font-weight: 750; }
.jda-video-transcript > div { padding: 0 1.2rem 1.2rem; }
.jda-lesson-navigation { padding-top: 0; }
.jda-lesson-navigation .jda-container { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.jda-lesson-navigation a { display: flex; flex-direction: column; gap: .25rem; padding: 1.2rem; border: 1px solid #e0d9ce; border-radius: var(--jda-card-radius); color: inherit; text-decoration: none; }
.jda-lesson-navigation a.is-next { text-align: right; }
.jda-lesson-navigation span { color: var(--jda-primary); font-size: .75rem; font-weight: 750; }

.jda-locked-lesson { padding: clamp(2rem, 7vw, 4.5rem); border: 1px solid #e0d8ca; border-radius: var(--jda-card-radius); background: #fff; text-align: center; box-shadow: 0 18px 50px rgba(18,16,12,.06); }
.jda-locked-lesson__icon { display: grid; width: 68px; height: 68px; margin: 0 auto 1rem; border-radius: 50%; background: #fff5df; font-size: 1.7rem; place-items: center; }
.jda-locked-lesson .jda-button { margin: .75rem; }
.jda-locked-lesson .jda-text-link { display: block; margin-top: 1rem; }

.jda-dashboard-heading { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; margin-bottom: 2rem; }
.jda-dashboard-heading h2 { margin: .25rem 0 0; }
.jda-student-library { display: grid; gap: 1.25rem; }
.jda-library-card { display: grid; grid-template-columns: minmax(220px, .6fr) minmax(0, 1.4fr); overflow: hidden; border: 1px solid #e0d9ce; border-radius: var(--jda-card-radius); background: #fff; }
.jda-library-card > img { width: 100%; height: 100%; min-height: 250px; object-fit: cover; }
.jda-library-card > div { padding: 1.5rem; }
.jda-library-card h2 a { color: inherit; text-decoration: none; }

.jda-membership-list { display: grid; gap: 1rem; }
.jda-membership-account-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, .7fr) auto; gap: 1.5rem; align-items: center; padding: 1.4rem; border: 1px solid #e0d9ce; border-radius: var(--jda-card-radius); background: #fff; }
.jda-membership-account-card h2 { margin: .5rem 0 .35rem; }
.jda-membership-account-card dl { margin: 0; }
.jda-membership-account-card dl div + div { margin-top: .7rem; }
.jda-membership-account-card dt { color: var(--jda-muted); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.jda-membership-account-card dd { margin: .15rem 0 0; font-weight: 700; }
.jda-status-badge { display: inline-flex; padding: .28rem .55rem; border-radius: 999px; background: #ece8df; color: #4e493f; font-size: .67rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.jda-status-active,
.jda-status-trial { background: #e5f5e9; color: #136737; }
.jda-status-past_due { background: #fff0cf; color: #805300; }
.jda-status-expired,
.jda-status-revoked { background: #f5e4e4; color: #8a2929; }

.jda-membership-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.jda-membership-plan-card { display: flex; flex-direction: column; align-items: flex-start; padding: 1.5rem; border: 1px solid #dfd7ca; border-radius: var(--jda-card-radius); background: #12110f; color: #fff; }
.jda-membership-plan-card h3 { margin: .45rem 0 .6rem; color: #fff; }
.jda-membership-plan-card > p { color: rgba(255,255,255,.68); }
.jda-membership-price { margin-top: .8rem; color: var(--jda-primary); font-size: 1.5rem; }
.jda-membership-price small { font-size: .75rem; color: rgba(255,255,255,.65); }
.jda-membership-plan-card ul,
.jda-benefit-list { padding-left: 1.1rem; }
.jda-membership-plan-card li + li,
.jda-benefit-list li + li { margin-top: .55rem; }
.jda-membership-plan-card .jda-button { margin-top: auto; }
.jda-trial-note { color: #fff; font-weight: 750; }

@media (max-width: 960px) {
    .jda-academy-course-grid,
    .jda-membership-plan-grid,
    .jda-prerequisite-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jda-course-layout,
    .jda-lesson-layout { grid-template-columns: 1fr; }
    .jda-course-side-panel,
    .jda-lesson-sidebar { position: static; }
    .jda-membership-account-card { grid-template-columns: 1fr 1fr; }
    .jda-membership-account-card form { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
    .jda-academy-course-grid,
    .jda-membership-plan-grid,
    .jda-prerequisite-grid { grid-template-columns: 1fr; }
    .jda-button-row > * { width: 100%; justify-content: center; }
    .jda-syllabus-item { grid-template-columns: 36px 1fr; }
    .jda-syllabus-item__status { grid-column: 2; justify-items: start; grid-auto-flow: column; justify-content: start; gap: .7rem; }
    .jda-lesson-resource { grid-template-columns: auto 1fr; }
    .jda-lesson-resource .jda-button { grid-column: 1 / -1; width: 100%; justify-content: center; }
    .jda-lesson-navigation .jda-container { grid-template-columns: 1fr; }
    .jda-lesson-navigation a.is-next { text-align: left; }
    .jda-dashboard-heading { align-items: flex-start; flex-direction: column; }
    .jda-library-card { grid-template-columns: 1fr; }
    .jda-library-card > img { min-height: 210px; }
    .jda-membership-account-card { grid-template-columns: 1fr; }
}
