/* 院校落地页样式（P2） */
.co-layout { display: flex; gap: 28px; align-items: flex-start; margin-top: 18px; }
.college-wrap { flex: 1 1 auto; min-width: 0; }

/* 校徽 + 信息卡 */
/* grid 布局：具名区域让「标签」在桌面跟信息同列、在手机落到校徽正下方（见移动端断点），
   display:contents 的 .co-meta 使其子元素直接参与本网格，DOM 不用动 */
.co-idcard {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "logo tags" "logo info";
  column-gap: 20px;
  align-items: center;
  background: linear-gradient(135deg, #d9e4f6, #eef3fb); border: 1px solid #c6d6ee; border-radius: 14px;
  padding: 18px 20px; margin-bottom: 22px; box-shadow: 0 1px 3px rgba(20,40,80,.04);
}
.co-logo { grid-area: logo; width: 84px; height: 84px; object-fit: contain; }
.co-meta { display: contents; }
.co-tags { grid-area: tags; margin-bottom: 8px; }
.co-tag {
  display: inline-block; background: #eaf2ff; color: #1a5fd0; font-size: 12px;
  padding: 2px 9px; border-radius: 20px; margin: 0 6px 6px 0; font-weight: 600; border: 1px solid #d3e3ff;
}
.co-info { grid-area: info; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 18px; font-size: 13px; color: #444; }
.co-info b { color: #222; font-weight: 600; margin-right: 4px; }

/* 区块 */
.co-section { background: #fff; border: 1px solid #eef0f3; border-radius: 14px; padding: 18px 20px; margin-bottom: 20px; box-shadow: 0 1px 3px rgba(20,40,80,.04); }
.co-h1 {
  font-size: 21px; font-weight: 700; margin: 0 0 16px; color: #15457f;
}
/* h1 括号里的副说明：深灰小字普通字重；手机端独占一行（见移动端断点） */
.co-h1-sub { color: #555; font-size: 13px; font-weight: 400; }
/* 页首「返回全国院校库」小链接（与院校库双向互通） */
.co-backlib {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 13px; font-weight: 600; color: #1a5fd0; text-decoration: none;
  margin: 0 0 12px;
}
.co-backlib:hover { color: #15457f; text-decoration: underline; }
.co-h2 {
  font-size: 17px; font-weight: 700; margin: 0 0 14px; padding: 7px 14px;
  background: #eaf2ff; border-left: 4px solid #1a5fd0; border-radius: 6px; color: #15457f;
}
.co-note, .co-interpret { font-size: 12.5px; color: #6b7280; margin: 10px 0 0; line-height: 1.6; }
.co-interpret { background: #fff8e6; border-left: 3px solid #f0b400; padding: 8px 12px; border-radius: 6px; }

/* 表格 */
.co-tbl { font-size: 13px; margin: 0; }
.co-tbl th { background: #e7f0ff; color: #15457f; font-weight: 700; white-space: nowrap; border-bottom: 2px solid #cfe0ff; text-align: center; }
.co-tbl td { vertical-align: middle; }
.c-gc { font-weight: 600; white-space: nowrap; }
.c-warn { color: #e6a000; cursor: help; }
.c-hist { font-weight: 400; font-size: 11px; color: #9aa6b2; margin-left: 4px; border-bottom: 1px dotted #b9c4d0; cursor: help; }
.c-subj { color: #555; white-space: nowrap; }
.c-year { text-align: center; white-space: nowrap; line-height: 1.5; }
.c-score { display: block; font-weight: 700; color: #1a5fd0; }
.c-rank { display: block; color: #e0533a; font-size: 12px; }
.c-plan { display: block; color: #6b7280; font-size: 12px; }
.c-empty { color: #c4c8cd; }
/* 合并单元格（多合一 / 一拆多）：这一格跨了多行，说明那一年这几行只有一组在招 */
.co-tbl td.c-merge { background: #f5f9ff; border-left: 2px solid #bfd4f5; border-right: 2px solid #bfd4f5; }
.c-chg { text-align: center; white-space: nowrap; line-height: 1.5; }
.c-chg .up { color: #c62828; font-weight: 700; }
.c-chg .down { color: #2e7d32; font-weight: 700; }
.c-chg .flat { color: #888; }
/* 第二行：位次变化（非粗体小字） */
.c-chg .c-d { display: block; }
.c-chg .c-dr { display: block; font-size: 11.5px; }
.c-chg .c-dr .up, .c-chg .c-dr .down { font-weight: 400; }
.c-spark { text-align: center; }
.co-sum td { font-weight: 700; background: #f6f8fb; text-align: center; }

/* CTA 卡片 */
.co-cta {
  display: flex; align-items: center; gap: 14px; text-decoration: none;
  background: linear-gradient(135deg, #1a5fd0, #2f7be0); border: 1px solid #1a5fd0;
  border-radius: 14px; padding: 16px 20px; margin: 0 0 20px; color: #fff;
  transition: box-shadow .15s, transform .15s;
}
.co-cta:hover { box-shadow: 0 8px 22px rgba(26,95,208,.28); transform: translateY(-1px); color: #fff; }
.co-cta i { font-size: 26px; color: #fff; flex: 0 0 auto; }
.co-cta b { font-size: 15px; }
.co-cta span { font-size: 13px; line-height: 1.5; opacity: .95; }
/* 计划 CTA：蓝绿渐变——色相介于上方蓝色分数线 CTA(#1a5fd0)与下方绿色推荐 CTA(#1a7a44)正中间 */
.co-cta.plan { background: linear-gradient(135deg, #1a6c8a, #28819d); border-color: #1a6c8a; color: #fff; }
.co-cta.plan:hover { box-shadow: 0 8px 22px rgba(26,108,138,.3); color: #fff; }
/* 推荐 CTA：深绿底 + 白字，与上方蓝绿计划 CTA 区分 */
.co-cta.reco { background: linear-gradient(135deg, #1a7a44, #21885a); border-color: #1a7a44; color: #fff; }
.co-cta.reco:hover { box-shadow: 0 8px 22px rgba(26,122,68,.3); color: #fff; }
.co-cta.reco i { color: #fff; }

/* 右侧相关学校 */
.co-related { flex: 0 0 300px; width: 300px; position: sticky; top: 70px; }
.co-rel-h { font-size: 16px; font-weight: 700; margin: 0 0 12px; color: #15457f; }
.co-rel-group { background: #f3f8ff; border: 1px solid #dbe7ff; border-left: 3px solid #1a5fd0; border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; }
.co-rel-group h4 { font-size: 13px; font-weight: 700; color: #1a5fd0; margin: 0 0 8px; }
.co-rel-group ul { list-style: none; padding: 0; margin: 0; }
.co-rel-group li { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; padding: 4px 0; border-bottom: 1px dashed #eef0f3; font-size: 13px; }
.co-rel-group li:last-child { border-bottom: none; }
.co-rel-group a { color: #222; text-decoration: none; }
.co-rel-group a:hover { color: #1a5fd0; }
.rl-range { color: #9aa0a6; font-size: 11.5px; white-space: nowrap; }
/* 「猜你可能还想看」空态：有设备标识但同档里一所都没查过时的一句说明 */
.co-rel-group li.rl-empty { display: block; color: #9aa0a6; font-size: 12px; line-height: 1.6; border-bottom: none; }

/* 移动端：侧栏堆叠到正文后 */
@media (max-width: 991.98px) {
  /* flex-direction 改 column 后 align-items 管的就是横轴：基线的 flex-start 会让子项
     按内容宽度排而不拉伸——内含宽表格的 .college-wrap 会被撑到 600+px，把 .container
     和整个页面撑出横向滚动（表格以外的部分随之比 topbar 还宽）。改回 stretch 让
     主栏/侧栏都与视口同宽，宽表格只在 .table-responsive 内部左右滑动。 */
  .co-layout { flex-direction: column; align-items: stretch; }
  .co-related { flex: 1 1 auto; width: 100%; position: static; }
  .co-info { grid-template-columns: 1fr; }
  /* 标签落到校徽正下方：校徽与信息保持上一行并排，标签占 logo 下方整格并水平居中；
     meta 已是 display:contents，上一轮为它加的 flex 规则随之作废 */
  .co-idcard { grid-template-areas: "logo info" "tags info"; }
  .co-tags { justify-self: center; margin-bottom: 0; }
  /* 标签比校徽宽时网格列被标签撑宽，logo 默认 start 对齐会偏左——同列居中让两中心对齐 */
  .co-logo { justify-self: center; }
  /* 手机端：h1 括号副说明独占一行 */
  .co-h1-sub { display: block; margin-top: 4px; }
}
