/* 公共样式：由 tools/extract_css 从首页抽离，全站共用 */
/* ============ 基础重置 ============ */
*{margin:0;padding:0;}
html,body{width:100%;margin:0 auto;background:#f7f5f0;
     font-family:"Microsoft YaHei","PingFang SC","Hiragino Sans GB",Arial,sans-serif;
     font-size:14px;color:#333;-webkit-font-smoothing:antialiased;
     overflow-x:hidden;}
ul{list-style:none;}
li{list-style:none;}
a{text-decoration:none;color:#333;cursor:pointer;}
a:hover{color:#a83a2e;}
img{border:0;display:block;}
.clear{clear:both;height:0;overflow:hidden;}

/* ============ 配色：白 / 金 / 红（暖白底 + 宫墙深红主 + 香槟金点缀） ============ */
:root{
  --br:#8c2b22;        /* 宫墙深红 · 主色 */
  --br-l:#a83a2e;      /* 砖红 · 辅色 / hover */
  --br-d:#6e1f18;      /* 酒红 · 导航条与页脚深底 */
  --gold:#c9a55c;      /* 香槟金 · 克制点缀（下划线/圆点/数字/指示三角） */
  --accent:#8c2b22;    /* 深红 · 标题强调 */
  --line:#ece6dd;      /* 分隔线 · 暖灰 */
  --accent-rgb:140,43,34; /* 深红 RGB，供辉光/透明变体复用 */
  --surface-warm:#fdf9f4; /* 暖表面，区块节奏用 */
  /* —— 流体字号 / 间距 token（高级感 v2.7.6，沿用 web-ui-premium 方法论） —— */
  --step-1:clamp(1.2rem,.9rem + .6vw,1.5rem);
  --step-2:clamp(1.45rem,1.1rem + .9vw,1.95rem);
  --step-3:clamp(1.75rem,1.3rem + 1.3vw,2.45rem);
  --step-4:clamp(2.1rem,1.5rem + 1.9vw,3.1rem);
  --space-s:clamp(1rem,.91rem + .43vw,1.25rem);
  --space-m:clamp(1.5rem,1.37rem + .65vw,1.88rem);
  --space-l:clamp(2rem,1.83rem + .87vw,2.5rem);
  --space-xl:clamp(3rem,2.74rem + 1.3vw,3.75rem);
  --ease:cubic-bezier(.23,1,.32,1);
}

/* ============ 顶部工具条与老站风格横幅轮播 ============ */
.top_bar{width:100%;height:32px;background:#fbf8f5;border-bottom:1px solid #ebdcd0;font-size:12px;color:#7e6f64;}
.top_bar .w1140{height:32px;display:flex;align-items:center;justify-content:space-between;}
.top_bar_l{color:#6e5f56;font-size:12px;}
.top_bar_r{display:flex;align-items:center;gap:12px;font-size:12px;}
.top_bar_r a{color:#8c2b22;text-decoration:none;font-weight:bold;}
.top_bar_r a:hover{text-decoration:underline;}
.top_bar_r .sep{color:#d4c7bd;}

.top_bg{width:100%;height:144px;background:#ffffff;border-bottom:1px solid #ece6dd;overflow:hidden;}
.w1140{width:1200px;margin:0 auto;}
@media (min-width: 1400px) {
  .top_bar .w1140, .top_bg .w1140, .header .w1140, .subnav_wrap .w1140, .foot .w1140 { width: 1360px; max-width: 96%; }
}
.top_bg .mod{height:144px;display:flex;align-items:center;justify-content:space-between;}
.header_logo_box{display:flex;align-items:center;height:144px;flex-shrink:0;}
.header_logo_box a{display:flex;align-items:center;text-decoration:none;}
.header_logo_img{height:136px;width:auto;display:block;}
.header_school_name{display:flex;flex-direction:column;justify-content:center;margin-left:14px;}
.header_school_name .cn{font-size:24px;font-weight:bold;color:#6e1f18;letter-spacing:1.5px;line-height:1.2;}
.header_school_name .en{font-size:10px;color:#9a8c80;letter-spacing:1px;margin-top:4px;}

/* 顶部横幅轮播 (810x144) */
.header_banner_slider{width:810px;height:144px;position:relative;overflow:hidden;flex-shrink:0;background:#eef5fb;border-left:1px solid #e8e2d8;}
.header_banner_slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease-in-out;pointer-events:none;}
.header_banner_slide.on{opacity:1;pointer-events:auto;}
.header_banner_slide img{width:810px;height:144px;object-fit:cover;display:block;}
.header_banner_slide a{display:block;width:100%;height:100%;cursor:pointer;}
.header_banner_slide a.slide_link{display:block;width:100%;height:100%;cursor:pointer;}
.banner_huodong_grid{position:absolute;inset:0;display:flex;z-index:5;pointer-events:auto;}
.banner_huodong_grid a{display:block;flex:1;height:100%;cursor:pointer;position:relative;
  transition:background .2s,box-shadow .2s;}
.banner_huodong_grid a:hover{background:rgba(255,255,255,0.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,0.4);}
map area{cursor:pointer;outline:none;}

/* ============ 导航条 ============ */
.header{width:100%;height:48px;background:var(--br-d);box-shadow:0 2px 8px rgba(0,0,0,0.08);overflow:hidden;}
.header .w1140{height:48px;display:flex;align-items:center;width:1200px;margin:0 auto;padding:0;box-sizing:border-box;}
@media (min-width: 1400px) {
  .header .w1140{width:1360px;max-width:96%;padding:0;}
}
.nav_wrap{display:flex;align-items:center;flex:1;width:100%;min-width:0;}
.nav{display:flex;height:48px;flex:1;min-width:0;justify-content:space-between;margin-right:12px;padding:0;list-style:none;}
.nav li{height:48px;flex-shrink:0;}
.nav li a{display:block;padding:0 clamp(5px, 0.75vw, 14px);height:48px;line-height:48px;position:relative;
  font-size:clamp(13px, 0.95vw, 15px);font-weight:500;color:#f6ece4;white-space:nowrap;transition:all .2s;}
.nav li a::after{content:"";position:absolute;left:0;bottom:4px;width:100%;height:3px;
  background:linear-gradient(90deg,var(--gold),var(--br-l));border-radius:2px;
  transform:scaleX(0);transform-origin:bottom right;transition:transform .35s var(--ease);}
.nav li a:hover{color:#fff;background:rgba(255,255,255,0.07);}
.nav li a:hover::after,.nav li a.on::after{transform:scaleX(1);transform-origin:bottom left;}
.nav li a.on{color:#fff;background:rgba(255,255,255,0.12);}
.nav .m_icon{display:none;}

/* 汉堡菜单容器：桌面端作为导航+搜索的整体弹性容器（search 靠 margin-left:auto 顶到右侧）；
   移动端折叠为可展开块（见末尾 @media max-width:768px） */
.nav-toggle{display:none;}

.searchbar{margin-left:auto;display:flex;align-items:center;}
.searchbar input{width:118px;height:26px;border:1px solid #c9b0a2;border-right:0;
  background:rgba(255,255,255,.95);padding:0 8px;font-size:12px;outline:none;color:#3a2e2a;
  border-radius:2px 0 0 2px;}
.searchbar button{height:28px;padding:0 11px;border:1px solid #c9b0a2;background:var(--br-l);
  color:#fff;font-size:12px;cursor:pointer;border-radius:0 2px 2px 0;font-family:inherit;
  transition:background .2s;}
.searchbar button:hover{background:var(--gold);}

/* ============ 主体 ============ */
.main{width:100%;max-width:1360px;margin:0 auto;background:#ffffff;padding:0 24px 28px;box-sizing:border-box;
  display:flow-root;overflow-x:clip;overflow-wrap:anywhere;
  box-shadow:0 0 16px rgba(110,31,24,.08);}
.main_banner{width:100%;height:380px;margin-top:16px;position:relative;overflow:hidden;border-radius:4px;background:#111;box-shadow:0 3px 12px rgba(0,0,0,0.1);}
.main_banner img{width:100%;height:100%;object-fit:cover;animation:kb 18s ease-in-out infinite alternate;}
.main_banner video{width:100%;height:100%;object-fit:cover;display:block;opacity:1;}
.main_banner .video_mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.02) 0%,rgba(0,0,0,0.08) 60%,rgba(0,0,0,0.7) 100%);pointer-events:none;}
.main_banner .cap{position:absolute;left:0;bottom:0;width:100%;height:48px;
  background:linear-gradient(90deg,rgba(110,31,24,.88),rgba(110,31,24,.5));
  line-height:48px;color:#f6ece4;font-size:15px;text-indent:1.4em;z-index:2;display:flex;align-items:center;justify-content:space-between;padding-right:16px;box-sizing:border-box;}
.main_banner .cap span.cap_title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.video_sound_btn{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;background:rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.4);color:#fff;border-radius:20px;font-size:12px;cursor:pointer;backdrop-filter:blur(4px);transition:all .2s ease;text-indent:0;line-height:1.4;}
.video_sound_btn:hover{background:rgba(140,43,34,0.9);border-color:#ffcc80;}
.video_sound_btn.unmuted{background:rgba(140,43,34,0.95);border-color:#ffb74d;}
@keyframes kb{from{transform:scale(1);}to{transform:scale(1.07);}}

/* 滚动公告条 */
.notice_bar{width:100%;height:38px;margin-top:14px;display:flex;align-items:center;
  background:#fdf9f4;border-left:4px solid var(--br-l);}
.notice_bar .tag{margin:0 14px;color:var(--br-l);font-weight:bold;font-size:14px;white-space:nowrap;}
.notice_bar .roll{flex:1;height:38px;overflow:hidden;position:relative;}
.notice_bar .roll ul{position:absolute;top:0;left:0;width:100%;}
.notice_bar .roll li{height:38px;line-height:38px;font-size:14px;color:#5c4a44;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.notice_bar .more{font-size:13px;color:#9a8c80;margin-right:14px;}
.notice_bar .more:hover{color:var(--accent);}

/* 区块通用 */
.main_sub{width:100%;margin-top:20px;}
.main_sub--focus,.main_sub--nav{display:flex;}

/* ==========================================================================
   首屏核心展区：三栏黄金布局（左：焦点图轮播 | 中：核心动态Tab盒 | 右：通知公告独立框）
   严格要求：同一行排布不折行、同一高度（350px）、各自独立优雅卡片框
   ========================================================================== */
.main_sub--focus {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 4.8fr 5fr 3.4fr !important; /* 精准黄金比例约 36.4% : 37.8% : 25.8% */
    gap: 18px !important;
    height: 350px !important;
    margin-top: 16px !important;
    margin-bottom: 20px !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
}

/* 栏 1: 焦点图轮播 */
.dzsw-jdt {
    width: 100% !important;
    max-width: 100% !important;
    height: 350px !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
    background: #000 !important;
    box-sizing: border-box !important;
    flex: none !important;
    margin: 0 !important;
}
.dzsw-nr {
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}
.dzsw-nr li {
    width: 100% !important;
    height: 100% !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    opacity: 0 !important;
    transition: opacity .6s !important;
    z-index: 1 !important;
}
.dzsw-nr li.on {
    opacity: 1 !important;
    z-index: 2 !important;
}
.dzsw-nr li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.dzsw-nr li.on img {
    animation: kb 7s ease-in-out infinite alternate !important;
}
.dzsw-title {
    width: 100% !important;
    height: 40px !important;
    line-height: 40px !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    padding-left: 14px !important;
    padding-right: 140px !important;
    color: #ffffff !important;
    font-size: 14px !important;
    z-index: 5 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    box-sizing: border-box !important;
}
.dzsw-title-bg {
    width: 100% !important;
    height: 40px !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    z-index: 4 !important;
    background: linear-gradient(0deg, rgba(0,0,0,.75), rgba(0,0,0,0)) !important;
}
.dzsw-btn {
    position: absolute !important;
    bottom: 8px !important;
    right: 12px !important;
    z-index: 9 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(0,0,0,.45) !important;
    padding: 3px 8px !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    list-style: none !important;
}
.dzsw-btn li {
    width: 20px !important;
    height: 20px !important;
    line-height: 20px !important;
    text-align: center !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.25) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-family: Arial, sans-serif !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all .25s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    border: 1px solid rgba(255,255,255,.5) !important;
    user-select: none !important;
}
.dzsw-btn li:hover {
    background: rgba(255,255,255,.5) !important;
    color: #fff !important;
}
.dzsw-btn li.on {
    width: 20px !important;
    border-radius: 50% !important;
    background: #8c2b22 !important;
    color: #fff !important;
    border-color: #f3c267 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.4) !important;
}

/* 栏 2: 核心动态 Tab 盒（顺序严格：公告、校园新闻、德育天地） */
.news_box {
    width: 100% !important;
    max-width: 100% !important;
    height: 350px !important;
    background: #ffffff !important;
    border: 1px solid #e8e2d9 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    padding: 0 16px 10px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    flex: none !important;
    margin: 0 !important;
}
.news_box_chn {
    width: 100% !important;
    height: 40px !important;
    border-bottom: 2px solid #8c2b22 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    box-sizing: border-box !important;
}
.news_tabs_nav {
    display: flex !important;
    align-items: center !important;
    height: 100% !important;
    flex: 1 !important;
    min-width: 0 !important;
}
.news_tabs_nav a {
    padding: 0 14px !important;
    line-height: 40px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #5c4a44 !important;
    position: relative !important;
    margin-right: 2px !important;
    transition: background .2s, color .2s !important;
    cursor: pointer !important;
    white-space: nowrap !important;
    border-radius: 4px 4px 0 0 !important;
}
.news_tabs_nav a:hover,
.news_tabs_nav a.on {
    background: #8c2b22 !important;
    color: #ffffff !important;
}
.news_tabs_nav a.on::after {
    content: "" !important;
    width: 14px !important;
    height: 7px !important;
    background: #8c2b22 !important;
    position: absolute !important;
    bottom: -7px !important;
    left: 50% !important;
    margin-left: -7px !important;
    clip-path: polygon(0 0, 100% 0, 50% 100%) !important;
}
.news_box_chn .more {
    line-height: 40px !important;
    font-size: 13px !important;
    color: #9a8c80 !important;
    padding: 0 4px !important;
    transition: color .2s !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.news_box_chn .more:hover {
    color: #8c2b22 !important;
}
.news_box_con {
    width: 100% !important;
    flex: 1 !important;
    overflow: hidden !important;
    padding-top: 6px !important;
}
.news_box_list {
    display: none !important;
    height: 100% !important;
}
.news_box_list.on {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.news_box_list ul {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.news_box_list ul li {
    width: 100% !important;
    height: 31px !important;
    line-height: 31px !important;
    font-size: 13.5px !important;
    border-bottom: 1px dotted #efe9e1 !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    overflow: hidden !important;
}
.news_box_list ul li::before {
    content: "·" !important;
    color: #8c2b22 !important;
    font-weight: bold !important;
    margin-right: 8px !important;
    flex: 0 0 auto !important;
}
.news_box_list ul li a {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: #333333 !important;
    text-decoration: none !important;
    transition: color .2s !important;
}
.news_box_list ul li a:hover {
    color: #8c2b22 !important;
    text-decoration: underline !important;
}
.news_box_list ul li span {
    flex: 0 0 auto !important;
    margin-left: 12px !important;
    color: #b0a49a !important;
    font-size: 12.5px !important;
    white-space: nowrap !important;
}

/* 栏 3: 独立“通知公告”固定展区（单独优雅框体，与前两栏高度完全一致） */
.fixed_notice_box {
    width: 100% !important;
    max-width: 100% !important;
    height: 350px !important;
    background: #ffffff !important;
    border: 1px solid #e8e2d9 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
    padding: 0 16px 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    flex: none !important;
    margin: 0 !important;
}
.fixed_notice_hd {
    width: 100% !important;
    height: 40px !important;
    border-bottom: 2px solid #8c2b22 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    box-sizing: border-box !important;
    padding: 0 !important;
}
.fixed_notice_title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #8c2b22 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.fixed_notice_title i {
    display: inline-block !important;
    width: 4px !important;
    height: 16px !important;
    background: #8c2b22 !important;
    border-radius: 2px !important;
}
.fixed_notice_hd .more {
    line-height: 40px !important;
    font-size: 13px !important;
    color: #9a8c80 !important;
    transition: color .2s !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
}
.fixed_notice_hd .more:hover {
    color: #8c2b22 !important;
}
.fixed_notice_con {
    flex: 1 !important;
    overflow: hidden !important;
    padding-top: 6px !important;
    display: flex !important;
    flex-direction: column !important;
}
.fixed_notice_list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    height: 100% !important;
    max-height: 295px !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}
.fixed_notice_list li {
    border-bottom: 1px dotted #efe9e1 !important;
    padding: 6px 0 !important;
    box-sizing: border-box !important;
}
.fixed_notice_list li:last-child {
    border-bottom: none !important;
}
.fixed_notice_list a {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    color: #3e332f !important;
    text-decoration: none !important;
    font-size: 13.5px !important;
    line-height: 1.45 !important;
    transition: color .2s !important;
}
.fixed_notice_list a:hover {
    color: #8c2b22 !important;
}
.fixed_notice_list .notice_dot {
    color: #8c2b22 !important;
    font-weight: bold !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    flex-shrink: 0 !important;
}
.fixed_notice_list .notice_text {
    flex: 1 !important;
    min-width: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* ==========================================================================
   首页全宽 2×2 四宫格对称特色展区（填满 1360px，大小高度完全一致，告别一栏一栏）
   ========================================================================== */
.home_grid_layout {
    width: 100% !important;
    max-width: 1360px !important;
    margin: 24px auto 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 22px !important;
    box-sizing: border-box !important;
    clear: both !important;
}
.grid_col {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
.grid_cat_box {
    background: #ffffff !important;
    border: 1px solid #e8e2d9 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05) !important;
    padding: 16px 18px !important;
    box-sizing: border-box !important;
    height: 330px !important; /* 严格统一四宫格高度！大小完全一致！ */
    max-height: 330px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    transition: transform .2s, box-shadow .2s !important;
}
.grid_cat_box:hover {
    box-shadow: 0 4px 14px rgba(0,0,0,0.08) !important;
}
.grid_cat_box .cat_box_hd,
.cat_box_hd {
    width: 100% !important;
    height: 40px !important;
    line-height: 40px !important;
    border-bottom: 2px solid #8c2b22 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    background: transparent !important;
}
/* 严格全局统一标题字体颜色：名校红 #8c2b22，绝不能是白色！ */
.grid_cat_box .cat_title,
.cat_box_hd .cat_title,
.cat_title {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #8c2b22 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    letter-spacing: 0.5px !important;
}
.grid_cat_box .cat_title i,
.cat_box_hd .cat_title i,
.cat_title i {
    display: inline-block !important;
    width: 4px !important;
    height: 16px !important;
    background: #8c2b22 !important;
    border-radius: 2px !important;
}
.grid_cat_box .cat_box_hd .more,
.cat_box_hd .more {
    font-size: 13px !important;
    color: #9a8c80 !important;
    text-decoration: none !important;
    transition: color .2s !important;
    white-space: nowrap !important;
}
.grid_cat_box .cat_box_hd .more:hover,
.cat_box_hd .more:hover {
    color: #8c2b22 !important;
}
.grid_cat_box .cat_box_body {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}
/* 头条图文严格统一高宽与比例 */
.grid_cat_box .cat_feat {
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
    display: flex !important;
    gap: 14px !important;
    align-items: stretch !important;
    margin-bottom: 8px !important;
    overflow: hidden !important;
}
.grid_cat_box .cat_feat a.cat_feat_thumb,
.grid_cat_box .cat_feat > a {
    width: 180px !important;
    min-width: 180px !important;
    max-width: 180px !important;
    height: 110px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    display: block !important;
    flex-shrink: 0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.1) !important;
    background: #f7f4ef !important;
}
.grid_cat_box .cat_feat img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 4px !important;
    transition: transform .3s !important;
}
.grid_cat_box .cat_feat:hover img {
    transform: scale(1.03) !important;
}
.grid_cat_box .cat_feat_txt {
    flex: 1 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}
.grid_cat_box .cat_feat_txt strong a {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #2c2523 !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    transition: color .2s !important;
}
.grid_cat_box .cat_feat_txt strong a:hover {
    color: #8c2b22 !important;
}
.grid_cat_box .cat_feat_txt p {
    font-size: 13px !important;
    color: #7a6e67 !important;
    margin-top: 6px !important;
    line-height: 1.45 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}
.grid_cat_box .cat_hr {
    height: 1px !important;
    background: #eee7df !important;
    margin: 6px 0 8px !important;
    flex-shrink: 0 !important;
}
.grid_cat_box .cat_sub_list {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    overflow: hidden !important;
}
.grid_cat_box .cat_sub_list li {
    height: 27px !important;
    line-height: 27px !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-size: 13.5px !important;
    border-bottom: 1px dotted #f2ece4 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.grid_cat_box .cat_sub_list li:last-child {
    border-bottom: none !important;
}
.grid_cat_box .cat_sub_list li a {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    color: #403633 !important;
    text-decoration: none !important;
    transition: color .2s !important;
}
.grid_cat_box .cat_sub_list li a:hover {
    color: #8c2b22 !important;
    text-decoration: underline !important;
}
.grid_cat_box .cat_sub_list li span {
    flex-shrink: 0 !important;
    color: #a89d95 !important;
    font-size: 12.5px !important;
    margin-left: 10px !important;
    white-space: nowrap !important;
}

/* 专题专栏横幅大图固定比例（高110px，与四宫格其他卡片大图完全齐平） */
.zhuanti_banner_wrap {
    width: 100% !important;
    height: 110px !important;
    min-height: 110px !important;
    max-height: 110px !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    margin-bottom: 8px !important;
    display: block !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08) !important;
}
.zhuanti_banner_wrap a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
.zhuanti_banner_wrap img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    transition: opacity .2s !important;
}
.zhuanti_banner_wrap img:hover {
    opacity: .92 !important;
}

/* 每周一星内嵌 Tab 切换 */
.star_tabs_nav {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
}
.star_tabs_nav a {
    color: #6c5e58 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: color .2s !important;
    font-weight: 500 !important;
}
.star_tabs_nav a:hover,
.star_tabs_nav a.on {
    color: #8c2b22 !important;
    font-weight: bold !important;
}
.star_tabs_nav .tab_sep {
    color: #dfd7cb !important;
    font-size: 12px !important;
}
.star_tab_pane {
    display: none;
    height: 100%;
}
.star_tab_pane.on {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* ---- 图片新闻 ---- */
.tpxw_box{width:100%;float:left;margin-top:18px;border-top:1px solid var(--line);padding-top:14px;}
.tpxw_list{width:100%;float:left;display:flex;justify-content:space-between;}
.tpxw_list li{width:132px;transition:transform .3s;}
.tpxw_list li:hover{transform:translateY(-5px);}
.tpxw_list li img{width:132px;height:88px;object-fit:cover;}
.tpxw_list li p{font-size:12px;color:#7e6f64;line-height:20px;margin-top:6px;text-align:center;
  height:40px;overflow:hidden;}

/* ---- 棕色方块导航（学校概况/名师团队/信息公开） ---- */
.ldzc_box{flex:0 1 248px;width:auto;}
.ldzc_box ul li{width:100%;height:68px;margin-bottom:8px;background:var(--br);
  transition:background .25s,transform .25s;cursor:pointer;}
.ldzc_box ul li:last-child{margin-bottom:0;}
.ldzc_box ul li:hover{background:var(--br-l);transform:translateX(4px);}
.ldzc_box ul li a{display:flex;align-items:center;height:68px;color:#f6ece4;}
.ldzc_box ul li em{width:42px;height:42px;margin-left:20px;
  border:2px solid rgba(246,236,228,.55);border-radius:8px;
  font-style:normal;font-size:20px;line-height:38px;text-align:center;font-weight:bold;
  transition:transform .3s;}
.ldzc_box ul li:hover em{transform:rotate(-8deg) scale(1.08);}
.ldzc_box ul li span{margin-left:18px;font-size:20px;color:#f6ece4;letter-spacing:1px;}
.ldzc_box ul li:hover span{color:var(--gold);}

/* ---- 中间 TAB 列表 ---- */
.zcwj_box{flex:1 1 280px;width:auto;margin-left:0;}
.zcwj_box_chn{width:100%;height:40px;border-bottom:1px solid var(--line);}
.zcwj_box_chn a{padding:0 16px;float:left;line-height:40px;font-size:17px;color:#5c4a44;
  position:relative;margin-right:4px;transition:all .2s;}
.zcwj_box_chn a:hover,.zcwj_box_chn a.on{background:var(--br);color:#f6ece4;}
.zcwj_box_chn a.on::after{content:"";width:14px;height:7px;background:var(--br);
  position:absolute;bottom:-7px;left:50%;margin-left:-7px;
  clip-path:polygon(0 0,100% 0,50% 100%);}
.zcwj_box_list{width:100%;margin-top:8px;display:none;}
.zcwj_box_list.on{display:block;animation:fadeUp .45s ease;}
.zcwj_box_list ul li{width:100%;height:32px;line-height:32px;font-size:14px;
  border-bottom:1px dotted #efe9e1;box-sizing:border-box;
  display:flex;justify-content:space-between;align-items:center;overflow:hidden;}
.zcwj_box_list ul li a{flex:1 1 auto;min-width:0;overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis;color:#333;text-decoration:none;transition:color .2s;}
.zcwj_box_list ul li span{flex:0 0 auto;margin-left:12px;color:#b0a49a;font-size:13px;white-space:nowrap;}
.zcwj_box_list ul li::before{content:"·";color:var(--br-l);font-weight:bold;margin-right:8px;flex:0 0 auto;transition:transform .2s;}
.zcwj_box_list ul li:hover a{color:var(--accent);text-decoration:underline;}
.zcwj_box_list ul li:hover::before{color:var(--accent);transform:scale(1.3);}

/* ---- 右侧专题图片 ---- */
.ztzl_box{flex:1 1 280px;width:auto;}
.ztzl_box ul li{width:calc(50% - 5px);height:101px;margin-bottom:10px;position:relative;overflow:hidden;}
.ztzl_box ul li:nth-child(odd){float:left;}
.ztzl_box ul li:nth-child(even){float:right;}
.ztzl_box ul li img{width:220px;height:101px;object-fit:cover;transition:transform .4s;}
.ztzl_box ul li:hover img{transform:scale(1.08);}
.ztzl_box ul li p{position:absolute;left:0;bottom:0;width:100%;height:26px;line-height:26px;
  background:linear-gradient(0deg,rgba(110,31,24,.72),transparent);
  color:#f6ece4;font-size:12px;text-align:center;}

/* ---- 公告栏 ---- */
.gg_box{width:100%;float:left;margin-top:18px;}
.gg_list{width:100%;float:left;border:1px solid #ece6dd;background:#fdf9f4;}
.gg_list ul{padding:8px 0;margin:0;list-style:none;}
.gg_list ul li{width:50%;float:left;height:32px;line-height:32px;font-size:14px;
  padding:0 16px;box-sizing:border-box;display:inline-flex;align-items:center;overflow:hidden;}
.gg_list ul li a{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;
  text-overflow:ellipsis;color:#333;text-decoration:none;transition:color .2s;}
.gg_list ul li::before{content:"▸";color:var(--br-l);margin-right:8px;flex:0 0 auto;}
.gg_list ul li:hover a{color:var(--accent);text-decoration:underline;}
.gg_list .clear{clear:both;}

/* ---- 专题专栏 ---- */
.zt_box{width:100%;float:left;margin-top:18px;}
.zt_list{display:flex;justify-content:space-between;}
.zt_list li{width:228px;background:#fdf9f4;border:1px solid #ece6dd;overflow:hidden;
  transition:transform .3s,box-shadow .3s;}
.zt_list li:hover{transform:translateY(-5px);box-shadow:0 8px 18px rgba(110,31,24,.16);}
.zt_list li img{width:228px;height:120px;object-fit:cover;}
.zt_list li .zinfo{padding:8px 10px 10px;}
.zt_list li .zinfo h4{font-size:14px;color:#3a2e2a;line-height:22px;font-weight:bold;}
.zt_list li .zinfo p{font-size:12px;color:#9a8c80;line-height:19px;margin-top:4px;height:38px;overflow:hidden;}

/* 专题专栏：独立重写的卡片区块（v2.6）。
   用 Grid 而非 flex —— flex 在空间不足时会把卡片压缩变形甚至塌陷，
   auto-fit + minmax 则天然随宽度换行，任何窗口宽度都稳定排布。
   图片带 onerror 兜底：万一图挂了只隐藏图，标题与说明照常可见。 */
.zt2{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));
  gap:14px;margin-top:14px;width:100%;}
.zt2c{display:block;text-decoration:none;background:#fdf9f4;
  border:1px solid #ece6dd;border-radius:8px;overflow:hidden;
  transition:transform .3s ease,box-shadow .3s ease;}
.zt2c:hover{transform:translateY(-4px);box-shadow:0 8px 18px rgba(110,31,24,.16);}
.zt2c img{display:block;width:100%;height:120px;object-fit:cover;}
.zt2t{padding:9px 11px 11px;}
.zt2t h4{font-size:14px;color:#3a2e2a;line-height:22px;font-weight:bold;}
.zt2t p{font-size:12px;color:#9a8c80;line-height:19px;margin-top:4px;
  height:38px;overflow:hidden;}
/* ============ 首页中段：经典双栏矩阵 + 侧栏 ============ */
.mid_layout{display:flex;gap:24px;margin-top:20px;width:100%;}
.mid_left{flex:1;min-width:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.mid_right{width:360px;flex-shrink:0;display:flex;flex-direction:column;gap:18px;}

/* 栏目区块 (cat_box) */
.cat_box{background:#fff;border:1px solid #e5dbd3;border-radius:4px;overflow:hidden;box-shadow:0 1px 4px rgba(60,40,32,.04);transition:box-shadow .3s var(--ease);}
.cat_box:hover{box-shadow:0 6px 16px rgba(60,40,32,.08);}
.cat_box_hd{height:40px;background:#ffffff;border-bottom:2px solid #8c2b22;display:flex;align-items:center;padding:0 2px;justify-content:space-between;box-sizing:border-box;}
.cat_box_hd .cat_title{color:#8c2b22!important;font-size:16px;font-weight:bold;letter-spacing:0.5px;display:flex;align-items:center;gap:6px;}
.cat_box_hd .more{color:#9a8c80;font-size:13px;text-decoration:none;}
.cat_box_hd .more:hover{color:#8c2b22;}
.cat_box_body{padding:12px 14px;}

/* 头条图文 (cat_feat) */
.cat_feat{display:flex;gap:12px;margin-bottom:10px;min-height:68px;}
.cat_feat a{flex-shrink:0;}
.cat_feat img{width:90px;height:60px;object-fit:cover;border-radius:3px;border:1px solid #eee;display:block;}
.cat_feat_txt{flex:1;min-width:0;}
.cat_feat_txt strong{display:block;font-size:13px;line-height:1.4;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cat_feat_txt strong a{color:#2a201c;text-decoration:none;}
.cat_feat_txt strong a:hover{color:var(--br);}
.cat_feat_txt p{font-size:12px;line-height:1.45;color:#777;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* 分隔线与文章列表 */
.cat_hr{height:1px;background:#f0eae4;margin:8px 0 10px;}
.cat_sub_list{list-style:none;padding:0;margin:0;}
.cat_sub_list li{height:26px;line-height:26px;display:flex;justify-content:space-between;align-items:center;font-size:13px;}
.cat_sub_list li a{color:#443b37;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;}
.cat_sub_list li a:hover{color:var(--br-l);text-decoration:underline;}
.cat_sub_list li span{color:#a89c94;font-size:12px;margin-left:8px;flex-shrink:0;}

/* 侧边卡片 (side_box) */
.side_box{background:#fff;border:1px solid #e5dbd3;border-radius:4px;overflow:hidden;box-shadow:0 1px 4px rgba(60,40,32,.04);}
.side_box_hd{height:36px;background:linear-gradient(90deg,#9a2f24,#b43e32);display:flex;align-items:center;padding:0 12px;justify-content:space-between;color:#fff;}
.side_box_hd span{font-size:15px;font-weight:bold;letter-spacing:1px;}
.side_box_hd .more{color:#fde8e5;font-size:12px;text-decoration:none;}
.side_box_hd .more:hover{color:#fff;}
.side_tabs{display:flex;align-items:center;gap:6px;font-size:13px;color:#fcdcd7;}
.side_tabs a{color:#fde8e5;cursor:pointer;padding:2px 4px;border-radius:2px;}
.side_tabs a.on{color:#fff;font-weight:bold;background:rgba(255,255,255,.25);}

/* 侧边公告与列表 */
.side_notice_list{list-style:none;padding:10px 14px;margin:0;}
.side_notice_list li{line-height:28px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.side_notice_list li::before{content:"▪ ";color:var(--gold);}
.side_notice_list li a{color:#3a2e2a;text-decoration:none;}
.side_notice_list li a:hover{color:var(--br);}

/* 侧边专题 */
.side_specials{padding:10px 14px;display:flex;flex-direction:column;gap:10px;}
.side_special_item{display:flex;gap:10px;text-decoration:none;color:inherit;padding-bottom:8px;border-bottom:1px dashed #efe9e1;}
.side_special_item:last-child{border-bottom:none;padding-bottom:0;}
.side_special_item img{width:110px;height:55px;object-fit:cover;border-radius:3px;flex-shrink:0;}
.side_special_txt{flex:1;min-width:0;}
.side_special_txt strong{display:block;font-size:13px;color:#2a201c;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.side_special_item:hover .side_special_txt strong{color:var(--br);}
.side_special_txt p{font-size:11px;color:#888;line-height:1.4;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* 侧边排行与每周一星 (Digg 榜单) */
.side_rank_list,.star_list{list-style:none;padding:10px 14px;margin:0;}
.side_rank_list li,.star_list li{display:flex;align-items:center;line-height:28px;font-size:13px;gap:8px;}
.rank_badge{width:18px;height:18px;line-height:18px;text-align:center;font-size:11px;border-radius:2px;background:#e9dfd8;color:#554842;flex-shrink:0;font-weight:bold;}
.rank_badge.top1{background:#e53935;color:#fff;}
.rank_badge.top2{background:#fb8c00;color:#fff;}
.rank_badge.top3{background:#fdd835;color:#333;}
.side_rank_list li a,.star_list li a{color:#3a2e2a;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.side_rank_list li a:hover,.star_list li a:hover{color:var(--br);text-decoration:underline;}

/* ============ 下部板块：影集 + 下载 + 调查问卷 + 友情链接 ============ */
.lower_layout{margin-top:24px;width:100%;}
.lower_cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.lower_box{margin:0;}

/* 调查问卷 */
.vote_card{display:flex;flex-direction:column;}
.vote_con{padding:12px 14px;flex:1;display:flex;flex-direction:column;}
.vote_q{font-size:13px;line-height:1.5;color:#2a201c;font-weight:500;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed #efe9e1;}
.vote_options{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#443b37;margin-bottom:12px;}
.vote_options label{display:flex;align-items:center;gap:6px;cursor:pointer;}
.vote_options input{cursor:pointer;}
.vote_actions{display:flex;align-items:center;gap:12px;margin-top:auto;}
.btn_vote_submit{padding:4px 14px;background:var(--br);color:#fff;border:none;border-radius:2px;font-size:12px;cursor:pointer;transition:background .2s;}
.btn_vote_submit:hover{background:var(--br-l);}
.btn_vote_res{font-size:12px;color:var(--br);text-decoration:none;}
.btn_vote_res:hover{text-decoration:underline;}

/* 友情链接 */
.ylink_box{background:#fff;border:1px solid #e5dbd3;border-radius:4px;margin-top:20px;overflow:hidden;}
.ylink_hd{height:34px;background:#f8f4f0;border-bottom:1px solid #e5dbd3;display:flex;align-items:center;padding:0 14px;font-size:14px;font-weight:bold;color:#3a2e2a;}
.ylink_hd .t{margin-right:12px;}
.ylink_hd .red{color:#d32f2f;font-size:12px;font-weight:normal;text-decoration:none;}
.ylink_hd .red:hover{text-decoration:underline;}
.ylink_hd .rt{margin-left:auto;font-size:12px;font-weight:normal;color:#7a6d65;text-decoration:none;}
.ylink_hd .rt:hover{color:var(--br);}
.ylink_logos{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:14px;list-style:none;margin:0;background:#fff;border-bottom:1px solid #f2ebe4;}
.ylink_logos li a{display:inline-block;border:1px solid #e2d9d0;padding:1px;border-radius:2px;transition:border-color .2s;}
.ylink_logos li a:hover{border-color:var(--br);}
.ylink_logos img{width:88px;height:31px;display:block;object-fit:contain;}
.ylink_texts{padding:10px 14px;font-size:12px;color:#7a6d65;line-height:1.9;background:#faf7f4;display:flex;flex-wrap:wrap;gap:4px 16px;}
.ylink_texts a{color:#4a3f39;text-decoration:none;display:inline-block;}
.ylink_texts a:hover{color:var(--br);text-decoration:underline;}

/* 弹窗遮罩 */
.vote_modal_mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:9999;}
.vote_modal{background:#fff;border-radius:6px;width:420px;max-width:90vw;box-shadow:0 8px 30px rgba(0,0,0,.25);overflow:hidden;}
.vote_modal_hd{background:var(--br-d);color:#fff;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;}
.vote_modal_hd h4{margin:0;font-size:15px;}
.vote_modal_close{cursor:pointer;color:#fff;font-size:18px;background:none;border:none;}
.vote_modal_body{padding:16px;}
.vote_bar_item{margin-bottom:10px;}
.vote_bar_lbl{display:flex;justify-content:space-between;font-size:12px;color:#333;margin-bottom:3px;}
.vote_bar_bg{height:8px;background:#eee;border-radius:4px;overflow:hidden;}
.vote_bar_fill{height:100%;background:linear-gradient(90deg,var(--br),var(--gold));border-radius:4px;}

/* ============ 底部 ============ */
.foot{width:100%;float:left;margin-top:22px;background:var(--br-d);padding:22px 0 18px;}
.foot .w1140{text-align:center;color:#e0cfc6;}
.foot .flinks{font-size:13px;line-height:26px;}
.foot .flinks a{color:#e0cfc6;margin:0 10px;}
.foot .flinks a:hover{color:var(--gold);}
.foot .finfo{font-size:12px;line-height:22px;margin-top:10px;color:#bfa79c;}
.foot .finfo span{margin:0 6px;}

/* 滚动显现动画 */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.rv.vis{opacity:1;transform:none;}

/* 返回顶部 */
#totop{position:fixed;right:24px;bottom:18px;width:40px;height:40px;background:var(--br);
  color:#f6ece4;text-align:center;line-height:40px;font-size:12px;cursor:pointer;
  border-radius:4px;display:none;z-index:120;box-shadow:0 2px 8px rgba(0,0,0,0.18);
  transition:background .2s,transform .2s;}
#totop:hover{background:var(--br-l);transform:translateY(-3px);}

/* ============================================================
   内页公共样式（面包屑 / 文章页 / 栏目列表 / 分页 / 侧栏）
   追加于 v4 全站生成阶段
   ============================================================ */
.crumb{width:100%;float:left;height:38px;line-height:38px;font-size:13px;color:#9a8c80;
  border-bottom:1px solid var(--line);margin-top:14px;}
.crumb a{color:#5c4a44;}
.crumb a:hover{color:var(--br-l);}
.crumb em{font-style:normal;margin:0 7px;color:#c5bcb2;}
.crumb b{color:#3a2e2a;font-weight:normal;}

.pw_main{width:880px;float:left;}
.pw_side{width:294px;float:right;}

/* ---- 文章页 ---- */
.art_box{width:100%;float:left;padding:22px 0 10px;}
.art_title{width:100%;text-align:center;font-size:28px;line-height:40px;font-weight:bold;
  color:#2c2320;padding-bottom:12px;}
.art_meta{width:100%;text-align:center;font-size:13px;color:#9a8c80;
  padding-bottom:18px;border-bottom:1px solid var(--line);}
.art_meta i{font-style:normal;margin:0 10px;color:#c5bcb2;}
.art_body{width:100%;float:left;padding:22px 6px 10px;font-size:16px;line-height:30px;color:#3a2e2a;overflow-wrap:anywhere;}
.art_body p{margin-bottom:15px;}
.art_body img{max-width:100%;height:auto;display:block;margin:12px auto;}
.art_body a{color:var(--br-l);text-decoration:underline;word-break:break-word;}
.art_body table{max-width:none;border-collapse:collapse;margin:10px auto;table-layout:auto;width:auto;}
.art_body td,.art_body th{border:1px solid #cbd5e1;padding:7px 10px;font-size:14px;overflow-wrap:break-word;word-break:normal;}
.art_nav{width:100%;float:left;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);
  font-size:14px;color:#7e6f64;line-height:26px;}
.art_nav a{color:#5c4a44;display:block;}
.art_nav a:hover{color:var(--br-l);}

/* ---- 栏目列表页 ---- */
.cat_hd{width:100%;float:left;height:44px;line-height:44px;font-size:22px;font-weight:bold;
  color:#2c2320;border-bottom:2px solid var(--br);margin-bottom:6px;}
.cat_hd span{font-size:13px;color:#9a8c80;font-weight:normal;margin-left:10px;}
.cat_list{width:100%;float:left;margin:0;padding:0;list-style:none;}
.cat_list li{width:100%;height:36px;line-height:36px;border-bottom:1px dotted #efe9e1;
  display:flex;justify-content:space-between;align-items:center;overflow:hidden;box-sizing:border-box;}
.cat_list li::before{content:"·";color:var(--br-l);font-weight:bold;margin-right:8px;flex:0 0 auto;}
.cat_list li a{flex:1 1 auto;min-width:0;overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis;font-size:15px;color:#3a2e2a;text-decoration:none;transition:color .2s;}
.cat_list li span{flex:0 0 auto;margin-left:12px;color:#b0a49a;font-size:13px;white-space:nowrap;}
.cat_list li:hover a{color:var(--accent);text-decoration:underline;}
.empty_tip{width:100%;float:left;padding:40px 0;text-align:center;color:#9a8c80;font-size:14px;}

/* ---- 分页 ---- */
.pager{width:100%;float:left;text-align:center;padding:26px 0 6px;}
.pager a,.pager b{display:inline-block;min-width:32px;height:32px;line-height:32px;padding:0 10px;
  margin:0 3px;border:1px solid var(--line);color:#5c4a44;font-size:13px;font-weight:normal;
  transition:all .2s;}
.pager a:hover{background:var(--br-l);border-color:var(--br-l);color:#fff;}
.pager b{background:var(--br);border-color:var(--br);color:#fff;}

/* ---- 侧栏卡片 ---- */
.side_box{width:100%;float:left;margin-bottom:16px;border:1px solid var(--line);background:#fdf9f4;}
.side_box h3{height:40px;line-height:40px;font-size:15px;color:#fff;font-weight:bold;
  background:var(--br);padding:0 14px;}
.side_box ul{padding:8px 14px 12px;}
.side_box ul li{line-height:29px;font-size:13px;color:#5c4a44;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.side_box ul li a{color:#5c4a44;}
.side_box ul li:hover a{color:var(--br-l);}
.side_box ul li::before{content:"·";color:var(--br-l);font-weight:bold;margin-right:6px;}

/* ---- 全站栏目导航页（sitemap） ---- */
.map_grid{width:100%;float:left;display:flex;flex-wrap:wrap;}
.map_grid li{width:288px;margin:0 16px 16px 0;background:#fdf9f4;border:1px solid var(--line);
  padding:12px 14px;}
.map_grid li h4{font-size:15px;color:var(--br);margin-bottom:6px;}
.map_grid li p{font-size:12px;color:#9a8c80;}

/* ==========================================================================
   v1.1 追加｜移动端适配 / 无障碍 / 图片查看
   全部写在末尾：桌面端视觉完全不变，只在窄屏时才逐级覆盖上面的定宽规则。
   ========================================================================== */

/* 1) 兜底：任何图片与宽表都不许撑破容器（原布局是写死的 1200px，缺了这条必然横向滚动） */
img{max-width:100%;}
.art_body img,.map_grid img,.zt_list img{height:auto;display:block;margin:8px auto;}
table{max-width:100%;}

/* 2) 1240px 以下：容器改为流式，让内容有呼吸空间 */
@media (max-width:1240px){
  .w1140{width:auto;max-width:1140px;
    padding-left:14px;padding-right:14px;box-sizing:border-box;}
  .main{width:auto;max-width:1140px;margin:0 auto;}
}
@media (max-width:800px){
  .main{margin-left:14px;margin-right:14px;max-width:none;}
}

/* 3) 平板及以下：所有左右分栏改成上下单栏堆叠。
      断点必须与上面的 fluid 断点(1240)对齐：960-1240 之间容器只剩约 1020px，
      装不下 590+590 或 880+300 的两栏，会挤爆掉行——这正是"死区"。 */
@media (max-width:1240px){
  /* 仅内页侧栏 / 列表容器在窄屏堆叠；首页两栏(.dzsw-jdt/.news_box/.ldzc_box/.zcwj_box/.ztzl_box)
     已改为 flex 流式布局，由 flex-wrap 自然换行，不再在此强制 100% 宽，从而保留顶端对齐 + 舒适边距 */
  .pw_main,.pw_side,
  .zcwj_box_list,
  .gg_list,.news_box_con,.news_box_list,
  .map_grid li,
  .zt_list li,.zt_list li img{
    width:100%!important;float:none!important;margin-right:0!important;
  }
  .pw_main{margin-bottom:18px;}
  .map_grid li{margin-bottom:12px;}
  .main_banner,.main_banner img{height:220px;}
  .pw_side{margin-top:0;}
  /* 焦点图轮播：幻灯片随 .dzsw-jdt(flex 自适应宽) 100% 填满，比例由基线的 aspect-ratio 保住 */
  .dzsw-nr{height:100%;}
  .dzsw-nr li{width:100%!important;height:100%;}
  .dzsw-nr li img{width:100%!important;height:100%;object-fit:cover;}
  .mid_layout{flex-direction:column;}
  .mid_right{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
  .lower_cols{grid-template-columns:1fr;}
}

/* 4) 窄屏辅助无障碍降级与通用微调 */
@media (max-width:600px){
  .art_title{font-size:18px;line-height:1.5;}
  .crumb{font-size:12px;}
  .ylink_logos{justify-content:center;}
}

/* 5) 无障碍：系统开了"减弱动态效果"时，必须停掉所有动画与位移。
   对前庭功能敏感的人群而言，持续动画会引起眩晕；学校和政企项目里这通常也是评审项。 */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    transition-duration:.001ms!important;
    scroll-behavior:auto!important;
  }
  /* 关键：滚动揭示的元素默认写在 opacity:0，必须保证它们在这里恢复可见 */
  .rv{opacity:1!important;transform:none!important;}
}

/* 6) 图片查看（灯箱）：点击正文配图放大查看 */
.lb{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(28,20,16,.94);
  z-index:9999;display:none;align-items:center;justify-content:center;}
.lb.on{display:flex;}
.lb-img{max-width:92vw;max-height:86vh;object-fit:contain;border-radius:3px;}
.lb-x{position:absolute;top:16px;right:20px;width:42px;height:42px;font-size:28px;
  color:#fff;background:rgba(255,255,255,.14);border:0;border-radius:50%;cursor:pointer;
  line-height:40px;font-family:Arial,sans-serif;}
.lb-a{position:absolute;top:50%;margin-top:-33px;width:46px;height:66px;
  background:rgba(255,255,255,.14);border:0;color:#fff;font-size:32px;cursor:pointer;
  font-family:Arial,sans-serif;}
.lb-prev{left:14px;}
.lb-next{right:14px;}
.lb-x:hover,.lb-a:hover{background:var(--br);}
.lb-n{position:absolute;bottom:18px;left:0;width:100%;text-align:center;
  color:#ddd0c6;font-size:13px;letter-spacing:1px;}
@media (max-width:600px){
  .lb-a{width:38px;height:56px;margin-top:-28px;font-size:26px;}
  .lb-prev{left:6px;} .lb-next{right:6px;}
}

/* 7) 可点击放大的图片给个光标提示 */
.art_body img,.map_grid img{cursor:zoom-in;}
@media (prefers-reduced-motion: no-preference){
  .art_body img{transition:transform .35s ease;}
  .art_body img:hover{transform:scale(1.015);}
}

/* 8) 桌面端导航吸顶：读长文章时不必滚回顶部就能切栏目。
      窄屏不做 —— 手机屏幕本来就矮，吸顶反而挡住正文。 */
@media (min-width:961px){
  .header{position:sticky;top:0;z-index:200;
    box-shadow:0 2px 8px rgba(60,40,32,.10);
    transition:box-shadow .3s var(--ease);}
}

/* 9) 配图淡入：懒加载的图片到位时柔和浮现，避免"啪"地弹出来。
      写在 no-preference 里，开启减弱动效的访客完全不受影响。 */
@media (prefers-reduced-motion: no-preference){
  .art_body img,.news_box img,.dzsw-nr img,
  .zt_list img,.ztzl_box img{animation:imgIn .55s ease both;}
  @keyframes imgIn{from{opacity:0;}to{opacity:1;}}
}

/* 10) 消除内容区两侧的割裂感：定宽 1200 的白底卡片直接"贴"在米色背景上，
       边界像被一刀切断。给内容区加一圈大扩散、低透明度的落影，
       让白纸像轻轻浮在桌面上，边界自然溶进背景。 */
@media (min-width:1240px){
  .main{box-shadow:0 0 42px rgba(94,64,50,.13),0 0 10px rgba(94,64,50,.05);}
  .header{box-shadow:0 3px 14px rgba(74,27,12,.18);}
}

/* 11) 校史沿革侧边栏组件按大屏视觉对齐需求已彻底下线 */
.tl, aside.tl, .tl-btn, .tl-mask, .tl-mobile { display: none !important; }

/* 校训数据条：窄屏改为纵向堆叠 */
@media (max-width:1080px){
  .xz_bar{height:auto;flex-wrap:wrap;padding:14px 20px;}
  .xz_bar .stats{margin-left:0;margin-top:10px;width:100%;
    justify-content:space-between;flex-wrap:wrap;}
  .xz_bar .st{margin-left:0;}
}

/* ============================================================================
   高级感增强 v2.7.6（web-ui-premium 方法论：克制 + 签名感 + 安全动效）
   所有 hover 动效包 @media (hover:hover)；所有动画包 prefers-reduced-motion 兜底。
   不引入横向溢出/裁切/失真，响应式基线 263 保持全绿。
   ============================================================================ */

/* 1) 品牌化选区高亮 */
::selection{background:var(--br-l);color:#fff;}
::-moz-selection{background:var(--br-l);color:#fff;}

/* 2) 流体字号：logo 与区块标题随视口优雅缩放（桌面保持原尺寸，移动端不挤） */
.logo .sname{font-size:clamp(26px,1.4rem + 1vw,34px);}
.box_hd .t{font-size:clamp(18px,1rem + .5vw,22px);}
.art_body h2{font-size:var(--step-2);line-height:1.25;margin:1.1em 0 .5em;
  text-wrap:balance;color:#3a2e2a;}
.art_body h3{font-size:var(--step-1);line-height:1.3;margin:1em 0 .4em;
  text-wrap:balance;color:#3a2e2a;}
.art_body p{text-wrap:pretty;}

/* 3) 吸顶导航滚动投影（吸顶本身见上方 @media min-width:961px；下滚时浮起更明显） */
.header.scrolled{box-shadow:0 2px 12px rgba(110,31,24,.14);}

/* 4) 卡片悬浮微抬起（克制，仅指针设备） */
.news_box_list_one,.zt2 a,.list_one{transition:transform .4s var(--ease),
  box-shadow .4s var(--ease);}
@media (hover:hover){
  .news_box_list_one:hover,.zt2 a:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 26px -12px rgba(110,31,24,.22);
  }
}

/* 5) “更多/详情”文字链接：定向擦除下划线（与导航同源语言） */
.more,.box_hd .more,.notice_bar .more{position:relative;}
.more::after,.box_hd .more::after,.notice_bar .more::after{
  content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:bottom right;
  transition:transform .3s var(--ease);}
@media (hover:hover){
  .more:hover::after,.box_hd .more:hover::after,.notice_bar .more:hover::after{
    transform:scaleX(1);transform-origin:bottom left;}
}

/* 6) 滚动揭示（渐进增强：JS 自动给目标打 .reveal；无 JS 完全可见） */
.reveal{opacity:0;transform:translateY(18px);
  transition:opacity .7s ease,transform .7s var(--ease);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  .header{transition:none;}
  .news_box_list_one:hover,.zt2 a:hover{transform:none;}
}

/* 7) 字体平滑（深红导航底更通透） */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth;}
}

/* ============================================================
   校史影像 / 影集画廊样式 (Photo Gallery Component)
   适配 a_199.html / a_200.html 等全站 33 个相册页面
   ============================================================ */
.tool{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;
  background:#fbf9f6;border:1px solid #ebd8c8;border-radius:6px;margin:12px 0;font-size:13px;color:#6b5f58;}
.tool span{cursor:pointer;color:#8c2b22;font-weight:500;padding:2px 8px;border-radius:3px;transition:background .2s;}
.tool span:hover{background:#f3eae1;}
.tool .stat#picnum{cursor:default;color:#555;font-size:14px;background:none;font-weight:normal;}
.tool .Article-Tool{display:flex;align-items:center;gap:6px;font-size:12px;color:#999;}

.big-pic{position:relative !important;width:100% !important;height:520px !important;min-height:360px !important;
  max-height:560px !important;background:radial-gradient(ellipse at center, #272a31 0%, #151619 100%) !important;border-radius:8px !important;
  display:flex !important;align-items:center !important;justify-content:center !important;
  overflow:hidden !important;margin:14px 0 !important;box-shadow:0 4px 20px rgba(0,0,0,0.18) !important;}
#big-pic{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  padding:10px;box-sizing:border-box;overflow:hidden;}
#big-pic .big-pic-backdrop{position:absolute;top:-30px;left:-30px;right:-30px;bottom:-30px;
  background-size:cover;background-position:center;filter:blur(32px) brightness(0.55) saturate(1.25);
  opacity:0.75;transform:scale(1.15);pointer-events:none;z-index:1;transition:opacity 0.3s ease;}
#big-pic img{position:relative;z-index:2;width:100%;height:100%;max-width:96%;max-height:96%;object-fit:contain;
  border-radius:4px;box-shadow:0 6px 24px rgba(0,0,0,0.5);cursor:pointer;transition:opacity .25s ease, transform .2s ease;}
#big-pic img:hover{transform:scale(1.008);}

.photo_prev, .photo_next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;
  background:rgba(0,0,0,0.45);color:#fff;border-radius:50%;font-size:28px;line-height:42px;
  text-align:center;cursor:pointer;user-select:none;z-index:10;transition:all .2s;
  backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,0.25);}
.photo_prev{left:16px;}
.photo_next{right:16px;}
.photo_prev:hover, .photo_next:hover{background:rgba(140,43,34,0.85);border-color:#ffcc80;transform:translateY(-50%) scale(1.08);}

#picinfo{width:100%;text-align:center;padding:8px 14px;box-sizing:border-box;font-size:13px;
  color:#6b5f58;background:#faf7f2;border:1px solid #ebd8c8;border-radius:4px;margin:8px 0 16px;line-height:1.4;}

.list-pic{width:100%;display:flex;align-items:center;gap:12px;background:#f8f4ee;
  border:1px solid #e5dccf;border-radius:6px;padding:10px 14px;box-sizing:border-box;margin:14px 0;}
.list-pic .pre, .list-pic .next{flex-shrink:0;text-align:center;font-size:12px;}
.list-pic .pre a, .list-pic .next a{color:#8c2b22;font-weight:600;text-decoration:none;display:block;}
.list-pic .pre .img-wrap, .list-pic .next .img-wrap{width:70px;height:52px;border-radius:4px;
  overflow:hidden;border:1px solid #d5c8b8;margin-bottom:4px;background:#000;}
.list-pic .pre img, .list-pic .next img{width:100%;height:100%;object-fit:cover;display:block;}

.list-pic > span{display:none !important;}
.list-pic .cont{flex:1 !important;min-width:0 !important;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;position:relative;}
.list-pic .cont::-webkit-scrollbar{height:6px;}
.list-pic .cont::-webkit-scrollbar-thumb{background:#d5c8b8;border-radius:3px;}

#pictureurls{display:flex !important;flex-direction:row !important;position:relative !important;
  list-style:none !important;margin:0 !important;padding:4px 2px !important;gap:8px !important;
  white-space:nowrap !important;width:max-content !important;}
#pictureurls li{flex:0 0 auto !important;width:76px !important;height:56px !important;
  border-radius:4px !important;overflow:hidden !important;border:2px solid transparent !important;
  cursor:pointer !important;opacity:0.65;transition:all .2s ease !important;background:#111 !important;}
#pictureurls li:hover{opacity:0.95;transform:translateY(-2px);}
#pictureurls li.active{opacity:1 !important;border-color:#8c2b22 !important;
  box-shadow:0 0 0 2px rgba(140,43,34,0.35) !important;transform:scale(1.06);}
#pictureurls li .img-wrap, #pictureurls li .img-wrap span{width:100% !important;height:100% !important;display:block !important;}
#pictureurls li img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important;}

#endSelect{position:absolute;inset:0;background:rgba(0,0,0,0.85);display:none;align-items:center;
  justify-content:center;z-index:20;border-radius:8px;backdrop-filter:blur(6px);}
#endSelect .E_Cont{text-align:center;color:#fff;margin:auto;}
#endSelect .E_Cont p{font-size:16px;margin-bottom:12px;}
#endSelect a#nextPicsBut{display:inline-block;padding:8px 22px;background:#8c2b22;color:#fff;
  border-radius:20px;text-decoration:none;font-size:14px;transition:background .2s;}
#endSelect a#nextPicsBut:hover{background:#a6352a;}
#endSelClose{position:absolute;right:16px;top:16px;width:32px;height:32px;color:#fff;
  font-size:22px;line-height:30px;text-align:center;cursor:pointer;border-radius:50%;
  background:rgba(255,255,255,0.2);transition:background .2s;}
#endSelClose:hover{background:rgba(255,255,255,0.45);}
#endSelClose::after{content:"✕";}

@media (max-width: 768px) {
  .big-pic { height: 360px !important; }
}

/* ============================================================
   名师风采 / 教师形象卡片展示样式
   ============================================================ */
.teacher_portrait_img,
.art_body .content img[src*="default_teacher"] {
  display: block !important;
  width: 270px !important;
  max-width: 90% !important;
  height: auto !important;
  aspect-ratio: 300 / 390 !important;
  margin: 18px auto !important;
  border-radius: 8px !important;
  box-shadow: 0 6px 20px rgba(140, 43, 34, 0.12) !important;
  border: 1px solid #e2d7cb !important;
  background: #fbf9f6 !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
}
.teacher_portrait_img:hover,
.art_body .content img[src*="default_teacher"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 26px rgba(140, 43, 34, 0.18) !important;
}


/* ============================================================
   老官网二级子导航与页面排版样式 (Alignment with i.tryz.net)
   ============================================================ */

/* 老官网水平二级菜单 (.subnav) */
.subnav_wrap {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #d2dfed;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}
.subnav {
    height: 38px;
    line-height: 38px;
    padding: 0 12px;
    font-size: 13px;
    color: #004499;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}
.subnav a {
    color: #004499;
    text-decoration: none;
    padding: 0 5px;
    display: inline-block;
    transition: color .2s;
}
.subnav a:hover {
    color: #c00;
    text-decoration: underline;
}
.subnav a.on {
    color: #c00;
    font-weight: bold;
}
.subnav_pipe, .subnav span.pipe {
    color: #c8d8e9;
    padding: 0 3px;
}

/* 老官网面包屑导航 (.crumbs) */
.crumbs {
    padding: 10px 0 12px;
    font-size: 13px;
    color: #666;
    border-bottom: 1px solid #c3d4e7;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}
.crumbs a {
    color: #004499;
    text-decoration: none;
}
.crumbs a:hover {
    color: #c00;
    text-decoration: underline;
}
.crumbs span {
    color: #7e7e7e;
}

/* 双栏结构 (对齐老官网 col-left + col-auto) */
.main_layout {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    margin-top: 10px;
}
.main_layout .col-left {
    flex: 1;
    min-width: 0;
}
.main_layout .col-auto {
    width: 290px;
    flex-shrink: 0;
}

/* 文章列表行（左侧标题，右侧时间，点状分割线，解决文字错位） */
.article-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.article-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 36px;
    line-height: 36px;
    border-bottom: 1px dashed #e2e2e2;
    padding: 0 4px;
    transition: background .15s;
}
.article-item:hover {
    background: #fafbfd;
}
.article-item:nth-child(5n) {
    margin-bottom: 4px;
}
.article-title-link {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    padding-right: 16px;
}
.article-title-link .dot {
    margin-right: 6px;
    color: #666;
    font-weight: bold;
}
.article-title-link .title-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.article-title-link:hover .title-text {
    color: #c00;
}
.article-item .pub-time {
    flex-shrink: 0;
    color: #888;
    font-size: 13px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    text-align: right;
}

/* 侧边栏排行榜卡片 */
.rank-box {
    background: #fff;
    border: 1px solid #d9e4f0;
    border-radius: 4px;
    overflow: hidden;
}
.rank-hd {
    height: 36px;
    line-height: 36px;
    background: linear-gradient(180deg, #8c2b22 0%, #6e1f18 100%);
    padding: 0 14px;
    margin: 0;
}
.rank-hd .t {
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.5px;
}
.rank-list {
    list-style: none;
    padding: 6px 12px;
    margin: 0;
}
.rank-list li {
    display: flex;
    align-items: center;
    height: 32px;
    line-height: 32px;
    border-bottom: 1px dotted #e9edf2;
    overflow: hidden;
    font-size: 13px;
}
.rank-list li:last-child {
    border-bottom: none;
}
.rank-list li a {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #333;
    text-decoration: none;
}
.rank-list li a:hover {
    color: #c00;
}
.rank-badge {
    display: inline-block;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: 50%;
    font-size: 11px;
    font-weight: bold;
    margin-right: 8px;
    flex-shrink: 0;
    background: #b5c2d3;
    color: #fff;
}
.rank-badge.top3 {
    background: #ff7800;
}
.rank-list.month-list li {
    padding-left: 2px;
}
.rank-list.month-list .view-count {
    display: inline-block;
    width: 44px;
    font-family: Arial, sans-serif;
    font-size: 16px;
    font-style: italic;
    font-weight: bold;
    color: #1e70cd;
    margin-right: 8px;
    text-align: right;
    flex-shrink: 0;
}
.rank-empty {
    text-align: center;
    color: #999;
    padding: 20px 0;
    font-size: 13px;
}

/* 正文防挤压与文字错位优化 (Issue 2) */
.art_box {
    width: 100%;
    box-sizing: border-box;
}
.art_title {
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    color: #222;
    line-height: 1.4;
    margin: 10px 0 16px;
    word-break: break-word;
}
.art_meta {
    text-align: center;
    color: #888;
    font-size: 13px;
    border-bottom: 1px solid #ebdcd0;
    padding-bottom: 14px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}
.art_body {
    line-height: 1.8;
    font-size: 16px;
    color: #333;
    overflow-wrap: break-word;
    word-break: break-word;
}
.art_body .content {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}
.art_body table {
    max-width: none;
    width: auto;
    min-width: 0;
    display: table !important;
    table-layout: auto;
    border-collapse: collapse;
    margin: 14px auto;
}
.art_body table td,
.art_body table th {
    border: 1px solid #cbd5e1;
    vertical-align: middle;
    padding: 7px 10px;
    font-size: 14px;
    overflow-wrap: break-word;
    word-break: normal;
}
.art_body table[border="0"],
.art_body table[border="0"] td,
.art_body table[border="0"] th {
    border: none;
}
.art_body table[border="0"] td,
.art_body table[border="0"] th {
    text-align: center;
}
.art_body table td img {
    display: inline-block !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 4px auto !important;
    vertical-align: middle;
}
.art_body table td a {
    display: inline-block;
    color: #2c2320;
    text-decoration: none;
    transition: color .2s;
}
.art_body table td a:hover {
    color: #8c2b22;
    text-decoration: underline;
}
.art_body img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
    margin: 12px auto;
}

/* 搜索页面样式 (Issue 4) */
.search-page-box {
    background: #fbf9f6;
    border: 1px solid #ebdcd0;
    border-radius: 6px;
    padding: 24px;
    margin-bottom: 20px;
    text-align: center;
}
.search-form-large {
    display: flex;
    max-width: 640px;
    margin: 0 auto;
    height: 42px;
}
.search-form-large input {
    flex: 1;
    border: 2px solid var(--br);
    border-right: none;
    border-radius: 4px 0 0 4px;
    padding: 0 14px;
    font-size: 15px;
    outline: none;
}
.search-form-large button {
    padding: 0 24px;
    background: var(--br);
    color: #fff;
    border: 2px solid var(--br);
    border-radius: 0 4px 4px 0;
    font-size: 15px;
    cursor: pointer;
    font-weight: bold;
    transition: background .2s;
}
.search-form-large button:hover {
    background: var(--br-l);
}
.search-hot-tags {
    margin-top: 12px;
    font-size: 13px;
    color: #888;
}
.search-hot-tags a {
    color: #8c2b22;
    margin: 0 6px;
    text-decoration: none;
}
.search-hot-tags a:hover {
    text-decoration: underline;
}
.search-summary {
    padding: 10px 0;
    font-size: 14px;
    color: #555;
    border-bottom: 1px solid #eee;
    margin-bottom: 16px;
}
.search-result-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.search-item {
    padding: 14px 0;
    border-bottom: 1px dashed #e5e5e5;
}
.search-item-title a {
    font-size: 16px;
    font-weight: bold;
    color: #1e5aa8;
    text-decoration: none;
}
.search-item-title a:hover {
    color: #c00;
    text-decoration: underline;
}
.search-item-summary {
    font-size: 14px;
    color: #666;
    line-height: 22px;
    margin: 8px 0;
}
.search-item-meta {
    font-size: 12px;
    color: #999;
    display: flex;
    gap: 16px;
}
.page-btn, .page-num {
    display: inline-block;
    padding: 6px 14px;
    border: 1px solid #ddd;
    margin: 0 4px;
    border-radius: 3px;
    color: #333;
    text-decoration: none;
    font-size: 13px;
}
.page-num.on {
    background: #1e5aa8;
    color: #fff;
    border-color: #1e5aa8;
}
.page-btn:hover, .page-num:hover:not(.on) {
    background: #f5f5f5;
}

/* 导航栏内嵌搜索框 */
.nav_searchbar {
    display: flex;
    align-items: center;
    margin-left: auto;
    flex-shrink: 0;
}
.nav_searchbar input {
    width: 96px;
    height: 28px;
    border: 1px solid #a83a2e;
    border-right: none;
    border-radius: 3px 0 0 3px;
    padding: 0 8px;
    font-size: 12px;
    outline: none;
    background: rgba(255,255,255,0.95);
    color: #333;
    transition: width .25s ease;
}
.nav_searchbar input:focus {
    width: 130px;
    background: #ffffff;
}
.nav_searchbar button {
    height: 28px;
    padding: 0 9px;
    background: #a83a2e;
    color: #fff;
    border: 1px solid #a83a2e;
    border-radius: 0 3px 3px 0;
    cursor: pointer;
    font-size: 12px;
    transition: background .2s;
}
.nav_searchbar button:hover {
    background: #c9a55c;
}

/* ============================================================================
   组件基础样式：供桌面端及全端响应式复用
   ============================================================================ */
.mobile_nav_bar { display: none; }
.nav-toggle { display: none; }

.main_banner_link {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    text-decoration: none;
    cursor: pointer;
}
.promo_poster_img {
    width: 100%;
    height: 380px;
    object-fit: cover;
    display: block;
}

.lower_layout {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}
.lower_col {
    flex: 1;
    min-width: 0;
}

.side_gap {
    margin-top: 15px;
}
.side_banner_wrap {
    padding: 10px 0;
    text-align: center;
}
.side_banner_img {
    width: 100%;
    max-width: 280px;
    border-radius: 4px;
    display: block;
    margin: 0 auto;
}

/* 频道页头条聚合盒 (.channel_top_box) */
.channel_top_box {
    display: flex;
    gap: 22px;
    background: #ffffff;
    border: 1px solid #ebdcd0;
    border-radius: 6px;
    padding: 18px;
    margin-bottom: 22px;
    box-sizing: border-box;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03);
}
.channel_hot_lead {
    flex: 1.25;
    min-width: 0;
    display: flex;
    flex-direction: column;
}
.channel_hot_lead_img_wrap {
    width: 100%;
    height: 220px;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 12px;
    background: #f4efe8;
}
.channel_hot_lead_img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.channel_hot_lead_img_wrap:hover .channel_hot_lead_img {
    transform: scale(1.03);
}
.channel_hot_lead_title {
    font-size: 18px;
    font-weight: bold;
    margin: 0 0 8px;
    line-height: 1.4;
}
.channel_hot_lead_title a {
    color: #2b221d;
    text-decoration: none;
    transition: color 0.2s;
}
.channel_hot_lead_title a:hover {
    color: var(--br);
}
.channel_hot_lead_summary {
    font-size: 13.5px;
    color: #6a5e55;
    line-height: 1.6;
    margin: 0 0 12px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.channel_hot_lead_list {
    list-style: none;
    padding: 0;
    margin: 0;
    border-top: 1px dashed #efe8df;
    padding-top: 8px;
}
.channel_hot_lead_list li {
    height: 30px;
    line-height: 30px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13.5px;
}
.channel_hot_lead_list li a {
    color: #443833;
    text-decoration: none;
    transition: color 0.2s;
}
.channel_hot_lead_list li a:hover {
    color: var(--br);
}

/* 频道页焦点推荐栏 (.channel_hot_slider) */
.channel_hot_slider {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    border-left: 1px solid #f0e8de;
    padding-left: 20px;
}
.channel_hot_slider_hd {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--br);
    margin-bottom: 12px;
}
.channel_hot_slider_hd .t {
    font-size: 16px;
    font-weight: bold;
    color: var(--br);
}
.channel_hot_slider_hd .sub {
    font-size: 11px;
    color: #b0a499;
    letter-spacing: 1px;
    font-family: Arial, sans-serif;
}
.channel_focus_list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.channel_focus_list li {
    display: flex;
    gap: 12px;
    align-items: center;
}
.focus_thumb_wrap {
    width: 96px;
    height: 66px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden;
    background: #f0eae1;
    display: block;
}
.focus_thumb_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}
.focus_thumb_wrap:hover img {
    transform: scale(1.05);
}
.focus_info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.focus_title {
    font-size: 13.5px;
    color: #333;
    line-height: 1.45;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-decoration: none;
    transition: color 0.2s;
}
.focus_title:hover {
    color: var(--br);
}
.focus_date {
    font-size: 11.5px;
    color: #a89c92;
    margin-top: 6px;
}

/* 二级栏目矩阵 (.channel_matrix) */
.channel_matrix {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 24px;
}
.cat_box {
    background: #ffffff;
    border: 1px solid #ebdcd0;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.cat_box_hd {
    height: 40px;
    line-height: 40px;
    border-bottom: 2px solid #8c2b22;
    padding: 0 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
}
.cat_title {
    font-size: 16px;
    font-weight: bold;
    color: #8c2b22 !important;
}
.cat_box_body {
    padding: 12px 14px;
}
.cat_feat {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
    align-items: flex-start;
}
.cat_feat_thumb {
    width: 100px;
    height: 72px;
    flex-shrink: 0;
    border-radius: 4px;
    overflow: hidden;
    display: block;
    background: #eee;
}
.cat_feat_thumb img, .cat_feat img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.cat_feat_txt {
    flex: 1;
    min-width: 0;
}
.cat_feat_txt strong a {
    font-size: 13.5px;
    color: #222;
    text-decoration: none;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-bottom: 4px;
}
.cat_feat_txt strong a:hover {
    color: var(--br);
}
.cat_feat_txt p {
    font-size: 12px;
    color: #887d74;
    line-height: 1.5;
    margin: 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.cat_hr {
    height: 1px;
    border-top: 1px dashed #ebdcd0;
    margin: 8px 0;
}
.cat_sub_list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.cat_sub_list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 29px;
    line-height: 29px;
    font-size: 13px;
}
.cat_sub_list li a {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #443b35;
    text-decoration: none;
}
.cat_sub_list li a:hover {
    color: var(--br);
}
.cat_sub_list li span {
    color: #a89c92;
    font-size: 12px;
    margin-left: 8px;
    flex-shrink: 0;
}

/* 悬浮返回顶部按钮 (#totop) */
#totop {
    position: fixed;
    right: 20px;
    bottom: 26px;
    width: 44px;
    height: 44px;
    background: rgba(140, 43, 34, 0.92);
    color: #ffffff;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
    cursor: pointer;
    z-index: 9999;
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.35);
    transition: transform 0.2s, background 0.2s;
    user-select: none;
}
#totop:hover, #totop:active {
    background: rgba(168, 58, 46, 1);
    transform: translateY(-2px);
}

/* ============================================================================
   响应式核心规则：平板与移动端适配 (<= 860px)
   ============================================================================ */
@media (max-width: 860px) {
    /* 容器自适应 */
    .w1140 {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }
    .main {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 16px 24px !important;
        margin: 0 !important;
        box-shadow: none !important;
        box-sizing: border-box;
    }

    /* 顶部标牌精简 */
    .top_bar {
        display: none;
    }
    .top_bg {
        height: auto;
        padding: 10px 0;
    }
    .top_bg .mod {
        height: auto;
        padding: 0 16px;
        justify-content: space-between;
    }
    .header_logo_box {
        height: 60px;
    }
    .header_logo_img {
        height: 52px;
        width: auto;
    }
    .header_school_name .cn {
        font-size: 20px;
        letter-spacing: 1px;
    }
    .header_school_name .en {
        font-size: 9px;
    }
    .header_banner_slider {
        display: none !important; /* 彻底清除平板端撑破视口的固定 810px 横幅 */
    }

    /* 现代抽屉式导航吸顶栏 */
    .header {
        height: auto !important;
        overflow: visible !important;
        min-height: 50px;
        position: sticky;
        top: 0;
        z-index: 900;
        background: var(--br-d);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    }
    .header .w1140 {
        height: auto !important;
        flex-direction: column !important;
        padding: 0 !important;
    }
    .mobile_nav_bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        height: 50px;
        padding: 0 16px;
        box-sizing: border-box;
        background: var(--br-d);
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .mobile_nav_brand {
        display: flex;
        align-items: center;
        gap: 10px;
        text-decoration: none;
        color: #fff;
    }
    .mobile_nav_logo {
        height: 32px;
        width: auto;
        border-radius: 3px;
    }
    .mobile_nav_name {
        font-size: 17px;
        font-weight: bold;
        color: #fdf5ec;
        letter-spacing: 1px;
    }
    .nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 6px;
        height: 32px;
        padding: 0 12px;
        background: rgba(255, 255, 255, 0.12);
        border: 1px solid rgba(255, 255, 255, 0.25);
        border-radius: 16px;
        color: #fff;
        font-size: 13px;
        cursor: pointer;
        transition: all 0.25s ease;
        user-select: none;
    }
    .nav-toggle:active, .header.nav-open .nav-toggle {
        background: var(--gold);
        color: #5c1810;
        border-color: #f7d896;
    }
    .toggle_icon {
        font-size: 15px;
        line-height: 1;
        font-weight: bold;
    }
    .toggle_text {
        font-size: 12.5px;
        font-weight: 500;
        letter-spacing: 0.5px;
    }

    /* 抽屉导航卡片网格 */
    .nav_wrap {
        display: none;
        width: 100%;
        background: #5c1810;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
        box-sizing: border-box;
        animation: navFadeIn .22s ease;
    }
    .nav_wrap.open {
        display: flex;
        flex-direction: column;
    }
    @keyframes navFadeIn {
        from { opacity: 0; transform: translateY(-6px); }
        to { opacity: 1; transform: translateY(0); }
    }
    .nav {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 8px !important;
        padding: 14px 14px 10px !important;
        margin: 0 !important;
        width: 100% !important;
        height: auto !important;
        box-sizing: border-box;
    }
    .nav li {
        width: 100% !important;
        height: auto !important;
    }
    .nav li a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 38px !important;
        line-height: 38px !important;
        padding: 0 4px !important;
        font-size: 13.5px !important;
        color: #f7eee4 !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border-radius: 6px !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        transition: background 0.2s, color 0.2s !important;
    }
    .nav li a:hover, .nav li a:active {
        background: rgba(255, 255, 255, 0.18) !important;
        color: #ffffff !important;
    }
    .nav li a.on {
        background: linear-gradient(135deg, #d8b26e, #c9a55c) !important;
        color: #52150f !important;
        font-weight: bold !important;
        border-color: #ffd688 !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.2) !important;
    }
    .nav li a::after {
        display: none !important;
    }
    .nav_searchbar {
        display: flex !important;
        padding: 8px 14px 14px !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
    }
    .nav_searchbar input {
        flex: 1 !important;
        width: auto !important;
        height: 38px !important;
        border-radius: 6px 0 0 6px !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        border-right: none !important;
        background: rgba(255, 255, 255, 0.95) !important;
        font-size: 14px !important;
        padding: 0 12px !important;
        color: #333 !important;
    }
    .nav_searchbar button {
        height: 38px !important;
        padding: 0 18px !important;
        border-radius: 0 6px 6px 0 !important;
        border: 1px solid rgba(255, 255, 255, 0.3) !important;
        background: var(--gold) !important;
        color: #5c1810 !important;
        font-weight: bold !important;
        font-size: 15px !important;
        cursor: pointer;
    }

    /* 水平胶囊滑动二级导航栏 */
    .subnav_wrap {
        background: #faf6f0;
        border-bottom: 1px solid #ebdcd0;
        padding: 8px 0;
        width: 100%;
        box-sizing: border-box;
    }
    .subnav_wrap .w1140 {
        padding: 0 !important;
    }
    .subnav {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 2px 14px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        scrollbar-width: none;
        box-sizing: border-box;
    }
    .subnav::-webkit-scrollbar {
        display: none;
    }
    .subnav_pipe {
        display: none;
    }
    .subnav_item {
        display: inline-flex;
        flex-shrink: 0;
    }
    .subnav_item a {
        display: inline-block;
        padding: 5px 14px;
        background: #eee8df;
        color: #554841;
        font-size: 13px;
        font-weight: 500;
        border-radius: 16px;
        text-decoration: none;
        transition: all 0.2s;
        border: 1px solid transparent;
    }
    .subnav_item a:active, .subnav_item a:hover {
        background: #e4dbcf;
        color: var(--br);
    }
    .subnav_item a.on {
        background: var(--br);
        color: #ffffff;
        font-weight: bold;
        border-color: var(--br);
        box-shadow: 0 2px 6px rgba(140, 43, 34, 0.25);
    }

    /* 平板端宣传海报自适应 */
    .main_banner, .promo_poster_img {
        height: 240px;
    }
    .main_banner .cap {
        height: 42px;
        line-height: 42px;
        padding: 0 16px;
    }
    .main_banner .cap_title {
        font-size: 14px;
    }

    /* 平板/移动端首页焦点与新闻自适应 */
    .main_sub--focus {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important;
        gap: 16px !important;
    }
    .dzsw-jdt {
        width: 100%;
        flex: none;
        aspect-ratio: 16 / 9;
        height: auto;
        border-radius: 6px;
        overflow: hidden;
    }
    .news_box,
    .fixed_notice_box {
        width: 100%;
        flex: none;
        height: auto;
        min-height: 280px;
    }

    /* 平板端全宽四宫格自适应单列/双列 */
    .home_grid_layout {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .lower_layout {
        flex-direction: column;
        gap: 16px;
    }

    /* 平板端内页频道自适应 */
    .main_layout {
        flex-direction: column;
    }
    .main_layout .col-left {
        width: 100% !important;
    }
    .main_layout .col-auto {
        width: 100% !important;
        margin-top: 20px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .channel_top_box {
        flex-direction: column;
        gap: 18px;
    }
    .channel_hot_lead, .channel_hot_slider {
        width: 100% !important;
        border-left: none;
        padding-left: 0;
    }
    .channel_matrix {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

/* ============================================================================
   响应式核心规则：手机端深度优化 (< 768px)
   覆盖各种主流智能手机屏幕 (360px - 767px)
   ============================================================================ */
@media (max-width: 768px) {
    /* 页面基础边距微调 */
    .w1140 {
        padding-left: 12px;
        padding-right: 12px;
    }
    .main {
        padding: 0 12px 20px !important;
    }

    /* 顶部 Logo 紧凑化 */
    .top_bg {
        padding: 6px 0;
    }
    .top_bg .mod {
        justify-content: center;
        padding: 0 8px;
    }
    .header_logo_box {
        height: 48px;
    }
    .header_logo_img {
        height: 42px;
    }
    .header_school_name .cn {
        font-size: 18px;
        letter-spacing: 0.5px;
    }
    .header_school_name .en {
        display: none;
    }

    /* 抽屉导航按 3 列精致排列 */
    .nav {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 6px !important;
        padding: 10px 8px 8px !important;
    }
    .nav li a {
        height: 36px !important;
        line-height: 36px !important;
        font-size: 13px !important;
        padding: 0 2px !important;
    }
    .nav_searchbar {
        padding: 6px 8px 12px !important;
    }
    .nav_searchbar input {
        height: 36px !important;
        font-size: 13px !important;
    }
    .nav_searchbar button {
        height: 36px !important;
        padding: 0 14px !important;
        font-size: 14px !important;
    }

    /* 宣传片横幅海报：16:9 自适应 */
    .main_banner {
        height: auto;
        aspect-ratio: 16 / 9;
        min-height: 140px;
        max-height: 220px;
        margin: 10px 0;
        border-radius: 6px;
    }
    .promo_poster_img {
        height: 100%;
        width: 100%;
        aspect-ratio: 16 / 9;
    }
    .main_banner .cap {
        height: 36px;
        line-height: 36px;
        padding: 0 10px;
        background: linear-gradient(90deg, rgba(110, 31, 24, 0.95), rgba(110, 31, 24, 0.7));
    }
    .main_banner .cap_title {
        font-size: 12px;
    }
    .video_sound_btn {
        padding: 3px 8px;
        font-size: 11px;
        border-radius: 12px;
    }

    /* 校园快讯通知条 */
    .notice_bar {
        height: 34px;
        margin-top: 10px;
    }
    .notice_bar .tag {
        margin: 0 8px;
        font-size: 12px;
    }
    .notice_bar .roll {
        height: 34px;
    }
    .notice_bar .roll li {
        height: 34px;
        line-height: 34px;
        font-size: 12.5px;
    }
    .notice_bar .more {
        margin-right: 8px;
        font-size: 12px;
    }

    /* 焦点轮播图与新闻切换 */
    .main_sub--focus {
        margin-top: 10px;
        gap: 14px;
    }
    .dzsw-title {
        padding-right: 90px;
        font-size: 13px;
        height: 34px;
        line-height: 34px;
    }
    .dzsw-title-bg {
        height: 34px;
    }
    .dzsw-btn {
        bottom: 6px;
        right: 8px;
        padding: 2px 6px;
    }
    .dzsw-btn li {
        width: 16px;
        height: 16px;
        line-height: 16px;
        font-size: 11px;
    }
    .dzsw-btn li.on {
        width: 16px;
    }
    .news_tabs_nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        white-space: nowrap;
    }
    .news_tabs_nav a {
        padding: 0 8px;
        font-size: 13.5px;
    }
    .news_box_con {
        height: auto;
        min-height: 240px;
    }
    .news_box_list ul li {
        height: 34px;
        line-height: 34px;
        font-size: 13px;
    }

    /* 图片新闻流式双列 */
    .tpxw_box {
        margin-top: 14px;
    }
    .tpxw_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        padding: 8px 0;
    }
    .tpxw_list li {
        width: 100% !important;
        margin: 0 !important;
    }
    .tpxw_list .img_wrap {
        width: 100%;
        aspect-ratio: 4 / 3;
        height: auto;
        border-radius: 4px;
        overflow: hidden;
    }
    .tpxw_list .img_wrap img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .tpxw_list p {
        font-size: 12.5px;
        line-height: 1.4;
        margin-top: 6px;
        height: 34px;
        overflow: hidden;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
    }

    /* 首页全宽四宫格移动端单列纵向卡片流 */
    .home_grid_layout {
        grid-template-columns: 1fr;
        gap: 14px;
        margin-top: 14px;
    }
    .grid_cat_box {
        padding: 12px 14px;
    }
    .grid_cat_box .cat_feat {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }
    .grid_cat_box .cat_feat img {
        width: 100%;
        height: 160px;
    }
    .grid_cat_box .cat_feat_txt strong a {
        font-size: 14px;
    }
    .grid_cat_box .cat_feat_txt p {
        font-size: 12.5px;
        line-height: 1.5;
    }
    .grid_cat_box .cat_sub_list li {
        font-size: 13px;
        line-height: 28px;
    }

    /* 频道内页手机适配 */
    .crumbs {
        padding: 8px 0;
        font-size: 12.5px;
    }
    .main_layout .col-auto {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }
    .channel_top_box {
        flex-direction: column;
        gap: 14px;
        padding: 12px;
    }
    .channel_hot_lead_img_wrap {
        height: 170px;
    }
    .channel_hot_lead_title {
        font-size: 15px;
    }
    .channel_hot_lead_summary {
        font-size: 12.5px;
    }
    .channel_matrix {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    /* 文章列表单项自适应折行 */
    .article-item {
        height: auto;
        min-height: 36px;
        padding: 6px 2px;
        flex-wrap: wrap;
        gap: 2px;
    }
    .article-title-link {
        width: 100%;
        padding-right: 0;
        font-size: 13.5px;
    }
    .article-item .pub-time {
        font-size: 11px;
        color: #a4978a;
        width: 100%;
        text-align: left;
        padding-left: 10px;
    }

    /* 文章正文 */
    .art_title {
        font-size: 19px !important;
        line-height: 1.4 !important;
        margin: 10px 0 !important;
    }
    .art_meta {
        font-size: 12px !important;
        gap: 8px !important;
        margin-bottom: 14px !important;
        padding-bottom: 10px !important;
    }
    .art_body {
        font-size: 15px !important;
        line-height: 1.75 !important;
    }
    .art_body p {
        margin: 10px 0 !important;
    }
    .art_body .content {
        overflow-x: auto !important;
        max-width: 100% !important;
        -webkit-overflow-scrolling: touch !important;
    }
    .art_body table[border="0"] {
        min-width: 500px;
    }

    /* 页尾 */
    .foot {
        padding: 18px 10px;
        text-align: center;
    }
    .foot .w1140 {
        padding: 0 !important;
    }
    .flinks {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 6px 10px;
        margin-bottom: 12px;
    }
    .flinks a {
        font-size: 12.5px;
        color: #f0e6dc;
    }
    .f_pipe {
        display: none;
    }
    .finfo {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
    }
    .gov_badge_img {
        width: 36px;
        height: auto;
    }
    .finfo_content {
        font-size: 11.5px;
        color: #d1c0b4;
        line-height: 1.6;
        text-align: center;
    }
    .finfo_links {
        display: flex;
        flex-direction: column;
        gap: 4px;
        align-items: center;
        margin-top: 6px;
    }
    .finfo_links .f_sep {
        display: none;
    }
    .finfo_links a {
        font-size: 11.5px;
        color: #d1c0b4;
    }

    /* 浮动返回顶部按钮 */
    #totop {
        right: 14px;
        bottom: 20px;
        width: 40px;
        height: 40px;
        font-size: 15px;
    }
}

/* 极窄屏 (< 360px 如小屏 iPhone SE / 华为旧机型) */
@media (max-width: 360px) {
    .nav {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    .header_school_name .cn {
        font-size: 16px;
    }
}

/* ---- 光影铜中 / 图集展示卡片样式 (product) ---- */
.photo_card_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    list-style: none;
    margin: 0;
    padding: 4px 0 24px;
    box-sizing: border-box;
}
.photo_card_item {
    background: #ffffff;
    border: 1px solid #e8e3dc;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    display: flex;
    flex-direction: column;
    list-style: none;
}
.photo_card_item:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.1);
    border-color: #c43c35;
}
.photo_card_link {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
    color: inherit;
}
.photo_card_thumb {
    width: 100%;
    height: 165px;
    background: #f4efe8;
    overflow: hidden;
    position: relative;
}
.photo_card_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
}
.photo_card_item:hover .photo_card_thumb img {
    transform: scale(1.06);
}
.photo_card_placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #a4978a;
    font-size: 14px;
    background: #f4efe8;
}
.photo_card_info {
    padding: 10px 12px 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    background: #fff;
}
.photo_card_title {
    font-size: 13.5px;
    font-weight: 500;
    color: #2c2320;
    line-height: 20px;
    height: 40px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    transition: color 0.2s;
    word-break: break-word;
}
.photo_card_link:hover .photo_card_title {
    color: var(--br-l, #990000);
    text-decoration: none;
}
.photo_card_meta {
    margin-top: 8px;
    font-size: 12px;
    color: #9a8c80;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
@media (max-width: 900px) {
    .photo_card_grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 14px;
    }
}
@media (max-width: 520px) {
    .photo_card_grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

.photo_card_desc {
    font-size: 12.5px;
    color: #665b53;
    line-height: 18px;
    height: 36px;
    margin-top: 6px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    word-break: break-word;
}
.photo_card_btn {
    font-size: 12px;
    color: #8c2b22;
    font-weight: 600;
    transition: transform 0.2s;
}
.photo_card_item:hover .photo_card_btn {
    color: #b32d20;
    transform: translateX(2px);
}
.rank-empty {
    padding: 24px 0;
    text-align: center;
    color: #999;
    font-size: 13px;
}

/* 专题详情内页响应式优化 */
.special_intro_card {
    transition: border-color 0.2s, box-shadow 0.2s;
}
.special_intro_card:hover {
    box-shadow: 0 4px 12px rgba(140, 43, 34, 0.08);
}
@media (max-width: 768px) {
    .special_intro_card {
        padding: 14px 16px !important;
        margin-bottom: 20px !important;
    }
    .special_intro_card p {
        font-size: 13.5px !important;
        line-height: 1.6 !important;
        text-indent: 0 !important;
    }
    .sp_art_item {
        padding: 10px 12px !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 6px !important;
    }
    .sp_art_item a {
        font-size: 13.5px !important;
        white-space: normal !important;
        width: 100% !important;
    }
    .sp_art_item a span:last-child {
        white-space: normal !important;
    }
    .sp_art_item > span {
        align-self: flex-end;
        font-size: 11.5px !important;
    }
}

/* ================= 专题门户专属大气三栏现代版式 (Special Portal Layout) ================= */
.special_portal_container {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 30px;
    box-sizing: border-box;
}

.sp_hero_banner {
    width: 100%;
    margin-bottom: 24px;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    background: #f4eee7;
}
.sp_hero_banner img {
    width: 100%;
    height: auto;
    display: block;
}

.sp_layout_body {
    display: flex;
    gap: 22px;
    align-items: flex-start;
}

/* 左栏 (约 310px) */
.sp_col_left {
    width: 310px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* 焦点轮播图 */
.sp_slider_box {
    position: relative;
    width: 100%;
    height: 250px;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    background: #222;
}
.sp_slider_inner {
    width: 100%;
    height: 100%;
    position: relative;
}
.sp_slide_item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}
.sp_slide_item.active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}
.sp_slide_item a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    position: relative;
}
.sp_slide_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}
.sp_slider_box:hover .sp_slide_item.active img {
    transform: scale(1.05);
}
.sp_slide_caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 24px 75px 8px 12px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0) 100%);
    color: #ffffff;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.sp_slider_nav {
    position: absolute;
    bottom: 8px;
    right: 10px;
    z-index: 10;
    display: flex;
    gap: 4px;
}
.sp_dot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    font-size: 11px;
    font-weight: bold;
    color: #fff;
    background: rgba(0, 0, 0, 0.55);
    border-radius: 2px;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
    user-select: none;
}
.sp_dot.active, .sp_dot:hover {
    background: #8c2b22;
    transform: scale(1.1);
}

/* 左侧特色卡片 */
.sp_side_card {
    background: #faf8f5;
    border: 1px solid #e8e2d9;
    border-left: 4px solid #8c2b22;
    border-radius: 6px;
    padding: 14px 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.sp_card_title {
    font-size: 14.5px;
    font-weight: 700;
    color: #8c2b22;
    margin-bottom: 8px;
}
.sp_card_text {
    font-size: 13.5px;
    line-height: 1.65;
    color: #4a3d36;
}

/* 中栏 (核心内容区) */
.sp_col_center {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* 导语框 */
.sp_lead_box {
    position: relative;
    background: #fffdfa;
    border: 1px solid #ebdccb;
    border-left: 5px solid #8c2b22;
    border-radius: 6px;
    padding: 14px 18px 14px 44px;
    box-shadow: 0 1px 4px rgba(140, 43, 34, 0.05);
}
.sp_lead_quote {
    position: absolute;
    top: 6px;
    left: 14px;
    font-size: 32px;
    font-family: Georgia, serif;
    color: #c48e88;
    line-height: 1;
}
.sp_lead_text {
    font-size: 14px;
    line-height: 1.75;
    color: #44362f;
    margin: 0;
    font-weight: 500;
}

/* 核心头条聚焦 */
.sp_headlines_wrapper {
    background: #ffffff;
    border: 1px solid #ede7de;
    border-radius: 6px;
    padding: 16px 20px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.sp_headline_item.headline_main .sp_hl_title {
    font-size: 17.5px;
    font-weight: 700;
    line-height: 26px;
    margin: 0 0 6px 0;
}
.sp_headline_item.headline_main .sp_hl_title a {
    color: #8c2b22;
    text-decoration: none;
    transition: color 0.2s;
}
.sp_headline_item.headline_main .sp_hl_title a:hover {
    color: #b32d20;
    text-decoration: underline;
}
.sp_headline_item.headline_sub {
    padding-top: 10px;
    border-top: 1px dashed #efeae3;
}
.sp_headline_item.headline_sub .sp_hl_title {
    font-size: 15px;
    font-weight: 600;
    line-height: 22px;
    margin: 0 0 4px 0;
}
.sp_headline_item.headline_sub .sp_hl_title a {
    color: #2c2320;
    text-decoration: none;
    transition: color 0.2s;
}
.sp_headline_item.headline_sub .sp_hl_title a:hover {
    color: #8c2b22;
}
.sp_hl_desc {
    font-size: 13px;
    color: #6a5e56;
    line-height: 1.6;
    margin: 0;
}

/* 专题分类动态板块 */
.sp_section_panel {
    background: #ffffff;
    border: 1px solid #ede7de;
    border-radius: 6px;
    padding: 16px 18px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
}
.sp_sec_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 8px;
    margin-bottom: 12px;
    border-bottom: 2px solid #8c2b22;
}
.sp_sec_title {
    font-size: 16px;
    font-weight: 700;
    color: #2c2320;
    display: flex;
    align-items: center;
    gap: 8px;
}
.sp_sec_bar {
    display: inline-block;
    width: 4px;
    height: 16px;
    background: #8c2b22;
    border-radius: 2px;
}
.sp_sec_count {
    font-size: 12.5px;
    color: #998e84;
}
.sp_news_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
.sp_news_li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 4px;
    border-bottom: 1px dashed #efeae3;
    transition: background 0.15s ease;
}
.sp_news_li:last-child {
    border-bottom: none;
}
.sp_news_li:hover {
    background: #fdfbf7;
}
.sp_news_li a {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #2c2320;
    font-size: 14px;
    text-decoration: none;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: color 0.15s, transform 0.15s;
}
.sp_news_li:hover a {
    color: #8c2b22;
    transform: translateX(3px);
}
.sp_dot_icon {
    color: #8c2b22;
    font-size: 15px;
    flex-shrink: 0;
}
.sp_title_txt {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sp_date_txt {
    font-size: 12.5px;
    color: #998e84;
    flex-shrink: 0;
    margin-left: 12px;
}

/* 右栏 (约 260px) */
.sp_col_right {
    width: 260px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.sp_widget_card {
    background: #ffffff;
    border: 1px solid #ede7de;
    border-radius: 6px;
    padding: 14px 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.sp_widget_card:hover {
    border-color: #dfcdbf;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}
.sp_rw_title {
    font-size: 15px;
    font-weight: 700;
    color: #2c2320;
    padding-bottom: 8px;
    margin-bottom: 10px;
    border-bottom: 1px solid #efeae3;
    display: flex;
    align-items: center;
    gap: 6px;
}
.sp_rw_title::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 14px;
    background: #8c2b22;
    border-radius: 1px;
}
.sp_rw_img {
    margin-bottom: 8px;
    text-align: center;
}
.sp_rw_img img {
    max-width: 100%;
    height: auto;
    border-radius: 4px;
    display: inline-block;
}
.sp_rw_content {
    font-size: 13px;
    line-height: 1.6;
    color: #5c4f46;
}

/* 响应式调整 (平板与手机) */
@media (max-width: 1024px) {
    .sp_layout_body {
        flex-wrap: wrap;
    }
    .sp_col_left {
        width: 100%;
        max-width: 420px;
    }
    .sp_col_center {
        width: calc(100% - 442px);
    }
    .sp_col_right {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .sp_layout_body {
        flex-direction: column;
    }
    .sp_col_left, .sp_col_center, .sp_col_right {
        width: 100% !important;
    }
    .sp_slider_box {
        height: 210px;
    }
    .sp_lead_box {
        padding: 12px 14px 12px 36px;
    }
    .sp_news_li a {
        font-size: 13.5px;
    }
}

/* ============================================================
   文章正文附件下载链接美化（/attachments/{id}/{filename}）
   ============================================================ */
.art_body a[href*="/attachments/"],
.art_body .content a[href*="/attachments/"] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px;
    margin: 2px 4px;
    background: #fcfaf7;
    border: 1px solid #dfd0ca;
    border-radius: 4px;
    color: #8c2b22;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    text-decoration: none;
    transition: all 0.2s ease;
    vertical-align: middle;
}
.art_body a[href*="/attachments/"]::after,
.art_body .content a[href*="/attachments/"]::after {
    content: "↓ 下载";
    font-size: 12px;
    padding: 1px 6px;
    border-radius: 3px;
    background: rgba(140, 43, 34, 0.08);
    color: #8c2b22;
    flex-shrink: 0;
}
.art_body a[href*="/attachments/"]:hover,
.art_body .content a[href*="/attachments/"]:hover {
    background: #8c2b22;
    border-color: #8c2b22;
    color: #ffffff;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(140, 43, 34, 0.2);
}
.art_body a[href*="/attachments/"]:hover::after,
.art_body .content a[href*="/attachments/"]:hover::after {
    background: rgba(255, 255, 255, 0.2);
    color: #ffffff;
}


