/* ==========================================================================
   课程播放页（Index/inner）视觉规范
   2026-11-15  ——  全部选择器以 cr- 前缀新增，或覆盖 .course_* 旧样式
   仅在 index/inner.html 中、于 axy_mostrar_style.css 之后引入
   不改动播放器内部（polyv 注入的 DOM）与 User/pay.html 共用样式
   ========================================================================== */

:root {
  --cr-primary: #E54435;
  --cr-primary-dark: #D23A2C;
  --cr-primary-weak: #FEF2F1;
  --cr-ink: #1A1F2B;
  --cr-ink-2: #4A5058;
  --cr-ink-3: #7A828E;
  --cr-ink-4: #A9AEB6;
  --cr-line: #EDEEF0;
  --cr-bg: #F5F6F8;
  --cr-hero: #15171C;
  --cr-hero-2: #1D2026;
  --cr-ok: #12A150;
}

html body {
  background: #F5F6F8;
}

/* 页头 .home-topbar 为 fixed，实际高 147px，而布局只预留 85px，
   本页首屏是深色卡片，标题会被页头压住 —— 补 62px */
.home-content {
  padding-top: 62px !important;
}

/* ============================ 1. 播放区外壳 ============================ */
.course_video {
  background: transparent;
  height: auto !important;
  padding: 22px 0 0;
}

.course_video > .windows_w {
  background: var(--cr-hero);
  border-radius: 12px;
  padding: 0 20px 20px;
  box-sizing: border-box;
  box-shadow: 0 10px 28px rgba(20, 26, 38, .10);
}

.course_video > .windows_w > div {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.course_video > .windows_w > div > div {
  width: 100%;
}

/* 标题行 */
.cr-hero-head {
  padding: 16px 0 14px;
}

.course_video .windows_w .seo-h2-title {
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: #fff !important;
  font-size: 19px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .2px;
  padding-top: 0 !important;
  margin: 0;
  overflow: hidden;
}

.cr-now-chip {
  flex: 0 0 auto;
  max-width: 260px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 2px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, .10);
  color: #C9CED8;
  font-size: 12px;
  font-weight: 400;
  line-height: 18px;
}

.cr-collect-num {
  flex: 0 0 auto;
  margin-left: auto;
  color: #7C828E;
  font-size: 12px;
  font-weight: 400;
  white-space: nowrap;
}

/* 播放器 / 封面 —— 只动外框，不动播放器内部 */
.course_video dt.f_left {
  display: block !important;
  float: none !important;
  flex: 0 0 calc(100% - 276px);
  width: calc(100% - 276px) !important;
  height: 523px !important;
  margin: 0 20px 0 0 !important;
  border-radius: 8px;
  overflow: hidden;
  background: #000;
}

.course_video .course_cover {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

/* ============================ 2. 课程目录 ============================ */
.course_video dd.f_right {
  position: relative;
  display: flex !important;
  flex-direction: column;
  float: none !important;
  flex: 0 0 256px;
  width: 256px !important;
  height: 523px !important;
  padding: 0 !important;
  background: var(--cr-hero-2);
  border: 1px solid #282C34;
  border-radius: 8px;
  box-sizing: border-box;
  overflow: hidden;
}

.course_video dd.f_right::after {
  content: "";
  position: absolute;
  left: 1px;
  right: 1px;
  bottom: 1px;
  height: 26px;
  border-radius: 0 0 8px 8px;
  background: linear-gradient(180deg, rgba(29, 32, 38, 0), #1D2026 82%);
  pointer-events: none;
}

.cr-ep-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 14px 14px 12px;
  border-bottom: 1px solid #282C34;
}

.cr-ep-title {
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .3px;
}

.cr-ep-count {
  color: #767C88;
  font-size: 12px;
}

.cr-ep-now {
  margin: 10px 14px 0;
  padding: 6px 9px;
  border-radius: 5px;
  background: rgba(229, 68, 53, .10);
  color: #9AA0AC;
  font-size: 12px;
  line-height: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.cr-ep-now em {
  font-style: normal;
  color: #FF7B6D;
  margin-left: 6px;
}

.course_list_A.cr-ep-list {
  /* [FIX 2026-11-15] 高度必须取「行高38 + 间距2 = 40」的整数倍。
     原来 flex:1 由 dd 高度算出 466px = 11.65 行，第 12 行会露出 26px 半截文字，
     再叠一层半透明的底部渐隐，看着像渲染错位。440 = 11 行整，
     余下 28px 正好留给 ::after 渐隐。改行高或 dd 高度时必须同步重算。 */
  flex: none;
  height: 440px !important;
  margin: 8px 0 0 !important;
  padding: 0 8px 10px;
  overflow-y: auto;
  overflow-x: hidden;
}

.cr-ep-list::-webkit-scrollbar {
  width: 6px;
}

.cr-ep-list::-webkit-scrollbar-thumb {
  background: #3A3F49;
  border-radius: 3px;
}

.cr-ep-list::-webkit-scrollbar-track {
  background: transparent;
}

.cr-ep-list .cr-ep {
  display: flex;
  align-items: center;
  gap: 8px;
  float: none !important;
  width: 100% !important;
  height: 38px !important;
  padding: 0 8px !important;
  margin: 0 0 2px !important;
  border-radius: 6px;
  background: transparent !important;
  color: #C3C8D1;
  font-size: 13px;
  line-height: 38px !important;
  cursor: pointer;
  box-sizing: border-box;
  transition: background .15s, color .15s;
}

.cr-ep-list .cr-ep:hover {
  background: #262A32 !important;
  color: #fff !important;
}

.cr-ep-list .cr-ep.is-on,
.cr-ep-list .cr-ep.is-on:hover {
  background: var(--cr-primary) !important;
  color: #fff !important;
  border: none !important;
}

.cr-ep-no {
  flex: 0 0 22px;
  width: 22px;
  color: #6B7180;
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  text-align: left;
}

.cr-ep.is-on .cr-ep-no {
  color: rgba(255, 255, 255, .85);
}

.cr-ep-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cr-ep .course_tips {
  position: static !important;
  top: auto !important;
  left: auto !important;
  flex: 0 0 auto;
  height: 16px !important;
  padding: 0 5px !important;
  border-radius: 3px;
  background: rgba(229, 68, 53, .18) !important;
  color: #FF8779 !important;
  font-size: 10px !important;
  line-height: 16px !important;
  letter-spacing: .5px;
}

.cr-ep.is-on .course_tips {
  background: rgba(255, 255, 255, .22) !important;
  color: #fff !important;
}

.cr-ep.is-plan {
  color: #A8AEBA;
}

.cr-ep-time {
  flex: 0 0 auto;
  color: #6B7180;
  font-size: 12px;
}

.cr-ep-none {
  padding: 24px 8px;
  color: #6B7180;
  font-size: 12px;
  text-align: center;
}

/* ============================ 3. 信息条 + 购买 ============================ */
.course_details {
  display: flex !important;
  align-items: flex-start;
  gap: 24px;
  position: static !important;
  width: 100% !important;
  height: auto !important;
  margin-top: 20px;
  padding: 24px !important;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid var(--cr-line) !important;
  border-radius: 10px;
}

.course_details > img {
  flex: 0 0 240px;
  width: 240px !important;
  height: 135px !important;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  background: #F2F3F5;
}

.cr-info {
  flex: 1;
  min-width: 0;
  position: static !important;
  left: auto !important;
  top: auto !important;
}

.course_details .seo-h3-rec-name {
  margin: 0;
  color: var(--cr-ink);
  font-size: 21px;
  font-weight: 600;
  line-height: 30px;
  letter-spacing: .2px;
}

.cr-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  color: var(--cr-ink-3);
  font-size: 13px;
  line-height: 18px;
}

.cr-meta em {
  font-style: normal;
  color: var(--cr-ink-2);
  font-weight: 500;
}

.cr-meta i {
  width: 1px;
  height: 11px;
  background: #DFE2E7;
}

.cr-desc {
  margin: 12px 0 0;
  color: var(--cr-ink-3);
  font-size: 13px;
  line-height: 22px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.cr-buy {
  flex: 0 0 240px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  position: static !important;
  left: auto !important;
  right: auto !important;
}

.cr-price {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  flex-wrap: nowrap;
  white-space: nowrap;
  max-width: 100%;
  color: var(--cr-primary);
  font-weight: 700;
  line-height: 1;
  margin: 0 !important;
  font-size: 0;
}

.cr-price .cur {
  font-size: 16px;
  font-weight: 600;
  margin-right: 2px;
}

.cr-price .int {
  font-size: 30px;
  letter-spacing: -.6px;
  font-variant-numeric: tabular-nums;
}

.cr-price .dec {
  font-size: 16px;
  font-weight: 600;
}

.cr-price .freeword {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 2px;
}

.cr-price > img {
  height: 18px !important;
  margin-left: 8px !important;
  align-self: center;
}

.cr-owned {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 28px;
  padding: 0 12px;
  border-radius: 14px;
  background: #EAF7F0;
  color: var(--cr-ok);
  font-size: 13px;
  font-weight: 500;
}

.cr-owned b {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cr-ok);
}

.cr-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
}

.cr-actions > a {
  flex: 0 0 auto;
  white-space: nowrap;
}

.cr-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 40px;
  padding: 0 16px;
  border: 1px solid #DCDFE4;
  border-radius: 6px;
  background: #fff;
  color: var(--cr-ink-2);
  font-size: 14px;
  line-height: 38px;
  cursor: pointer;
  transition: all .15s;
}

.cr-btn-ghost:hover {
  border-color: var(--cr-primary);
  color: var(--cr-primary);
}

.cr-btn-ghost svg {
  width: 15px;
  height: 15px;
  fill: currentColor;
}

.cr-btn-main {
  display: inline-flex;
  flex: 0 0 auto;
  white-space: nowrap;
  align-items: center;
  justify-content: center;
  height: 40px;
  min-width: 132px;
  padding: 0 26px;
  border: none;
  border-radius: 6px;
  background: var(--cr-primary);
  color: #fff !important;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .5px;
  line-height: 40px;
  cursor: pointer;
  transition: background .15s;
  box-sizing: border-box;
}

.cr-btn-main:hover {
  background: var(--cr-primary-dark);
}

/* ============================ 4. 标签 + 正文 ============================ */
.course_mainbody {
  float: left;
  width: calc(100% - 300px) !important;
  min-height: 0 !important;
  margin: 20px 0 40px !important;
  padding: 0 !important;
  background: #fff;
  border: 1px solid var(--cr-line) !important;
  border-radius: 10px;
  box-sizing: border-box;
  overflow: hidden;
}

.user_nesw_label {
  display: flex !important;
  position: static !important;
  left: auto !important;
  bottom: auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 32px;
  box-sizing: border-box;
  background: #fff;
  border-bottom: 1px solid var(--cr-line);
  list-style: none;
}

.user_nesw_label > li {
  float: none !important;
  width: auto !important;
  flex: 0 0 auto;
  margin: 0 36px 0 0 !important;
  padding: 0 !important;
  color: var(--cr-ink-2);
  font-size: 15px;
  line-height: 52px !important;
  text-align: left;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px !important;
  cursor: pointer;
  transition: color .15s;
}

.user_nesw_label > li:hover {
  color: var(--cr-primary);
}

.user_nesw_label > li.is-on {
  color: var(--cr-primary) !important;
  font-weight: 600;
  border-bottom-color: var(--cr-primary);
}

.COSE_LAEBEL {
  padding: 28px 32px 32px;
}

.course_ad {
  color: var(--cr-ink-2);
  font-size: 14px;
  line-height: 1.9;
}

.course_ad img {
  display: block;
  width: 100% !important;
  height: auto;
  border-radius: 6px;
}

.course_ad p {
  margin: 0 0 14px;
}

.course_ad h1,
.course_ad h2,
.course_ad h3,
.course_ad h4 {
  color: var(--cr-ink);
  font-weight: 600;
  line-height: 1.5;
  margin: 24px 0 12px;
}

.course_ad h1 {
  font-size: 22px;
}

.course_ad h2 {
  font-size: 19px;
}

.course_ad h3 {
  font-size: 17px;
}

/* ============================ 5. 课程大纲 ============================ */
.course_outline_list {
  margin: 0 !important;
  padding: 0;
  list-style: none;
}

/* 旧样式把 li 里所有 span 都绝对定位了，这里只复位序号/名称/时间三类 */
.course_outline_list .cr-ol > .cr-ol-no,
.course_outline_list .cr-ol > .cr-ol-name,
.course_outline_list .cr-ol > .cr-ol-time {
  position: static !important;
  top: auto !important;
  right: auto !important;
  z-index: auto !important;
  padding: 0 !important;
}

.course_outline_list .cr-ol {
  display: flex !important;
  align-items: center;
  gap: 10px;
  height: 46px !important;
  padding: 0 14px !important;
  margin: 0 0 6px !important;
  border-radius: 6px;
  background: #F8F9FA !important;
  color: var(--cr-ink-2);
  font-size: 14px !important;
  line-height: 46px !important;
  cursor: pointer;
  transition: background .15s;
}

.course_outline_list .cr-ol:hover {
  background: var(--cr-primary-weak) !important;
  color: var(--cr-ink) !important;
}

.cr-ol-no {
  flex: 0 0 26px;
  color: var(--cr-ink-4);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}

.cr-ol-name {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.course_outline_list .cr-ol > .cr-ol-try {
  position: static !important;
  top: auto !important;
  right: auto !important;
  z-index: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: 24px;
  padding: 0 12px !important;
  border: 1px solid var(--cr-primary) !important;
  border-radius: 4px;
  background: #fff !important;
  color: var(--cr-primary) !important;
  font-size: 12px !important;
  line-height: 20px !important;
  white-space: nowrap;
}

.cr-ol-time {
  flex: 0 0 auto;
  color: var(--cr-ink-3);
  font-size: 12px;
}

.inner-info-text-p {
  padding: 40px 0;
  color: var(--cr-ink-3);
  font-size: 14px;
  text-align: center;
}

/* ============================ 6. 评价 ============================ */
.course_comment_list {
  padding-bottom: 8px !important;
}

.cr-cm-form {
  padding-bottom: 22px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--cr-line);
}

.comment_inner {
  display: block;
  width: 100% !important;
  height: 92px !important;
  padding: 12px 14px !important;
  border: 1px solid #E3E6EA !important;
  border-radius: 8px;
  background: #FAFBFC;
  color: var(--cr-ink-2);
  font-size: 14px !important;
  line-height: 22px;
  resize: vertical;
  box-sizing: border-box;
  outline: none;
  transition: border-color .15s, background .15s;
}

.comment_inner:focus {
  border-color: var(--cr-primary) !important;
  background: #fff;
}

.cr-cm-form-foot {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

#comment_send {
  float: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px !important;
  width: auto !important;
  min-width: 92px;
  padding: 0 20px !important;
  border-radius: 6px !important;
  background: var(--cr-primary) !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 36px !important;
  text-align: center;
  cursor: pointer;
  margin: 0 !important;
}

#comment_send:hover {
  background: var(--cr-primary-dark) !important;
}

.cr-cm {
  padding: 20px 0 18px !important;
  margin: 0 !important;
  border-bottom: 1px solid var(--cr-line) !important;
}

.cr-cm-head {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cr-cm-av {
  float: none !important;
  width: 40px !important;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 50%;
  overflow: hidden;
  background: #F0F1F3 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23C6CBD3' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E") center/20px 20px no-repeat;
}

.cr-cm-av img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cr-cm-av.sm {
  width: 32px !important;
  height: 32px;
  flex: 0 0 32px;
  background-size: 16px 16px;
}

.cr-cm-meta {
  position: static !important;
  left: auto !important;
  top: auto !important;
  flex: 1;
  min-width: 0;
}

.cr-cm-name {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--cr-ink);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}

.cr-cm-name .name_VIPcar {
  height: 15px;
  width: auto;
  margin: 0 !important;
}

.cr-cm-time {
  color: var(--cr-ink-4) !important;
  font-size: 12px !important;
  line-height: 18px;
}

.cr-cm-reply {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--cr-ink-3) !important;
  font-size: 13px !important;
  cursor: pointer;
}

.cr-cm-reply:hover {
  color: var(--cr-primary) !important;
}

.cr-cm-reply svg {
  width: 13px;
  height: 13px;
  fill: currentColor;
}

.cr-cm-body {
  margin: 10px 0 0 50px !important;
  color: var(--cr-ink-2);
  font-size: 14px;
  line-height: 24px;
  word-break: break-word;
}

.cr-cm-sub {
  margin: 14px 0 0 50px !important;
  padding: 14px 16px !important;
  border-radius: 8px;
  background: #F8F9FA !important;
  list-style: none;
}

.cr-cm-sub > li {
  padding-bottom: 12px;
  margin-bottom: 12px !important;
  border-bottom: 1px solid #EFF0F2;
}

.cr-cm-sub > li:last-child {
  padding-bottom: 0;
  margin-bottom: 0 !important;
  border-bottom: none;
}

.cr-cm-sub .cr-cm-body {
  margin-left: 42px !important;
  font-size: 13px;
  line-height: 22px;
}

.cr-empty {
  padding: 56px 0 40px;
  text-align: center;
}

.cr-empty svg {
  width: 64px;
  height: 64px;
  opacity: .9;
}

.cr-empty-t {
  margin: 16px 0 0;
  color: var(--cr-ink-2);
  font-size: 15px;
  font-weight: 500;
}

.cr-empty-d {
  margin: 6px 0 0;
  color: var(--cr-ink-4);
  font-size: 13px;
}

.commentPage {
  padding-top: 24px;
  text-align: center;
}

.page_space {
  display: inline-block;
  min-width: 32px !important;
  height: 32px !important;
  padding: 0 8px;
  margin: 0 4px !important;
  border: 1px solid var(--cr-line);
  border-radius: 6px;
  color: var(--cr-ink-3) !important;
  font-size: 13px !important;
  line-height: 30px !important;
  box-sizing: border-box;
}

.page_space:hover {
  border-color: var(--cr-primary);
  color: var(--cr-primary) !important;
}

.repaly_li {
  float: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 12px 0 0 50px !important;
}

.replay_content {
  display: block;
  width: 100% !important;
  height: 64px !important;
  padding: 10px 12px !important;
  border: 1px solid #E3E6EA !important;
  border-radius: 6px;
  font-size: 13px !important;
  line-height: 20px;
  box-sizing: border-box;
  resize: vertical;
  outline: none;
}

.replay_content:focus {
  border-color: var(--cr-primary) !important;
}

#replay_button {
  float: right !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-width: 72px;
  height: 30px !important;
  padding: 0 16px;
  margin-top: 10px !important;
  border-radius: 6px;
  background: var(--cr-primary) !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 30px !important;
  cursor: pointer;
}

/* ============================ 7. 右侧栏 ============================ */
.home-content > .windows_w::after {
  content: "";
  display: block;
  clear: both;
}

.course_vicetext {
  float: right;
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 280px;
  min-height: 0;
  margin-top: 20px;
  /* 正文很长（大课 12000px+），右栏跟随滚动，避免长页面右侧一直是空白 */
  position: sticky;
  top: 160px;
  align-self: flex-start;
}

.course_vicetext > div {
  padding: 18px 18px 22px !important;
  margin-bottom: 0 !important;
  background: #fff;
  border: 1px solid var(--cr-line) !important;
  border-radius: 10px;
}

.cr-card-h {
  position: relative;
  margin: 0 0 16px !important;
  padding: 0 0 0 10px !important;
  border-bottom: none !important;
  color: var(--cr-ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 20px !important;
}

.cr-card-h::before {
  content: "";
  position: absolute;
  left: 0;
  top: 3px;
  width: 3px;
  height: 14px;
  border-radius: 2px;
  background: var(--cr-primary);
}

.cr-teacher {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.cr-teacher-av {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  background: #F0F1F3 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23C6CBD3' d='M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-4.4 0-8 2.2-8 5v3h16v-3c0-2.8-3.6-5-8-5z'/%3E%3C/svg%3E") center/26px 26px no-repeat;
}

.cr-teacher-av img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cr-teacher-txt {
  min-width: 0;
}

.cr-t-name {
  margin: 0;
  color: var(--cr-ink);
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cr-t-sub {
  margin: 2px 0 0;
  /* [FIX 2026-11-15] 原来是主色红，结果比老师名(15px 黑)更抢眼；
     而这句话每门课都写死成「丰富教学经验」，红色只会变成噪声。降为三级灰。 */
  color: var(--cr-ink-3);
  font-size: 12px;
  line-height: 18px;
}

.cr-t-desc {
  margin: 0;
  padding: 0 !important;
  color: var(--cr-ink-3);
  font-size: 13px;
  line-height: 24px;
  word-break: break-word;
}

/* 相关课程 */
.course_recommend > ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cr-rec {
  position: static !important;
  height: auto !important;
  margin: 0 0 14px !important;
  list-style: none;
}

.cr-rec:last-child {
  margin-bottom: 0 !important;
}

.cr-rec > a {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  color: inherit;
  text-decoration: none;
}

.cr-rec > a:hover {
  text-decoration: none;
}

.cr-rec img {
  flex: 0 0 88px;
  width: 88px !important;
  height: 52px !important;
  object-fit: contain;
  border-radius: 6px;
  background: #F2F3F5;
}

.cr-rec-txt {
  flex: 1;
  min-width: 0;
}

.cr-rec .seo-h3-rec {
  margin: 0 !important;
  padding: 0;
  color: var(--cr-ink);
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.cr-rec > a:hover .seo-h3-rec {
  color: var(--cr-primary);
}

.cr-rec-price {
  margin: 5px 0 0 !important;
  color: var(--cr-primary) !important;
  font-size: 14px !important;
  font-weight: 600;
  line-height: 1;
}

.cr-rec-price span {
  font-size: 12px !important;
}
