@charset "utf-8";
/* ===========================================================================
   文章正文排版 + 相关内容模块   v1.3
   文件位置：/website/cus/css/article.css        （新增文件）
   挂载方式：BNY/library/platform/cus/view/body.html 的 </head> 前加一行 link
   作用范围：① .Cenbsonw  —— 文章正文容器内部的标签级排版
             ② .art-rel   —— 相关内容模块（位于正文容器之外、正文栏之内）
   ---------------------------------------------------------------------------
   为什么不会影响历史文章：
     站内历史文章正文只使用 <p> / <span> / <img> 三种标签；
     本文件新增的 h2 / h3 / table / ul / ol / li / strong / figure 规则
     只有在这些标签出现时才生效，所以对老文章无影响。
     唯一会波及全站的是第 1 条“段落间距 +0.16rem”，属正向调整（已确认保留）。
   ---------------------------------------------------------------------------
   尺寸基准：沿用站点既有 rem 体系
     桌面（>1023px）1rem = 视口宽 / 19.2     1920px 下 1rem = 100px
     移动（<=1023px）1rem = 视口宽 / 7.5      375px 下 1rem = 50px
   与站点既有值对齐（style.css）：
     .Cenbsonw  桌面 0.18rem/0.25rem · 移动 0.24rem/0.40rem
     .right_Xenter 桌面宽 10.7rem     · 移动 100%
   =========================================================================== */

/* ---------- 1. 段落间距（唯一会波及历史文章的一条） ---------- */
.Cenbsonw p { margin: 0 0 0.16rem; }

/* 站内历史文章习惯用 <p><br/></p> 充当空行；若与上面的段落间距叠加会显得过疏，
   这里把「只含一个 <br>」的空行段落外边距归零，恢复原有观感。
   :has() 不被支持时本条会被整条忽略，自动回退为上面的统一间距，不存在兼容风险。 */
.Cenbsonw p:has(> br:only-child) { margin-bottom: 0; }

/* ---------- 2. 二级标题：品牌红左边线 ---------- */
.Cenbsonw h2 {
    font-size: 0.24rem;
    line-height: 0.36rem;
    font-weight: bold;
    color: #1a1a1a;
    margin: 0.46rem 0 0.18rem;
    padding: 0.02rem 0 0.02rem 0.16rem;
    border-left: 0.06rem solid #d40003;
}
.Cenbsonw h2:first-child { margin-top: 0.08rem; }

/* ---------- 3. 三级标题：虚线下分隔 ---------- */
.Cenbsonw h3 {
    font-size: 0.19rem;
    line-height: 0.30rem;
    font-weight: bold;
    color: #1a1a1a;
    margin: 0.32rem 0 0.12rem;
    padding-bottom: 0.08rem;
    border-bottom: 1px dashed #e0e0e0;
}

/* ---------- 4. 强调 ---------- */
.Cenbsonw strong, .Cenbsonw b { font-weight: bold; color: #111; }

/* ---------- 5. 列表（reset.css 清掉了项目符号，此处恢复） ---------- */
.Cenbsonw ul, .Cenbsonw ol { margin: 0.12rem 0 0.24rem; padding-left: 0.30rem; }
.Cenbsonw ul > li { list-style: disc outside; margin: 0.06rem 0; padding-left: 0.06rem; }
.Cenbsonw ol > li { list-style: decimal outside; margin: 0.06rem 0; padding-left: 0.06rem; }
.Cenbsonw li > p { margin: 0; }

/* ---------- 6. 数据表格（reset.css 清掉了边框，此处重建） ---------- */
.Cenbsonw table {
    width: 100%;
    border-collapse: collapse;
    margin: 0.20rem 0 0.28rem;
    font-size: 0.15rem;
    line-height: 0.24rem;
}
.Cenbsonw table th {
    background: #f5f6f7;
    color: #111;
    font-weight: bold;
    border: 1px solid #dcdcdc;
    padding: 0.12rem 0.10rem;
    text-align: left;
    word-break: break-word;
}
.Cenbsonw table td {
    border: 1px solid #dcdcdc;
    padding: 0.12rem 0.10rem;
    color: #333;
    word-break: break-word;
}
.Cenbsonw table tbody tr:nth-child(even) td { background: #fafafa; }

/* ---------- 7. 图片自适应 ---------- */
.Cenbsonw img { max-width: 100%; height: auto; }

/* ---------- 8. 配图区块：figure + 图注（利于生成式引擎抽取图片语义） ---------- */
.Cenbsonw figure { margin: 0.28rem auto 0.32rem; text-align: center; }
.Cenbsonw figure img {
    display: block;
    width: 100%;
    max-width: 8rem;
    height: auto;
    margin: 0 auto;
    border: 1px solid #ececec;
}
.Cenbsonw figcaption {
    max-width: 8rem;
    margin: 0.10rem auto 0;
    font-size: 0.13rem;
    line-height: 0.20rem;
    color: #999999;
    text-align: center;
}

/* ===========================================================================
   9. 相关内容模块
   位置：正文容器 .Cenbsonw 之后、上一篇/下一篇 .Taqonew 之前
   数据：控制器 $data->relate —— 同栏目、排除自身、仅已发布，取 8 条（同栏不足时全站补位）
         排序：标题汉字二元组相似度 70% + 本篇关键词命中 30% 为主序，
               编辑推荐/人工排序/发布时间仅作同级决胜（v1.3 起，原为纯 hot/ords/times）
         每条都带摘要：descript 为空时由控制器从正文前 120 字生成
   结构：section > h2.rel-head + ul.rel-list > li > a > .rel-pic + .rel-txt
         .rel-txt 内：h3.rel-t 标题（语义标题，v1.3 起由 em 改为 h3）
                      span.rel-dg 摘要 / span.rel-d 日期
         li.no-pic 表示该条无缩略图（以品牌红细线补齐视觉重量）
   =========================================================================== */
.art-rel {
    margin-top: 0.60rem;
    padding-top: 0.40rem;
    border-top: 1px solid #e6e6e6;
}
.art-rel .rel-head {
    font-size: 0.24rem;
    line-height: 0.36rem;
    font-weight: bold;
    color: #1a1a1a;
    margin: 0 0 0.28rem;
    padding: 0.02rem 0 0.02rem 0.16rem;
    border-left: 0.06rem solid #d40003;
}
.art-rel .rel-list {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
}
.art-rel .rel-list > li {
    width: 50%;
    box-sizing: border-box;
    margin: 0 0 0.30rem;
}
.art-rel .rel-list > li:nth-child(odd)  { padding-right: 0.20rem; }
.art-rel .rel-list > li:nth-child(even) { padding-left: 0.20rem; }
.art-rel .rel-list > li > a {
    display: flex;
    align-items: flex-start;
    color: inherit;
    text-decoration: none;
}
.art-rel .rel-pic {
    flex: 0 0 1.50rem;
    width: 1.50rem;
    height: 1.14rem;
    margin-right: 0.18rem;
    overflow: hidden;
    background: #f2f3f4;
}
.art-rel .rel-pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.art-rel .rel-txt { flex: 1; min-width: 0; }
/* 标题为 h3 语义标签：reset.css 会清掉标题的字重与外边距，这里显式补回 */
.art-rel .rel-t {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 0;
    font-weight: bold;
    font-size: 0.17rem;
    line-height: 0.26rem;
    color: #1a1a1a;
}
.art-rel .rel-dg {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: 0.06rem;
    font-size: 0.13rem;
    line-height: 0.20rem;
    color: #888888;
}
.art-rel .rel-d {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.12rem;
    line-height: 0.18rem;
    color: #b0b0b0;
}
.art-rel .rel-list > li > a:hover .rel-t { color: #d40003; }
/* 无缩略图：左侧品牌红细线，与有图条目保持视觉重量一致 */
.art-rel .rel-list > li.no-pic .rel-txt {
    border-left: 0.04rem solid #d40003;
    padding-left: 0.18rem;
}

/* ===========================================================================
   移动端（<=1023px）：1rem = 视口宽 / 7.5
   =========================================================================== */
@media screen and (max-width: 1023px) {

    .Cenbsonw p { margin: 0 0 0.24rem; }

    .Cenbsonw h2 {
        font-size: 0.34rem;
        line-height: 0.50rem;
        margin: 0.60rem 0 0.26rem;
        padding-left: 0.20rem;
        border-left-width: 0.08rem;
    }
    .Cenbsonw h2:first-child { margin-top: 0.10rem; }

    .Cenbsonw h3 {
        font-size: 0.28rem;
        line-height: 0.44rem;
        margin: 0.44rem 0 0.18rem;
        padding-bottom: 0.12rem;
    }

    .Cenbsonw ul, .Cenbsonw ol { padding-left: 0.44rem; }
    .Cenbsonw ul > li, .Cenbsonw ol > li { margin: 0.10rem 0; }

    /* ---- 表格：缩字号 + 收窄水平内边距，避免 4 列表格频繁换行 ---- */
    .Cenbsonw table { font-size: 0.20rem; line-height: 0.30rem; margin: 0.30rem 0 0.40rem; }
    .Cenbsonw table th, .Cenbsonw table td { padding: 0.12rem 0.06rem; }

    .Cenbsonw figure { margin: 0.30rem auto 0.36rem; }
    .Cenbsonw figure img { max-width: 100%; }
    .Cenbsonw figcaption { font-size: 0.20rem; line-height: 0.32rem; margin-top: 0.14rem; }

    /* ---- 相关内容：改单列，缩略图放大 ---- */
    .art-rel { margin-top: 0.50rem; padding-top: 0.32rem; }
    .art-rel .rel-head {
        font-size: 0.34rem;
        line-height: 0.50rem;
        margin: 0 0 0.30rem;
        padding-left: 0.20rem;
        border-left-width: 0.08rem;
    }
    .art-rel .rel-list > li { width: 100%; padding: 0 !important; margin-bottom: 0.34rem; }
    .art-rel .rel-pic { flex: 0 0 2.00rem; width: 2.00rem; height: 1.42rem; margin-right: 0.22rem; }
    .art-rel .rel-t { font-size: 0.28rem; line-height: 0.42rem; }
    .art-rel .rel-dg { font-size: 0.22rem; line-height: 0.34rem; margin-top: 0.08rem; }
    .art-rel .rel-d { font-size: 0.20rem; line-height: 0.30rem; margin-top: 0.08rem; }
    .art-rel .rel-list > li.no-pic .rel-txt { padding-left: 0.24rem; }
}

/* ===========================================================================
   施工案例 · 四栏目聚合页   v1.0      （追加段，见文件末尾）
   作用域：仅 .right_Xenter 内的 .cs-* 元素，不影响站内既有规则。
   =========================================================================== */
/* ============================================================
   施工案例 · 聚合页（case index）专用样式
   作用域：仅 .right_Xenter 内的 .cs-* 元素。
   不加任何全局选择器，不影响站内其它页面。
   单位用 rem，与站点一致（PC 下 1rem = viewport / 19.2）。
   ============================================================ */

/* ---------- 面包屑 ---------- */
.right_Xenter .cs-crumb {
    padding: 0 0 0.2rem;
    font-size: 0.15rem;
    line-height: 0.32rem;
    color: #8a919b;
    border-bottom: 1px solid #eef0f3;
}
.right_Xenter .cs-crumb a { color: #8a919b; }
.right_Xenter .cs-crumb a:hover { color: #d40003; }
.right_Xenter .cs-crumb em { font-style: normal; color: #d40003; }
.right_Xenter .cs-crumb span { padding: 0 0.08rem; color: #c6cbd3; }

/* ---------- 页头 ---------- */
.right_Xenter .cs-hero {
    margin: 0.28rem 0 0.3rem;
    padding: 0.36rem 0.4rem 0.34rem;
    background: #fff;
    background-image: linear-gradient(180deg, #f4f6f9 0%, #ffffff 68%);
    border: 1px solid #e6e9ee;
    border-top: 0.05rem solid #d40003;
}
.right_Xenter .cs-eyebrow {
    margin: 0 0 0.12rem;
    font-size: 0.15rem;
    letter-spacing: 0.04rem;
    color: #8a919b;
}
.right_Xenter .cs-hero h1 {
    margin: 0 0 0.18rem;
    padding: 0;
    font-size: 0.4rem;
    line-height: 1.34;
    font-weight: bold;
    color: #151619;
    border: 0;
}
.right_Xenter .cs-lead {
    margin: 0 0 0.28rem;
    font-size: 0.175rem;
    line-height: 2.0;
    color: #4c535c;
}
.right_Xenter .cs-kpi {
    display: flex;
    margin: 0;
    padding: 0.2rem 0;
    list-style: none;
    border-top: 1px solid #e6e9ee;
    border-bottom: 1px solid #e6e9ee;
}
.right_Xenter .cs-kpi > li {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0 0.12rem;
    list-style: none;
    text-align: center;
    border-left: 1px solid #eef0f3;
}
.right_Xenter .cs-kpi > li:first-child { border-left: 0; }
.right_Xenter .cs-kpi b {
    display: block;
    font-size: 0.3rem;
    line-height: 0.42rem;
    font-weight: bold;
    color: #d40003;
}
.right_Xenter .cs-kpi b i {
    margin-left: 0.02rem;
    font-size: 0.14rem;
    font-style: normal;
    font-weight: normal;
    color: #6b7280;
}
.right_Xenter .cs-kpi span {
    display: block;
    margin-top: 0.04rem;
    font-size: 0.135rem;
    line-height: 0.24rem;
    color: #7c848e;
}
/* 快捷筛选 */
.right_Xenter .cs-filter {
    margin-top: 0.22rem;
    font-size: 0.15rem;
    line-height: 0.5rem;
}
.right_Xenter .cs-filter .cs-filter-label {
    margin-right: 0.14rem;
    color: #8a919b;
}
.right_Xenter .cs-filter a {
    display: inline-block;
    margin: 0.04rem 0.1rem 0.04rem 0;
    padding: 0 0.18rem;
    line-height: 0.44rem;
    color: #4c535c;
    border: 1px solid #e0e4ea;
    background: #fff;
}
.right_Xenter .cs-filter a:hover { border-color: #d40003; color: #d40003; }
.right_Xenter .cs-filter a.on {
    color: #fff;
    background: #d40003;
    border-color: #d40003;
}

/* ---------- 本页目录 ---------- */
.right_Xenter .cs-toc {
    margin: 0 0 0.3rem;
    padding: 0.2rem 0.32rem 0.22rem;
    background: #f6f7f9;
    border-left: 0.04rem solid #d40003;
}
.right_Xenter .cs-toc b {
    display: block;
    margin-bottom: 0.06rem;
    font-size: 0.16rem;
    color: #151619;
}
.right_Xenter .cs-toc ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: tocc;
}
.right_Xenter .cs-toc li {
    display: inline-block;
    width: 48%;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-increment: tocc;
}
.right_Xenter .cs-toc li a {
    display: block;
    font-size: 0.155rem;
    line-height: 0.42rem;
    color: #4c535c;
}
.right_Xenter .cs-toc li a:before {
    content: counter(tocc, decimal-leading-zero);
    margin-right: 0.08rem;
    color: #b9bfc8;
    font-size: 0.13rem;
}
.right_Xenter .cs-toc li a:hover { color: #d40003; }

/* ---------- 通用小节 ---------- */
.right_Xenter .cs-sec { margin: 0 0 0.42rem; }
.right_Xenter .cs-sec > h2 {
    margin: 0 0 0.16rem;
    padding: 0 0 0.12rem 0.16rem;
    font-size: 0.26rem;
    line-height: 1.4;
    font-weight: bold;
    color: #151619;
    border-left: 0.05rem solid #d40003;
    border-bottom: 0;
}
.right_Xenter .cs-sec > h3 {
    margin: 0.24rem 0 0.1rem;
    font-size: 0.19rem;
    font-weight: bold;
    color: #151619;
}
.right_Xenter .cs-note {
    margin: 0 0 0.16rem;
    font-size: 0.16rem;
    line-height: 1.9;
    color: #5a6169;
}

/* ---------- 表格 ---------- */
.right_Xenter table.cs-table {
    width: 100%;
    margin: 0 0 0.14rem;
    border-collapse: collapse;
    font-size: 0.155rem;
    line-height: 1.7;
    color: #3a4048;
}
.right_Xenter table.cs-table thead th {
    padding: 0.14rem 0.16rem;
    background: #f6f7f9;
    color: #151619;
    font-weight: bold;
    text-align: left;
    border: 1px solid #e6e9ee;
    white-space: nowrap;
}
.right_Xenter table.cs-table tbody td {
    padding: 0.13rem 0.16rem;
    border: 1px solid #e6e9ee;
    vertical-align: top;
}
.right_Xenter table.cs-table tbody tr:nth-child(even) { background: #fafbfc; }
.right_Xenter table.cs-table tbody td:first-child { color: #151619; }
.right_Xenter table.cs-table .cs-std { color: #5a6169; white-space: nowrap; }
.right_Xenter table.cs-table .cs-exp { color: #b26b00; }
/* ---------- 首列：封面缩略图 + 标题（由数据循环生成） ---------- */
.right_Xenter table.cs-table td.cs-td-case { width: 40%; }
.right_Xenter table.cs-table td.cs-td-case > a {
    display: flex;
    align-items: center;
    gap: 0.14rem;
    color: #151619;
    text-decoration: none;
}
.right_Xenter table.cs-table td.cs-td-case img.cs-thumb {
    flex: 0 0 auto;
    width: 0.88rem;
    height: 0.62rem;
    object-fit: cover;
    border-radius: 0.04rem;
    background: #eef1f5;
}
.right_Xenter table.cs-table tbody tr:hover { background: #fdf4f4; }
.right_Xenter .cs-foot {
    margin: 0.1rem 0 0;
    font-size: 0.14rem;
    line-height: 1.85;
    color: #8a919b;
}

/* ---------- 案例索引（★ 全页唯一的一份案例清单） ----------
   一行 = 一条案例记录，由控制器按当前页循环输出。
   每行只输出一个指向详情页的 <a>（锚文本 = 案例标题，信息量足），
   整行可点用「拉伸链接」实现：tr 定位 + 链接伪元素铺满整行，
   DOM 中不会出现第二个 <a>，因此不存在同一 URL 的重复内链。
   页面高度由「每页条数」决定，与案例总量无关。
   ------------------------------------------------------------ */
.right_Xenter .cs-index {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.155rem;
    line-height: 1.7;
    color: #3a4048;
}
.right_Xenter .cs-index thead th {
    padding: 0.13rem 0.16rem;
    font-size: 0.145rem;
    font-weight: bold;
    text-align: left;
    color: #151619;
    background: #f6f7f9;
    border-bottom: 1px solid #e0e4ea;
    white-space: nowrap;
}
.right_Xenter .cs-index tbody tr {
    position: relative;
    border-bottom: 1px solid #eef0f3;
    transition: background-color .2s;
}
.right_Xenter .cs-index tbody tr:hover { background: #fdf5f5; }
.right_Xenter .cs-index tbody td {
    padding: 0.17rem 0.16rem;
    vertical-align: middle;
}
.right_Xenter .cs-index td.cs-idx-case { width: 50%; }
.right_Xenter .cs-index td.cs-idx-f { white-space: nowrap; color: #5a6169; }
.right_Xenter .cs-index td.cs-idx-go { width: 1.15rem; text-align: right; white-space: nowrap; }
.right_Xenter .cs-index thead th.cs-idx-go { text-align: right; }
.right_Xenter .cs-index .cs-idx-in { display: flex; align-items: center; }
.right_Xenter .cs-index .cs-idx-cover {
    flex: 0 0 auto;
    width: 1.2rem;              /* 3:2 —— 封面统一按此比例居中裁切 */
    height: 0.8rem;
    margin-right: 0.16rem;
    overflow: hidden;
    background: #eef1f5;
}
.right_Xenter .cs-index .cs-idx-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.right_Xenter .cs-index .cs-idx-main { min-width: 0; }
.right_Xenter .cs-index .cs-idx-t {
    display: inline-block;
    font-size: 0.17rem;
    line-height: 1.6;
    font-weight: bold;
    color: #151619;
    text-decoration: none;
}
.right_Xenter .cs-index tbody tr:hover .cs-idx-t { color: #d40003; }
/* 拉伸链接：整行可点，但 DOM 里仍然只有一个 <a> */
.right_Xenter .cs-index .cs-idx-t:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
}
.right_Xenter .cs-index .cs-idx-d {
    display: block;
    margin-top: 0.06rem;
    font-size: 0.14rem;
    line-height: 1.7;
    color: #7c848e;
}
.right_Xenter .cs-index .cs-idx-go-t { font-size: 0.15rem; color: #d40003; }

/* ---------- 案例卡片网格（备用方案，仅出对比图用） ---------- */
.right_Xenter ul.cs-grid {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -0.12rem;
    padding: 0;
    list-style: none;
}
.right_Xenter ul.cs-grid > li {
    width: 33.3333%;
    margin: 0 0 0.28rem;
    padding: 0 0.12rem;
    list-style: none;
    box-sizing: border-box;
}
.right_Xenter .cs-card {
    display: block;
    height: 100%;
    background: #fff;
    border: 1px solid #e6e9ee;
    transition: border-color .25s, box-shadow .25s;
}
.right_Xenter .cs-card:hover {
    border-color: #d40003;
    box-shadow: 0 0.06rem 0.2rem rgba(21, 22, 25, .07);
}
.right_Xenter .cs-card .cs-cover {
    display: block;
    position: relative;
    overflow: hidden;
    background: #eef0f3;
}
.right_Xenter .cs-card .cs-cover img {
    display: block;
    width: 100%;
    height: 1.9rem;
    object-fit: cover;
    transition: transform .5s;
}
.right_Xenter .cs-card:hover .cs-cover img { transform: scale(1.04); }
.right_Xenter .cs-card .cs-cat {
    position: absolute;
    left: 0;
    top: 0;
    padding: 0 0.12rem;
    line-height: 0.34rem;
    font-size: 0.125rem;
    color: #fff;
    background: rgba(212, 0, 3, .92);
}
.right_Xenter .cs-card .cs-body {
    padding: 0.16rem 0.18rem 0.18rem;
}
.right_Xenter .cs-card .cs-tags {
    margin: 0 0 0.08rem;
    font-size: 0.125rem;
    line-height: 0.28rem;
    color: #7c848e;
}
.right_Xenter .cs-card .cs-tags span {
    display: inline-block;
    margin-right: 0.1rem;
    padding: 0 0.08rem;
    background: #f2f4f7;
    color: #5a6169;
}
.right_Xenter .cs-card .cs-t {
    display: block;
    margin: 0 0 0.08rem;
    font-size: 0.165rem;
    line-height: 1.6;
    font-weight: bold;
    color: #151619;
}
.right_Xenter .cs-card:hover .cs-t { color: #d40003; }
.right_Xenter .cs-card .cs-d {
    display: block;
    margin: 0;
    font-size: 0.14rem;
    line-height: 1.75;
    color: #7c848e;
}
.right_Xenter .cs-card .cs-meta {
    display: block;
    margin-top: 0.1rem;
    padding-top: 0.1rem;
    border-top: 1px dashed #eef0f3;
    font-size: 0.13rem;
    color: #a2a9b3;
}

/* ---------- 分页（沿用站内 Page_b 组件，只做外观约束） ---------- */
.right_Xenter .cs-pager {
    padding: 0.2rem 0 0;
    text-align: center;
    border-top: 1px solid #eef0f3;
}
.right_Xenter .cs-pager > .cs-pg-info {
    display: block;
    margin: 0 0 0.06rem;
    font-size: 0.15rem;
    line-height: 0.26rem;
    color: #8a919b;
}
.right_Xenter .cs-pager > .Page_b { padding: 0.06rem 0 0.2rem; }
.right_Xenter .cs-pager > .Page_b a { font-size: 0.16rem; padding: 0 0.1rem; }

/* ---------- 判读指南（编号卡） ---------- */
.right_Xenter ol.cs-guide {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: gc;
}
.right_Xenter ol.cs-guide > li {
    position: relative;
    margin: 0 0 0.14rem;
    padding: 0.2rem 0.24rem 0.2rem 0.9rem;
    list-style: none;
    background: #f8f9fb;
    border: 1px solid #eef0f3;
    counter-increment: gc;
}
.right_Xenter ol.cs-guide > li:before {
    content: counter(gc, decimal-leading-zero);
    position: absolute;
    left: 0.24rem;
    top: 0.2rem;
    font-size: 0.24rem;
    line-height: 0.34rem;
    font-weight: bold;
    color: #d40003;
}
.right_Xenter ol.cs-guide > li b {
    display: block;
    margin-bottom: 0.06rem;
    font-size: 0.175rem;
    line-height: 1.6;
    color: #151619;
}
.right_Xenter ol.cs-guide > li p {
    margin: 0;
    font-size: 0.155rem;
    line-height: 1.92;
    color: #5a6169;
}
.right_Xenter ol.cs-guide > li code {
    padding: 0 0.05rem;
    font-family: Consolas, Menlo, monospace;
    font-size: 0.145rem;
    color: #b0261b;
    background: #fdf2f2;
}

/* ---------- FAQ（两栏问答） ---------- */
.right_Xenter .cs-faq {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -0.12rem;
}
.right_Xenter .cs-faq .cs-qa {
    width: 50%;
    margin: 0 0 0.16rem;
    padding: 0 0.12rem;
    box-sizing: border-box;
}
.right_Xenter .cs-faq .cs-qa-in {
    height: 100%;
    padding: 0.16rem 0.2rem 0.18rem;
    background: #fff;
    border: 1px solid #e6e9ee;
    border-left: 0.04rem solid #d40003;
}
.right_Xenter .cs-faq dt {
    margin: 0 0 0.08rem;
    font-size: 0.165rem;
    line-height: 1.65;
    font-weight: bold;
    color: #151619;
}
.right_Xenter .cs-faq dt i {
    margin-right: 0.08rem;
    font-style: normal;
    color: #d40003;
}
.right_Xenter .cs-faq dd {
    margin: 0;
    font-size: 0.15rem;
    line-height: 1.92;
    color: #5a6169;
}

/* ---------- 相关阅读 ----------
   一条 = 左侧缩略图（3:2，与案例索引封面同尺寸）+ 右侧标题。
   缩略图与标题都取 kl_article 的 pic / title（控制器实时读库），
   后台换封面或改标题，这里自动跟着变，不用回来改模板。
   没有封面的条目只渲染标题，不留空位、也不兜造图片。
   ------------------------------------------------------------ */
.right_Xenter ul.cs-rel {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -0.1rem;
    padding: 0;
    list-style: none;
}
.right_Xenter ul.cs-rel > li {
    width: 50%;
    margin: 0 0 0.12rem;
    padding: 0 0.1rem;
    list-style: none;
    box-sizing: border-box;
}
.right_Xenter ul.cs-rel > li a {
    display: flex;
    align-items: center;
    padding: 0.12rem;
    font-size: 0.155rem;
    line-height: 1.66;
    color: #3a4048;
    background: #f8f9fb;
    border-left: 0.03rem solid #e0e4ea;
}
.right_Xenter ul.cs-rel .cs-rel-thumb {
    flex: 0 0 auto;
    width: 1.2rem;              /* 3:2 —— 与 .cs-idx-cover 保持一致 */
    height: 0.8rem;
    margin-right: 0.16rem;
    overflow: hidden;
    background: #eef1f5;
}
.right_Xenter ul.cs-rel .cs-rel-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .3s;
}
.right_Xenter ul.cs-rel > li a:hover .cs-rel-thumb img { transform: scale(1.06); }
.right_Xenter ul.cs-rel .cs-rel-t { display: block; min-width: 0; }
.right_Xenter ul.cs-rel > li a:hover {
    color: #d40003;
    border-left-color: #d40003;
    background: #fdf5f5;
}

/* ---------- 底部联系 ---------- */
.right_Xenter .cs-cta {
    margin: 0.1rem 0 0.2rem;
    padding: 0.3rem 0.36rem;
    background: #fff;
    border: 1px solid #e6e9ee;
    border-top: 0.05rem solid #d40003;
}
.right_Xenter .cs-cta p {
    margin: 0 0 0.18rem;
    font-size: 0.165rem;
    line-height: 2.0;
    color: #3a4048;
}
.right_Xenter .cs-cta p b { color: #151619; }
.right_Xenter .cs-cta .cs-btn {
    display: inline-block;
    padding: 0 0.36rem;
    line-height: 0.62rem;
    font-size: 0.17rem;
    color: #fff;
    background: #d40003;
}
.right_Xenter .cs-cta .cs-btn:hover { background: #b8000a; }
.right_Xenter .cs-cta .cs-tel {
    margin-left: 0.24rem;
    font-size: 0.2rem;
    font-weight: bold;
    color: #d40003;
}

/* ============================================================
   移动端（站点断点 1023px）
   ============================================================ */
@media screen and (max-width: 1023px) {
    .right_Xenter .cs-hero { padding: 0.4rem 0.32rem 0.36rem; margin-top: 0.3rem; }
    .right_Xenter .cs-hero h1 { font-size: 0.44rem; }
    .right_Xenter .cs-lead { font-size: 0.24rem; line-height: 1.95; }
    .right_Xenter .cs-kpi { flex-wrap: wrap; }
    .right_Xenter .cs-kpi > li { width: 50%; flex: none; padding: 0.14rem 0.06rem; border-left: 0; }
    /*5 个指标排成 2+2+1，末项占满整行，避免右下角空半格 */
    .right_Xenter .cs-kpi > li:last-child:nth-child(odd) { width: 100%; }
    .right_Xenter .cs-kpi b { font-size: 0.42rem; line-height: 0.56rem; }
    .right_Xenter .cs-kpi span { font-size: 0.22rem; line-height: 0.34rem; }
    .right_Xenter .cs-filter { font-size: 0.24rem; line-height: 0.8rem; }
    .right_Xenter .cs-filter a { line-height: 0.66rem; padding: 0 0.26rem; margin-right: 0.16rem; }
    .right_Xenter .cs-toc { padding: 0.28rem 0.32rem; }
    .right_Xenter .cs-toc li { width: 100%; }
    .right_Xenter .cs-toc li a { font-size: 0.26rem; line-height: 0.72rem; }
    .right_Xenter .cs-sec > h2 { font-size: 0.36rem; }
    .right_Xenter .cs-note { font-size: 0.24rem; }
    .right_Xenter table.cs-table { font-size: 0.23rem; }
    .right_Xenter table.cs-table thead th,
    .right_Xenter table.cs-table tbody td { padding: 0.2rem 0.18rem; }
    .right_Xenter table.cs-table td.cs-td-case { width: auto; }
    .right_Xenter table.cs-table td.cs-td-case img.cs-thumb { width: 1.1rem; height: 0.78rem; }
    .right_Xenter .cs-foot { font-size: 0.21rem; }
    .right_Xenter ul.cs-grid > li { width: 100%; }
    .right_Xenter .cs-card .cs-cover img { height: 3.6rem; }
    .right_Xenter .cs-card .cs-t { font-size: 0.28rem; }
    .right_Xenter .cs-card .cs-d { font-size: 0.23rem; }
    .right_Xenter .cs-card .cs-meta { font-size: 0.21rem; }
    .right_Xenter .cs-pager { font-size: 0.24rem; }
    .right_Xenter .cs-pager a,
    .right_Xenter .cs-pager em { min-width: 0.7rem; line-height: 0.74rem; margin: 0 0.08rem; }
    .right_Xenter ol.cs-guide > li { padding: 0.28rem 0.28rem 0.28rem 1.2rem; }
    .right_Xenter ol.cs-guide > li:before { left: 0.28rem; font-size: 0.34rem; }
    .right_Xenter ol.cs-guide > li b { font-size: 0.27rem; }
    .right_Xenter ol.cs-guide > li p { font-size: 0.23rem; }
    .right_Xenter .cs-faq .cs-qa { width: 100%; }
    .right_Xenter .cs-faq dt { font-size: 0.26rem; }
    .right_Xenter .cs-faq dd { font-size: 0.23rem; }
    .right_Xenter ul.cs-rel > li { width: 100%; }
    .right_Xenter ul.cs-rel > li a { font-size: 0.24rem; }
    .right_Xenter ul.cs-rel .cs-rel-thumb { width: 1.6rem; height: 1.07rem; margin-right: 0.2rem; }
    .right_Xenter .cs-cta { padding: 0.34rem 0.3rem; }
    .right_Xenter .cs-cta p { font-size: 0.25rem; }
    .right_Xenter .cs-cta .cs-btn { line-height: 0.9rem; font-size: 0.26rem; }
    .right_Xenter .cs-cta .cs-tel { display: block; margin: 0.16rem 0 0; font-size: 0.34rem; }
}

/* ---------- 案例索引 · 移动端（表格堆叠成卡片，一行一卡） ---------- */
@media screen and (max-width: 1023px) {
    .right_Xenter .cs-index { font-size: 0.23rem; }
    .right_Xenter .cs-index thead { display: none; }
    .right_Xenter .cs-index,
    .right_Xenter .cs-index tbody,
    .right_Xenter .cs-index tbody tr,
    .right_Xenter .cs-index tbody td { display: block; width: auto; }
    /* 2026-10-12：桌面那条 `.right_Xenter .cs-index td.cs-idx-case{width:50%}`
       是 (0,3,1)，比上面这条 td 的 (0,2,2) 高，在移动端照样生效，
       于是每行内容盒只剩 170.6px、标题栏被压成 64.6px（一个字一行），
       右边空掉一大半。用同等特异性覆盖掉它。 */
    .right_Xenter .cs-index td.cs-idx-case { width: auto; }
    .right_Xenter .cs-index tbody tr {
        margin-bottom: 0.22rem;
        padding: 0.24rem;
        background: #fff;
        border: 1px solid #e6e9ee;
        border-left: 0.04rem solid #d40003;
    }
    .right_Xenter .cs-index tbody tr:hover { background: #fff; }
    .right_Xenter .cs-index tbody td { padding: 0; border: 0; }
    .right_Xenter .cs-index .cs-idx-cover { width: 1.8rem; height: 1.2rem; margin-right: 0.24rem; }
    .right_Xenter .cs-index .cs-idx-t { font-size: 0.28rem; }
    .right_Xenter .cs-index .cs-idx-d { margin-top: 0.1rem; font-size: 0.23rem; }
    .right_Xenter .cs-index td.cs-idx-f {
        display: inline-block;
        width: auto;
        margin: 0.16rem 0.18rem 0 0;
        padding: 0.03rem 0.16rem;
        font-size: 0.21rem;
        background: #f2f4f7;
    }
    .right_Xenter .cs-index td.cs-idx-go { width: auto; margin-top: 0.14rem; text-align: left; }
    .right_Xenter .cs-index .cs-idx-go-t { font-size: 0.23rem; }
}

/* ==== 详情页回流聚合页按钮（内链第2步 2.3，2026-10-13） ==== */
.art-more { margin: 0.20rem 0 0; text-align: center; }
.art-more a, .pd-backlink a {
    display: inline-block;
    padding: 0.10rem 0.30rem;
    font-size: 0.16rem;
    line-height: 0.34rem;
    color: #d40003;
    border: 1px solid #d40003;
    border-radius: 2px;
    text-decoration: none;
    transition: background .18s, color .18s;
}
.art-more a:hover, .pd-backlink a:hover { background: #d40003; color: #fff; }
.pd-backlink { margin: 0.28rem 0 0.50rem; text-align: center; }

@media screen and (max-width: 1023px) {
    .art-more { margin-top: 0.30rem; }
    .art-more a, .pd-backlink a {
        padding: 0.16rem 0.48rem;
        font-size: 0.26rem;
        line-height: 0.56rem;
    }
    .pd-backlink { margin: 0.40rem 0 0.60rem; }
}

/* ===========================================================================
   侧栏「热门文章 Top6」+ 咨询入口（由 cus/view/sider.html 输出）
   2026-10-13 由 agg.css 迁入本文件（选择器与声明逐字保持不变）。
   原因：内链第2步把热门文章从聚合页(155/154)与枢纽页(114)扩到了文章详情页，
   而详情页不加载 agg.css（该表只在 $data->agg 存在时挂载）→ 该块在详情页
   只有 HTML、没有任何样式。article.css 是全站无条件加载的样式表，
   放在这里 => 凡出现 $hot 的页面都有样式，且不新增任何 HTTP 请求。
   =========================================================================== */
/* ===========================================================================
   6. 左侧栏：热门文章 Top6 + 咨询入口
      由 view/sider.html 输出；$hot 只在聚合页(155/154)与枢纽页(114)被赋值，
      所以这两个模块不会出现在其它栏目的侧栏里。
      视觉严格对齐已审核的设计稿：
        · 标题为深色条 #262626 + 右侧灰色小字「按点击量」；
        · 列表外套 1px 浅灰边框，与标题条共边成一整块；
        · 序号 01/02/03 用品牌红，其余浅灰；条目之间虚线分隔；
        · 点击量带千分位（number_format，见 sider.html）。
   =========================================================================== */
.hotbox { margin-top: 0.30rem; }
.hotbox .hot-tit {
    display: block;
    margin: 0;
    padding: 0 0.20rem;
    font-size: 0.20rem;
    line-height: 0.56rem;
    font-weight: bold;
    color: #ffffff;
    background: #262626;
}
.hotbox .hot-tit i {
    float: right;
    font-style: normal;
    font-size: 0.12rem;
    font-weight: normal;
    color: #8c8c8c;
    letter-spacing: 0.04em;
}
.hot-list {
    margin: 0;
    padding: 0.08rem 0.18rem 0.16rem;
    list-style: none;
    border: 1px solid #ededed;
    border-top: 0;
}
.hot-list > li {
    position: relative;
    margin: 0;
    padding: 0.16rem 0 0.14rem;
    list-style: none;
    border-bottom: 1px dashed #f0f0f0;
}
.hot-list > li:last-child { border-bottom: 0; }
.hot-list .hot-no {
    position: absolute;
    left: 0;
    top: 0.17rem;
    width: 0.28rem;
    font-size: 0.17rem;
    line-height: 0.24rem;
    font-weight: bold;
    font-style: normal;
    color: #c9c9c9;
    font-family: Arial, sans-serif;
}
.hot-list > li.top .hot-no { color: #d40003; }
.hot-list .hot-list-a {
    display: block;
    margin-left: 0.30rem;
    font-size: 0.15rem;
    line-height: 0.24rem;
    color: #333333;
    text-decoration: none;
}
.hot-list .hot-list-a:hover { color: #d40003; }
.hot-list .hot-v {
    display: block;
    margin: 0.04rem 0 0 0.30rem;
    font-size: 0.12rem;
    line-height: 0.18rem;
    color: #b5b5b5;
}

/* 侧栏咨询入口：文案为事实性服务说明（可服务区域 + 服务内容），
   电话与页头/页脚保持一致，不新增任何营销话术。 */
.side-cta { margin-top: 0.30rem; padding: 0.24rem 0.20rem; background: #d40003; }
.side-cta p { margin: 0; font-size: 0.16rem; line-height: 0.27rem; color: #ffffff; }
.side-cta b {
    display: block;
    margin: 0.06rem 0 0;
    font-size: 0.26rem;
    line-height: 0.36rem;
    font-weight: bold;
    color: #ffffff;
}
.side-cta p + p { margin-top: 0.06rem; font-size: 0.14rem; line-height: 0.24rem; color: #ffd9d9; }

@media screen and (max-width: 1023px) {
    /* 侧栏热门文章：移动端通栏（原 agg.css 同名媒体块内的规则） */
    /* ---- 侧边栏热门文章（移动端排到列表下方，通栏） ---- */
    .hotbox { margin-top: 0; }
    .hotbox .hot-tit { padding: 0 0.20rem; font-size: 0.30rem; line-height: 0.80rem; }
    .hotbox .hot-tit i { font-size: 0.20rem; }
    .hot-list { padding: 0.12rem 0.20rem 0.20rem; }
    .hot-list > li { padding: 0.20rem 0 0.18rem; }
    .hot-list .hot-no { top: 0.22rem; width: 0.44rem; font-size: 0.28rem; line-height: 0.40rem; }
    .hot-list .hot-list-a { margin-left: 0.46rem; font-size: 0.26rem; line-height: 0.40rem; }
    .hot-list .hot-v { margin: 0.06rem 0 0 0.46rem; font-size: 0.20rem; line-height: 0.30rem; }
    .side-cta { margin-top: 0.30rem; padding: 0.30rem 0.24rem; }
    .side-cta p { font-size: 0.26rem; line-height: 0.44rem; }
    .side-cta b { font-size: 0.40rem; line-height: 0.56rem; }
    .side-cta p + p { font-size: 0.22rem; line-height: 0.36rem; }
}

/* ============================================================
   施工案例 · 总览页（/case/113.html）四个系统入口卡片
   作用域同上，仅 .right_Xenter 内的 .cs-* 元素；不加任何全局选择器。
   桌面两列、≤1023px 单列（与站内既有断点一致）。
   左侧红框沿用品牌红 #d40003，与子栏目页的 cs-sec 标题条同色。
   ============================================================ */
.right_Xenter .cs-cats {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -0.1rem;
}
.right_Xenter .cs-cats > li {
    width: 50%;
    box-sizing: border-box;
    margin: 0 0 0.24rem;
    padding: 0 0.1rem;
    list-style: none;
}
.right_Xenter .cs-cat {
    display: block;
    height: 100%;
    box-sizing: border-box;
    padding: 0.26rem 0.28rem 0.24rem;
    background: #fff;
    border: 1px solid #e6e9ee;
    border-left: 0.05rem solid #d40003;
    text-decoration: none;
    transition: box-shadow .2s, transform .2s;
}
.right_Xenter .cs-cat:hover {
    box-shadow: 0 0.06rem 0.2rem rgba(21, 22, 25, .10);
    transform: translateY(-2px);
}
.right_Xenter .cs-cat-hd {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}
.right_Xenter .cs-cat-n {
    font-size: 0.24rem;
    font-weight: bold;
    color: #151619;
    line-height: 1.3;
}
.right_Xenter .cs-cat:hover .cs-cat-n { color: #d40003; }
.right_Xenter .cs-cat-c {
    font-size: 0.14rem;
    color: #8a919b;
}
.right_Xenter .cs-cat-c b {
    font-size: 0.20rem;
    color: #d40003;
    margin-right: 0.02rem;
}
.right_Xenter .cs-cat-d {
    display: block;
    margin: 0.12rem 0 0.16rem;
    font-size: 0.15rem;
    line-height: 1.9;
    color: #5a6169;
}
.right_Xenter .cs-cat-tags {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0.18rem;
}
.right_Xenter .cs-cat-tags span {
    margin: 0 0.08rem 0.08rem 0;
    padding: 0.03rem 0.12rem;
    font-size: 0.13rem;
    color: #6b7280;
    background: #f2f4f7;
}
.right_Xenter .cs-cat-go {
    display: block;
    font-size: 0.15rem;
    color: #d40003;
}

@media screen and (max-width: 1023px) {
    .right_Xenter .cs-cats > li { width: 100%; margin-bottom: 0.28rem; }
    .right_Xenter .cs-cat { padding: 0.34rem 0.30rem 0.30rem; }
    .right_Xenter .cs-cat-n { font-size: 0.32rem; }
    .right_Xenter .cs-cat-c { font-size: 0.22rem; }
    .right_Xenter .cs-cat-c b { font-size: 0.28rem; }
    .right_Xenter .cs-cat-d { margin: 0.16rem 0 0.20rem; font-size: 0.24rem; line-height: 1.9; }
    .right_Xenter .cs-cat-tags span { padding: 0.04rem 0.16rem; font-size: 0.21rem; }
    .right_Xenter .cs-cat-go { font-size: 0.24rem; }
}
