/* 合作名师页私有样式，按设计稿模块顺序排列*/

/* 板块节奏：设计稿标题到上一块内容，首席→创始人 148，其余 168；最后一块到页脚约 330（含“查看全部”按钮） */
.teachers-section { padding-bottom: 0; }
.teachers-section + .teachers-section { padding-top: calc(var(--dy-section-gap) * 1.4); }
.teachers-founders.teachers-section { padding-top: calc(var(--dy-section-gap) * 1.2); }
.teachers-roster { padding-bottom: calc(var(--dy-section-gap) * 2); }
.teachers-page .section-title { margin-bottom: 4.25rem; text-align: center; font-weight: 500; line-height: 1.33; }
.teachers-gap { display: inline-block; width: 2em; }

/* banner：背景图里已含标题和遮罩，按图片比例定高，不再叠 .page-banner 的遮罩 */
.teachers-banner { min-height: 0; padding: 0; aspect-ratio: 1920 / 428; background-image: url("/assets/images/teachers/banner-bg.jpg"); }
.teachers-banner::before { content: none; }

/* chief 首席导师：左照片右介绍，整体比内容区窄 */
.teachers-chief-body { --bs-gutter-x: 3.125rem; max-width: 1290px; margin-inline: auto; }
.teachers-chief-photo { display: block; width: 100%; height: auto; border-radius: var(--dy-radius-xl); }
.teachers-chief-name { margin: 0; font-size: clamp(2rem, 1.4rem + 1.2vw, 2.75rem); font-weight: 500; line-height: 1.4; color: var(--dy-tag-text); }
.teachers-chief-name span { margin-left: 0.75rem; font-size: clamp(1.25rem, 0.75rem + 0.9vw, 1.75rem); }
.teachers-chief-creds { margin: 0.375rem 0 0; font-size: 1.125rem; line-height: 2; letter-spacing: 0.03em; }
.teachers-chief-creds .sep { margin: 0 0.75rem; }
.teachers-chief-info { display: grid; gap: 0.625rem; margin: 2.5rem 0 0; color: var(--dy-text-secondary); line-height: 1.875; }
.teachers-chief-info > div { display: flex; }
.teachers-chief-info dt { flex: 0 0 auto; font-weight: 400; }
.teachers-chief-info dd { margin: 0; }
.teachers-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.25rem 0 0; }
.teachers-tags li { padding: 0.125rem 0.5rem; border-radius: 6px; background: var(--dy-tag-bg); color: var(--dy-tag-text); font-size: 0.875rem; line-height: 1.3; }

/* founders 知名流派创始人：姓名在灰卡上方，照片跨在灰卡上沿，灰卡用 ::before 占第二行起的整宽 */
.teachers-founders-grid { --bs-gutter-y: 6rem; padding-top: 1.75rem; }
.teachers-founder { display: grid; grid-template-columns: 3rem minmax(0, 1fr) 248px 3.4375rem; grid-template-rows: auto auto 1fr; height: 100%; }
.teachers-founder::before { content: ""; grid-area: 2 / 1 / 4 / 5; border-radius: var(--dy-radius-lg); background: var(--dy-bg-soft); }
.teachers-founder-head { grid-area: 1 / 2 / 2 / 3; padding: 1.125rem 1rem 0.5rem 0; }
.teachers-founder-head h3 { margin: 0; font-size: clamp(1.375rem, 1rem + 0.8vw, 1.875rem); font-weight: 500; line-height: 1.4; }
.teachers-founder-head p { margin: 0; font-size: 1.125rem; line-height: 2; letter-spacing: 0.03em; }
.teachers-founder-photo { grid-area: 1 / 3 / 3 / 4; display: block; width: 100%; height: auto; border-radius: var(--dy-radius-lg); }
.teachers-founder-creds { grid-area: 2 / 2 / 3 / 3; margin: 0; padding: 1.5rem 1rem 0 0; line-height: 1.875; }
.teachers-founder-creds li { padding-left: 1em; text-indent: -1em; }
.teachers-founder-creds li::before { content: "·"; display: inline-block; width: 1em; text-indent: 0; }
.teachers-founder-info { grid-area: 3 / 2 / 4 / 4; display: grid; gap: 0.5rem; align-content: start; margin: 0; padding: 2.1875rem 0 2.25rem; color: var(--dy-text-secondary); line-height: 1.875; }
/* 与首席不同，折行后顶格接排（设计稿），整段 3 行截断 */
.teachers-founder-info > div { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.teachers-founder-info dt { display: inline; font-weight: 400; }
.teachers-founder-info dd { display: inline; margin: 0; }

/* 名师卡（特约大牌、导师团队共用）：照片底部叠紫色渐变，姓名头衔压在渐变上；照片与文字用同一个网格格子叠放 */
.teachers-grid { --bs-gutter-x: 3rem; --bs-gutter-y: 4.25rem; margin-bottom: 0; }
.teachers-card-photo { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; border-radius: var(--dy-radius-lg); background: var(--dy-bg-soft); }
.teachers-card-photo img { grid-area: 1 / 1; display: block; width: 100%; height: auto; aspect-ratio: 324 / 398; object-fit: cover; }
.teachers-card-head { grid-area: 1 / 1; align-self: end; padding: clamp(3rem, 1rem + 3.2vw, 4.9375rem) clamp(1rem, -1rem + 3.33vw, 3rem) 0.9375rem; background: linear-gradient(180deg, rgba(var(--dy-violet-rgb), 0) 0, var(--dy-violet) 100%); color: #fff; }
.teachers-card-head h3,
.teachers-card-head p { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.teachers-card-head h3 { margin: 0; font-size: clamp(1.25rem, 0.6rem + 1.1vw, 1.875rem); font-weight: 500; line-height: 1.4; }
.teachers-card-head p { margin: 0; font-size: clamp(0.875rem, 0.5rem + 0.6vw, 1.125rem); line-height: 2; letter-spacing: 0.03em; }
.teachers-card-desc { margin: 1.25rem 0 0; color: var(--dy-text-secondary); line-height: 1.875; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* “查看全部”：设计稿没有，按品牌色描边按钮；按钮文字随展开状态切换 */
.teachers-more { margin-top: 3.5rem; text-align: center; }
.teachers-more .btn { padding: 0.625rem 2.5rem; font-size: 1.125rem; }
.teachers-more .bi { margin-left: 0.5rem; }
.teachers-more .btn[aria-expanded="true"] .teachers-more-open,
.teachers-more .btn[aria-expanded="false"] .teachers-more-close { display: none; }

/* 名师阵容一览：设计稿没有，浅灰表头 + 细分隔线，名单列自动换行 */
.teachers-roster-table { border: 1px solid var(--dy-border); border-radius: var(--dy-radius); }
.teachers-roster-table .table { --bs-table-color: var(--dy-text-secondary); margin: 0; font-size: 1rem; line-height: 1.8; }
.teachers-roster-table .table > :not(caption) > * > * { padding: 1rem 1.25rem; }
.teachers-roster-table thead th { color: var(--dy-text); font-weight: 600; white-space: nowrap; background: var(--dy-bg-soft); }
.teachers-roster-table tbody th,
.teachers-roster-table tfoot th { color: var(--dy-text); font-weight: 500; white-space: nowrap; }
.teachers-roster-table td:nth-child(2) { white-space: nowrap; }
.teachers-roster-table tfoot > tr > * { border-bottom-width: 0; font-weight: 600; }

@media (max-width: 1199.98px) {
  .teachers-grid { --bs-gutter-x: 1.5rem; --bs-gutter-y: 3rem; }
  .teachers-founders-grid { --bs-gutter-y: 4rem; }
}
@media (max-width: 991.98px) {
  /* 照片与文字上下排时，限宽的 margin-inline: auto 抵消了栅格负边距，去掉左右 gutter 与其它板块对齐 */
  .teachers-chief-body { --bs-gutter-x: 0; }
}
@media (max-width: 767.98px) {
  /* 手机上背景按高度铺满，保证图里的标题完整可见 */
  .teachers-banner { aspect-ratio: auto; min-height: 180px; background-size: auto 100%; }
  .teachers-page .section-title { margin-bottom: 2rem; }
  .teachers-chief-name span { display: block; margin: 0.25rem 0 0; }
  .teachers-chief-creds { font-size: 1rem; }
  .teachers-chief-info { margin-top: 1.5rem; font-size: 0.875rem; }
  .teachers-founders-grid { --bs-gutter-y: 2.5rem; padding-top: 0; }
  .teachers-founder { grid-template-columns: 1.25rem minmax(0, 1fr) 7.5rem 1.25rem; font-size: 0.875rem; }
  .teachers-founder-head { padding-top: 0.25rem; }
  .teachers-founder-head p { font-size: 0.875rem; line-height: 1.6; }
  .teachers-founder-creds { padding: 0.75rem 0.75rem 0.75rem 0; line-height: 1.7; }
  .teachers-founder-info { padding: 0.75rem 0 1.25rem; line-height: 1.7; }
  .teachers-grid { --bs-gutter-x: 1rem; --bs-gutter-y: 2rem; }
  .teachers-card-desc { margin-top: 0.75rem; font-size: 0.875rem; line-height: 1.7; -webkit-line-clamp: 2; }
  .teachers-more { margin-top: 2rem; }
  .teachers-more .btn { font-size: 1rem; }
  .teachers-roster-table .table { font-size: 0.875rem; line-height: 1.7; }
  .teachers-roster-table .table > :not(caption) > * > * { padding: 0.75rem; }
  .teachers-roster-table tbody th,
  .teachers-roster-table tfoot th { min-width: 4.5rem; white-space: normal; }
}

/* 首页跳转锚点（#teacher-xxx、#teacher-xxx-course）：避开吸顶导航 */
.teachers-founder,
.teachers-founder-info > div { scroll-margin-top: 6.5rem; }
