/* ==========================================================================
   西北民族大学 · 民族团结进步学习宣传专题网
   style.css —— 设计令牌 + 组件层（气质档：严谨守正 / T1 党务引领型）
   规范来源：design-system/MASTER.md（红金仅作点缀不进导航、圆角 8px、8pt 网格）
   ========================================================================== */

/* ---------- 0. 设计令牌 ---------- */
:root {
  /* 主色：庄重深红（点缀用，不进导航） */
  --brand:        #9E2A2B;
  --brand-deep:   #7C1D1E;
  --brand-soft:   #FBF3F2;
  --brand-line:   #EBD9D8;
  /* 金：仅作纹样/强调线 */
  --gold:         #B98F45;
  --gold-soft:    #E8D9BB;
  /* 石榴红：铸牢主题专属点缀（比主色更暖亮一档，仅用于强调，不铺面） */
  --pom:          #C0392B;
  --pom-soft:     #FBEEEB;
  /* 中性 */
  --ink:          #1F2328;
  --ink-2:        #3C4652;
  --ink-3:        #6B7785;
  --line:         #E5E7EB;
  --line-soft:    #F0F1F3;
  --surface:      #FFFFFF;
  --bg:           #FAF9F7;
  --bg-2:         #F5F2ED;
  /* 排版 */
  --font: "Microsoft YaHei", "微软雅黑", "PingFang SC", "Hiragino Sans GB", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;
  --lh-body: 1.75;
  --lh-title: 1.35;
  /* 网格（8pt） */
  --wp: 1200px;
  --gap: 16px;
  --gap-2: 24px;
  --gap-3: 32px;
  --sec: 48px;
  --radius: 8px;
  --radius-sm: 4px;
  --shadow-1: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);
  --shadow-2: 0 4px 12px rgba(16, 24, 40, .07);
  --ease: .24s cubic-bezier(.4, 0, .2, 1);
}

/* ---------- 1. 基础 ---------- */
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font: 16px/var(--lh-body) var(--font);
  color: var(--ink);
  background: var(--bg);
}
a { color: inherit; text-decoration: none; transition: color var(--ease); }
a:hover { color: var(--brand); }
img { max-width: 100%; display: block; }
ul, ol, li { margin: 0; padding: 0; list-style: none; }
/* 列表圆点双保险：平台「网站导航」组件只输出 <li>（没有 <ul> 包裹），li 继承不到上面的重置
   → 浏览器默认 disc 会在每项前画黑点；::marker 一并清掉（2026-09-20 线上实测） */
li::marker { content: none; }
/* 正文页文章里的列表保留项目符号（导入 Word 正文常见 ●/1. 列表） */
.art__body ul li { list-style: disc; }
.art__body ol li { list-style: decimal; }
.art__body ul, .art__body ol { padding-left: 1.6em; }
h1, h2, h3, h4 { margin: 0; line-height: var(--lh-title); font-weight: 700; letter-spacing: 0; }
/* 容器：显式 display，避免模板 .wp{display:flex} 冲突（MASTER 栈规范） */
.wp { display: block; width: 100%; max-width: var(--wp); margin: 0 auto; padding: 0 20px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- 2. 顶部：整站红幅（校徽无缝嵌入 ＋ 标语居中，与导航连成一片红） ---------- */
/* 2026-09-20 v3（用户意见：① 校徽去光晕、无缝嵌入 ② 校徽放大 ③ 后面横排靠近校徽并整体对称
   ④ 头部红底与导航红融为一体 ⑤ 加石榴籽蒙版元素）
   结构 .top > .wp > .banner-bar（整幅红底、全宽、直角）：校徽 ＋ 金竖线 ＋ 标语组（整组居中）
   与 .nav 同色且无缝隙 → 顶部一片红；石榴籽纹样低透明度平铺 + 左右渐隐（视觉对称） */
.top { background: var(--dz-red); border-bottom: 0; }
.top .wp { display: block; max-width: none; width: 100%; padding: 0; }
.banner-bar {
  position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center; gap: 20px;
  min-height: 104px; padding: 8px max(24px, calc((100% - var(--wp)) / 2 + 20px));
  background: linear-gradient(180deg, #D01B22 0%, #C8161D 52%, #BE151B 100%);
  border-top: 1px solid rgba(247, 216, 122, .5);
  border-bottom: 3px solid var(--dz-gold-deep); /* 2026-09-20 v3.3：与首页大图下沿同款金线 → 头部/导航之间的制式层次线 */
}
/* 石榴籽蒙版：六边棱晶籽粒纹（与站内 pomSeeds 同形），低透明度平铺、左右渐隐 → 不抢标语 */
.banner-bar::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='46' height='40'%3E%3Cpolygon points='23,3 43,14 43,36 23,47 3,36 3,14' fill='none' stroke='%23F7D87A' stroke-width='1.2'/%3E%3Ccircle cx='23' cy='25' r='2.2' fill='%23F7D87A'/%3E%3C/svg%3E");
  background-size: 46px 40px; background-repeat: repeat;
  opacity: .28;
  -webkit-mask-image: linear-gradient(90deg, rgba(0, 0, 0, .12) 0%, #000 20%, #000 80%, rgba(0, 0, 0, .12) 100%);
  mask-image: linear-gradient(90deg, rgba(0, 0, 0, .12) 0%, #000 20%, #000 80%, rgba(0, 0, 0, .12) 100%);
}
/* 校徽：去徽章座（无金环、无半透明白底），直接坐在红底上；校徽自带白色圆底，与红底界限清晰 */
.banner-bar__brand { position: relative; z-index: 1; flex: none; display: flex; align-items: center; justify-content: center; }
.banner-bar__logo { display: block; height: 88px; width: auto; }
.banner-bar__div {
  display: none; /* 2026-09-20 v3.1：去金竖线，避免与标语中间的分隔线重复 */
  position: relative; z-index: 1; flex: none; width: 1px; height: 52px;
  background: linear-gradient(rgba(247, 216, 122, 0), rgba(247, 216, 122, .72), rgba(247, 216, 122, 0));
}
.banner-bar__slogan {
  position: relative; z-index: 1; flex: 1 1 auto; min-width: 0;
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px 20px;
  color: #F7D87A; font-size: 34px; font-weight: 700; letter-spacing: 3px; line-height: 1.4;
  text-align: center; text-shadow: 0 1px 2px rgba(60, 8, 8, .3);
}
.banner-bar__t { white-space: nowrap; }
.banner-bar__sep { flex: none; width: 1px; height: 20px; background: rgba(247, 216, 122, .5); }

/* ---------- 3. 主导航（白底深字，选中态红下划线） ---------- */
.nav { background: var(--surface); border-bottom: 2px solid var(--brand-line); position: relative; z-index: 20; }
.nav .wp { display: flex; align-items: stretch; justify-content: center; gap: 0; }
.nav a {
  display: block; padding: 15px 34px; font-size: 17px; font-weight: 700; color: var(--ink-2);
  white-space: nowrap; border-bottom: 3px solid transparent; margin-bottom: -2px;
}
.nav a:hover { color: var(--brand); background: var(--brand-soft); }
.nav a.is-active { color: var(--brand); border-bottom-color: var(--brand); }

/* ---------- 4. 主视觉（红金克制） ---------- */
.hero {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, #8E2324 0%, #A62E2F 52%, #7C1D1E 100%);
  color: #fff;
}
.hero::after {   /* 金色纹样（克制：一条细线 + 极低透明度大圆） */
  content: ""; position: absolute; inset: 0;
  background:
    radial-gradient(circle at 84% 18%, rgba(232, 217, 187, .16) 0 22%, transparent 23%),
    radial-gradient(circle at 92% 76%, rgba(232, 217, 187, .10) 0 26%, transparent 27%);
  pointer-events: none;
}
.hero .wp { position: relative; z-index: 2; padding-top: 46px; padding-bottom: 46px; }
.hero__kicker { font-size: 14px; letter-spacing: 3px; color: var(--gold-soft); }
.hero__title { font-size: 40px; margin-top: 12px; letter-spacing: 2px; }
.hero__quote {
  margin-top: 18px; font-size: 16px; color: #F6E9E4; max-width: 760px;
  padding-left: 14px; border-left: 3px solid var(--gold);
}
.hero__rule { width: 72px; height: 3px; background: var(--gold); margin-top: 20px; }
/* 栏目页简化主视觉 */
.hero--slim .wp { padding-top: 30px; padding-bottom: 30px; }
.hero--slim .hero__title { font-size: 30px; margin-top: 8px; }
.hero--slim .hero__rule { margin-top: 14px; }

/* ---------- 4c. 主视觉大图位（首页）：多图自动切换（JS 驱动，见 js/hero-rotate.js；只有 1 张时不动） ---------- */
/* ⭐ 2026-09-21 高度改为「跟随大图原比例」：改前固定 min-height:560px —— 2560 屏上容器 2545×560，
   cover 把 1920×960 放大到 2545×1272 后只露中间 560px ⇒ **整图仅显示 44%**
   （实测源图可见行 270~694 / 960，底部「西北民族大学」会标行被切掉）。
   现在总高 = 宽度 ÷ 比例 ⇒ 任意屏宽**整图完整显示、零裁切**。
   换图若比例不同：只改 :root 的 --hero-ar（16:9 写 `16 / 9`）；此处 2 / 1 为兜底值。 */
.hero--photo { display: flex; align-items: center; min-height: 320px; aspect-ratio: var(--hero-ar, 2 / 1); max-width: 100%; }
/* ↑ max-width:100% 不能省：min-height 会被比例反推成固有宽度（2×min-height），窄屏会把文档顶宽（390 屏实测 400>375） */
.hero--photo .hero__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hero--photo .hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  opacity: 0; transition: opacity .9s ease; }
.hero--photo .hero__bg:first-child { opacity: 1; }   /* 无 JS / 单图兜底：第一张常显 */
/* 深红蒙版：**淡淡一丝**（2026-09-20 用户定：透明为主，只留一点红调），
   白字可读性改由 text-shadow 兜（见下方 .hero--photo 文字投影） */
.hero--photo::before {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(100deg, rgba(52, 8, 10, .46) 0%, rgba(72, 12, 14, .28) 40%, rgba(84, 18, 20, .11) 76%, rgba(84, 18, 20, .04) 100%);
}
.hero--photo .hero__media::after {   /* 底部压暗，接住内容区 */
  content: ""; position: absolute; inset: auto 0 0 0; height: 38%;
  background: linear-gradient(180deg, transparent, rgba(60, 10, 12, .34));
}
/* 照片透出来后，靠文字投影保证可读（替代重蒙版） */
.hero--photo .hero__kicker, .hero--photo .hero__title, .hero--photo .hero__quote, .hero--photo .hero__rule {
  text-shadow: 0 2px 14px rgba(26, 4, 5, .82), 0 1px 3px rgba(0, 0, 0, .62);
}
.hero--photo .hero__title { letter-spacing: 3px; }
.hero--photo .wp { padding-top: 92px; padding-bottom: 92px; }
.hero--photo .hero__title { font-size: 46px; }
.hero--photo .hero__quote { max-width: 700px; }
@media (prefers-reduced-motion: reduce) {
  .hero--photo .hero__bg { transition: none; animation: none; }
  .hero--photo .hero__bg:first-child { opacity: 1; }
}
/* ---------- 4d. 主视觉指示器（横向短条，可点击直接切换；≥2 张图时组件才输出） ---------- */
/* 主视觉指示器：横向短条（当前项加长变金），可点击直接切换 */
.hero__dots {
  position: absolute; left: 50%; transform: translateX(-50%); bottom: 22px; z-index: 3;
  display: flex; align-items: center; gap: 10px;
}
.hero__dot {
  width: 22px; height: 4px; padding: 0; border: 0; border-radius: 2px; cursor: pointer;
  background: rgba(255, 255, 255, .42);
  transition: background-color .2s ease, width .2s ease;
}
.hero__dot:hover { background: rgba(255, 255, 255, .78); }
.hero__dot.is-on { width: 38px; background: var(--gold); }

/* 示例图位说明行（真实照片到位后删掉 HTML 里那一行即可） */
.hero__note {
  display: inline-block; margin-top: 18px; padding: 5px 12px; border-radius: 4px;
  font-size: 12.5px; color: rgba(246, 233, 228, .82);
  border: 1px dashed rgba(232, 217, 187, .45); background: rgba(0, 0, 0, .18);
}
.hero__note code { font-family: Consolas, "Courier New", monospace; font-size: 12.5px; color: var(--gold-soft); }

/* 头条图位：支持真实图片 */
.lead__img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- 4b. 石榴纹样（铸牢主题专属符号；内联 SVG 不受博达上传限制） ---------- */
/* hero 右侧/左侧水印：石榴籽棱晶蜂巢纹 */
.pom-wm {
  position: absolute; right: -70px; top: 50%; transform: translateY(-50%);
  width: 560px; height: 560px; color: var(--gold-soft);
  opacity: .14; pointer-events: none; z-index: 1;
}
.pom-wm--l { left: -100px; right: auto; width: 400px; height: 400px; opacity: .09; }
/* 金句：左侧竖线改为石榴红→金渐变 */
.hero__quote { position: relative; }
.hero__quote::before {
  content: ""; position: absolute; left: -1px; top: 2px; bottom: 2px; width: 3px;
  background: linear-gradient(180deg, var(--pom), var(--gold));
}
/* 区块标题竖条：石榴红 → 深红渐变 */
.sec-h__mark { background: linear-gradient(180deg, var(--pom), var(--brand)); }
/* 石榴籽点（六边棱晶造型） */
.pom-dot {
  width: 10px; height: 10px; flex: none;
  background: radial-gradient(circle at 32% 28%, #E8705F 0 32%, var(--pom) 60%, #8D2318 100%);
  clip-path: polygon(50% 0, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%);
}
/* 快速入口：点击态用石榴红 */
.quick a:hover { border-color: var(--pom); color: var(--pom); background: var(--pom-soft); }
/* 页脚石榴籽排（"像石榴籽一样紧紧抱在一起"意象，仅作视觉符号） */
.pom-row { display: flex; gap: 6px; justify-content: center; align-items: center; margin-top: 18px; }
.pom-row i { width: 8px; height: 8px; background: currentColor; opacity: .55;
  clip-path: polygon(50% 0, 95% 25%, 95% 75%, 50% 100%, 5% 75%, 5% 25%); }
.pom-row i:nth-child(2) { opacity: .8; }
.pom-row i:nth-child(4) { opacity: .8; }

/* ---------- 5. 通用区块标题 ---------- */
.sec { padding: var(--sec) 0; }
.sec--tight { padding: 36px 0; }
.sec--alt { background: var(--surface); }
.sec--warm { background: var(--bg-2); }
.sec-h { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--gap); margin-bottom: var(--gap-2); }
.sec-h__l { display: flex; align-items: center; gap: 12px; }
.sec-h__mark { width: 5px; height: 24px; background: var(--brand); border-radius: 2px; flex: none; }
.sec-h__t { font-size: 24px; color: var(--ink); }
.sec-h__en { font-size: 12px; color: var(--ink-3); letter-spacing: 1px; margin-left: 4px; }
.sec-h__more { font-size: 14px; color: var(--ink-3); white-space: nowrap; }
.sec-h__more:hover { color: var(--brand); }

/* ---------- 6. 头条 + 列表（学校时讯） ---------- */
.split { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: var(--gap-3); }
.lead { background: var(--surface); border: 1px solid var(--line-soft); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-1); }
.lead__img { aspect-ratio: 16 / 9; background: linear-gradient(135deg, #C9B79A, #9E8060); position: relative; }
.lead__img span { position: absolute; inset: auto 12px 12px 12px; color: #fff; font-size: 12px; opacity: .9; }
.lead__body { padding: 18px 20px 20px; }
.lead__t { font-size: 21px; color: var(--ink); }
.lead__t:hover { color: var(--brand); }
.lead__d { margin-top: 10px; font-size: 14px; color: var(--ink-3); line-height: 1.7; }
/* 首页「校园活动」头条：摘要限 3 行，让左栏高度与右栏 8 条列表匹配（等高但不发空，2026-09-20） */
.split .lead__d { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lead__meta { margin-top: 12px; font-size: 13px; color: var(--ink-3); }

/* 列表（统一：标题 + 日期） */
.list li { display: flex; align-items: baseline; gap: 12px; padding: 11px 0; border-bottom: 1px dashed var(--line); }
.list li:last-child { border-bottom: 0; }
.list a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15.5px; color: var(--ink-2); }
.list a:hover { color: var(--brand); }
.list time { flex: none; font-size: 13px; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.list--lg a { font-size: 16px; }
.list-card { background: var(--surface); border: 1px solid var(--line-soft); border-radius: var(--radius); padding: 8px 20px; box-shadow: var(--shadow-1); }
/* 与左栏头条等高：条目均分填充（无图、纯文字，2026-09-18 用户意见：不用图片占位） */
.split > .list-card { display: flex; flex-direction: column; height: 100%; }
.split > .list-card > .list { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }


/* ---------- 7. 学习辅导 / 理论解读 ---------- */
.cols3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-2); }
.card { background: var(--surface); border: 1px solid var(--line-soft); border-radius: var(--radius); box-shadow: var(--shadow-1); overflow: hidden; transition: box-shadow var(--ease), transform var(--ease); }
.card:hover { box-shadow: var(--shadow-2); }
.card__body { padding: 18px 20px 20px; }
.card__t { font-size: 16.5px; color: var(--ink); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.card__t:hover { color: var(--brand); }
.card__d { margin-top: 10px; font-size: 13.5px; color: var(--ink-3); line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card__meta { margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line-soft);
  font-size: 12.5px; color: var(--ink-3); display: flex; justify-content: space-between; gap: 8px; }
.card__meta a { color: var(--brand); }

/* ---------- 8. 图卡（凝心聚力 / 精品课程） ---------- */
.tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-2); }
.tile { background: var(--surface); border: 1px solid var(--line-soft); border-radius: var(--radius); box-shadow: var(--shadow-1); overflow: hidden; transition: box-shadow var(--ease); }
.tile:hover { box-shadow: var(--shadow-2); }
.tile__img { aspect-ratio: 245 / 150; background: linear-gradient(135deg, #CBB99C, #A08163); }
.tile__b { padding: 14px 16px 16px; }
.tile__t { font-size: 15px; color: var(--ink-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.tile__t:hover { color: var(--brand); }
.tile__d { margin-top: 8px; font-size: 12.5px; color: var(--ink-3); }

/* ---------- 9. 分类入口 / 制度文件（点缀红金） ---------- */
.quick { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--gap); }
.quick a {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  height: 74px; background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--radius); font-size: 16px; font-weight: 700; color: var(--ink-2);
}
.quick a:hover { border-color: var(--brand); color: var(--brand); background: var(--brand-soft); }
.quick a::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); flex: none; }

/* ---------- 10. 面包屑 + 栏目页列表 ---------- */
.crumb { background: var(--bg-2); border-bottom: 1px solid var(--line); }
.crumb .wp { display: flex; align-items: center; gap: 8px; padding-top: 14px; padding-bottom: 14px; font-size: 14px; color: var(--ink-3); }
.crumb a:hover { color: var(--brand); }
.crumb__cur { color: var(--brand); font-weight: 700; }
.panel { background: var(--surface); border: 1px solid var(--line-soft); border-radius: var(--radius); box-shadow: var(--shadow-1); padding: 8px 24px 18px; }
.panel .list li { padding: 14px 0; }
.panel .list a { font-size: 16.5px; white-space: normal; }
.pager { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 28px 0 8px; font-size: 14px; color: var(--ink-3); }
.pager a, .pager span:not(.p_pages) { padding: 6px 12px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.pager a:hover { border-color: var(--brand); color: var(--brand); }
/* 平台分页：可点项是 <span class="p_no/p_fun"><a>…</a></span>，边框只画在外层 span 上，内层 <a> 再画一遍就是「框套框」（2026-09-20 实测） */
.pager .p_no > a, .pager .p_fun > a, .pager .p_no_d > a, .pager .p_fun_d > a {
  border: 0; padding: 0; background: none; color: inherit; display: inline;
}
.pager .is-cur { background: var(--brand); border-color: var(--brand); color: #fff; }

/* ---------- 11. 页脚 ---------- */
.foot { background: #2A2A2C; color: #C9CDD4; margin-top: var(--sec); }
.foot .wp { padding-top: 34px; padding-bottom: 30px; }
.foot__row { display: flex; flex-wrap: wrap; gap: 10px 26px; align-items: center; justify-content: center; }
.foot a:hover { color: #fff; }
.foot__line { height: 1px; background: rgba(255, 255, 255, .12); margin: 20px 0 18px; }
.foot__copy { font-size: 13px; text-align: center; line-height: 1.9; color: #9CA3AF; }

/* ---------- 11.5 分组小标题 / 双列列表 / 来源说明（2026-09-18 新增） ---------- */
.grp-h { display: flex; align-items: center; gap: 10px; margin: 22px 0 10px; flex-wrap: wrap; }
.grp-h:first-child { margin-top: 4px; }
.grp-h__mark { width: 4px; height: 17px; background: linear-gradient(180deg, var(--pom), var(--brand)); border-radius: 2px; flex: none; }
.grp-h__t { font-size: 17px; color: var(--ink); }
.grp-h__n { font-size: 12.5px; color: var(--ink-3); }
.cols2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap-2); }
.list--wrap a { white-space: normal; overflow: hidden; text-overflow: clip; display: -webkit-box;
  -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.src-note { margin: 16px 0 0; font-size: 12.5px; color: var(--ink-3); line-height: 1.9; }

/* ---------- 11.6 宣传橱窗：视频/图片媒体卡 + 首页自动横向滚动（2026-09-18 第三轮） ---------- */
.mgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--gap-2); }
.mcard { background: var(--surface); border: 1px solid var(--line-soft); border-radius: var(--radius);
  box-shadow: var(--shadow-1); overflow: hidden; transition: box-shadow var(--ease); }
.mcard:hover { box-shadow: var(--shadow-2); }
.mcard__img { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden;
  background: linear-gradient(135deg, #CBB99C, #A08163); }
.mcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mcard__type { position: absolute; left: 10px; top: 10px; z-index: 2; font-size: 12px; line-height: 1;
  padding: 4px 9px; border-radius: 4px; color: #fff; background: rgba(31, 35, 40, .58); }
.mcard__type--video { background: rgba(158, 42, 43, .88); }
.mcard__play { position: absolute; left: 50%; top: 50%; width: 50px; height: 50px; margin: -25px 0 0 -25px;
  border-radius: 50%; background: rgba(20, 12, 12, .42); border: 2px solid rgba(255, 255, 255, .92); z-index: 1; }
.mcard__play::after { content: ""; position: absolute; left: 50%; top: 50%; width: 0; height: 0;
  margin: -9px 0 0 -6px; border-left: 15px solid #fff; border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.mcard__b { padding: 12px 14px 14px; }
.mcard__t { font-size: 14.5px; line-height: 1.55; color: var(--ink-2); min-height: 45px;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mcard__t a:hover { color: var(--brand); }
.mcard__d { margin-top: 8px; font-size: 12.5px; color: var(--ink-3); }

/* 自动横向滚动条（纯 CSS，无 JS；悬停/聚焦暂停；两条轨道并排、各动画 -100% 实现一行无缝） */
.marquee { position: relative; display: flex; align-items: flex-start; overflow: hidden; padding: 4px 0 12px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.marquee__track { flex: none; display: flex; width: max-content; animation: pomMarquee 48s linear infinite; will-change: transform; }
.marquee__track > * { flex: none; width: 300px; margin-right: var(--gap-2); }
.marquee:hover .marquee__track, .marquee:focus-within .marquee__track { animation-play-state: paused; }
@keyframes pomMarquee { from { transform: translateX(0); } to { transform: translateX(-100%); } }
@media (prefers-reduced-motion: reduce) {
  .marquee { overflow-x: auto; }
  .marquee__track { animation: none; }
}

/* ---------- 11.7 实时动态「要闻流」+ 相关专题图卡（首页，单卡片双栏；2026-09-18） ---------- */
.flash { padding: 14px 26px 16px; }
.flash__main { min-width: 0; }
/* 首条要闻：浅暖底头条带（跨全宽），与下方紧凑行区分 */
.flash__lead { display: flex; gap: 16px; padding: 16px 18px; background: var(--bg-2);
  border-radius: var(--radius-sm); border-left: 3px solid var(--pom); }
.flash__d { flex: none; width: 62px; white-space: nowrap; padding-top: 3px; font-size: 13.5px; font-weight: 700;
  color: var(--pom); letter-spacing: .3px; font-variant-numeric: tabular-nums; }
.flash__bd { min-width: 0; }
.flash__t { font-size: 17px; line-height: 1.5; }
.flash__t a:hover { color: var(--brand); }
.flash__s { margin-top: 8px; font-size: 13.5px; line-height: 1.75; color: var(--ink-3); }
.flash__list { margin-top: 10px; }
.flash__list li { display: flex; gap: 16px; align-items: baseline; padding: 14px 2px; border-bottom: 1px dashed var(--line); }
.flash__list li:last-child { border-bottom: 0; }
.flash__list .flash__d { font-weight: 600; font-size: 13px; color: var(--ink-3); width: 62px; white-space: nowrap; }
.flash__list a { flex: 1; min-width: 0; font-size: 15.5px; color: var(--ink-2); }
.flash__list a:hover { color: var(--brand); }
.flash__src { flex: none; font-size: 12.5px; color: var(--ink-3); }
.flash__src::before { content: "·"; margin-right: 6px; color: var(--line); }
/* 右栏「更多要闻」行：与左栏同构（日期列 + 标题 + 来源标签），标题窄一档 */
.flash .src-note { margin-top: 16px; }
/* ---------- 12. 响应式（栅格窄屏收敛，MASTER UX 高优先项） ---------- */
@media (max-width: 1100px) {
  .banner-bar { min-height: 92px; gap: 16px; padding: 8px 20px; }
  .banner-bar__logo { height: 76px; }
  .banner-bar__div { height: 46px; }
  .banner-bar__slogan { font-size: 30px; letter-spacing: 2px; gap: 10px 18px; }
  .banner-bar__sep { height: 17px; }
}
@media (max-width: 1024px) {
  .banner-bar__logo { height: 68px; }
  .banner-bar__div { height: 42px; }
  .banner-bar__slogan { font-size: 27px; letter-spacing: 1.5px; }
  .nav a { padding: 14px 20px; font-size: 16px; }
  .hero--photo { min-height: 260px; }   /* 高度由 --hero-ar 比例决定，此处仅兜底 */
  .hero--photo .wp { padding-top: 62px; padding-bottom: 62px; }
  .hero--photo .hero__title { font-size: 38px; }
  .split { grid-template-columns: minmax(0, 1fr); }
  .cols3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cols2 { grid-template-columns: minmax(0, 1fr); }
  .mgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .quick { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* ≤1000：三段排不下时，标语条整幅另起一行（仍保持「一句一行」，字号不变小） */
@media (max-width: 1000px) {
  .banner-bar { gap: 14px; padding: 8px 16px; }
  .banner-bar__slogan { font-size: 26px; letter-spacing: 1.5px; }
}
@media (max-width: 640px) {
  /* 手机：第一行校徽，第二行红底标语整幅（标语自动折行） */
  .top .wp { padding: 0; }
  .banner-bar { flex-wrap: wrap; gap: 6px 12px; padding: 8px 12px; min-height: 0; }
  .banner-bar__logo { height: 56px; }
  .banner-bar__div { display: none; }
  .banner-bar__slogan { flex: 1 1 100%; gap: 6px 10px; font-size: 21px; letter-spacing: 0.5px; }
  .banner-bar__sep { height: 14px; }
  .hero--photo { min-height: 200px; }   /* 手机：比例决定高度，200px 仅兜底 */
  .hero--photo .wp { padding-top: 46px; padding-bottom: 46px; }
  .hero--photo .hero__title { font-size: 27px; }
  .hero--photo .hero__quote { font-size: 14.5px; }
  .hero__title { font-size: 27px; }
  .nav .wp { overflow-x: auto; justify-content: flex-start; }
  .nav a { padding: 13px 16px; font-size: 15px; }
  .cols3, .tiles, .quick, .mgrid { grid-template-columns: minmax(0, 1fr); }
  .marquee__track > * { width: 236px; }
  .mcard__t { min-height: 0; }
  .flash { padding: 12px 18px 14px; }
  .flash__lead { gap: 12px; padding: 14px 14px; }
  .flash__d { width: 56px; font-size: 12.5px; white-space: nowrap; }
  .flash__list li { gap: 10px; }
  .flash__list a { font-size: 15px; }
  .flash__src { display: none; }
  .sec { padding: 32px 0; }
  .sec-h__t { font-size: 20px; }
}

/* ---------- 8. 正文页（内容页 / content） ---------- */
.art { padding: 6px 0 0; }
.art__t { margin: 18px 0 0; font-size: 30px; line-height: 1.45; font-weight: 700; color: var(--ink); letter-spacing: .2px; }
.art__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 16px; font-size: 14px; color: var(--ink-3); }
.art__meta i { display: inline-block; width: 1px; height: 12px; background: var(--line); }
.art__rule { width: 56px; height: 3px; margin: 20px 0 4px; background: var(--pom); border-radius: 2px; }
.art__body { padding: 12px 0 4px; font-size: 17px; line-height: 1.95; color: var(--ink-2); }
.art__body > p { margin: 0 0 20px; text-align: justify; text-indent: 2em; }
.art__body a { color: var(--brand); border-bottom: 1px solid var(--brand-line); }
.art__fig { margin: 26px 0; text-align: center; }
.art__fig img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.art__fig figcaption { margin-top: 10px; font-size: 13.5px; line-height: 1.7; color: var(--ink-3); }
.art__blank { height: var(--gap-3); }
.art__nav { display: grid; gap: 10px; padding-top: 18px; border-top: 1px solid var(--line-soft); }
.art__nav-row { display: flex; gap: 12px; align-items: baseline; font-size: 15px; }
.art__nav-k { flex: 0 0 56px; font-size: 13.5px; color: var(--ink-3); }
.art__nav-row a { color: var(--ink-2); }
.art__nav-row a:hover { color: var(--brand); }
.art__back { margin-top: 22px; }
.art__back a { display: inline-block; padding: 8px 18px; border: 1px solid var(--brand-line); border-radius: var(--radius); color: var(--brand); font-size: 14.5px; }
.art__back a:hover { background: var(--brand-soft); }
.panel--art { padding: 10px 32px 26px; }

@media (max-width: 640px) {
  .art__t { font-size: 22px; }
  .art__meta { gap: 8px; font-size: 13px; }
  .art__body { font-size: 16px; line-height: 1.9; }
  .art__nav-row { flex-direction: column; gap: 4px; }
  .art__nav-k { flex: none; }
  .panel--art { padding: 6px 18px 20px; }
}

/* ---------- 13. 平台组件输出适配（2026-09-19 新增） ---------- */
/* 13.1 内容页正文（博达「文章内容」组件输出） */
.art__body #vsb_content,
.art__body .v_news_content { font-size: 16.5px; line-height: 1.95; color: var(--ink-2); }
.art__body #vsb_content p,
.art__body .v_news_content p { margin: 0 0 14px; text-indent: 2em; }
.art__body #vsb_content img,
.art__body .v_news_content img { max-width: 100%; height: auto; border-radius: var(--radius-sm); }
.art__body #vsb_content table,
.art__body .v_news_content table { max-width: 100%; }
/* 13.2 内容页上下篇（组件模板输出） */
.art__pn { font-size: 15px; color: var(--ink-2); }
.art__pn:hover { color: var(--brand); }
.art__pn--off { color: var(--ink-3); }
/* 13.3 栏目页分页栏（平台 CSS 分页栏组件输出 p_* 类） */
.pager .p_pages { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; border: 0; padding: 0; border-radius: 0; }
.pager .p_no_d,
.pager .p_no,
.pager .p_fun_d,
.pager .p_fun { display: inline-block; min-width: 34px; padding: 6px 10px; text-align: center;
  border: 1px solid var(--brand-line); border-radius: var(--radius-sm); font-size: 14px; }
.pager .p_no,
.pager .p_no_d { color: var(--ink-2); }
.pager .p_fun a,
.pager .p_fun_d a { color: var(--ink-2); }
.pager .p_fun:hover { background: var(--brand-soft); }
.pager .p_cur { background: var(--brand); border-color: var(--brand); color: #fff; font-weight: 600; }
.pager .p_total { margin-left: 6px; font-size: 13.5px; color: var(--ink-3); }

/* ==========================================================================
   14. 党政风制式层（2026-09-20，用户要求「整站纯党政风」）
   —— 依据（2026-09-20 实抓参考站 CSS）：
      · 共产党员网 www.12371.cn：`.dyw820_top_menu{background:#de0a0a;height:50px;line-height:50px}`
        → **导航整条红底、50px 高**；hover 提亮一档 `background:#ff0505`；专题标题 `#de0a0a`、
        党建栏目标题 `#7E0E0E`（深红）；全站几乎无圆角（直角制式）。
      · 人民网党建频道：红字类 `.red{color:#af0b02}`、金 `#e9ddac`（标题）、标题字体「宋体」。
      · 中央民大铸牢专题站：`#d91a11` 用于**导航整条红底 + 页脚红底**（09-18 实测，见技能 references）。
      · 国家民委官网（民委机关本部）主色为**蓝** `#015293/#2e5c9a` → 说明"红"是**专题/党建类**口径，
        与校（专题网）层面用红并不冲突。
      —— 共性制式 = 正红用于「导航 / 栏目条 / 页脚」大面积 + 直角 + 细线 + 标题宋体系 + 几乎无动效。
   —— 本层**只覆盖、不删原规则**：整层回退＝把 14.x 全段注释掉（改版前 CSS 在 `_backup_党政风_20260920/style.css.before`）。
   ========================================================================== */
/* 14.0 令牌：正红制式 + 直角 + 去暖调底色 + 宋体标题族（华文中宋本机已装 STZHONGS.TTF，博达后台 Windows 亦自带） */
:root {
  --dz-red:       #C8161D;
  --dz-red-lit:   #E01B22;   /* hover 提亮一档（共产党员网 #de0a0a→#ff0505 同手法） */
  --dz-red-deep:  #9A1015;
  --dz-gold:      #E8C46A;
  --dz-gold-deep: #C9A24A;
  --brand:        #C8161D;
  --brand-deep:   #9A1015;
  --brand-soft:   #FDF4F4;
  --brand-line:   #EFD3D3;
  --pom:          #C8161D;   /* 石榴符号统一为正红（形状保留） */
  --pom-soft:     #FDF4F4;
  --radius:       0px;       /* 直角制式 */
  --radius-sm:    0px;
  --bg:           #FFFFFF;
  --bg-2:         #F4F5F6;
  --font-title:   "华文中宋", "STZhongsong", "方正小标宋简体", "Source Han Serif SC", "Noto Serif SC", "宋体", SimSun, serif;
  --hero-ar:      2 / 1;     /* 首页主视觉大图原始宽高比（1920×960）：决定 .hero--photo 高度，换来「整图不裁切」 */
}
/* 14.1 主导航：整条红底白字，选中项金底深红字，导航下沿 3px 金线 */
.nav { background: #BE151B; border-bottom: 3px solid var(--dz-gold-deep); }
.nav a { color: #fff; border-bottom: 0; margin-bottom: 0; letter-spacing: 1px; }
.nav a:hover { background: var(--dz-red-lit); color: #fff; }
.nav a.is-active { background: var(--dz-gold); color: var(--dz-red-deep); }
/* 14.2 头部：站名文字已删（2026-09-20 用户意见），头部 = 红底金线通栏（校徽嵌入 ＋ 标语）
   通栏内标语用宋体／华文中宋，与全站党政风制式一致 */
.banner-bar__slogan { font-family: var(--font-title); }
/* 14.3 栏目条：标题改「红底白字」方块 + 条下 1px 红线；石榴点转金；英文副标隐藏 */
.sec-h { align-items: center; border-bottom: 1px solid var(--brand-line); padding-bottom: 8px; }
.sec-h__t { background: var(--dz-red); color: #fff; font-family: var(--font-title);
  font-size: 21px; line-height: 1.15; padding: 7px 16px; letter-spacing: 2px; }
.sec-h__mark { display: none; }
.sec-h__en { display: none; }   /* 党政风不用英文副标：要恢复，删掉本行即可 */
.sec-h .pom-dot { background: radial-gradient(circle at 32% 28%, #F5E3B4 0 32%, var(--dz-gold) 60%, var(--dz-gold-deep) 100%); }
/* 14.4 「更多 >>」：红底白字直角小按钮 */
.sec-h__more { background: var(--dz-red); color: #fff; font-size: 13px; font-weight: 700;
  padding: 5px 12px; letter-spacing: 1px; }
.sec-h__more:hover { background: var(--dz-red-deep); color: #fff; }
/* 14.5 卡片：直角 + 1px 线框 + 顶部 3px 红条；hover 只变红边（党政风不用位移/阴影） */
.card, .tile, .mcard, .list-card, .panel, .lead { box-shadow: none; border-color: #E3E5E8; border-top: 3px solid var(--dz-red); }
.card:hover, .tile:hover, .mcard:hover { box-shadow: none; border-color: var(--dz-red); }
.mcard__type { border-radius: 0; }
/* 14.6 列表项：红色小方块项目符 */
.list li::before, .flash__list li::before { content: "■"; flex: none; color: var(--dz-red);
  font-size: 8px; font-family: Arial, Helvetica, sans-serif; }
/* 14.7 标题族：宋体系（主视觉大标题 / 头条 / 要闻 / 正文页标题 / 分组小标题） */
.hero__title, .lead__t, .flash__t, .art__t, .grp-h__t { font-family: var(--font-title); }
/* 14.8 主视觉：蒙版加深（红黑），下沿 3px 金线收边 */
/* （删除此处对 .hero--photo::before 的重复覆盖：它会盖掉 4c 里调轻的蒙版，导致照片看不出换图） */
.hero--photo { border-bottom: 3px solid var(--dz-gold-deep); }
/* 14.9 内容页正文：宋体 + 2.0 行距（党报/公文观感） */
.art__body { font-family: "宋体", SimSun, serif; font-size: 17.5px; line-height: 2.0; }
/* 14.10 页脚：红底通栏 + 上沿 3px 金线（共产党员网/中央民大双证） */
.foot { background: linear-gradient(180deg, var(--dz-red) 0%, var(--dz-red-deep) 100%);
  color: rgba(255, 255, 255, .88); border-top: 3px solid var(--dz-gold-deep); }
.foot a:hover { color: var(--dz-gold); }
.foot__line { background: rgba(255, 255, 255, .24); }
.foot__copy { color: rgba(255, 255, 255, .78); }
.pom-row { color: var(--dz-gold); }
/* 14.11 快速入口：金点→正红方块 */
.quick a::before { border-radius: 0; background: var(--dz-red); }
/* 14.12 正文页返回按钮：直角 */
.art__back a { border-radius: 0; }
/* 14.14 栏目页「栏目标题带」（简化主视觉）：改正红底 + 下沿金线，与首页红通栏呼应 */
.hero--slim { background: linear-gradient(135deg, #9A1015 0%, #C8161D 55%, #9A1015 100%); border-bottom: 3px solid var(--dz-gold-deep); }
.hero--slim .hero__title { font-family: var(--font-title); letter-spacing: 3px; }
/* 14.15 平台「网站导航」组件输出兼容（组件只出 <li>，<div class="wp"><ul> 由页面模板/容器提供；
   静态稿是 .wp 直挂扁平 <a>，两态都要能横向排；本站导航只做一级，二级走栏目页） */
.nav .wp > ul { display: flex; align-items: stretch; justify-content: center; width: 100%; margin: 0; padding: 0; list-style: none; }
.nav .wp > li { display: block; margin: 0; padding: 0; list-style: none; }   /* 组件常无 <ul> 包裹，li 直挂 .wp */
.nav .wp > ul > li { display: block; margin: 0; padding: 0; }
.nav .wp > ul > li > h3 { margin: 0; padding: 0; font-size: inherit; font-weight: inherit; }
.nav .wp > ul ul { display: none; }
.nav a[aria-current="page"] { font-weight: 700; }
/* 14.13 窄屏微调（覆盖前面 640 断点里的字号） */
@media (max-width: 640px) {
  .sec-h__t { font-size: 18px; padding: 6px 12px; }
  .art__body { font-size: 16.5px; }
  .nav a.is-active { background: var(--dz-gold); color: var(--dz-red-deep); }
}

/* ≤430：手机窄屏再降一档字号，标语仍保持「一句一行」 */
@media (max-width: 430px) {
  .banner-bar__slogan { font-size: 20px; letter-spacing: 0; gap: 6px 8px; }
  .banner-bar__sep { height: 12px; }
}

/* ≤640：主视觉指示器靠左（窄屏居中显得挤） */
@media (max-width: 640px) {
  .hero__dots { left: 18px; transform: none; bottom: 24px; gap: 8px; }
  .hero__dot { width: 18px; }
  .hero__dot.is-on { width: 28px; }
}