:root { --courses-ink:#092f61; --courses-blue:#0b4a91; --courses-teal:#168b8d; --courses-pale:#eaf4f8; --courses-paper:#fbfaf5; --courses-gold:#d6a647; }
.digital-courses-page { color:var(--courses-ink); background:var(--courses-paper); }
.courses-store { width:min(1180px,calc(100% - 40px)); margin:0 auto; padding:54px 0 100px; }
.courses-eyebrow { margin:0 0 11px; color:var(--courses-blue); font-size:.8rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.courses-catalog { padding:14px 0 0; }
.courses-catalog-heading { display:flex; align-items:end; justify-content:space-between; gap:52px; margin-bottom:30px; }
.courses-catalog-heading h1 { margin:0; font-size:clamp(2.8rem,5vw,5rem); line-height:.96; letter-spacing:-.055em; }
.courses-catalog-heading>p { max-width:565px; margin:0 0 4px; color:#5b6d82; font-size:1.02rem; line-height:1.75; }

.course-browse-modes { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.course-browse-modes button { display:grid; grid-template-columns:42px 1fr; grid-template-rows:auto auto; column-gap:15px; padding:20px 22px; color:var(--courses-ink); text-align:right; background:rgba(255,255,255,.62); border:1px solid #cfdae2; border-radius:14px; cursor:pointer; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.course-browse-modes button:hover { transform:translateY(-2px); border-color:#8eb3ce; }
.course-browse-modes button[aria-selected="true"] { color:#fff; background:var(--courses-ink); border-color:var(--courses-ink); box-shadow:0 12px 24px rgba(9,47,97,.14); }
.course-browse-modes span { grid-row:1/3; align-self:center; color:var(--courses-gold); font:700 .76rem/1 Georgia,serif; }
.course-browse-modes strong { font-size:1.05rem; }
.course-browse-modes small { margin-top:3px; color:#6a7a8d; font-size:.76rem; }
.course-browse-modes button[aria-selected="true"] small { color:#c9d8e7; }
.course-filter-row { display:flex; gap:9px; padding:22px 2px 30px; overflow-x:auto; border-bottom:1px solid #cfdae2; scrollbar-width:thin; }
.course-filter-row button { flex:0 0 auto; padding:9px 15px; color:#52677d; background:transparent; border:1px solid #bfced9; border-radius:999px; font:800 .82rem/1 inherit; cursor:pointer; }
.course-filter-row button:hover { color:var(--courses-blue); border-color:#7fa8c7; }
.course-filter-row button[aria-pressed="true"] { color:#fff; background:var(--courses-blue); border-color:var(--courses-blue); box-shadow:0 7px 16px rgba(11,74,145,.15); }

.courses-shelf { padding:48px 0 64px; }
.courses-section-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:30px; }
.courses-section-heading h2 { margin:0; font-size:clamp(2rem,4vw,3.6rem); letter-spacing:-.04em; }
.courses-section-heading p:last-child { max-width:620px; margin:10px 0 0; color:#607186; line-height:1.65; }
.courses-launch-badge { padding:9px 14px; color:#607186; border:1px solid #cfdae2; border-radius:99px; font-size:.8rem; font-weight:800; white-space:nowrap; }
.courses-launch-badge b { color:var(--courses-blue); }
.learning-course-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; min-height:320px; }
.learning-course-card { min-width:0; }
.learning-course-card[hidden] { display:none; }
.learning-course-link { position:relative; display:grid; grid-template-rows:auto 1fr auto; min-height:292px; padding:22px; overflow:hidden; color:var(--courses-ink); text-decoration:none; background:#fff; border:1px solid #cedbe4; border-top:5px solid var(--course-accent,var(--courses-blue)); border-radius:18px; box-shadow:0 15px 36px rgba(8,43,87,.08); transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
a.learning-course-link { cursor:pointer; }
a.learning-course-link:hover { transform:translateY(-4px); border-color:color-mix(in srgb,var(--course-accent) 48%,#cedbe4); box-shadow:0 23px 48px rgba(8,43,87,.14); }
.learning-course-link::after { position:absolute; inset-inline-end:-42px; inset-block-end:-58px; width:180px; height:180px; content:""; background:color-mix(in srgb,var(--course-accent) 9%,transparent); border-radius:50%; pointer-events:none; }
.learning-course-link>header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding-bottom:18px; border-bottom:1px solid #e1e8ed; }
.learning-course-type { color:var(--course-accent,var(--courses-blue)); font-size:.8rem; font-weight:950; }
.learning-course-status { padding:6px 10px; color:#5e6f81; background:#f0f4f6; border-radius:999px; font-size:.72rem; font-weight:900; white-space:nowrap; }
.learning-course-card.is-available .learning-course-status { color:#075a55; background:#dff6ef; }
.learning-course-main { display:grid; grid-template-columns:62px minmax(0,1fr); align-items:center; gap:18px; padding:24px 0 20px; }
.learning-course-play { display:grid; width:58px; height:58px; place-items:center; padding-inline-start:3px; color:#fff; background:var(--course-accent,var(--courses-blue)); border-radius:50%; box-shadow:0 12px 24px color-mix(in srgb,var(--course-accent) 25%,transparent); font-size:1.12rem; }
.learning-course-main h3 { margin:0 0 8px; color:var(--courses-ink); font-size:clamp(1.55rem,2.6vw,2.2rem); line-height:1.05; letter-spacing:-.03em; }
.learning-course-main p { max-width:430px; margin:0; color:#607186; line-height:1.55; }
.learning-course-link>footer { position:relative; z-index:1; display:flex; align-items:end; justify-content:space-between; gap:18px; padding-top:17px; border-top:1px solid #e1e8ed; }
.learning-course-meta { display:flex; flex-wrap:wrap; gap:7px; }
.learning-course-meta span { padding:5px 8px; color:#5b6d80; background:#f3f6f8; border-radius:7px; font-size:.7rem; font-weight:850; }
.learning-course-action { flex:0 0 auto; padding:9px 13px; color:#fff; background:var(--courses-blue); border-radius:9px; font-size:.78rem; font-weight:950; white-space:nowrap; }
.learning-course-action.muted { color:#718091; background:#edf1f4; }
.learning-course-card.is-owned .learning-course-link { border-color:color-mix(in srgb,var(--course-accent) 55%,#cedbe4); box-shadow:0 18px 42px rgba(8,43,87,.13); }
.learning-course-card.is-owned .learning-course-status { color:#075a55; background:#dff6ef; }
.courses-empty-state { display:flex; align-items:center; gap:24px; min-height:220px; padding:38px; background:#fff; border:1px dashed #a9bdcc; border-radius:18px; }
.courses-empty-state[hidden] { display:none; }
.courses-empty-state>span { display:grid; width:64px; height:64px; flex:0 0 auto; place-items:center; color:#fff; background:var(--courses-blue); border-radius:50%; font:italic 2rem Georgia,serif; }
.courses-empty-state h3 { margin:0 0 8px; font-size:1.5rem; }
.courses-empty-state p { margin:0; color:#607186; line-height:1.7; }
.courses-membership { display:flex; align-items:center; justify-content:space-between; gap:40px; padding:42px 48px; color:#fff; background:linear-gradient(135deg,#072b58,#0b4a91); border-radius:24px; box-shadow:0 24px 55px rgba(9,47,97,.16); }
.courses-membership .courses-eyebrow { color:#9ec9dc; }
.courses-membership h2 { margin:0; color:#fff; font-size:clamp(2.3rem,4vw,4rem); }
.courses-membership p:last-child { max-width:720px; margin:16px 0 0; color:#d7e4ee; line-height:1.7; }
.courses-membership .button { flex:0 0 auto; color:var(--courses-ink); background:#fff; }
/* Algebra course learning and preview surfaces */
.course-pending-video { position:relative; display:grid; place-items:center; min-height:0; aspect-ratio:16/9; padding:clamp(18px,3vw,34px); overflow:hidden; color:var(--courses-ink); text-align:center; background:radial-gradient(circle at 18% 18%,rgba(255,211,111,.5),transparent 28%),radial-gradient(circle at 82% 76%,rgba(44,142,139,.22),transparent 34%),linear-gradient(145deg,#fffdf5,#edf6f7 58%,#e9f0f7); border-radius:6px; }
.course-pending-video[hidden],.algebra-course-overview[hidden],.preview-build-badge[hidden] { display:none; }
.course-pending-video img { width:76px; margin:14px auto; }
.course-pending-video h2 { max-width:720px; margin:4px auto 20px; font-size:clamp(1.65rem,4vw,3.25rem); }
.course-pending-video p { max-width:620px; margin:0 auto; color:#607186; font-weight:700; }
.course-pending-video-status,.preview-build-badge { display:inline-flex; width:fit-content; padding:7px 13px; border-radius:999px; font-size:.82rem; font-weight:1000; }
.course-pending-video-status { color:#075a55; background:#dff6ef; border:1px solid #bce5d9; }
.course-pending-video-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.course-clean-content>.lesson-assist { order:1; }
.algebra-course-overview { display:none; }
.algebra-overview-head { display:flex; align-items:end; justify-content:space-between; gap:24px; padding:clamp(20px,4vw,36px); background:linear-gradient(135deg,#fff,#eef6f7); border:1px solid rgba(8,60,124,.12); border-radius:12px; }
.algebra-overview-head h2 { margin:2px 0 8px; color:var(--courses-ink); font-size:clamp(1.6rem,3vw,2.45rem); }
.algebra-overview-head p:last-child { max-width:780px; margin:0; color:#607186; }
.algebra-overview-book-actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:10px; }
.algebra-overview-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.algebra-overview-stats article { display:grid; gap:4px; padding:18px; background:#fff; border:1px solid #cfdae2; border-radius:10px; }
.algebra-overview-stats article.ready { background:#effaf6; border-color:#bce5d9; }
.algebra-overview-stats strong { color:var(--courses-blue); font-size:1.7rem; }
.algebra-overview-stats span { color:#607186; font-weight:800; }
.algebra-module-map { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.algebra-module-card { display:flex; min-width:0; padding:20px; flex-direction:column; background:#fff; border:1px solid #cfdae2; border-top:4px solid #9fb2c2; border-radius:10px; }
.algebra-module-card.ready { border-top-color:var(--courses-teal); }
.algebra-module-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.algebra-module-card-top span { color:var(--courses-blue); font-weight:1000; }
.algebra-module-card-top em { padding:4px 8px; color:#4e6070; background:#edf2f5; border-radius:999px; font-size:.74rem; font-style:normal; font-weight:900; }
.algebra-module-card.ready .algebra-module-card-top em { color:#075a55; background:#dff6ef; }
.algebra-module-part { margin:14px 0 2px!important; color:var(--courses-teal)!important; font-size:.78rem; font-weight:1000; }
.algebra-module-card h3 { margin:0 0 6px; color:var(--courses-ink); }
.algebra-module-card>p:not(.algebra-module-part) { margin:0; color:#607186; }
.algebra-module-card ul { margin:14px 0 18px; padding-right:20px; color:#34475b; }
.algebra-module-card button { align-self:start; margin-top:auto; padding:8px 13px; color:var(--courses-blue); background:#eef5f8; border:1px solid #d5e3ea; border-radius:7px; font:inherit; font-weight:900; cursor:pointer; }
.playlist-module-divider { display:grid; gap:2px; margin:10px 4px 4px; padding:10px 10px 8px; color:var(--courses-ink); border-bottom:2px solid rgba(44,142,139,.2); }
.playlist-module-divider span { color:var(--courses-teal); font-size:.74rem; font-weight:1000; }
.playlist-module-divider strong { font-size:.92rem; }
.preview-build-badge { margin:2px 0 18px; color:#4d3700; background:#ffd977; border:1px solid rgba(255,255,255,.34); }
.preview-lesson-list.is-module-map { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1180px; }
.preview-module-item { grid-template-columns:54px minmax(0,1fr); align-items:start; border-top:4px solid #9fb2c2; }
.preview-module-item.ready { border-top-color:var(--courses-teal); }
.preview-module-item>small:last-child { grid-column:2; width:max-content; padding:4px 8px; color:#4e6070; background:#edf2f5; border-radius:999px; }
.preview-module-item.ready>small:last-child { color:#075a55; background:#dff6ef; }
.preview-module-part { display:block; margin-bottom:4px; color:var(--courses-teal)!important; font-size:.75rem; }
@media (max-width:820px) { .algebra-overview-head { align-items:stretch; flex-direction:column; }.algebra-overview-stats,.algebra-module-map,.preview-lesson-list.is-module-map { grid-template-columns:1fr; } }
@media (max-width:900px) {
  .courses-catalog-heading { align-items:start; flex-direction:column; gap:16px; }
  .learning-course-grid { grid-template-columns:1fr; }
  .courses-membership { align-items:start; flex-direction:column; }
}
@media (max-width:640px) {
  .courses-store { width:min(100% - 24px,1180px); padding-top:34px; }
  .courses-catalog-heading h1 { font-size:3.05rem; }
  .course-browse-modes { grid-template-columns:1fr; }
  .course-browse-modes button { min-height:72px; }
  .course-filter-row { margin-inline:-12px; padding-inline:12px; }
  .courses-section-heading { align-items:start; flex-direction:column; }
  .learning-course-link { min-height:270px; padding:18px; }
  .learning-course-main { grid-template-columns:48px minmax(0,1fr); gap:13px; }
  .learning-course-play { width:46px; height:46px; font-size:.9rem; }
  .learning-course-link>footer { align-items:start; flex-direction:column; }
  .courses-membership { padding:32px 25px; }
  .digital-courses-page .nav { display:none; }
}
