/* ============================================================
   招生网站首页样式（易优CMS模板 skin）
   适用模板目录：template/pc/
   ============================================================ */
:root {
  --blue: #2263b4;
  --blue-mid: #2f7bd8;
  --blue-dark: #174a8c;
  --blue-deep: #0e3a74;
  --orange: #ff8a2b;
  --bg: #f4f7fb;
  --line: #e6ecf3;
  --text: #333a45;
  --muted: #8a97a8;
  --page: 1400px;          /* 全站内容区宽度：按需调整此值即可 */
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  color: var(--text);
  background: #fff;
  font-size: 14px;
}
a { text-decoration: none; color: inherit; transition: color .2s; }
ul, li { list-style: none; }
img { display: block; max-width: 100%; }
.wrap { width: var(--page); max-width: 94%; margin: 0 auto; }
/* 只给搜索引擎和读屏软件看的文本（如页面唯一的 h1） */
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

/* ---------- 顶部工具条 ---------- */
.top-bar { background: var(--blue-deep); color: #cfe0f5; font-size: 12px; line-height: 34px; }
.top-bar .wrap { display: flex; justify-content: space-between; }
.top-bar a { margin-left: 16px; color: #cfe0f5; }
.top-bar a:hover { color: #fff; }
.top-bar .tel { color: #ffd08a; font-weight: bold; }

/* ---------- 顶部「咨询」电话弹窗 ---------- */
.top-modal-mask {
  display: none; position: fixed; inset: 0; z-index: 999;
  background: rgba(10, 30, 60, .55);
}
.top-modal-mask.show { display: flex; align-items: center; justify-content: center; }
.top-modal {
  position: relative; width: 360px; max-width: 88vw;
  background: #fff; border-radius: 10px; padding: 38px 36px 30px;
  text-align: center; box-shadow: 0 20px 50px rgba(10,30,60,.3);
  animation: modalIn .22s ease;
}
@keyframes modalIn { from { transform: translateY(16px); opacity: 0; } to { transform: none; opacity: 1; } }
.top-modal .close {
  position: absolute; right: 12px; top: 8px; border: 0; background: none;
  font-size: 26px; line-height: 1; color: #9aa7b5; cursor: pointer;
}
.top-modal .close:hover { color: var(--text); }
.top-modal h4 { font-size: 20px; color: var(--blue-dark); letter-spacing: 2px; }
.top-modal .sub { margin-top: 8px; font-size: 13px; color: var(--muted); }
.top-modal .num { margin-top: 14px; font-size: 30px; font-weight: bold; color: var(--blue); letter-spacing: 1px; }
.top-modal .tip { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); line-height: 1.6; }

/* ---------- 主头部：上排logo+搜索，下排主导航 ---------- */
.header { background: linear-gradient(180deg, #1e5aa6, #174a8c); box-shadow: 0 2px 6px rgba(14,58,116,.25); position: relative; z-index: 20; }
/* 第一行：logo 左，搜索 右上 */
.header-top { display: flex; align-items: center; justify-content: space-between; padding: 20px 0 14px; }
.logo { display: flex; align-items: center; color: #fff; }
.logo .logo-img { height: 60px; width: auto; }
/* 搜索框：白底输入区 + 橙色按钮 */
.search-box { display: flex; align-items: center; background: #fff; border-radius: 20px; padding: 3px 4px 3px 18px; width: 320px; }
.search-box input { border: 0; background: transparent; color: var(--text); flex: 1; font-size: 13px; outline: none; }
.search-box input::placeholder { color: #a9b6c6; }
.search-box button { border: 0; background: var(--orange); color: #fff; border-radius: 17px; padding: 7px 18px; cursor: pointer; font-size: 13px; white-space: nowrap; }
.search-box button:hover { background: #f07a15; }
/* 第二行：主导航，通栏均分，位置略低于logo */
.header-bottom { display: block; }
.header-bottom .nav { display: flex; width: 100%; }
.nav li { flex: 1; text-align: center; position: relative; }
.nav li a { display: block; line-height: 50px; color: #fff; font-size: 17px; letter-spacing: 1px; }
.nav li a:hover, .nav li a.on { background: rgba(255,255,255,.14); font-weight: bold; }
.nav li .sub { display: none; position: absolute; top: 50px; left: 0; min-width: 150px; background: #fff; box-shadow: 0 6px 16px rgba(0,0,0,.15); z-index: 30; text-align: left; }
.nav li .sub li { flex: none; display: block; }
.nav li:hover .sub { display: block; }
.nav li .sub a { line-height: 42px; color: var(--text); font-size: 14px; padding: 0 16px; white-space: nowrap; display: block; }
.nav li .sub a:hover { color: var(--blue); background: #f2f7fd; }

/* ---------- 大横幅：天空蓝 + 你好新学期 + 底部荣誉条 ---------- */
.banner { position: relative; }
.banner-bg {
  position: relative; height: 470px; overflow: hidden; color: #fff;
  background: linear-gradient(180deg, #23a3ea 0%, #45b7ef 55%, #7ed0f6 100%);
}
/* 首页横幅：后台广告位 pid=7 的图片，铺满整条横幅（多张时只显示第一张） */
.banner-bg .banner-slide { position: absolute; inset: 0; display: block; }
.banner-bg .banner-slide:not(:first-child) { display: none; }
.banner-bg .banner-slide .pic { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 荣誉条：浅灰蓝底（比「招生专业」板块背景稍深一档，层次更分明），底边与横幅底部齐平，间隙透出背景 */
/* 布局用「固定五等分网格 + 列宽 minmax(0,1fr)」：格子宽度只由容器决定，
   不再随文案长度变化，文案再长也只会在格子里折行，不会把整条撑宽、超出内容区 */
.banner-strip {
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px;
  width: min(var(--page, 1400px), 94%); max-width: 100%;
  padding-bottom: 0; z-index: 9;
}
.banner-strip span {
  display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 8px;
  min-width: 0; color: #1b3a5c; font-size: clamp(13px, 1.15vw, 16px); line-height: 1.45; text-align: left;
  padding: 10px 16px; min-height: 64px; box-sizing: border-box;
  /* 长文案在格子里自动折行，格子被撑高而不是把整条拉宽 */
  white-space: normal; overflow-wrap: anywhere;
  background: #e6edf6;
  border-radius: 0;
  transition: background .25s;
}
.banner-strip span:hover { background: #d8e3f1; }
.banner-strip svg { width: 20px; height: 20px; fill: var(--blue); }

/* 功能图标行：白底区块整体上移，压住横幅底部一小部分（荣誉条浮在其上） */
.banner-icons {
  background: #fff; padding: 52px 0 44px;
  position: relative; z-index: 6; margin-top: -34px;
}
/* 与下方板块使用统一内容宽度（.wrap 默认 94%），左右边缘对齐 */
.banner-icons .wrap { display: flex; }
.banner-icons a { flex: 1; text-align: center; }
.banner-icons .ico {
  width: 76px; height: 76px; margin: 0 auto 18px; border-radius: 50%;
  background: linear-gradient(135deg, #2f7bd8, #2263b4); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 30px; font-weight: bold; overflow: hidden;
  transition: transform .25s, box-shadow .25s;
}
/* 无底色图标（如二维码图片）：不显示蓝色圆底 */
.banner-icons .ico.no-bg { background: none; box-shadow: none; overflow: visible; }
.banner-icons a:hover .ico { transform: translateY(-5px); box-shadow: 0 12px 22px rgba(34,99,180,.35); }
.banner-icons a:hover .ico.no-bg { box-shadow: none; }
.banner-icons .ico img { width: 100%; height: 100%; object-fit: cover; }
.banner-icons .ico.no-bg img { border-radius: 0; }
.banner-icons .ico svg { width: 34px; height: 34px; fill: #fff; }
.banner-icons p { color: #333; font-size: 15px; letter-spacing: .5px; }

/* ---------- 通用版块标题 ---------- */
.section { padding: 44px 0; }
.sec-head { display: flex; align-items: baseline; margin-bottom: 26px; }
.sec-head h2 { font-size: 26px; color: var(--blue-dark); padding-left: 14px; border-left: 5px solid var(--blue); line-height: 1.1; }
.sec-head .en { margin-left: 12px; color: var(--muted); font-size: 13px; letter-spacing: 1px; }
.sec-head .more { margin-left: auto; color: var(--muted); font-size: 13px; }
.sec-head .more:hover { color: var(--blue); }

/* ---------- 最新资讯：左头条轮播+推荐 / 右四栏目选项卡 ---------- */
.news-grid2 { display: grid; grid-template-columns: minmax(0, 1.26fr) minmax(0, 1fr); gap: 44px;
  font-family: "Microsoft YaHei", "微软雅黑", "PingFang SC", Arial, sans-serif; }

/* 左栏：上下结构布局，轮播自动填满剩余高度 */
.news-left { display: flex; flex-direction: column; }
.news-left .sec-head { flex: none; padding-top: 12px; }   /* 与右栏栏目标题条基线对齐 */
.headline-carousel { position: relative; flex: 1 1 auto; min-height: 380px;
  border-radius: 10px; overflow: hidden; box-shadow: 0 6px 18px rgba(20,70,130,.12); }
.headline-carousel .hc-item { position: absolute; inset: 0; opacity: 0; transition: opacity .6s; }
.headline-carousel .hc-item.on { opacity: 1; }
.headline-carousel .hc-item img { width: 100%; height: 100%; object-fit: cover; }
.headline-carousel .cap {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  line-height: 52px; padding: 0 18px; color: #fff; font-size: 19px; font-weight: bold;
  background: linear-gradient(transparent, rgba(0,0,0,.68));
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.headline-carousel .hc-dots { position: absolute; right: 18px; bottom: 66px; z-index: 3; display: flex; gap: 8px; }
.headline-carousel .hc-dots span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.6); cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,.25); transition: all .25s; }
.headline-carousel .hc-dots span.on { background: #fff; }

/* 左：四条推荐新闻 2x2 */
.news-reco { flex: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px;
  margin-top: auto; padding-top: 24px; }
.reco-item { display: flex; align-items: center; min-width: 0; background: #f6f9fc; border-radius: 8px;
  padding: 15px 16px; min-height: 98px; transition: all .25s; }
.reco-item:hover { background: #eef4fb; }
.reco-item .date { flex: none; text-align: center; margin-right: 14px; line-height: 1.2; }
.reco-item .date em { display: block; font-style: normal; font-size: 12px; color: var(--muted); }
.reco-item .date b { font-size: 22px; color: var(--blue); line-height: 1.15; }
.reco-item .tt {
  flex: 1; min-width: 0; font-size: 17px; color: var(--text); line-height: 1.6; text-align: left;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.reco-item:hover .tt { color: var(--blue); }

/* 右栏：两个栏目模块（均匀分布，与左栏等高） */
.news-right { display: flex; flex-direction: column; justify-content: space-between; }
.news-block { display: flex; flex-direction: column; }
.news-block + .news-block { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--line); }
.block-head { display: flex; align-items: baseline; padding: 8px 0 11px; margin-bottom: 4px; border-bottom: 1px solid var(--line); }
.block-head h3 { font-size: 22px; color: var(--blue-dark); font-weight: bold; line-height: 1.15; padding-left: 12px; border-left: 4px solid var(--blue); }
.block-head .en { margin-left: 12px; font-size: 14px; color: #c3cdd8; }
.block-head .more { margin-left: auto; color: var(--blue); font-size: 15px; }
.block-head .more:hover { color: var(--orange); }

/* 右：新闻列表（标题居左 + 日期居右，轻盈版） */
.news-list2 li { border-bottom: 1px solid #f0f3f7; }
.news-list2 li:last-child { border-bottom: 0; }
.news-list2 li a { display: flex; align-items: center; padding: 13px 2px; transition: padding-left .2s; }
.news-list2 li a::before {
  content: ""; flex: none; width: 5px; height: 5px; border-radius: 50%;
  background: #c3d2e5; margin-right: 12px; transition: background .2s;
}
.news-list2 .tt {
  flex: 1; min-width: 0; order: 1; font-size: 17px; color: #333;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif; transition: color .2s;
}
.news-list2 .date {
  flex: none; order: 2; margin-left: 20px;
  color: #9aa7b5; font-size: 13px; letter-spacing: .5px;
}
.news-list2 li a:hover { padding-left: 6px; }
.news-list2 li a:hover::before { background: var(--blue); }
.news-list2 li a:hover .tt { color: var(--blue); }

/* 招生动态·显著头条位（橙色标签 + 单行加粗标题） */
.news-feature {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 16px; margin: 10px 0 6px;
  background: linear-gradient(90deg, #eaf2fc, #f7fbff);
  border-left: 3px solid var(--blue); border-radius: 4px;
  transition: background .25s, box-shadow .25s;
}
.news-feature .badge {
  flex: none; background: #f08300; color: #fff;
  font-size: 12px; line-height: 22px; padding: 0 9px; border-radius: 3px; letter-spacing: 1px;
}
.news-feature .ft {
  flex: 1; min-width: 0; font-size: 17px; font-weight: bold; color: #a5342a;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.news-feature:hover { background: #e3eefb; box-shadow: 0 4px 12px rgba(34,99,180,.12); }
.news-feature:hover .ft { color: var(--blue); }

/* ---------- 学科教育 ---------- */
.section-major { background: var(--bg); }
.major-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.major-card { border-radius: 8px; overflow: hidden; background: #fff; box-shadow: 0 3px 10px rgba(30,90,166,.08); transition: all .25s; }
.major-card:hover { transform: translateY(-5px); box-shadow: 0 10px 22px rgba(30,90,166,.16); }
.major-card .pic { height: 120px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 26px; letter-spacing: 4px; }
.major-card .pic img { width: 100%; height: 100%; object-fit: cover; }
.major-card .info { padding: 14px 16px 16px; }
.major-card .info h3 { font-size: 17px; color: var(--text); }
.major-card .info p { margin-top: 6px; font-size: 12px; color: var(--muted); }
/* 专业下小字：文档标签 */
.major-card .info .m-tags { margin-top: 8px; display: flex; flex-wrap: wrap; gap: 6px; min-height: 20px; }
.major-card .info .m-tags span {
  font-size: 12px; line-height: 18px; color: #5b6b80;
  background: #f1f5fb; border-radius: 9px; padding: 1px 8px; white-space: nowrap;
}
.major-card .info .apply { display: inline-block; margin-top: 10px; font-size: 12px; color: var(--blue); border: 1px solid var(--blue); border-radius: 12px; padding: 2px 12px; }
.major-card .info .apply:hover { background: var(--blue); color: #fff; }
/* 首页专业卡片后台取 9 张：手机 3 列正好铺满 3×3；桌面 4 列只展示前 8 张，避免末行只剩 1 张 */
@media (min-width: 769px) {
  .section-major .major-grid > a:nth-child(9) { display: none; }
}

/* 本科/专科导航：文字选项卡（选中=大字加粗+蓝条，未选中=橙色+橙条） */
.major-nav { display: flex; align-items: flex-end; gap: 44px; margin-bottom: 26px; }
.major-nav a {
  position: relative; padding: 4px 2px 12px; font-size: 16px; color: #e8823f;
  transition: all .2s;
}
.major-nav a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0;
  height: 2px; background: #e8823f; border-radius: 1px;
}
.major-nav a:hover { color: #e8823f; }
.major-nav a.on { font-size: 22px; font-weight: bold; color: #333; padding-bottom: 14px; }
.major-nav a.on::after { height: 4px; background: var(--blue); }
.major-nav a.on:hover { color: #333; }
.major-pane { display: none; }
.major-pane.on { display: block; }
/* 无图占位渐变色（与CMS栏目图一一对应） */
.ph-1 { background: linear-gradient(135deg,#5aa7e8,#2263b4); }
.ph-2 { background: linear-gradient(135deg,#f0a45a,#e0722f); }
.ph-3 { background: linear-gradient(135deg,#63c6b0,#2f9e85); }
.ph-4 { background: linear-gradient(135deg,#7b9df0,#4a5fd0); }
.ph-5 { background: linear-gradient(135deg,#e88aa8,#c94f78); }
.ph-6 { background: linear-gradient(135deg,#e8c45a,#d09a2f); }
.ph-7 { background: linear-gradient(135deg,#8f7be8,#5f4ad0); }
.ph-8 { background: linear-gradient(135deg,#6fc2e8,#2f86b4); }
.ph-9 { background: linear-gradient(135deg,#4fc3a1,#1f8f78); }
.ph-10 { background: linear-gradient(135deg,#f0a0c0,#c95f90); }

/* 第8条之后的专业：以标签形式继续展示（沿用原标签云样式） */
.major-more { margin-top: 26px; }
/* 标签沿用网站原有标签云样式：白底方角、通栏网格均分 */
.major-more-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 12px; }
.major-more-list a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 100%; height: 40px; padding: 0 10px;
  background: #fff; border: 1px solid var(--line); border-radius: 4px;
  font-size: 15px; color: var(--muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .2s, border-color .2s;
}
.major-more-list a:hover { color: var(--blue); border-color: var(--blue); }

/* ---------- 自考助学：标签 + 内容面板 ---------- */
/* 标签栏：整体铺满页面宽度，最多显示前 8 个二级栏目，按 8 格等分（每格 =(100% - 7×8px)/8）；不足 8 个时靠左排布行尾留空，标签文字居中 */
/* 咨询与联系：浅灰蓝底色带，与相邻白底板块形成区分 */
.section-contact { background: var(--bg); }
.notice-bar { display: flex; gap: 8px; width: 100%; margin-bottom: 18px; }
.notice-bar a {
  flex: 0 0 calc((100% - 56px) / 8); width: calc((100% - 56px) / 8);
  min-width: 0; text-align: center;
  background: #eef4fb; border-radius: 4px; padding: 10px 8px; font-size: 16px; color: var(--text);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: background .2s, color .2s;
}
.notice-bar a.on, .notice-bar a:hover { background: var(--blue); color: #fff; }
.notice-panes { position: relative; }
.notice-pane { display: none; }
.notice-pane.on { display: block; }
/* 无 JS 时兜底显示第一个面板 */
.notice-panes:not(.js-ready) .notice-pane:first-child { display: block; }
.notice-list li { display: flex; align-items: center; min-width: 0; border-bottom: 1px solid var(--line); }
.notice-list .date { flex: none; width: 102px; background: var(--blue); color: #fff; text-align: center; padding: 10px 0; margin-right: 18px; font-size: 16px; border-radius: 0 0 6px 6px; }
/* 标题链接作为 flex 项必须 min-width:0，否则 nowrap 长标题按固有宽度撑破整行 */
.notice-list li a { flex: 1; min-width: 0; display: block; overflow: hidden; }
.notice-list .tt { display: block; font-size: 18px; line-height: 56px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.notice-list li a:hover .tt { color: var(--blue); }

/* ---------- 底部服务导航（深蓝服务条 + 竖排标题） ---------- */
.service-row { background: linear-gradient(90deg, #16427f, #123a70); padding: 24px 0; }
.service-row .wrap { display: flex; align-items: center; }
/* 左侧竖排标题 */
.service-row .side-title {
  flex: none; writing-mode: vertical-rl; letter-spacing: 10px;
  color: #fff; font-size: 20px; font-weight: bold;
  padding: 4px 0; margin-right: 40px;
  border-right: 1px solid rgba(255,255,255,.25); padding-right: 24px;
}
/* 快捷导航固定 8 项：不换行、等宽均分整行 */
.service-row ul { flex: 1; display: flex; flex-wrap: nowrap; justify-content: space-between; min-width: 0; }
.service-row li { text-align: center; flex: 1 1 0; min-width: 0; position: relative; }
/* 项与项之间的细分隔线 */
.service-row li + li::before {
  content: ""; position: absolute; left: 0; top: 14px; bottom: 6px;
  width: 1px; background: rgba(255,255,255,.12);
}
.service-row .ico {
  width: 54px; height: 54px; margin: 0 auto 10px; border-radius: 50%;
  background: rgba(255,255,255,.1); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 17px; font-weight: bold;
  transition: all .25s;
}
.service-row li a { color: rgba(255,255,255,.88); }
.service-row li a:hover .ico {
  background: #fff; color: var(--blue-dark);
  transform: translateY(-4px); box-shadow: 0 8px 16px rgba(0,0,0,.25);
}
.service-row li a:hover p { color: #fff; }
.service-row p { font-size: 14px; padding: 0 4px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* ---------- 页脚 ---------- */
.footer { background: linear-gradient(180deg, #103563, #0a2547); color: #a9bdd9; padding: 46px 0 0; font-size: 13px; }
.footer .wrap { position: relative; }
.footer .cols { display: flex; justify-content: space-between; gap: 30px; }
.footer .col { min-width: 0; }
/* 四个栏目列等宽均分左侧空间（学院概况/新闻动态/招生动态/自考助学），二维码与联系列按内容宽度靠右 */
.footer .nav-col { flex: 1 1 0; }
.footer .col h4 {
  color: #fff; font-size: 16px; margin-bottom: 18px; letter-spacing: 1px; line-height: 1.2;
}
.footer .col a { display: block; line-height: 32px; color: #a9bdd9; transition: color .2s, padding-left .2s; }
.footer .col a:hover { color: #fff; padding-left: 5px; }
.footer .qr { text-align: center; margin-right: 16px; }
.footer .qr-row { display: flex; align-items: flex-start; }
.footer .qr .box {
  width: 112px; height: 112px; background: #fff; border-radius: 8px;
  display: flex; align-items: center; justify-content: center; color: #14477f; font-size: 13px;
  transition: transform .25s, box-shadow .25s; overflow: hidden;
}
/* 二维码图片：后台自定义字段上传的图片按 112×112 等比缩放，避免变形 */
.footer .qr .box img { width: 100%; height: 100%; object-fit: contain; display: block; }
.footer .qr a:hover .box { transform: translateY(-4px); box-shadow: 0 10px 18px rgba(0,0,0,.3); }
.footer .qr p { margin-top: 10px; color: #a9bdd9; width: 112px; line-height: 20px; }
.footer .tel-line { text-align: right; }
.footer .tel-line b { display: block; color: #fff; font-size: 30px; letter-spacing: 1px; margin-top: 14px; }
.footer .tel-line p { line-height: 26px; }
.copyright { margin-top: 34px; border-top: 1px solid rgba(255,255,255,.1); line-height: 52px; text-align: center; font-size: 12px; color: rgba(255,255,255,.45); }
/* 备案号：与版权同行偏下，点击跳工信部/公安部备案系统 */
.copyright .beian { line-height: 1.6; padding-bottom: 10px; }
.copyright .beian a { color: rgba(255,255,255,.45); margin: 0 6px; }
.copyright .beian a:hover { color: rgba(255,255,255,.8); }

/* ---------- 在线留言 ---------- */
.msg-board { display: flex; gap: 44px; align-items: stretch; }
/* 左侧联系方式卡（渐变 + 装饰圆 + 分隔线） */
.msg-side {
  position: relative; overflow: hidden;
  width: 340px; flex-shrink: 0; padding: 40px 34px;
  background: linear-gradient(160deg, #2170c4, #174a8c);
  border-radius: 10px; color: #fff;
}
/* 右上装饰光斑 */
.msg-side::before {
  content: ""; position: absolute; right: -70px; top: -70px;
  width: 200px; height: 200px; border-radius: 50%;
  background: rgba(255,255,255,.08);
}
.msg-side::after {
  content: ""; position: absolute; left: -50px; bottom: -80px;
  width: 170px; height: 170px; border-radius: 50%;
  background: rgba(255,255,255,.06);
}
.msg-side > * { position: relative; z-index: 1; }
.msg-side .en { font-size: 12px; letter-spacing: 3px; color: rgba(255,255,255,.55); margin: 0 0 8px; text-transform: uppercase; }
/* 标题下短横线点缀 */
.msg-side .en::after {
  content: ""; display: block; width: 34px; height: 3px; border-radius: 2px;
  margin-top: 12px; background: #ffd08a;
}
.msg-side dl { display: flex; gap: 14px; align-items: flex-start; padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.msg-side dl:last-child { border-bottom: 0; padding-bottom: 0; }
.msg-side dt {
  width: 42px; height: 42px; border-radius: 50%; flex-shrink: 0;
  background: rgba(255,255,255,.14);
  display: flex; align-items: center; justify-content: center;
}
.msg-side dt svg { width: 18px; height: 18px; fill: #ffd08a; }
.msg-side dd { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,.9); }
.msg-side dd b { display: block; font-size: 15px; margin-bottom: 3px; color: #fff; }
/* 右侧留言表单（纵向弹性布局：留言框自动撑满，与左侧卡等高对齐） */
.msg-form { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.msg-form .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.msg-form input, .msg-form textarea, .msg-form select {
  width: 100%; border: 1px solid #e3ecf5; border-radius: 6px;
  padding: 13px 15px; font-size: 14px; color: var(--text);
  background: #f7fafd; outline: none; font-family: inherit;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.msg-form input::placeholder, .msg-form textarea::placeholder { color: #a8b6c6; }
.msg-form input:focus, .msg-form textarea:focus, .msg-form select:focus {
  border-color: var(--blue); background: #fff; box-shadow: 0 0 0 3px rgba(30,90,166,.1);
}
.msg-form input { margin-bottom: 18px; }
.msg-form textarea { flex: 1; min-height: 120px; height: auto; resize: vertical; margin-bottom: 22px; }
.msg-form button {
  align-self: flex-end;
  display: inline-flex; align-items: center; gap: 8px;
  border: 0; cursor: pointer; border-radius: 8px;
  background: linear-gradient(135deg, #2f7bd8, #1b5aa8); color: #fff;
  font-size: 15px; letter-spacing: 4px; font-weight: bold;
  padding: 13px 38px;
  box-shadow: 0 8px 18px rgba(30,90,166,.28);
  transition: transform .2s, box-shadow .2s, filter .2s;
}
.msg-form button::after { content: "→"; letter-spacing: 0; font-weight: normal; transition: transform .2s; }
.msg-form button:hover { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(30,90,166,.34); filter: brightness(1.06); }
.msg-form button:hover::after { transform: translateX(5px); }

/* ============================================================
   右侧悬浮咨询条（在线咨询 / 咨询电话 / 招生微信 / 回到顶部）
   ============================================================ */
.side-consult {
  position: fixed; right: 0; top: 50%; transform: translateY(-50%);
  width: 88px; z-index: 900;
  padding: 10px 0 8px;
  background: linear-gradient(180deg, #2b72c8 0%, #1a549c 42%, #123c74 100%);
  border-radius: 16px 0 0 16px;
  box-shadow: -10px 14px 36px rgba(16, 55, 108, .28), inset 0 1px 0 rgba(255,255,255,.18);
}
/* 顶部一道细高光，增加质感 */
.side-consult::before {
  content: ""; position: absolute; left: 18px; right: 18px; top: 0; height: 2px;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.7), rgba(255,255,255,0));
  border-radius: 2px;
}
.side-consult .sc-item {
  position: relative; display: block; text-align: center; color: #fff;
  padding: 13px 0 11px; transition: background .25s;
}
.side-consult .sc-item + .sc-item::before {
  content: ""; position: absolute; left: 17px; right: 17px; top: 0; height: 1px;
  background: rgba(255,255,255,.14);
}
.side-consult .sc-ico {
  display: flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; margin: 0 auto 8px; border-radius: 50%;
  background: rgba(255,255,255,.14);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
  transition: background .25s, transform .25s, box-shadow .25s;
}
.side-consult .sc-ico svg { width: 24px; height: 24px; fill: #fff; transition: fill .25s; }
.side-consult .sc-label { display: block; font-size: 13px; letter-spacing: 1px; color: #e8f2ff; }
.side-consult .sc-item:hover { background: rgba(255,255,255,.1); }
.side-consult .sc-item:hover .sc-ico {
  background: #fff; transform: translateY(-3px);
  box-shadow: 0 8px 16px rgba(6, 34, 70, .3);
}
.side-consult .sc-item:hover .sc-ico svg { fill: var(--blue-dark); }
.side-consult .sc-item:hover .sc-label { color: #fff; }

/* 悬浮信息卡 */
.side-consult .sc-tip {
  position: absolute; right: calc(100% + 14px); top: 50%;
  transform: translate(10px, -50%);
  padding: 11px 18px; background: #fff; border-radius: 8px;
  box-shadow: 0 12px 28px rgba(16, 55, 108, .22);
  text-align: left; white-space: nowrap;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .22s, transform .22s, visibility .22s;
}
.side-consult .sc-tip::after {
  content: ""; position: absolute; left: 100%; top: 50%; transform: translateY(-50%);
  border: 7px solid transparent; border-left-color: #fff;
}
.side-consult .sc-tip b { display: block; font-size: 14px; color: var(--blue-dark); letter-spacing: .5px; }
.side-consult .sc-tip i { display: block; margin-top: 4px; font-style: normal; font-size: 12px; color: var(--muted); }
.side-consult .sc-item:hover .sc-tip { opacity: 1; visibility: visible; transform: translate(0, -50%); }

/* 回到顶部：更轻量的一项，滚动后出现 */
.side-consult .sc-top { padding: 12px 0 10px; opacity: 0; visibility: hidden; max-height: 0; overflow: hidden; transition: opacity .3s, max-height .3s, visibility .3s; }
.side-consult .sc-top.show { opacity: 1; visibility: visible; max-height: 72px; }
.side-consult .sc-top + .sc-top::before { display: none; }
.side-consult .sc-top .sc-ico { width: 34px; height: 34px; margin-bottom: 5px; background: rgba(255,255,255,.1); }
.side-consult .sc-top .sc-ico svg { width: 17px; height: 17px; }
.side-consult .sc-top .sc-label { font-size: 12px; color: #cfe0f5; }
.side-consult .sc-top:hover .sc-label { color: #fff; }

/* 侧栏弹窗内的二维码 */
.top-modal .sc-qr {
  width: 186px; height: 186px; margin: 20px auto 0; padding: 8px;
  border: 1px solid var(--line); border-radius: 10px; background: #fff;
  box-shadow: 0 6px 18px rgba(16,55,108,.1);
}
.top-modal .sc-qr img { width: 100%; height: 100%; object-fit: contain; }

/* ============================================================
   二级页面 · 单页模型（学院概况等，lists_single_about.htm）
   ============================================================ */
/* 顶部通栏 banner：后台广告位 pid=1 图片，未配置则显示蓝色渐变 */
.about-banner {
  position: relative; height: 250px;
  background: linear-gradient(115deg, #3a80d4 0%, #1c5aa2 55%, #123c74 100%);
  background-size: cover; background-position: center;
}

/* 栏目导航：白卡压住 banner 底部，宽度与首页内容区一致、高度加高
   导航项按「四个字」固定宽度，条目不足时整体居中、两端自然留空 */
.about-nav {
  position: relative; z-index: 6;
  width: min(var(--page), 94%);
  height: 86px;
  margin: -38px auto 0;
  display: flex; align-items: stretch; justify-content: center; padding: 0 12px;
  background: #fff; border-radius: 6px;
  box-shadow: 0 10px 28px rgba(16, 55, 108, .14);
}
.about-nav a {
  flex: 0 0 auto; width: 164px; display: flex; align-items: center; justify-content: center;
  position: relative; padding: 0 16px;
  font-size: 19px; color: #55606d; letter-spacing: 1px; white-space: nowrap;
  border-bottom: 3px solid transparent;
  transition: color .2s, border-color .2s;
}
.about-nav a:hover { color: var(--blue); }
.about-nav a.on { color: var(--blue); font-weight: bold; border-bottom-color: var(--blue); }
/* 当前项下方的小三角 */
.about-nav a.on::after {
  content: ""; position: absolute; left: 50%; bottom: -12px; transform: translateX(-50%);
  border: 6px solid transparent; border-top-color: var(--blue);
}

/* 正文 */
.about-body { width: min(var(--page), 94%); margin: 0 auto; padding: 48px 0 64px; }
.about-body > h1 {
  text-align: center; font-size: 28px; color: var(--text); letter-spacing: 2px;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
  margin-bottom: 36px;
}
.about-content { max-width: 100%; margin: 0 auto; font-size: 15px; line-height: 2.1; color: #3a4350; text-align: justify; }
.about-content::after { content: ""; display: block; clear: both; }
.about-content p { margin-bottom: 26px; }
.about-content img { max-width: 100%; height: auto; margin: 12px auto; border-radius: 6px; }
.about-content h2, .about-content h3, .about-content h4 { margin: 32px 0 16px; color: #1f3c63; line-height: 1.5; }
.about-content h2 { font-size: 22px; }
.about-content h3 { font-size: 19px; }
.about-content h4 { font-size: 17px; }
.about-content ul, .about-content ol { margin: 0 0 26px; padding-left: 28px; }
.about-content ul li { list-style: disc; margin-bottom: 8px; }
.about-content ol li { list-style: decimal; margin-bottom: 8px; }
.about-content table { width: 100%; border-collapse: collapse; margin: 0 0 26px; font-size: 14px; line-height: 1.8; }
.about-content table th, .about-content table td { border: 1px solid #dde5ef; padding: 10px 12px; text-align: left; }
.about-content table th { background: #eef4fb; color: #1f3c63; font-weight: bold; }
.about-content a { color: var(--blue); }
.about-content iframe, .about-content video, .about-content embed { max-width: 100%; }
.about-content blockquote {
  margin: 0 0 26px; padding: 16px 22px; border-left: 4px solid var(--blue);
  background: #f4f8fd; color: #4a5563; border-radius: 0 4px 4px 0;
}

/* ============================================================
   二级页面 · 文章列表模型（lists_article.htm）
   ============================================================ */
/* banner 广告图：后台「广告管理 → 广告位(pid=1)」上传，铺满整条横幅
   广告位为空时保留蓝色渐变底；同一广告位有多张图时只显示第一张 */
.banner-adv { position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; }
.banner-adv img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
.banner-adv img:not(:first-child) { display: none; }

/* 通栏 banner：左下角蓝色方块栏目名 */
.list-banner {
  position: relative; height: 250px;
  background: linear-gradient(115deg, #3a80d4 0%, #1c5aa2 55%, #123c74 100%);
  background-size: cover; background-position: center;
}
.list-banner .cap {
  position: absolute; left: max(calc((100% - var(--page)) / 2), 3%); bottom: -16px;
  z-index: 5; background: var(--blue); color: #fff;
  font-size: 22px; font-weight: bold; letter-spacing: 4px;
  padding: 26px 36px; line-height: 1.2;
  box-shadow: 0 10px 24px rgba(16, 55, 108, .28);
}

/* 左侧子栏目 + 右侧列表 */
.list-wrap {
  display: flex; gap: 42px; align-items: flex-start;
  width: min(var(--page), 94%); margin: 0 auto; padding: 16px 0 64px;
}
.list-side {
  width: 196px; flex-shrink: 0; background: #fff;
  box-shadow: 0 8px 26px rgba(16, 55, 108, .1);
  border-radius: 0 0 6px 6px; padding: 10px 0;
}
.list-side a {
  position: relative; display: block; padding: 16px 30px;
  font-size: 15px; color: #4a5462; letter-spacing: 1px;
  border-left: 3px solid transparent;
  transition: color .2s, border-color .2s, background .2s;
}
.list-side a:hover { color: var(--blue); }
.list-side a.on {
  color: var(--blue); font-weight: bold; border-left-color: var(--blue); background: #f4f8fd;
}

.list-main { flex: 1; min-width: 0; }
.list-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 4px;
}
.list-head h3 {
  font-size: 19px; color: var(--blue); letter-spacing: 1px;
  border-left: 4px solid var(--blue); padding-left: 13px; line-height: 1.2;
}
.list-crumbs { display: flex; align-items: center; gap: 5px; font-size: 13px; color: #98a4b3; }
.list-crumbs svg { width: 15px; height: 15px; fill: #b6c2d2; }
.list-crumbs a { color: #98a4b3; }
.list-crumbs a:hover { color: var(--blue); }

/* 列表：蓝色方块引导 + 标题居左 + 日期居右 */
.list-items li { border-bottom: 1px solid #eef2f7; }
.list-items a { display: flex; align-items: center; gap: 12px; padding: 17px 6px 17px 2px; }
.list-items a::before {
  content: ""; flex: none; width: 7px; height: 7px;
  background: var(--blue); opacity: .85;
  transition: transform .2s;
}
.list-items .tt {
  flex: 1; min-width: 0; font-size: 15px; color: #3a4350;
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
}
.list-items .date { flex: none; color: #98a4b3; font-size: 13px; }
.list-items a:hover .tt { color: var(--blue); }
.list-items a:hover::before { transform: scale(1.35); opacity: 1; }

/* 分页 */
.list-page { text-align: center; padding: 30px 0 0; }
.list-page a, .list-page span {
  display: inline-block; min-width: 34px; padding: 7px 13px; margin: 0 4px;
  border: 1px solid var(--line); border-radius: 4px;
  font-size: 13px; color: #55606d; background: #fff;
  transition: all .2s;
}
.list-page a:hover { border-color: var(--blue); color: var(--blue); }
.list-page span.active, .list-page span.current, .list-page a.active {
  background: var(--blue); border-color: var(--blue); color: #fff; font-weight: bold;
}
.list-page li { display: inline-block; }

/* ============================================================
   文章列表页 v5（lists_article.htm）：门户杂志风
   沉浸横幅 → 横向子栏目胶囊条 → 双列图文卡片网格 → 右侧咨询/榜单栏
   ============================================================ */
/* 横幅：全幅大图 + 底部深色渐变压字，标题与面包屑入横幅 */
.nl-banner {
  position: relative; height: 250px; overflow: hidden;
  background: linear-gradient(115deg, #3a80d4 0%, #1c5aa2 55%, #123c74 100%);
}
.nl-banner .banner-adv, .nl-banner .banner-adv img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nl-banner::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10, 34, 70, .08) 0%, rgba(10, 34, 70, .42) 62%, rgba(8, 28, 58, .78) 100%);
}
.nl-banner-in {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 3;
  width: min(var(--page), 94%); margin: 0 auto; padding-bottom: 30px; color: #fff;
}
.nl-banner-in h1 {
  font-size: 34px; font-weight: bold; letter-spacing: 6px; line-height: 1.2;
  text-shadow: 0 2px 14px rgba(6, 24, 50, .45);
}
.nl-banner-in h1::after {
  content: ""; display: block; width: 46px; height: 3px; margin-top: 12px;
  background: linear-gradient(90deg, #6db3ff, rgba(109, 179, 255, 0)); border-radius: 2px;
}
.nl-crumb { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; margin-top: 14px; font-size: 13px; color: rgba(255, 255, 255, .82); }
.nl-crumb a { color: rgba(255, 255, 255, .82); transition: color .2s; }
.nl-crumb a:hover { color: #fff; }
.nl-crumb i {
  width: 5px; height: 5px; transform: rotate(45deg);
  background: rgba(255, 255, 255, .5); border-radius: 1px;
}
.nl-crumb span { color: #fff; font-weight: bold; }

/* 子栏目胶囊条：横向排列，吸顶跟随 */
.nl-tabs {
  position: sticky; top: 0; z-index: 15;
  background: #fff; border-bottom: 1px solid var(--line);
  box-shadow: 0 6px 18px rgba(16, 55, 108, .05);
}
/* PC：8 等分网格——正好 8 个铺满整行；不足 8 个自动靠左、右侧留空；超过 8 个隐藏 */
.nl-tabs-in {
  display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 10px;
  width: min(var(--page), 94%); margin: 0 auto; padding: 20px 0;
}
.nl-tabs a {
  position: relative; display: block; min-width: 0; text-align: center;
  padding: 14px 6px; border-radius: 999px; font-size: 17px; letter-spacing: .5px; color: #4c5866;
  background: #f4f7fb; border: 1px solid transparent; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
  transition: color .22s, background .22s, box-shadow .22s;
}
.nl-tabs a:nth-child(n+9) { display: none; }
/* 悬停小三角用绝对定位，避免出现时挤动居中文字 */
.nl-tabs a::after {
  content: ""; position: absolute; right: 13px; top: 50%; margin-top: -3.5px;
  width: 0; height: 0; opacity: 0; transition: all .22s;
  border-left: 4px solid currentColor; border-top: 3.5px solid transparent; border-bottom: 3.5px solid transparent;
  transform: translateX(-4px);
}
.nl-tabs a:hover { color: var(--blue); background: #eaf2fc; }
.nl-tabs a:hover::after { opacity: 1; transform: none; }
.nl-tabs a.on {
  color: #fff; font-weight: bold;
  background: linear-gradient(120deg, #2f7bd8 0%, #174a8c 100%);
  box-shadow: 0 10px 22px rgba(28, 90, 162, .30);
}
.nl-tabs a.on::after { opacity: 0; }

/* 招生专业单页：本科/专科切换，复用新闻列表页的吸顶胶囊条
   （仅样式复用，切换逻辑仍由 footer.htm 中 [data-major-tabs] 脚本驱动） */
.major-tabs { margin-top: 0; }
.major-tabs a { cursor: pointer; }
.major-tabs a::after { display: none; }

/* 文章内容页：横幅下的子栏目胶囊条，与列表页完全一致
   （内容页横幅仍是「左下角蓝块压字」，蓝块向下溢出 16px，故留 44px 避让） */
.view-tabs { margin-top: 44px; }

/* 主体：左列表网格 + 右侧栏 */
.nl-wrap {
  display: grid; grid-template-columns: minmax(0, 1fr) 316px; gap: 32px;
  width: min(var(--page), 94%); margin: 0 auto; padding: 34px 0 72px;
  align-items: start;
}
.nl-main { min-width: 0; }

/* 列表头：栏目名 + 分隔线 */
.nl-bar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid var(--line);
}
.nl-bar h2 { display: flex; align-items: center; gap: 10px; font-size: 20px; color: #223046; letter-spacing: 1px; }
.nl-bar h2::before {
  content: ""; width: 4px; height: 18px; border-radius: 2px;
  background: linear-gradient(180deg, #4a8ede, #1c5aa2);
}
.nl-bar .sub { font-size: 12.5px; color: #a4b0bf; letter-spacing: 1px; }

/* 文字列表（以文字为主：无配图，日期列 + 标题 + 摘要） */
.nl-text > li { border-bottom: 1px solid #eef2f7; }
.nl-text > li:last-child { border-bottom: 0; }
.nl-text > li > a {
  position: relative; display: flex; gap: 24px;
  padding: 22px 12px 22px 0; border-radius: 10px;
  transition: background .22s;
}
.nl-text > li > a:hover { background: linear-gradient(90deg, #f7fbff 0%, rgba(247, 251, 255, 0) 92%); }

/* 左：日期列 */
.nl-text .date { flex: none; width: 78px; padding-right: 20px; text-align: center; border-right: 1px solid #eef2f7; }
.nl-text .date b {
  display: block; font-size: 27px; line-height: 1; color: #3c4a5c;
  font-family: Georgia, "Times New Roman", serif; transition: color .22s;
}
.nl-text .date i { display: block; margin-top: 6px; font-style: normal; font-size: 12px; letter-spacing: .5px; color: #9aa6b5; }
.nl-text > li > a:hover .date b { color: var(--blue); }

/* 右：标题 + 摘要 + 信息 */
.nl-text .body { flex: 1; min-width: 0; }
.nl-text h3 {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 18px; font-weight: 600; line-height: 1.6; color: #2b3849;
  transition: color .2s;
}
.nl-text > li > a:hover h3 { color: var(--blue); }
.nl-text .desc {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-top: 8px; font-size: 13.5px; line-height: 1.85; color: #75818f;
}
.nl-text .meta { display: flex; align-items: center; gap: 10px; margin-top: 11px; font-size: 12px; color: #a3afbe; }
.nl-text .meta em {
  font-style: normal; padding: 2px 10px; border-radius: 3px;
  color: #7d90a8; background: #f3f7fc;
}
.nl-text .meta em.tag { color: #fff; background: linear-gradient(90deg, #f0913f 0%, #e0663d 100%); }
.nl-text .meta .more {
  margin-left: auto; display: inline-flex; align-items: center; gap: 4px; color: #b6c2d1;
  transition: color .22s, transform .22s;
}
.nl-text > li > a:hover .more { color: var(--blue); transform: translateX(3px); }

.nl-lead { margin-bottom: 6px; }
.nl-lead:empty { display: none; }

/* 头条重点卡：浅蓝底（文字仍为主体） */
.nl-text > li.lead { border-bottom: 0; margin-bottom: 2px; }
.nl-text > li.lead > a {
  padding: 26px 30px; border: 1px solid #e6effa; border-radius: 14px;
  background: linear-gradient(120deg, #f2f7fd 0%, #fbfdff 72%);
  transition: box-shadow .24s, border-color .24s, background .24s;
}
.nl-text > li.lead > a:hover { border-color: #d7e6f8; box-shadow: 0 14px 30px rgba(16, 55, 108, .09); }
.nl-text > li.lead .date { border-right-color: #dce8f6; }
.nl-text > li.lead .date b { font-size: 32px; color: var(--blue); }
.nl-text > li.lead h3 { font-size: 22px; line-height: 1.5; color: #1d2b3d; }
.nl-text > li.lead .desc { margin-top: 10px; font-size: 14px; -webkit-line-clamp: 3; color: #74808f; }

/* 右侧栏：吸顶 */
.nl-aside { position: sticky; top: 108px; display: flex; flex-direction: column; gap: 20px; }
/* 咨询卡 */
.nl-call {
  position: relative; overflow: hidden; padding: 24px 24px 22px;
  border-radius: 14px; color: #fff;
  background: linear-gradient(135deg, #2f7bd8 0%, #1c5aa2 58%, #123c74 100%);
  box-shadow: 0 16px 34px rgba(28, 90, 162, .26);
}
.nl-call::before {
  content: ""; position: absolute; right: -34px; top: -44px; width: 130px; height: 130px;
  border: 14px solid rgba(255, 255, 255, .1); border-radius: 50%;
}
.nl-call em { display: block; font-style: normal; font-size: 11.5px; letter-spacing: 4px; color: rgba(255, 255, 255, .66); }
.nl-call b { display: block; margin-top: 8px; font-size: 24px; letter-spacing: 1px; font-family: Georgia, "Times New Roman", serif; }
.nl-call p { margin-top: 6px; font-size: 12px; line-height: 1.6; color: rgba(255, 255, 255, .72); }
.nl-call .btn {
  position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 6px;
  margin-top: 15px; padding: 9px 18px; border-radius: 999px;
  font-size: 13px; font-weight: bold; color: var(--blue-dark); background: #fff;
  transition: background .22s, transform .22s;
}
.nl-call .btn:hover { background: #eaf2fc; transform: translateY(-1px); }

/* 通用白卡盒子（榜单等） */
.nl-box { background: #fff; border: 1px solid #edf1f7; border-radius: 14px; overflow: hidden; box-shadow: 0 6px 18px rgba(16, 55, 108, .05); }
.nl-box-hd {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 18px 13px; border-bottom: 1px solid #f1f5fa;
}
.nl-box-hd h3 { display: flex; align-items: center; gap: 9px; font-size: 15.5px; color: #223046; letter-spacing: 1px; }
.nl-box-hd h3::before { content: ""; width: 3px; height: 14px; border-radius: 2px; background: var(--blue); }
.nl-box-hd span { font-size: 11.5px; color: #a9b4c2; letter-spacing: 1px; }
.nl-rank li { border-bottom: 1px dashed #f0f4f9; }
.nl-rank li:last-child { border-bottom: 0; }
.nl-rank a { display: flex; align-items: flex-start; gap: 11px; padding: 13px 18px; }
.nl-rank .no {
  flex: none; width: 20px; height: 20px; margin-top: 1px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-size: 11.5px; font-weight: bold; font-family: Georgia, serif;
  color: #94a3b5; background: #f2f6fb;
}
.nl-rank li:nth-child(1) .no { color: #fff; background: linear-gradient(135deg, #f0913f, #e0663d); }
.nl-rank li:nth-child(2) .no { color: #fff; background: linear-gradient(135deg, #5c94d6, #2f6fb8); }
.nl-rank li:nth-child(3) .no { color: #fff; background: linear-gradient(135deg, #7fb4a8, #4c8f83); }
.nl-rank .tt {
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  font-size: 13.5px; line-height: 1.65; color: #4a5666; transition: color .2s;
}
.nl-rank a:hover .tt { color: var(--blue); }

/* ============================================================
   文章内容页（view_article.htm）
   ============================================================ */
/* 左正文 + 右侧栏 */
.view-wrap {
  display: flex; gap: 32px; align-items: flex-start;
  width: min(var(--page), 94%); margin: 0 auto; padding: 36px 0 64px;
}

/* 正文白卡 */
.view-main {
  flex: 1; min-width: 0; background: #fff;
  box-shadow: 0 8px 26px rgba(16, 55, 108, .1);
  border-radius: 6px; padding: 42px 48px 34px;
}
.view-title {
  text-align: center; font-size: 26px; line-height: 1.55;
  color: var(--blue); font-weight: bold; letter-spacing: 1px;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
}
.view-meta {
  display: flex; justify-content: center; align-items: center; gap: 16px;
  margin-top: 18px; padding-bottom: 22px; border-bottom: 1px solid var(--line);
  font-size: 13px; color: #98a4b3; letter-spacing: .5px;
}
.view-meta svg { width: 15px; height: 15px; fill: #b6c2d2; vertical-align: -3px; margin-right: 4px; }
.view-meta .sep { width: 1px; height: 12px; background: #dfe6ef; }

/* 正文排版：首行缩进、两端对齐、表格描边 */
.view-body { padding-top: 30px; font-size: 15px; line-height: 2.1; color: #3a4350; text-align: justify; }
.view-body p { margin-bottom: 22px; text-indent: 2em; }
.view-body img { max-width: 100%; height: auto; border-radius: 6px; margin: 12px auto; display: block; }
.view-body table { width: 100%; border-collapse: collapse; margin: 10px 0 26px; font-size: 14px; line-height: 1.8; }
.view-body table td, .view-body table th { border: 1px solid #c9d4e2; padding: 10px 14px; text-indent: 0; }
.view-body table th { background: #f0f5fb; color: #2b3646; font-weight: bold; text-align: center; }
.view-body h2, .view-body h3 { color: #2b3646; margin: 30px 0 16px; text-indent: 0; }

/* 上一篇 / 下一篇 */
.view-page {
  margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 12px;
}
.view-page a {
  display: block; font-size: 14px; color: #55606d;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: color .2s;
}
.view-page a b { color: #98a4b3; font-weight: normal; }
.view-page a:hover { color: var(--blue); }
.view-page .none { font-size: 14px; color: #b3bdc9; }

/* 右侧栏：浅蓝卡片 */
/* 右侧栏：与列表页同样的 316px 吸顶栏（咨询热线卡 + 热门推荐） */
.view-aside {
  width: 316px; flex-shrink: 0;
  display: flex; flex-direction: column; gap: 20px;
  position: sticky; top: 108px;
}
.view-card {
  background: #f3f8fd; border-radius: 6px;
  box-shadow: 0 8px 26px rgba(16, 55, 108, .08);
  padding: 22px 20px 10px; margin-bottom: 30px;
}
.view-card h4 {
  font-size: 19px; color: #2b3646; letter-spacing: 1px;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
  padding-bottom: 14px; border-bottom: 1px solid #e0eaf5;
}
.view-card li + li { border-top: 1px solid #e4eef8; }

/* 最新阅读：标题 + 日期 */
.view-read a { display: flex; align-items: flex-start; gap: 12px; padding: 13px 0; }
.view-read .tt {
  flex: 1; min-width: 0; font-size: 13.5px; line-height: 1.65; color: #3a4350;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.view-read .date { flex: none; font-size: 12px; color: #98a4b3; padding-top: 3px; }
.view-read a:hover .tt { color: var(--blue); }

/* 最新动态：缩略图 + 日期 + 标题 */
.view-news a { display: flex; gap: 12px; padding: 14px 0; }
.view-news img {
  flex: none; width: 104px; height: 64px; object-fit: cover;
  border-radius: 4px; background: #dde7f2;
}
.view-news .info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.view-news .date { font-size: 15px; color: #2b3646; font-family: Arial, sans-serif; }
.view-news .tt {
  font-size: 13px; line-height: 1.6; color: #3a4350;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.view-news a:hover .tt { color: var(--blue); }

/* ============================================================
   招生专业单页（lists_single_major.htm）— 与首页招生专业板块同款
   ============================================================ */
.major-page { width: min(var(--page), 94%); margin: 0 auto; padding: 40px 0 70px; }

/* 后台循环输出无固定色类，按卡片序号轮换渐变色（与首页 ph-1~ph-8 同色系） */
.major-page .major-card .pic { position: relative; }
.major-page .major-card .pic img { position: absolute; left: 0; top: 0; }
.major-page .major-grid a:nth-child(8n+1) .pic { background: linear-gradient(135deg,#5aa7e8,#2263b4); }
.major-page .major-grid a:nth-child(8n+2) .pic { background: linear-gradient(135deg,#f0a45a,#e0722f); }
.major-page .major-grid a:nth-child(8n+3) .pic { background: linear-gradient(135deg,#63c6b0,#2f9e85); }
.major-page .major-grid a:nth-child(8n+4) .pic { background: linear-gradient(135deg,#7b9df0,#4a5fd0); }
.major-page .major-grid a:nth-child(8n+5) .pic { background: linear-gradient(135deg,#e88aa8,#c94f78); }
.major-page .major-grid a:nth-child(8n+6) .pic { background: linear-gradient(135deg,#e8c45a,#d09a2f); }
.major-page .major-grid a:nth-child(8n+7) .pic { background: linear-gradient(135deg,#8f7be8,#5f4ad0); }
.major-page .major-grid a:nth-child(8n+8) .pic { background: linear-gradient(135deg,#6fc2e8,#2f86b4); }

/* ============================================================
   在线报名页（lists_single_form.htm）
   版式：居中页头引导区 + 双列填报白卡 + 右侧说明卡
   ============================================================ */
.reg-page {
  background:
    radial-gradient(1000px 340px at 50% -120px, #dfebf9 0%, rgba(223, 235, 249, 0) 72%),
    #f4f7fb;
  padding: 42px 0 78px;
}

/* 页头引导区：英文小标 + 主标题 + 说明 + 装饰短线 */
.reg-head { text-align: center; margin-bottom: 34px; }
.reg-head .eyebrow {
  display: block; font-size: 11px; letter-spacing: 5px; color: #a6b4c7;
  text-transform: uppercase; font-family: Arial, "Helvetica Neue", sans-serif;
}
.reg-title {
  margin-top: 12px; font-size: 30px; line-height: 1.28; letter-spacing: 4px;
  color: #143b69; font-weight: bold;
  font-family: "Microsoft YaHei", "微软雅黑", sans-serif;
}
.reg-title::after {
  content: ""; display: block; width: 44px; height: 3px; margin: 15px auto 0;
  border-radius: 2px; background: linear-gradient(90deg, #6fb3f0, var(--blue-mid));
}
.reg-sub { margin-top: 15px; font-size: 14px; color: #7d8ca0; letter-spacing: .6px; }

.reg-wrap {
  display: flex; gap: 26px; align-items: flex-start;
  width: min(var(--page), 94%); margin: 0 auto;
}

/* 左：表单白卡 */
.reg-main {
  flex: 1; min-width: 0; background: #fff; border-radius: 12px;
  border: 1px solid #eef3f9;
  box-shadow: 0 14px 40px rgba(16, 55, 108, .07);
  padding: 34px 44px 38px;
}

/* 表单卡头：序号 + 标题 + 必填说明 + 安全标识 */
.reg-formhead {
  display: flex; align-items: center; gap: 14px;
  padding-bottom: 22px; border-bottom: 1px solid var(--line); margin-bottom: 30px;
}
.reg-formhead .num {
  flex: none; width: 42px; height: 42px; border-radius: 11px;
  display: grid; place-items: center; font-size: 15px; font-weight: bold; color: #fff;
  font-family: Arial, "Helvetica Neue", sans-serif;
  background: linear-gradient(135deg, #3f8bdc, #1d5a9f);
  box-shadow: 0 8px 18px rgba(34, 99, 180, .26);
}
.reg-formhead .tt { min-width: 0; }
.reg-formhead .tt b { display: block; font-size: 19px; color: #1b3a5e; letter-spacing: 1px; }
.reg-formhead .tt i {
  display: block; margin-top: 5px; font-style: normal;
  font-size: 12.5px; color: #93a0b2;
}
.reg-formhead .tt i em { font-style: normal; color: #e34d4d; font-weight: bold; }
.reg-formhead .safe {
  margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 999px; background: #eff7f1;
  font-size: 12px; color: #3c8a5c; letter-spacing: .5px;
}
.reg-formhead .safe::before {
  content: ""; width: 5px; height: 5px; border-radius: 50%; background: #4caf7d;
}

/* 双列表单：标签在上、控件铺满列宽 */
.reg-form {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 32px;
}
.frow { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.frow label {
  font-size: 13.5px; color: #46566c; letter-spacing: .3px; font-weight: bold;
}
.frow label i { font-style: normal; color: #e34d4d; margin-right: 5px; }
.frow .fctrl { display: block; min-width: 0; }
.frow select, .frow input, .frow textarea {
  display: block; width: 100%; height: 46px; padding: 0 14px;
  border: 1px solid #dde5ef; border-radius: 8px; background: #fbfcfe;
  font-size: 14.5px; color: var(--text); outline: none; font-family: inherit;
  transition: border-color .2s, box-shadow .2s, background .2s;
}
.frow textarea {
  height: auto; min-height: 96px; padding: 12px 14px; line-height: 1.8; resize: vertical;
}
/* 多行文本 / 需要整行宽度的字段自动占满两列 */
.frow:has(textarea) { grid-column: 1 / -1; }
.frow select {
  cursor: pointer; padding-right: 40px;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238a97a8' d='M6 8 0 1.4 1.4 0 6 5.2 10.6 0 12 1.4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 15px center; background-size: 11px;
}
.frow select:hover, .frow input:hover, .frow textarea:hover { border-color: #c6d5e7; }
.frow select:focus, .frow input:focus, .frow textarea:focus {
  border-color: var(--blue-mid); background: #fff;
  box-shadow: 0 0 0 4px rgba(47, 123, 216, .10);
}
.frow ::placeholder { color: #b3c0d1; }

/* 按钮：立即报名（主）+ 重置（次） */
.fbtns {
  grid-column: 1 / -1; display: flex; align-items: center; gap: 14px;
  margin-top: 10px; padding-top: 28px; border-top: 1px solid #eef3f9;
}
.fbtns button {
  border: 0; cursor: pointer; border-radius: 8px; font-family: inherit;
  transition: background .2s, transform .2s, box-shadow .2s, color .2s;
}
.btn-submit {
  height: 52px; min-width: 230px; padding: 0 44px;
  font-size: 16px; font-weight: bold; letter-spacing: 5px; text-indent: 5px; color: #fff;
  background: linear-gradient(135deg, #3f8bdc, #1b569f);
  box-shadow: 0 12px 24px rgba(27, 86, 160, .26);
}
.btn-submit:hover { transform: translateY(-2px); box-shadow: 0 16px 30px rgba(27, 86, 160, .32); }
.btn-reset {
  height: 52px; min-width: 118px; padding: 0 26px;
  font-size: 15px; letter-spacing: 3px; text-indent: 3px;
  color: #64748b; background: #f3f6fa; border: 1px solid #e2e9f2;
}
.btn-reset:hover { color: #43526a; background: #eaf0f7; border-color: #d2dfec; }

/* 按钮下方提示 */
.reg-formtip {
  display: flex; align-items: flex-start; gap: 8px;
  margin-top: 20px; font-size: 12.5px; line-height: 1.7; color: #9aa7b8;
}
.reg-formtip::before {
  content: ""; flex: none; width: 5px; height: 5px; margin-top: 7px;
  border-radius: 50%; background: #93bfe9;
}

/* 右：综合要闻 / 注意事项 */
.reg-side { width: 330px; flex-shrink: 0; }
.reg-card {
  background: #fff; border-radius: 12px; border: 1px solid #eef3f9;
  box-shadow: 0 14px 40px rgba(16, 55, 108, .06);
  padding: 24px 26px 26px; margin-bottom: 22px;
}
.reg-card:last-child { margin-bottom: 0; }
.reg-cardhead {
  position: relative; padding: 0 0 14px 13px; margin-bottom: 16px;
  font-size: 16px; color: #1b3a5e; font-weight: bold; letter-spacing: 1px;
  border-bottom: 1px solid var(--line);
}
.reg-cardhead::before {
  content: ""; position: absolute; left: 0; top: 4px;
  width: 3px; height: 15px; border-radius: 2px; background: var(--blue-mid);
}
.reg-notes p { font-size: 13.5px; line-height: 2; color: #55606d; text-align: justify; margin-bottom: 10px; }
.reg-notes p:last-child { margin-bottom: 0; }

/* ---------- 手机版组件（桌面端默认隐藏，≤768px 才显示） ---------- */
.m-header, .m-nav, .m-nav-mask, .m-tabbar, .m-banner { display: none; }
.reco-item .desc { display: none; }

/* ---------- 响应式 ---------- */
/* 窄屏时咨询条收窄，减少对内容的遮挡 */
@media (max-width: 1600px) {
  .side-consult { width: 72px; padding: 8px 0 6px; }
  .side-consult .sc-item { padding: 11px 0 9px; }
  .side-consult .sc-ico { width: 40px; height: 40px; margin-bottom: 6px; }
  .side-consult .sc-ico svg { width: 21px; height: 21px; }
  .side-consult .sc-label { font-size: 12px; letter-spacing: 0; }
}
@media (max-width: 1280px) {
  /* 8 等分格子变窄，胶囊字号与内边距同步收缩，避免长栏目名被截断 */
  .nl-tabs-in { gap: 8px; }
  .nl-tabs a { padding: 12px 5px; font-size: 15px; letter-spacing: 0; }
  .nl-wrap { grid-template-columns: minmax(0, 1fr) 286px; gap: 26px; }
  .nl-text > li.lead > a { padding: 22px 24px; }
  .nl-text > li.lead h3 { font-size: 20px; }
  .nl-text .date { width: 70px; padding-right: 16px; }
  .nl-call b { font-size: 22px; }
  /* 荣誉条：窄桌面把 5 格收紧（五等分保持不变），文案在格子内折行，不会横向溢出 */
  .banner-strip { gap: 8px; }
  .banner-strip span { column-gap: 6px; padding: 8px 12px; min-height: 60px; }
  .banner-strip svg { width: 17px; height: 17px; }
  /* 页脚为六列（四栏目 + 二维码 + 联系），窄桌面收紧间距与二维码尺寸，避免列与列贴在一起 */
  .footer .cols { gap: 18px; }
  .footer .qr { margin-right: 10px; }
  .footer .qr .box { width: 96px; height: 96px; }
  .footer .qr p { width: 96px; }
  .footer .tel-line b { font-size: 24px; }
}
@media (max-width: 992px) {
  .side-consult { display: none; }
  .news-grid2 { grid-template-columns: 1fr; }
  .major-grid { grid-template-columns: repeat(2, 1fr); }
  .nav { display: none; }
  .notice-bar { flex-wrap: wrap; }
  .notice-bar a { flex: 0 0 calc((100% - 24px) / 4); width: calc((100% - 24px) / 4); padding: 10px; font-size: 15px; }
  .service-row ul { flex-wrap: wrap; gap: 18px; }
  .service-row li { flex: 0 0 calc((100% - 54px) / 4); }
  .msg-board { flex-direction: column; }
  .msg-side { width: 100%; }
  .about-banner { height: 180px; }
  /* 学院概况二级栏目：一排 4 个、最多两排（第 9 个起隐藏），不足 4 个靠左 */
  .about-nav {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px; height: auto; margin-top: -26px; padding: 10px 10px 12px;
    align-items: stretch; justify-content: initial;
  }
  .about-nav a {
    width: auto; min-width: 0; min-height: 44px; padding: 9px 2px;
    font-size: 15px; letter-spacing: 0; line-height: 1.35;
    border-bottom: 0; border-radius: 4px; text-align: center;
    /* 长栏目名允许折成两行（整行等高），不再用省略号截断 */
    white-space: normal; text-wrap: balance; overflow-wrap: break-word;
  }
  /* 选中项改浅蓝底胶囊，比通栏下划线更适合网格；小三角隐藏 */
  .about-nav a.on {
    background: #eaf2fc; color: var(--blue); font-weight: bold;
  }
  .about-nav a.on::after { display: none; }
  .about-nav a:nth-child(n+9) { display: none; }
  .list-banner { height: 170px; }
  .list-banner .cap { font-size: 17px; padding: 16px 22px; bottom: -12px; }
  .list-wrap { flex-direction: column; }
  .list-side { width: 100%; display: flex; flex-wrap: wrap; padding: 4px; }
  .list-side a { padding: 11px 16px; border-left: 0; }
  .list-side a.on { background: none; }
  .list-head { flex-direction: column; align-items: flex-start; gap: 8px; }
  /* 文章列表页 v5 移动端适配 */
  .nl-banner { height: 160px; }
  .nl-banner-in { padding-bottom: 20px; }
  .nl-banner-in h1 { font-size: 22px; letter-spacing: 3px; }
  .nl-banner-in h1::after { margin-top: 8px; width: 36px; }
  .nl-crumb { margin-top: 10px; font-size: 12px; gap: 7px; }
  /* 手机端二级导航：一行 4 个，最多两行（8 个），不足 4 个靠左 */
  .nl-tabs-in { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 11px 0; }
  .nl-tabs a { padding: 10px 4px; font-size: 13px; }
  .nl-tabs a::after { display: none; }
  .view-tabs { margin-top: 30px; }
  /* 内容页元信息：允许换行居中，长内容不再挤成一行溢出正文卡 */
  .view-meta {
    flex-wrap: wrap; gap: 6px 14px;
    margin-top: 14px; padding-bottom: 16px; font-size: 12.5px;
  }
  .view-meta .sep { display: none; }
  .nl-wrap { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 20px 0 40px; }
  .nl-bar { margin-bottom: 14px; padding-bottom: 11px; }
  .nl-bar h2 { font-size: 17px; }
  .nl-bar .sub { display: none; }
  .nl-text > li > a { gap: 14px; padding: 16px 6px 16px 0; }
  .nl-text .date { width: 56px; padding-right: 12px; }
  .nl-text .date b { font-size: 21px; }
  .nl-text .date i { font-size: 11px; margin-top: 4px; }
  .nl-text h3 { font-size: 15.5px; line-height: 1.55; }
  .nl-text .desc { margin-top: 6px; font-size: 12.5px; line-height: 1.75; }
  .nl-text .meta { margin-top: 9px; gap: 8px; }
  .nl-text .meta .more { display: none; }
  .nl-text > li.lead > a { padding: 18px 16px; }
  .nl-text > li.lead .date b { font-size: 24px; }
  .nl-text > li.lead h3 { font-size: 17px; }
  .nl-text > li.lead .desc { font-size: 12.5px; -webkit-line-clamp: 2; }
  .nl-aside { position: static; gap: 16px; }
  .nl-call { padding: 20px; }
  .nl-call b { font-size: 22px; }
  .view-wrap { flex-direction: column; align-items: stretch; }
  .view-main { width: 100%; padding: 28px 18px 26px; }
  .view-title { font-size: 21px; }
  .view-aside { width: 100%; position: static; }
  .major-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .reg-wrap { flex-direction: column; align-items: stretch; }
  .reg-side { width: 100%; }
  .reg-main { padding: 28px 26px 32px; }
  .reg-form { gap: 20px 24px; }
  .fbtns { margin-left: 0; }
}

/* 平板（769–992px）：学院概况栏目一行 8 格排满整行，
   避免 7 个栏目按 4 列排成「4+3」时右侧留下半排空白 */
@media (min-width: 769px) and (max-width: 992px) {
  .about-nav { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; padding: 10px 8px 12px; }
  .about-nav a { font-size: 14px; padding: 10px 1px; }
}

/* ============================================================
   手机版（≤768px）
   1) 顶部只保留 logo + 菜单按钮，点击菜单从左侧弹出抽屉导航
   2) 顶部横幅改用后台广告位 pid=3；荣誉卡与下方图标栏不展示
   3) 最新资讯四条改为「日期 + 标题 + 简介」的整块卡片，文字更完整
   4) 取消底部快捷导航，改为固定四按钮：导航 / 招生 / 咨询 / 报名
   ============================================================ */
@media (max-width: 768px) {
  body { padding-bottom: 58px; }
  body.m-nav-open { overflow: hidden; }

  /* 顶部：隐藏桌面工具条与主头部 */
  .top-bar, .header { display: none !important; }

  .m-header {
    display: flex; align-items: center; justify-content: space-between;
    position: sticky; top: 0; z-index: 60;
    background: linear-gradient(180deg, #1e5aa6, #174a8c);
    padding: 10px 14px;
  }
  .m-header .m-logo { display: flex; align-items: center; max-width: 72%; }
  .m-header .m-logo img { height: 38px; width: auto; }
  .m-menu {
    flex: none; width: 42px; height: 38px; border: 0; cursor: pointer;
    background: rgba(255,255,255,.14); border-radius: 6px;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px;
  }
  .m-menu span { display: block; width: 20px; height: 2px; background: #fff; border-radius: 2px; }

  /* 左侧抽屉导航 */
  .m-nav-mask {
    display: block; position: fixed; inset: 0; z-index: 90;
    background: rgba(8, 24, 48, .5);
    opacity: 0; visibility: hidden; transition: opacity .25s, visibility .25s;
  }
  .m-nav-mask.show { opacity: 1; visibility: visible; }
  .m-nav {
    display: flex; flex-direction: column;
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 95;
    width: 76%; max-width: 300px; background: #fff;
    transform: translateX(-100%); transition: transform .28s ease;
    box-shadow: 6px 0 24px rgba(8, 24, 48, .18); overflow: hidden;
  }
  .m-nav.show { transform: none; }
  .m-nav-head {
    flex: none; display: flex; align-items: center; justify-content: space-between;
    padding: 14px; background: linear-gradient(180deg, #1e5aa6, #174a8c);
  }
  .m-nav-head img { height: 34px; width: auto; }
  .m-nav-close { border: 0; background: none; color: #fff; font-size: 26px; line-height: 1; padding: 0 4px; cursor: pointer; }
  .m-nav-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; }
  .m-nav-list > li { border-bottom: 1px solid var(--line); }
  .m-nav-list > li > a { display: block; padding: 13px 16px; font-size: 15.5px; font-weight: bold; color: var(--text); }
  .m-nav-list > li > a:active { background: #f2f7fd; }
  .m-nav-list .m-sub { background: #f7fafd; padding: 4px 0; }
  .m-nav-list .m-sub li { border-top: 1px dashed #e8eef6; }
  .m-nav-list .m-sub li:first-child { border-top: 0; }
  .m-nav-list .m-sub a { display: block; padding: 10px 16px 10px 30px; font-size: 14px; color: #56637a; }

  /* 横幅：桌面大横幅（含荣誉卡）隐藏，改用后台广告位 pid=3 */
  .banner { display: none; }
  .banner-icons { display: none; }
  .m-banner { display: block; }
  .m-banner img { display: block; width: 100%; height: auto; }

  /* 最新资讯：四条改为整块卡片，标题 3 行 + 简介 2 行（minmax(0,1fr) 防止 nowrap 标题撑破网格） */
  .news-grid2 { grid-template-columns: minmax(0, 1fr); }
  /* 置顶大图：手机上改为固定宽高比（16:10），不再沿用桌面 380px 最小高度，避免过高 */
  .headline-carousel { flex: none; min-height: 0; aspect-ratio: 16 / 10; }
  .headline-carousel .hc-item img { width: 100%; height: 100%; object-fit: cover; }
  .headline-carousel .cap { line-height: 44px; font-size: 16px; padding: 0 14px; }
  .headline-carousel .hc-dots { right: 14px; bottom: 56px; }
  .news-reco { grid-template-columns: 1fr; gap: 12px; padding-top: 18px; }
  .reco-item { display: block; min-height: 0; padding: 14px 14px 16px; }
  .reco-item .date { display: flex; align-items: baseline; gap: 6px; margin: 0 0 7px; text-align: left; }
  .reco-item .date em { display: inline; font-size: 12px; }
  .reco-item .date b { font-size: 13px; color: var(--muted); }
  .reco-item .tt { display: block; font-size: 16.5px; line-height: 1.55; -webkit-line-clamp: 3; }
  .reco-item .desc {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 7px; font-size: 13px; line-height: 1.7; color: #6b7684;
  }

  /* 招生专业卡片：专业标签固定两列，每行正好 2 个；格子变窄后允许文字折行，避免省略号截断 */
  .major-page { width: 96%; }
  .major-card .info { padding: 12px 12px 14px; }
  .major-card .info .m-tags {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px;
    align-items: stretch;
  }
  .major-card .info .m-tags span {
    display: grid; place-items: center; align-self: stretch; min-height: 26px;
    text-align: center; padding: 4px 2px; font-size: 11.5px; line-height: 1.4;
    white-space: normal; text-wrap: balance;
  }

  /* 首页「招生专业」手机端改 2 列：图像卡片每行 2 个；
     卡片只留「名称 + 第一行方向标签」，去掉重复的图内标题与查看详情按钮
     （专业列表页 .major-page 仍保持 2 列 + 标签两列，不受影响） */
  .section-major .major-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .section-major .major-card .pic { height: 110px; font-size: 0; }
  .section-major .major-card .info { padding: 10px 10px 12px; text-align: center; }
  .section-major .major-card .info h3 {
    font-size: 13.5px; line-height: 1.3;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .section-major .major-card .info .m-tags { display: block; margin-top: 6px; min-height: 0; }
  .section-major .major-card .info .m-tags span { display: none; }
  .section-major .major-card .info .m-tags span:first-child {
    display: block; min-height: 0; padding: 2px 5px; font-size: 11px; line-height: 1.5;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }
  .section-major .major-card .info .apply { display: none; }

  /* 卡片结束后的专业小卡片导航（.major-more-list）：手机端每行 3 个，字号/高度同步缩小防溢出 */
  .section-major .major-more { margin-top: 16px; }
  .section-major .major-more-list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .section-major .major-more-list a { height: 34px; padding: 0 6px; font-size: 12.5px; }

  /* 报名页：双列变单列，标签在上、控件铺满；按钮等分整行 */
  .reg-page { padding: 26px 0 46px; }
  .reg-head { margin-bottom: 22px; padding: 0 14px; }
  .reg-head .eyebrow { font-size: 10px; letter-spacing: 3px; }
  .reg-title { font-size: 23px; letter-spacing: 2px; margin-top: 9px; }
  .reg-title::after { margin-top: 11px; }
  .reg-sub { margin-top: 11px; font-size: 12.5px; line-height: 1.6; }
  .reg-main { padding: 20px 16px 24px; border-radius: 10px; }
  .reg-formhead { gap: 10px; padding-bottom: 15px; margin-bottom: 18px; }
  .reg-formhead .num { width: 34px; height: 34px; border-radius: 9px; font-size: 13px; }
  .reg-formhead .tt b { font-size: 17px; }
  .reg-formhead .tt i { margin-top: 4px; font-size: 12px; }
  .reg-formhead .safe { display: none; }
  .reg-form { grid-template-columns: minmax(0, 1fr); gap: 15px; }
  .frow { gap: 7px; }
  .frow select, .frow input, .frow textarea { height: 44px; font-size: 14px; }
  .frow textarea { min-height: 88px; }
  .reg-card { padding: 20px 18px 22px; border-radius: 10px; }
  .reg-cardhead { font-size: 15px; }
  .reg-notes p { font-size: 13px; line-height: 1.9; }

  /* 报名页按钮：两键等分整行 */
  .fbtns { margin: 16px 0 0; padding-top: 20px; gap: 10px; }
  .fbtns button { flex: 1 1 0; min-width: 0; width: auto; height: 48px; padding: 0; font-size: 15px; letter-spacing: 2px; text-indent: 2px; }
  .reg-formtip { margin-top: 16px; }

  /* 取消原底部快捷导航与页脚栏目区，仅保留版权行；改为固定四按钮 */
  .service-row { display: none; }
  /* 手机端不展示「咨询与联系」留言板块（留言功能统一走底部「咨询」入口） */
  .section-contact { display: none; }

  /* 学院概况：手机上导航卡更紧凑，4 列两排；字号收紧避免长栏目名被省略 */
  .about-banner { height: 150px; }
  .about-nav { margin-top: -22px; padding: 10px 8px 12px; gap: 8px 4px; border-radius: 8px; }
  .about-nav a { padding: 8px 1px; min-height: 40px; font-size: 13.5px; line-height: 1.3; }
  .about-body { padding: 30px 0 44px; }
  .about-content { font-size: 14.5px; line-height: 2; text-align: left; }
  .footer { padding-top: 0; }
  .footer .cols { display: none; }
  .copyright { margin-top: 0; line-height: 1.7; padding: 10px 14px; }

  /* 自考助学：标签由「一行挤 8 个」改为每行 4 个、自动换行成两行，文字不再被压缩截断 */
  .notice-bar { flex-wrap: wrap; gap: 6px; }
  .notice-bar a {
    flex: 0 0 calc((100% - 18px) / 4); width: calc((100% - 18px) / 4);
    min-width: 0; padding: 10px 3px; font-size: 13px;
  }
  .notice-list li a { min-width: 0; overflow: hidden; }
  .notice-list .tt { min-width: 0; }
  .m-tabbar {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 80;
    background: #fff; border-top: 1px solid var(--line);
    box-shadow: 0 -4px 16px rgba(16, 55, 108, .08);
    padding: 6px 0 calc(6px + env(safe-area-inset-bottom));
  }
  .m-tabbar a {
    flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;
    padding: 2px 0; font-size: 11.5px; color: #5b6675;
  }
  .m-tabbar a:active { color: var(--blue); }
  .m-tabbar svg { width: 21px; height: 21px; fill: currentColor; }
}
