/* ==========================================================================
   module.css — 组件样式（移动优先）
   组件：首屏横幅 / 导航 / 数据看板 / 快捷入口 / 服务入口 /
         工作动态 / 通知公告 / 友情链接 / 学校站点 / 页脚
   约定：先写字面量色值兜底，再用 var() 覆盖（IE 自动忽略 var 行）。
   ========================================================================== */

/* --------------------------------------------------------------------------
   首屏横幅（Header + Banner + 数据看板 + 快捷入口）
   -------------------------------------------------------------------------- */
/* 轮播背景层（.hero-slides）的定位上下文；background 保留作图片加载中的兜底 */
.site-hero {
  position: relative;
  background: #003F7D;
  background: url("../images/banner/hero-campus.jpg") no-repeat;
  background-size: cover;
  background-position: top;
}

/* 首屏一屏化（仅首页，靠 .home-screen 包住横幅+服务入口+工作动态）：
   三块恰好占满 100vh，友情链接从第二屏开始。
   多余高度全部由横幅吸收（hero-body 撑开、数据看板居中、快捷入口贴底）；
   内容自然高度超过一屏时横幅保持原高，不再压缩。 */
.home-screen {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.home-screen .site-hero {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

/* width:100% 不能省：容器自带 margin:0 auto，而 flex 子项的交叉轴 auto 外边距
   会取消默认拉伸，容器会缩成内容宽并居中，数据看板就从左侧飘到照片正中间。 */
.site-hero > .container {
  flex: 1 0 auto;
  width: 100%;
  position: relative;
  z-index: 1;   /* 叠在轮播背景层之上 */
  /* 透明容器会吃掉中间带的点击，频道帧的整幅链接点不到；
     穿透给下层的 .hero-slide-link，可交互子元素（圆点）单独恢复 */
  pointer-events: none;
  display: flex;
  flex-direction: column;
}

.hero-body {
  flex: 1 0 auto;
}

/* ------------------------------------------------------------------
   轮播背景层：铺满横幅，数据看板/快捷入口等横幅家具叠在其上。
   第 1 帧是静态校园图（is-active），其余帧来自 nic_banner 栏目；
   无 JS 时其余帧 opacity:0，只显示第 1 帧。
   ------------------------------------------------------------------ */
.hero-slides {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  overflow: hidden;
}

.hero-slides-track,
.hero-slide {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.hero-slide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease;
}

.hero-slide.is-active {
  opacity: 1;
  visibility: visible;
}

.hero-slide-link {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top;
}

/* 箭头：左右居中。默认隐藏（窄屏会压到数据看板），≥1024 显示 */
.hero-slides-nav {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  pointer-events: none;
}

.hero-slides-arrow {
  position: absolute;
  top: 50%;
  margin-top: -30px;
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 60px;
  border: none;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  pointer-events: auto;
  transition: background-color 0.2s ease;
}

.hero-slides-arrow:hover {
  background: rgba(255, 255, 255, 0.45);
}

.hero-slides-prev {
  left: 0;
}

.hero-slides-next {
  right: 0;
}

@media (min-width: 1024px) {
  .hero-slides-arrow {
    display: flex;
  }
}

/* 仅 1 帧（栏目还没图）时隐藏箭头，JS 会给 .hero-slides-nav 加 is-single */
.hero-slides-nav.is-single .hero-slides-arrow {
  display: none;
}

/* 圆点：锚在 hero-body 底部（其 padding 带内），任何视口都落在
   数据看板与快捷入口之间的空隙，不会压到两者 */
.hero-slides-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  display: flex;
  justify-content: center;
  pointer-events: auto;   /* 容器已穿透点击，圆点自己恢复可点 */
}

.hero-slides-dots button {
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.hero-slides-dots button + button {
  margin-left: 8px;
}

.hero-slides-dots button.is-active {
  background: #FFFFFF;
  transform: scale(1.25);
}

@media (max-width: 767px) {
  .hero-slides-dots {
    display: none;
  }
}

/* 顶部渐变暗，保证导航可读。
   background-image（渐变）无法 transition，若直接切换两种渐变会「突然变暗/变亮」；
   改为保留基础渐变不动 + 展开时淡入一层 0.1 黑遮罩（opacity 过渡），
   实现平滑变暗/变亮。 */
.site-hero-head {
  position: relative;
  background: #222222;
  z-index: 100;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(34, 34, 34, 0) 100%);
}

/* 展开态暗色遮罩层：默认透明，展开时淡入（底部渐暗 0.1 黑） */
.site-hero-head::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition: opacity 0.3s ease;
}

/* 内容层置于遮罩之上，保证品牌/导航/搜索文字可读 */
.site-hero-head > .container {
  position: relative;
  z-index: 1;
}

/* 平板/手机（≤1023）仅在导航展开时淡入遮罩；
   未展开时遮罩透明，显示基础渐暗（0.8 → 0 透明），与原来一致 */
@media (max-width: 1023px) {
  .site-hero-head:has(.nav-toggle:checked)::after {
    opacity: 1;
  }
}

.site-topbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 14px 0;
}

/* 品牌区：校标 + 分隔线 + 部门名 */
.brand {
  display: flex;
  align-items: center;
}

.brand-logo {
  width: 140px;
  height: 29px;
}

.brand-divider {
  display: inline-block;
  width: 1px;
  height: 20px;
  margin: 0 10px;
  background: #FFFFFF;
}

.brand-name {
  color: #FFFFFF;
  font-size: 17px;
  font-weight: 700;
  white-space: nowrap;
}

/* 汉堡开关（checkbox hack，无 JS 也可展开导航） */
.nav-toggle {
  position: absolute;
  left: -9999px;
}

.nav-toggle-label {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-left: auto;
  cursor: pointer;
}

.nav-toggle-label span {
  display: block;
  width: 24px;
  height: 2px;
  margin: 3px auto;
  background: #FFFFFF;
}

/* 主导航：移动端默认折叠 */
.site-nav {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.nav-toggle:checked ~ .site-nav {
  max-height: 2400px;
}

.site-nav a {
  display: block;
  padding: 13px 8px;
  color: #FFFFFF;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
  /* 设计稿无文字阴影，去除导航文字阴影 */
}

/* 下拉子菜单：移动端手风琴（checkbox hack，无 JS） */
.sub-toggle {
  position: absolute;
  left: -9999px;
}

.has-sub {
  position: relative;
}

.sub-arrow {
  position: absolute;
  top: 0;
  right: 0;
  width: 48px;
  height: 46px;
  cursor: pointer;
}

.sub-arrow:before {
  content: "";
  position: absolute;
  top: 21px;
  right: 18px;
  width: 0;
  height: 0;
  border: 5px solid transparent;
  border-top-color: #FFFFFF;
  transition: transform 0.2s ease;
}

.sub-toggle:checked ~ .sub-arrow:before {
  transform: rotate(180deg);
}

.sub-menu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}

.sub-toggle:checked ~ .sub-menu {
  max-height: 480px;
}

.sub-menu a {
  padding: 11px 8px 11px 24px;
  font-size: 15px;
  font-weight: 400;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

/* 组内子项（仅移动端/平板 ≤1023px）：默认收起，勾选分组开关后展开；
   缩进在标题之下、字号略小（分隔线沿用 .sub-menu a）。
   必须限制在媒体查询内，否则会覆盖桌面端 .sub-menu a 的
   padding/text-align:center，导致 PC 端子项不居中 */
@media (max-width: 1023px) {
}

/* 搜索框 */
.site-search {
  width: 100%;
  margin-top: 12px;
}

.search-box {
  display: flex;
  align-items: center;
  height: 40px;
  padding: 0 11px;
  background: #3D6CA0;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 99px;
}

.search-box img {
  width: 18px;
  height: 18px;
  margin-right: 6px;
}

.search-box input {
  width: 100%;
  font-size: 14px;
  line-height: 27px;
  color: #FFFFFF;
  background: transparent;
  border: 0;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  appearance: none;
}

.search-box input::-webkit-search-cancel-button,
.search-box input::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}

.search-box input::-webkit-input-placeholder {
  color: #FFFFFF;
}

.search-box input::-moz-placeholder {
  color: #FFFFFF;
}

.search-box input:-ms-input-placeholder {
  color: #FFFFFF;
}

/* 数据看板：贴横幅右下角（照片下半部是楼房树冠，比天空更花，所以看板给了实底）。
   仅第 1 帧显示：JS 切到频道帧时加 .is-hidden（见 main.js heroGoTo），随轮播淡出 */
.hero-body {
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 28px 0;
}

/* 数据看板：呼吸玻璃（liquid glass）——几乎全透的对角微光底 + 2px 低模糊提饱和，
   背后楼树清晰穿透；顶/底棱线 inset 高光给出玻璃厚度感。
   淡出过渡 0.6s 与 hero-slide 完全同步（切频道帧时随首帧背景一起淡出/淡入）。
   数字与标签自带白色光晕（见 .stats-slide 规则），不依赖底板保证可读性。 */
.stats-box {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 960px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.02) 45%, rgba(255, 255, 255, 0.06) 100%);
  backdrop-filter: blur(2px) saturate(140%);
  -webkit-backdrop-filter: blur(2px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 16px;
  padding: 12px 18px 10px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 -1px 0 rgba(255, 255, 255, 0.08), 0 3px 12px rgba(0, 20, 50, 0.06);
  transition: opacity 0.6s ease, visibility 0.6s ease;
  overflow: hidden;
}

/* 频道帧激活时隐藏（仅第 1 帧显示），JS 在 heroGoTo 里切换 */
.stats-box.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/* 顶行：类别标签在左，微指示条在右 */
.stats-header {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
  padding: 0 4px;
}

.stats-category-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #0153A0;
  color: var(--primary);
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.8);
}

.stats-category-badge::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0153A0;
  box-shadow: 0 0 0 2px rgba(1, 83, 160, 0.2);
}

.stats-indicators {
  display: flex;
  gap: 6px;
  align-items: center;
}

.stats-bar-segment {
  width: 24px;
  height: 3px;
  border-radius: 2px;
  background: rgba(1, 83, 160, 0.15);
  overflow: hidden;
  position: relative;
}

.stats-bar-fill {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 0%;
  background: #0153A0;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.stats-bar-segment.is-active .stats-bar-fill {
  width: 100%;
}

/* 轮播容器：grid 堆叠布局，所有帧叠在同一格，高度自适应无埸陷 */
.stats-slides-deck {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  width: 100%;
}

.stats-slide {
  grid-area: 1 / 1;
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-around;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.45s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.45s cubic-bezier(0.16, 1, 0.3, 1),
              visibility 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: none;
}

.stats-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.stats-slide .stat {
  flex: 1 1 0;
  text-align: center;
  padding: 4px 6px;
}

.stats-slide .stat-num {
  display: block;
  font-size: 34px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
  color: #0153A0;
  color: var(--primary);
  /* 背光玻璃字：双层 drop-shadow（text-shadow 与 clip-text 不兼容） */
  filter: drop-shadow(0 1px 1px rgba(255, 255, 255, 0.95)) drop-shadow(0 0 8px rgba(255, 255, 255, 0.8));
}

.stats-slide .stat-num .unit {
  font-size: 15px;
  font-weight: 600;
  margin-left: 2px;
}

.stats-slide .stat-label {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  font-weight: 500;
  color: #10233c;
  white-space: nowrap;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.95), 0 0 10px rgba(255, 255, 255, 0.85), 0 0 20px rgba(255, 255, 255, 0.6);
}

/* 渐变数字（不支持的浏览器自动保留上面的纯色） */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .stats-slide .stat-num {
    background-image: linear-gradient(0deg, #0153A0 49%, rgba(3, 133, 255, 0.8) 89%, rgba(0, 221, 255, 0) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

/* 小屏收窄：字号与内边距递减 */
@media (max-width: 1023px) {
  .stats-box {
    max-width: 100%;
    padding: 10px 12px 6px;
  }
  .stats-slide .stat-num {
    font-size: 26px;
  }
  .stats-slide .stat-num .unit {
    font-size: 13px;
  }
  .stats-slide .stat-label {
    font-size: 12px;
  }
}

/* 手机：每帧两列网格，奇数尾项整行 */
@media (max-width: 767px) {
  .stats-slide {
    flex-wrap: wrap;
  }
  .stats-slide .stat {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 6px 2px;
  }
  .stats-slide .stat:last-child:nth-child(odd) {
    flex: 0 0 100%;
    max-width: 100%;
  }
  .stats-bar-segment {
    width: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .stats-slide {
    transform: none !important;
    transition: opacity 0.3s ease, visibility 0.3s ease !important;
  }
}

/* 快捷入口（横幅底部） */
.hero-quicklinks {
  position: relative;
  z-index: 1;   /* 叠在轮播背景层之上 */
  background: #222222;
  background: linear-gradient(180deg, #22222200 17%, #000000cc 100%);
}

.quick-links {
  display: flex;
  flex-wrap: wrap;
}

.quick-links li {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
  position: relative;
}

.quick-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  color: #FFFFFF;
  font-size: 15px;
  position: relative;
  z-index: 1;   /* 盖在 ::before 玻璃层之上 */
  -ms-transition: -ms-transform 0.2s ease;
  transition: transform 0.2s ease;
}

/* hover：同款呼吸玻璃片淡入（内缩 4px 6px 的 7px 微倒角小玻璃），
   文字图标保持纯白并轻微上浮 */
.quick-links li::before {
  content: "";
  position: absolute;
  inset: 4px 6px;
  border-radius: 7px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.09) 0%, rgba(255, 255, 255, 0.02) 45%, rgba(255, 255, 255, 0.06) 100%);
  backdrop-filter: blur(2px) saturate(140%);
  -webkit-backdrop-filter: blur(2px) saturate(140%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 -1px 0 rgba(255, 255, 255, 0.08), 0 3px 12px rgba(0, 0, 0, 0.25);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  z-index: 0;
}

.quick-links li:hover::before {
  opacity: 1;
}

.quick-links a:hover {
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
}

.quick-links .ql-icon {
  width: 22px;
  height: 22px;
  margin-right: 8px;
}

/* --------------------------------------------------------------------------
   通用区块头：标题 + 更多
   -------------------------------------------------------------------------- */
.section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 22px;
}

.section-title {
  font-size: 22px;
  line-height: 30px;
  color: #121212;
  color: var(--text-strong);
}

.more {
  display: flex;
  align-items: center;
  font-size: 14px;
  color: #0153A0;
  color: var(--primary);
}

.more img {
  width: 5px;
  height: 10px;
  margin-left: 6px;
}

/* --------------------------------------------------------------------------
   服务入口
   -------------------------------------------------------------------------- */
.service-tabs {
  display: flex;
  margin-top: 12px;
  padding: 4px;
  background: #EBF1F7;
  background: var(--primary-tint);
  border-radius: 99px;
}

.service-tabs button {
  height: 36px;
  padding: 0 16px;
  color: #222222;
  color: var(--text-main);
  font-size: 15px;
  background: transparent;
  border: 0;
  border-radius: 99px;
  cursor: pointer;
}

.service-tabs .is-active {
  color: #FFFFFF;
  font-weight: 700;
  background: #0153A0;
  background: var(--primary);
}

/* 角色面板：仅活跃面板可见 */
.service-panel {
  display: none;
}

.service-panel.is-active {
  display: block;
}

/* 轮播外层：relative 为箭头定位基准 */
.service-carousel {
  position: relative;
}

/* JS 启用时：carousel 区域首帧隐藏（opacity 保留布局），
   等 initCarousel 完成（页间空隙已设、布局就绪）后加 .is-ready 淡入——
   消除「首帧露出下一页图标再被 JS 修正」的闪烁 */
.js .service-carousel {
  opacity: 0;
}

.js .service-carousel.is-ready {
  opacity: 1;
  transition: opacity 0.18s ease;
}

/* 轮播可视窗口：默认 hidden 锁死裁剪，保证第一页不露出第二页图标；
   无 JS 时箭头不可用，横向滚动降级意义有限，故不做 auto 兜底。
   padding 左右各 40px 预留翻页箭头（chevron 右缘 32px + 8px 余量），内容不与箭头重叠；
   桌面 1400 视口下内容区 1280px 恰好容纳设计稿 8×160px 单页 */
.carousel-viewport {
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  padding: 0 40px;
}

/* 轮播轨道：单行不换行。
   注意：此处不能写 overflow:hidden —— 同行内的 transform: translateX() 与
   overflow:hidden 共存时，Chromium 内核（Chrome/Edge）会触发合成层 bug 导致
   翻页后整页 items 不可见（实际上 transform 应用正确、位置计算正确，但视觉
   上整片空白）。裁切职责由外层的 .carousel-viewport 独立承担即可。 */
.carousel-track {
  display: flex;
  flex-wrap: nowrap;
  margin: 0;
  padding: 0;
  list-style: none;
  will-change: transform;
}

/* 轮播内单项：不收缩不被挤压，宽度由 JS 动态设置 */
.carousel-track li {
  flex: 0 0 auto;
  max-width: none;
  padding: 14px 0 0;
  width: 33.3333%;
  text-align: center;
  box-sizing: border-box;
}

.carousel-track a {
  display: block;
}

/* 轮播箭头：按设计稿还原——无容器纯 chevron，始终可见。
   按钮带与页面背景一致的不透明背景（#FFFFFF）：箭头悬浮于 carousel 之上，
   用不透明背景遮挡下方图标，避免用户点击箭头时误触/误判下方的校园卡等图标。 */
.carousel-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 116px; /* 背景加高，扩大遮挡区域，避免误触下方图标 */
  padding: 0;
  background: #FFFFFF; /* 与页面背景色一致，遮挡下方图标 */
  border: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.carousel-arrow img {
  width: 19px;
  height: 33px;
  transition: opacity 0.2s ease;
}

/* 禁用态：0.2 透明度、不可点击（匹配设计稿 rgba(1,83,160,0.2)）；
   仅淡出 chevron，按钮背景保持不透明，不露出下方图标 */
.carousel-arrow.is-disabled {
  cursor: default;
  pointer-events: none;
}

.carousel-arrow.is-disabled img {
  opacity: 0.2;
}

/* 活跃态 hover/active：只淡化 chevron，按钮背景始终不透明，
   下方图标被稳定遮挡，视觉不串位、不易误触 */
.carousel-arrow:not(.is-disabled):hover img {
  opacity: 0.7;
}

.carousel-arrow:not(.is-disabled):active img {
  opacity: 0.5;
}

.carousel-prev { left: 0; }
.carousel-next { right: 0; }

/* 单页（图标不满一屏）：无翻页意义，隐藏箭头并居中排布，
   避免左侧堆叠、右侧大片留白加双灰箭头的观感（类名由 main.js 按页数切换） */
.service-carousel.is-single-page .carousel-track {
  justify-content: center;
}

.service-carousel.is-single-page .carousel-arrow {
  display: none;
}

/* 移动端箭头与内容边距对齐 */
@media (max-width: 767px) {
  .carousel-prev { left: -12px; }
  .carousel-next { right: -12px; }
}

/* 图标容器：默认态 + hover 高亮态（实心蓝圆 + 白色 glyph）双图叠放，纯 CSS 切换 */
.icon-box {
  position: relative;
  display: inline-block;
  width: 64px;
  height: 64px;
  vertical-align: middle;
}

.icon-box img {
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  height: 64px;
}

/* hover 高亮态默认隐藏，悬停时显示（IE10+ 支持 opacity） */
.icon-box .icon-active {
  opacity: 0;
  transition: opacity 0.2s ease;
}

.carousel-track a:hover .icon-base {
  opacity: 0;
}

.carousel-track a:hover .icon-active {
  opacity: 1;
}

.carousel-track .icon-label {
  display: block;
  margin-top: 10px;
  font-size: 15px;
  color: #222222;
  color: var(--text-main);
}

.carousel-track a:hover .icon-label {
  color: #0153A0;
  color: var(--primary);
}

/* --------------------------------------------------------------------------
   工作动态
   -------------------------------------------------------------------------- */
.news-feature {
  position: relative;
  margin-bottom: 22px;
  overflow: hidden;
  border-radius: 5px;
}

.news-feature img {
  display: block;
  width: 100%;
}

.news-tag {
  position: absolute;
  top: 0;
  left: 0;
  padding: 3px 18px 2px;
  color: #FFFFFF;
  font-size: 14px;
  line-height: 27px;
  background: #0153A0;
  background: var(--primary);
  border-top-left-radius: 5px;
  text-shadow: 0 4px 4px rgba(200, 133, 12, 0.2);
}

.news-caption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 8px 28px 9px;
  color: #FFFFFF;
  font-size: 16px;
  background: #000000;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}

.news-list li {
  position: relative;
  padding: 9px 0 9px 16px;
}

/* 蓝色小方块符号 */
.news-list li:before {
  content: "";
  position: absolute;
  top: 21px;
  left: 0;
  width: 4px;
  height: 4px;
  background: #0153A0;
  background: var(--primary);
}

.news-list a {
  display: block;
  overflow: hidden;
  color: #222222;
  color: var(--text-main);
  font-size: 16px;
  line-height: 27px;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-transition: color 0.3s ease, -webkit-transform 0.3s ease;
  transition: color 0.3s ease, transform 0.3s ease;
}

/* hover 动效：主题蓝 + 左移 6px（与通知公告统一） */
.news-list a:hover {
  color: #0153A0;
  color: var(--primary);
  -webkit-transform: translateX(-6px);
  -ms-transform: translateX(-6px);
  transform: translateX(-6px);
}

/* 重置 ul UA 默认 padding/margin（设计稿列表无缩进） */
.news-list {
  padding: 0;
  margin: 0;
  list-style: none;
  min-width: 0;
  line-height: 0;
}

.news-list > li {
  line-height: 27px;
}

/* --------------------------------------------------------------------------
   通知公告
   -------------------------------------------------------------------------- */
.notice-list li {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 23px 0 26px 24px;
}

/* 行间分隔线：设计稿 87:919 矩形 653/654（426×1、left 10、#D8D8D8） */
.notice-list li + li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 10px;
  right: 0;
  height: 1px;
  background: #D8D8D8;
  background: var(--line-soft);
}

/* 末行无底部留白（设计稿容器 326 高，末行距底 3px） */
.notice-list li:last-child {
  padding-bottom: 0;
}

.notice-date {
  flex: 0 0 56px;
  margin-right: 19px;
  text-align: right;
  /* 高度由内容自然撑起（day 36px + ym 20px），避免固定 52px 容器
     容纳不下导致 ym 被挤到下一行、不同宽度下表现不一致 */
}

.notice-date .day {
  display: block;
  font-weight: bold;
  padding-right: 11px;
  color: #0153A0;
  color: var(--primary);
  font-size: 26px;
  line-height: 36px;
}

.notice-date .ym {
  display: block;
  margin-top: -2px;
  color: #222222;
  color: var(--text-main);
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
}

.notice-title {
  flex: 1 1 auto;
  margin-top: 1px;
  overflow: hidden;
  color: #222222;
  color: var(--text-main);
  font-size: 16px;
  line-height: 27px;
  text-align: justify;
  /* 两行省略（Chrome/Firefox/Edge；IE10/11 见 ie.css 单行降级） */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  -webkit-transition: color 0.3s ease, -webkit-transform 0.3s ease;
  transition: color 0.3s ease, transform 0.3s ease;
}

/* hover 动效：主题蓝 + 左移 6px（与工作动态统一） */
.notice-title:hover {
  color: #0153A0;
  color: var(--primary);
  -webkit-transform: translateX(-6px);
  -ms-transform: translateX(-6px);
  transform: translateX(-6px);
}

/* --------------------------------------------------------------------------
   友情链接 + 学校站点
   -------------------------------------------------------------------------- */
.sites-links {
  padding-top: 33px;
  padding-bottom: 35px;
  background: #F2F6FA;
  background: var(--primary-soft);
}

.sites-links .section-title {
  margin-bottom: 26px;
}

.link-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -20px;
}

.link-cards li {
  flex: 0 0 49%;
  max-width: 49%;
  margin-top: 20px;
}

.link-cards a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 8px;
  color: #222222;
  color: var(--text-main);
  font-size: 14px;
  background: #FFFFFF;
  border-radius: 3px;
  /* 低宽度下文字换行时各居中对齐，避免孤字偏左、视觉不对称 */
  text-align: center;
}

.link-cards a:hover {
  color: #0153A0;
  color: var(--primary);
}

.link-cards img {
  flex-shrink: 0;
  margin-right: 8px;
}

/* 各卡片图标按设计稿显示尺寸逐项精确还原（友情链接 PNG 品牌 logo / 学校站点 SVG 图标 / 校标） */
/* ---- 友情链接 ---- */
.friend-links .link-cards li:nth-child(1) img { width: 31px; height: 20px; } /* 国家智慧教育平台 */
.friend-links .link-cards li:nth-child(2) img { width: 24px; height: 24px; } /* 中国大学视频公开课 */
.friend-links .link-cards li:nth-child(3) img { width: 25px; height: 49px; } /* 慕课网 */
.friend-links .link-cards li:nth-child(4) img { width: 31px; height: 30px; } /* 国开终身教育平台 */
.friend-links .link-cards li:nth-child(5) img { width: 45px; height: 20px; } /* 信息安全漏洞库 */
.friend-links .link-cards li:nth-child(6) img { width: 29px; height: 27px; } /* 爱课程 */
/* ---- 学校站点 ---- */
.school-sites .link-cards li:nth-child(1) img { width: 26px; height: 25px; } /* 武汉理工大学（校标） */
.school-sites .link-cards li:nth-child(2) img { width: 20px; height: 20px; } /* 本科生院 */
.school-sites .link-cards li:nth-child(3) img { width: 20px; height: 18px; } /* 科发院 */
.school-sites .link-cards li:nth-child(4) img { width: 20px; height: 20px; } /* 社会合作与校友工作处 */
.school-sites .link-cards li:nth-child(5) img { width: 20px; height: 20px; } /* 研究生院 */
.school-sites .link-cards li:nth-child(6) img { width: 20px; height: 20px; } /* 人事处 */

/* 移动端（≤767）：友情链接 / 学校站点图标 width、height、margin 统一 -4px，字号 13px */
@media (max-width: 767px) {
  .friend-links .link-cards a,
  .school-sites .link-cards a {
    font-size: 14px;
  }
  .friend-links .link-cards li img,
  .school-sites .link-cards li img {
    margin-right: 4px;
  }
  .friend-links .link-cards li:nth-child(1) img { width: 25px; height: 14px; } /* 国家智慧教育平台 */
  .friend-links .link-cards li:nth-child(2) img { width: 18px; height: 18px; } /* 中国大学视频公开课 */
  .friend-links .link-cards li:nth-child(3) img { width: 19px; height: 43px; } /* 慕课网 */
  .friend-links .link-cards li:nth-child(4) img { width: 25px; height: 24px; } /* 国开终身教育平台 */
  .friend-links .link-cards li:nth-child(5) img { width: 39px; height: 14px; } /* 信息安全漏洞库 */
  .friend-links .link-cards li:nth-child(6) img { width: 23px; height: 21px; } /* 爱课程 */
  .school-sites .link-cards li:nth-child(1) img { width: 20px; height: 19px; } /* 武汉理工大学（校标） */
  .school-sites .link-cards li:nth-child(2) img { width: 14px; height: 14px; } /* 本科生院 */
  .school-sites .link-cards li:nth-child(3) img { width: 14px; height: 12px; } /* 科发院 */
  .school-sites .link-cards li:nth-child(4) img { width: 14px; height: 14px; } /* 社会合作与校友工作处 */
  .school-sites .link-cards li:nth-child(5) img { width: 14px; height: 14px; } /* 研究生院 */
  .school-sites .link-cards li:nth-child(6) img { width: 14px; height: 14px; } /* 人事处 */
}

/* --------------------------------------------------------------------------
   页脚
   -------------------------------------------------------------------------- */
.site-footer {
  color: #FFFFFF;
  background: #0153A0;
  background: var(--primary);
}

/* 两行结构：第一行 校标+二维码，第二行 热线+语音 */
.footer-row {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-row + .footer-row {
  margin-top: 32px;
}

.footer-brand {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-brand img {
  width: 180px;
  height: 38px;
}

.footer-brand .brand-divider {
  height: 24px;
  margin: 0 13px;
}

.footer-brand .brand-name {
  font-size: 20px;
}

.footer-contact {
  font-size: 15px;
  line-height: 2.2;
}

.footer-contact p {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-contact img {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.footer-qr {
  margin-top: 24px;
}

.footer-qr img {
  width: 106px;
  height: 106px;
}

.footer-qr span {
  display: block;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.8;
}

.footer-copy {
  padding: 8px 0;
  font-size: 14px;
  line-height: 40px;
  text-align: center;
  /* 设计稿：rgba(255,255,255,0.3) × opacity 0.2 = 等效 6% 白叠加层 */
  background: #E9F0F8;
  background: rgba(255, 255, 255, 0.06);
}

/* 单列布局下联系方式重排：电话与电话、邮箱与邮箱分别归组。
   页脚双列（row）只在 1024px+ 生效，768-1023px 平板同样为单列，
   故断点设为 max-width:1023px，覆盖所有单列场景。
   将两个 .footer-contact 摊平到 .footer-row（display:contents），
   用 order 控制 4 行 p 的显示顺序为：热线→语音→邮箱→投诉邮箱。
   桌面端（1024px+）保持原 HTML 顺序（热线+邮箱 / 语音+投诉）不受影响；
   IE 不支持 display:contents 时退回 HTML 原始顺序，信息完整可读。 */
@media (max-width: 1023px) {
  .footer-contact,
  .footer-contact-alt {
    display: contents;
  }

  .footer-contact p:nth-child(1) { order: 1; }
  .footer-contact-alt p:nth-child(1) { order: 2; }
  .footer-contact p:nth-child(2) { order: 3; }
  .footer-contact-alt p:nth-child(2) { order: 4; }

  /* display:contents 摊平后 p 直接作为 flex item，行距不再由
     .footer-contact 的 line-height 撑起，改用显式 margin 恢复行间间距。
     注意 .footer-contact-alt 同时带 .footer-contact 类，须用 :not 排除，
     只对视觉第一行（热线）去掉上间距，其余 3 行间距 8px。 */
  .footer-row > .footer-contact p,
  .footer-row > .footer-contact-alt p {
    margin-top: 8px;
  }
  .footer-row > .footer-contact:not(.footer-contact-alt) p:first-child {
    margin-top: 0;
  }
}

/* ==========================================================================
   平板 768px+
   ========================================================================== */
@media (min-width: 768px) {
  .brand-logo {
    width: 150px;
    height: 31px;
  }

  .brand-name {
    font-size: 18px;
  }

  .section-title {
    font-size: 26px;
    line-height: 36px;
  }

  .section-head {
    margin-bottom: 26px;
  }

  /* 工作动态/通知公告：标题底到内容 22px（设计稿 87:0047 组 1295→组 1343） */
  .news-notice .section-head {
    margin-bottom: 22px;
  }

  /* 通知公告：标题底到首行 32px（设计稿 87:919：标题组 1294 底 34 → 首行组 1347 top 68） */
  .notice-col .section-head {
    margin-bottom: 5px;
  }

  .carousel-track li {
    flex: 0 0 140px;
    max-width: 140px;
    padding: 14px 0 0;
  }

  .quick-links a {
    font-size: 16px;
  }

  .link-cards li {
    flex-basis: 32%;
    max-width: 32%;
  }

  .link-cards a {
    font-size: 15px;
  }

  .footer-brand {
    justify-content: flex-start;
  }

  .footer-contact p {
    justify-content: flex-start;
  }
}

/* ==========================================================================
   小桌面 1024px+
   ========================================================================== */
@media (min-width: 1024px) {
  .site-topbar {
    padding: 26px 0;
  }

  .brand-logo {
    width: 168px;
    height: 35px;
  }

  .brand-divider {
    height: 21px;
  }

  .brand-name {
    font-size: 22px;
  }

  .nav-toggle-label {
    display: none;
  }

  .site-nav {
    width: auto;
    max-height: none;
    margin-left: 90px;
    overflow: visible;
  }

  .site-nav ul {
    display: flex;
  }

  .site-nav a {
    position: relative;
    padding: 6px 12px;
    font-size: 18px;
    line-height: 24px;
  }

  /* 一级栏目 hover 白色下划线：scaleX 从左平滑展开 */
  .site-nav > ul > li > a:after {
    content: "";
    position: absolute;
    right: 12px;
    bottom: -4px;
    left: 12px;
    height: 1px;
    background: #FFFFFF;
    box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.25s ease;
  }

  .site-nav > ul > li > a:hover:after,
  .site-nav > ul > li > a:focus:after {
    transform: scaleX(1);
  }

  /* 下拉子菜单：桌面端悬停展开 */
  .site-nav li {
    position: relative;
  }

  .sub-toggle,
  .sub-arrow{
    display: none;
  }

  .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 60;
    width: 168px;
    max-height: none;
    margin-left: -84px;
    padding-top: 14px;
    overflow: visible;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease;
  }

  /* 悬停触发时，扩展 li 底部的 hover 桥接区：
     服务指南面板很宽（480px）而导航项只有约 70px，鼠标斜向快速移动
     时容易滑出 li 的 hover 范围导致下拉消失。用 li 的 ::after 在 li
     正下方垫一块透明区域，鼠标经过它时仍算 hover 在 li 上，下拉保持。 */
  .has-sub:hover::after {
    content: "";
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 14px;
  }

  .has-sub:hover .sub-menu,
  .has-sub a:focus ~ .sub-menu {
    visibility: visible;
    opacity: 1;
  }

  .sub-menu ul {
    display: block;
    position: relative;
    padding: 6px 0;
    background: #FFFFFF;
    border-radius: 4px;
    /* 设计稿无阴影，去除下拉阴影 */
  }

  /* 面板顶部小三角 */
  .sub-menu ul:before {
    content: "";
    position: absolute;
    top: -10px;
    left: 50%;
    margin-left: -5px;
    border: 5px solid transparent;
    border-bottom-color: #FFFFFF;
  }

  .sub-menu a {
    padding: 10px 16px;
    color: #333333;
    font-size: 15px;
    font-weight: 400;
    line-height: 22px;
    text-align: center;
    border-top: none;
  }

  .sub-menu a:hover {
    color: #0153A0;
    color: var(--primary);
    background: #F2F6FA;
    background: var(--primary-soft);
  }

  .site-search {
    position: relative;
    width: 160px;
    height: 40px;
    margin-top: 0;
    margin-left: auto;
    flex: 0 0 auto;
    transition: width 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  }

  .site-search .search-box {
    width: 100%;
    height: 40px;
    padding: 0 14px;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 99px;
    box-sizing: border-box;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    transition: background-color 0.25s ease,
                border-color 0.25s ease,
                box-shadow 0.25s ease;
  }

  .site-search .search-box:hover {
    background: rgba(255, 255, 255, 0.26);
    border-color: rgba(255, 255, 255, 0.75);
  }

  .site-search:focus-within {
    width: 220px;
  }

  .site-search:focus-within .search-box {
    background: rgba(255, 255, 255, 0.28);
    border-color: #FFFFFF;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12), 0 0 0 2px rgba(255, 255, 255, 0.25);
  }

  .site-search .search-box input {
    font-size: 14px;
    color: #FFFFFF;
    transition: opacity 0.2s ease;
  }

  .site-search .search-box input::placeholder {
    color: rgba(255, 255, 255, 0.85);
  }

  @media (max-width: 1199px) {
    .site-nav {
      margin-left: 30px;
    }
    .site-nav a {
      padding: 6px 8px;
      font-size: 16px;
    }
    .site-search {
      width: 130px;
    }
    .site-search:focus-within {
      width: 170px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .site-search {
      transition: none;
    }
  }

  .hero-body {
    min-height: 130px;
    padding: 25px 0 25px;
  }

  .stats-box {
    max-width: 1020px;
    padding: 14px 22px 10px;
  }

  .stats-slide .stat-num {
    font-size: 38px;
    line-height: 48px;
  }

  .stats-slide .stat-label {
    font-size: 14px;
  }

  .quick-links li {
    flex: 1 1 0;
    max-width: none;
  }

  .quick-links li + li {
    background: linear-gradient(#FFFFFF, #FFFFFF) left center / 1px 40px no-repeat;
  }

  .quick-links a {
    height: 94px;
    font-size: 18px;
  }

  .service-tabs {
    margin-top: 0;
  }

  .service-tabs button {
    height: 40px;
    padding: 0 24px;
    font-size: 18px;
  }

  /* 桌面：按设计稿 160px 项距 */
  .carousel-track li {
    flex: 0 0 160px;
    max-width: 160px;
    padding: 14px 0 0;
  }

  .icon-box,
  .icon-box img {
    width: 76px;
    height: 76px;
  }

  .carousel-track .icon-label {
    font-size: 18px;
  }

  /* 工作动态：左图右列表（设计稿 87:0047：图 446×280 + 20px 间距 + 列表 436） */
  .news-body {
    display: flex;
  }

  .news-feature {
    flex: 0 0 446px;
    max-width: 446px;
    height: 280px;
    margin-bottom: 0;
  }

  .news-feature img {
    height: 100%;
    object-fit: cover;
  }

  .news-list {
    flex: 1 1 auto;
    margin-top: 11px;
    margin-left: 20px;
  }

  /* 设计稿：行高 27px、行距 46px、文字左 18px、方块 top 13（方块中心=行中心+1.5） */
  .news-list li {
    padding: 0 0 19px 18px;
  }

  .news-list li:last-child {
    padding-bottom: 0;
  }

  .news-list li:before {
    top: 13px;
  }

  .news-list a {
    font-size: 18px;
    text-align: justify;
  }

  .notice-title {
    font-size: 18px;
  }

  .link-cards a {
    font-size: 16px;
  }

  .footer-main {
    padding-top: 54px;
    padding-bottom: 35px;
  }

  /* 两行结构：第一行 校标+二维码（两端对齐），第二行 热线+语音（紧排） */
  .footer-row {
    flex-direction: row;
    align-items: flex-start;
  }

  /* 行2（热线/语音）与行1（二维码）垂直重叠并存：设计稿中热线组 top 141、
     二维码组 top 52~220，水平方向错开（热线在左、二维码贴右）不冲突。
     行1 高度 = 二维码 168px，行2 需顶到 141 → margin-top = 141 - (54+168) = -81px，
     footer-main 总高 = 54+168-81+76+40 = 257px + 版权条 56px = 313px（与设计稿一致） */
  .footer-row + .footer-row {
    margin-top: -81px;
  }

  .footer-row:first-child {
    justify-content: space-between;
  }

  .footer-brand img {
    width: 208px;
    height: 44px;
  }

  .footer-brand .brand-divider {
    height: 27px;
  }

  .footer-brand .brand-name {
    font-size: 24px;
  }

  .footer-contact {
    font-size: 16px;
    line-height: 40px;
  }

  .footer-contact-alt {
    margin-left: 21px;
  }

  .footer-qr {
    margin-top: 0;
    text-align: center;
  }

  .footer-qr span {
    font-size: 16px;
    line-height: 27px;
  }

  .footer-copy {
    font-size: 16px;
    line-height: 40px;
  }
}

/* --------------------------------------------------------------------------
   列表页（列表_含二级导航菜单.html）：内页横幅 / 面包屑 / 栏目侧栏 / 文章列表 / 分页
   设计稿：容器 18（87:0525），1920×1539，内容区 1400（left 260）
   -------------------------------------------------------------------------- */

/* 内页横幅：校园航拍图（设计稿 100:2840 组 1455，344 高，图片垂直居中裁切） */
.page-banner {
  position: relative;
  min-height: 180px;
  background: #003F7D;
  background: url("../images/banner/banner-list.jpg") no-repeat center;
  background-size: cover;
}

/* 底部渐变暗带（设计稿 矩形 622：94px，transparent→rgba(0,0,0,0.3)，opacity 0.8） */
.page-banner:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 40px;
  background: linear-gradient(180deg, rgba(34, 34, 34, 0) 17%, rgba(0, 0, 0, 0.3) 100%);
  opacity: 0.8;
}

/* 面包屑（设计稿 97:2782 组 784：行高 27，通栏容器内、桌面右对齐贴内容右缘）
   flex + gap：TRS_CURPAGE 把分隔符输出成裸文本节点（</a>›<a>），只有 flex 能给文本节点
   挤出间距；wrap 让三级路径在窄屏上换行。右对齐也因此用 justify-content（text-align
   不作用于 flex item），写在桌面媒体查询里 */
.breadcrumb {
  position: relative; /* 提高层级：.page-body 负 margin 会让内容区上移 21px 盖住链接下半部 */
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 8px;
  padding-top: 20px;
  padding-bottom: 16px;
  color: #999999;
  font-size: 14px;
  line-height: 27px;
}

.breadcrumb a {
  display: inline-block;
  padding: 4px 0; /* 扩大可点击/悬停区域（整条文字上下都可点） */
  color: #222222;
  color: var(--text-main);
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.breadcrumb a:hover {
  color: #0153A0;
  color: var(--primary);
}

.breadcrumb .crumb-sep {
  width: 8px;
  height: 14px;
  margin: 0 8px;
}

.breadcrumb .crumb-current {
  color: #222222;
  color: var(--text-main);
}

/* 管理节点栏目（工作动态/通知公告等）的面包屑被模板里的 TRS_CONDITION 整体省略，
   代之以这个占位补回呼吸空间：移动端只求视觉合适，桌面端在媒体查询里与面包屑行等高，
   保证负 margin 几何与有面包屑页面一致 */
.breadcrumb-space {
  height: 48px;
}

/* 栏目侧栏（设计稿 98:0311 组 1476：288 宽，蓝头 102 + 浅蓝体 432，圆角 5px） */
.page-side {
  margin-bottom: 32px;
}

.side-box {
  overflow: hidden;
  border-radius: 5px;
}

.side-head {
  padding: 18px 0;
  text-align: center;
  background: #0153A0;
  background: var(--primary);
}

/* 标题渐变文字（设计稿：linear-gradient(180deg, #FFFFFF 41%, #D4E3F2 100%)），
   不支持的浏览器保留上面的纯白 */
.side-title {
  color: #FFFFFF;
  font-size: 26px;
  font-weight: bold;
  line-height: 45px;
  text-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .side-title {
    background-image: linear-gradient(180deg, #FFFFFF 41%, #D4E3F2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}

.side-body {
  padding: 10px 10px ;
  background: #F6FAFF;
}

/* 一级平铺导航（内容(左侧导航仅一级).html 部门概况）：点击一级直接切换，无二级菜单。
   67 高、20px、hover 主题蓝、当前项（.is-current）蓝底 + 左指示条 */
.side-nav-flat {
  padding: 10px 10px 20px;
}

.side-nav-flat li + li {
  margin-top: 10px;
}

/* text-align 是对设计稿的有意偏离：设计稿这里是左对齐，但侧栏蓝色标题是居中的，
   一级导航条目左对齐显得没对齐上。手风琴侧栏（.side-nav）不跟着改——它靠缩进表达
   分组与子项的层级，居中会把层级抹平。 */
.side-nav-flat a {
  display: block;
  padding: 18px 22px;
  color: #222222;
  color: var(--text-main);
  font-size: 20px;
  line-height: 31px;
  text-align: center;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease;
  transition: color 0.3s ease, background-color 0.3s ease;
}

.side-nav-flat a:hover {
  color: #0153A0;
  color: var(--primary);
}

.side-nav-flat a.is-current {
  position: relative;
  color: #0153A0;
  color: var(--primary);
  background: rgba(1, 83, 160, 0.05);
}

.side-nav-flat a.is-current:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  background: #0153A0;
  background: var(--primary);
}

/* 一级导航 Tab 面板（已停用：内容.html 改为点击跳转，无 data-panel 元素；规则保留以便未来复用） */
.page-content > [data-panel] {
  display: none;
}

.page-content > [data-panel].is-active {
  display: block;
}

/* 概览页主区三选一（list 模板）：栏目够 2 篇稿时出 .list-mode 列表，只有 1 篇时出 .single-doc
   正文。平台没有「恰好 1 篇」的守卫置标，多稿栏目上两块都会渲染，靠这条兄弟选择器压掉正文块
   （CSS2 选择器，IE7+ 都认，不依赖 :has() 或 JS）。只有 1 篇稿的栏目是反过来的：列表块只出
   一行，由 main.js 把列表块整个移除，正文块自然可见。 */
.list-mode ~ .single-doc {
  display: none;
}

/* 文章列表（设计稿 95:1985 组 1431：行高 28、行距 60、行间 1px #EEEEEE 分隔线居中于间隙） */
.post-list li {
  position: relative;
  padding: 0 17px 15px 0;
  margin-bottom: 16px;
  border-bottom: 1px solid #EEEEEE;
}

.post-list a {
  display: flex;
  align-items: center;
  -webkit-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
}

.post-title {
  min-width: 0;
  padding-left: 32px;
  overflow: hidden;
  color: #222222;
  color: var(--text-main);
  font-size: 16px;
  line-height: 28px;
  white-space: nowrap;
  text-overflow: ellipsis;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

/* 蓝色小方块（设计稿 矩形 667：4×4，距内容左缘 16，行内垂直居中）。
   挂在 li 上而非标题上：hover 左移时方块保持不动（与工作动态一致） */
.post-list li:before {
  content: "";
  position: absolute;
  top: 12px;
  left: 16px;
  width: 4px;
  height: 4px;
  background: #0153A0;
  background: var(--primary);
}

.post-date {
  flex: 0 0 auto;
  margin-left: auto;
  padding-left: 20px;
  color: #999999;
  font-size: 14px;
  line-height: 28px;
  -webkit-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

/* hover：标题与日期同变主题蓝 + 左移 6px（参考工作动态 hover 动效） */
.post-list a:hover .post-title,
.post-list a:hover .post-date {
  color: #0153A0;
  color: var(--primary);
}

.post-list a:hover {
  -webkit-transform: translateX(-6px);
  -ms-transform: translateX(-6px);
  transform: translateX(-6px);
}

/* 分页（设计稿 97:891 组 1385：38 高、圆角 2、间距 27/10/27）
   页面过多时可换行（flex-wrap），避免溢出；省略号由 JS 渲染为 .page-dots
   row-gap：换行时行与行之间的上下间距（IE11 不支持 row-gap，见 ie.css 兜底） */
.pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  margin-top: 40px;
  row-gap: 10px;
}

.pagination a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  color: #222222;
  color: var(--text-main);
  font-size: 16px;
  background: #FFFFFF;
  border: 1px solid #D8D8D8;
  border: 1px solid var(--line-soft);
  border-radius: 2px;
  -webkit-transition: color 0.3s ease, border-color 0.3s ease;
  transition: color 0.3s ease, border-color 0.3s ease;
}

.pagination .page-num {
  width: 38px;
  line-height: 20px;
}

.pagination .page-prev,
.pagination .page-next,
.pagination .page-first,
.pagination .page-last {
  width: 62px;
  line-height: 27px;
}

/* 省略号：与页码同高同宽，无边框纯文字 */
.pagination .page-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: #999999;
  font-size: 16px;
}

.pagination a + a,
.pagination .page-dots + a,
.pagination a + .page-dots,
.pagination .page-dots + .page-dots {
  margin-left: 10px;
}

/* 设计稿：上一页→页码 间距 27（10 + 17），页码→下一页 间距 27 */
.pagination .page-prev {
  margin-right: 17px;
}

.pagination .page-next {
  margin-left: 27px;
}

/* 分页按钮尺寸恒定（38px），不随视口变化；
   页面过多时仅靠 flex-wrap + row-gap 换行，不溢出 */
.pagination .page-num.is-current {
  color: #FFFFFF;
  background: #0153A0;
  background: var(--primary);
  border-color: #0153A0;
  border-color: var(--primary);
}

/* 禁用态：文字边框同色 #D8D8D8（设计稿「上一页」） */
.pagination .page-prev.is-disabled,
.pagination .page-next.is-disabled,
.pagination .page-first.is-disabled,
.pagination .page-last.is-disabled {
  color: #D8D8D8;
  color: var(--line-soft);
  cursor: default;
  pointer-events: none;
}

.pagination a:not(.is-current):not(.is-disabled):hover {
  color: #0153A0;
  color: var(--primary);
  border-color: #0153A0;
  border-color: var(--primary);
}

/* 手机端：上一页/下一页 用符号代替汉字（‹ ›）并收窄与页码一致；
   首页/尾页 直接隐藏 */
@media (max-width: 767px) {
  .pagination .page-first,
  .pagination .page-last {
    display: none;
  }

  .pagination .page-prev,
  .pagination .page-next {
    width: 38px;
    font-size: 0; /* 隐藏汉字文本 */
  }

  .pagination .page-prev {
    margin-left: 0;
    margin-right: 12px;
  }

  .pagination .page-next {
    margin-left: 22px;
    margin-right: 0;
  }

  .pagination .page-prev::before,
  .pagination .page-next::before {
    font-size: 18px;
    line-height: 1;
  }

  .pagination .page-prev::before {
    content: "‹";
  }

  .pagination .page-next::before {
    content: "›";
  }
}

/* --------------------------------------------------------------------------
   列表页 · 小桌面 1024px+
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .page-banner {
    min-height: 344px;
  }

  .page-banner:after {
    height: 94px;
  }

  .breadcrumb {
    padding-top: 33px;
    padding-bottom: 0;
    font-size: 16px;
    justify-content: flex-end;
  }

  /* 占位与面包屑行等高（33+27+0）：负 margin 后管理节点栏目的蓝头间距与有面包屑页面一致 */
  .breadcrumb-space {
    height: 60px;
  }

  .page-side {
    margin-bottom: 0;
  }

  /* 蓝头 102 高（26 + 48 + 28） */
  .side-head {
    padding: 26px 0 28px;
  }

  .side-title {
    font-size: 32px;
    line-height: 48px;
  }

  .post-title {
    font-size: 18px;
  }

  .post-date {
    font-size: 16px;
  }

  .pagination {
    margin-top: 60px;
  }

  /* 当前栏目白色下划线常显（设计稿 矩形 665：服务指南下 62×1 白条） */
  .site-nav > ul > li > a.is-current:after {
    transform: scaleX(1);
  }
}

/* --------------------------------------------------------------------------
   详情页（内容_含二级导航菜单.html）：文章标题 / 信息行 / 正文 / 附件 / 上下篇
   设计稿：容器 19（89:1420），1920×1920，内容列与列表页一致（1062 宽）
   -------------------------------------------------------------------------- */

/* 标题（设计稿 95:2254：28px/700/#232323/居中） */
.article-head {
  padding-top: 4px;
  text-align: center;
}

.article-title {
  color: #232323;
  font-size: 22px;
  line-height: 32px;
}

/* 信息行（参考 content.html .art-info：16px #999，图标/文字/间距同规格） */
.article-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 12px;
  color: #999999;
  font-size: 16px;
  line-height: 36px;
}

.article-meta li {
  display: flex;
  align-items: center;
}

/* 竖分隔线：用伪元素画 1×20px 竖线，垂直居中，与文字等高（参考 content.html .info-sep） */
.article-meta li + li {
  position: relative;
  margin-left: 16px;
  padding-left: 16px;
}

.article-meta li + li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 20px;
  margin-top: -10px;
  background: #D8D8D8;
  background: var(--line-soft);
}

.article-meta li > img {
  width: 16px;
  height: 14px;
  margin-right: 6px;
}

/* 手机版图标 9×16（特异性高于通用 .article-meta li > img） */
.article-meta .meta-mobile img {
  width: 9px;
  height: 16px;
}

/* 字号：文字 + 大/中/小 三个图标（同 content.html .i-font-a/b/c）
   图标尺寸：大 16×14 / 中 12×14（垂直翻转）/ 小 16×14 */
.meta-font {
  display: flex;
  align-items: center;
}

.meta-font-txt {
  margin-right: 6px;
}

.meta-font img {
  cursor: pointer;
}

.meta-font .meta-font-a,
.meta-font .meta-font-c {
  width: 16px;
  height: 14px;
}

.meta-font .meta-font-b {
  width: 12px;
  height: 14px;
}

.meta-font img + img {
  margin-left: 6px;
}

/* 中字号图标素材倒置，垂直翻转恢复（同 content.html .i-font-b） */
.meta-font-b {
  -webkit-transform: scaleY(-1);
  -ms-transform: scaleY(-1);
  transform: scaleY(-1);
}

/* hover 变蓝：字号/打印 用 CSS filter 渲染为主题蓝 #0153A0（手机版由 JS 切换
   图标 src 实现变色，见 main.js mobileHoverOn/Off，故不在此列） */
.meta-font img:hover,
.meta-print:hover img {
  -webkit-filter: invert(24%) sepia(80%) saturate(4000%) hue-rotate(195deg) brightness(60%);
  filter: invert(24%) sepia(80%) saturate(4000%) hue-rotate(195deg) brightness(60%);
}

/* 打印：图标 + 文字，hover 变蓝 */
.meta-print {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.meta-print img {
  width: 16px;
  height: 14px;
  margin-right: 6px;
}

.meta-print:hover,
.meta-print:hover span {
  color: #0153A0;
  color: var(--primary);
}

/* 手机版：图标 9×16 + 文字，hover/点击变蓝由 main.js 控制
   （图标 src 灰→蓝切换 + 文字内联 color，避免与 CSS :hover 冲突） */
.meta-mobile {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.meta-mobile img {
  width: 9px;
  height: 16px;
  margin-right: 6px;
}

/* 手机端无需"手机版"入口，隐藏
   （用 .article-meta 前缀提高特异性，覆盖上方 .article-meta li 的 display:flex） */
@media (max-width: 767px) {
  .article-meta .meta-mobile {
    display: none;
  }
}

/* 信息行竖线：flex 换行后视觉行首不显示竖线
   （main.js 检测每行第一个 li 并添加 is-row-start） */
.article-meta li.is-row-start::before {
  display: none;
}

/* 通栏分隔线（设计稿 直线 3/4/5：1px #EEEEEE，与相邻区块的精确间距见 1024+ 覆盖） */
.article-divider {
  margin-top: 20px;
  border-top: 1px solid #EEEEEE;
}

/* 正文（设计稿 95:2249：18px/2 倍行高/#333/justify，桌面左右各缩进 13） */
.article-body {
  margin-top: 20px;
  margin-bottom: 20px;
  color: #333333;
  font-size: 16px;
  line-height: 2;
  text-align: justify;
}

.article-body:after {
  content: "";
  display: block;
  clear: both;
}

.article-body p + p {
  margin-top: 2em;
}

.article-body strong {
  font-weight: 700;
}

/* 字号切换状态（main.js 循环切换） */
.article-body.is-large {
  font-size: 20px;
}

.article-body.is-small {
  font-size: 16px;
}

/* 手机版二维码气泡卡片（参考 content.html 的 .art-qr：157×186 fixed 定位）
   默认隐藏，由 main.js 在 hover/点击「手机版」时显示并计算位置 */
.article-qr {
  position: fixed;
  z-index: 1000;
  display: none;
  width: 157px;
  height: 186px;
  /* 卡片底：白色背景 + 圆角 + 边框 + 阴影，替代原 qr-card.svg */
  background: #FFFFFF;
  border: 1px solid #EEEEEE;
  border-radius: 8px;
  -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.03);
  box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.03);
}

.article-qr .qr-img {
  position: absolute;
  top: 23px;
  left: 50%;
  width: 110px;
  height: 110px;
  margin-left: -55px;
}

.article-qr .qr-txt {
  position: absolute;
  top: 138px;
  left: 0;
  width: 157px;
  color: #3D3D3D;
  font-size: 14px;
  line-height: 36px;
  text-align: center;
}

/* 相关附件（设计稿 101:0138 组 1547：行高 45、#F9F9F9、圆角 5、行距 7） */
.article-attach {
  margin-top: 24px;
}

.attach-title {
  color: #222222;
  color: var(--text-main);
  font-size: 18px;
  line-height: 36px;
  text-align: left;
}

.attach-list {
  margin-top: 10px;
}

.attach-list li {
  display: flex;
  align-items: center;
  height: 45px;
  padding: 0 14px 0 16px;
  background: #F9F9F9;
  border-radius: 5px;
}

.attach-list li + li {
  margin-top: 7px;
}

.file-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-right: 8px;
}

.file-name {
  min-width: 0;
  margin-right: 16px;
  overflow: hidden;
  color: #222222;
  color: var(--text-main);
  font-size: 15px;
  line-height: 27px;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* 附件文件名可点击：hover 变主题蓝（与站点其他链接一致） */
a.file-name:hover {
  color: #0153A0;
  color: var(--primary);
}

.file-size {
  flex: 0 0 auto;
  margin-left: auto;
  margin-right: 16px;
  color: #999999;
  font-size: 14px;
}

.file-dl {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  margin-left: auto;
  color: #0153A0;
  color: var(--primary);
  font-size: 14px;
  line-height: 27px;
}

.file-dl img {
  width: 11px;
  height: 11px;
  margin-right: 4px;
}

/* 上一篇 / 下一篇（设计稿 96:0438：18px #222 两端对齐） */
.article-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 16px;
  padding: 0 5px;
  font-size: 16px;
  line-height: 27px;
}

.article-nav a {
  display: flex;
  align-items: center;
  min-width: 0;
  color: #222222;
  color: var(--text-main);
}

/* 文字单独截断，图标（img）不参与 overflow/ellipsis 计算：以前整个 <a> 一起
 white-space:nowrap+ellipsis，
   .nav-next 的箭头排在文字后面，标题一长就被截断逻辑连图标一起吃掉了。 */
.nav-prev span,
.nav-next span {
  overflow: hidden;
  min-width: 0;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.article-nav a:hover {
  color: #0153A0;
  color: var(--primary);
}

/* 上一篇/下一篇箭头图标 hover 变主题蓝（与文字同步，参考 meta-font 图标做法） */
.article-nav a:hover img {
  -webkit-filter: invert(24%) sepia(80%) saturate(4000%) hue-rotate(195deg) brightness(60%);
  filter: invert(24%) sepia(80%) saturate(4000%) hue-rotate(195deg) brightness(60%);
}

.nav-prev {
  max-width: 58%;
}

.nav-prev img {
  width: 8px;
  height: 14px;
  margin-right: 8px;
  flex: none;
}

/* 只有下一篇时（首篇文章没有上一篇）也要靠右：justify-content:space-between 在只剩一个
   flex item 时会贴左，margin-left:auto 让它始终贴右；两篇都在时效果与 space-between 一致，
   不受影响。 */
.nav-next {
  max-width: 42%;
  margin-left: auto;
  text-align: right;
}

.nav-next img {
  width: 8px;
  height: 14px;
  margin-left: 8px;
  flex: none;
}

/* 手机端：隐藏 上一篇 / 下一篇 */
@media (max-width: 767px) {
  .article-nav {
    display: none;
  }
}

/* --------------------------------------------------------------------------
   详情页 · 小桌面 1024px+
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  /* 页底留白 94（设计稿：上下篇底 1513 → footer 顶 1607） */
  .page-main-article {
    padding-bottom: 94px;
  }

  .article-head {
    padding-top: 8px;
  }

  .article-title {
    font-size: 28px;
    line-height: 36px;
  }

  .article-meta {
    margin-top: 19px;
    font-size: 16px;
    line-height: 36px;
  }

  .article-meta li + li {
    margin-left: 28px;
    padding-left: 28px;
  }

  /* 图标尺寸沿用基础规格（大/小 16×14、中 12×14、手机 9×16），无需覆盖 */

  /* 分隔线与相邻区块的精确间距（设计稿：meta 底 544→558 / 正文底 1166→1197 / 附件底 1422→1463） */
  .article-head + .article-divider {
    margin-top: 14px;
  }

  .article-body + .article-divider {
    margin-top: 31px;
  }

  .article-attach + .article-divider {
    margin-top: 41px;
  }

  .article-body {
    margin-top: 36px;
    margin-bottom: 31px;
    padding: 0 13px;
    font-size: 18px;
  }

  .article-attach {
    margin-top: 30px;
  }

  .file-name {
    font-size: 18px;
  }

  /* 桌面端对齐 content.html：文件图标与文件名间距 4px（移动端是 8px） */
  .file-icon {
    margin-right: 4px;
  }

  .article-nav {
    margin-top: 21px;
    font-size: 18px;
  }
}

/* ==========================================================================
   TRS 置标生成内容适配 —— 本段是线上设计稿原版 module.css 之外新增的部分。
   只保留与 minimal/ 当前模板结构对得上的规则：
   - 列表行、上一篇/下一篇都已按设计稿结构手写（a > span+time、a.nav-prev > img+span），
     所以 stage-1 那两段「置标生成结构」的兼容规则不再需要，已剔除；
   - TRS_CHANNEL 生成的链接没有设计稿里的 img 箭头，用 ::after 补；
   - 分页不需要额外样式：TRS_PAGENAV(NOSCRIPT) 直接输出 <a id='pagenav_N'>，
     落在模板自己的 <nav class="pagination"> 里，设计稿的 .pagination a 已经覆盖。
   上传路径：文件管理 → 站点根目录 /css/module.css（/material/css 那份不存在，别传那里）。
   ========================================================================== */

/* ---------- 首页“更多”：TRS_CHANNEL 生成（无 img 箭头，用 ::after 补） ---------- */
.more::after {
  content: "";
  width: 5px;
  height: 10px;
  margin-left: 6px;
  background: url("../images/common/icons/icon-arrow-right.svg") no-repeat center;
  background-size: 5px 10px;
}

/* ---------- 首页头条图：图片说明内链接 ---------- */
.news-caption a {
  color: #FFFFFF;
}

.news-caption a:hover {
  color: #FFFFFF;
  text-decoration: underline;
}

/* 头条标题不再服务端截断（NUM 按 GBK 字节截，中文只剩一半），改为单行省略号。
   这条生效后可以把 minimal/index.html 里 figcaption 上的行内 style 删掉。 */
.news-caption {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

/* ---------- 分页：TRS_PAGENAV(PLACEHOLDER=true) 输出的页码 ---------- */
/* 平台输出的是裸元素、没有设计稿的 .page-num/.page-prev 等类名：
   页码与上一页/下一页都是 <a id="pagenav_N">，当前页是 <span id="pagenav_N">（无链接）。
   所以按 id 前缀选择，把设计稿 .page-num / .page-num.is-current 的样子套上去。
   宽度用 min-width 而不是写死 38px，"上一页/下一页" 这种宽标签才不会被挤扁。 */
.pagination a[id^="pagenav_"],
.pagination span[id^="pagenav_"] {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  color: #222222;
  color: var(--text-main);
  font-size: 16px;
  line-height: 20px;
  background: #FFFFFF;
  border: 1px solid #D8D8D8;
  border: 1px solid var(--line-soft);
  border-radius: 2px;
  -webkit-transition: color 0.3s ease, border-color 0.3s ease;
  transition: color 0.3s ease, border-color 0.3s ease;
}

/* 当前页：平台用 span 表示，等价于设计稿的 .page-num.is-current */
.pagination span[id^="pagenav_"] {
  color: #FFFFFF;
  background: #0153A0;
  background: var(--primary);
  border-color: #0153A0;
  border-color: var(--primary);
}

.pagination a[id^="pagenav_"]:hover {
  color: #0153A0;
  color: var(--primary);
  border-color: #0153A0;
  border-color: var(--primary);
}

.pagination a[id^="pagenav_"] + a,
.pagination a[id^="pagenav_"] + span,
.pagination span[id^="pagenav_"] + a {
  margin-left: 10px;
}

/* ---------- 面包屑：TRS_CURPAGE 输出的分隔符（“›”文本节点）颜色 ---------- */
.breadcrumb .crumb-label {
  color: #999999;
}

/* ---------- 无侧栏页面：content-plain / list-plain ---------- */
/* .page-body 的 -21px 负 margin、.page-content 的 margin-left:50px 与 padding-top:62px
   都是给 288px 侧栏让位的，没有侧栏时要清掉。max-width 防止正文一行拉满 1440px 容器
   （16px 字号下一行 90 多个汉字读不下去），1100px ≈ 有侧栏时正文列宽。margin:0 auto 让正文在
   1440px 容器里居中；想改回贴左（与面包屑左边线对齐）换回 margin-left: 0。 */
.page-body.no-side {
  margin-top: 0;
}

.page-body.no-side .page-content {
  max-width: 1100px;
  margin: 0 auto;
  padding-top: 0;
}

/* ---------- 搬迁稿件正文：压平 Word 导出的行内样式 ---------- */
/* 从旧站复制/导入的稿件带 仿宋/21px/text-indent:43px/line-height:normal 等行内样式，
   优先级高于类选择器，只能用 !important 压平，跟着 .article-body 的 16px / line-height:2 走。
   若希望保留原稿的公文字体，整段删掉即可。 */
.article-body .view p,
.article-body .view span {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
}

.article-body .view img {
  max-width: 100%;
  height: auto !important;
}
