@charset "UTF-8";
.slideshow {
    height: 400px;
    object-fit: cover;
}

/* ===== 导航栏「注册 / 登录」与最后一个菜单项的间距 =====
   现象：桌面端最后一个菜单项「安全综治」和后面的「注册 / 登录」几乎贴在一起，
   而其他菜单项之间都有正常间距。
   根因：aoyun.css 第 29~33 行给 .nav-link 左右各 1.2rem padding，
        相邻菜单项之间的视觉间距是 1.2 + 1.2 = 2.4rem；
        但「注册 / 登录」所在的 <span class="navbar-text"> 在 <ul class="navbar-nav">
        之外，Bootstrap 只给它上下 padding、没有左侧间距，
        所以那里只有「安全综治」自己的 1.2rem，正好是别处的一半。
   处理：补一个 1.2rem 左 padding，让它也达到 2.4rem。
        只在 lg 断点以上生效，移动端折叠菜单里是纵向排列，不需要这个间距。 */
@media (min-width: 992px) {
    .navbar-expand-lg .navbar-text {
        padding-left: 1.2rem;
    }
}

/* ===== 首页「图片新闻」part1 大图盒 =====
   老站 skin/css/style.css 里 .part1 .box1 .img 固定高 25rem，里面的图片只写了 width:100%，
   老站喂的是 700x380 的缩略图，所以高度刚好接近 25rem（不溢出盒子）。
   新站前台列表的 ico 字段指向的是原图（生产机上的素材也是原图），
   只写 width:100% 会按原图比例把高度撑到远超 25rem，图片会溢出到下面的文字列表上。
   这里补 height + object-fit，让它填满盒子，视觉效果与老站的缩略图一致。 */
.part1 .box1 .img img {
    width: 100%;
    height: 25rem;
    object-fit: cover;
}

/* ===== 分页数字条 =====
   老站 .page ul li 每个页码是独立的浮动 li，边框挂在各自的 a 上（.page a{border:1px solid #ccc}），
   老站 body 字号 14px，所以页码数字也是 14px。
   PbootCMS 的 numbar 是一条 a 串，被包在同一个 li 里，a 之间还夹着 HTML 空白字符，
   数字块之间会比老站多出几个像素的缝。
   这里用 font-size:0 消掉空白缝，再把数字字号还原成老站的 14px。 */
.page ul li.page-numbar {
    font-size: 0;
}

.page ul li.page-numbar a {
    font-size: 14px;
    vertical-align: top;
}

/* ===== 顶部荣誉条单行适配 =====
   现象：7 条荣誉称号在 1366 / 1280 宽的屏幕上会掉到第二行，
   而 .header_top 是固定 height: 2.5rem（40px），第二行直接溢出到蓝条外面。
   实测（Chrome 无头测量 .header_top .zc_lj）：
     内容自然宽度 1381px，而可用宽度 = 视口 - 2×4.125rem = 视口 - 115.5px，
     所以需要视口 ≥ 1497px 才能单行 —— 常见笔记本 1366/1440 全部中招。
   处理：字号 14→12px、图标左间距 20→10px，内容宽降到约 1110px，
        1280 宽也能单行放下（可用 1227px）。
        加 white-space: nowrap 兜底：万一再窄，宁可右侧被裁也不掉行，
        因为掉行会溢出蓝条压到导航上，比裁掉更难看得多。
   如果嫌 12px 小，备选方案见下面注释。 */
.header_top .zc_lj {
    display: flex;
    align-items: center;
    gap: 18px;
    max-width: calc(100% - 120px);
    height: 2.5rem;
    overflow: hidden;
    white-space: nowrap;
    font-size: 13px;
}

.header_top .zc_lj .welcome-copy {
    flex: 0 0 auto;
    color: #fff;
    font-weight: 500;
    letter-spacing: 0.02em;
}

.header_top .zc_lj .honor-rotator {
    position: relative;
    display: inline-block;
    width: 260px;
    height: 2.5rem;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.78);
}

.header_top .zc_lj .honor-slide {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    opacity: 0;
    transform: translateY(6px);
    animation: school-honor-fade 12s ease-in-out infinite;
}

.header_top .zc_lj .honor-slide::before {
    content: "✦";
    margin-right: 7px;
    color: #ffcf66;
    font-size: 11px;
}

.header_top .zc_lj .honor-slide:nth-child(1) { animation-delay: 0s; }
.header_top .zc_lj .honor-slide:nth-child(2) { animation-delay: 4s; }
.header_top .zc_lj .honor-slide:nth-child(3) { animation-delay: 8s; }

@keyframes school-honor-fade {
    0%, 27% { opacity: 1; transform: translateY(0); }
    33%, 94% { opacity: 0; transform: translateY(-6px); }
    100% { opacity: 0; transform: translateY(6px); }
}

@media (prefers-reduced-motion: reduce) {
    .header_top .zc_lj .honor-slide {
        animation: none;
        opacity: 0;
        transform: none;
    }
    .header_top .zc_lj .honor-slide:first-child { opacity: 1; }
}

@media (max-width: 767px) {
    .header_top .zc_lj {
        display: none;
    }
}

/* 备选方案（想换效果时把上面那段注释掉、放开对应的即可）：
   B. 跑马灯滚动 —— 零信息损失，任何宽度都放得下：
      .header_top .zc_lj { white-space: nowrap; overflow: hidden; }
      .header_top .zc_lj span.scroll { display:inline-block; padding-left:100%;
          animation: zc-scroll 30s linear infinite; }
      @keyframes zc-scroll { to { transform: translateX(-100%); } }
      （需要把 7 条荣誉用一个 <span class="scroll"> 包起来）
   C. 精简条目 —— 去掉「安徽省未成年人思想道德建设示范学校」这一条最长的，
      内容宽约 1110px，字号可以保持 14px 不变。
   D. 窄屏分级显示 —— 给每条加 class，@media 断点里逐级 display:none。 */

/* ===== 前台主导航悬停下拉 =====
   老站原样式是「一列纯白链接块」：.sub a{background:#fff;color:#666}，
   压在深色/透明头部下面，和整站视觉完全脱节，看着很生硬。
   这里改成与导航 hover 同色系的深蓝玻璃面板：
     · 深蓝渐变底 + 细描边 + 柔和投影 + 圆角
     · 顶部一个小三角，指向当前一级菜单
     · 菜单项文字转白，hover 时浅色叠加 + 左侧缩进，读起来更顺
   两种头部状态（顶部透明版 / 滚动上浮白色版）共用同一套，
   所以下面用了 !important 覆盖 yc_gd_dh 里写死的白色底。
   回滚：注释掉本段即可。 */

#nav ul li .sub {
    min-width: 172px;
    padding: 8px;
    background: linear-gradient(180deg, rgba(10, 48, 104, 0.97) 0%, rgba(6, 33, 75, 0.97) 100%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 12px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.32), 0 2px 8px rgba(0, 0, 0, 0.2);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
}

/* 指向一级菜单的小三角 */
#nav ul li .sub::before {
    content: "";
    position: absolute;
    top: -6px;
    left: 50%;
    width: 12px;
    height: 12px;
    margin-left: -6px;
    background: rgba(10, 48, 104, 0.97);
    border-left: 1px solid rgba(255, 255, 255, 0.14);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 2px;
    transform: rotate(45deg);
}

#nav ul li .sub .box {
    padding: 0;
    text-align: left;
}

#nav ul li .sub a,
.yc_gd_dh #nav ul li .sub a {
    display: block;
    background: transparent !important;
    color: rgba(255, 255, 255, 0.82);
    font-size: 14px;
    line-height: 1.5;
    padding: 9px 16px;
    border-radius: 8px;
    text-align: left;
    transition: background-color 0.18s ease, color 0.18s ease, padding-left 0.18s ease;
}

#nav ul li .sub a:hover,
.yc_gd_dh #nav ul li .sub a:hover {
    background: rgba(255, 255, 255, 0.14) !important;
    color: #fff;
    padding-left: 22px;
}

/* ===== 首页滚动吸顶导航（.yc_gd_dh）=====
   现象：首页往下滚到一半，顶部会滑下来一条「纯白 + logo」的吸顶导航。
   老站给它写死了 .yc_gd_dh .head_bottom{background:#fff}，
   这条白带和上方透明深色头部、和整站的深蓝主色都不连贯，很突兀。
   处理：改成品牌蓝玻璃条 —— 深蓝渐变 + 背景模糊 + 底部细亮线 + 柔和投影，
        导航文字改回白色，hover 用白色半透明叠加（原来配的蓝色在蓝底上会消失）。
   logo 是带透明通道的 PNG，深色底上不会出现白方块。
   回滚：把下面整段注释掉即可，也可改用文末注释里的「磨砂白」备选方案。 */

.yc_gd_dh .head_bottom {
    background: linear-gradient(100deg, rgba(5, 38, 84, 0.96) 0%, rgba(9, 72, 154, 0.96) 52%, rgba(5, 44, 96, 0.96) 100%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.28);
    -webkit-backdrop-filter: blur(14px) saturate(120%);
    backdrop-filter: blur(14px) saturate(120%);
}

.yc_gd_dh #nav ul li h3 {
    color: rgba(255, 255, 255, 0.92);
}

.yc_gd_dh #nav ul li.on h3,
.yc_gd_dh #nav ul li:hover h3 {
    color: #fff;
}

.yc_gd_dh #nav ul li:hover a {
    background: rgba(255, 255, 255, 0.14);
}

.yc_gd_dh #nav .search_btn {
    color: #fff;
}

/* 返回顶部按钮同步提亮，避免落在蓝条上发灰 */
.yc_gd_dh .BackToTop {
    color: #fff;
}

/* 备选方案（想要「磨砂白」而不是深蓝时，把上面 .yc_gd_dh .head_bottom 那段换成这组）：
   .yc_gd_dh .head_bottom {
       background: rgba(255, 255, 255, 0.82);
       border-bottom: 1px solid rgba(15, 42, 84, 0.08);
       box-shadow: 0 8px 24px rgba(15, 42, 84, 0.12);
       -webkit-backdrop-filter: blur(16px) saturate(150%);
       backdrop-filter: blur(16px) saturate(150%);
   }
   /* 用这组时，导航文字保持原有 #000，上面三条白色文字规则要一并注释掉 */

/* ===== 页脚（深蓝 / 蓝黑）=====
   结构参考 ahszu 页脚的三段式：左品牌 → 中联系方式 → 右二维码，底部版权带。
   配色用深蓝到蓝黑的渐变，替代原来的白底 + 白底二维码块，
   与顶部透明深色头部、吸顶蓝条形成一套视觉。
   回滚：删掉本段 + foot.html 的 .site-foot 结构即可。 */

.site-foot {
    background: linear-gradient(180deg, #0b1f38 0%, #071427 100%);
    color: #b9c7da;
    font-size: 14px;
}

.site-foot a {
    color: #8fa7c4;
    text-decoration: none;
    transition: color 0.2s ease;
}

.site-foot a:hover {
    color: #fff;
}

.site-foot .w1360 {
    box-sizing: border-box;
}

/* 上段：品牌 / 联系 / 二维码 */
.ft-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 56px;
    padding: 56px 0 40px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ft-brand {
    flex: none;
    max-width: 640px;
}

.ft-brand img {
    max-height: 64px;
    margin-bottom: 18px;
}

.ft-brand h3 {
    margin: 0 0 10px;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 1px;
    line-height: 1.5;
}

.ft-brand p {
    margin: 0;
    color: #8ea3bd;
    font-size: 13px;
    line-height: 1.9;
    white-space: nowrap;
}

.ft-contact {
    flex: 1;
    padding-top: 2px;
}

.ft-title {
    position: relative;
    margin: 0 0 20px;
    padding-left: 12px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.ft-title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 16px;
    margin-top: -8px;
    border-radius: 2px;
    background: #2f7fe0;
}

.ft-contact p {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 12px;
    line-height: 1.8;
}

.ft-contact i {
    color: #2f7fe0;
    font-size: 16px;
    line-height: 1.8;
}

.ft-qr {
    flex: none;
    display: flex;
    gap: 28px;
}

.qr-item {
    text-align: center;
}

.qr-item img {
    display: block;
    width: 110px;
    height: 110px;
    padding: 6px;
    margin-bottom: 10px;
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;
}

.qr-item span {
    color: #9fb3cc;
    font-size: 13px;
}

/* 中段：友情链接 */
.ft-links {
    display: flex;
    align-items: baseline;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ft-links .lb {
    flex: none;
    color: #fff;
    font-size: 14px;
}

.ft-links ul {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 22px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ft-links li {
    line-height: 1.8;
}

.ft-links li a {
    font-size: 13px;
}

/* 下段：版权 + 备案 */
.ft-bottom {
    background: rgba(0, 0, 0, 0.28);
    padding: 18px 0;
    font-size: 13px;
    color: #7f93ab;
}

.ft-bottom .w1360 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 24px;
}

.ft-bottom p {
    margin: 0;
    line-height: 1.8;
}

.ft-bottom a {
    color: #8fa7c4;
}

.ft-bottom a + a {
    margin-left: 12px;
}

@media (max-width: 1440px) {
    .ft-top {
        gap: 40px;
    }
}

@media (max-width: 1000px) {
    .ft-top {
        flex-direction: column;
        gap: 28px;
        padding: 36px 0 28px;
    }

    .ft-brand,
    .ft-qr {
        width: 100%;
        max-width: 100%;
    }

    /* 窄屏放不下就允许折行，否则会溢出 */
    .ft-brand p {
        white-space: normal;
    }

    .ft-links {
        flex-direction: column;
        gap: 10px;
    }

    .ft-bottom .w1360 {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* ============================================================
   首页设计系统（统一令牌 + 组件统一）
   只覆盖，不改 skin/css/style.css 原文件；删掉本段即回到旧观感。
   ============================================================ */

:root {
    --pri: #0b63d6;
    --accent: #ffba00;
    --ink: #12233d;
    --muted: #6b7280;
    --soft: #f5f9ff;
    --line: #e3eaf3;
    --radius: 12px;
    --radius-sm: 8px;
    --shadow: 0 8px 24px rgba(15, 42, 84, 0.08);
    --shadow-hover: 0 14px 32px rgba(15, 42, 84, 0.14);
    --ease: 0.25s ease;
    --section-y: 96px;
}

body {
    font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", "Helvetica Neue", Arial, sans-serif;
    color: var(--ink);
}

/* 区块上下节奏统一 */
.part1,
.part234,
.part7 {
    padding: var(--section-y) 0;
}

/* 栏目标题：原为 151×36 的 PNG，现改文字，高清且可随内容变化 */
.tit_sy {
    margin-bottom: 48px;
}

.tit_sy p,
.tit_sy p a {
    font-size: 26px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: 1px;
    text-decoration: none;
    line-height: 1.3;
}

.tit_sy p a {
    transition: color var(--ease);
}

.tit_sy p a:hover {
    color: var(--pri);
}

/* 通知公告 / 重要转载是左右并排的两个标题，字号略小 */
.part2 .tit_sy p,
.part2 .tit_sy p a {
    font-size: 22px;
}

/* 图片新闻：左侧大图圆角 */
.part1 .box1 .img {
    border-radius: var(--radius);
    overflow: hidden;
}

/* 图片新闻：右侧四张小卡 */
.part1 .box2 a::after {
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    transition: all var(--ease);
}

.part1 .box2 a:hover::after {
    background: var(--pri);
    box-shadow: var(--shadow-hover);
}

.part1 .box2 .sj {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-sm);
    background: var(--pri);
    transition: all var(--ease);
}

.part1 .box2 .bt {
    color: var(--ink);
    transition: all var(--ease);
}

/* 通知公告 / 重要转载：列表卡片 */
.part2 .box_out ul li {
    border-radius: var(--radius);
    background: var(--soft);
    border: 1px solid var(--line);
    transition: all var(--ease);
}

.part2 .box_out ul li:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
}

.part2 .box_out ul li .sj {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-sm);
    background: var(--pri);
}

.part2 .box_out ul li .con .bt {
    color: var(--ink);
}

.part2 .box_out ul li:hover .con .bt {
    color: var(--pri);
}

.part2 .box_out ul li .con .zy {
    color: var(--muted);
}

/* ============================================================
   首页专题栏目（part7）卡片
   原来专题封面图没迁过来，模板用浅蓝文字块兜底，视觉上最弱。
   这里改成渐变卡片 + 序号 + 柔光，四种配色轮换，hover 上浮。
   选择器带上 a.sp-card，是为了压过 style.css 里
   `.part7 .part7_lb .swiper-slide a{display:block}` 的优先级。
   ============================================================ */

.part7_lb {
    counter-reset: sp;
}

.part7_lb .swiper-slide {
    counter-increment: sp;
    height: auto;
}

.part7 .part7_lb .swiper-slide a.sp-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    min-height: 200px;
    padding: 22px;
    border-radius: var(--radius);
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    background: linear-gradient(135deg, #0b63d6 0%, #063a80 100%);
    box-shadow: var(--shadow);
    transition: all var(--ease);
}

/* 右上柔光，避免纯色块发闷 */
.part7 .part7_lb .swiper-slide a.sp-card::before {
    content: "";
    position: absolute;
    right: -60px;
    top: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}

/* 右上角序号 */
.part7 .part7_lb .swiper-slide a.sp-card::after {
    content: counter(sp, decimal-leading-zero);
    position: absolute;
    top: 18px;
    right: 20px;
    font-size: 13px;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.6);
}

.part7 .part7_lb .swiper-slide a.sp-card .sp-name {
    position: relative;
    z-index: 1;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 1px;
    text-align: left;
}

.part7 .part7_lb .swiper-slide a.sp-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-hover);
}

/* 四种配色轮换 */
.part7_lb .swiper-slide:nth-child(4n + 1) a.sp-card {
    background: linear-gradient(135deg, #0b63d6, #063a80);
}

.part7_lb .swiper-slide:nth-child(4n + 2) a.sp-card {
    background: linear-gradient(135deg, #107e74, #084b45);
}

.part7_lb .swiper-slide:nth-child(4n + 3) a.sp-card {
    background: linear-gradient(135deg, #b7791f, #7c4d0e);
}

.part7_lb .swiper-slide:nth-child(4n + 4) a.sp-card {
    background: linear-gradient(135deg, #3b4a63, #1d2635);
}

@media (max-width: 750px) {
    .part7 .part7_lb .swiper-slide a.sp-card {
        min-height: 160px;
        padding: 18px;
    }

    .part7 .part7_lb .swiper-slide a.sp-card .sp-name {
        font-size: 17px;
    }
}

/* ============================================================
   首页细节打磨（三处）
   1) 图片新闻大图缺图时的渐变兜底
   2) 首屏 banner 底部暗角改用 CSS 渐变（替掉 100KB 的 PNG 遮罩）
   3) 轮播指示点由圆点改成细横条
   ============================================================ */

/* 1) 大图兜底：图片没加载/缺失时至少是柔和渐变，不是白块 */
.part1 .box1 .img {
    background: linear-gradient(135deg, #e6effb 0%, #c9dcf4 100%);
}

/* 2) 首屏底部暗角：更平滑，且少一个 ~100KB 的图片请求 */
.banner .swiper-slide a::after {
    height: 45%;
    background: linear-gradient(180deg, rgba(4, 16, 34, 0) 0%, rgba(4, 16, 34, 0.6) 100%);
    background-size: auto;
}

/* 3) 指示点：细横条，激活态拉长 */
.banner .swiper-pagination span {
    width: 26px;
    height: 4px;
    margin: 0 4px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.45);
    opacity: 1;
    transition: all var(--ease);
}

.banner .swiper-pagination span.swiper-pagination-bullet-active {
    width: 44px;
    background: #fff;
}

/* ============================================================
   内页统一：详情页 + 列表页 + 分页
   与首页共用同一套令牌（颜色/圆角/阴影/节奏）。
   全部是覆盖规则，删掉本段即回到旧观感。
   ============================================================ */

/* ---------- 面包屑 ---------- */
.dqwz {
    font-size: 13.5px;
    color: var(--muted);
    padding: 14px 0 18px;
}

.dqwz a {
    color: var(--muted);
    transition: color var(--ease);
}

.dqwz a:hover {
    color: var(--pri);
}

/* ---------- 详情页 ---------- */
.ej_nry .bt {
    font-size: 30px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.5;
    letter-spacing: 0.5px;
}

.ej_nry .xx {
    font-size: 13.5px;
    color: var(--muted);
    padding: 16px 0 24px;
    line-height: 1.9;
}

.ej_nry .xx i {
    color: var(--pri);
    margin-right: 4px;
}

.ej_nry .con {
    border-top: 1px solid var(--line);
    padding-top: 24px;
}

.ej_nry .con p,
.ej_nry #vsb_content_2.con p {
    font-size: 16.5px;
    color: #2b3648;
    line-height: 1.9;
    margin-bottom: 14px;
}

/* 中文正文首行缩进 */
.ej_nry #vsb_content.con p {
    text-indent: 2em;
}

.ej_nry .con img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 18px auto;
    border-radius: 8px;
}

.ej_nry .con a {
    color: var(--pri);
}

.ej_nry .con blockquote {
    margin: 18px 0;
    padding: 14px 18px;
    border-left: 3px solid var(--pri);
    background: var(--soft);
    border-radius: 0 8px 8px 0;
    color: #41506a;
}

.ej_nry .con table {
    width: 100%;
    border-collapse: collapse;
    margin: 18px 0;
    font-size: 15px;
}

.ej_nry .con th,
.ej_nry .con td {
    border: 1px solid var(--line);
    padding: 10px 12px;
}

.ej_nry .con th {
    background: var(--soft);
}

/* 上一篇 / 下一篇 */
.ej_nry .fanpian {
    padding: 22px 0;
    margin-top: 8px;
    border-top: 1px solid var(--line);
}

.ej_nry .fanpian p {
    margin: 0 0 10px;
    font-size: 14.5px;
    line-height: 1.8;
    color: var(--muted);
}

.ej_nry .fanpian strong {
    color: var(--ink);
    font-weight: 600;
    margin-right: 6px;
}

.ej_nry .fanpian a {
    display: inline;
    color: #41506a;
    transition: color var(--ease);
}

.ej_nry .fanpian a:hover {
    color: var(--pri);
}

/* ---------- 列表页 ---------- */
.ej_list_tt ul li {
    margin-bottom: 12px;
    border-bottom: 0;
    border-radius: var(--radius);
    overflow: hidden;
}

.ej_list_tt ul li a {
    padding: 18px 20px;
    border-radius: var(--radius);
    transition: all var(--ease);
}

.ej_list_tt ul li a:hover {
    background: var(--soft);
    box-shadow: var(--shadow);
    transform: translateY(-2px);
}

/* 左侧日期块 */
.ej_list_tt ul li .sj {
    width: 60px;
    height: 64px;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: var(--soft);
    border-radius: 8px;
    transition: all var(--ease);
}

.ej_list_tt ul li .sj p {
    width: 40px;
    margin: 0 auto;
    font-size: 22px;
    line-height: 30px;
    color: var(--pri);
    border-bottom: 1px solid var(--line);
}

.ej_list_tt ul li .sj span {
    font-size: 12px;
    color: var(--muted);
}

.ej_list_tt ul li a:hover .sj {
    background: var(--pri);
}

.ej_list_tt ul li a:hover .sj p {
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, 0.4);
}

.ej_list_tt ul li a:hover .sj span {
    color: rgba(255, 255, 255, 0.85);
}

/* 缩略图与文字 */
.ej_list_tt ul li .ri .img img {
    border-radius: 8px;
}

.ej_list_tt ul li .ri .con .bt {
    font-size: 17px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.6;
    margin-bottom: 8px;
    transition: color var(--ease);
}

.ej_list_tt ul li a:hover .con .bt {
    color: var(--pri);
}

.ej_list_tt ul li .ri .con .zy {
    font-size: 13.5px;
    color: var(--muted);
    line-height: 1.8;
}

.ej_list_tt ul li a:hover .con .zy {
    color: var(--muted);
}

/* ============================================================
   2026-10-29：栏目列表页统一取消「标题前缩略图」
   模板已经去掉 .ri > .img 这一层，这里把 .con 从 style.css 的
   width:68%（给缩略图留的 29.24%）改成整行，避免右侧空出一大块。
   .ri 仍是 flex（style.css:1549），只留一个子元素时 justify-content:
   space-between 会把它顶到左边，但显式写 flex-start 更稳。
   同时保留 min-width:0，长标题/长摘要不会把 flex 行撑破。
   ============================================================ */
.ej_list_tt ul li .ri {
    justify-content: flex-start;
}

.ej_list_tt ul li .ri .con {
    width: 100%;
    flex: 1;
    min-width: 0;
}

/* 手机端：老站 style.css:1568 的 @media(max-width:650px) 把日期块 absolute 到缩略图上
   （原来的设计是「图占满一行、日期压在图上、日期用金黄色」）。
   列表页已经没有缩略图了，若不覆盖，日期块会浮在标题上面把文字挡住，
   所以这里让它回到正常流，并把压在图上才用的金黄色改回本套配色。 */
@media (max-width: 650px) {
    .ej_list_tt ul li a {
        align-items: flex-start;
        padding: 16px 14px;
    }

    .ej_list_tt ul li .sj {
        position: static;
        top: auto;
        left: auto;
        width: 56px;
        height: 60px;
        margin-top: 0;
        flex: 0 0 56px;
    }

    .ej_list_tt ul li a .sj p {
        width: 38px;
        font-size: 20px;
        line-height: 26px;
        color: var(--pri);
        border-bottom: 1px solid var(--line);
    }

    .ej_list_tt ul li a .sj span {
        font-size: 11px;
        color: var(--muted);
    }

    .ej_list_tt ul li .ri {
        width: calc(100% - 68px);
    }

    .ej_list_tt ul li .ri .con {
        width: 100%;
    }
}

/* 现任领导列表：图与文字的间距统一 */
.list_lead ul li .ri .img img {
    border-radius: 8px;
}

/* ---------- 分页 ---------- */
.page {
    margin-top: 28px;
}

.page ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    padding: 0;
}

.page ul li {
    float: none;
    min-width: 36px;
    height: 36px;
    line-height: 34px;
}

.page a {
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--muted);
    font-family: inherit;
    transition: all var(--ease);
}

.page ul li:first-child a {
    border-left: 1px solid var(--line);
}

.page ul li a:hover {
    background: var(--pri);
    border-color: var(--pri);
    color: #fff;
}

.page .active a {
    background: var(--pri);
    border-color: var(--pri);
    color: #fff;
}

.page .disabled a:hover {
    background: transparent;
    border-color: var(--line);
    color: var(--muted);
}

/* ============================================================
   页脚结构优化（第二轮）
   去掉 logo 和地址后左右太空，补一列「快速导航」撑住版面，
   并在顶部加一条渐隐的品牌色细线。
   ============================================================ */

.site-foot::before {
    content: "";
    display: block;
    height: 3px;
    background: linear-gradient(90deg, #0b63d6 0%, rgba(11, 99, 214, 0) 65%);
}

.site-foot .ft-top {
    gap: 56px;
    padding: 64px 0 44px;
}

.site-foot .ft-brand {
    flex: 1;
    min-width: 0;
    max-width: none;
}

.site-foot .ft-brand h3 {
    font-size: 26px;
    letter-spacing: 1px;
    margin-bottom: 14px;
}

.site-foot .ft-brand p {
    white-space: normal;
    max-width: 560px;
    line-height: 1.9;
}

/* 快速导航 */
.ft-nav {
    flex: none;
    width: 340px;
}

.ft-nav .ft-title {
    margin-bottom: 18px;
}

.ft-nav ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ft-nav li {
    line-height: 1.8;
}

.ft-nav li a {
    font-size: 14px;
    color: #b9c7da;
    transition: color var(--ease);
}

.ft-nav li a:hover {
    color: #fff;
}

@media (max-width: 1000px) {
    .ft-nav {
        width: 100%;
    }
}

/* ============================================================
   第三轮微调
   1) 专题栏目与上方栏目间距收窄
   2) 栏目标题装饰：去掉 PNG 底图，改短横线
   3) 页脚整体颜色调浅
   4) 品牌区校训行
   ============================================================ */

/* 1) 间距：原来是 96 + 96 = 192px，现在 32 + 48 = 80px */
.part234 {
    padding: 96px 0 32px;
}

.part7 {
    padding: 48px 0 96px;
}

/* 2) 标题装饰：去掉虚底图，换成品牌色短横线 */
.part1 .tit_sy,
.part7 .tit_sy {
    background: none;
    padding-bottom: 0;
}

.part1 .tit_sy p,
.part7 .tit_sy p {
    padding-bottom: 16px;
}

.part1 .tit_sy p::after,
.part7 .tit_sy p::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 36px;
    height: 3px;
    margin-left: -18px;
    border-radius: 2px;
    background: linear-gradient(90deg, #0b63d6, #5aa0ff);
    opacity: 1;
}

/* 3) 页脚整体调浅：从近黑蓝改成中深蓝 */
.site-foot {
    background: linear-gradient(180deg, #17395f 0%, #0f2645 100%);
    color: #cfdbe9;
}

.site-foot .ft-brand p {
    color: #a9bdd3;
}

.ft-bottom {
    background: rgba(255, 255, 255, 0.05);
    color: #9db2c8;
}

.ft-links li a,
.ft-nav li a {
    color: #b3c6db;
}

/* 4) 校训行 */
.site-foot .ft-brand .ft-motto {
    margin-top: 12px;
    color: #ffcf6b;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 6px;
}

/* ============================================================
   点睛色（--accent = #ffba00）
   全站只有蓝白会显得平，这里用金色只做三处小面积强调：
   1) 栏目标题下的短横线（蓝→金渐变）
   2) 通知公告 / 重要转载的激活标题（金色短线）
   3) 列表 hover 时的日期块
   ============================================================ */

.part1 .tit_sy p::after,
.part7 .tit_sy p::after {
    background: linear-gradient(90deg, #0b63d6 0%, #ffba00 100%);
}

/* 通知公告 / 重要转载：激活标题下方加一条金色短线 */
.part2 .tit_sy p.on {
    position: relative;
    padding-bottom: 10px;
}

.part2 .tit_sy p.on::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 26px;
    height: 3px;
    margin-left: 0;
    border-radius: 2px;
    background: var(--accent);
    opacity: 1;
}

/* 列表 hover：日期块转金色 */
.ej_list_tt ul li a:hover .sj {
    background: linear-gradient(180deg, #ffc61a 0%, #ffa800 100%);
}

.ej_list_tt ul li a:hover .sj p {
    color: #1f232b;
    border-bottom-color: rgba(0, 0, 0, 0.15);
}

.ej_list_tt ul li a:hover .sj span {
    color: rgba(0, 0, 0, 0.6);
}






/* 首页「通知公告 / 重要转载」卡片 hover：日期块同样转金色，与列表页一致 */
.part2 .box_out ul li:hover .sj {
    background: linear-gradient(180deg, #ffc61a 0%, #ffa800 100%);
}

.part2 .box_out ul li:hover .sj p {
    color: #1f232b;
    border-bottom-color: rgba(0, 0, 0, 0.15);
}

.part2 .box_out ul li:hover .sj span {
    color: rgba(0, 0, 0, 0.6);
}

/* ============================================================
   专题卡片配色（第二轮）
   原来是 4 色硬编码循环，5 张卡第 5 张又回到蓝，视觉重复。
   改成同一蓝色系五级明度：深 → 浅，第 1 到第 5 张逐级提亮，
   既保证 5 张互不相同，又不会像彩虹一样花。
   （用 5n+1..5n+5 而不是 1..5，是为了兼容 swiper loop 克隆出来的节点）
   ============================================================ */

.part7_lb .swiper-slide:nth-child(5n + 1) a.sp-card {
    background: linear-gradient(135deg, #072f5f 0%, #0a4680 100%);
}

.part7_lb .swiper-slide:nth-child(5n + 2) a.sp-card {
    background: linear-gradient(135deg, #0a3d78 0%, #0b5599 100%);
}

.part7_lb .swiper-slide:nth-child(5n + 3) a.sp-card {
    background: linear-gradient(135deg, #0b4c8c 0%, #0d65b8 100%);
}

.part7_lb .swiper-slide:nth-child(5n + 4) a.sp-card {
    background: linear-gradient(135deg, #0c5aa3 0%, #1f7bd6 100%);
}

.part7_lb .swiper-slide:nth-child(5n + 5) a.sp-card {
    background: linear-gradient(135deg, #0e67b5 0%, #2f8ce8 100%);
}

/* ============================================================
   第七轮：区块节奏 / 图片新闻配重 / 两栏主次 / 页脚二维码 / 卡片长标题
   ============================================================ */

/* 1) 同级别区块间距统一：上下各 72px（块间距 144px，不再一个 128 一个 80） */
.part1 {
    padding: 72px 0;
}

.part234 {
    padding: 72px 0;
}

.part7 {
    padding: 72px 0 88px;
}

/* 2) 图片新闻：大图 25rem → 18rem，右侧卡片同步压到 8.5rem，左右重量对齐 */
.part1 .box1 .img {
    height: 18rem;
}

.part1 .box2 a {
    height: 8.5rem;
}

.part1 .box2 .bt {
    font-size: 15px;
    line-height: 1.5;
}

/* 3) 通知公告 / 重要转载：用左侧色条建立主次 */
.part2-notice .tit_sy p {
    border-left: 4px solid var(--pri);
    padding-left: 12px;
}

.part2-forward .tit_sy p {
    border-left: 4px solid #d5dde8;
    padding-left: 12px;
}

.part2-forward .tit_sy p a {
    color: #7a8798;
}

/* 主次已由色条表达，取消原来的下划线装饰 */
.part2-notice .tit_sy p.on::after,
.part2-forward .tit_sy p.on::after {
    display: none;
}

/* 重要转载整体弱化一档 */
.part2-forward .box_out ul li {
    background: #fbfcfe;
}

.part2-forward .box_out ul li .sj {
    background: #eef2f7;
}

.part2-forward .box_out ul li .sj p {
    color: #64748b;
}

/* 4) 专题栏目「更多」：标题盒撑满，链接靠右不再悬空 */
.part7 .tit_sy {
    width: 100%;
}

.part7 .tit_sy a.more {
    right: 0;
    bottom: 0;
}

/* 5) 专题卡片长标题：字号降到 18px，最多两行 */
.part7 .part7_lb .swiper-slide a.sp-card .sp-name {
    font-size: 18px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 6) 页脚二维码：放大并垂直居中，不再孤零零 */
.site-foot .ft-qr {
    align-self: center;
}

.site-foot .ft-qr .qr-item img {
    width: 132px;
    height: 132px;
    padding: 8px;
}

.site-foot .ft-qr .qr-item span {
    font-size: 13px;
    letter-spacing: 1px;
}

@media (max-width: 1000px) {
    .site-foot .ft-qr {
        align-self: flex-start;
    }

    .site-foot .ft-qr .qr-item img {
        width: 110px;
        height: 110px;
    }
}

/* ===== 搜索入口（2026-10-28 改版）=====
   改前：
     1) 桌面顶栏（.header_top）里只有一个 25px 的放大镜图标，没文字、没边框，很不起眼；
     2) 滚动吸顶导航（.yc_gd_dh）里根本没有搜索入口 —— skin/css/style.css:90 的
        #nav .search_btn{display:none} 把导航里的搜索按钮全藏了；
     3) 移动端头部只有汉堡按钮，搜索框藏在滑出的抽屉里。
   改后：
     1) 顶栏图标 → 带边框的搜索胶囊（放大镜 + “搜索” 文字）；
     2) 吸顶导航右侧放出同一颗胶囊，滚动后也能一眼看到；
     3) 移动端头部单独加一颗圆形搜索按钮，点开同一个搜索弹窗；
     4) 弹窗 / 移动抽屉里的输入框提示改成「搜索新闻、公告、学校信息」。
   回滚：删掉本段，并把 comm/head.html 里 class 含 hd-search-pill、m_search_box 的两处还原。 */

/* --- 桌面搜索胶囊：顶栏版 ---
   .list_box0 .li>a 有 display:block / color:rgba(255,255,255,.7)，
   .search_btn 有 float:left，
   所以这里的选择器特意写到 0,3,1 才压得住。 */
.header_top .list_box0 .li > a.hd-search-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    float: none;
    height: 28px;
    margin: 0;
    padding: 0 13px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    line-height: 1;
    vertical-align: middle;
    transition: background-color .25s, border-color .25s;
}

.header_top .list_box0 .li > a.hd-search-pill i {
    font-size: 15px;
    line-height: 1;
}

.header_top .list_box0 .li > a.hd-search-pill .hd-search-pill__txt {
    font-size: 13px;
    letter-spacing: .06em;
    white-space: nowrap;
}

.header_top .list_box0 .li > a.hd-search-pill:hover,
.header_top .list_box0 .li > a.hd-search-pill:focus-visible {
    background: rgba(255, 255, 255, 0.24);
    border-color: #fff;
    color: #fff;
}

/* --- 桌面搜索胶囊：吸顶导航版 ---
   只在吸顶头（.yc_gd_dh）里放出来；首页顶部那层透明头已经在顶栏有胶囊了，不重复。
   宽度预算：8 个菜单约 854~877px，1280 宽下可用 1164px，加这颗约 96px 仍有余量。 */
.yc_gd_dh #nav > a.search_btn.hd-search-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    float: right;
    height: 32px;
    margin: 5px 0 0 16px;
    padding: 0 15px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.10);
    color: #fff;
    line-height: 1;
    transition: background-color .25s, border-color .25s;
}

.yc_gd_dh #nav > a.search_btn.hd-search-pill i {
    font-size: 15px;
    line-height: 1;
}

.yc_gd_dh #nav > a.search_btn.hd-search-pill .hd-search-pill__txt {
    font-size: 13px;
    letter-spacing: .06em;
    white-space: nowrap;
}

.yc_gd_dh #nav > a.search_btn.hd-search-pill:hover,
.yc_gd_dh #nav > a.search_btn.hd-search-pill:focus-visible {
    background: rgba(255, 255, 255, 0.22);
    border-color: #fff;
    color: #fff;
}

/* --- 移动端头部搜索按钮 ---
   DOM 顺序：logo（左浮动）→ #nav_btn_box（汉堡，最右）→ .m_search_box（搜索，汉堡左边）。
   浮动元素先出现的靠右，所以搜索盒写在汉堡之后，视觉上就排在汉堡左侧。 */
.m_header_box .m_search_box {
    display: flex;
    align-items: center;
    float: right;
    height: 60px;
    margin-left: 12px;
}

.m_header_box .m_search_box a.m_search_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    float: none;
    width: 36px;
    height: 36px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    line-height: 1;
    -webkit-tap-highlight-color: transparent;
}

.m_header_box .m_search_box a.m_search_btn i {
    font-size: 17px;
    line-height: 1;
}

.m_header_box .m_search_box a.m_search_btn:active {
    background: rgba(255, 255, 255, 0.3);
    border-color: #fff;
}

/* 移动端把 logo 宽度让出来：原 #m_header #logo 在 ≤800px 时写死 75%，加两颗按钮会挤爆 */
@media (max-width: 800px) {
    #m_header #logo {
        width: auto;
        max-width: 58%;
    }

    #m_header #logo .box_table {
        width: auto;
    }
}

/* --- 搜索弹窗外观 --- */
.search-dialog .search-input {
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 999px;
}

.search-dialog .search-input input[type=text]::placeholder {
    color: rgba(255, 255, 255, 0.72);
}

.search-dialog .search-input input[type=text]::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 0.72);
}

/* 手机上弹窗收窄、放高一点，避免被输入法顶到看不见 */
@media (max-width: 1200px) {
    .search-dialog-box {
        height: 14rem;
    }

    .search-dialog .search-input {
        width: 100%;
        max-width: 92%;
        padding: 0 0.5rem 0 1.2rem;
    }

    .search-dialog .search-input input[type=text] {
        height: 3.2rem;
        font-size: 1rem;
    }

    .search-dialog .search-input button {
        line-height: 3.2rem;
        font-size: 30px;
    }
}

/* ============================================================
   第八轮：新闻区信息密度 / 日期统一 / 公告卡片 / 关键内容色标
   1) 图片新闻从 10 条（上下两排）降到 5 条（1 大图 + 4 小卡），模板里去掉了重复的下排；
   2) 通知公告 / 重要转载：整块收成一张白卡，首条放大加粗做重点，其余为紧凑行；
   3) 日期全部统一成 YYYY-MM-DD，固定 88px 宽 + 等宽数字，列表不再左右跳；
   4) 招生 / 报名 / 考试 / 成绩 / 招聘 等关键词自动加彩色小标签（插入脚本在 index.html 末尾）。
   回滚：删掉本段 + index.html 末尾的色标脚本，并把列表模板还原。
   ============================================================ */

/* ---- 1) 日期列：一行完整日期，固定宽度，等宽数字 ---- */
.part1 .box2 .sj,
.part2 .box_out ul li .sj {
    float: none;
    display: block;
    flex: 0 0 auto;
    width: 88px;
    min-width: 88px;
    height: 26px;
    line-height: 26px;
    padding: 0;
    border-radius: 6px;
    background: #eaf2ff;
    color: var(--pri);
    font-size: 12.5px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: center;
    transition: all var(--ease);
}

/* 原来 .sj 里是「日 + 年-月」两行，现在只有一行完整日期 */
.part1 .box2 .sj p,
.part2 .box_out ul li .sj p {
    margin: 0;
    color: inherit;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 26px;
    font-variant-numeric: tabular-nums;
}

.part1 .box2 .sj span,
.part2 .box_out ul li .sj span {
    display: none;
}

/* 重要转载的日期弱化一档，不和通知公告抢视线 */
.part2-forward .box_out ul li .sj {
    background: #eef2f7;
}

.part2-forward .box_out ul li .sj p {
    color: #64748b;
}

/* hover 时日期块保持同一种表现，不再整行跳色 */
.part1 .box2 a:hover .sj,
.part2 .box_out ul li:hover .sj {
    background: var(--pri);
}

.part1 .box2 a:hover .sj p,
.part2 .box_out ul li:hover .sj p {
    color: #fff;
}

.part2-forward .box_out ul li:hover .sj {
    background: #dbe4ef;
}

.part2-forward .box_out ul li:hover .sj p {
    color: #3f4d60;
}

/* ---- 2) 图片新闻右侧小卡：白底铺满整卡，日期块当左标签 ---- */
.part1 .box2 a::after {
    left: 0;
    right: auto;
    width: 100%;
}

.part1 .box2 a {
    justify-content: flex-start;
    gap: 14px;
    padding-right: 12px;
}

.part1 .box2 .bt {
    width: auto;
    flex: 1;
    min-width: 0;
    padding-right: 0;
    font-size: 14.5px;
    line-height: 1.5;
}

/* ---- 3) 通知公告 / 重要转载：一张白卡 + 首条重点 + 紧凑行 ---- */
.part2 .box_out {
    padding: 0;
}

.part2 .box_out ul.box1 {
    padding: 6px 18px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 42, 84, 0.05);
}

.part2 .box_out ul li {
    margin: 0;
    border: 0;
    border-bottom: 1px solid #eef2f7;
    border-radius: 0;
    background: transparent;
}

.part2 .box_out ul li:last-child {
    border-bottom: 0;
}

.part2 .box_out ul li a {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 11px 0;
}

/* 原来是 clearfix 的伪元素，flex 下用不到 */
.part2 .box_out ul li a::after {
    display: none;
}

.part2 .box_out ul li .con {
    float: none;
    width: auto;
    flex: 1;
    min-width: 0;
    margin-top: 0;
}

.part2 .box_out ul li .con .bt {
    color: var(--ink);
    font-size: 14.5px;
    line-height: 1.5;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 首条 = 重点：左侧主色竖线 + 加大加粗标题 */
/* hover 只做轻微底色提亮，不再整行上浮 */
.part2 .box_out ul li:hover {
    background: #f7fbff;
    box-shadow: none;
    transform: none;
}

.part2-forward .box_out ul li:hover {
    background: #fafcff;
}

/* 手机端：卡片内边距收紧，首条字号降一档 */
@media (max-width: 992px) {
    .part2 .box_out ul.box1 {
        padding: 4px 14px;
    }

    .part2 .box_out ul li .con .bt {
        font-size: 14px;
    }
}

/* ===== 品牌 logo：桌面横向 / 移动圆形（2026-10-28）=====
   横向 logo 由「校徽 + 校名手写体 + 英文名」合成，透明底、白字，
   文件：template/default/images/logo-h-light.png（深底用）
        template/default/images/logo-h-dark.png（白底备用，深蓝墨色字）
   原始尺寸 1106×146，必须给固定高度，否则 ≤1620px 时会按原始尺寸把头部撑爆。
   宽度预算：36px 高约 273px 宽；1200px 视口下头部可用约 1177px，8 个菜单约 854px，
   加 273px 仍有 50px 余量；≤1400px 再降到 34px（约 258px）留更多余量。 */
#header #logo img.dh-logo {
    height: 36px;
    width: auto;
}

@media (max-width: 1400px) {
    #header #logo img.dh-logo {
        height: 34px;
    }
}

/* 移动端圆形校徽（100×100 原图，46px 显示） */
#m_header #logo img.m-logo {
    width: auto;
    height: 46px;
    max-height: 46px;
}

/* ===== 内页统一体验（文章页 / 列表页 / 栏目页） ===== */
.inner-page .ej_bn--compact {
    height: 86px;
    margin-top: 40px;
    display: flex;
    align-items: center;
    background: linear-gradient(110deg, #083d83 0%, #0b63d6 58%, #2d82dc 100%);
    position: relative;
    overflow: hidden;
}

.inner-page .ej_bn--compact::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: 8%;
    top: -300px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    box-shadow: 0 0 0 30px rgba(255,255,255,.04), 0 0 0 60px rgba(255,255,255,.025);
}

.inner-banner-title {
    position: relative;
    z-index: 1;
    width: 1360px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
    color: #fff;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: .08em;
}

.inner-page .ej_main {
    padding-top: 34px;
}

.inner-page .ej_main .left {
    position: sticky;
    top: 90px;
    align-self: flex-start;
}

.inner-page .ej_main .left .side-link-label {
    display: block;
    width: 100%;
    border-bottom: 1px solid #e3e3e3;
    font-size: 1.125rem;
    color: #333;
    line-height: 1.5rem;
    padding: 1.1rem 0;
    transition: .4s;
}

.inner-page .ej_main .left li.on .side-link-label,
.inner-page .ej_main .left li:hover .side-link-label {
    color: #0066d7;
    font-weight: 700;
}

.inner-page .ej_main .right .dqwz {
    margin-bottom: 28px;
    padding: 12px 16px;
    border: 0;
    border-radius: 6px;
    background: #f5f8fc;
}

.inner-page .ej_main .right .dqwz p {
    padding-left: 27px;
    color: #7c8b9c;
}

.inner-page .ej_main .right .dqwz p span:last-child {
    color: #164d91;
    font-weight: 600;
}

.inner-page .article-header {
    position: relative;
    padding-bottom: 18px;
}

.inner-page .ej_nry .bt,
.inner-page .ej_nry h1.bt {
    margin: 0;
    color: #1b2d45;
    font-size: clamp(1.7rem, 2.4vw, 2.25rem);
    font-weight: 700;
    line-height: 1.35;
}

.inner-page .article-meta {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 24px;
    margin: 14px 0 0;
    padding: 0;
    color: #8996a5;
}

.inner-page .article-meta span {
    white-space: nowrap;
}

.inner-page .article-tools {
    display: flex;
    justify-content: flex-end;
    margin-top: 14px;
}

.inner-page .article-tool {
    border: 1px solid #d8e3f0;
    border-radius: 999px;
    padding: 7px 15px;
    color: #2865a5;
    background: #fff;
    cursor: pointer;
    transition: .2s ease;
}

.inner-page .article-tool:hover {
    color: #fff;
    background: #0b63d6;
    border-color: #0b63d6;
}

.inner-page .ej_nry .article-content,
.inner-page .ej_xxjj #vsb_content_4 {
    max-width: 820px;
    margin: 0 auto;
}

.inner-page .ej_nry .article-content {
    border-top: 1px solid #e7edf4;
    padding-top: 26px;
}

.inner-page .ej_nry .article-content p {
    text-indent: 2em;
}

.inner-page .ej_nry .article-content p[style*="center"],
.inner-page .ej_nry .article-content p:has(img) {
    text-indent: 0;
}

.inner-page .ej_nry .article-content img,
.inner-page .ej_xxjj #vsb_content_4 img {
    display: block;
    width: auto;
    max-width: 720px;
    /* 2026-11-02：去掉 max-height: 620px。正文里有 1587×11225、1555×12834 这类长截图，
       限高 620px 会把它们压成一条细线（宽仅约 88px），文字完全看不清。
       改为不限高，超长图会撑长页面，但内容可读；普通图片仍受 max-width: 720px 约束。 */
    max-height: none;
    margin: 18px auto;
    object-fit: contain;
}

/* 2026-11-02：Word/WPS 粘贴的正文常带 text-wrap-mode: nowrap，导致整段不换行、
   文字横向溢出容器。全站 120 篇文章有此问题，这里统一覆盖为可换行。 */
.v_news_content span,
.v_news_content p,
.article-content span,
.article-content p {
    text-wrap-mode: wrap !important;
    white-space: normal !important;
    word-break: break-word;
}

.inner-page .ej_nry .fanpian {
    max-width: 820px;
    margin: 28px auto 0;
    padding: 20px 0 0;
}

.inner-page .ej_nry .fanpian p {
    margin: 0;
    padding: 6px 0;
    color: #6e7e91;
}

.inner-page .ej_nry .fanpian strong {
    color: #234f80;
}

.inner-page .ej_list_tt ul li .list-date {
    margin: -5px 0 9px;
    color: #8b9aab;
    font-size: 13px;
}

.inner-page .page ul li.page-numbar a {
    display: inline-block;
    vertical-align: top;
}

.inner-page .page ul li.page-numbar a.page-num-current {
    background-color: #0b63d6;
    color: #fff;
}

.inner-page .page ul li a[href="javascript:;"],
.inner-page .page ul li a[href=""] {
    color: #aab4c0;
    background: #f2f4f7;
    cursor: not-allowed;
    pointer-events: none;
}

@media (max-width: 767px) {
    .inner-page .ej_bn--compact {
        height: 64px;
        margin-top: 60px;
    }

    .inner-banner-title {
        padding: 0 5%;
        font-size: 21px;
    }

    .inner-page .ej_main {
        padding-top: 18px;
    }

    .inner-page .ej_main .left {
        position: static;
    }

.inner-page .ej_nry .bt,
    .inner-page .ej_nry h1.bt {
        font-size: 1.55rem;
    }

    .inner-page .article-meta {
        justify-content: flex-start;
        gap: 5px 14px;
        font-size: 13px;
    }

    .inner-page .article-meta span {
        white-space: normal;
    }

    .inner-page .ej_nry .article-content img,
    .inner-page .ej_xxjj #vsb_content_4 img {
        max-width: 100%;
    }

    .inner-page .page ul {
        display: flex;
        overflow-x: auto;
        white-space: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    .inner-page .page ul li.page-numbar a {
        display: inline-block;
    }
}

@media print {
    .inner-page .ej_bn,
    .inner-page .inner-sidebar,
    .inner-page .dqwz,
    .inner-page .article-tools,
    .site-foot,
    .foot {
        display: none !important;
    }

    .inner-page .ej_main .right {
        width: 100%;
        float: none;
    }

    .inner-page .article-content {
        max-width: 100% !important;
    }
}

/* ============================================================
   移动端首页重排（2026-10-28）
   目标不是「整体缩放」，而是按手机屏幕重新排版：
   1) 顶部只留 logo + 搜索 + 菜单，荣誉条/欢迎语整条不显示；
   2) 首屏主图固定在 220~280px（clamp），不再用 51vw 的缩放值；
   3) 图片新闻 / 通知公告 / 重要转载全部单列，标题最多两行；
   4) 页脚品牌 + 二维码常驻，快速导航 / 友情链接改成折叠栏目（脚本在 comm/foot.html）。
   断点 850px：与 style.css 自己的移动端切换点对齐，避免 768~850px 出现「一半移动一半桌面」的夹缝。
   ============================================================ */

/* ---- 页脚折叠：桌面端的默认形态（竖排头隐藏、内容直接摊开） ---- */
.site-foot .ft-links .ft-fold-head {
    display: none;
}

.site-foot .ft-fold .ft-fold-icon {
    display: none;
}

.site-foot .ft-fold .ft-fold-body {
    display: contents;
}

@media (max-width: 850px) {

    /* ================= 1) 顶部：只留 logo / 搜索 / 菜单 ================= */
    .header_top {
        display: none !important;
    }

    .m_header_box header {
        height: 56px;
        padding: 0 16px;
        box-shadow: 0 4px 12px rgba(0, 55, 59, 0.22);
    }

    #m_header #logo img.m-logo {
        height: 40px;
        max-height: 40px;
    }

    #nav_btn_box {
        margin-left: 12px;
    }

    #nav_btn .point {
        width: 22px;
        height: 20px;
    }

    #nav_btn .point i {
        font-size: 24px;
    }

    .m_header_box .m_search_box {
        margin-left: 4px;
    }

    /* ================= 2) 抽屉菜单：可滚动，条目更矮 ================= */
    #m_nav {
        padding: 60px 0 16px;
    }

    #m_nav .tc_search {
        position: static;
        bottom: auto;
        margin: 0 16px 10px;
        width: calc(100% - 32px);
    }

    #m_nav .m_nav_list {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        margin: 0;
        padding-bottom: 8px;
    }

    #m_nav > ul > li {
        padding-left: 16px;
    }

    #m_nav li .a {
        line-height: 3.25rem;
        height: 3.25rem;
        font-size: 15px;
    }

    #m_nav li i {
        height: 3.25rem;
        line-height: 3.25rem;
    }

    /* ================= 3) 首屏主图 220~280px ================= */
    .firstScreen .banner {
        height: 240px;
        height: clamp(220px, 56vw, 280px);
        margin-top: 56px;
    }

    .banner .swiper-slide a::before {
        height: 56px;
        background-size: 100% 100%;
        top: 0;
    }

    .banner .swiper-slide a::after {
        height: 64px;
        background-size: 100% 100%;
    }

    .banner .swiper-pagination {
        bottom: 6px;
    }

    /* ================= 4) 区块节奏与标题 ================= */
    .part1 {
        padding: 32px 0 8px;
    }

    .part234 {
        padding: 32px 0 0;
    }

    .part7 {
        padding: 32px 0 40px;
    }

    .tit_sy {
        margin-bottom: 22px;
    }

    .tit_sy p,
    .tit_sy p a {
        font-size: 20px;
        letter-spacing: 0.5px;
    }

    .part2 .tit_sy p,
    .part2 .tit_sy p a {
        font-size: 18px;
    }

    .part1 .tit_sy p,
    .part7 .tit_sy p {
        padding-bottom: 12px;
    }

    /* ================= 5) 图片新闻：大图 + 单列小卡 ================= */
    .part1 .box1 {
        width: 100%;
        margin-bottom: 12px;
    }

    .part1 .box1 .img {
        height: 210px;
    }

    /* 桌面端给 img 写死了 height:25rem(400px)，手机上必须一起改，否则溢出 */
    .part1 .box1 .img img {
        height: 100%;
    }

    .part1 .box1 .con {
        padding: 12px 14px;
    }

    .part1 .box1 .con .sj {
        margin-bottom: 6px;
        font-size: 12px;
    }

    .part1 .box1 .con .bt {
        font-size: 16px;
        line-height: 1.45;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .part1 .box2 {
        display: block;
    }

    .part1 .box2 a {
        width: 100%;
        height: auto;
        min-height: 60px;
        margin-bottom: 8px;
        padding: 10px 12px 10px 0;
        gap: 12px;
        justify-content: flex-start;
    }

    .part1 .box2 .sj,
    .part2 .box_out ul li .sj {
        width: 78px;
        min-width: 78px;
        height: 24px;
        line-height: 24px;
    }

    .part1 .box2 .sj p,
    .part2 .box_out ul li .sj p {
        font-size: 11.5px;
        line-height: 24px;
    }

    .part1 .box2 .bt {
        font-size: 15px;
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    /* ================= 6) 通知公告 / 重要转载：单列紧凑卡 ================= */
    .part2 {
        width: 100%;
        margin-bottom: 24px;
    }

    .part2 .tit_sy {
        margin-bottom: 14px;
    }

    .part2 .box_out ul.box1 {
        padding: 2px 14px;
        border-radius: 12px;
    }

    .part2 .box_out ul li a {
        gap: 10px;
        padding: 10px 0;
    }

    .part2 .box_out ul li .con .bt {
        font-size: 14px;
        line-height: 1.5;
    }

    /* ================= 7) 专题栏目卡片 ================= */
    .part7 .part7_lb .swiper-slide a.sp-card {
        min-height: 150px;
        padding: 18px;
    }

    .part7 .part7_lb .swiper-slide a.sp-card .sp-name {
        font-size: 17px;
    }

    /* ================= 8) 页脚：折叠栏目 ================= */
    .site-foot .ft-top {
        padding: 28px 0 8px;
        gap: 0;
    }

    .site-foot .ft-brand h3 {
        font-size: 21px;
        margin-bottom: 10px;
    }

    .site-foot .ft-brand p {
        font-size: 12.5px;
        line-height: 1.8;
    }

    .site-foot .ft-brand .ft-motto {
        margin-top: 8px;
        font-size: 13.5px;
        letter-spacing: 4px;
    }

    /* 二维码在手机上单独一行，居中偏左，不占一屏 */
    .site-foot .ft-qr {
        flex: none;
        margin-top: 18px;
        gap: 18px;
    }

    .site-foot .ft-qr .qr-item img {
        width: 96px;
        height: 96px;
        padding: 6px;
    }

    .site-foot .ft-qr .qr-item span {
        font-size: 12px;
    }

    /* 折叠头 */
    .site-foot .ft-fold {
        width: 100%;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .site-foot .ft-fold .ft-fold-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: 0;
        padding: 15px 0;
        color: #fff;
        font-size: 15px;
        font-weight: 600;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    /* 快速导航的标题保留左侧竖条 */
    .site-foot .ft-nav .ft-title.ft-fold-head {
        padding-left: 12px;
    }

    .site-foot .ft-fold .ft-fold-icon {
        display: inline-block;
        color: #8fa7c4;
        font-size: 13px;
        transition: transform 0.25s ease;
    }

    .site-foot .ft-fold.is-open .ft-fold-icon {
        transform: rotate(45deg);
    }

    .site-foot .ft-fold .ft-fold-body {
        display: none;
    }

    .site-foot .ft-fold.is-open .ft-fold-body {
        display: block;
    }

    .site-foot .ft-fold .ft-fold-body {
        padding-bottom: 8px;
    }

    .site-foot .ft-nav ul {
        padding: 4px 0 10px;
    }

    .site-foot .ft-links {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    .site-foot .ft-links .lb {
        display: none;
    }

    .site-foot .ft-links ul {
        padding: 4px 0 12px;
        gap: 6px 18px;
    }

    .site-foot .ft-links li a {
        font-size: 13px;
    }

    .site-foot .ft-bottom {
        padding: 14px 0 18px;
        font-size: 12px;
    }
}

/* 手机端页脚顺序：品牌 → 二维码 → 快速导航（折叠）→ 友情链接（折叠）→ 版权 */
@media (max-width: 850px) {
    .site-foot .ft-top {
        flex-direction: column;
    }

    .site-foot .ft-brand {
        order: 0;
    }

    .site-foot .ft-qr {
        order: 1;
    }

    .site-foot .ft-nav {
        order: 2;
    }
}

.inner-page .ej_list_tt ul li:has(img[src*="nopic"]) .img {
    display: none;
}

.inner-page .ej_list_tt ul li:has(img[src*="nopic"]) .ri .con {
    width: 100%;
}

.inner-page .ej_list_tt ul li:has(img[src*="nopic"]) .ri {
    justify-content: flex-start;
}
/* ============================================================
   修复：左侧栏目导航（2026-10-28）
   现象：栏目名叠成一坨、箭头压在名字上、整列行高塌陷。
   根因：skin/css/style.css:1356 给 .ej_zc_dh li a span 写死了
        position:absolute; top:0; right:1.8rem; padding:1.4rem .5rem;
        新模板每行是 a > span.side-link-label + span.side-link-arrow，
        两个 span 都吃到这条绝对定位，全叠到行右上角；而 a 里再没有
        正常流内元素，行高塌成 0 → 所有行重合在一起。
   处理：行改 flex，两个 span 回到正常流；分隔线从 label 移到 li；
        每条相关属性都显式写死，避免再被那条老规则带走。
   ============================================================ */

.inner-page .ej_main .left .ej_zc_dh li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 14px 0 16px;
}

.inner-page .ej_main .left .side-link-label {
    position: static;
    display: -webkit-box;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    border-bottom: 0;
    padding: 11px 0;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;
    color: #3a4a5c;
    white-space: normal;
    word-break: break-word;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.inner-page .ej_main .left .side-link-arrow {
    position: static;
    flex: 0 0 auto;
    padding: 0;
    font-family: inherit;
    font-size: 12px;
    line-height: 1;
    color: #b9c6d4;
    transition: transform .25s ease, color .25s ease;
}

/* 分隔线挂在 li 上，横贯整行（原来挂在 label 上，宽度会差一截） */
.inner-page .ej_main .left .ej_zc_dh {
    padding: 4px 0;
    border: 1px solid #e8eff8;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(15, 42, 84, .06);
    overflow: hidden;
}

.inner-page .ej_main .left .ej_zc_dh li {
    border-bottom: 1px solid #eef2f7;
}

.inner-page .ej_main .left .ej_zc_dh li:last-child {
    border-bottom: 0;
}

.inner-page .ej_main .left li.on .side-link-label {
    color: #0b63d6;
    font-weight: 700;
}

.inner-page .ej_main .left li.on .side-link-arrow {
    color: #0b63d6;
    transform: translateX(2px);
}

.inner-page .ej_main .left li.on a {
    background: #f2f8ff;
}

.inner-page .ej_main .left li:hover .side-link-arrow {
    color: #7d93ab;
    transform: translateX(2px);
}

/* 栏目标题下补一行「当前栏目」，层级关系一眼看清
   （模板里只有当前栏目 ≠ 一级栏目时才输出，见 comm/sortnav.html） */
.inner-page .ej_main .left .wej_lmmc .wej_lmmc-sub {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.4;
    letter-spacing: .04em;
    color: rgba(255, 255, 255, .8);
}

/* 停在父栏目的列表页时，菜单里没有任何 li.on，就把标题当当前位置标出来 */
.inner-page .ej_main .left:not(:has(.ej_zc_dh li.on)) .wej_lmmc {
    box-shadow: inset 0 -3px 0 #ffba00;
}
/* ============================================================
   内页修复（2026-10-28 第二轮）
   A) 列表页缩略图固定 180×120 + object-fit，行高不再随原图比例起伏
   J) ≤1024 时侧栏栏目列表被 style.css 的 display:none 藏掉，
      而展开按钮 .wap_ej_btn 在 index.js 里根本没有任何绑定 → 手机上无法切栏目；
      这里直接把列表放出来、把没用的按钮隐掉
   K) 内页紧凑横幅 margin-top:40px 只躲开了顶部蓝条，
      头部实际高度约 134px（40 顶栏 + 94 logo/导航行），整条横幅被压在头部下面
   G) 上一篇/下一篇的链接吃到老规则 display:block，会另起一行 → 改回 inline
   M) 顺手把内页残留的 #0066d7 / dodgerblue 统一到 var(--pri)
   ============================================================ */

/* ---- A：列表缩略图 ---- */
@media (min-width: 851px) {
    .inner-page .ej_list_tt ul li .ri .img {
        flex: 0 0 180px;
        width: 180px;
        height: 120px;
        overflow: hidden;
        border-radius: 8px;
        background: #f2f6fb;
    }

    .inner-page .ej_list_tt ul li .ri .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .inner-page .ej_list_tt ul li .ri .con {
        flex: 1 1 auto;
        width: auto;
        min-width: 0;
    }
}

/* 手机端：图占满一行，正文落到下面 */
@media (max-width: 850px) {
    .inner-page .ej_list_tt ul li .ri .img {
        flex: 0 0 100%;
        width: 100%;
        height: 170px;
        margin-bottom: 12px;
        overflow: hidden;
        border-radius: 8px;
        background: #f2f6fb;
    }

    .inner-page .ej_list_tt ul li .ri .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .inner-page .ej_list_tt ul li .ri .con {
        flex: 1 1 100%;
        width: 100%;
        min-width: 0;
    }
}

/* ---- J：手机上把栏目列表放出来 ---- */
@media (max-width: 1024px) {
    .inner-page .ej_main .left .ej_zc_dh {
        display: block;
    }

    .inner-page .ej_main .left .wej_lmmc .wap_ej_btn {
        display: none;
    }
}

/* ---- K：内页横幅别被头部压住 ----
   桌面头部是 position:absolute 的透明头，实际高度 ≈134px（40 顶栏 + 94 logo/导航行）。
   原来 .ej_bn--compact 是 margin-top:40px + height:86px，正好整条躲在头部后面：
   标题看不见，而且头部还没了深色垫底（白色导航会压在浅色上）。
   正确做法：横幅从 y=0 开始、加高到 180px 垫在头部后面，标题靠底，
   露出头部下沿那 40 多像素。 */
@media (min-width: 1201px) {
    .inner-page .ej_bn--compact {
        margin-top: 0;
        height: 180px;
        align-items: flex-end;
        padding-bottom: 20px;
    }
}

@media (min-width: 851px) and (max-width: 1200px) {
    .inner-page .ej_bn--compact {
        margin-top: 60px;
    }
}

@media (max-width: 850px) {
    .inner-page .ej_bn--compact {
        margin-top: 56px;
    }
}

/* ---- G + M：上一篇 / 下一篇 ---- */
.inner-page .ej_nry .fanpian a {
    display: inline;
    padding: 0;
    font-size: inherit;
    line-height: 1.8;
    color: #28527f;
}

.inner-page .ej_nry .fanpian a:hover {
    color: var(--pri);
}

/* ---- M：内页残留的老蓝色 ---- */
.inner-page .ej_xysh ul li:hover .bt {
    color: var(--pri);
}

/* ---- L：侧栏当前项给读屏软件的 aria-current 由模板输出，这里只补视觉一致性 ---- */
.inner-page .ej_main .left .ej_zc_dh li a[aria-current="page"] .side-link-label {
    color: #0b63d6;
    font-weight: 700;
}
/* ============================================================
   手机端打磨（2026-10-28 第三轮）
   截图问题：正文/卡片离屏幕边只有 6px；页脚版权行被裁掉；公众号二维码缺图显示白框
   加破图图标；返回顶部按钮 50×50 蓝色方块压在版权文字上。
   ============================================================ */

@media (max-width: 850px) {
    /* 1) 内容左右留白：.w1360 在 ≤1400 是 width:97% + 零内边距，
          430px 的手机上左右各只有约 6px，字直接贴边 */
    .w1360 {
        box-sizing: border-box;
        padding: 0 16px;
    }

    /* 兜底：宁可裁掉溢出，也不要整站横向能拖动 */
    body {
        overflow-x: hidden;
    }

    /* 2) 页脚版权行：.ft-bottom .w1360 是 flex column + align-items:flex-start，
          子元素宽度会取 max-content，长版权文字不换行直接溢出 → 改成 stretch */
    .site-foot .ft-bottom .w1360 {
        align-items: stretch;
    }

    .site-foot .ft-bottom p {
        text-align: left;
        word-break: break-word;
        overflow-wrap: anywhere;
    }

    .site-foot .ft-bottom a + a {
        margin-left: 10px;
    }

    /* 3) 页脚节奏重排，去掉空洞 */
    .site-foot::before {
        height: 2px;
    }

    .site-foot .ft-top {
        padding: 26px 0 4px;
    }

    .site-foot .ft-brand h3 {
        font-size: 20px;
        margin-bottom: 8px;
    }

    .site-foot .ft-brand p {
        font-size: 12.5px;
        line-height: 1.75;
    }

    .site-foot .ft-brand .ft-motto {
        margin-top: 10px;
        font-size: 13.5px;
        letter-spacing: 5px;
        color: #ffcf6b;
    }

    .site-foot .ft-qr {
        margin-top: 14px;
        gap: 14px;
    }

    .site-foot .ft-qr .qr-item img {
        width: 104px;
        height: 104px;
        padding: 6px;
        margin-bottom: 8px;
        border-radius: 10px;
    }

    .site-foot .ft-qr .qr-item span {
        font-size: 12px;
        color: #9fb3cc;
    }

    /* 折叠栏目：行高、分隔线、右侧 + 号都对齐 */
    .site-foot .ft-fold {
        border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    }

    .site-foot .ft-fold .ft-fold-head {
        padding: 14px 0;
        font-size: 15px;
        letter-spacing: .02em;
    }

    .site-foot .ft-nav .ft-title.ft-fold-head {
        padding-left: 11px;
    }

    .site-foot .ft-fold .ft-fold-icon {
        font-size: 12px;
        color: #7f95ad;
    }

    .site-foot .ft-nav ul {
        padding: 2px 0 12px;
        gap: 8px 18px;
    }

    .site-foot .ft-nav li a {
        display: block;
        font-size: 13px;
        line-height: 1.6;
        color: #aec0d4;
    }

    .site-foot .ft-links ul {
        padding: 2px 0 14px;
        gap: 7px 18px;
    }

    .site-foot .ft-links li a {
        font-size: 12.5px;
        line-height: 1.6;
    }

    .site-foot .ft-bottom {
        padding: 14px 0 20px;
        font-size: 12px;
        line-height: 1.75;
    }

    .site-foot .ft-bottom .w1360 {
        gap: 8px 0;
    }

    /* 4) 返回顶部：原来是 50×50 蓝色方块 + 图标字体画箭头（图标字体缺字时是个怪字符），
          right:57px 正好压在版权文字上 */
    .BackToTop {
        right: 14px;
        bottom: 24px;
        width: 42px;
        height: 42px;
        line-height: 42px;
        border-radius: 12px;
        background: rgba(11, 99, 214, 0.92);
        box-shadow: 0 6px 16px rgba(11, 63, 134, 0.28);
    }

    .BackToTop:hover {
        opacity: 1;
    }

    .BackToTop i {
        display: none;
    }

    /* 用纯 CSS 画上箭头，不再依赖 iconfont 里有没有这个字形 */
    .BackToTop::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        width: 11px;
        height: 11px;
        margin: -7px 0 0 -5.5px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(-45deg);
    }
}

/* ============================================================
   侧栏栏目折叠（手机端，2026-10-28）
   1) 手机端（≤1024px）默认收起，点标题行右侧的「展开栏目 ▾」展开；
   2) 原来手机上那个加号按钮（.wap_ej_btn）没有任何 JS，点了没反应，
      而且列表还被 display:none 藏了 —— 现在换成带文字的胶囊按钮；
   3) 兜底：列表默认可见，只有脚本跑起来（.has-toggle）才会在手机上收起，
      JS 被拦时不至于连栏目都切不了。
   回滚：删掉本段 + comm/sortnav.html 里的 .side-toggle 按钮和脚本。 */

.inner-page .ej_main .left .wej_lmmc-name {
    display: block;
}

.inner-page .ej_main .left .side-toggle {
    display: none;
}

@media (max-width: 1024px) {
    /* 标题行变成「左名字 / 右按钮」的一行，不再绝对定位 */
    .inner-page .ej_main .left .wej_lmmc {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 14px 16px;
        text-align: left;
    }

    .inner-page .ej_main .left .wej_lmmc .wej_lmmc-sub {
        margin-top: 4px;
        font-size: 12.5px;
    }

    .inner-page .ej_main .left.has-toggle .side-toggle {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        flex: 0 0 auto;
        height: 28px;
        padding: 0 11px;
        border: 1px solid rgba(255, 255, 255, 0.55);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.14);
        color: #fff;
        font-family: inherit;
        font-size: 12px;
        line-height: 1;
        white-space: nowrap;
        cursor: pointer;
        -webkit-appearance: none;
        appearance: none;
        -webkit-tap-highlight-color: transparent;
        transition: background-color .2s, border-color .2s;
    }

    .inner-page .ej_main .left.has-toggle .side-toggle:active,
    .inner-page .ej_main .left.has-toggle .side-toggle:focus-visible {
        background: rgba(255, 255, 255, 0.3);
        border-color: #fff;
        outline: none;
    }

    /* 用 CSS 画箭头：收起=向下，展开=向上 */
    .inner-page .ej_main .left .side-toggle-arrow {
        width: 7px;
        height: 7px;
        margin-top: -3px;
        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;
        transform: rotate(45deg);
        transition: transform .25s ease, margin-top .25s ease;
    }

    .inner-page .ej_main .left.is-open .side-toggle-arrow {
        margin-top: 2px;
        transform: rotate(-135deg);
    }

    /* 收起状态：把栏目列表藏起来 */
    .inner-page .ej_main .left.is-collapsed .ej_zc_dh {
        display: none;
    }

    /* 收起时标题条下面不要留白 */
    .inner-page .ej_main .left {
        margin-bottom: 12px;
    }

    .inner-page .ej_main .left.is-open .ej_zc_dh {
        margin-top: 4px;
    }
}

/* ============================================================
   手机端：隐藏左侧栏目标题条（2026-10-28 第四轮）
   现象：文章页正文上方多出一条「新闻中心 / 图片新闻　展开栏目 ▾」，
        在手机上既占高度又和面包屑重复。
   处理：≤850px 直接不显示 .inner-sidebar，正文占满宽度；
        栏目切换交给右上角的菜单抽屉（#m_nav，里面本来就有完整栏目树）。
        851~1024px 的平板保留这条（那里正文不宽，栏目标题还有导航作用）。
   回滚：删掉本段即可；sortnav.html 的折叠逻辑仍保留在平板上生效。
   ============================================================ */

@media (max-width: 850px) {
    .inner-page .ej_main .left,
    .inner-page .inner-sidebar {
        display: none;
    }

    .inner-page .ej_main .right {
        width: 100%;
        float: none;
    }

    /* 侧栏没了，正文区顶部不用再额外留白 */
    .inner-page .ej_main {
        padding-top: 18px;
    }
}

/* ============================================================
   页脚品牌行改成校训 + 手机端顶部空白修复（2026-10-28 第五轮）
   1) 页脚 h3 从校名换成校训：字号略收、加大字距，白字更端庄；
   2) 手机端「搜索按钮下面一条白边」的根因：
      固定头部外面的 .m_header_box 本身是 60px 的流内高度（已经让开了头部），
      而 .banner / .ej_bn--compact 又各自加了 56~60px 的 margin-top，两份叠加 → 空出一条。
      这里把横幅的额外 margin 归零，并把外层高度对齐到 56px。
   ============================================================ */

.site-foot .ft-brand h3.ft-brand-motto {
    letter-spacing: 0.16em;
    font-weight: 600;
    line-height: 1.4;
}

@media (max-width: 850px) {
    /* 1) 去掉重复的头部让位 */
    .m_header_box {
        height: 56px;
    }

    .firstScreen .banner {
        margin-top: 0;
    }

    .inner-page .ej_bn--compact {
        margin-top: 0;
    }

    /* 2) 校训字距在手机上收一点，避免折行 */
    .site-foot .ft-brand h3.ft-brand-motto {
        font-size: 19px;
        letter-spacing: 0.1em;
    }
}

@media (min-width: 851px) and (max-width: 1200px) {
    .inner-page .ej_bn--compact {
        margin-top: 0;
    }
}

/* 普通内页横幅（leading.html 这类 .ej_bn）同样归零：
   ≤1200px 时 .m_header_box 已经让出 60px，老样式再叠 60px 又会空一条 */
@media (max-width: 1200px) {
    .ej_bn {
        margin-top: 0;
    }
}

/* ============================================================
   页脚「快速导航 / 友情链接」统一（2026-10-28 第六轮）
   1) 两段的标题、箭头、列表网格、字号行距全部走同一套；
   2) 展开符号从「+」换成 V 形箭头（向下=可展开，向上=可收起），颜色金黄 #ffcf6b，
      纯 CSS 画，不依赖图标字体；
   3) 桌面端两段标题也统一：同样的左侧竖条 + 16px 白字。
   ============================================================ */

/* 桌面端：友情链接的标签改成和快速导航一样的标题样式 */
.site-foot .ft-links .lb {
    position: relative;
    padding-left: 12px;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
}

.site-foot .ft-links .lb::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 3px;
    height: 16px;
    margin-top: -8px;
    border-radius: 2px;
    background: #2f7fe0;
}

/* 箭头：默认藏起来（桌面端不需要） */
.site-foot .ft-fold .ft-fold-label {
    display: inline-block;
}

.site-foot .ft-fold .ft-fold-chevron {
    display: none;
    width: 9px;
    height: 9px;
    margin-top: -3px;
    border-right: 2px solid #ffcf6b;
    border-bottom: 2px solid #ffcf6b;
    transform: rotate(45deg);
    transition: transform .25s ease, margin-top .25s ease;
}

.site-foot .ft-fold.is-open .ft-fold-chevron {
    margin-top: 2px;
    transform: rotate(-135deg);
}

@media (max-width: 850px) {
    /* 两段共用同一个折叠头 */
    .site-foot .ft-fold {
        border-bottom: 1px solid rgba(255, 255, 255, 0.09);
    }

    .site-foot .ft-fold .ft-fold-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin: 0;
        padding: 14px 0;
        color: #fff;
        font-size: 15px;
        font-weight: 600;
        letter-spacing: .02em;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
    }

    /* 两段标题都带同一条左侧竖条 */
    .site-foot .ft-nav .ft-title.ft-fold-head,
    .site-foot .ft-links .ft-fold-head {
        padding-left: 11px;
    }

    .site-foot .ft-fold .ft-fold-chevron {
        display: inline-block;
        flex: 0 0 auto;
    }

    /* 两段的列表统一：两列网格、同样的字号和行距 */
    .site-foot .ft-fold .ft-fold-body ul {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 16px;
        margin: 0;
        padding: 2px 0 14px;
        list-style: none;
    }

    .site-foot .ft-fold .ft-fold-body li {
        line-height: 1.6;
    }

    .site-foot .ft-fold .ft-fold-body li a {
        display: block;
        font-size: 13px;
        line-height: 1.6;
        color: #b3c6db;
        word-break: break-word;
    }

    .site-foot .ft-fold .ft-fold-body li a:hover {
        color: #fff;
    }

    /* 收起时底部不要留空 */
    .site-foot .ft-fold.is-open .ft-fold-body {
        padding-bottom: 2px;
    }
}

/* ============================================================
   内页背景分层（2026-10-28 第七轮）
   改前：整页纯白，面包屑、标题、正文、上下篇全糊在一张白纸上，没有层次。
   改后：
     1) 页面底色改成极淡的蓝灰渐变（顶部略深，往下渐白）；
     2) 文章本体变成一张白卡：圆角 + 细描边 + 柔和投影 + 顶部一条蓝→金渐变线；
     3) 面包屑改成白底描边的小条，浮在底色之上；
     4) 卡片里的正文分隔线、上一篇/下一篇自然落在卡内，形成「底色 / 卡片 / 分隔」三层。
   只作用于 .inner-page（文章页、列表页、单页），首页不受影响。
   ============================================================ */

.inner-page .ej_body_main {
    background: linear-gradient(180deg, #f2f7fd 0%, #f7fbff 340px, #f2f7fd 100%);
}

/* 面包屑：白底 + 描边，和下面的卡片区分开 */
.inner-page .ej_main .right .dqwz {
    border: 1px solid #e7eff9;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 2px 6px rgba(15, 42, 84, 0.03);
}

/* 文章卡片：news.html 的 article.ej_nry、about.html 的 article.ej_xxjj 都命中 */
.inner-page .ej_main .right > article {
    position: relative;
    overflow: hidden;
    padding: 28px 32px 34px;
    border: 1px solid #e8f0f9;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 42, 84, 0.07);
}

/* 卡片顶部蓝→金渐变线 */
.inner-page .ej_main .right > article::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #0b63d6 0%, #5aa0ff 55%, #ffcf6b 100%);
}

/* 卡片内的正文分隔线统一成更淡的一档 */
.inner-page .ej_nry .article-content,
.inner-page .ej_xxjj .article-content {
    border-top: 1px solid #eaf1f9;
}

/* 侧栏目录卡片在浅底上也浮起来一层 */
.inner-page .ej_main .left .ej_zc_dh {
    box-shadow: 0 10px 26px rgba(15, 42, 84, 0.06);
}

@media (max-width: 850px) {
    .inner-page .ej_main .right > article {
        padding: 18px 16px 22px;
        border-radius: 12px;
        box-shadow: 0 6px 18px rgba(15, 42, 84, 0.05);
    }

    .inner-page .ej_main .right .dqwz {
        padding: 10px 12px;
    }
}

/* ============================================================
   ???????(2026-11-04)
   ??:??? UEditor ?????,????
        <p><img src=".../fileTypeImages/icon_pdf.gif"><a href="xxx.pdf">???</a></p>
     ???????????? 12px ???????????,???????????
   ??:? :has() ??"?????????",??????:
       ????? + ?????? + ???????? + ?????
   ??:<a> ???? style(font-size:12px; color:#0066cc),?? !important ???
   ??::has() ?? Chrome 105+ / Safari 15.4+ / Firefox 121+(2026 ?????)?
   ============================================================ */

.v_news_content p:has(> img[src*="fileTypeImages"]),
.article-content p:has(> img[src*="fileTypeImages"]) {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 18px;
    margin: 14px 0;
    background: linear-gradient(135deg, #f5faff 0%, #eaf3ff 100%);
    border: 1px solid #dbe8f5;
    border-left: 3px solid #0b63d6;
    border-radius: 10px;
    transition: background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.v_news_content p:has(> img[src*="fileTypeImages"]):hover,
.article-content p:has(> img[src*="fileTypeImages"]):hover {
    background: linear-gradient(135deg, #eaf3ff 0%, #dceaff 100%);
    border-color: #b9d4f2;
    box-shadow: 0 4px 12px rgba(11, 99, 214, .08);
    transform: translateY(-1px);
}

/* ????:?? 24px,????,???? margin */
.v_news_content p:has(> img[src*="fileTypeImages"]) > img,
.article-content p:has(> img[src*="fileTypeImages"]) > img {
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    flex: 0 0 auto;
    display: block;
}

/* ?????:????????,???????? */
.v_news_content p:has(> img[src*="fileTypeImages"]) > a,
.article-content p:has(> img[src*="fileTypeImages"]) > a {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #0b63d6 !important;
    text-decoration: none !important;
    line-height: 1.5;
    overflow-wrap: anywhere;
    flex: 1 1 auto;
    min-width: 0;
}

.v_news_content p:has(> img[src*="fileTypeImages"]) > a:hover,
.article-content p:has(> img[src*="fileTypeImages"]) > a:hover {
    color: #0847a6 !important;
    text-decoration: underline !important;
}

/* ????????(<td> ?)?????,???????? */
.v_news_content td:has(> img[src*="fileTypeImages"]),
.article-content td:has(> img[src*="fileTypeImages"]) {
    background: #f5faff;
}
