/* ==========================================================================
   Discuz X5 兼容覆盖层 v5（cgmvred2013 老模板专用）
   --------------------------------------------------------------------------
   v4 的问题：
     - 论坛/帖子页 body{min-width:1200px} + .wp{width:1200px} 在窄视口下
       横向溢出，页面整体"往左靠"（红色 hd_bg 条超出屏幕右侧）。
     - 门户页 .block 没被约束（v4 只写了 .main_case 等），而 X5 的
       .block{margin:0 5px 10px} 覆盖了老皮肤 .block{margin:0 auto}，
       导致首页所有区块整体左偏、右边留白。

   v5 方案：全部改成 max-width + auto 居中，天然响应式。
     - 论坛/帖子/空间/成员：内容上限 1200px(.wp) / 980px(.wp2/.mbox)
     - 门户首页：内容固定 1088px（老站设计宽）
   ========================================================================== */

/* ======================================================================
   0. 全局：解除 X5 的 1200px 硬性最小宽度
   ====================================================================== */
html {
    min-width: 0 !important;
}
body,
body#nv_forum,
body#nv_home,
body#nv_member,
body#nv_search,
body#nv_group,
body#nv_group,
body#nv_tag,
body#nv_userapp,
body#nv_portal,
body#nv_member {
    min-width: 0 !important;
}
#toptb {
    min-width: 0 !important;
}

/* ======================================================================
   1. 论坛 / 帖子 / 空间 / 成员 / 搜索
   ====================================================================== */

/* 1.1 外层容器 1200px → max-width */
.wp,
#hd .wp,
#wp,
#toptb .wp {
    width: auto !important;
    max-width: 1200px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* 1.2 内层容器 980px → max-width */
.wp2,
#hd .wp2,
.mbox,
.mbox2,
.mbox_top,
#mu,
.bw,
.bmw,
.mn,
.sd {
    max-width: 980px;
    box-sizing: border-box;
}
.wp2,
#hd .wp2,
.mbox,
.mbox2,
.mbox_top {
    width: auto !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 1.3 窄屏时隐藏左右阴影条（它们按 980px 绝对定位，会溢出） */
@media (max-width: 1060px) {
    .shadow_l,
    .shadow_r {
        display: none !important;
    }
    .mbox_top {
        background-image: none !important;
    }
}

/* 1.4 版块列表 / 帖子列表的固定宽度改为自适应 */
.ct2 .mn,
.ct2_a .mn,
.ct3_a .mn {
    width: auto !important;
    max-width: 100% !important;
}
.ct2,
.ct2_a,
.ct3_a {
    max-width: 100%;
}

/* ======================================================================
   2. 门户首页：老站 1088px 设计宽，全部居中
   ====================================================================== */
body#nv_portal {
    min-width: 0 !important;
    background: #ededed;
}
body#nv_portal #wp,
body#nv_portal .wp,
body#nv_portal .wp2 {
    width: auto !important;
    max-width: 1088px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
/* ★ 关键：.block 是首页所有区块的容器，必须强制 1088 居中，
   否则被 X5 的 .block{margin:0 5px 10px} 顶成左偏 */
body#nv_portal .block,
body#nv_portal .head.block,
body#nv_portal div.block,
body#nv_portal .move-span,
body#nv_portal .module,
body#nv_portal .top_nav,
body#nv_portal .head,
body#nv_portal .main_case,
body#nv_portal .main_case2,
body#nv_portal .main_case_con,
body#nv_portal .p_Advantage,
body#nv_portal .main_news,
body#nv_portal .main_baozhang,
body#nv_portal .top_swf {
    width: auto !important;
    max-width: 1088px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}
/* 去掉 X5 区块容器的额外 5px 缩进与底纹 */
body#nv_portal .dxb_bc {
    padding: 0 !important;
    background: transparent none !important;
}
body#nv_portal .block {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* 浮层撑开父容器，避免错位 */
body#nv_portal .main_case_con:after,
body#nv_portal .main_baozhang:after,
body#nv_portal .p_Advantage ul:after,
body#nv_portal .module:after {
    content: "";
    display: table;
    clear: both;
}
/* 老站固定子栏宽度 */
body#nv_portal .main_case_con .imgguanggao { float: left; width: 475px; }
body#nv_portal .main_case_con .ganyan { float: right; width: 590px; }
body#nv_portal .head .f_l { width: 300px; text-align: left; }
body#nv_portal .head .f_r { width: 788px; }
body#nv_portal #nav { width: 788px; }

/* 首页图片按原图显示，不被 X5 reset 压扁 */
body#nv_portal .wp img,
body#nv_portal .block img,
body#nv_portal .main_case img,
body#nv_portal .main_case2 img,
body#nv_portal .main_case_con img,
body#nv_portal .p_Advantage img,
body#nv_portal .top_swf img,
body#nv_portal .topflash img,
body#nv_portal .topflash_div img,
body#nv_portal .main_news img,
body#nv_portal .main_baozhang img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
body#nv_portal .topflash_div img,
body#nv_portal .topflash img { max-width: 1088px !important; }
body#nv_portal .main_case_con .imgguanggao img { max-width: 475px !important; }
body#nv_portal .main_baozhang .f_l img { max-width: 487px !important; }

/* 窄屏时首页整体缩到视口内 */
@media (max-width: 1100px) {
    body#nv_portal #wp,
    body#nv_portal .wp,
    body#nv_portal .wp2,
    body#nv_portal .block,
    body#nv_portal .move-span,
    body#nv_portal .module,
    body#nv_portal .head,
    body#nv_portal .main_case,
    body#nv_portal .main_case2,
    body#nv_portal .main_case_con,
    body#nv_portal .p_Advantage,
    body#nv_portal .main_news,
    body#nv_portal .main_baozhang,
    body#nv_portal .top_swf {
        width: 100% !important;
        max-width: 100% !important;
    }
    body#nv_portal .head .f_l,
    body#nv_portal .head .f_r,
    body#nv_portal #nav {
        width: auto !important;
        max-width: 100% !important;
    }
    body#nv_portal .main_case_con .imgguanggao,
    body#nv_portal .main_case_con .ganyan {
        float: none !important;
        width: auto !important;
        max-width: 100% !important;
    }
}

/* ======================================================================
   3. 图片 / 头像 尺寸规范（论坛侧）
   ====================================================================== */
.t_f img,
.t_fsz img {
    max-width: 100% !important;
    height: auto !important;
    vertical-align: middle;
    border: 0;
    padding: 0;
}
.avatar img,
img.avatar,
.postauthor .avatar img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: cover;
}
.avatar_full img {
    width: 200px !important;
    height: 200px !important;
    max-width: 200px !important;
    max-height: 200px !important;
}
.forumlist td.forum_ico img,
.newreply td.forum_ico img {
    max-width: 48px !important;
    max-height: 48px !important;
    width: auto !important;
    height: auto !important;
}
.signature,
.pattl,
.t_f .attach {
    background: transparent !important;
    border: 0 !important;
}

/* ======================================================================
   4. 帖子正文排版
   ====================================================================== */
.t_f,
.t_fsz {
    line-height: 1.75;
    font-size: 14px;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
.forumlist {
    table-layout: fixed;
    width: 100%;
}
.forumlist td.forum_name {
    overflow: hidden;
}
.forumlist td.forum_name a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* ======================================================================
   5. 登录入口可点击（不被浮层遮挡）
   ====================================================================== */
.fastlg,
#lsform,
#fastloginform,
#qmenu_menu {
    position: relative;
    z-index: 100;
}
#hd {
    position: relative;
    z-index: 10;
}

/* ======================================================================
   6. 顶栏阴影条与搜索框错位修正
   ====================================================================== */
/* shadow_l/shadow_r 按 980px 绝对定位，容器变自适应后会飞出可视区 */
.mbox_top {
    position: relative;
    overflow: visible;
}
.shadow_l,
.shadow_r {
    display: none;
}
/* 搜索框行：恢复正常流，不再被 mbox_top 的负 margin 顶上去 */
.mbox_top #scbar {
    position: relative;
    clear: both;
    margin: 0;
}
.mbox_top #scbar_form {
    display: inline-block;
    vertical-align: middle;
}
.mbox_top #scbar_q {
    display: inline-block;
    vertical-align: middle;
}

/* ★ 绝不能隐藏 #append_parent / #ajaxwaitid！
   #append_parent 是 Discuz 所有弹窗（含登录框、快速登录、
   搜索结果面板）的挂载节点，一旦 display:none 整个弹窗体系全部失效，
   表现为"点登录没反应"。这里只保证它们不遮挡正常内容。 */
#append_parent {
    z-index: 9999;
}
#ajaxwaitid {
    z-index: 9998;
}

/* ======================================================================
   8. 顶栏白块 / 圆角背景残留清理
   ----------------------------------------------------------------------
   mbox_top 用了 980x600 的 mbg.png（圆角白底）作为 no-repeat 50% 0 背景。
   容器改成自适应居中后，这张图的位置与容器不再对齐，会在右上角露出一块
   白色方块。这里改为让背景跟着容器走，并保证容器自身也有白底。
   ====================================================================== */
.mbox,
.mbox2,
.mbox_top {
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: 50% 0;
    background-size: 100% auto;
}
.mbox_top {
    box-sizing: border-box;
    padding-top: 0 !important;
}
/* 搜索框行整体左对齐到容器内，不要再额外缩进 */
.mbox_top #scbar {
    margin: 0 0 0 0 !important;
    padding: 0;
}
.mbox_top #scbar_form {
    margin: 0;
    padding: 0;
}
.mbox_top #scbar_hot {
    margin: 0;
}
/* 快捷导航行与搜索框行间距归零，去掉多余留白 */
#nv {
    margin: 0;
    padding: 0;
}
.mbox_top > #mu:empty {
    display: none;
}

/* ======================================================================
   9. 搜索框行左对齐 + 版块大图标限高
   ====================================================================== */
/* X5 把 .mbox_top #scbar 做成了 flex 撑满，导致搜索框被推到右侧。
   这里改回左对齐的普通块级流。 */
.mbox_top #scbar {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left;
    background: #e4e4e4;
    border: none;
    height: auto;
    line-height: normal;
    overflow: visible !important;
}
.mbox_top #scbar_form {
    display: block;
    text-align: left;
    padding: 4px 6px;
}
.mbox_top #scbar_form table {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
}
/* 版块列表里的图（大图）统一限高，避免撑破行高 */
.forumlist .forum_ico img,
.forumlist .forum_ico a img,
.newreply .forum_ico img {
    max-width: 64px !important;
    max-height: 64px !important;
    width: auto !important;
    height: auto !important;
}
/* 论坛列表中若出现超大图（老站上传的大图），限制在单元格内 */
.forumlist td.forum_ico {
    width: 80px;
    max-width: 80px;
    overflow: hidden;
}

/* ======================================================================
   10. 彻底清除 mbox/mbox_top/mbox2 的固定宽背景图
   ----------------------------------------------------------------------
   原 CSS 给 .mbox_top 用了 980x600 的 mbg.png（圆角白底），
   给 .mbox 用了同一张图定位在 0 100%。容器改成 max-width 自适应后，
   这两张 980px 宽的背景图不再与容器对齐，右上角就会露出一块白方块。
   统一改为纯色背景（白底），圆角效果由 .bm 系列容器承担。
   ====================================================================== */
.mbox,
.mbox2,
.mbox_top {
    background-image: none !important;
    background-color: #fff;
}
.mbox {
    width: auto !important;
    max-width: 980px;
    padding: 0 0 10px 0;
    margin: 0 auto !important;
}
.mbox2 {
    width: auto !important;
    max-width: 980px;
}
.mbox_top {
    width: auto !important;
    max-width: 980px;
    padding: 10px 0 0 0;
}

/* ======================================================================
   11. 版块图标尺寸强制统一
   ----------------------------------------------------------------------
   旧站部分版块图标带内联 style="width: 209px" 之类的尺寸（存在旧缓存里，
   数据库中已查不到），会把论坛列表某一行撑成巨幅图片。
   这里对论坛列表的图标一律强制 64x64，内联样式也一并压掉。
   ====================================================================== */
.forumlist .forum_ico img,
.forumlist .forum_ico a > img,
.newreply .forum_ico img,
.newreply .forum_ico a > img,
td.forum_ico img,
/* 首页 forum.php 实际用的是 td.fl_g 多列布局，不是 forum_ico */
td.fl_g > img,
td.fl_g img {
    width: 64px !important;
    height: auto !important;
    max-width: 64px !important;
    max-height: 64px !important;
    object-fit: contain;
    display: block;
    margin: 0;
    float: left;
}
.forumlist td.forum_ico,
td.fl_g {
    max-width: 90px;
    overflow: hidden;
    vertical-align: middle;
}
td.fl_g {
    padding-left: 4px;
}

/* ======================================================================
   12. 首页「我们的服务 / TIYUE STAR」两块错位修正
   ----------------------------------------------------------------------
   实际结构（抓 HTML 得到）：
     <div class="p_Advantage block">
       <ul>
         <div id="portal_block_436" class="block move-span">   <-- 嵌套的 .block
           <div class="portal_block_summary">
             <li class="first_list"> ... </li>                  <-- 180px 浮动
             <li> ... </li>  x4

   错位三因：
     1) 内层 .block 被 X5 的 .block{margin:0 5px 10px} 顶偏；
     2) <ul> 里塞 <div> 是非法结构，浏览器会把 div 移出 ul，导致 li 换行错乱；
     3) .p_Advantage ul li 固定 180px，5 个 = 900px，没有居中也没有 clearfix。

   修法：让内层 .block 透明化不占位，ul 用 flex 均分并居中，父级加 clearfix。
   ====================================================================== */
body#nv_portal .p_Advantage,
body#nv_portal .main_baozhang {
    overflow: hidden;          /* clearfix，容纳内部浮动 */
    box-sizing: border-box;
}

/* 内层嵌套的 .block 不参与布局，透明化 */
body#nv_portal .p_Advantage .block,
body#nv_portal .p_Advantage .move-span,
body#nv_portal .p_Advantage .dxb_bc,
body#nv_portal .p_Advantage .portal_block_summary {
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    background: transparent none !important;
    border: 0 !important;
    display: block;
}

/* 用 flex 均分并居中，替代原来 180px 硬宽 + float */
body#nv_portal .p_Advantage ul {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
body#nv_portal .p_Advantage ul li,
body#nv_portal .p_Advantage .portal_block_summary > li {
    float: none !important;
    width: 180px !important;
    max-width: 180px;
    height: 160px;
    flex: 0 0 180px;
    text-align: center;
    overflow: hidden;
}

/* 「我们的服务 / OUR SERVICE」标题块：flex 里另给足宽度 */
body#nv_portal .p_Advantage .first_list {
    width: 210px !important;
    max-width: 210px;
    flex: 0 0 210px;
}

/* main_baozhang：左图 487 + 右文 570 = 1057，整体在 1088 内居中 */
body#nv_portal .main_baozhang .baozhang_gg {
    float: left;
    width: 487px;
    max-width: 487px;
}
body#nv_portal .main_baozhang .baozhang_con {
    float: right;
    width: 570px;
    max-width: 570px;
}
body#nv_portal .main_baozhang:after {
    content: "";
    display: table;
    clear: both;
}

/* TIYUE STAR 那组（5 列图标）同样居中均分 */
body#nv_portal .p_Tiyue,
body#nv_portal .tiyue,
body#nv_portal .main_case2 ul,
body#nv_portal .main_news ul {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}
body#nv_portal .p_Tiyue li,
body#nv_portal .tiyue li,
body#nv_portal .main_case2 ul li,
body#nv_portal .main_news ul li {
    float: none !important;
    text-align: center;
}

/* 窄屏：所有固定子栏改为 100% 堆叠 */
@media (max-width: 1100px) {
    body#nv_portal .p_Advantage ul {
        flex-wrap: wrap;
    }
    body#nv_portal .p_Advantage ul li,
    body#nv_portal .p_Advantage .portal_block_summary > li,
    body#nv_portal .p_Advantage .first_list {
        flex: 0 0 33.33%;
        width: 33.33% !important;
        max-width: 33.33%;
    }
    body#nv_portal .main_baozhang .baozhang_gg,
    body#nv_portal .main_baozhang .baozhang_con {
        float: none !important;
        width: 100% !important;
        max-width: 100%;
        text-align: center;
    }
}

/* ======================================================================
   13. TIYUE STAR 功能图标区（.main_case_con / ul.weixingongneng）
   ----------------------------------------------------------------------
   老 CSS：.main_case{display:inline-block;width:100%}
            .main_case_con{margin:18px auto}  /* 宽度未定 */
            ul.weixingongneng li 是 float 固定宽
   X5 的 .block{margin:0 5px 10px} 又给 .main_case_con 加了 5px 缩进，
   两者叠加导致整组图标偏移、行与行之间对不齐。

   修法：把 .main_case 恢复成块级容器，.main_case_con 固定 1088 居中，
        li 用 flex 等宽排列并让行高一致。
   ====================================================================== */
body#nv_portal .main_case {
    display: block !important;
    width: 1088px !important;
    max-width: 1088px !important;
    margin: 0 auto !important;
    text-align: center;
    overflow: hidden;
}
body#nv_portal .main_case_con {
    width: 1088px !important;
    max-width: 1088px !important;
    margin: 18px auto !important;
    padding: 0 !important;
    text-align: center;
    background: transparent none !important;
    border: 0 !important;
    overflow: hidden;
}
/* 功能图标：5 列等宽居中 */
body#nv_portal ul.weixingongneng {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    list-style: none;
}
body#nv_portal ul.weixingongneng li {
    float: none !important;
    flex: 0 0 20%;
    width: 20% !important;
    max-width: 20%;
    padding: 0 6px 18px;
    text-align: center;
    border-right: 0;
    overflow: visible;
    box-sizing: border-box;
}
/* 每 5 个的最后一个不画右边框（若有） */
body#nv_portal ul.weixingongneng li:nth-child(5n),
body#nv_portal ul.weixingongneng li:last-child {
    border-right: 0;
}
/* 图标 span：老站用精灵图 + 每个图标不同的内联负偏移定位，
   所以这里只统一盒子尺寸与居中，绝不能覆盖 background-position。 */
/* 精灵图 icon1.png = 1050x110。内联 background-position 用负偏移
   （如 -250px -60px）定位到具体那一格，盒子尺寸必须与单格一致，
   否则会把相邻格一起露出来（表现为一个 li 出现两个图标）。
   这里用 105x110 + overflow:hidden 精确裁切。 */
body#nv_portal ul.weixingongneng li a span {
    display: block;
    width: 105px;
    height: 110px;
    max-width: 105px;
    max-height: 110px;
    margin: 0 auto 6px;
    background-repeat: no-repeat;
    flex: 0 0 105px;
    overflow: hidden;
}
body#nv_portal ul.weixingongneng li a {
    display: block;
    font-size: 14px;
    line-height: 22px;
    color: #333;
}
body#nv_portal ul.weixingongneng li p {
    height: auto !important;
    min-height: 44px;
    line-height: 22px;
    color: #999;
    font-size: 12px;
    margin: 4px 0 0;
}
body#nv_portal ul.weixingongneng li a:hover {
    color: #c51400;
}

/* 「我们的服务」那排的 li 也统一为 flex 内等宽，避免 float 换行错乱 */
body#nv_portal .p_Advantage .portal_block_summary {
    display: flex !important;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}
body#nv_portal .p_Advantage .portal_block_summary > li {
    float: none !important;
    height: 160px;
}

/* ======================================================================
   14. shadow_l / shadow_r 彻底隐藏（提高优先级）
   ----------------------------------------------------------------------
   这两个是 38x360 的绝对定位装饰条，按固定 980px 偏移。
   容器改成 max-width 自适应后它们会飞出可视区，在右上角露出一块白斑。
   ====================================================================== */
#hd .shadow_l,
#hd .shadow_r,
.mbox_top .shadow_l,
.mbox_top .shadow_r,
.mbox .shadow_l,
.mbox .shadow_r,
div.shadow_l,
div.shadow_r {
    display: none !important;
    position: static !important;
    margin: 0 !important;
    width: 0 !important;
    height: 0 !important;
    background: none !important;
    overflow: hidden !important;
}

/* ======================================================================
   15. 顶栏右侧色块最终修正（基于 CDP 实测）
   ----------------------------------------------------------------------
   实测（1166px 视口）：
     #hd    x=0   w=1166  bg=rgb(133,42,42)   <- 暗红，整行铺满
     #nv    x=93  w=980   bg=#852A2A + nv.png(no-repeat 0 0)
     #scbar x=93  w=980   bg=rgb(228,228,228)

   白斑成因：#nv 的 nv.png 是 980px 定宽时设计的左右圆角装饰图，
   no-repeat 贴在 0 0。#hd 是全宽暗红，#nv 只占中间 980px，
   980px 之外的区域没有 #nv 的圆角与描边，于是右上角出现矩形缺口。

   修法（保守）：#nv 保持在 980px 居中，但把 nv.png 拉伸铺满自身，
        这样 #nv 区域内部连续；缺口处改由 #hd 的纯色填充，不再有色差。
        搜索框行 .mbox_top 同理铺满自身宽度。
   ====================================================================== */
#hd {
    background: #852A2A !important;
    background-image: none !important;
}
#hd #nv {
    background-color: #852A2A !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    background-position: 0 0 !important;
}
#hd .mbox_top {
    background-image: none !important;
    background-color: #e4e4e4;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0;
}
#hd .mbox,
#hd .mbox2 {
    background-image: none !important;
    background-color: transparent;
    margin: 0 auto !important;
    border-radius: 0;
}

/* ======================================================================
   18. #qmenu「快捷导航」按钮溢出（右上白块真凶）
   ----------------------------------------------------------------------
   CDP 实测：#qmenu  x=976  y=214  w=97  h=38  bg=rgb(255,255,255)
   父级 #nv 是 x=93 w=980，右边界 = 1073。
   #nv 是 display:flex，X5 给 #qmenu 设了 order:2 + flex:none，
   它被排在 ul 之后，实际贴到了 976，正好卡在 #nv 右边界处，
   白底按钮就压在 #hd 暗红底上，形成右上角那块白块。
   同时 #nv 设了 overflow:hidden，按钮右半被裁掉，视觉更怪。

   修法：让 #qmenu 不参与 flex 排序（order:0），排到导航项之后但
        留在 #nv 内部；并去掉 overflow:hidden，避免裁切。
   ====================================================================== */
#nv {
    overflow: visible !important;
    flex-wrap: nowrap;
}
#nv #qmenu {
    order: 99;
    flex: 0 0 auto;
    margin: 0 0 0 12px !important;
    align-self: center;
    background: #fff !important;
    color: #852a2a !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08);
}
#nv ul {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
}
/* ===================================================================
   门户首页修复 2026-10-16 16:15
   目标 1：portal_block_449 / portal_block_451 新闻列表改四列
   目标 2：焦点图（1500px 宽图）在窄视口不再撑破布局
   =================================================================== */

/* ---------- 1. 新闻列表区块：四列 ---------- */
/* Discuz 的 .xl1 是单列、.xl2 才是双列(width:50%)。
   这两个区块模板里写死了 xl1，这里直接改成 4 列分栏。 */
body#nv_portal #portal_block_449_content > div.module.xl > ul,
body#nv_portal #portal_block_451_content > div.module.xl > ul {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 0;
    -webkit-column-gap: 0;
    column-gap: 0;
}
body#nv_portal #portal_block_449_content > div.module.xl > ul > li,
body#nv_portal #portal_block_451_content > div.module.xl > ul > li {
    /* 解除 xl1 的单行裁切，让分栏高度自适应 */
    height: auto !important;
    min-height: 21px;
    overflow: visible !important;
    break-inside: avoid;
    page-break-inside: avoid;
}
/* xl1 的 li:before 是圆形序号，四列太挤，这里改成小方点 */
body#nv_portal #portal_block_449_content > div.module.xl > ul > li:before,
body#nv_portal #portal_block_451_content > div.module.xl > ul > li:before {
    width: 5px !important;
    height: 5px !important;
    line-height: 5px !important;
    border-radius: 50% !important;
    margin: 0 4px 0 0 !important;
    vertical-align: middle;
}
body#nv_portal #portal_block_449_content > div.module.xl,
body#nv_portal #portal_block_451_content > div.module.xl {
    height: auto !important;
}

/* 窄屏降为两列 / 一列 */
@media (max-width: 900px) {
    body#nv_portal #portal_block_449_content > div.module.xl > ul,
    body#nv_portal #portal_block_451_content > div.module.xl > ul {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }
}
@media (max-width: 600px) {
    body#nv_portal #portal_block_449_content > div.module.xl > ul,
    body#nv_portal #portal_block_451_content > div.module.xl > ul {
        -moz-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1;
    }
}

/* ---------- 2. 焦点图：1500px 原图不再撑破视口 ---------- */
body#nv_portal #topflash_div1,
body#nv_portal #topflash_div2,
body#nv_portal .topflash,
body#nv_portal .topflash_div,
body#nv_portal .top_bj,
body#nv_portal .top_swf {
    max-width: 100% !important;
    overflow: hidden !important;
}
body#nv_portal .topflash img,
body#nv_portal .top_bj img,
body#nv_portal .top_swf img,
body#nv_portal .topflash_div img {
    max-width: 100% !important;
    height: auto !important;
    display: block;
}

/* ---------- 3. 容器自适应居中（固定 1088px 改为弹性 + 上限） ---------- */
body#nv_portal #wp,
body#nv_portal .wp,
body#nv_portal .wp2,
body#nv_portal .block,
body#nv_portal div.block,
body#nv_portal .move-span,
body#nv_portal .module,
body#nv_portal .main_case,
body#nv_portal .main_case_con,
body#nv_portal .p_Advantage {
    width: auto !important;
    max-width: 1088px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
body#nv_portal .main_case,
body#nv_portal div.main_case {
    display: block !important;
}
/* 功能图标区：5 个 li 横排，按 20% 均分而不是固定 217px */
body#nv_portal ul.weixingongneng {
    max-width: 100% !important;
    overflow: hidden !important;
}
body#nv_portal ul.weixingongneng > li {
    float: left !important;
    width: 20% !important;
    box-sizing: border-box !important;
    padding: 20px 10px !important;
    overflow: hidden;
}
body#nv_portal ul.weixingongneng > li:last-child,
body#nv_portal ul.weixingongneng > li:nth-child(5n) {
    border-right: none !important;
}/* ===================================================================
   功能图标区（ul.weixingongneng）修正
   5 个 li 横排，宽度按 20% 均分，文字描述必须完整显示不被裁切
   =================================================================== */
body#nv_portal ul.weixingongneng {
    max-width: 100% !important;
    overflow: hidden !important;
    display: block !important;
    box-sizing: border-box !important;
}
body#nv_portal ul.weixingongneng > li {
    float: left !important;
    width: 20% !important;
    box-sizing: border-box !important;
    padding: 18px 12px !important;
    /* 不再固定 140px 高度，让文字完整展开 */
    height: auto !important;
    min-height: 150px;
    overflow: visible !important;
    vertical-align: top;
    text-align: center;
    line-height: 22px;
}
/* 标题与描述都不裁切 */
body#nv_portal ul.weixingongneng > li > a,
body#nv_portal ul.weixingongneng > li > a > span,
body#nv_portal ul.weixingongneng > li > p {
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    white-space: normal !important;
    word-break: break-word !important;
    word-wrap: break-word !important;
}
body#nv_portal ul.weixingongneng > li > a {
    display: block !important;
    font-weight: bold;
    color: #333;
}
body#nv_portal ul.weixingongneng > li > p {
    margin: 6px 0 0 !important;
    font-size: 12px;
    line-height: 18px;
    color: #888;
}
body#nv_portal ul.weixingongneng > li:last-child,
body#nv_portal ul.weixingongneng > li:nth-child(5n) {
    border-right: none !important;
}/* ===================================================================
   页头 / 导航 溢出修复 2026-10-16 16:25
   .head 与 .top_nav 被写死 1088px，视口 1080 时右侧被裁
   =================================================================== */
body#nv_portal .head,
body#nv_portal div.head,
body#nv_portal .top_nav,
body#nv_portal div.top_nav,
body#nv_portal .head_wrap,
body#nv_portal .top_nav .f_l,
body#nv_portal .top_nav .f_r,
body#nv_portal #nav,
body#nv_portal #nav ul {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
/* 导航项在窄屏允许换行，不再把右侧推出视口 */
body#nv_portal #nav,
body#nv_portal #nav > ul {
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}
body#nv_portal #nav > ul > li,
body#nv_portal #nav li.mainlevel {
    max-width: 100% !important;
    white-space: nowrap;
}
/* 页头整体不要固定 1088 */
body#nv_portal .head,
body#nv_portal div.head {
    width: auto !important;
    max-width: 1088px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
body#nv_portal .top_nav,
body#nv_portal div.top_nav {
    width: auto !important;
    max-width: 1088px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* ---------- 右侧内容超出容器（li 起点 835 / 宽 301）---------- */
/* 这是 .baozhang_con 一类的双栏区，窄屏时右栏必须落在容器内 */
body#nv_portal .baozhang_con,
body#nv_portal .f_r.baozhang_con,
body#nv_portal .main_baozhang .f_r {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
/* 所有网格双栏在窄屏降为单栏 */
@media (max-width: 1088px) {
    body#nv_portal .f_l,
    body#nv_portal .f_r,
    body#nv_portal .baozhang_gg,
    body#nv_portal .baozhang_con {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}
/* 通用：任何比视口宽的门户元素都不允许撑破页面 */
body#nv_portal img,
body#nv_portal table,
body#nv_portal iframe,
body#nv_portal embed {
    max-width: 100% !important;
}/* ===================================================================
   收尾修复 2026-10-16 16:30
   页头区 .head/.f_l/.f_r/#nav 在 style.css 里被写死 1088px，
   视口小于 1088（如 1080）时右侧溢出。此处改为 100% 弹性。
   =================================================================== */
body#nv_portal .head,
body#nv_portal div.head,
body#nv_portal .head .f_l,
body#nv_portal .head .f_r,
body#nv_portal .top_nav,
body#nv_portal .top_nav .f_l,
body#nv_portal .top_nav .f_r,
body#nv_portal #nav,
body#nv_portal #nav > ul {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}
/* 页头与导航整体容器也弹性化 */
body#nv_portal .head_wrap,
body#nv_portal .top_nav_wrap,
body#nv_portal .nav_wrap {
    width: auto !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
/* 小屏媒体查询：进一步压到视口内 */
@media (max-width: 1088px) {
    body#nv_portal .head,
    body#nv_portal div.head,
    body#nv_portal .top_nav,
    body#nv_portal .top_nav .f_l,
    body#nv_portal .top_nav .f_r {
        width: 100% !important;
        max-width: 100% !important;
    }
    body#nv_portal #nav > ul > li {
        padding-left: 8px !important;
        padding-right: 8px !important;
        font-size: 12px !important;
    }
}
/* 兜底：门户页任何超宽元素都不允许横向溢出 */
body#nv_portal #wp,
body#nv_portal .wp {
    overflow-x: hidden !important;
}/* ===================================================================
   门户 flex 区块溢出修复 2026-10-16 16:38
   .portal_block_summary 被设为 display:flex 后，子 li 不收缩导致溢出视口。
   这里让 flex 子项可收缩、并允许文字换行。
   =================================================================== */
body#nv_portal .portal_block_summary {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    flex-wrap: wrap !important;
}
body#nv_portal .portal_block_summary > li,
body#nv_portal .portal_block_summary > div,
body#nv_portal .portal_block_summary > h1,
body#nv_portal .portal_block_summary > h2,
body#nv_portal .portal_block_summary > p {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
/* 所有门户 flex 容器的子项统一允许收缩（防止同类问题复发） */
body#nv_portal .p_Advantage > ul > li,
body#nv_portal .p_Advantage ul > li {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
body#nv_portal .p_Advantage > ul {
    max-width: 100% !important;
    overflow: hidden !important;
}
/* last_li 是模板里的最后一个分项，不允许它单独撑出去 */
body#nv_portal .last_li,
body#nv_portal li.last_li {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}
body#nv_portal .last_li > h1,
body#nv_portal .last_li > p,
body#nv_portal .last_li > a {
    max-width: 100% !important;
    overflow: hidden !important;
    word-break: break-word !important;
}/* ===================================================================
   窄屏（≤1088px）门户 flex 区块降为单列
   .portal_block_summary 等 flex 容器在窄屏会把 li 推出视口
   =================================================================== */
@media (max-width: 1088px) {
    body#nv_portal .portal_block_summary {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    body#nv_portal .portal_block_summary > li,
    body#nv_portal .portal_block_summary > div {
        float: none !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        margin: 0 0 8px 0 !important;
        padding: 0 !important;
    }
    /* 服务保障 / 安全保障 之类的图文块：图上文下 */
    body#nv_portal .portal_block_summary > li > img,
    body#nv_portal .portal_block_summary img {
        max-width: 100% !important;
        height: auto !important;
    }
}/* ===================================================================
   关键修正 2026-10-16 16:45
   portal_block_449 / 451 的 ul 被 display:flex 覆盖了 column-count，
   导致 100 条新闻横排溢出。这里强制回 block + CSS 多列分栏，
   并让 li 恢复 block 流式排布（真正的四列）。
   =================================================================== */
body#nv_portal #portal_block_449_content .module.xl > ul,
body#nv_portal #portal_block_451_content .module.xl > ul {
    display: block !important;
    -moz-column-count: 4;
    -moz-column-gap: 0;
    -webkit-column-count: 4;
    -webkit-column-gap: 0;
    column-count: 4 !important;
    column-gap: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
body#nv_portal #portal_block_449_content .module.xl > ul > li,
body#nv_portal #portal_block_451_content .module.xl > ul > li {
    display: block !important;
    float: none !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    /* xl1 默认 height:1.5em + overflow:hidden 会裁掉换行文字 */
    min-height: 21px;
    overflow: visible !important;
    line-height: 21px;
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    box-sizing: border-box !important;
}
/* 序号圆点缩小，避免四列时挤占空间 */
body#nv_portal #portal_block_449_content .module.xl > ul > li:before,
body#nv_portal #portal_block_451_content .module.xl > ul > li:before {
    width: 5px !important;
    height: 5px !important;
    line-height: 5px !important;
    border-radius: 50% !important;
    margin: 0 4px 0 0 !important;
    vertical-align: middle;
}
/* 链接本身不裁切 */
body#nv_portal #portal_block_449_content .module.xl > ul > li > a,
body#nv_portal #portal_block_451_content .module.xl > ul > li > a {
    display: inline !important;
    max-width: 100% !important;
    overflow: visible !important;
    word-break: break-word !important;
}
body#nv_portal #portal_block_449_content .module.xl,
body#nv_portal #portal_block_451_content .module.xl {
    height: auto !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

@media (max-width: 900px) {
    body#nv_portal #portal_block_449_content .module.xl > ul,
    body#nv_portal #portal_block_451_content .module.xl > ul {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2 !important;
    }
}
@media (max-width: 600px) {
    body#nv_portal #portal_block_449_content .module.xl > ul,
    body#nv_portal #portal_block_451_content .module.xl > ul {
        -moz-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1 !important;
    }
}