/* Course page styles — single owner.
 * Loaded after desktop-shell.css. Safe balanced extract.
 */


#desktop-course-hub { position:fixed; inset:0 var(--desktop-right-width) 0 var(--desktop-left-width); z-index:82; overflow-y:auto; overscroll-behavior-y:contain; overflow-anchor:none; -webkit-overflow-scrolling:touch; scrollbar-gutter:stable; background:#0a0b0e; color:#f2f4f6; }
body.desktop-nav-collapsed #desktop-course-hub { left:0; }
body.context-collapsed #desktop-course-hub { right:0; }
body.desktop-light #desktop-course-hub { background:#f3f6f7; color:#243036; }

/* A fixed global signature would sit over whichever course row is being read. */
body.route-courses #desktop-studio-credit { display:none !important; }
@media (min-width:981px) {
  #desktop-course-hub .course-hero {
    display:block !important;
    min-height:0 !important;
    padding:22px 0 30px !important;
    border:0 !important;
    border-bottom:1px solid #273037 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  #desktop-course-hub .course-hero::before,
  #desktop-course-hub .course-hero::after,
  #desktop-course-hub .course-progress-card { display:none !important; }

  #desktop-course-hub .course-hero h1 { margin:7px 0 9px !important; font-size:30px !important; }
  #desktop-course-hub .course-hero-copy > p { max-width:760px !important; }
  #desktop-course-hub .course-hero-actions { margin-top:24px !important; }
}

/* —— Official channels: compact entry chips; WeChat QR only in modal —— */
#desktop-course-hub .course-official-directory {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 12px;
  margin-top:18px;
  padding:12px 0 4px;
}

#desktop-course-hub .course-official-label {
  flex:0 0 auto;
  color:#7f898e;
  font-size:11px;
  font-weight:760;
  letter-spacing:.04em;
  white-space:nowrap;
}

#desktop-course-hub .course-official-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  min-width:0;
}

#desktop-course-hub .course-official-chip {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 12px;
  border:1px solid #2c3539;
  border-radius:999px;
  background:#121618;
  color:#c9d1d4;
  font-size:12px;
  font-weight:650;
  line-height:1;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap;
  transition:border-color .14s ease, background .14s ease, color .14s ease;
}

#desktop-course-hub .course-official-chip:hover {
  border-color:#3d6f68;
  background:#15201e;
  color:#dff7f2;
}

#desktop-course-hub .course-official-chip.is-wechat {
  border-color:#2f4f4a;
  color:#9fd9cf;
}

#desktop-course-hub .course-official-chip.is-wechat:hover {
  border-color:#48d8c8;
  color:#c8fff5;
}

#desktop-course-hub .course-official-chip.is-xiaohongshu {
  border-color:#4a3238;
  color:#e2a8b2;
}

#desktop-course-hub .course-official-chip.is-xiaohongshu:hover {
  border-color:#c45d70;
  background:#1c1216;
  color:#f6c7cf;
}

body.desktop-light #desktop-course-hub .course-official-label { color:#6d787e; }
body.desktop-light #desktop-course-hub .course-official-chip {
  border-color:#d7e0e3;
  background:#fff;
  color:#3a464c;
}
body.desktop-light #desktop-course-hub .course-official-chip.is-wechat {
  border-color:#b7ddd7;
  color:#15786e;
}
body.desktop-light #desktop-course-hub .course-official-chip.is-xiaohongshu {
  border-color:#efc2cb;
  color:#b3475b;
}
body.desktop-light #desktop-course-hub .course-official-chip:hover {
  border-color:#77beb5;
  background:#f4fbfa;
}

/* —— Course-package combo offer —— */
#desktop-course-hub .course-combo-promo {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin-top:16px;
  padding:18px 20px;
  border:1px solid #80602f;
  border-radius:8px;
  background:linear-gradient(105deg,rgba(93,61,23,.42),rgba(24,20,18,.78));
}

#desktop-course-hub .course-combo-promo span,
#desktop-course-hub .course-combo-promo strong,
#desktop-course-hub .course-combo-promo p { display:block; }
#desktop-course-hub .course-combo-promo span { color:#e5b76f; font-size:10px; font-weight:800; letter-spacing:.12em; }
#desktop-course-hub .course-combo-promo strong { margin-top:5px; color:#fff0d6; font-size:18px; line-height:1.3; }
#desktop-course-hub .course-combo-promo p { margin:5px 0 0; color:#c4ad8b; font-size:11px; line-height:1.55; }
#desktop-course-hub .course-combo-promo > div:last-child { display:flex; flex:0 0 auto; gap:8px; }
#desktop-course-hub .course-combo-promo button,
#desktop-course-hub .course-combo-promo a { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 12px; border:1px solid #765d43; border-radius:6px; background:transparent; color:#f1d3a3; font-size:11px; font-weight:800; text-decoration:none; cursor:pointer; white-space:nowrap; }
#desktop-course-hub .course-combo-promo a { border-color:#d69e53; background:#a96d2b; color:#fff; }
#desktop-course-hub .course-combo-promo a i { margin-left:4px; font-size:16px; font-style:normal; }
#desktop-course-hub .course-combo-promo button:hover { border-color:#c49b65; color:#fff0d6; }
#desktop-course-hub .course-combo-promo a:hover { background:#bd7c32; }

body.desktop-light #desktop-course-hub .course-combo-promo { border-color:#e5c897; background:#fff8ec; }
body.desktop-light #desktop-course-hub .course-combo-promo strong { color:#573b18; }
body.desktop-light #desktop-course-hub .course-combo-promo p { color:#846d4d; }

/* —— Course center frame —— */
#desktop-course-hub .course-catalog-shell { width:min(1240px,calc(100% - 72px)); padding:34px 0 86px; }
#desktop-course-hub .course-center-head { align-items:center; padding:24px 0 20px; border-bottom:1px solid #242a30; }
#desktop-course-hub .course-center-head h1 { margin:10px 0 8px; font-size:36px; letter-spacing:-.025em; }
#desktop-course-hub .course-center-head p { max-width:680px; color:#929ca3; font-size:13px; line-height:1.65; }
#desktop-course-hub .course-center-head aside { min-width:150px; justify-content:center; padding:15px 18px; border-color:#31413f; background:#101817; }
#desktop-course-hub .course-center-head aside strong { color:#78e0d2; font-size:30px; }
#desktop-course-hub .course-official-directory { margin-top:12px; padding:0; }
#desktop-course-hub .course-center-nav { position:sticky; top:0; z-index:4; display:inline-flex; gap:3px; width:max-content; max-width:100%; margin:10px 0 0; padding:4px; border:1px solid #262e34; border-radius:8px; background:#101419; }
#desktop-course-hub .course-center-nav button { min-height:30px; padding:0 13px; border:1px solid transparent; border-radius:5px; background:transparent; color:#879198; font-size:11px; font-weight:750; cursor:pointer; }
#desktop-course-hub .course-center-nav button:hover { color:#d6e4e2; background:#171e23; }
#desktop-course-hub .course-center-nav button.active { border-color:#37645e; background:#173733; color:#a9eee5; }
#desktop-course-hub .course-catalog-section { scroll-margin-top:58px; }
#desktop-course-hub .course-catalog-heading h2 { font-size:25px; letter-spacing:-.015em; }
#desktop-course-hub .course-catalog-section + .course-catalog-section { margin-top:48px; padding-top:34px; }
#desktop-course-hub .course-material-intro { max-width:760px; line-height:1.65; }
#desktop-course-hub .course-theory-promo { margin-top:28px; padding:12px 16px; }
#desktop-course-hub .course-theory-promo strong { font-size:12px; }
#desktop-course-hub .course-theory-promo small { font-size:10px; }
#desktop-course-hub .course-catalog-grid { gap:16px; }
#desktop-course-hub .course-catalog-card { min-height:218px; border-radius:9px; }
#desktop-course-hub .course-catalog-card.is-main-product { border-color:#5c6f9f; box-shadow:0 18px 42px rgba(0,0,0,.24); }
#desktop-course-hub .course-cover { position:relative; padding:20px; }
#desktop-course-hub .course-cover img {
  position:absolute;
  inset:auto 14px 14px auto;
  width:86px;
  height:112px;
  border-radius:5px;
  object-fit:cover;
  object-position:left center;
  box-shadow:0 14px 28px rgba(0,0,0,.28);
  opacity:.96;
}
#desktop-course-hub .course-cover > strong { font-size:42px; }
#desktop-course-hub .course-cover > strong {
  position:relative;
  display:block;
  width:max-content;
  max-width:100%;
  color:transparent !important;
}
#desktop-course-hub .course-cover > strong::after {
  content:"GBC";
  position:absolute;
  inset:0 auto auto 0;
  color:#fff;
}
#desktop-course-hub .course-cover-form {
  position:relative;
  z-index:1;
  display:inline-flex;
  margin-top:8px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(255,255,255,.13);
  color:rgba(255,255,255,.92);
  font-size:11px;
  font-weight:850;
  letter-spacing:.02em;
}
#desktop-course-hub .course-status-badge,
#desktop-course-hub .course-status-pill {
  border:1px solid rgba(255,255,255,.36);
  border-radius:999px;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-weight:850;
}
#desktop-course-hub .course-status-indicator {
  position:absolute;
  right:14px;
  bottom:14px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
#desktop-course-hub .course-status-indicator.is-hot { background:#d4b06b; }
#desktop-course-hub .course-status-indicator.is-live { background:#69cfc1; }
#desktop-course-hub .course-status-badge.is-hot,
#desktop-course-hub .course-status-pill.is-hot {
  border-color:rgba(255,210,122,.55);
  background:rgba(255,166,47,.18);
  color:#ffd58a;
}
#desktop-course-hub .course-status-badge.is-live,
#desktop-course-hub .course-status-pill.is-live {
  border-color:rgba(118,224,211,.5);
  background:rgba(46,170,156,.18);
  color:#9cf1e7;
}
#desktop-course-hub .course-status-pill {
  display:inline-flex;
  width:max-content;
  margin-top:10px;
  padding:5px 9px;
  font-size:11px;
  font-style:normal;
}
#desktop-course-hub .course-catalog-copy { padding:22px 22px 20px; }
#desktop-course-hub .course-catalog-copy h3 { margin:8px 0 10px; font-size:19px; }
#desktop-course-hub .course-material-section { margin-top:42px; }

/* The package chooser is one decision surface, not a stack of unrelated strips. */
#desktop-course-hub .course-package-section {
  margin-top:22px;
  padding:24px;
  border:1px solid #283136;
  border-radius:12px;
  background:linear-gradient(145deg,#11161a 0%,#0d1014 68%);
}
#desktop-course-hub .course-main-product-section {
  margin-top:26px;
}
#desktop-course-hub .course-main-product-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:16px;
}
#desktop-course-hub .course-main-product-card {
  position:relative;
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 150px;
  align-items:center;
  gap:22px;
  min-height:172px;
  padding:24px;
  overflow:hidden;
  border:1px solid #3d4f76;
  border-radius:10px;
  background:linear-gradient(120deg,#172642,#11161f);
  color:inherit;
  text-decoration:none;
  box-sizing:border-box;
}
#desktop-course-hub .course-main-product-card.is-autumn {
  border-color:#5870a2;
  background:linear-gradient(120deg,#1a2b49,#121722 72%);
}
#desktop-course-hub .course-main-product-card.is-summer {
  border-color:#2f6f67;
  background:linear-gradient(120deg,#132924,#111720 72%);
}
#desktop-course-hub .course-main-product-card.is-essay {
  border-color:#6d5f9a;
  background:linear-gradient(120deg,#241d3c,#111720 72%);
}
#desktop-course-hub .course-main-product-card figure,
#desktop-course-hub .course-main-product-card > i {
  width:220px;
  height:146px;
  margin:0;
  border-radius:8px;
}
#desktop-course-hub .course-main-product-card figure {
  overflow:hidden;
  border:1px solid rgba(218,232,244,.25);
  background:linear-gradient(145deg,#f4f8fb,#dbe8f0);
  box-shadow:0 16px 34px rgba(0,0,0,.28);
}
#desktop-course-hub .course-main-product-card figure img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
#desktop-course-hub .course-main-product-card > i {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:10px;
  padding:22px;
  border:1px solid rgba(102,225,210,.24);
  background:
    radial-gradient(circle at 18% 18%,rgba(102,225,210,.18),transparent 36%),
    linear-gradient(145deg,rgba(46,170,156,.18),rgba(17,23,32,.82));
  color:#76e0d3;
  box-sizing:border-box;
  font-style:normal;
}
#desktop-course-hub .course-main-product-card.is-essay > i { border-color:rgba(188,156,255,.28); background:linear-gradient(145deg,rgba(117,88,180,.22),rgba(17,23,32,.84)); color:#cbb7ff; }
#desktop-course-hub .course-main-product-card > i strong {
  margin:0;
  color:currentColor;
  font-size:40px;
  line-height:.95;
  letter-spacing:.06em;
}
#desktop-course-hub .course-main-product-card > i small {
  margin:0;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#d9fff9;
  font-size:11px;
  font-weight:850;
}
#desktop-course-hub .course-main-product-card.is-essay > i small { color:#efe8ff; }
#desktop-course-hub .course-main-product-card span,
#desktop-course-hub .course-main-product-card strong,
#desktop-course-hub .course-main-product-card p,
#desktop-course-hub .course-main-product-card small,
#desktop-course-hub .course-main-product-card b,
#desktop-course-hub .course-main-product-card em {
  display:block;
}
#desktop-course-hub .course-main-product-card span {
  color:#aebee8;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
}
#desktop-course-hub .course-main-product-card.is-summer span { color:#86e2d6; }
#desktop-course-hub .course-main-product-card.is-essay span { color:#cbb7ff; }
#desktop-course-hub .course-main-product-card strong {
  margin-top:7px;
  color:#f2f5fb;
  font-size:27px;
  line-height:1.2;
}
#desktop-course-hub .course-main-product-card p {
  max-width:520px;
  margin:8px 0 0;
  color:#aab4c3;
  font-size:13px;
  line-height:1.55;
}
#desktop-course-hub .course-main-product-card small {
  margin-top:8px;
  color:#748092;
  font-size:11px;
}
#desktop-course-hub .course-main-product-card > b {
  color:#eef3ff;
  text-align:right;
  font-size:20px;
}
#desktop-course-hub .course-main-product-card > b em {
  margin-top:8px;
  color:#9fb0db;
  font-size:11px;
  font-style:normal;
}
#desktop-course-hub .course-main-product-card:hover {
  border-color:#8da5df;
  transform:translateY(-2px);
}
#desktop-course-hub .course-package-section .course-catalog-heading { align-items:center; }
#desktop-course-hub .course-package-section .course-catalog-count { padding:6px 9px; border:1px solid #31534f; border-radius:999px; background:#132421; color:#7ce0d2; font-size:10px; }
#desktop-course-hub .course-package-section .course-material-intro { margin-top:5px !important; font-size:12px !important; }
#desktop-course-hub .course-package-filter { margin-top:16px; padding:4px; border-radius:7px; background:#0b0e12; }
#desktop-course-hub .course-package-filter button { min-height:42px; padding:0 12px; }
#desktop-course-hub .course-package-filter b { font-size:12px; }
#desktop-course-hub .course-combo-promo { margin-top:12px; padding:15px 17px; border-radius:8px; }
#desktop-course-hub .course-combo-promo strong { font-size:16px; }
#desktop-course-hub .course-combo-promo p { font-size:10px; }
#desktop-course-hub .course-package-grid { margin-top:12px !important; }

body.desktop-light #desktop-course-hub .course-center-nav { background:#fff; border-color:#dbe3e5; }
body.desktop-light #desktop-course-hub .course-center-nav button { color:#65737a; }
body.desktop-light #desktop-course-hub .course-center-nav button.active { border-color:#9bcfc8; background:#eaf8f5; color:#14776d; }
body.desktop-light #desktop-course-hub .course-center-head aside { border-color:#c7dfdb; background:#fff; }
body.desktop-light #desktop-course-hub .course-package-section { border-color:#dce5e6; background:linear-gradient(145deg,#fff,#f8fafb); }
body.desktop-light #desktop-course-hub .course-package-filter { background:#f3f6f7; border-color:#dde5e7; }

@media (max-width:760px) {
  #desktop-course-hub .course-catalog-shell { width:calc(100% - 28px); padding-top:22px; }
  #desktop-course-hub .course-center-head { align-items:flex-start; flex-direction:column; gap:18px; }
  #desktop-course-hub .course-center-head h1 { font-size:31px; }
  #desktop-course-hub .course-center-head aside { width:100%; box-sizing:border-box; justify-content:flex-start; }
  #desktop-course-hub .course-center-nav { overflow-x:auto; margin-right:-14px; padding-right:14px; }
  #desktop-course-hub .course-center-nav button { flex:0 0 auto; }
  #desktop-course-hub .course-package-section { margin-left:-2px; margin-right:-2px; padding:17px; border-radius:10px; }
  #desktop-course-hub .course-package-section .course-catalog-heading { align-items:flex-start; }
  #desktop-course-hub .course-package-section .course-catalog-count { margin-top:4px; }
  #desktop-course-hub .course-main-product-grid { grid-template-columns:1fr; }
  #desktop-course-hub .course-main-product-card { grid-template-columns:120px minmax(0,1fr); }
  #desktop-course-hub .course-main-product-card figure,
  #desktop-course-hub .course-main-product-card > i { width:120px; height:80px; }
  #desktop-course-hub .course-main-product-card > b { grid-column:1 / -1; text-align:left; }
}

/* —— Course package explorer —— */
#desktop-course-hub .course-package-filter {
  display:flex;
  gap:8px;
  margin-top:18px;
  padding:5px;
  border:1px solid #2b3037;
  border-radius:8px;
  background:#101318;
}

#desktop-course-hub .course-package-filter button {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1;
  gap:8px;
  min-height:46px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:5px;
  background:transparent;
  color:#8a939b;
  text-align:center;
  cursor:pointer;
}

#desktop-course-hub .course-package-filter b { color:inherit; font-size:13px; }
#desktop-course-hub .course-package-filter-label { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-width:0; }
#desktop-course-hub .course-package-filter-label i { display:grid; width:17px; height:17px; place-items:center; font-size:17px; line-height:1; }
#desktop-course-hub .course-package-filter em { padding:3px 6px; border-radius:999px; background:rgba(123,137,147,.13); color:#849099; font-size:10px; font-style:normal; line-height:1; white-space:nowrap; }
#desktop-course-hub .course-package-filter button:hover { background:#171c22; color:#d7e0e2; }
#desktop-course-hub .course-package-filter button.active { border-color:#3f645f; background:#17302e; color:#a8eee4; box-shadow:inset 0 0 0 1px rgba(91,221,204,.08); }
#desktop-course-hub .course-package-filter button.active em { background:rgba(91,221,204,.15); color:#72d7ca; }

#desktop-course-hub .course-package-grid { margin-top:16px !important; }
#desktop-course-hub .course-package-card {
  position:relative;
  border-color:#363340 !important;
  border-radius:8px !important;
  background:#111318 !important;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease !important;
}

#desktop-course-hub .course-package-card.course-package-theory { border-top:2px solid #8c5db0 !important; }
#desktop-course-hub .course-package-card.course-package-quick { border-top:2px solid #369e93 !important; }
#desktop-course-hub .course-package-card:hover,
#desktop-course-hub .course-package-card:focus-visible { transform:translateY(-3px); border-color:#85719b !important; outline:0; box-shadow:0 12px 28px rgba(0,0,0,.28); }
#desktop-course-hub .course-package-card.course-package-quick:hover,
#desktop-course-hub .course-package-card.course-package-quick:focus-visible { border-color:#4cbbae !important; }
#desktop-course-hub .course-package-card > header { padding:17px 19px 13px !important; background:linear-gradient(110deg,rgba(122,80,162,.21),rgba(17,19,24,0)) !important; }
#desktop-course-hub .course-package-card.course-package-quick > header { background:linear-gradient(110deg,rgba(36,131,120,.22),rgba(17,19,24,0)) !important; }
#desktop-course-hub .course-package-card > header span { color:#cfa8ec !important; }
#desktop-course-hub .course-package-card.course-package-quick > header span { color:#78d8cd !important; }
#desktop-course-hub .course-package-card h3 { margin-top:6px !important; font-size:18px !important; }
#desktop-course-hub .course-package-route { display:flex; align-items:center; justify-content:space-between; padding:9px 19px; border-bottom:1px solid #292d34; background:#0e1014; }
#desktop-course-hub .course-package-route b { color:#dfc088; font-size:10px; font-weight:800; }
#desktop-course-hub .course-package-route span { color:#747d85; font-size:10px; }
#desktop-course-hub .course-package-card ol { min-height:72px; padding:13px 19px 15px 35px !important; }
#desktop-course-hub .course-package-card li { color:#b9c0c5 !important; }
#desktop-course-hub .course-package-card footer { padding:11px 19px !important; }
#desktop-course-hub .course-package-actions button:first-child { border-color:#4d5762; color:#d6dde2; }

body.desktop-light #desktop-course-hub .course-package-filter { border-color:#d7e0e3; background:#fff; }
body.desktop-light #desktop-course-hub .course-package-filter button { color:#657178; }
body.desktop-light #desktop-course-hub .course-package-filter button.active { border-color:#87c8bf; background:#eaf8f5; color:#15796e; }
body.desktop-light #desktop-course-hub .course-package-card { background:#fff !important; border-color:#dce3e6 !important; }
body.desktop-light #desktop-course-hub .course-package-route { border-color:#e4e8eb; background:#f8fafb; }
body.desktop-light #desktop-course-hub .course-package-card li { color:#59666d !important; }

/* Package path is a compact segmented control, not three competing cards. */
body.desktop-light #desktop-course-hub .course-package-filter {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-top:16px;
  padding:4px;
  border-color:#dce5e7;
  border-radius:7px;
  background:#f7f9f9;
}
body.desktop-light #desktop-course-hub .course-package-filter button {
  min-height:42px;
  padding:0 14px;
  align-items:center;
  border-color:#dce5e7;
  border-radius:5px;
  background:#fff;
  color:#3c4d53;
  outline:0;
}
body.desktop-light #desktop-course-hub .course-package-filter button b { font-size:14px; }
body.desktop-light #desktop-course-hub .course-package-filter button em { background:#edf2f3; color:#7b898e; font-size:11px; }
body.desktop-light #desktop-course-hub .course-package-filter button.active {
  border-color:#249c90;
  background:#e8f7f4;
  color:#126f66;
  box-shadow:none;
}
body.desktop-light #desktop-course-hub .course-package-filter button.active em { background:#d4eee9; color:#397f78; }
body.desktop-light #desktop-course-hub .course-package-filter button:focus-visible { box-shadow:0 0 0 2px rgba(36,156,144,.22); }

/* Cover art is the exception to the white-page text palette. */
body.desktop-light #desktop-course-hub .course-cover > strong { color:#fff !important; text-shadow:0 8px 20px rgba(31,48,69,.18); }
body.desktop-light #desktop-course-hub .course-cover > span { color:rgba(255,255,255,.88) !important; }
body.desktop-light #desktop-course-hub .course-cover > b { color:#fff !important; border-color:rgba(255,255,255,.55) !important; background:rgba(255,255,255,.14) !important; }

@media (max-width:760px) {
  #desktop-course-hub .course-package-filter { overflow-x:auto; }
  #desktop-course-hub .course-package-filter button { flex:0 0 145px; }
  #desktop-course-hub .course-package-grid { grid-template-columns:1fr !important; }
}

@media (max-width:760px) {
  #desktop-course-hub .course-combo-promo { align-items:flex-start; flex-direction:column; gap:14px; }
  #desktop-course-hub .course-combo-promo > div:last-child { width:100%; }
  #desktop-course-hub .course-combo-promo button,
  #desktop-course-hub .course-combo-promo a { flex:1; }
}

@media (max-width:760px) {
  #desktop-course-hub .course-official-directory {
    align-items:flex-start;
    flex-direction:column;
    gap:8px;
  }
}

/* —— Materials: 3 columns, grouped families, readable type —— */
#desktop-course-hub .course-material-intro {
  margin: 8px 0 0 !important;
  color: #9aa4a9 !important;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

#desktop-course-hub .course-material-family {
  margin-top: 22px;
}

#desktop-course-hub .course-material-family > h3 {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 0 0 12px;
  color: #e8eef0;
  font-size: 16px;
  font-weight: 720;
}

#desktop-course-hub .course-material-family > h3 small {
  color: #7f898e;
  font-size: 12px;
  font-weight: 600;
}

#desktop-course-hub .course-material-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 0 !important;
}

#desktop-course-hub .course-material-card {
  display: grid !important;
  grid-template-columns: 88px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  min-height: 0 !important;
  gap: 0 !important;
  align-items: stretch !important;
}

#desktop-course-hub .course-material-visual {
  grid-row: 1 / span 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 128px !important;
  padding: 12px 8px !important;
  background: #0d1114 !important;
}

#desktop-course-hub .course-material-book {
  width: 68px !important;
  height: 96px !important;
  max-width: none !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.28) !important;
}

#desktop-course-hub .course-material-book img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#desktop-course-hub .course-material-card.is-landscape-cover .course-material-book {
  width: 180px !important;
  height: auto !important;
  aspect-ratio: 1219 / 842 !important;
}
#desktop-course-hub .course-material-card.is-landscape-cover {
  grid-template-columns: 220px minmax(0, 1fr) !important;
}
#desktop-course-hub .course-material-card.is-landscape-cover .course-material-visual {
  min-height: 150px !important;
  padding: 12px 16px !important;
}
#desktop-course-hub .course-material-card.is-landscape-cover .course-material-book img {
  object-fit: contain !important;
  object-position: center !important;
}

#desktop-course-hub .course-material-copy {
  padding: 14px 14px 6px !important;
}

#desktop-course-hub .course-material-copy > span {
  color: #7f9590 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  letter-spacing: .02em !important;
}

#desktop-course-hub .course-material-card strong {
  display: -webkit-box !important;
  margin-top: 6px !important;
  min-height: 0 !important;
  color: #f2f5f6 !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  -webkit-line-clamp: 2 !important;
}

#desktop-course-hub .course-material-card p {
  margin-top: 6px !important;
  min-height: 0 !important;
  color: #a7b1b6 !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  -webkit-line-clamp: 2 !important;
}

#desktop-course-hub .course-material-card footer {
  grid-column: 2 !important;
  padding: 8px 14px 14px !important;
  border-top: 0 !important;
}

#desktop-course-hub .course-material-card footer b {
  font-size: 15px !important;
}

#desktop-course-hub .course-material-card footer span,
#desktop-course-hub .course-material-card footer a {
  font-size: 12px !important;
}

body.desktop-light #desktop-course-hub .course-material-family > h3 { color: #243036; }
body.desktop-light #desktop-course-hub .course-material-family > h3 small { color: #7a868d; }
body.desktop-light #desktop-course-hub .course-material-visual { background: #eef3f4 !important; }
body.desktop-light #desktop-course-hub .course-material-card strong { color: #243036 !important; }
body.desktop-light #desktop-course-hub .course-material-card p { color: #65727a !important; }

@media (max-width: 1100px) {
  #desktop-course-hub .course-material-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  #desktop-course-hub .course-material-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Final course-center composition overrides. Kept last to supersede legacy shell rules. */
#desktop-course-hub .course-package-section { margin-top:22px; padding:24px; border:1px solid #283136; border-radius:12px; background:linear-gradient(145deg,#11161a 0%,#0d1014 68%); }
#desktop-course-hub .course-package-section .course-catalog-heading { align-items:center; }
#desktop-course-hub .course-package-section .course-catalog-count { padding:6px 9px; border:1px solid #31534f; border-radius:999px; background:#132421; color:#7ce0d2; font-size:10px; }
#desktop-course-hub .course-package-section .course-material-intro { margin-top:5px !important; font-size:12px !important; }
#desktop-course-hub .course-package-section .course-package-filter { margin-top:16px; padding:4px; border-radius:7px; background:#0b0e12; }
#desktop-course-hub .course-package-section .course-package-filter button { min-height:42px; padding:0 12px; }
#desktop-course-hub .course-package-section .course-package-filter b { font-size:12px; }
#desktop-course-hub .course-package-section .course-combo-promo { margin-top:12px; padding:15px 17px; border-radius:8px; }
#desktop-course-hub .course-package-section .course-combo-promo strong { font-size:16px; }
#desktop-course-hub .course-package-section .course-combo-promo p { font-size:10px; }
#desktop-course-hub .course-package-section .course-package-grid { margin-top:12px !important; }

body.desktop-light #desktop-course-hub .course-package-section { border-color:#dce5e6; background:linear-gradient(145deg,#fff,#f8fafb); }
body.desktop-light #desktop-course-hub .course-package-section .course-package-filter { background:#f3f6f7; border-color:#dde5e7; }

@media (max-width:760px) {
  #desktop-course-hub .course-package-section { margin-left:-2px; margin-right:-2px; padding:17px; border-radius:10px; }
  #desktop-course-hub .course-package-section .course-catalog-heading { align-items:flex-start; }
  #desktop-course-hub .course-package-section .course-catalog-count { margin-top:4px; }
}
