/* ==========================================================================
   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: 1088px !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: 1088px !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 错位终极修复
 * -------------------------------------------------------------------
 * 现象：首页（门户）在窄视口下整体往左偏、左右留白不对称、右侧内容被切。
 *
 * 实测数据（视口 1080）：
 *   文档宽 1111（溢出 31px）
 *   .block / .main_case_con  宽 1088，左留白 0、右留白 -8（顶到左边）
 *   #topflash_div2           宽 6528（6 个 1088 副本），起点 -1088
 *
 * 根因：本文件前面所有规则都用了 `width: 1088px !important` 硬性固定宽度。
 *      1088 > 1080 时放不下，`margin:auto` 也无法居中（容器比视口宽，
 *      auto 左边距被算成 0），于是整块顶到左边缘，右侧被裁掉。
 *
 * 修法：把固定 width 换成「以 1088 为上限的响应式宽度 + 强制居中」：
 *      width: 100% !important;
 *      max-width: 1088px !important;
 *      margin-left: auto !important;
 *      margin-right: auto !important;
 *   并给焦点图轮播容器补 overflow:hidden，防止 6528px 撑破文档宽度。
 * =================================================================== */

/* ---- 1. 视口不足 1088 时，整体不再溢出；宽屏仍保持 1088 居中 ---- */
body#nv_portal {
    min-width: 0 !important;
    overflow-x: hidden;
}

body#nv_portal #wp,
body#nv_portal .wp,
body#nv_portal .wp2,
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: 100% !important;
    max-width: 1088px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

/* ---- 2. 焦点图轮播：裁切 6528px 的横向副本，杜绝文档宽度溢出 ---- */
body#nv_portal #topflash_div2,
body#nv_portal .topflash_div2,
body#nv_portal .topflash_div {
    overflow: hidden;
}
body#nv_portal #topflash_div2 {
    max-width: 1088px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* 轮播内容超宽时，只在自身内部裁切，不影响外层布局 */
body#nv_portal .topflash_div {
    max-width: 100%;
}

/* ---- 3. banner 图片跟随容器宽度，不再撑破布局 ---- */
body#nv_portal .topflash img,
body#nv_portal .top_bj img,
body#nv_portal .con_banner img {
    max-width: 100% !important;
    height: auto !important;
}

/* ---- 4. 窄屏留出左右安全边距，视觉上不再贴边 ---- */
@media (max-width: 1088px) {
    body#nv_portal #wp,
    body#nv_portal .wp,
    body#nv_portal .wp2,
    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 {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

/* ---- 5. 图标行：5 列等宽 + 换行不溢出，修正图文错位 ---- */
body#nv_portal ul.weixingongneng {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 1088px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
}
body#nv_portal ul.weixingongneng > li {
    flex: 1 1 20% !important;
    min-width: 0 !important;
    max-width: 20% !important;
    box-sizing: border-box !important;
    text-align: center;
    vertical-align: top;
}

/* ---- 6. 防止任何子元素横向溢出（图片/表格/iframe）---- */
body#nv_portal img,
body#nv_portal table {
    max-width: 100% !important;
}
body#nv_portal iframe,
body#nv_portal embed,
body#nv_portal object {
    max-width: 100% !important;
}/*
 * ===================================================================
 * 2026-10-16 错位修复 第二轮（实测驱动）
 * -------------------------------------------------------------------
 * 第一轮把 1088px 换成 max-width 后，文档宽不降反升到 2000px。
 * CDP 实测查出真正的溢出源（body.scrollWidth=2000）：
 *
 *   div.p_Advantage.block   scrollWidth=1439  ← 内容超出容器 374px
 *   div.main_case            scrollWidth=2000  ← 内容超出 935px，且 display 变 inline-block
 *   div#topflash_div1        宽 1088 但父级 .top_swf 只有 1065 → 溢出 33px
 *
 * 其中 .main_case 被前面的规则改成了 inline-block，
 * 导致 `margin:auto` 失效（inline-block 的外边距不参与居中计算）——
 * 这正是「整体往左偏、左右留白不对称」的直接原因。
 *
 * 本轮修法：
 *   1. .main_case 强制 display:block（恢复居中能力）
 *   2. 给内容超宽的容器补 overflow:hidden，在容器内部裁切
 *   3. #topflash_div1 宽度跟随父容器，不再硬撑 1088
 *   4. 禁止 .main_case / .p_Advantage 内部出现超宽块
 * =================================================================== */

/* ---- 1. .main_case 必须回到块级，inline-block 会让 margin:auto 失效 ---- */
body#nv_portal .main_case,
body#nv_portal div.main_case {
    display: block !important;
    width: 100% !important;
    max-width: 1088px !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow: hidden;
}

/* ---- 2. 内容超宽的容器一律在自身内部裁切 ---- */
body#nv_portal .p_Advantage,
body#nv_portal div.p_Advantage {
    overflow: hidden !important;
    max-width: 1088px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}
body#nv_portal .main_case_con {
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* ---- 3. 焦点图：宽度跟随父容器，不再硬撑 ---- */
body#nv_portal #topflash_div1,
body#nv_portal #topflash_div2 {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}
body#nv_portal .topflash_div {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden;
}
/* 轮播里的图片按容器缩放，绝不超出 */
body#nv_portal .topflash_div img,
body#nv_portal .topflash_div a {
    max-width: 100% !important;
}

/* ---- 4. 图标行：flex 等分并允许内部裁切，杜绝横向溢出 ---- */
body#nv_portal ul.weixingongneng {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 1088px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden;
}
body#nv_portal ul.weixingongneng > li {
    flex: 0 0 20% !important;
    max-width: 20% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    text-align: center;
    vertical-align: top;
    overflow: hidden;
}

/* ---- 5. body 级兜底：禁止整页横向滚动 ---- */
body#nv_portal {
    overflow-x: hidden !important;
    max-width: 100% !important;
}

/* ---- 6. 所有直接子块级容器统一收口 ---- */
body#nv_portal .top_swf,
body#nv_portal .main_news,
body#nv_portal .main_baozhang,
body#nv_portal .top_bj,
body#nv_portal .top_nav {
    max-width: 1088px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
    overflow: hidden;
}/*
 * ===================================================================
 * 2026-10-16 第三轮：撤销上一轮误伤 li 的规则
 * -------------------------------------------------------------------
 * 上一轮加的：
 *     ul.weixingongneng > li { flex: 0 0 20% !important;
 *                              max-width: 20% !important;
 *                              overflow: hidden; }
 * 把原本横向排布的「我们的营销」等列表项强行压成 20% 窄列，
 * 文字被挤成竖排单字（用户截图里的问题）。
 *
 * 同时上一轮给若干容器加的 overflow:hidden + max-width:100%
 * 会裁切掉超出部分的内容。
 *
 * 本轮原则：
 *   1. 撤销对 li 的宽度限制，恢复其原有排版（回到修改前的行为）
 *   2. 撤销 max-width:100% 对横幅图片的强制缩放（会把图片压变形）
 *   3. 只保留真正解决「向左偏」的最小必要修复：
 *        - .main_case 恢复 display:block（inline-block 会让 margin:auto 失效）
 *        - 视口不足 1088 时用 max-width 而非固定 width，使容器能自适应居中
 *   4. 不再用 overflow:hidden 粗暴裁切内容
 * =================================================================== */

/* ---- 1. 恢复 li 原样：不设 flex 宽度，不裁切 ---- */
body#nv_portal ul.weixingongneng > li,
body#nv_portal ul.weixingongneng li {
    flex: none !important;
    max-width: none !important;
    min-width: 0 !important;
    width: auto !important;
    overflow: visible !important;
}

/* ul 本身恢复原来的换行排版 */
body#nv_portal ul.weixingongneng {
    overflow: visible !important;
}

/* ---- 2. 横幅图片恢复自然尺寸，不再强制 100% 缩放 ---- */
body#nv_portal .topflash img,
body#nv_portal .top_bj img,
body#nv_portal .con_banner img {
    max-width: none !important;
    height: auto !important;
}
body#nv_portal img,
body#nv_portal table {
    max-width: none !important;
}
body#nv_portal iframe,
body#nv_portal embed,
body#nv_portal object {
    max-width: none !important;
}

/* ---- 3. 撤销对内容容器的粗暴裁切 ---- */
body#nv_portal .p_Advantage,
body#nv_portal div.p_Advantage,
body#nv_portal .main_case_con,
body#nv_portal .top_swf,
body#nv_portal .main_news,
body#nv_portal .main_baozhang,
body#nv_portal .top_bj,
body#nv_portal .top_nav,
body#nv_portal .main_case {
    overflow: visible !important;
}

/* ---- 4. 保留的最小修复：.main_case 必须 block，否则无法居中 ---- */
body#nv_portal .main_case,
body#nv_portal div.main_case {
    display: block !important;
}

/* ---- 5. 保留的最小修复：容器宽度自适应 + 居中 ---- */
body#nv_portal #wp,
body#nv_portal .wp,
body#nv_portal .wp2,
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 !important;
}

/* ---- 6. 焦点图容器跟随父宽，但保留内部横向滚动所需的空间 ---- */
body#nv_portal #topflash_div1,
body#nv_portal #topflash_div2 {
    max-width: 100% !important;
    overflow: hidden !important;
}
body#nv_portal .topflash_div {
    max-width: 100% !important;
}

/* ---- 7. 撤销窄屏 padding（会造成额外缩进）---- */
@media (max-width: 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 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}