.academy-live {
   width: min(1260px, calc(100% - 48px));
   max-width: none;
   margin: 0 auto;
   padding: 28px 0 70px;
   color: #293f31;
   font-family: 'DM Sans', Arial, sans-serif;
   min-height: 65vh
}

/* Keep every dashboard section on the same vertical edges as the Academy
   header/footer shell. */
.academy-live .academy-breadcrumb,
.academy-live .academy-account-layout,
.academy-live .academy-dashboard-page {
   width: 100%;
   max-width: none;
}

/* Premium learner account experience */
.academy-account-layout {
   grid-template-columns: 250px minmax(0, 1fr);
   gap: 32px;
   align-items: start;
}

.academy-main-section {
   min-width: 0;
}

.academy-account-nav {
   position: sticky;
   top: 24px;
   gap: 6px;
   border: 1px solid #e2eadf;
   border-radius: 22px;
   background: linear-gradient(180deg, #fff, #fbfdf9);
   box-shadow: 0 14px 35px rgba(39, 72, 42, .07);
   padding: 22px 14px 16px;
}

.academy-account-nav h2 {
   margin: 0 10px 16px;
   color: #284b2e;
   font: 700 25px/1.1 Georgia, serif;
}

.academy-account-nav a {
   display: flex;
   min-height: 46px;
   align-items: center;
   gap: 12px;
   border-radius: 12px;
   color: #667766;
   padding: 0 13px;
   font-size: 14px;
   font-weight: 600;
   transition: background .2s, color .2s, transform .2s;
}

.academy-account-nav a i { width: 20px; color: #6e9061; font-size: 18px; text-align: center; }
.academy-account-nav a:hover { background: #f0f6ec; color: #2f5b35; transform: translateX(2px); }
.academy-account-nav a[aria-current] { background: #e7f1de; color: #315e37; }

.academy-my-courses-layout {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 300px;
   gap: 26px;
   align-items: start;
}

.academy-my-courses-main,
.academy-my-courses-aside { min-width: 0; }
.academy-my-courses-header { margin: 4px 0 26px; }
.academy-my-courses-header h1 { margin: 0 0 8px; font-size: clamp(34px, 4vw, 54px); }
.academy-my-courses-header p { margin: 0; color: #6f7d70; font-size: 15px; }

.academy-summary-grid {
   display: grid;
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 10px;
   margin-bottom: 24px;
}

.academy-summary-card {
   position: relative;
   min-height: 126px;
   border: 1px solid #e1eadf;
   border-radius: 16px;
   background: #fff;
   box-shadow: 0 8px 22px rgba(39, 72, 42, .05);
   padding: 16px;
   cursor: pointer;
   transition: transform .2s, box-shadow .2s, border-color .2s;
}
.academy-summary-card:hover { border-color: #b8cfad; box-shadow: 0 13px 28px rgba(39, 72, 42, .1); transform: translateY(-2px); }
.academy-summary-card-icon { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 10px; background: #edf5e8; color: #4f7745; font-size: 17px; }
.academy-summary-card-info { display: grid; gap: 3px; margin-top: 13px; }
.academy-summary-card-info strong { color: #2c5032; font-size: 22px; line-height: 1; }
.academy-summary-card-info span { color: #758276; font-size: 11px; line-height: 1.3; }
.academy-summary-card-link { display: block; margin-top: 11px; color: #4f7745 !important; font-size: 11px; font-weight: 700; }
.academy-controls-right { display: flex; align-items: center; gap: 12px; }
.academy-my-courses-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 20px; border-bottom: 1px solid #e6ece3; padding-bottom: 12px; }
.academy-status-tabs { display: flex; flex-wrap: wrap; gap: 5px; }
.academy-tab-btn { border: 1px solid transparent !important; border-radius: 9px !important; background: transparent !important; color: #718070 !important; padding: 9px 11px !important; font-size: 11px !important; }
.academy-tab-btn:hover { background: #f2f7ef !important; }
.academy-tab-btn.is-active { border-color: #c7ddbd !important; background: #e9f3e3 !important; color: #315e37 !important; }
.academy-view-toggle { display: flex; gap: 3px; border: 1px solid #e1e9de; border-radius: 9px; padding: 3px; }
.academy-view-toggle button { border: 0; border-radius: 6px; background: transparent; color: #819080; padding: 7px 8px; font-size: 12px; }
.academy-view-toggle button.is-active { background: #edf5e9; color: #3f693c; }
.academy-sort-label { display: flex; align-items: center; gap: 7px; margin: 0; color: #7b877b; font-size: 11px; font-weight: 600; }
.academy-sort-label select { width: auto; min-width: 145px; margin: 0; padding: 9px 11px; font-size: 11px; }

.academy-card-media { position: relative; height: 170px; overflow: hidden; background: #edf3e7; }
.academy-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.academy-card:hover .academy-card-media img { transform: scale(1.04); }
.academy-card-status-pill { position: absolute; top: 12px; left: 12px; border-radius: 999px; background: #fff; color: #45643d; padding: 5px 9px; font-size: 10px; font-weight: 800; }
.academy-card-status-pill.status-completed { color: #187349; }
.academy-card-status-pill.status-in-progress { color: #98612f; }
.academy-card-status-pill.status-archived { color: #7a7f79; }
.academy-card-circle-progress { position: absolute; right: 12px; bottom: -19px; display: grid; width: 49px; height: 49px; place-items: center; border: 3px solid #fff; border-radius: 50%; background: conic-gradient(#4f7745 var(--progress-deg), #e9efe7 0); box-shadow: 0 3px 10px #203b2440; }
.academy-card-circle-progress::after { content: ''; position: absolute; width: 35px; height: 35px; border-radius: 50%; background: #fff; }
.academy-card-circle-progress span { position: relative; z-index: 1; color: #315e37; font-size: 10px; font-weight: 800; }
.academy-card-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; color: #7a8779; font-size: 11px; }
.academy-card-progress-strip { margin-top: 2px; }
.academy-card-progress-strip progress { height: 6px; }
.academy-card-action-btn { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; border-radius: 9px; background: #486f40; color: #fff !important; padding: 0 13px; font-size: 12px; font-weight: 700; }
.academy-card-action-btn:hover { background: #315c36; }

.academy-widget-card { border: 1px solid #e1eadf; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(39, 72, 42, .06); padding: 21px; }
.academy-widget-card + .academy-widget-card { margin-top: 16px; }
.academy-widget-card h3 { margin: 0 0 18px; font: 700 18px/1.2 Georgia, serif; }
.academy-donut-wrapper { width: 190px; margin: 0 auto 18px; }
.academy-donut-svg { display: block; width: 100%; overflow: visible; }
.academy-donut-svg text { text-anchor: middle; fill: #315e37; }
.academy-donut-svg .donut-number { font: 700 8px Arial, sans-serif; }
.academy-donut-svg .donut-label { font: 600 2.8px Arial, sans-serif; fill: #7a8779; }
.academy-donut-legend { display: grid; gap: 11px; border-top: 1px solid #edf1eb; padding-top: 15px; }
.legend-item { display: flex; align-items: center; gap: 9px; }
.legend-item .dot { width: 9px; height: 9px; border-radius: 50%; }
.dot-completed { background: #304a32; }.dot-inprogress { background: #809671; }.dot-notstarted { background: #d8e0d5; }
.legend-item strong, .legend-item small { display: block; }.legend-item strong { color: #3d5e3e; font-size: 12px; }.legend-item small { margin-top: 2px; color: #8a9589; font-size: 10px; }
.academy-widget-action-btn { display: inline-flex; margin-top: 18px; color: #4f7745 !important; font-size: 12px; font-weight: 700; }
.academy-milestone-body { display: grid; gap: 12px; }
.academy-milestone-body p { margin: 0; color: #69786a; font-size: 12px; line-height: 1.55; }
.academy-milestone-trophy { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; background: #fbf0d9; color: #b77c26; font-size: 19px; }
.academy-milestone-progress { display: grid; gap: 6px; }.academy-milestone-progress span { color: #7a8779; font-size: 10px; }
.academy-motivation-body { display: grid; gap: 14px; }.academy-achievement-item { display: flex; align-items: center; gap: 10px; }.achievement-icon { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 10px; background: #eef5e9; color: #4f7745; }.achievement-text strong { display: block; color: #3f5f42; font-size: 12px; }.achievement-text p { margin: 2px 0 0; color: #879287; font-size: 10px; }
.academy-catalog-promo-banner { display: flex; align-items: center; gap: 16px; margin-top: 22px; border: 1px solid #dbe8d5; border-radius: 16px; background: linear-gradient(100deg, #eef6e9, #fbf7ef); padding: 18px; }
.promo-banner-icon { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 12px; background: #4f7745; color: #fff; font-size: 18px; }.promo-banner-text { flex: 1; }.promo-banner-text h3 { margin: 0 0 3px; color: #315e37; font: 700 16px Georgia, serif; }.promo-banner-text p { margin: 0; color: #748174; font-size: 11px; }.promo-banner-btn { white-space: nowrap; color: #4f7745 !important; font-size: 12px; font-weight: 700; }

/* Dashboard */
.academy-dashboard-page { display: grid; gap: 22px; }
.academy-dashboard-hero { display: flex; min-height: 260px; align-items: center; justify-content: space-between; gap: 28px; overflow: hidden; border-radius: 24px; background: linear-gradient(120deg, #254a2c 0%, #3d6840 64%, #789263 100%); color: #fff; padding: 34px 42px; box-shadow: 0 16px 36px rgba(39, 72, 42, .18); }
.academy-dashboard-hero-copy { max-width: 600px; }.academy-dashboard-hero .academy-eyebrow { color: #d9e9cb; }.academy-dashboard-hero h1 { margin: 10px 0 10px; color: #fff; font-size: clamp(35px, 4vw, 55px); }.academy-dashboard-hero p { max-width: 520px; margin: 0 0 24px; color: #e7f0e2; font-size: 15px; }.academy-dashboard-primary { display: inline-flex; min-height: 43px; align-items: center; gap: 8px; border-radius: 10px; background: #fff; color: #315e37 !important; padding: 0 16px; font-size: 12px; font-weight: 800; }.academy-dashboard-primary:hover { background: #f1f7ec; }
.academy-dashboard-hero-art { position: relative; display: grid; width: 185px; height: 185px; flex: 0 0 185px; place-items: center; border: 1px solid #d9e9cb80; border-radius: 50%; background: #ffffff18; }.academy-dashboard-hero-art i { color: #e4f0d6; font-size: 52px; }.academy-dashboard-hero-art b { position: absolute; bottom: 34px; color: #fff; font-size: 18px; }.academy-dashboard-hero-art small { position: absolute; bottom: 17px; color: #d9e9cb; font-size: 9px; }.academy-hero-orbit { position: absolute; border: 1px solid #d9e9cb70; border-radius: 50%; }.orbit-one { width: 226px; height: 92px; transform: rotate(32deg); }.orbit-two { width: 92px; height: 226px; transform: rotate(32deg); }
.academy-dashboard-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }.academy-dashboard-kpis article { display: flex; align-items: center; gap: 12px; border: 1px solid #e1eadf; border-radius: 15px; background: #fff; padding: 16px; box-shadow: 0 7px 20px rgba(39,72,42,.05); }.kpi-icon { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 11px; background: #edf5e8; color: #4f7745; }.academy-dashboard-kpis strong, .academy-dashboard-kpis small { display: block; }.academy-dashboard-kpis strong { color: #2e5434; font-size: 21px; }.academy-dashboard-kpis small { margin-top: 3px; color: #7d897d; font-size: 10px; }.kpi-arrow { margin-left: auto; align-self: flex-start; color: #9caf98; font-size: 12px; }
.academy-dashboard-content { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 22px; align-items: start; }.academy-dashboard-courses, .academy-dashboard-progress-card, .academy-dashboard-next-card { border: 1px solid #e1eadf; border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(39,72,42,.06); }.academy-dashboard-courses { padding: 24px; }.academy-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 19px; }.academy-section-heading h2 { margin: 5px 0 4px; font-size: 25px; }.academy-section-heading p { margin: 0; color: #7b887c; font-size: 12px; }.academy-section-heading>a { color: #4f7745 !important; font-size: 12px; font-weight: 700; white-space: nowrap; }.academy-dashboard-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }.academy-dashboard-course-grid .academy-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.academy-dashboard-side { display: grid; gap: 16px; }.academy-dashboard-progress-card, .academy-dashboard-next-card { padding: 20px; }.academy-side-card-heading { display: flex; align-items: start; justify-content: space-between; }.academy-side-card-heading>i { color: #719265; font-size: 18px; }.academy-progress-ring { display: grid; width: 150px; height: 150px; place-items: center; margin: 18px auto; border-radius: 50%; background: conic-gradient(#4f7745 calc(var(--dashboard-progress, 0) * 1%), #e8efe5 0); position: relative; }.academy-progress-ring::after { content: ''; position: absolute; width: 116px; height: 116px; border-radius: 50%; background: #fff; }.academy-progress-ring strong, .academy-progress-ring span { position: relative; z-index: 1; }.academy-progress-ring strong { color: #315e37; font-size: 29px; }.academy-progress-ring sup { font-size: 13px; }.academy-progress-ring span { margin-top: 39px; color: #829080; font-size: 10px; }.academy-dashboard-progress-card>p { margin: 0; color: #7a8779; font-size: 11px; text-align: center; }.academy-dashboard-progress-card>a, .academy-dashboard-next-card>a { display: inline-flex; gap: 7px; margin-top: 16px; color: #4f7745 !important; font-size: 11px; font-weight: 700; }.academy-dashboard-next-card { background: linear-gradient(150deg, #fffaf0, #f5f8ef); }.academy-dashboard-next-card h3 { margin: 10px 0 7px; font: 700 19px/1.2 Georgia, serif; }.academy-dashboard-next-card p { margin: 0; color: #768175; font-size: 12px; line-height: 1.55; }

/* Dashboard polish: keep the progress label inside the ring and keep the
   content column rhythm balanced at desktop widths. */
.academy-live .academy-dashboard-content {
   grid-template-columns: minmax(0, 1fr) 292px;
   gap: 24px;
}

.academy-live .academy-dashboard-courses {
   padding: 22px;
}

.academy-live .academy-progress-ring strong {
   position: absolute;
   top: 47%;
   left: 50%;
   z-index: 1;
   margin: 0;
   transform: translate(-50%, -50%);
}

.academy-live .academy-progress-ring span {
   position: absolute;
   top: 61%;
   left: 50%;
   z-index: 1;
   margin: 0;
   transform: translateX(-50%);
   white-space: nowrap;
}

@media(max-width:1100px) {
   .academy-my-courses-layout { grid-template-columns: 1fr; }
   .academy-my-courses-aside { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }.academy-widget-card + .academy-widget-card { margin-top: 0; }
   .academy-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media(max-width:760px) {
   .academy-account-layout { grid-template-columns: 1fr; gap: 18px; }
   .academy-account-nav { position: static; display: flex; overflow-x: auto; align-items: center; padding: 9px; }.academy-account-nav h2 { display: none; }.academy-account-nav a { flex: 0 0 auto; min-height: 40px; font-size: 12px; }.academy-account-nav a i { font-size: 15px; }
   .academy-dashboard-hero { min-height: 0; align-items: flex-start; padding: 26px 22px; }.academy-dashboard-hero-art { display: none; }.academy-dashboard-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }.academy-dashboard-content { grid-template-columns: 1fr; }.academy-dashboard-courses { padding: 18px; }.academy-dashboard-course-grid { grid-template-columns: 1fr; }.academy-section-heading { align-items: flex-start; flex-direction: column; }
   .academy-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.academy-my-courses-bar { align-items: flex-start; flex-direction: column; }.academy-controls-right { width: 100%; justify-content: space-between; }.academy-my-courses-aside { display: block; }.academy-widget-card + .academy-widget-card { margin-top: 14px; }.academy-catalog-promo-banner { align-items: flex-start; flex-wrap: wrap; }.promo-banner-btn { margin-left: 58px; }
}

body[data-academy-page="notes"] .academy-main-section>h1,
body[data-academy-page="discussions"] .academy-main-section>h1 { margin-bottom: 12px; }
body[data-academy-page="notes"] .academy-notes-heading,
body[data-academy-page="discussions"] .academy-discussions-heading { padding: 18px 0 22px; border-bottom: 1px solid #edf1ea; }
.academy-live .academy-notes-toolbar>label input,
.academy-live .academy-discussions-toolbar>label input { border: 0 !important; background: transparent !important; box-shadow: none !important; outline: 0 !important; }
.academy-live .academy-discussions-toolbar>label:focus-within,
.academy-live .academy-notes-toolbar>label:focus-within { border-color: #9dbb8e; box-shadow: 0 0 0 4px #e7f1df; }
.academy-live .academy-thread { transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.academy-live .academy-thread:hover { border-color: #c4d8ba; box-shadow: 0 16px 30px #28381612; transform: translateY(-2px); }

/* Premium account workspaces: notes and community discussions */
.academy-live .academy-notes-page,.academy-live .academy-discussions-page{min-width:0}
.academy-live .academy-notes-heading,.academy-live .academy-discussions-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:0 0 26px}
.academy-live .academy-notes-eyebrow,.academy-live .academy-discussions-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#ae6a43;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.academy-live .academy-notes-heading h2,.academy-live .academy-discussions-heading h2{margin:8px 0 7px;color:#304a32;font-size:34px;line-height:1.08}
.academy-live .academy-notes-heading p,.academy-live .academy-discussions-heading p{margin:0;color:#728072;font-size:15px;line-height:1.55}
.academy-live .academy-notes-heading-meta,.academy-live .academy-discussions-summary{display:flex;flex-direction:column;align-items:flex-end;gap:8px;white-space:nowrap}
.academy-live .academy-notes-heading-meta>span{color:#758574;font-size:12px}.academy-live .academy-notes-heading-meta>span i{color:#668659}
.academy-live .academy-notes-count{padding:8px 13px;border-radius:999px;background:#4e7040;color:#fff;font-size:13px}
.academy-live .academy-discussions-summary{min-width:88px;padding:10px 14px;border-radius:14px;background:#f0f5e9;color:#42683d;text-align:center}.academy-live .academy-discussions-summary strong{font-size:22px;line-height:1}.academy-live .academy-discussions-summary span{margin-top:4px;font-size:11px}
.academy-live .academy-notes-toolbar,.academy-live .academy-discussions-toolbar{display:flex;align-items:center;gap:12px;margin:0 0 20px}
.academy-live .academy-notes-toolbar>button,.academy-live .academy-discussions-toolbar>button,.academy-live .academy-notes-empty button,.academy-live .academy-discussions-empty button{min-height:44px;padding:11px 17px;border:0;border-radius:10px;background:#4e7040;color:#fff;font-size:13px;font-weight:700;box-shadow:0 8px 16px #4e70401c}
.academy-live .academy-notes-toolbar>label,.academy-live .academy-discussions-toolbar>label{display:flex;align-items:center;flex:1;min-height:44px;gap:9px;padding:0 14px;border:1px solid #d6e1ce;border-radius:10px;background:#fff;color:#7a8a79}
.academy-live .academy-notes-toolbar input,.academy-live .academy-discussions-toolbar input{width:100%;min-width:0;padding:0;border:0;outline:0;color:#304a32;font-size:13px}
.academy-live .academy-notes-list,.academy-live .academy-discussions-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.academy-live .academy-note,.academy-live .academy-thread{min-width:0;margin:0;padding:20px;border:1px solid #dfe8d9;border-radius:16px;background:linear-gradient(145deg,#fff,#fbfdf9);box-shadow:0 10px 24px #2838160a}
.academy-live .academy-note{display:flex;flex-direction:column;min-height:205px}.academy-live .academy-note-top{display:flex;align-items:center;gap:12px}.academy-live .academy-note-icon,.academy-live .academy-thread-icon{display:grid;flex:0 0 auto;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf3e7;color:#557b4d}.academy-live .academy-note-top h3{margin:0 0 4px;color:#304a32;font-size:17px}.academy-live .academy-note-top small{display:block;color:#829080;font-size:11px}.academy-live .academy-note>p{flex:1;margin:18px 0;color:#536553;font-size:13px;line-height:1.6}
.academy-live .academy-note-actions,.academy-live .academy-thread-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:14px;border-top:1px solid #edf1ea}.academy-live .academy-note-actions a{margin-right:auto;color:#4e7040;font-size:12px;font-weight:700}.academy-live .academy-note-actions button,.academy-live .academy-thread-actions button{min-height:32px;padding:7px 10px;border-radius:8px;font-size:11px}
.academy-live .academy-thread{grid-column:span 2}.academy-live .academy-thread-main{display:flex;gap:13px}.academy-live .academy-thread-copy{min-width:0;flex:1}.academy-live .academy-thread-meta{display:flex;align-items:center;gap:8px;color:#8a9687;font-size:11px}.academy-live .academy-thread-meta b{padding:3px 8px;border-radius:999px;background:#edf5e9;color:#4d7a4b;font-size:10px}.academy-live .academy-thread-meta b.is-closed{background:#f1f1ed;color:#7f877e}.academy-live .academy-thread h3{margin:8px 0 7px;color:#304a32;font-size:18px}.academy-live .academy-thread p{margin:0 0 12px;color:#536553;font-size:13px;line-height:1.55}.academy-live .academy-thread small{color:#829080;font-size:11px}.academy-live .academy-thread-actions{margin-top:17px}.academy-live .academy-replies{margin-top:14px}.academy-live .academy-replies:empty{display:none}.academy-live .academy-replies article{margin-top:8px;padding:12px 14px;border-left:3px solid #d8e6cf;border-radius:8px;background:#f7faf4;color:#536553;font-size:12px}.academy-live .academy-replies article p{margin:5px 0 0;font-size:12px}
.academy-live .academy-notes-empty,.academy-live .academy-discussions-empty{display:grid;grid-column:1/-1;justify-items:center;gap:9px;padding:54px 22px;border:1px dashed #cbdac4;border-radius:16px;background:#fbfdf9;text-align:center}.academy-live .academy-notes-empty i,.academy-live .academy-discussions-empty i{color:#6a8b5a;font-size:32px}.academy-live .academy-notes-empty strong,.academy-live .academy-discussions-empty strong{color:#304a32;font-size:17px}.academy-live .academy-notes-empty span,.academy-live .academy-discussions-empty span{max-width:340px;color:#748172;font-size:13px}.academy-live .academy-notes-empty button,.academy-live .academy-discussions-empty button{margin-top:5px}
@media(max-width:760px){.academy-live .academy-notes-heading,.academy-live .academy-discussions-heading{align-items:flex-start;flex-direction:column;gap:14px}.academy-live .academy-notes-heading h2,.academy-live .academy-discussions-heading h2{font-size:28px}.academy-live .academy-notes-heading-meta,.academy-live .academy-discussions-summary{align-items:flex-start}.academy-live .academy-notes-toolbar,.academy-live .academy-discussions-toolbar{align-items:stretch;flex-direction:column}.academy-live .academy-notes-list{grid-template-columns:1fr}.academy-live .academy-thread{grid-column:span 1}}

/* Final account-page overrides: keep the premium composition ahead of legacy rules. */
.academy-live .academy-account-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 32px; align-items: start; }
.academy-live .academy-main-section { min-width: 0; }
.academy-live .academy-account-nav { position: sticky; top: 24px; gap: 6px; border: 1px solid #e2eadf; border-radius: 22px; background: linear-gradient(180deg, #fff, #fbfdf9); box-shadow: 0 14px 35px rgba(39,72,42,.07); padding: 22px 14px 16px; }
.academy-live .academy-account-nav h2 { margin: 0 10px 16px; font: 700 25px/1.1 Georgia,serif; }
.academy-live .academy-account-nav a { display: flex; min-height: 46px; align-items: center; gap: 12px; border-radius: 12px; padding: 0 13px; font-size: 14px; font-weight: 600; }
.academy-live .academy-account-nav a[aria-current] { background: #e7f1de; color: #315e37; }
.academy-live .academy-dashboard-hero h1 { color: #fff; }
.academy-live .academy-dashboard-hero p { color: #e7f0e2; }
.academy-live .academy-dashboard-hero .academy-eyebrow { color: #d9e9cb; }
.academy-live .academy-dashboard-course-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }

@media(max-width:760px) {
   .academy-live .academy-account-layout { grid-template-columns: 1fr; gap: 18px; }
   .academy-live .academy-account-nav { position: static; display: flex; overflow-x: auto; align-items: center; padding: 9px; }
   .academy-live .academy-account-nav h2 { display: none; }
   .academy-live .academy-account-nav a { flex: 0 0 auto; min-height: 40px; font-size: 12px; }
   .academy-live .academy-dashboard-course-grid { grid-template-columns: 1fr; }
}
body[data-academy-page="profile"] .academy-live,
.academy-live:has(.mode-profile) {
   max-width: 1600px;
   padding: 20px 32px 60px;
}

.academy-live * {
   box-sizing: border-box
}

.academy-live h1,
.academy-live h2,
.academy-live h3 {
   color: #304a32
}

.academy-live h1 {
   font: 600 clamp(32px, 4vw, 52px)/1.1 Georgia, serif;
   margin: 14px 0 20px
}

.academy-live h2 {
   font: 600 26px/1.2 Georgia, serif
}

.academy-live p {
   line-height: 1.65
}

.academy-live a {
   color: #476c40
}

.academy-breadcrumb,
.academy-toolbar,
.academy-actions,
.academy-pagination {
   display: flex;
   align-items: center;
   gap: 14px;
   flex-wrap: wrap
}

.academy-breadcrumb {
   font-size: 13px;
   margin-bottom: 24px
}

.academy-hero-live {
   display: grid;
   grid-template-columns: 1.3fr 1fr;
   align-items: center;
   gap: 30px;
   padding: 38px;
   border-radius: 24px;
   background: #edf3e7;
   margin-bottom: 30px
}

.academy-eyebrow {
   font-size: 12px;
   text-transform: uppercase;
   letter-spacing: .13em;
   color: #805b3f
}

.academy-stats {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px
}

.academy-stat {
   background: #fff;
   border: 1px solid #e1e8dc;
   border-radius: 14px;
   padding: 18px;
   display: grid;
   gap: 5px
}

.academy-stat strong {
   font-size: 24px
}

.academy-stat span {
   font-size: 12px;
   color: #657461
}

.academy-catalog-layout {
   display: grid;
   grid-template-columns: 240px minmax(0, 1fr);
   gap: 26px
}

.academy-panel {
   background: #fff;
   border: 1px solid #e1e7dc;
   border-radius: 18px;
   padding: 22px;
   align-self: start
}

.academy-panel h2 {
   margin: 0 0 20px
}

.academy-live label {
   display: block;
   font-size: 13px;
   font-weight: 600;
   margin-bottom: 14px
}

.academy-live input:not([type=checkbox]),
.academy-live select,
.academy-live textarea {
   width: 100%;
   padding: 12px;
   border: 1px solid #ced9c6;
   border-radius: 9px;
   font: inherit;
   color: #263e2b;
   background: #fff;
   margin-top: 6px
}

.academy-live input[aria-invalid="true"],
.academy-live select[aria-invalid="true"],
.academy-live textarea[aria-invalid="true"] {
   border-color: #c94f3d;
   background: #fffaf8;
   box-shadow: 0 0 0 3px rgba(201, 79, 61, .1);
}

.academy-live input[aria-invalid="true"]:focus,
.academy-live select[aria-invalid="true"]:focus,
.academy-live textarea[aria-invalid="true"]:focus {
   outline: 2px solid rgba(201, 79, 61, .3);
   outline-offset: 1px;
}

.academy-field-error {
   display: block;
   margin: 6px 0 0;
   color: #b33f2f;
   font-size: 12px;
   font-weight: 600;
   line-height: 1.35;
}

.academy-live textarea {
   min-height: 110px;
   resize: vertical
}

.academy-page-loader {
   display: grid;
   min-height: 430px;
   place-items: center;
   padding: 34px 18px;
}

.academy-loader-card {
   display: grid;
   min-width: min(100%, 360px);
   justify-items: center;
   gap: 10px;
   border: 1px solid #e1eadc;
   border-radius: 18px;
   background: linear-gradient(145deg, #fff, #fbfdf9);
   box-shadow: 0 14px 35px rgba(39, 72, 42, .08);
   padding: 34px 30px 28px;
   text-align: center;
}

.academy-loader-spinner {
   display: block;
   width: 46px;
   height: 46px;
   margin-bottom: 4px;
   border: 4px solid #e4eedf;
   border-top-color: #4e7040;
   border-right-color: #af754d;
   border-radius: 50%;
   animation: academy-loader-spin .85s linear infinite;
}

.academy-loader-card strong {
   color: #294b30;
   font-size: 16px;
   font-weight: 700;
}

.academy-loader-subtitle {
   color: #738070;
   font-size: 12px;
}

.academy-loader-lines {
   display: grid;
   width: min(100%, 230px);
   gap: 8px;
   margin-top: 10px;
}

.academy-loader-lines i {
   display: block;
   height: 8px;
   border-radius: 99px;
   background: linear-gradient(90deg, #edf3e9 25%, #dce9d7 50%, #edf3e9 75%);
   background-size: 220% 100%;
   animation: academy-loader-shimmer 1.35s ease-in-out infinite;
}

.academy-loader-lines i:nth-child(2) { width: 82%; }
.academy-loader-lines i:nth-child(3) { width: 64%; }

@keyframes academy-loader-spin { to { transform: rotate(360deg); } }
@keyframes academy-loader-shimmer { to { background-position: -220% 0; } }

@media (prefers-reduced-motion: reduce) {
   .academy-loader-spinner,
   .academy-loader-lines i { animation: none; }
}

.academy-live button,
.academy-button {
   cursor: pointer;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   padding: 12px 18px;
   border-radius: 9px;
   border: 1px solid #4e7040;
   background: #4e7040;
   color: #fff !important;
   text-decoration: none;
   font: 600 13px/1.3 Arial, sans-serif
}

.academy-live .academy-secondary {
   background: #fff;
   color: #4e7040 !important;
   border-color: #d1ddca
}

.academy-live button:disabled {
   opacity: .5;
   cursor: default
}

.academy-live button:focus-visible,
.academy-live a:focus-visible {
   outline: 3px solid #b98459;
   outline-offset: 3px
}

.academy-live fieldset {
   border: 0;
   border-top: 1px solid #e2e8de;
   padding: 18px 0;
   margin: 0
}

.academy-live legend {
   font-weight: 700;
   padding-top: 16px
}

.academy-live fieldset label {
   display: flex;
   gap: 8px;
   align-items: center;
   font-weight: 400
}

.academy-live fieldset em {
   margin-left: auto;
   font-size: 11px
}

.academy-toolbar {
   justify-content: space-between;
   margin-bottom: 18px;
   font-size: 13px
}

.academy-toolbar label {
   margin: 0
}

.academy-toolbar select {
   width: auto
}

.academy-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 20px
}

.academy-grid.is-list {
   grid-template-columns: 1fr
}

.academy-card {
   border: 1px solid #e0e7d9;
   border-radius: 18px;
   overflow: hidden;
   background: #fff;
   display: flex;
   flex-direction: column
}

.academy-card>img {
   width: 100%;
   height: 165px;
   object-fit: cover;
   background: #edf3e7
}

.academy-card-body {
   padding: 20px;
   display: flex;
   flex-direction: column;
   flex: 1;
   gap: 10px
}

.academy-card h2,
.academy-card h3 {
   font: 600 23px/1.15 Georgia, serif;
   margin: 0
}

.academy-card p {
   font-size: 13px;
   margin: 0;
   color: #687460
}

.academy-card .academy-button {
   margin-top: auto
}

.academy-meta {
   font-size: 12px;
   color: #73816c
}

.academy-price {
   font-size: 22px;
   font-weight: 700
}

.academy-price del {
   font-size: 13px;
   font-weight: 400;
   margin-left: 8px;
   color: #8b9485
}

.academy-pagination {
   justify-content: center;
   margin-top: 24px
}

.academy-pagination [aria-current=page] {
   background: #edf3e7;
   color: #375b31 !important
}

.academy-empty {
   padding: 35px;
   background: #f4f7f0;
   border-radius: 15px;
   grid-column: 1/-1
}

.academy-detail-layout {
   display: grid;
   grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
   gap: 28px
}

.academy-detail-cover {
   width: 100%;
   max-height: 350px;
   object-fit: cover;
   border-radius: 18px
}

.academy-detail-layout .academy-panel {
   margin-bottom: 20px
}

.academy-curriculum {
   padding: 0;
   list-style: none;
   display: grid;
   gap: 9px
}

.academy-curriculum button {
   width: 100%;
   justify-content: space-between;
   text-align: left;
   background: #f4f7ef;
   color: #3c5436 !important;
   border-color: #e0e7d9
}

.academy-curriculum button.is-current {
   border-color: #688951;
   background: #e5efda
}

.academy-player {
   background: #142016;
   aspect-ratio: 16/9;
   border-radius: 16px;
   overflow: hidden;
   margin-bottom: 20px
}

.academy-player-placeholder {
   position: relative;
   width: 100%;
   height: 100%;
   overflow: hidden;
   background: #142016
}

.academy-player-placeholder>img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   opacity: .78
}

.academy-player-placeholder-overlay {
   position: absolute;
   inset: 0;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   gap: 7px;
   color: #fff;
   text-align: center;
   background: linear-gradient(180deg, #14201640, #142016b8)
}

.academy-player-placeholder-overlay>span {
   font-size: 12px;
   font-weight: 700;
   letter-spacing: .1em;
   text-transform: uppercase;
   opacity: .9
}

.academy-player-placeholder-overlay>strong {
   font-size: 20px;
   font-weight: 600
}

.academy-player-placeholder-overlay>button {
   display: grid;
   place-items: center;
   width: 64px;
   height: 64px;
   margin: 8px 0 2px;
   border: 0;
   border-radius: 50%;
   background: #fff;
   color: #31572d !important;
   font-size: 32px;
   line-height: 1;
   cursor: pointer;
   box-shadow: 0 10px 30px #00000038;
   transition: transform .2s, background .2s
}

.academy-player-placeholder-overlay>button i {
   color: #31572d !important;
   font-size: 32px;
   line-height: 1
}

.academy-player-placeholder-overlay>button:hover {
   background: #edf4e7;
   transform: scale(1.06)
}

.academy-player-placeholder-overlay>button:disabled {
   cursor: wait;
   opacity: .7
}

.academy-player-placeholder-overlay>small {
   max-width: 80%;
   overflow: hidden;
   font-size: 13px;
   text-overflow: ellipsis;
   white-space: nowrap;
   opacity: .9
}

.academy-player-empty {
   display: grid;
   place-items: center;
   align-content: center;
   height: 100%;
   gap: 8px;
   color: #dfe8da;
   text-align: center
}

.academy-player-empty i { font-size: 42px }
.academy-player-empty span { font-size: 13px; opacity: .8 }

.academy-player video,
.academy-player iframe,
.academy-player>div {
   width: 100%;
   height: 100%;
   border: 0
}

.academy-progress {
   width: 100%;
   height: 9px;
   accent-color: #6a8b4d
}

.academy-account-layout {
   display: grid;
   grid-template-columns: 210px minmax(0, 1fr);
   gap: 26px
}
.academy-account-layout.mode-profile {
   grid-template-columns: 215px minmax(0, 1fr);
   gap: 24px;
   align-items: start;
}

.academy-settings-panel {
   display: flex;
   flex-direction: column;
   gap: 24px
}

.academy-avatar-section {
   display: flex;
   align-items: center;
   gap: 20px;
   margin-bottom: 24px;
   padding-bottom: 20px;
   border-bottom: 1px solid #e1e7dc
}

.academy-avatar-preview {
   width: 100px;
   height: 100px;
   min-width: 100px;
   border-radius: 50%;
   overflow: hidden;
   border: 3px solid #edf3e7;
   box-shadow: 0 4px 14px rgba(0,0,0,0.08);
   background: #f4f7f0
}

.academy-avatar-preview img {
   width: 100%;
   height: 100%;
   object-fit: cover;
   border-radius: 50%;
   display: block
}

.academy-avatar-upload {
   display: flex;
   flex-direction: column;
   gap: 6px;
   align-items: flex-start
}

.academy-avatar-btn {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 9px 16px;
   border-radius: 8px;
   background: #f0f5ec;
   color: #375b31 !important;
   font-weight: 600;
   font-size: 13px;
   border: 1px solid #c8d8c2;
   cursor: pointer;
   transition: all 0.2s ease;
   margin-bottom: 0 !important
}

.academy-avatar-btn:hover {
   background: #e2edd9;
   border-color: #476c40
}

.academy-help-text {
   font-size: 12px;
   color: #657461;
   display: block;
   font-weight: normal;
   margin-top: 2px
}

.academy-field-row {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 16px;
   margin-bottom: 4px
}

.academy-alert-error {
   padding: 14px 18px;
   background: #fff5f2;
   border: 1px solid #f9d7cf;
   color: #9b3e2b;
   border-radius: 12px;
   font-size: 14px;
   font-weight: 500;
   margin-bottom: 18px;
   display: flex;
   align-items: center;
   gap: 10px;
   line-height: 1.45
}

.academy-alert-error[hidden] {
   display: none !important
}

.academy-account-nav {
   display: grid;
   gap: 10px
}

.academy-account-nav a {
   padding: 10px;
   border-radius: 8px;
   text-decoration: none
}

.academy-account-nav a[aria-current] {
   background: #e9f1e0;
   font-weight: 700
}

.academy-profile-stats {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 12px;
   margin-bottom: 24px
}

.academy-message {
   position: fixed;
   bottom: 22px;
   left: 50%;
   transform: translateX(-50%);
   max-width: min(600px, 90vw);
   background: #293f31;
   color: #fff;
   padding: 16px 22px;
   border-radius: 12px;
   box-shadow: 0 8px 35px #0002;
   z-index: 2000
}

.academy-note,
.academy-thread {
   border: 1px solid #e0e7d9;
   border-radius: 14px;
   padding: 20px;
   margin: 14px 0;
   background: white;
   overflow-wrap: anywhere
}

.academy-note p,
.academy-thread p {
   white-space: pre-wrap
}

.academy-lesson-content {
   white-space: pre-wrap;
   line-height: 1.65
}

.academy-instructor {
   display: flex;
   gap: 16px;
   align-items: center
}

.academy-instructor img {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   object-fit: cover
}

.academy-replies {
   padding-left: 20px;
   border-left: 2px solid #e0e7d9
}

.academy-live [hidden] {
   display: none !important
}

.academy-error {
   color: #9b3e2b
}

.academy-modal-backdrop {
   position: fixed;
   inset: 0;
   background: #13261799;
   z-index: 3000;
   display: grid;
   place-items: center;
   padding: 20px
}

.academy-modal {
   max-width: 750px;
   width: 100%;
   max-height: 90vh;
   overflow: auto;
   background: #fff;
   padding: 24px;
   border-radius: 18px
}

.academy-section-gap {
   margin-top: 26px
}

@media(max-width:1050px) {
   .academy-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }

   .academy-profile-stats {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }
}

@media(max-width:760px) {
   .academy-live {
      width: calc(100% - 32px);
      padding: 20px 0 45px
   }

   .academy-hero-live {
      grid-template-columns: 1fr;
      padding: 24px
   }

   .academy-catalog-layout,
   .academy-account-layout,
   .academy-detail-layout {
      grid-template-columns: 1fr
   }

   .academy-account-nav {
      display: flex;
      overflow: auto;
      align-items: center;
      gap: 4px
   }

   .academy-account-nav h2 {
      display: none
   }

   .academy-account-nav a {
      white-space: nowrap;
      font-size: 12px
   }

   .academy-panel {
      padding: 18px
   }

   .academy-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px
   }

   .academy-card-body {
      padding: 14px
   }

   .academy-card h2,
   .academy-card h3 {
      font-size: 21px
   }
}

/* Profile settings refresh: calmer hierarchy, contained avatar, and clear actions. */
.academy-settings-panel {
   display: grid;
   gap: 18px;
}

.academy-profile-hero {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 24px;
   padding: 26px 30px;
   border: 1px solid #dce7d6;
   border-radius: 20px;
   background: linear-gradient(120deg, #eef5e8 0%, #f9f5ed 100%);
}

.academy-profile-hero h2,
.academy-panel-heading h2 {
   margin: 5px 0 6px;
}

.academy-profile-hero p,
.academy-panel-intro {
   margin: 0;
   color: #6b7768;
   font-size: 14px;
}

.academy-profile-hero-mark,
.academy-security-icon {
   display: grid;
   flex: 0 0 auto;
   width: 58px;
   height: 58px;
   place-items: center;
   border-radius: 18px;
   background: #315c36;
   color: #fff;
   font-size: 25px;
}

.academy-panel-heading {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 20px;
   margin-bottom: 24px;
}

.academy-eyebrow {
   color: #a36a46;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .14em;
}

.academy-secure-badge {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   padding: 7px 10px;
   border-radius: 999px;
   background: #edf5e9;
   color: #426b43;
   font-size: 11px;
   font-weight: 700;
   white-space: nowrap;
}

.academy-avatar-section {
   display: flex;
   align-items: center;
   gap: 18px;
   margin-bottom: 28px;
   padding: 18px;
   border: 1px solid #e3eadf;
   border-radius: 14px;
   background: #fafcf8;
}

.academy-avatar-preview {
   width: 112px;
   height: 112px;
   flex: 0 0 112px;
   overflow: hidden;
   border: 5px solid #fff;
   border-radius: 50%;
   background: #e6efdf;
   box-shadow: 0 5px 18px rgba(31, 69, 37, .13);
}

.academy-avatar-preview img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.academy-avatar-upload small,
.academy-form-actions small,
.academy-help-text {
   color: #788276;
   font-size: 12px;
}

.academy-avatar-btn {
   display: inline-flex !important;
   width: auto !important;
   align-items: center;
   gap: 8px;
   margin: 0 0 6px !important;
   padding: 10px 14px;
   border: 1px solid #cbdcc5;
   border-radius: 8px;
   background: #fff;
   color: #3e683e;
   cursor: pointer;
}

.academy-field-row {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px;
}

.academy-form-actions {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 18px;
   margin-top: 20px;
   padding-top: 18px;
   border-top: 1px solid #e7ece4;
}

.academy-form-actions small {
   display: inline-flex;
   align-items: flex-start;
   gap: 7px;
}

.academy-security-panel {
   background: #fbfcfa;
}

.academy-payment-confirmation {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-top: 18px;
   padding: 14px 16px;
   border: 1px solid #cfe2c7;
   border-radius: 12px;
   background: #f1f8ed;
   color: #315c36;
}

.academy-payment-confirmation > i {
   font-size: 24px;
}

.academy-payment-confirmation strong,
.academy-payment-confirmation span {
   display: block;
}

.academy-payment-confirmation span {
   margin-top: 2px;
   color: #5d765d;
   font-size: 13px;
}

@media(max-width:760px) {
   .academy-profile-hero,
   .academy-panel-heading,
   .academy-form-actions {
      align-items: flex-start;
      flex-direction: column;
   }

   .academy-profile-hero-mark,
   .academy-security-icon {
      width: 46px;
      height: 46px;
      border-radius: 14px;
      font-size: 20px;
   }

   .academy-field-row {
      grid-template-columns: 1fr;
      gap: 0;
   }

   .academy-avatar-section {
      align-items: flex-start;
      flex-direction: column;
   }
}

@media(max-width:430px) {
   .academy-grid {
      grid-template-columns: 1fr
   }

   .academy-card>img {
      height: 190px
   }

   .academy-profile-stats {
      gap: 8px
   }

   .academy-stat {
      padding: 14px
   }

   .academy-toolbar {
      gap: 8px
   }
}

/* Public catalog controls and loading states */
.academy-filter-intro {
   margin: -12px 0 18px;
   color: #71806d;
   font-size: 13px
}

.academy-filter-scope {
   display: grid;
   gap: 8px;
   margin: 12px 0 4px
}

.academy-filter-scope>div {
   display: grid;
   grid-template-columns: 1fr auto;
   gap: 3px 8px;
   padding: 11px 12px;
   border: 1px solid #dce7d6;
   border-radius: 11px;
   background: #f5f8f1
}

.academy-filter-scope span,
.academy-filter-scope small {
   color: #71806d;
   font-size: 11px
}

.academy-filter-scope strong {
   grid-row: 1/3;
   grid-column: 2;
   color: #3d6637;
   font-size: 13px;
   align-self: center
}

.academy-filter-scope small {
   grid-column: 1
}

.academy-live fieldset label {
   min-height: 27px;
   margin-bottom: 7px
}

.academy-live fieldset input {
   accent-color: #4e7040
}

.academy-live fieldset em {
   font-style: normal;
   background: #f0f4ec;
   border-radius: 999px;
   min-width: 25px;
   padding: 2px 7px;
   text-align: center;
   color: #647360
}

.academy-card-badges,
.academy-card-facts {
   display: flex;
   align-items: center;
   gap: 7px;
   flex-wrap: wrap
}

.academy-card-badges span {
   background: #eef5e9;
   color: #43623d;
   border-radius: 999px;
   padding: 5px 9px;
   font-size: 11px;
   font-weight: 700
}

.academy-card-facts {
   justify-content: space-between;
   color: #6b7967;
   font-size: 12px;
   border-top: 1px solid #e8ede4;
   padding-top: 10px
}

.academy-card-facts .bi-star-fill {
   color: #e5a21d
}

.academy-pagination span {
   color: #667463;
   font-size: 12px
}

.academy-skeleton {
   pointer-events: none
}

.academy-skeleton-cover,
.academy-skeleton .academy-card-body>span,
.academy-filter-loader span {
   display: block;
   background: linear-gradient(90deg, #edf1e9 25%, #f8faf6 50%, #edf1e9 75%);
   background-size: 220% 100%;
   animation: academy-shimmer 1.25s infinite
}

.academy-skeleton-cover {
   height: 165px
}

.academy-skeleton .academy-card-body>span {
   height: 13px;
   border-radius: 7px
}

.academy-skeleton .academy-card-body>span:nth-child(2) {
   height: 25px;
   width: 82%
}

.academy-skeleton .academy-card-body>span:nth-child(3) {
   width: 95%
}

.academy-skeleton .academy-card-body>span:nth-child(4) {
   width: 56%
}

.academy-filter-loader {
   display: grid;
   gap: 12px;
   padding: 18px 0
}

.academy-filter-loader span {
   height: 16px;
   border-radius: 8px
}

.academy-filter-loader span:nth-child(2) {
   width: 78%
}

.academy-filter-loader span:nth-child(3) {
   width: 91%
}

.academy-filter-loader span:nth-child(4) {
   width: 68%
}

@keyframes academy-shimmer {
   to {
      background-position: -220% 0
   }
}

.academy-grid.is-list .academy-card {
   display: grid;
   grid-template-columns: 260px minmax(0, 1fr)
}

.academy-grid.is-list .academy-card>img {
   height: 100%;
   min-height: 240px
}

.academy-grid.is-list .academy-skeleton-cover {
   height: 100%;
   min-height: 240px
}

@media(max-width:760px) {
   .academy-grid.is-list .academy-card {
      grid-template-columns: 1fr
   }

   .academy-grid.is-list .academy-card>img,
   .academy-grid.is-list .academy-skeleton-cover {
      height: 190px;
      min-height: 0
   }

   .academy-filter-scope {
      grid-template-columns: repeat(2, minmax(0, 1fr))
   }
}

.academy-stat-skeleton span {
   display: block;
   height: 22px;
   border-radius: 7px;
   background: linear-gradient(90deg, #edf1e9 25%, #f8faf6 50%, #edf1e9 75%);
   background-size: 220% 100%;
   animation: academy-shimmer 1.25s infinite
}

.academy-stat-skeleton span+span {
   height: 11px;
   width: 68%
}

/* Course detail */
.course-detail-page {
   color: #182719
}

.course-detail-top {
   display: grid;
   grid-template-columns: minmax(320px, .9fr) minmax(380px, 1.15fr);
   gap: 28px;
   align-items: center;
   margin-bottom: 24px
}

.course-detail-media {
   position: relative;
   height: 310px;
   overflow: hidden;
   border-radius: 14px;
   background: #e8eee3
}

.course-detail-media>img {
   width: 100%;
   height: 100%;
   object-fit: cover
}

.course-detail-media>button {
   position: absolute;
   left: 50%;
   bottom: 16px;
   transform: translateX(-50%);
   min-width: 210px;
   border: 0;
   border-radius: 999px;
   background: #fff;
   color: #243b25 !important;
   box-shadow: 0 6px 22px #0002
}

.course-detail-intro h1 {
   max-width: 690px;
   margin: 12px 0 12px;
   font: 700 clamp(34px, 4vw, 54px)/1.08 Georgia, serif;
   color: #28462a
}

.course-detail-intro>p {
   max-width: 680px;
   margin: 0 0 18px;
   color: #4f5c51;
   font-size: 14px
}

.course-detail-badge {
   display: inline-flex;
   border-radius: 999px;
   background: #287d4c;
   color: #fff;
   padding: 6px 13px;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .04em
}

.course-detail-facts {
   display: flex;
   gap: 18px;
   flex-wrap: wrap;
   margin: 16px 0;
   color: #344437;
   font-size: 12px
}

.course-detail-facts span {
   display: inline-flex;
   align-items: center;
   gap: 7px
}

.course-detail-facts i {
   font-size: 17px;
   color: #8a572d
}

.course-detail-price {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 17px 0
}

.course-detail-price strong {
   font-size: 30px;
   color: #203b23
}

.course-detail-price del {
   color: #92998f
}

.course-detail-price small {
   padding: 5px 9px;
   border-radius: 999px;
   background: #e8eedb;
   color: #324a29;
   font-weight: 700
}

.course-detail-actions {
   display: flex;
   gap: 12px;
   flex-wrap: wrap
}

.course-primary-action,
.course-wishlist {
   min-width: 190px;
   min-height: 48px
}

.course-detail-page .course-primary-action {
   border-color: #315724;
   background: #315724;
   color: #fff !important
}

.course-detail-page .course-wishlist {
   background: #fff;
   color: #a64b1d !important;
   border-color: #bb6d45
}

.course-wishlist.is-saved {
   background: #fff4ee
}

.course-benefit-strip {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   margin: 0 0 22px;
   border: 1px solid #e2e5dc;
   border-radius: 13px;
   background: #fff;
   padding: 15px 20px;
   box-shadow: 0 7px 24px #2435140a
}

.course-benefit-strip>span {
   display: grid;
   grid-template-columns: auto 1fr;
   column-gap: 10px;
   padding: 0 16px;
   border-right: 1px solid #e4e7df
}

.course-benefit-strip>span:last-child {
   border: 0
}

.course-benefit-strip i {
   grid-row: 1/3;
   font-size: 25px;
   color: #304f2c
}

.course-benefit-strip b {
   font-size: 12px
}

.course-benefit-strip small {
   font-size: 10px;
   color: #6d766b
}

.course-detail-columns {
   display: grid;
   grid-template-columns: minmax(0, 1.75fr) minmax(330px, .85fr);
   gap: 28px;
   align-items: start
}

.course-about-card,
.course-curriculum-card {
   border: 1px solid #e0e4da;
   border-radius: 14px;
   background: #fff;
   box-shadow: 0 8px 30px #2838160a
}

.course-about-card {
   padding: 0 20px 20px
}

.course-about-card>nav {
   display: flex;
   gap: 26px;
   overflow: auto;
   border-bottom: 1px solid #e6e8e2
}

.course-about-card>nav a {
   padding: 16px 0 13px;
   white-space: nowrap;
   text-decoration: none;
   color: #252d27;
   font-size: 12px
}

.course-about-card>nav a:first-child {
   border-bottom: 2px solid #2d5a39;
   color: #2d5a39;
   font-weight: 700
}

.course-about-card h2 {
   margin: 18px 0 8px;
   font: 700 19px/1.2 Arial, sans-serif
}

.course-about-card h3 {
   margin: 0 0 12px;
   font: 700 16px/1.2 Arial, sans-serif
}

.course-about-card p {
   margin: 6px 0;
   font-size: 12px;
   line-height: 1.55
}

.course-about-facts {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   margin: 16px 0;
   border: 1px solid #e5e8e0;
   border-radius: 10px;
   padding: 14px
}

.course-about-facts span {
   display: grid;
   grid-template-columns: auto 1fr;
   column-gap: 9px;
   padding: 0 13px;
   border-right: 1px solid #e7e9e3
}

.course-about-facts span:last-child {
   border: 0
}

.course-about-facts i {
   grid-row: 1/3;
   font-size: 21px;
   color: #365b37
}

.course-about-facts small {
   font-size: 10px;
   color: #727a70
}

.course-about-facts b {
   font-size: 11px
}

.course-outcome-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 12px
}

.course-outcome-grid>section {
   border: 1px solid #e5e8e0;
   border-radius: 10px;
   padding: 16px
}

.course-outcome-grid i,
.lesson-outcomes i {
   margin-right: 8px;
   color: #2e7041
}

.course-instructor-card {
   display: grid;
   grid-template-columns: auto minmax(150px, .55fr) 1fr;
   gap: 15px;
   align-items: center;
   margin-top: 14px;
   border: 1px solid #e5e8e0;
   border-radius: 10px;
   padding: 15px
}

.course-instructor-card>img {
   width: 64px;
   height: 64px;
   border-radius: 50%;
   object-fit: cover
}

.course-instructor-card>i {
   font-size: 54px;
   color: #597153
}

.course-instructor-card h3 {
   margin: 3px 0
}

.course-instructor-card>p {
   border-left: 1px solid #e6e8e2;
   padding-left: 18px
}

.course-faqs {
   margin-top: 20px
}

.course-faqs details {
   border-top: 1px solid #e6e8e2;
   padding: 12px 0
}

.course-faqs summary {
   cursor: pointer;
   font-weight: 700
}

.course-reviews-card {
   margin-top: 18px
}

.course-curriculum-card {
   position: sticky;
   top: 90px;
   padding: 20px
}

.course-curriculum-head>div,
.course-curriculum-head>p {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px
}

.course-curriculum-head h2 {
   margin: 0;
   font: 700 20px/1.2 Arial, sans-serif
}

.course-curriculum-head>div small {
   border-radius: 999px;
   background: #f0efe3;
   padding: 5px 9px;
   font-size: 9px;
   font-weight: 700
}

.course-curriculum-head>p {
   margin: 18px 0 5px;
   font-size: 11px
}

.course-curriculum-head>p strong {
   font-size: 10px
}

.course-curriculum-card .academy-curriculum {
   gap: 8px;
   margin: 18px 0;
   padding: 0
}

.course-curriculum-card .academy-curriculum button {
   display: grid;
   grid-template-columns: 30px 1fr auto;
   gap: 10px;
   align-items: center;
   min-height: 58px;
   padding: 9px 11px;
   border-radius: 9px;
   background: #fff;
   color: #243326 !important;
   border: 1px solid #e5e7e1
}

.course-curriculum-card .academy-curriculum button:hover:not(:disabled),
.course-curriculum-card .academy-curriculum button.is-current {
   border-color: #6f895e;
   background: #f3f6ed
}

.course-curriculum-card .academy-curriculum button>b {
   display: grid;
   width: 28px;
   height: 28px;
   place-items: center;
   border-radius: 7px;
   background: #f0f2e7
}

.course-curriculum-card .academy-curriculum button>span {
   display: grid;
   text-align: left
}

.course-curriculum-card .academy-curriculum button>span strong {
   font-size: 11px
}

.course-curriculum-card .academy-curriculum button>span small {
   font-size: 9px;
   color: #70796e
}

.course-curriculum-card .academy-curriculum button:disabled {
   opacity: .72
}

.course-curriculum-total {
   display: grid;
   grid-template-columns: 1fr 1fr;
   border-radius: 9px;
   background: #f4f5ef;
   padding: 12px;
   text-align: center
}

.course-curriculum-total span {
   display: grid;
   font-size: 9px
}

.course-curriculum-total span+span {
   border-left: 1px solid #dfe2da
}

.course-curriculum-total strong {
   font-size: 13px
}

.course-side-enroll {
   display: grid;
   gap: 10px;
   margin-top: 14px;
   border: 1px solid #e4e7df;
   border-radius: 10px;
   padding: 14px;
   text-align: center
}

.course-side-enroll>div {
   font-size: 24px;
   font-weight: 700
}

.course-side-enroll .course-primary-action {
   width: 100%
}

.course-side-enroll small {
   font-size: 9px;
   color: #697168
}

/* Enrolled learning view */
.academy-learning-page {
   display: grid;
   grid-template-columns: 220px minmax(0, 1fr) 330px;
   gap: 20px;
   align-items: start
}

.learning-nav,
.learning-side>section,
.learning-main {
   border: 1px solid #e1e5dc;
   border-radius: 13px;
   background: #fff
}

.learning-nav {
   position: sticky;
   top: 90px;
   padding: 16px
}

.learning-course-mini {
   display: flex;
   gap: 11px;
   align-items: center;
   padding-bottom: 15px;
   border-bottom: 1px solid #e7e9e3
}

.learning-course-mini img {
   width: 62px;
   height: 62px;
   border-radius: 8px;
   object-fit: cover
}

.learning-course-mini h2 {
   margin: 0 0 5px;
   font: 700 15px/1.25 Arial, sans-serif
}

.learning-course-mini small {
   font-size: 10px;
   color: #70786e
}

.learning-nav>p {
   display: flex;
   justify-content: space-between;
   margin: 15px 0 5px;
   font-size: 10px
}

.learning-nav nav {
   display: grid;
   gap: 4px;
   margin: 20px 0
}

.learning-nav nav a {
   display: flex;
   gap: 10px;
   align-items: center;
   padding: 11px;
   border-radius: 8px;
   text-decoration: none;
   color: #354236;
   font-size: 12px
}

.learning-nav nav a.is-active {
   background: #eef2e4;
   color: #31572d;
   font-weight: 700
}

.learning-help {
   margin-top: 28px;
   border-radius: 11px;
   background: #f6f4e9;
   padding: 16px;
   text-align: center
}

.learning-help>i {
   font-size: 25px;
   color: #42603d
}

.learning-help h3 {
   margin: 6px
}

.learning-help p {
   font-size: 10px
}

.learning-help a {
   display: block;
   border: 1px solid #7b8a71;
   border-radius: 7px;
   padding: 8px;
   text-decoration: none;
   font-size: 10px;
   font-weight: 700
}

.learning-main {
   padding: 14px
}

.learning-main .academy-player {
   border-radius: 10px;
   margin: 0 0 15px
}

.learning-lesson-count {
   display: inline-block;
   border-radius: 999px;
   background: #eef2e5;
   color: #40583a;
   padding: 5px 9px;
   font-size: 9px;
   font-weight: 700
}

.learning-main h1 {
   margin: 10px 0;
   font: 700 28px/1.15 Arial, sans-serif
}

.learning-main .academy-lesson-content {
   font-size: 12px;
   color: #596359
}

.learning-lesson-meta {
   display: flex;
   gap: 28px;
   flex-wrap: wrap;
   margin: 8px 0 10px;
   padding: 8px 0;
   border-bottom: 1px solid #e6e8e2;
   color: #5f685f;
   font-size: 11px
}

.learning-lesson-meta i {
   margin-right: 7px;
   color: #345b37
}

.learning-main .academy-panel {
   border-radius: 10px;
   box-shadow: none
}

.learning-main .academy-panel h2 {
   font: 700 16px/1.2 Arial, sans-serif
}

.learning-side {
   display: grid;
   gap: 14px
}

.learning-side .course-curriculum-card {
   position: sticky;
   top: 90px
}

.learning-side .academy-panel {
   margin: 0;
   border-radius: 12px;
   padding: 16px
}

.learning-side .academy-note,
.learning-side .academy-thread {
   padding: 12px;
   font-size: 11px
}

@media(max-width:1100px) {
   .course-detail-columns {
      grid-template-columns: 1fr
   }

   .course-curriculum-card {
      position: static
   }

   .academy-learning-page {
      grid-template-columns: 190px minmax(0, 1fr)
   }

   .learning-side {
      grid-column: 2
   }

   .learning-nav {
      grid-row: 1/3
   }
}

@media(max-width:760px) {

   .course-detail-top,
   .course-detail-columns,
   .course-outcome-grid,
   .academy-learning-page {
      grid-template-columns: 1fr
   }

   .course-detail-media {
      height: 240px
   }

   .course-benefit-strip {
      grid-template-columns: 1fr 1fr;
      gap: 16px
   }

   .course-benefit-strip>span {
      border: 0;
      padding: 0
   }

   .course-about-facts {
      grid-template-columns: 1fr 1fr;
      gap: 15px
   }

   .course-about-facts span:nth-child(2) {
      border: 0
   }

   .course-instructor-card {
      grid-template-columns: auto 1fr
   }

   .course-instructor-card>p {
      grid-column: 1/-1;
      border: 0;
      padding: 0
   }

   .learning-nav {
      position: static;
      grid-row: auto
   }

   .learning-side {
      grid-column: auto
   }

   .learning-side .course-curriculum-card {
      position: static
   }

   .course-detail-intro h1 {
      font-size: 36px
   }
}

/* Academy-owned lesson controls around the embedded player. */
.academy-youtube-shell {
   position: relative;
   width: 100%;
   height: 100%;
   overflow: hidden;
   background: #142016;
   isolation: isolate
}

.academy-youtube-shell>div:first-child {
   position: absolute;
   z-index: 1;
   inset: 0;
   overflow: hidden
}

.academy-youtube-shell iframe {
   position: absolute;
   inset: 0;
   width: 100%;
   height: 100%;
   border: 0;
   pointer-events: none;
   transform: translateY(-18px) scale(1.14);
   transform-origin: center
}

.academy-video-center {
   position: absolute !important;
   z-index: 4;
   left: 50%;
   top: 50%;
   transform: translate(-50%, -50%);
   width: 64px !important;
   height: 64px !important;
   padding: 0 !important;
   border: 0 !important;
   border-radius: 50% !important;
   background: #fff !important;
   color: #26442b !important;
   box-shadow: 0 5px 18px #0005;
   font-size: 0 !important
}

.academy-video-center::before {
   content: "▶";
   display: block;
   margin-left: 4px;
   color: #26442b;
   font: 700 25px/64px Arial, sans-serif
}

.academy-video-center[hidden] {
   display: none !important
}

.academy-video-controls {
   position: absolute;
   z-index: 5;
   left: 0;
   right: 0;
   bottom: 0;
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 24px 18px 10px;
   background: linear-gradient(180deg, rgba(16, 21, 16, .76), rgba(16, 21, 16, .98));
   color: #fff
}

.academy-video-controls button {
   width: 30px !important;
   min-width: 30px !important;
   height: 30px !important;
   padding: 0 !important;
   border: 0 !important;
   border-radius: 5px !important;
   background: transparent !important;
   color: #fff !important;
   font-size: 15px !important
}

.academy-video-controls button:hover {
   background: #ffffff26 !important
}

.academy-video-controls [data-youtube-current],
.academy-video-controls [data-youtube-remaining] {
   min-width: 42px;
   font: 600 11px/1 Arial, sans-serif;
   white-space: nowrap
}

.academy-video-controls [data-youtube-seek] {
   height: 4px;
   min-width: 80px;
   flex: 1;
   accent-color: #d1e6bd;
   cursor: pointer
}

.academy-video-controls [data-youtube-back] {
   width: 42px !important;
   min-width: 42px !important;
   position: relative;
   gap: 1px;
   font-size: 13px !important
}

.academy-video-controls [data-youtube-back] small {
   font: 700 9px/1 Arial, sans-serif
}

@media(max-width:600px) {
   .academy-video-controls {
      gap: 5px;
      padding: 20px 8px 8px
   }

   .academy-video-controls [data-youtube-current],
   .academy-video-controls [data-youtube-remaining] {
      min-width: 34px;
      font-size: 9px
   }

   .academy-video-center {
      width: 52px !important;
      height: 52px !important
   }
}

.learning-main .academy-player {
   aspect-ratio: 16 / 6.6
}

.course-detail-page .academy-wishlist-button {
   background: #fff;
   color: #a64b1d !important;
   border: 1px solid #bb6d45
}

.academy-wishlist-button.is-saved {
   background: #fff4ee
}

/* Reference-aligned course detail composition */
body[data-academy-page="detail"] {
   background: #fffdf9
}

body[data-academy-page="detail"] .public-shell {
   width: min(1260px, calc(100% - 48px))
}

body[data-academy-page="detail"] .academy-live {
   width: min(1260px, calc(100% - 48px));
   max-width: none;
   padding: 20px 0 56px
}

body[data-academy-page="detail"] .academy-breadcrumb {
   margin: 0 0 18px;
   color: #8a4b2a;
   font-size: 12px
}

body[data-academy-page="detail"] .academy-breadcrumb a {
   color: #6f3f27;
   text-decoration: none
}

body[data-academy-page="detail"] .academy-breadcrumb strong {
   max-width: 360px;
   overflow: hidden;
   color: #6f3f27;
   font-weight: 500;
   text-overflow: ellipsis;
   white-space: nowrap
}

.course-detail-shell {
   display: grid;
   grid-template-columns: minmax(0, 1.95fr) minmax(430px, .95fr);
   gap: 56px;
   align-items: start
}

.course-detail-main {
   min-width: 0
}

.course-detail-aside {
   display: grid;
   position: sticky;
   top: 96px;
   gap: 18px;
   min-width: 0
}

.course-detail-aside .course-curriculum-card {
   position: static
}

.course-detail-top {
   grid-template-columns: minmax(330px, .92fr) minmax(390px, 1.18fr);
   gap: 38px;
   min-height: 338px;
   margin-bottom: 22px;
   align-items: center
}

.course-detail-media {
   height: 338px;
   border-radius: 13px
}

.course-detail-media>button {
   bottom: 12px;
   min-width: 260px;
   min-height: 40px;
   padding: 8px 20px;
   font-size: 12px
}

.course-detail-intro h1 {
   max-width: 620px;
   margin: 13px 0 15px;
   font: 700 clamp(34px, 2.5vw, 43px)/1.12 Georgia, serif
}

.course-detail-intro>p {
   max-width: 620px;
   margin-bottom: 20px;
   font-size: 13px;
   line-height: 1.7
}

.course-detail-badge {
   padding: 5px 14px;
   font-size: 10px
}

.course-detail-facts {
   gap: 18px;
   margin: 18px 0 14px;
   font-size: 11px
}

.course-detail-price {
   margin: 12px 0 15px
}

.course-detail-price strong {
   font-size: 28px
}

.course-detail-actions {
   gap: 15px
}

.course-primary-action,
.course-wishlist,
.academy-wishlist-button {
   min-width: 205px;
   min-height: 50px
}

.course-benefit-strip {
   margin-bottom: 16px;
   padding: 15px 10px
}

.course-benefit-strip>span {
   padding: 0 18px
}

.course-about-card {
   padding: 0 24px 18px;
   border-radius: 12px
}

.course-about-card>nav {
   gap: 30px
}

.course-about-card>nav a {
   padding: 15px 0 12px;
   font-size: 11px
}

.course-about-card h2 {
   margin: 16px 0 6px;
   font-size: 17px
}

.course-about-card p {
   font-size: 11px;
   line-height: 1.55
}

.course-about-facts {
   grid-template-columns: repeat(6, minmax(0, 1fr));
   margin: 13px 0;
   padding: 13px 6px
}

.course-about-facts span {
   padding: 0 12px
}

.course-about-facts i {
   font-size: 19px
}

.course-outcome-grid {
   gap: 15px
}

.course-outcome-grid>section {
   padding: 14px 18px
}

.course-instructor-card {
   margin-top: 14px;
   padding: 14px 17px
}

.course-curriculum-card {
   padding: 20px 24px;
   border-radius: 12px
}

.course-curriculum-head h2 {
   font-size: 19px
}

.course-curriculum-card .academy-curriculum {
   gap: 7px;
   margin: 16px 0
}

.course-curriculum-card .academy-curriculum button {
   min-height: 61px;
   padding: 9px 12px
}

.course-curriculum-card .academy-curriculum button>span strong {
   font-size: 12px
}

/* Keep long course playlists compact so the purchase card stays easy to reach. */
body[data-academy-page="detail"] .course-curriculum-card .academy-curriculum {
   max-height: 340px;
   overflow-y: auto;
   overscroll-behavior: contain;
   padding-right: 8px;
   scrollbar-color: #9aaa87 #f1f4ec;
   scrollbar-width: thin
}

body[data-academy-page="detail"] .course-curriculum-card .academy-curriculum::-webkit-scrollbar {
   width: 7px
}

body[data-academy-page="detail"] .course-curriculum-card .academy-curriculum::-webkit-scrollbar-track {
   border-radius: 999px;
   background: #f1f4ec
}

body[data-academy-page="detail"] .course-curriculum-card .academy-curriculum::-webkit-scrollbar-thumb {
   border-radius: 999px;
   background: #9aaa87
}

/* Put the purchase action first in the sidebar so learners never have to
   scroll through a long playlist before they can enroll. */
body[data-academy-page="detail"] .course-curriculum-card {
   display: flex;
   flex-direction: column
}

body[data-academy-page="detail"] .course-curriculum-card .course-side-enroll {
   order: -1;
   position: sticky;
   top: 96px;
   z-index: 3;
   margin-top: 0;
   margin-bottom: 16px;
   background: #fff;
   box-shadow: 0 8px 20px rgba(40, 56, 22, .09)
}

.course-side-enroll {
   text-align: left
}

.course-side-enroll>div {
   display: flex;
   align-items: center;
   gap: 10px
}

.course-side-enroll>div strong {
   font-size: 25px
}

.course-side-enroll>div del {
   color: #8b9288;
   font-size: 12px
}

.course-side-enroll>div small {
   padding: 4px 8px;
   border-radius: 999px;
   background: #e9efdf;
   color: #294426;
   font-weight: 700
}

.academy-tax-note {
   display: block;
   margin-top: 4px;
   color: #7d897b;
   font-size: 11px
}

.academy-coupon-box {
   display: grid;
   gap: 7px;
   margin: 16px 0 12px;
   padding-top: 14px;
   border-top: 1px solid #e6ece2
}

/* The legacy sidebar price rule targets every direct div. Keep the coupon
   form and quote rows in their own compact layout instead of letting them
   expand into one oversized horizontal row. */
.course-side-enroll>.academy-coupon-box {
   display: grid;
   align-items: initial;
   font-size: 12px;
   font-weight: 400;
}

.course-side-enroll>.academy-price-breakdown {
   display: grid;
   align-items: initial;
   font-size: 12px;
   font-weight: 400;
}

.academy-coupon-box label {
   color: #50654d;
   font-size: 12px;
   font-weight: 700
}

.academy-coupon-box>div {
   display: flex;
   gap: 8px
}

.academy-coupon-box input {
   min-width: 0;
   flex: 1;
   height: 40px;
   margin: 0;
   border: 1px solid #d8e3d3;
   border-radius: 9px;
   padding: 0 11px;
   color: #304a32;
   font-size: 12px;
   text-transform: uppercase
}

.academy-coupon-box button {
   min-height: 40px !important;
   padding: 0 13px !important;
   font-size: 12px !important
}

.academy-coupon-box>small {
   min-height: 16px;
   color: #59714f;
   font-size: 11px
}

.academy-coupon-box>small.is-error { color: #a64b3a; }
.academy-coupon-box>small.is-success { color: #397044; }

.academy-price-breakdown {
   display: grid;
   gap: 8px;
   margin: 12px 0 16px;
   border-top: 1px solid #e6ece2;
   padding-top: 12px;
   color: #6c796c;
   font-size: 12px
}

.academy-price-breakdown>div {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px
}

.course-side-enroll .academy-price-breakdown>div {
   display: flex;
   align-items: center;
   font-size: 12px;
   font-weight: 400;
}

.course-side-enroll .academy-price-breakdown>div strong {
   font-size: 12px;
}

.course-side-enroll .academy-price-breakdown .academy-price-total strong {
   font-size: 16px;
}

.academy-price-breakdown strong { color: #476344; font-weight: 700; }
.academy-price-breakdown [data-quote-discount] { color: #a25835; }
.academy-price-total { margin-top: 4px; border-top: 1px solid #e6ece2; padding-top: 10px; color: #304a32; font-weight: 700; }
.academy-price-total strong { color: #294e2e; font-size: 16px; }

.course-side-enroll>small {
   text-align: center
}

.course-reviews-card {
   margin: 0;
   padding: 19px 22px;
   border: 1px solid #e0e4da;
   border-radius: 12px;
   background: #fff;
   box-shadow: 0 8px 30px #2838160a
}

.course-review-heading {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px
}

.course-review-heading h2,
.course-reviews-card>h2 {
   margin: 0;
   font: 700 18px/1.2 Arial, sans-serif
}

.course-review-heading a {
   color: #8d451f;
   font-size: 10px;
   text-decoration: none
}

.course-review-summary {
   display: grid;
   grid-template-columns: 105px 1fr;
   gap: 24px;
   align-items: center;
   margin-top: 18px
}

.course-review-summary>div:first-child {
   display: grid;
   gap: 4px
}

.course-review-summary>div:first-child strong {
   font-size: 32px;
   color: #29452b
}

.course-review-summary>div:first-child span {
   color: #f6a30b;
   letter-spacing: 1px
}

.course-review-summary small {
   font-size: 9px
}

.course-review-summary>div:last-child p {
   display: grid;
   grid-template-columns: 30px 1fr 28px;
   gap: 7px;
   align-items: center;
   margin: 4px 0;
   font-size: 9px
}

.course-review-summary p b {
   font-weight: 500
}

.course-review-summary p i {
   color: #f6a30b
}

.course-review-summary p>span {
   height: 5px;
   overflow: hidden;
   border-radius: 999px;
   background: #eceee8
}

.course-review-summary p em {
   display: block;
   height: 100%;
   border-radius: inherit;
   background: #31552f
}

.course-review-list article {
   border-top: 1px solid #e7e9e3;
   padding: 10px 0
}

.course-review-list article strong,
.course-review-list article p {
   font-size: 10px
}

.course-review-form {
   margin-top: 8px;
   font-size: 11px
}

.course-trust-strip {
   display: grid;
   grid-template-columns: repeat(5, 1fr);
   margin-top: 18px;
   padding: 15px 22px;
   border: 1px solid #e3e5df;
   border-radius: 12px;
   background: #f8f7f2
}

.course-trust-strip>span {
   display: grid;
   grid-template-columns: auto 1fr;
   column-gap: 12px;
   padding: 0 22px;
   border-right: 1px solid #dedfd9
}

.course-trust-strip>span:last-child {
   border: 0
}

.course-trust-strip i {
   grid-row: 1/3;
   font-size: 23px;
   color: #29482d
}

.course-trust-strip b {
   font-size: 11px
}

.course-trust-strip small {
   font-size: 9px;
   color: #6c746a
}

@media(max-width:1350px) {
   .course-detail-shell {
      grid-template-columns: minmax(0, 1fr) 410px;
      gap: 30px
   }

   .course-detail-top {
      grid-template-columns: minmax(280px, .9fr) minmax(330px, 1.1fr);
      gap: 25px
   }

   .course-detail-media {
      height: 315px
   }

   .course-about-facts span {
      padding: 0 8px
   }

   .course-benefit-strip>span {
      padding: 0 10px
   }
}

/* Course detail sections are data-driven and may contain three or four benefits. */
.course-benefit-strip {
   grid-template-columns: repeat(auto-fit, minmax(190px, 1fr))
}

.course-outcome-grid-single {
   grid-template-columns: 1fr
}

.course-about-card>nav a.is-active {
   border-bottom: 2px solid #2d5a39;
   color: #2d5a39;
   font-weight: 700
}

body[data-academy-page="detail"] #about,
body[data-academy-page="detail"] #outcomes,
body[data-academy-page="detail"] #curriculum,
body[data-academy-page="detail"] #instructor,
body[data-academy-page="detail"] #course-reviews,
body[data-academy-page="detail"] #faqs {
   scroll-margin-top: 112px
}

body[data-academy-page="home"] .course-filter-panel,
body[data-academy-page="home"] #catalog-pagination {
   display: none
}

body[data-academy-page="home"] .course-list-layout {
   display: block
}

.course-list-view-all {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   color: #315c2f;
   font-weight: 700;
   text-decoration: none
}

.course-list-view-all:hover {
   color: #b87343
}

.course-enroll-consent {
   display: flex;
   align-items: flex-start;
   gap: 8px;
   max-width: 540px;
   margin: 10px 0 12px;
   color: #5e675d;
   font-size: 10px;
   line-height: 1.45
}

.course-enroll-consent input {
   flex: 0 0 auto;
   width: 15px;
   height: 15px;
   margin: 0;
   accent-color: #315724
}

.course-enroll-consent a {
   color: #98542e;
   font-weight: 600
}

.course-enroll-consent input:focus-visible {
   outline: 2px solid #315724;
   outline-offset: 2px
}

.course-side-enroll .course-enroll-consent {
   margin: 2px 0 0;
   text-align: left
}

.course-trust-strip {
   grid-template-columns: repeat(4, 1fr)
}

@media(max-width:1050px) {

   body[data-academy-page="detail"] .public-shell,
   body[data-academy-page="detail"] .academy-live {
      width: min(1260px, calc(100% - 48px))
   }

   .course-detail-shell {
      grid-template-columns: 1fr
   }

   .course-detail-aside {
      position: static
   }

   .course-detail-aside .course-curriculum-card {
      position: static
   }

   .course-trust-strip {
      grid-template-columns: repeat(3, 1fr);
      row-gap: 18px
   }

   .course-trust-strip>span:nth-child(3) {
      border: 0
   }
}

@media(max-width:760px) {

   body[data-academy-page="detail"] .public-shell,
   body[data-academy-page="detail"] .academy-live {
      width: calc(100% - 48px)
   }

   .course-detail-top {
      grid-template-columns: 1fr;
      min-height: 0
   }

   .course-detail-media {
      height: 245px
   }

   body[data-academy-page="detail"] .course-curriculum-card .academy-curriculum {
      max-height: 300px
   }

   .course-detail-intro h1 {
      font-size: 34px
   }

   .course-about-facts {
      grid-template-columns: 1fr 1fr
   }

   .course-about-facts span {
      border-right: 0
   }

   .course-trust-strip {
      grid-template-columns: 1fr 1fr;
      padding: 15px 8px
   }

   .course-trust-strip>span {
      border: 0;
      padding: 0 10px
   }

   .course-review-summary {
      grid-template-columns: 85px 1fr
   }
}

/* Learning player: slightly taller frame, softer letterbox, and backward-only seeking. */
.learning-main .academy-player {
   aspect-ratio: 16 / 7.2;
   background: #eef3e9
}

.academy-youtube-shell {
   background: #eef3e9
}

.academy-video-controls {
   padding-top: 18px;
   background: linear-gradient(180deg, transparent, rgba(25, 31, 14, .68))
}

.academy-video-controls [data-youtube-seek] {
   cursor: default;
   opacity: .9
}

/* Keep the lesson player at 16:9 with a narrow title cover. */
.learning-main .academy-player {
   aspect-ratio: 16 / 9;
   background: #101510
}

.academy-youtube-shell {
   background: #101510
}

body[data-academy-page="learn"] .academy-youtube-shell::before {
   content: "";
   position: absolute;
   z-index: 2;
   top: 0;
   left: 0;
   right: 0;
   height: 34px;
   background: #101510;
   pointer-events: none
}

body[data-academy-page="learn"] .academy-video-controls {
   padding: 4px 14px;
   background: rgba(16, 21, 16, .96)
}

body[data-academy-page="learn"] .academy-youtube-shell:fullscreen iframe {
   transform: scale(1.04)
}

@media(max-width:600px) {
   body[data-academy-page="learn"] .academy-video-controls {
      padding: 4px 8px
   }
}

.academy-player video {
   object-fit: contain;
   background: #101510
}

.academy-player {
   position: relative
}

.academy-player.is-loading::before {
   content: "Loading lesson…";
   position: absolute;
   z-index: 40;
   inset: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   padding-top: 84px;
   box-sizing: border-box;
   color: #fff;
   font-size: 15px;
   font-weight: 600;
   background: rgba(16, 21, 16, .72);
   backdrop-filter: blur(2px)
}

.academy-player.is-loading::after {
   content: "";
   position: absolute;
   z-index: 41;
   left: 50%;
   top: calc(50% - 20px);
   width: 42px;
   height: 42px;
   margin: -21px;
   border: 4px solid rgba(255, 255, 255, .35);
   border-top-color: #fff;
   border-radius: 50%;
   animation: academy-player-spin .8s linear infinite
}

.academy-curriculum button.is-loading {
   position: relative;
   opacity: .75;
   pointer-events: none
}

.academy-curriculum button.is-loading>i:last-child {
   animation: academy-player-spin .8s linear infinite
}

@keyframes academy-player-spin {
   to {
      transform: rotate(360deg)
   }
}

.academy-video-controls {
   z-index: 10;
   pointer-events: auto;
   touch-action: manipulation
}

.academy-video-controls button {
   position: relative;
   z-index: 11;
   pointer-events: auto;
   cursor: pointer;
   min-width: 36px !important;
   width: 36px !important;
   height: 36px !important
}

.academy-video-controls [data-youtube-back] {
   min-width: 46px !important;
   width: 46px !important
}

.academy-video-center {
   z-index: 10;
   pointer-events: auto;
   touch-action: manipulation;
   cursor: pointer
}

/* Learning workspace: readable type and consistent course actions. */
body[data-academy-page="learn"] .academy-live {
   width: min(1260px, calc(100% - 48px));
   max-width: none;
   padding: 22px 0 72px
}

body[data-academy-page="learn"] .academy-breadcrumb {
   font-size: 15px;
   margin-bottom: 26px
}

body[data-academy-page="learn"] .academy-learning-page {
   grid-template-columns: minmax(235px, 280px) minmax(0, 1fr) minmax(300px, 390px);
   gap: 24px
}

body[data-academy-page="learn"] .learning-nav {
   padding: 22px
}

body[data-academy-page="learn"] .learning-course-mini h2 {
   font-size: 18px
}

body[data-academy-page="learn"] .learning-course-mini small {
   font-size: 13px
}

/* Keep the complete course artwork visible in the learning sidebar. Course
   thumbnails have mixed aspect ratios, so cropping them with `cover` hides
   logos and title artwork. */
body[data-academy-page="learn"] .learning-course-mini img {
   flex: 0 0 82px;
   width: 82px;
   height: 82px;
   display: block;
   object-fit: contain;
   object-position: center;
   padding: 4px;
   box-sizing: border-box;
   border: 1px solid #e2eadb;
   border-radius: 12px;
   background: #f5f8ef;
}

body[data-academy-page="learn"] .learning-nav>p {
   font-size: 13px;
   gap: 12px
}

body[data-academy-page="learn"] .learning-nav nav a {
   font-size: 15px;
   padding: 13px 14px
}

body[data-academy-page="learn"] .learning-help p,
body[data-academy-page="learn"] .learning-help a {
   font-size: 13px
}

body[data-academy-page="learn"] .learning-main {
   padding: 20px
}

body[data-academy-page="learn"] .learning-lesson-count {
   font-size: 12px;
   padding: 7px 12px
}

body[data-academy-page="learn"] .learning-main h1 {
   font-size: clamp(24px, 1.8vw, 32px);
   line-height: 1.15;
   margin: 7px 0 5px
}

body[data-academy-page="learn"] .learning-main .academy-lesson-content {
   font-size: 15px;
   line-height: 1.7
}

body[data-academy-page="learn"] .lesson-instruction-card {
   margin: 22px 0 8px;
   padding: 22px 24px;
   border: 1px solid #e1e8da;
   border-radius: 16px;
   background: linear-gradient(135deg, #fbfdf8, #f3f7ed);
   box-shadow: 0 8px 22px rgba(45, 70, 39, .06);
}

body[data-academy-page="learn"] .lesson-instruction-card h2 {
   display: flex;
   align-items: center;
   gap: 9px;
   margin: 0 0 12px;
   color: #355633;
   font-size: 20px;
   font-weight: 700;
}

body[data-academy-page="learn"] .lesson-instruction-card h2 i {
   color: #b16f43;
}

body[data-academy-page="learn"] .lesson-instruction-body {
   color: #566657;
}

body[data-academy-page="learn"] .lesson-instruction-body > :first-child { margin-top: 0; }
body[data-academy-page="learn"] .lesson-instruction-body > :last-child { margin-bottom: 0; }
body[data-academy-page="learn"] .lesson-instruction-body p,
body[data-academy-page="learn"] .lesson-instruction-body li {
   color: inherit;
   font-size: 15px;
   line-height: 1.7;
}

body[data-academy-page="learn"] .lesson-instruction-body ul,
body[data-academy-page="learn"] .lesson-instruction-body ol {
   padding-left: 22px;
}

body[data-academy-page="learn"] .lesson-instruction-empty {
   color: #788579;
   font-style: italic;
}

body[data-academy-page="learn"] #lesson-exercise-files {
   margin-top: 16px;
   padding: 20px 24px;
   border: 1px solid #e1e8da;
   background: #fbfdf8
}

body[data-academy-page="learn"] #lesson-exercise-files[hidden] { display: none }

body[data-academy-page="learn"] #lesson-exercise-files h2 i { margin-right: 8px; color: #b16f43 }

body[data-academy-page="learn"] .lesson-exercise-list { display: grid; gap: 8px }

body[data-academy-page="learn"] .lesson-exercise-list a {
   display: flex;
   align-items: center;
   gap: 10px;
   padding: 12px 14px;
   border: 1px solid #dce7d5;
   border-radius: 10px;
   background: #fff;
   color: #355633;
   text-decoration: none
}

body[data-academy-page="learn"] .lesson-exercise-list a span { flex: 1; overflow-wrap: anywhere }
body[data-academy-page="learn"] .lesson-exercise-list a:hover { background: #eef5e9 }

body[data-academy-page="learn"] .learning-instructor-card {
   max-width: 760px;
   padding: 28px;
   border: 1px solid #e1e8da;
   border-radius: 18px;
   background: linear-gradient(135deg, #fbfdf8, #f4f8ef);
   box-shadow: 0 10px 26px rgba(45, 70, 39, .07);
}

body[data-academy-page="learn"] .learning-instructor-heading {
   display: flex;
   align-items: center;
   gap: 18px;
}

body[data-academy-page="learn"] .learning-instructor-avatar {
   display: grid;
   width: 86px;
   height: 86px;
   flex: 0 0 86px;
   place-items: center;
   overflow: hidden;
   border: 4px solid #fff;
   border-radius: 50%;
   background: #eaf1e2;
   color: #5e7959;
   font-size: 30px;
   box-shadow: 0 8px 18px rgba(45, 70, 39, .12);
}

body[data-academy-page="learn"] .learning-instructor-avatar img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

body[data-academy-page="learn"] .learning-instructor-heading small {
   color: #b16f43;
   font-size: 11px;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase;
}

body[data-academy-page="learn"] .learning-instructor-heading h2 {
   margin: 5px 0 3px;
   color: #355633;
   font-size: 24px;
}

body[data-academy-page="learn"] .learning-instructor-heading strong {
   color: #667566;
   font-size: 14px;
   font-weight: 600;
}

body[data-academy-page="learn"] .learning-instructor-bio {
   margin-top: 22px;
   padding-top: 20px;
   border-top: 1px solid #dfe8d8;
   color: #566657;
   font-size: 15px;
   line-height: 1.75;
}

body[data-academy-page="learn"] .learning-instructor-empty {
   padding: 28px;
   border: 1px dashed #cbdac2;
   border-radius: 16px;
   background: #fbfdf8;
   color: #718071;
   text-align: center;
}

body[data-academy-page="learn"] .learning-instructor-empty i {
   display: block;
   margin-bottom: 10px;
   color: #78936e;
   font-size: 30px;
}

body[data-academy-page="learn"] .learning-instructor-empty h2 {
   margin: 0 0 6px;
   color: #355633;
   font-size: 20px;
}

body[data-academy-page="learn"] .learning-lesson-meta {
   font-size: 14px;
   gap: 22px;
   margin: 20px 0
}

body[data-academy-page="learn"] .learning-main .academy-panel h2 {
   font-size: 20px
}

body[data-academy-page="learn"] .learning-main .academy-panel p,
body[data-academy-page="learn"] #playback-status {
   font-size: 14px
}

body[data-academy-page="learn"] .academy-live button {
   font-size: 14px;
   min-height: 44px
}

body[data-academy-page="learn"] .learning-side .academy-panel {
   padding: 22px
}

body[data-academy-page="learn"] .learning-side .academy-panel h2 {
   font-size: 20px;
   margin-bottom: 14px
}

body[data-academy-page="learn"] .learning-side .academy-panel>p {
   font-size: 14px;
   margin: 8px 0
}

body[data-academy-page="learn"] .learning-side .academy-note,
body[data-academy-page="learn"] .learning-side .academy-thread {
   font-size: 13px;
   padding: 15px
}

body[data-academy-page="learn"] .course-curriculum-head h2 {
   font-size: 22px
}

body[data-academy-page="learn"] .course-curriculum-head>p,
body[data-academy-page="learn"] .course-curriculum-head>p strong {
   font-size: 13px
}

body[data-academy-page="learn"] .course-curriculum-head>div small {
   font-size: 11px
}

body[data-academy-page="learn"] .course-curriculum-card .academy-curriculum button {
   min-height: 72px
}

body[data-academy-page="learn"] .course-curriculum-card .academy-curriculum button>span strong {
   font-size: 15px
}

body[data-academy-page="learn"] .course-curriculum-card .academy-curriculum button>span small {
   font-size: 12px
}

body[data-academy-page="learn"] .course-review-heading h2 {
   font-size: 20px
}

body[data-academy-page="learn"] .course-review-heading a,
body[data-academy-page="learn"] .course-review-summary small,
body[data-academy-page="learn"] .course-review-list article strong,
body[data-academy-page="learn"] .course-review-list article p {
   font-size: 12px
}

body[data-academy-page="learn"] .course-review-summary>div:last-child p {
   font-size: 12px;
   grid-template-columns: 35px 1fr 32px
}

body[data-academy-page="learn"] .course-review-form {
   margin-top: 18px;
   border-top: 1px solid #e4e9df;
   padding-top: 18px;
   font-size: 14px
}

body[data-academy-page="learn"] .course-review-form summary {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   cursor: pointer;
   color: #31572d;
   font-weight: 700;
   list-style: none
}

body[data-academy-page="learn"] .course-review-form summary::-webkit-details-marker {
   display: none
}

body[data-academy-page="learn"] .course-review-form summary span {
   display: inline-flex;
   align-items: center;
   gap: 8px
}

body[data-academy-page="learn"] .course-review-form summary span i {
   color: #587c4d;
   font-size: 17px
}

body[data-academy-page="learn"] .course-review-form summary small {
   color: #7b8978;
   font-size: 12px;
   font-weight: 400
}

body[data-academy-page="learn"] .course-review-form form {
   display: grid;
   gap: 18px;
   margin-top: 20px;
   padding: 20px;
   border: 1px solid #e4eadc;
   border-radius: 12px;
   background: #fbfcf8
}

body[data-academy-page="learn"] .review-rating-field,
body[data-academy-page="learn"] .review-copy-field {
   display: grid;
   gap: 8px;
   margin: 0;
   padding: 0;
   border: 0;
   color: #304a32;
   font-weight: 700
}

body[data-academy-page="learn"] .review-rating-field legend {
   margin-bottom: 10px;
   padding: 0;
   font-size: 15px
}

body[data-academy-page="learn"] .review-rating-options {
   display: flex;
   gap: 9px
}

body[data-academy-page="learn"] .review-rating-options input {
   position: absolute;
   width: 1px;
   height: 1px;
   overflow: hidden;
   clip: rect(0 0 0 0)
}

body[data-academy-page="learn"] .review-rating-options label {
   display: grid;
   place-items: center;
   width: 44px;
   height: 44px;
   border: 1px solid #dce5d4;
   border-radius: 10px;
   background: #fff;
   color: #b9c5b3;
   cursor: pointer;
   transition: border-color .2s, background .2s, color .2s, transform .2s
}

body[data-academy-page="learn"] .review-rating-options label:hover,
body[data-academy-page="learn"] .review-rating-options input:focus-visible + label {
   border-color: #7c9a70;
   color: #6f935e
}

body[data-academy-page="learn"] .review-rating-options[data-rating="1"] label:nth-of-type(-n+1),
body[data-academy-page="learn"] .review-rating-options[data-rating="2"] label:nth-of-type(-n+2),
body[data-academy-page="learn"] .review-rating-options[data-rating="3"] label:nth-of-type(-n+3),
body[data-academy-page="learn"] .review-rating-options[data-rating="4"] label:nth-of-type(-n+4),
body[data-academy-page="learn"] .review-rating-options[data-rating="5"] label:nth-of-type(-n+5) {
   border-color: #6d8e5e;
   background: #edf3e7;
   color: #e8a21a;
   transform: translateY(-2px)
}

body[data-academy-page="learn"] .review-rating-options label span {
   position: absolute;
   width: 1px;
   height: 1px;
   overflow: hidden;
   clip: rect(0 0 0 0)
}

body[data-academy-page="learn"] .review-rating-hint {
   margin: 2px 0 0;
   color: #6c7c6a;
   font-size: 12px;
   font-weight: 400
}

body[data-academy-page="learn"] .review-copy-field textarea {
   min-height: 126px;
   resize: vertical
}

body[data-academy-page="learn"] .review-copy-field small,
body[data-academy-page="learn"] .review-form-actions small {
   color: #7b8978;
   font-size: 12px;
   font-weight: 400
}

body[data-academy-page="learn"] .review-form-actions {
   display: flex;
   align-items: center;
   gap: 14px;
   flex-wrap: wrap
}

body[data-academy-page="learn"] .course-review-form button {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   justify-self: start
}

body[data-academy-page="learn"] .course-review-form button:disabled {
   cursor: wait;
   opacity: .65
}

.learning-quick-actions {
   display: grid;
   gap: 10px
}

.learning-quick-action {
   display: grid;
   grid-template-columns: 44px minmax(0, 1fr) auto;
   align-items: center;
   gap: 12px;
   padding: 14px 16px;
   border: 1px solid #e0e7d9;
   border-radius: 12px;
   background: #fff;
   color: #304a32 !important;
   text-decoration: none;
   box-shadow: 0 8px 24px #2838160a;
   transition: border-color .2s, background .2s, transform .2s
}

.learning-quick-action-button {
   width: 100%;
   text-align: left;
   border: 1px solid #dce6d5 !important;
   background: #fff !important;
   color: #304a32 !important;
   font: inherit;
   cursor: pointer
}

.learning-quick-action-button .learning-quick-action-label {
   display: grid;
   min-width: 0;
   gap: 3px;
   color: #304a32 !important
}

.learning-quick-action-button .learning-quick-action-label strong {
   display: block;
   color: #304a32 !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   line-height: 1.25
}

.learning-quick-action-button .learning-quick-action-label small {
   display: block;
   color: #69796a !important;
   font-size: 12px !important;
   font-weight: 400;
   line-height: 1.35
}

.learning-quick-action-button .learning-quick-icon {
   color: #41623e !important
}

.learning-quick-action-button>[data-invoice-arrow] {
   color: #678061 !important
}

.learning-quick-action-button:disabled {
   cursor: wait;
   opacity: .78;
   transform: none
}

.learning-quick-action-button.is-loading {
   border-color: #9eaf90;
   background: #f8faf5
}

.academy-invoice-spinner {
   display: inline-block;
   animation: academy-invoice-spin .8s linear infinite
}

@keyframes academy-invoice-spin {
   to { transform: rotate(360deg) }
}

.learning-quick-action:hover {
   border-color: #9eaf90;
   background: #f8faf5;
   transform: translateY(-1px);
   text-decoration: none
}

.learning-quick-icon {
   display: grid;
   place-items: center;
   width: 44px;
   height: 44px;
   border-radius: 11px;
   background: #edf3e7;
   color: #41623e;
   font-size: 20px
}

.learning-quick-action>span:nth-child(2) {
   display: grid;
   gap: 2px;
   min-width: 0
}

.learning-quick-action strong {
   font-size: 14px
}

.learning-quick-action small {
   font-size: 12px;
   color: #69796a
}

.learning-quick-action>.bi-arrow-up-right {
   font-size: 16px;
   color: #678061
}

/* Keep the right rail in normal document flow: a sticky curriculum covers notes
   and discussions when learners jump to those sections. */
body[data-academy-page="learn"] .learning-side .course-curriculum-card {
   position: static;
   top: auto
}

body[data-academy-page="learn"] .learning-side>section {
   scroll-margin-top: 110px
}

body[data-academy-page="learn"] .learning-nav .academy-wishlist-button {
   display: flex;
   width: 100%;
   min-width: 0;
   min-height: 48px;
   margin-top: 14px;
   align-items: center;
   justify-content: center;
   gap: 8px;
   border: 1px solid #bb6d45 !important;
   border-radius: 10px;
   background: #fffaf7 !important;
   color: #a64b1d !important;
   font-size: 13px;
   font-weight: 700;
   text-decoration: none
}

body[data-academy-page="learn"] .learning-nav .academy-wishlist-button:hover,
body[data-academy-page="learn"] .learning-nav .academy-wishlist-button.is-saved {
   background: #fff1e9 !important;
   color: #963f16 !important
}

body[data-academy-page="learn"] .academy-learning-page {
   grid-template-columns: minmax(235px, 280px) minmax(0, 1fr) minmax(290px, 340px)
}

body[data-academy-page="learn"] .learning-main {
   scroll-margin-top: 105px;
   min-width: 0
}

.learning-tabs {
   display: flex;
   gap: 6px;
   overflow-x: auto;
   padding: 0 0 16px;
   margin-bottom: 22px;
   border-bottom: 1px solid #e2e8dd;
   scrollbar-width: thin
}

body[data-academy-page="learn"] .learning-tabs button {
   flex: 0 0 auto;
   min-height: 42px;
   padding: 10px 14px;
   border: 0;
   border-radius: 9px;
   background: transparent;
   color: #5b6c5e !important;
   white-space: nowrap;
   font-size: 14px
}

body[data-academy-page="learn"] .learning-tabs button:hover {
   background: #f3f7ef;
   color: #31572d !important
}

body[data-academy-page="learn"] .learning-tabs button.is-active {
   background: #eaf1e3;
   color: #31572d !important;
   font-weight: 700
}

.learning-tab-panel {
   min-width: 0
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel.academy-panel,
body[data-academy-page="learn"] .learning-main>.learning-tab-panel.course-reviews-card {
   border: 0;
   box-shadow: none;
   padding: 8px 4px 18px;
   margin: 0
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel>h2 {
   margin: 0 0 18px;
   font: 700 24px/1.2 Arial, sans-serif
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-note,
body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-thread {
   padding: 22px;
   margin: 0 0 16px;
   font-size: 15px;
   background: #fff
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-note h3,
body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-thread h3 {
   font-size: 19px;
   margin: 0 0 8px
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-note small,
body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-thread small {
   font-size: 13px;
   color: #718070
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-actions {
   gap: 10px
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-actions a {
   font-size: 14px
}

body[data-academy-page="learn"] .academy-notes-heading {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 18px;
   margin: 0 0 20px
}

body[data-academy-page="learn"] .academy-notes-eyebrow {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   color: #ad6a43;
   font-size: 10px;
   font-weight: 700;
   letter-spacing: .12em;
   text-transform: uppercase
}

body[data-academy-page="learn"] .academy-notes-heading h2 {
   margin: 5px 0 4px !important;
   color: #304a32;
   font-size: 26px !important
}

body[data-academy-page="learn"] .academy-notes-heading p {
   margin: 0;
   color: #748172;
   font-size: 13px
}

body[data-academy-page="learn"] .academy-notes-count {
   flex: 0 0 auto;
   padding: 8px 12px;
   border-radius: 999px;
   background: #edf3e7;
   color: #55754e;
   font-size: 12px
}

body[data-academy-page="learn"] .academy-notes-toolbar {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   margin-bottom: 16px
}

body[data-academy-page="learn"] .academy-notes-toolbar>button,
body[data-academy-page="learn"] .academy-notes-empty button {
   min-height: 42px;
   padding: 10px 16px;
   border: 0;
   border-radius: 9px;
   background: #4e7040;
   color: #fff !important;
   font-size: 13px;
   font-weight: 700
}

body[data-academy-page="learn"] .academy-notes-toolbar>label {
   display: flex;
   align-items: center;
   flex: 1;
   max-width: 360px;
   min-height: 42px;
   gap: 9px;
   padding: 0 13px;
   border: 1px solid #d6e1ce;
   border-radius: 9px;
   background: #fff;
   color: #7a8a79
}

body[data-academy-page="learn"] .academy-notes-toolbar input {
   width: 100%;
   min-width: 0;
   padding: 0;
   border: 0;
   outline: 0;
   color: #304a32;
   font-size: 13px
}

body[data-academy-page="learn"] .academy-notes-list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-note {
   display: flex;
   flex-direction: column;
   min-width: 0;
   min-height: 190px;
   margin: 0;
   padding: 18px;
   border: 1px solid #dfe8d9;
   border-radius: 14px;
   background: linear-gradient(145deg, #fff 0%, #fbfdf9 100%);
   box-shadow: 0 8px 22px #2838160b
}

body[data-academy-page="learn"] .academy-note-top {
   display: flex;
   align-items: center;
   gap: 11px;
   min-width: 0
}

body[data-academy-page="learn"] .academy-note-icon {
   display: grid;
   flex: 0 0 auto;
   place-items: center;
   width: 36px;
   height: 36px;
   border-radius: 10px;
   background: #edf3e7;
   color: #557b4d
}

body[data-academy-page="learn"] .academy-note-top h3 {
   overflow: hidden;
   margin: 0 0 3px !important;
   color: #304a32;
   font-size: 16px !important;
   text-overflow: ellipsis;
   white-space: nowrap
}

body[data-academy-page="learn"] .academy-note-top small {
   display: block;
   overflow: hidden;
   color: #829080 !important;
   font-size: 11px !important;
   text-overflow: ellipsis;
   white-space: nowrap
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel .academy-note>p {
   display: -webkit-box;
   flex: 1;
   margin: 16px 0;
   overflow: hidden;
   color: #536553;
   font-size: 13px;
   line-height: 1.55;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3
}

body[data-academy-page="learn"] .academy-note-actions {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 7px;
   padding-top: 12px;
   border-top: 1px solid #edf1ea
}

body[data-academy-page="learn"] .academy-note-actions a,
body[data-academy-page="learn"] .academy-note-actions button {
   min-height: 32px;
   padding: 7px 9px;
   border-radius: 7px;
   font-size: 11px !important
}

body[data-academy-page="learn"] .academy-note-actions a {
   margin-right: auto;
   color: #4e7040;
   font-weight: 700
}

body[data-academy-page="learn"] .academy-notes-empty {
   display: grid;
   justify-items: center;
   gap: 8px;
   grid-column: 1 / -1;
   padding: 42px 20px;
   border: 1px dashed #cbdac4;
   border-radius: 14px;
   background: #fbfdf9;
   color: #748172;
   text-align: center
}

body[data-academy-page="learn"] .academy-notes-empty i {
   color: #6a8b5a;
   font-size: 30px
}

body[data-academy-page="learn"] .academy-notes-empty strong {
   color: #304a32;
   font-size: 16px
}

body[data-academy-page="learn"] .academy-notes-empty span {
   max-width: 300px;
   font-size: 13px
}

body[data-academy-page="learn"] .learning-main>.learning-tab-panel>button {
   margin-bottom: 20px
}

body[data-academy-page="learn"] .learning-side>.learning-quick-actions {
   border: 0;
   padding: 0;
   background: transparent;
   box-shadow: none
}

.academy-editor-modal {
   max-width: 610px;
   padding: 30px 34px 34px;
   box-shadow: 0 26px 80px #14201630
}

.academy-modal-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px
}

.academy-modal-eyebrow {
   color: #7b8d73;
   font: 700 11px/1.3 Arial, sans-serif;
   letter-spacing: .16em
}

.academy-editor-modal .academy-modal-close {
   display: grid;
   place-items: center;
   width: 38px;
   height: 38px;
   padding: 0;
   border: 1px solid #e0e7d9;
   border-radius: 50%;
   background: #fff;
   color: #39533a !important;
   font-size: 16px;
   cursor: pointer
}

.academy-editor-modal h2 {
   margin: 8px 0 6px;
   color: #304a32;
   font: 700 28px/1.2 Arial, sans-serif
}

.academy-modal-intro {
   margin: 0 0 24px;
   color: #69776a;
   font: 400 14px/1.6 Arial, sans-serif
}

.academy-editor-form {
   display: grid;
   gap: 17px
}

.academy-editor-form label {
   display: grid;
   gap: 8px;
   margin: 0;
   color: #334938;
   font: 700 14px/1.3 Arial, sans-serif
}

.academy-editor-form input,
.academy-editor-form select,
.academy-editor-form textarea {
   display: block;
   width: 100%;
   margin: 0;
   padding: 13px 14px;
   border: 1px solid #cdd9c7;
   border-radius: 10px;
   background: #fff;
   color: #293f31;
   font: 400 15px/1.5 Arial, sans-serif;
   outline: none
}

.academy-editor-form input:focus,
.academy-editor-form select:focus,
.academy-editor-form textarea:focus {
   border-color: #597a50;
   box-shadow: 0 0 0 3px #dce9d6
}

.academy-editor-form textarea {
   min-height: 135px;
   resize: vertical
}

.academy-editor-context {
   display: flex;
   align-items: center;
   gap: 8px;
   margin: 0;
   color: #68766a;
   font: 400 13px/1.5 Arial, sans-serif
}

.academy-editor-context i {
   color: #52734b
}

.academy-modal-actions {
   display: flex;
   justify-content: flex-end;
   gap: 10px;
   margin-top: 5px;
   padding-top: 20px;
   border-top: 1px solid #e7ebe3
}

.academy-modal-actions button {
   min-height: 45px;
   padding: 11px 20px;
   border: 1px solid #4e7040;
   border-radius: 9px;
   background: #4e7040;
   color: #fff;
   font: 700 14px/1.3 Arial, sans-serif;
   cursor: pointer
}

.academy-modal-actions button.academy-secondary {
   background: #fff;
   border-color: #d1ddca;
   color: #4e7040
}

@media(max-width:1200px) {
   body[data-academy-page="learn"] .academy-learning-page {
      grid-template-columns: 220px minmax(0, 1fr)
   }

   body[data-academy-page="learn"] .learning-side {
      grid-column: 2
   }

   body[data-academy-page="learn"] .learning-nav {
      grid-row: 1/3
   }
}

@media(max-width:760px) {
   body[data-academy-page="learn"] .academy-live {
      width: calc(100% - 48px);
      padding-top: 18px
   }

   body[data-academy-page="learn"] .academy-learning-page {
      grid-template-columns: 1fr;
      gap: 16px
   }

   body[data-academy-page="learn"] .learning-nav {
      grid-row: auto
   }

   body[data-academy-page="learn"] .learning-side {
      grid-column: auto
   }

   body[data-academy-page="learn"] .learning-main {
      padding: 14px
   }

   .academy-editor-modal {
      padding: 22px
   }

   .academy-modal-actions {
      flex-direction: column-reverse
   }

   .academy-modal-actions button {
      width: 100%
   }
}

/* Typography refinement */
.academy-live,
.academy-live h1,
.academy-live h2,
.academy-live h3,
.academy-live p,
.academy-live a,
.academy-live button,
.academy-live input,
.academy-live select,
.academy-live textarea {
   font-family: 'DM Sans', Arial, sans-serif;
}

.academy-live h1 { font-size: clamp(28px, 3vw, 42px); font-weight: 600; line-height: 1.14; }
.academy-live h2 { font-size: 23px; font-weight: 600; }
.academy-live h3 { font-weight: 600; }
.academy-live .academy-account-nav h2 { font-size: 21px; font-weight: 600; }
.academy-live .academy-account-nav a { font-weight: 500; }
.academy-live .academy-dashboard-hero h1 { max-width: 620px; font-size: clamp(32px, 3.4vw, 45px); font-weight: 600; line-height: 1.08; }
.academy-live .academy-dashboard-hero p { font-weight: 400; }
.academy-live .academy-dashboard-kpis strong { font-weight: 600; }
.academy-live .academy-summary-card-info strong { font-weight: 600; }
.academy-live .academy-summary-card-link,
.academy-live .academy-card-action-btn,
.academy-live .academy-widget-action-btn,
.academy-live .promo-banner-btn { font-weight: 600; }
.academy-live .academy-widget-card h3,
.academy-live .academy-dashboard-next-card h3 { font-weight: 600; }
.academy-live .academy-card h2,
.academy-live .academy-card h3 { font-size: 18px; font-weight: 600; }
.academy-live .academy-dashboard-courses { padding: 22px; }

@media(max-width:760px) {
   .academy-live .academy-dashboard-hero h1 { font-size: 32px; }
   .academy-live h1 { font-size: 30px; }
}

/* Learner workspace type system and My Courses reference layout. */
.academy-live,
.academy-live *:not(.bi) {
   font-family: 'DM Sans', Arial, sans-serif !important;
}

body[data-academy-page] {
   font-family: 'DM Sans', Arial, sans-serif;
}

.academy-live .academy-my-courses-layout {
   grid-template-columns: minmax(0, 1fr) 292px;
   gap: 24px;
}

.academy-live .academy-my-courses-header {
   margin: 2px 0 22px;
}

.academy-live .academy-my-courses-header h1 {
   margin: 0 0 6px;
   font-size: clamp(32px, 3vw, 42px);
   font-weight: 600;
   letter-spacing: -.02em;
}

.academy-live .academy-my-courses-header p {
   font-size: 13px;
}

.academy-live .academy-summary-grid {
   grid-template-columns: repeat(5, minmax(0, 1fr));
   gap: 12px;
   margin-bottom: 22px;
}

.academy-live .academy-summary-card {
   min-height: 112px;
   border-radius: 13px;
   box-shadow: 0 5px 16px rgba(39,72,42,.045);
   padding: 14px;
}

.academy-live .academy-summary-card-icon {
   width: 31px;
   height: 31px;
   border-radius: 9px;
   font-size: 15px;
}

.academy-live .academy-summary-card-info {
   margin-top: 11px;
}

.academy-live .academy-summary-card-info strong {
   font-size: 19px;
}

.academy-live .academy-summary-card-info span,
.academy-live .academy-summary-card-link {
   font-size: 10px;
}

.academy-live .academy-summary-card-link {
   margin-top: 8px;
}

.academy-live .academy-my-courses-bar {
   align-items: center;
   margin-bottom: 16px;
   padding-bottom: 10px;
}

.academy-live .academy-status-tabs {
   flex-wrap: nowrap;
   overflow-x: auto;
   scrollbar-width: none;
}

.academy-live .academy-status-tabs::-webkit-scrollbar { display: none; }
.academy-live .academy-tab-btn { white-space: nowrap; font-weight: 500 !important; }

.academy-live .academy-my-courses-main > .academy-grid {
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
}

.academy-live .academy-card {
   border-radius: 13px;
   box-shadow: 0 6px 18px rgba(39,72,42,.055);
}

.academy-live .academy-card-media { height: 145px; }
.academy-live .academy-card-body { gap: 8px; padding: 15px; }
.academy-live .academy-card h3 { font-size: 16px; line-height: 1.25; }
.academy-live .academy-card-meta { font-size: 10px; }
.academy-live .academy-card-action-btn { min-height: 34px; border-radius: 7px; font-size: 11px; }

.academy-live .academy-my-courses-aside .academy-widget-card {
   border-radius: 15px;
   box-shadow: 0 6px 18px rgba(39,72,42,.05);
   padding: 18px;
}

.academy-live .academy-my-courses-aside .academy-widget-card h3 {
   margin-bottom: 14px;
   font-size: 16px;
   font-weight: 600;
}

/* Premium My Courses composition */
.academy-live .academy-my-courses-header {
   margin: 0 0 24px;
   padding: 4px 0 20px;
   border-bottom: 1px solid #e7eee3
}

.academy-live .academy-my-courses-title-row {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 22px
}

.academy-live .academy-my-courses-header .academy-eyebrow {
   display: inline-block;
   color: #ad6a43;
   font-size: 10px;
   font-weight: 800;
   letter-spacing: .14em
}

.academy-live .academy-my-courses-header h1 {
   margin: 7px 0 5px;
   color: #304a32;
   font-size: clamp(34px, 3.5vw, 48px);
   letter-spacing: -.035em
}

.academy-live .academy-my-courses-header p {
   font-size: 13px
}

.academy-library-highlight {
   display: flex;
   align-items: center;
   gap: 11px;
   min-width: 190px;
   padding: 12px 14px;
   border: 1px solid #dbe8d5;
   border-radius: 14px;
   background: linear-gradient(135deg, #f4f8ef, #fffaf2)
}

.academy-library-highlight>i {
   display: grid;
   width: 34px;
   height: 34px;
   place-items: center;
   border-radius: 10px;
   background: #e4efdc;
   color: #a66a43
}

.academy-library-highlight strong,
.academy-library-highlight span {
   display: block
}

.academy-library-highlight strong {
   color: #315e37;
   font-size: 12px
}

.academy-library-highlight span {
   margin-top: 3px;
   color: #7b887c;
   font-size: 10px
}

.academy-live .academy-summary-card {
   min-height: 132px;
   border-radius: 14px;
   box-shadow: 0 8px 20px rgba(39,72,42,.045)
}

.academy-live .academy-summary-card:nth-child(2) { background: linear-gradient(145deg,#fff,#f8fbf5); }
.academy-live .academy-summary-card:nth-child(3) { background: linear-gradient(145deg,#fff,#f5faf2); }
.academy-live .academy-summary-card:nth-child(5) { background: linear-gradient(145deg,#fffaf2,#fff); }

.academy-live .academy-my-courses-bar {
   margin-top: 6px;
   padding: 10px;
   justify-content: flex-start;
   border: 1px solid #e2eadf;
   border-radius: 13px;
   background: #fbfdf9
}

.academy-live .academy-my-courses-bar .academy-status-tabs {
   width: 100%;
   justify-content: flex-start
}

.academy-live .academy-status-tabs .academy-tab-btn {
   border: 1px solid transparent !important;
   background: transparent !important;
   color: #718070 !important;
   font-size: 11px !important;
   font-weight: 600 !important
}

.academy-live .academy-status-tabs .academy-tab-btn:hover {
   background: #edf5e9 !important;
   color: #315e37 !important
}

.academy-live .academy-status-tabs .academy-tab-btn.is-active {
   border-color: #c7ddbd !important;
   background: #e9f3e3 !important;
   color: #315e37 !important
}

.academy-live .academy-view-toggle button {
   border: 0 !important;
   background: transparent !important;
   color: #718070 !important;
   font-size: 12px !important
}

.academy-live .academy-view-toggle button.is-active {
   background: #315e37 !important;
   color: #fff !important
}

.academy-live .academy-sort-label {
   color: #718070 !important
}

.academy-live .academy-sort-label select {
   border-color: #d4e1cf !important;
   background: #fff !important;
   color: #304a32 !important
}

.academy-live .academy-card {
   overflow: hidden;
   border: 1px solid #dfe9db;
   border-radius: 16px;
   box-shadow: 0 10px 24px rgba(39,72,42,.06);
   transition: transform .2s, box-shadow .2s, border-color .2s
}

.academy-live .academy-card:hover {
   border-color: #b9d0af;
   box-shadow: 0 16px 30px rgba(39,72,42,.1);
   transform: translateY(-3px)
}

.academy-live .academy-card-media { height: 178px; }
.academy-live .academy-card-status-pill { display: inline-flex; align-items: center; gap: 5px; padding: 6px 10px; }
.academy-live .academy-card-status-pill i { font-size: 10px; }
.academy-live .academy-card-body { display: flex; flex-direction: column; min-height: 190px; gap: 10px; padding: 17px; }

.academy-card-kicker {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 8px;
   color: #7a8977;
   font-size: 10px;
   font-weight: 700;
   letter-spacing: .02em;
   text-transform: uppercase
}

.academy-card-kicker span:first-child { color: #ad6a43; }
.academy-live .academy-card h3 { margin: 0; color: #304a32; font-size: 18px; line-height: 1.2; }
.academy-live .academy-card-meta { margin-top: -2px; font-size: 11px; }

.academy-card-progress-label {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 8px;
   margin-top: auto;
   color: #809080;
   font-size: 10px
}

.academy-card-progress-label strong { color: #4f7745; font-size: 11px; }
.academy-live .academy-card-progress-strip { margin-top: -4px; }
.academy-live .academy-card-action-btn { width: 100%; min-height: 40px; gap: 7px; }

@media(max-width:760px) {
   .academy-live .academy-my-courses-title-row { align-items: flex-start; flex-direction: column; }
   .academy-library-highlight { width: 100%; }
   .academy-live .academy-my-courses-bar { padding: 9px; }
}

@media(max-width:1200px) {
   .academy-live .academy-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
   .academy-live .academy-my-courses-main > .academy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media(max-width:760px) {
   .academy-live .academy-my-courses-layout { grid-template-columns: 1fr; }
   .academy-live .academy-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
   .academy-live .academy-my-courses-main > .academy-grid { grid-template-columns: 1fr; }
   .academy-live .academy-card-media { height: 180px; }
}

@media(max-width:640px) {
   body[data-academy-page="learn"] .academy-notes-heading {
      align-items: flex-start;
      flex-direction: column;
      gap: 10px
   }

   body[data-academy-page="learn"] .academy-notes-toolbar {
      align-items: stretch;
      flex-direction: column
   }

   body[data-academy-page="learn"] .academy-notes-toolbar>label {
      max-width: none
   }

   body[data-academy-page="learn"] .academy-notes-list {
      grid-template-columns: 1fr
   }
}

/* Premium certificate module */
.academy-certificates-page {
   display: grid;
   gap: 20px
}

.academy-certificates-header {
   display: flex;
   align-items: flex-end;
   justify-content: space-between;
   gap: 22px;
   padding-bottom: 22px;
   border-bottom: 1px solid #e7eee3
}

.academy-certificates-header .academy-eyebrow {
   color: #ad6a43;
   font-size: 10px;
   font-weight: 800;
   letter-spacing: .14em
}

.academy-certificates-header h1 {
   margin: 8px 0 6px;
   color: #304a32;
   font-size: clamp(34px, 3.7vw, 48px);
   letter-spacing: -.035em
}

.academy-certificates-header p {
   max-width: 560px;
   margin: 0;
   color: #728073;
   font-size: 13px
}

.academy-certificate-summary {
   display: flex;
   align-items: center;
   gap: 11px;
   min-width: 170px;
   padding: 12px 15px;
   border: 1px solid #dbe8d5;
   border-radius: 14px;
   background: linear-gradient(135deg, #f4f8ef, #fffaf2)
}

.academy-certificate-summary-icon,
.academy-certificate-empty-icon {
   display: grid;
   place-items: center;
   border-radius: 12px;
   background: #f9edcf;
   color: #b47a28
}

.academy-certificate-summary-icon { width: 38px; height: 38px; font-size: 18px; }
.academy-certificate-summary strong, .academy-certificate-summary span { display: block; }
.academy-certificate-summary strong { color: #315e37; font-size: 20px; }
.academy-certificate-summary span { margin-top: 2px; color: #7c897d; font-size: 10px; }

.academy-certificate-intro {
   display: flex;
   align-items: center;
   gap: 12px;
   padding: 15px 18px;
   border: 1px solid #e3eadf;
   border-radius: 13px;
   background: #fbfdf9
}

.academy-certificate-intro>i {
   color: #b47a28;
   font-size: 22px
}

.academy-certificate-intro strong,
.academy-certificate-intro span { display: block; }
.academy-certificate-intro strong { color: #3d603f; font-size: 13px; }
.academy-certificate-intro span { margin-top: 3px; color: #7b887c; font-size: 11px; }

.academy-certificates-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px
}

.academy-certificate-card {
   position: relative;
   overflow: hidden;
   border: 1px solid #dce8d7;
   border-radius: 18px;
   background: linear-gradient(145deg, #fff 0%, #f8fbf5 100%);
   box-shadow: 0 12px 28px rgba(39,72,42,.07);
   transition: transform .2s, box-shadow .2s, border-color .2s
}

.academy-certificate-card::after {
   position: absolute;
   right: -40px;
   top: -55px;
   width: 160px;
   height: 160px;
   border: 1px solid #dce9d580;
   border-radius: 50%;
   content: ''
}

.academy-certificate-card:hover {
   border-color: #b9d0af;
   box-shadow: 0 18px 34px rgba(39,72,42,.12);
   transform: translateY(-3px)
}

.academy-certificate-card-top {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   padding: 18px 18px 0
}

.academy-certificate-seal {
   display: grid;
   width: 48px;
   height: 48px;
   place-items: center;
   border: 1px solid #e8cd8f;
   border-radius: 50%;
   background: #fff8e8;
   color: #b47a28;
   font-size: 22px
}

.academy-certificate-status {
   display: inline-flex;
   align-items: center;
   gap: 5px;
   border-radius: 999px;
   background: #e9f4e5;
   color: #35734b;
   padding: 6px 10px;
   font-size: 10px;
   font-weight: 800;
   text-transform: capitalize
}

.academy-certificate-content { position: relative; z-index: 1; padding: 18px; }
.academy-certificate-label { color: #ad6a43; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.academy-certificate-content h2 { margin: 7px 0 10px; color: #304a32; font-size: 21px; line-height: 1.2; }
.academy-certificate-number { display: flex; align-items: center; gap: 6px; margin: 0; color: #607460; font-size: 11px; font-weight: 700; word-break: break-word; }
.academy-certificate-number i { color: #6c8c5f; }
.academy-certificate-description { margin: 14px 0 0; color: #79867a; font-size: 12px; line-height: 1.55; }

.academy-certificate-actions {
   position: relative;
   z-index: 1;
   display: flex;
   align-items: center;
   gap: 9px;
   padding: 14px 18px 18px;
   border-top: 1px solid #e6eee2
}

.academy-certificate-primary,
.academy-certificate-secondary {
   display: inline-flex;
   min-height: 38px;
   align-items: center;
   justify-content: center;
   gap: 7px;
   border-radius: 9px;
   padding: 0 13px;
   font-size: 11px;
   font-weight: 700;
   text-decoration: none
}

.academy-certificate-primary { background: #4e7040; color: #fff !important; }
.academy-certificate-primary:hover { background: #315e37; }
.academy-certificate-secondary { border: 1px solid #cbdcc4; background: #fff; color: #4e7040 !important; }

.academy-certificates-empty {
   display: grid;
   justify-items: center;
   gap: 9px;
   padding: 64px 24px;
   border: 1px dashed #cbdac4;
   border-radius: 18px;
   background: linear-gradient(145deg, #fbfdf9, #fffaf2);
   text-align: center
}

.academy-certificate-empty-icon { width: 64px; height: 64px; font-size: 29px; }
.academy-certificates-empty h2 { margin: 5px 0 0; color: #304a32; font-size: 23px; }
.academy-certificates-empty p { max-width: 390px; margin: 0 0 10px; color: #778579; font-size: 13px; }

@media(max-width:760px) {
   .academy-certificates-header { align-items: flex-start; flex-direction: column; }
   .academy-certificate-summary { width: 100%; }
   .academy-certificates-grid { grid-template-columns: 1fr; }
}

/* Final premium composition for account notes and discussions */
body[data-academy-page="notes"] .academy-main-section,
body[data-academy-page="discussions"] .academy-main-section { padding-bottom: 44px; }
body[data-academy-page="notes"] #account-content,
body[data-academy-page="discussions"] #account-content { position:relative; }
body[data-academy-page="notes"] .academy-notes-page,
body[data-academy-page="discussions"] .academy-discussions-page { position:relative; padding:28px 30px 32px; border:1px solid #e4ecdf; border-radius:24px; background:linear-gradient(145deg,#ffffff 0%,#fbfdf9 64%,#f7f4eb 100%); box-shadow:0 20px 50px rgba(42,70,40,.08); overflow:hidden; }
body[data-academy-page="notes"] .academy-notes-page:before,
body[data-academy-page="discussions"] .academy-discussions-page:before { position:absolute; top:-110px; right:-90px; width:290px; height:290px; border:1px solid #e8eddf; border-radius:50%; content:""; box-shadow:0 0 0 32px #f8faf4,0 0 0 33px #edf2e8; pointer-events:none; }
body[data-academy-page="notes"] .academy-notes-heading,
body[data-academy-page="discussions"] .academy-discussions-heading { position:relative; z-index:1; padding:4px 0 25px; border-bottom:0; }
body[data-academy-page="notes"] .academy-notes-heading:after,
body[data-academy-page="discussions"] .academy-discussions-heading:after { position:absolute; right:0; bottom:0; left:0; height:1px; background:linear-gradient(90deg,#d9e5d2,transparent); content:""; }
body[data-academy-page="notes"] .academy-notes-eyebrow,
body[data-academy-page="discussions"] .academy-discussions-eyebrow { padding:7px 10px; border:1px solid #e2cdbd; border-radius:999px; background:#fffaf5; font-size:10px; }
body[data-academy-page="notes"] .academy-notes-heading p,
body[data-academy-page="discussions"] .academy-discussions-heading p { max-width:590px; font-size:14px; }
body[data-academy-page="notes"] .academy-notes-count { padding:11px 16px; box-shadow:0 8px 18px #4e704025; }
body[data-academy-page="notes"] .academy-notes-heading-meta>span { display:inline-flex; align-items:center; gap:5px; }
body[data-academy-page="notes"] .academy-notes-toolbar,
body[data-academy-page="discussions"] .academy-discussions-toolbar { position:relative; z-index:1; margin:25px 0 22px; padding:9px; border:1px solid #e3ebde; border-radius:15px; background:#f7faf4; }
body[data-academy-page="notes"] .academy-notes-toolbar>button,
body[data-academy-page="discussions"] .academy-discussions-toolbar>button { min-height:45px; padding-right:19px; padding-left:19px; border-radius:10px; }
body[data-academy-page="notes"] .academy-notes-toolbar>label,
body[data-academy-page="discussions"] .academy-discussions-toolbar>label { min-height:45px; border-color:#d5e2ce; background:#fff; }
body[data-academy-page="notes"] .academy-notes-list,
body[data-academy-page="discussions"] .academy-discussions-list { position:relative; z-index:1; gap:18px; }
body[data-academy-page="notes"] .academy-note { min-height:224px; padding:22px; border-color:#dce8d6; border-radius:18px; box-shadow:0 10px 26px rgba(42,70,40,.06); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
body[data-academy-page="notes"] .academy-note:hover { border-color:#b9d0ae; box-shadow:0 17px 30px rgba(42,70,40,.11); transform:translateY(-3px); }
body[data-academy-page="notes"] .academy-note-icon { width:44px; height:44px; border-radius:14px; background:#eaf3e5; box-shadow:inset 0 0 0 1px #d8e8d0; }
body[data-academy-page="notes"] .academy-note-top h3 { font-size:18px; }
body[data-academy-page="notes"] .academy-note>p { margin:20px 0; font-size:14px; }
body[data-academy-page="notes"] .academy-note-actions a,
body[data-academy-page="notes"] .academy-note-actions button { display:inline-flex; align-items:center; gap:6px; }
body[data-academy-page="notes"] .academy-note-actions button { border:1px solid #d4e1cd; background:#fff; color:#54764d; }
body[data-academy-page="notes"] .academy-note-actions button:hover { background:#edf5e8; }
body[data-academy-page="discussions"] .academy-discussions-summary { border:1px solid #dce8d3; box-shadow:0 8px 18px #4e704018; }
body[data-academy-page="discussions"] .academy-thread { grid-column:span 1; min-height:210px; padding:22px; border-color:#dce8d6; border-radius:18px; box-shadow:0 10px 26px rgba(42,70,40,.06); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
body[data-academy-page="discussions"] .academy-thread:hover { border-color:#b9d0ae; box-shadow:0 17px 30px rgba(42,70,40,.11); transform:translateY(-3px); }
body[data-academy-page="discussions"] .academy-thread-main { min-height:112px; }
body[data-academy-page="discussions"] .academy-thread-icon { width:44px; height:44px; border-radius:14px; background:#eaf3e5; box-shadow:inset 0 0 0 1px #d8e8d0; }
body[data-academy-page="discussions"] .academy-thread h3 { font-size:19px; }
body[data-academy-page="discussions"] .academy-thread-actions button { border:1px solid #d4e1cd; background:#fff; color:#54764d; }
body[data-academy-page="discussions"] .academy-thread-actions button:hover { background:#edf5e8; }
@media (min-width:1050px) {
  body[data-academy-page="notes"] .academy-notes-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-academy-page="discussions"] .academy-discussions-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  body[data-academy-page="notes"] .academy-notes-page,
  body[data-academy-page="discussions"] .academy-discussions-page { padding:20px 16px 24px; border-radius:18px; }
  body[data-academy-page="discussions"] .academy-thread { grid-column:span 1; }
}
