/* ThinkPHP 动态站补充样式（在 public/html/css/layout.css 之后加载） */

/* 首页 Banner：仅用后台 {$vo.images} 的 <img>，取消 layout 中 item0~3 的静态 background 叠层 */
.home-page .home-page-top .swiper-slide {
    background: none !important;
    background-image: none !important;
}
.home-page .home-page-top .slide-item {
    background: none !important;
    background-image: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
    padding: 0 16px 80px;
    box-sizing: border-box;
    position: relative;
    height: 100%;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
}
.home-page .home-page-top .slide-item > img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    display: block;
}
.home-page .home-page-top .slide-item .view-detail {
    position: relative;
    z-index: 1;
    margin-top: 0 !important;
}

/* 首页顶栏轮播：模板内联 height:940px 优先级高于样式表，小屏仍按 940px 占位会与 .home-page-top 400px 错位，连带「关于我们」视觉上移 */
@media screen and (max-width: 1000px) {
    .home-page .home-page-top .swiper-container,
    .home-page .home-page-top .swiper-container .swiper-slide {
        height: 100% !important;
    }

    .home-page .home-page-top .slide-item {
        padding: 0 12px 32px !important;
    }

    /* layout 小屏曾把首页 Banner 内 img 压成 50px（旧静态稿）；后台整幅图需铺满 */
    .home-page .home-page-top .slide-item > img {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
    }
}

/* ========== 内页 Banner 手机端：产品区取消 1920 撑宽、去叠层背景；底图已含字则隐藏 HTML 叠字 ========== */
@media screen and (max-width: 1000px) {
    .product-center .top-box {
        overflow: hidden;
    }
    .product-center .top-box .swiper-container,
    .product-center .top-box .swiper-wrapper {
        width: 100% !important;
        max-width: 100%;
    }
    .product-center .top-box .swiper-slide {
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    /* 小屏用 *-banner-mobile.png，桌面 CSS 背景会与图片叠两层 */
    .product-center .top-box .swiper-container .item0,
    .product-center .top-box .swiper-container .item1,
    .product-center .top-box .swiper-container .item2,
    .product-center .top-box .swiper-container .item3,
    .product-center .top-box .swiper-container .item4 {
        background-image: none !important;
    }
    .product-center .top-box .item .t-img img {
        width: 100%;
        height: auto;
        display: block;
        vertical-align: top;
    }

    .news-center .top-box,
    .honor-center .top-box,
    .cases-center .top-box {
        height: auto !important;
        min-height: 180px;
        max-height: min(50vh, 380px);
        aspect-ratio: 2.25 / 1;
        padding-top: 0 !important;
        padding-left: 16px;
        padding-right: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        background-size: cover;
        background-position: center center;
    }

    /*
     * 小屏整图底图（*-banner-mobile.png、about-us-bg-mobile.png）已含标题与 slogan 时，
     * 再叠模板里的 .content-mobile / .about-us .top-box .content 会重复、错行。
     * 栏目名以正文区标题、面包屑为准。
     */
    .news-center .top-box .content-mobile,
    .honor-center .top-box .content-mobile,
    .cases-center .top-box .content-mobile,
    .about-us .top-box .content {
        display: none !important;
    }

    .about-us .top-box {
        height: auto !important;
        min-height: 180px;
        max-height: min(50vh, 380px);
        aspect-ratio: 2.25 / 1;
        padding-top: 0 !important;
        padding-left: 16px;
        padding-right: 16px;
        display: flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        background-size: cover;
        background-position: center center;
    }

    /* 内页版心：避免 1480px 与横向溢出 */
    .news-center .content,
    .cases-center .content,
    .product-center .content,
    .honor-center .content {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }

    /* 关于我们（含 about_page）：简介区版心 */
    .about-us .introduction {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }

    /* 发展历程：无 Vue 时 el-carousel 子项为 absolute 叠层，小屏改为纵向时间轴列表 */
    .about-us .history {
        height: auto !important;
        min-height: 0;
        padding: 36px 16px 48px !important;
        box-sizing: border-box;
        overflow-x: hidden;
    }
    .about-us .history .content {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0;
        box-sizing: border-box;
    }
    .about-us .history .content .events-mobile {
        display: block !important;
    }
    .about-us .history .content .events-mobile .el-carousel,
    .about-us .history .content .events-mobile .el-carousel--horizontal {
        height: auto !important;
    }
    .about-us .history .content .events-mobile .el-carousel__container {
        position: relative !important;
        height: auto !important;
        min-height: 0 !important;
        overflow: visible !important;
    }
    .about-us .history .content .events-mobile .el-carousel__arrow {
        display: none !important;
    }
    .about-us .history .content .events-mobile .el-carousel__item {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 100% !important;
        height: auto !important;
        display: block !important;
        opacity: 1 !important;
        z-index: auto !important;
        transform: none !important;
        margin-bottom: 28px;
        padding-bottom: 24px;
        border-bottom: 1px solid rgba(150, 152, 163, 0.45);
    }
    .about-us .history .content .events-mobile .el-carousel__item:last-child {
        margin-bottom: 0;
        padding-bottom: 0;
        border-bottom: none;
    }
    .about-us .history .content .events-mobile .e-img {
        height: auto !important;
        max-height: 56vw;
    }
    .about-us .history .content .events-mobile .e-img img {
        width: 100% !important;
        height: auto !important;
        max-height: 56vw;
        object-fit: cover;
    }
    .about-us .history .content .events-mobile .e-text {
        padding: 0 4px;
        box-sizing: border-box;
        word-wrap: break-word;
        overflow-wrap: break-word;
    }

    /* 企业文化：三列卡片小屏增高由内容决定，避免死高裁切 */
    .about-us .culture .container {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 16px;
        padding-right: 16px;
        box-sizing: border-box;
    }
    .about-us .culture .container .content .box {
        height: auto !important;
        min-height: 220px;
        padding: 28px 20px 32px;
        box-sizing: border-box;
        background-size: cover !important;
    }
}

/* ========== 顶栏：Logo + 咨询热线 + 导航；小屏电脑缩字距、禁止换行掉落 ========== */
/* 下拉菜单绝对定位伸出顶栏：祖先不可 overflow:hidden，导航层叠在上方便点击 */
#app {
    overflow: visible !important;
}
.page-header {
    flex-wrap: nowrap;
    box-sizing: border-box;
    padding-left: 8px;
    padding-right: 8px;
    overflow: visible !important;
    /* 高于页面各区块，保证二级菜单叠在内容之上 */
    z-index: 10000 !important;
}
.page-header .header-left {
    min-width: 0;
    flex: 0 1 auto;
}
.page-header .header-right {
    min-width: 0;
    flex: 1 1 auto;
    position: relative;
    z-index: 20;
    overflow: visible !important;
}
.page-header .header-right .main-menu {
    flex-wrap: nowrap;
    justify-content: flex-end;
    overflow: visible !important;
}
.page-header .main-menu > .menu-dropdown-box {
    overflow: visible !important;
}
/* 顶栏下拉（产品 cpzx / 新闻 xwzx）：与主站一致使用 el-icon-arrow-down */
.page-header .portal-nav-dropdown-wrap {
    position: relative;
    height: 60px;
    display: flex;
    align-items: center;
}
.page-header .portal-nav-dropdown-link {
    display: inline-flex;
    align-items: center;
    color: #fff !important;
    text-decoration: none !important;
    font-size: 18px;
    font-weight: 400;
    white-space: nowrap;
    position: relative;
    z-index: 1;
}
.page-header .portal-nav-dropdown-link:hover {
    font-weight: 600;
}
.page-header .portal-nav-dropdown-link .portal-nav-caret.el-icon-arrow-down {
    font-size: 12px;
    opacity: 0.85;
    vertical-align: middle;
}
.page-header .portal-nav-submenu-list {
    display: none;
    position: absolute;
    left: 0;
    top: 100%;
    margin-top: 2px;
    min-width: 168px;
    padding: 10px 0;
    margin-left: 0;
    background-color: #fff;
    border: 1px solid #ebeef5;
    border-radius: 4px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    z-index: 10001;
    list-style: none;
}
.page-header .portal-nav-dropdown:hover .portal-nav-submenu-list,
.page-header .portal-nav-dropdown:focus-within .portal-nav-submenu-list,
.page-header .portal-nav-dropdown.portal-nav-dropdown-open .portal-nav-submenu-list {
    display: block !important;
}
.page-header .portal-nav-submenu-item a {
    display: block;
    line-height: 36px;
    padding: 0 20px;
    font-size: 14px;
    color: #606266;
    text-decoration: none;
}
.page-header .portal-nav-submenu-item a:hover {
    background-color: #f6f8fd;
    color: #cc0908;
}
.page-header .header-hotline {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex: 0 1 auto;
    min-width: 0;
    margin: 0 clamp(8px, 2vw, 28px);
    gap: clamp(6px, 1vw, 12px);
    line-height: 1.15;
    white-space: nowrap;
}
.page-header .header-hotline-label {
    font-size: clamp(14px, 1.35vw, 20px);
    font-weight: 600;
    color: rgba(255, 255, 255, 0.88);
    letter-spacing: 0.5px;
    flex-shrink: 0;
}
.page-header .header-hotline-tel {
    font-size: clamp(16px, 1.65vw, 24px);
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    flex-shrink: 0;
}
.page-header .header-hotline-tel:hover {
    color: #cc0908;
}
/* 中等宽度：收紧导航左右间距（覆盖 layout.css 的 35px） */
@media screen and (max-width: 1400px) {
    .page-header .main-menu .menu-item,
    .page-header .main-menu .menu-dropdown-box {
        margin-left: 20px;
        margin-right: 20px;
    }
}
@media screen and (max-width: 1330px) {
    .page-header .main-menu .menu-item,
    .page-header .main-menu .menu-dropdown-box {
        margin-left: 14px;
        margin-right: 14px;
    }
    .page-header .main-menu .menu-item .item-text,
    .page-header .portal-nav-dropdown-link {
        font-size: 16px;
    }
}
/* 仅平板收窄：手机端（≤1000px）顶栏 Logo/公司与 layout 一致，不在此缩小 */
@media screen and (max-width: 1330px) and (min-width: 1001px) {
    .page-header .header-left .logo {
        height: clamp(48px, 8vw, 60px);
        width: auto;
    }
    .page-header .header-left .company-name .company-name-cn {
        font-size: 17px;
        line-height: 24px;
    }
}
@media screen and (max-width: 1180px) {
    .page-header .main-menu .menu-item,
    .page-header .main-menu .menu-dropdown-box {
        margin-left: 8px;
        margin-right: 8px;
    }
    .page-header .main-menu .menu-item .item-text,
    .page-header .portal-nav-dropdown-link {
        font-size: 15px;
    }
}
@media screen and (max-width: 1000px) {
    .page-header .header-hotline {
        display: none;
    }
    /*
     * 手机端顶栏（全站含列表/详情等所有 extend layout 的页）：与 layout.css 一致
     * Logo + 中文名 + 英文名，不隐藏、不换成小号替代样式。
     * 使用 #app 提高优先级，避免与页内其他 .logo 规则混淆。
     */
    #app .page-header .header-left .header-brand img.logo,
    #app .page-header .header-brand .logo {
        display: block !important;
        visibility: visible !important;
        max-height: 56px;
        width: auto !important;
        height: auto !important;
        object-fit: contain;
        vertical-align: middle;
    }
    #app .page-header .header-left .company-name .company-name-cn {
        display: block !important;
        font-size: 20px;
        line-height: 28px;
        letter-spacing: 1px;
        font-weight: 600;
    }
    #app .page-header .header-left .company-name .company-name-en {
        display: block !important;
        font-size: 10px;
        line-height: 14px;
        font-weight: 500;
        opacity: 0.6;
    }
}
@media screen and (max-width: 500px) {
    #app .page-header .header-left .header-brand img.logo,
    #app .page-header .header-brand .logo {
        display: block !important;
        max-height: 52px;
    }
}

/* ========== 顶栏 Logo（a.header-brand） ========== */
.page-header .header-left .header-brand {
    display: flex;
    align-items: center;
    text-decoration: none;
}
.page-header .header-left .header-brand .company-name,
.page-header .header-left .header-brand .company-name-cn,
.page-header .header-left .header-brand .company-name-en {
    color: #fff;
}
.page-header .header-left .header-brand .company-name-en {
    opacity: 0.6;
}

.page-header .main-menu .menu-item > a.item-text {
    color: #fff;
    text-decoration: none;
}


.main-menu > li.menu-dropdown-box {
    display: flex;
    align-items: center;
    list-style: none;
}

.header-menu-drawer .drawer-body .menu-vertical-item {
    display: block;
    color: #223865;
    text-decoration: none;
}

/* 手机抽屉：仅一级可见，二级在 .portal-mobile-nav-group.is-open 内展开 */
.header-menu-drawer {
    height: auto !important;
    max-height: min(85vh, 560px) !important;
}
.header-menu-drawer .drawer-body {
    max-height: min(80vh, 520px);
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
}
.portal-mobile-nav-group {
    border-bottom: 1px solid #e8ebf0;
}
.portal-mobile-nav-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 20px;
    margin: 0;
    border: none;
    background: #fff;
    font: inherit;
    font-weight: 700;
    font-size: 16px;
    color: #223865;
    text-align: left;
    cursor: pointer;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}
.portal-mobile-nav-toggle:focus-visible {
    outline: 2px solid #cc0908;
    outline-offset: -2px;
}
.portal-mobile-nav-toggle-text {
    flex: 1;
    min-width: 0;
}
.portal-mobile-nav-caret {
    flex-shrink: 0;
    transition: transform 0.2s ease;
    font-size: 12px;
    color: #909399;
}
.portal-mobile-nav-group.is-open .portal-mobile-nav-caret {
    transform: rotate(180deg);
}
.portal-mobile-nav-panel {
    display: none;
    padding-bottom: 8px;
}
.portal-mobile-nav-group.is-open .portal-mobile-nav-panel {
    display: block;
}
.header-menu-drawer .drawer-body .portal-mobile-nav-sublink {
    padding-left: 36px !important;
    font-weight: 500 !important;
}

.home-page .news-center .top .news-type .news-item[role="button"],
.home-page .news-center .news-type-mobile .news-item[role="button"] {
    cursor: pointer;
    box-sizing: border-box;
    user-select: none;
}
.home-page .news-center .top .news-type a.news-item,
.home-page .news-center .news-type-mobile a.news-item {
    text-decoration: none;
    box-sizing: border-box;
}

/* a 默认是行内元素：margin-top（.mt40/.mt100 等）与 width/height 不生效，案例区等「查看详情」会贴在上文；与静态站 div 版对齐需成块级盒 */
.home-page a.view-detail,
.home-page a.view-detail:link,
.home-page a.view-detail:visited {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
    color: #fff !important;
    text-decoration: none !important;
}

/* ========== 关于我们单页：结构与 static/pages/about.html 一致（.introduction > .content > .top / .left / .right） ========== */
.about-us .introduction .breadcrumb .about-breadcrumb-link {
    color: inherit;
    text-decoration: none;
}
.about-us .introduction .breadcrumb .about-breadcrumb-link:hover {
    color: #cc0908;
}
/* 父栏目 id=16 下的子单页切换（静态站无此条，仅动态站需要） */
.about-us .introduction .about-intro-subnav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 16px;
    margin: -20px 0 36px;
    padding: 0;
}
.about-us .introduction .about-intro-subnav .about-intro-subnav-link {
    text-decoration: none;
    color: #272848;
    font-size: 16px;
    line-height: 1.5;
    padding: 4px 8px;
}
.about-us .introduction .about-intro-subnav .about-intro-subnav-link:hover {
    color: #cc0908;
}
.about-us .introduction .about-intro-subnav .about-intro-subnav-link.is-active {
    font-weight: 700;
    color: #cc0908;
}
/* 正文在 .comp-desc 内，富文本图片不撑破左栏 */
.about-us .introduction .content .left .comp-desc img,
.about-us .introduction .content .left .comp-desc video {
    max-width: 100%;
    height: auto;
    display: block;
}
.about-us .introduction .content .left .comp-desc iframe {
    max-width: 100%;
    box-sizing: border-box;
}
.about-us .introduction .content .left .comp-desc table {
    max-width: 100%;
}

.product-center .content .list > a.list-item {
    display: block;
}
.news-center .content .list-web a.list-item.mb60 {
    align-items: flex-start;
}

/* 新闻列表 PC：首条大图区（原为 div 结构，现为 a 包裹）横向一排、缩略图裁切 */
.news-center .content .first-new .first-new-link {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    height: 100%;
    min-height: 0;
    box-sizing: border-box;
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}
.news-center .content .first-new .first-new-link > img {
    flex: 0 0 42%;
    width: 42%;
    max-width: 42%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    align-self: stretch;
}
.news-center .content .first-new .first-new-link .right {
    flex: 1 1 0;
    min-width: 0;
}

/* 列表行：右侧缩略图在固定行高内裁切，避免大图把行撑破 */
.news-center .content .list > a.article-list-item-link.list-item {
    display: flex;
    align-items: stretch;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
}
.news-center .content .list > a.article-list-item-link > img {
    flex: 0 0 17%;
    width: 17% !important;
    max-width: 17%;
    height: 100%;
    max-height: 204px;
    object-fit: cover;
    object-position: center;
    align-self: center;
}

/* 新闻详情：相册与富文本正文内图片/视频不超出版心 */
.news-center .news-detail .content .img-box {
    max-width: 100%;
    box-sizing: border-box;
}
.news-center .news-detail .content .img-box .p-img {
    max-width: min(100%, 960px) !important;
    width: auto !important;
    height: auto !important;
    display: block;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}
#news-detail-content .news-detail .text {
    overflow-x: auto;
    max-width: 100%;
    box-sizing: border-box;
    word-wrap: break-word;
    overflow-wrap: break-word;
}
#news-detail-content .news-detail .text img,
#news-detail-content .news-detail .text video {
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box;
}
#news-detail-content .news-detail .text iframe {
    max-width: 100% !important;
    box-sizing: border-box;
}
#news-detail-content .news-detail .text table {
    max-width: 100%;
}

/* 新闻列表移动端：<a class="list-item"> 勿用 display:block，否则覆盖 layout 中 flex 排版 */
.news-center .content .list-mobile > a.list-item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}

/* ========== 案例列表：list-item 为 <a> 时需块级，否则 width:24% 与 flex 布局失效 ========== */
.cases-center .content .list > a.list-item {
    display: block;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
}

/* ========== 案例详情：摘要不用 .time（避免沿用新闻日期 32px 大字）；面包屑链接去默认色与下划线 ========== */
.cases-center .news-detail .content .case-desc {
    text-align: center;
    font-size: 16px;
    line-height: 28px;
    font-weight: 400;
    color: #717991;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 1481px) {
    .cases-center .news-detail .content .case-desc {
        font-size: 18px;
        line-height: 30px;
    }
}
.cases-center .news-detail .breadcrumb a.case-breadcrumb-link {
    color: inherit;
    text-decoration: none;
}
.cases-center .news-detail .breadcrumb a.case-breadcrumb-link:hover {
    color: #cc0908;
}
/* 详情底栏：<a class="btn"> 需 flex；三按钮未悬停均为白底红字红框（与静态交互一致，覆盖 layout.css 里 .btn.back 实心红） */
.news-detail .detail-nav a.btn,
.product-detail .detail-nav a.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-sizing: border-box;
}
.news-detail .detail-nav a.btn.back,
.product-detail .detail-nav a.btn.back,
.cases-center .news-detail .detail-nav a.btn.back {
    background-color: #fff !important;
    color: #cc0908 !important;
    border: 1px solid #ce4b19 !important;
    backdrop-filter: none;
}
.news-detail .detail-nav a.btn.back:hover,
.product-detail .detail-nav a.btn.back:hover,
.cases-center .news-detail .detail-nav a.btn.back:hover {
    background-color: #f6f8fd !important;
    color: #cc0908 !important;
    border-color: #ce4b19 !important;
}
.cases-center .news-detail .detail-nav a.btn.prev,
.cases-center .news-detail .detail-nav a.btn.next {
    color: #cc0908;
    background-color: #fff;
    border: 1px solid #ce4b19;
}
.cases-center .news-detail .detail-nav a.btn.prev:hover,
.cases-center .news-detail .detail-nav a.btn.next:hover {
    background-color: #f6f8fd;
}

/* ========== 页脚：版权与导航文字统一为白色（含后台版权富文本内的 a、span） ========== */
.footer .container .inner-content ul li.title,
.footer .container .inner-content ul li.title a.footer-nav-title-link {
    color: #fff !important;
}
.footer .container .inner-content ul li.title a.footer-nav-title-link {
    text-decoration: none;
}
.footer .container .inner-content ul li.title a.footer-nav-title-link:hover {
    opacity: 0.95;
}
.footer .container .inner-content ul li:not(.title) a,
.footer .container .inner-content ul li:not(.title) a:link,
.footer .container .inner-content ul li:not(.title) a:visited {
    color: rgba(255, 255, 255, 0.88) !important;
    text-decoration: none;
}
.footer .container .inner-content ul li:not(.title) a:hover {
    color: #fff !important;
}
.footer .copyright,
.footer .copyright a,
.footer .copyright span,
.footer .copyright p,
.footer .copyright div {
    color: #fff !important;
}
.footer .container .contact-content .title,
.footer .container .contact-content .tel {
    color: #fff !important;
}
.footer .container .contact-content .address {
    color: rgba(255, 255, 255, 0.88) !important;
}

/* 顶栏：当前页红条不抢点击 */
.page-header .main-menu .menu-item .active {
    pointer-events: none;
}
.page-header .main-menu .menu-item > a.item-text,
.page-header .portal-nav-dropdown-link {
    position: relative;
    z-index: 1;
}

/* ========== 产品/新闻列表：顶部分类 Tab 为 <a> 时去下划线，当前选中保持红字加粗（避免 :visited 盖掉 .active） ========== */
.product-center .content .content-header .series a.series-item,
.product-center .content .series-mobile a.series-item,
.news-center .content .content-header .series a.series-item,
.news-center .content .series-mobile a.series-item {
    text-decoration: none !important;
    color: #272848;
}
.product-center .content .content-header .series a.series-item:visited,
.product-center .content .series-mobile a.series-item:visited,
.news-center .content .content-header .series a.series-item:visited,
.news-center .content .series-mobile a.series-item:visited {
    color: #272848;
}
.product-center .content .content-header .series a.series-item.active,
.product-center .content .content-header .series a.series-item.active:visited,
.product-center .content .series-mobile a.series-item.active,
.product-center .content .series-mobile a.series-item.active:visited,
.news-center .content .content-header .series a.series-item.active,
.news-center .content .content-header .series a.series-item.active:visited,
.news-center .content .series-mobile a.series-item.active,
.news-center .content .series-mobile a.series-item.active:visited {
    color: #cc0908 !important;
    font-weight: 600 !important;
}

/* ========== 列表分页：ThinkPHP 默认 Bootstrap（ul.pagination），与 layout 中 el-pagination 主题对齐 ========== */
.fenye ul.pagination,
.fenye ul.pager,
.dataTables_paginate ul.pagination,
.dataTables_paginate ul.pager,
.paging_simple_numbers ul.pagination,
.paging_simple_numbers ul.pager {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.fenye ul.pagination > li,
.dataTables_paginate ul.pagination > li,
.paging_simple_numbers ul.pagination > li,
.fenye ul.pager > li,
.dataTables_paginate ul.pager > li,
.paging_simple_numbers ul.pager > li {
    display: inline-block;
    margin: 0;
    vertical-align: middle;
}
.fenye ul.pagination > li > a,
.fenye ul.pagination > li > span,
.dataTables_paginate ul.pagination > li > a,
.dataTables_paginate ul.pagination > li > span,
.paging_simple_numbers ul.pagination > li > a,
.paging_simple_numbers ul.pagination > li > span,
.fenye ul.pager > li > a,
.fenye ul.pager > li > span,
.dataTables_paginate ul.pager > li > a,
.dataTables_paginate ul.pager > li > span,
.paging_simple_numbers ul.pager > li > a,
.paging_simple_numbers ul.pager > li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    box-sizing: border-box;
    font-size: 14px;
    line-height: 1;
    color: #606266;
    text-decoration: none;
    border: 1px solid #e1e4ed;
    border-radius: 4px;
    background: #fff;
}
.fenye ul.pagination > li > a:hover,
.dataTables_paginate ul.pagination > li > a:hover,
.paging_simple_numbers ul.pagination > li > a:hover,
.fenye ul.pager > li > a:hover,
.dataTables_paginate ul.pager > li > a:hover,
.paging_simple_numbers ul.pager > li > a:hover {
    color: #cc0908;
    border-color: #cc0908;
}
.fenye ul.pagination > li.active > span,
.dataTables_paginate ul.pagination > li.active > span,
.paging_simple_numbers ul.pagination > li.active > span {
    color: #fff !important;
    background-color: #cc0908 !important;
    border-color: #cc0908 !important;
    cursor: default;
}
.fenye ul.pagination > li.disabled > span,
.dataTables_paginate ul.pagination > li.disabled > span,
.paging_simple_numbers ul.pagination > li.disabled > span,
.fenye ul.pager > li.disabled > span,
.dataTables_paginate ul.pager > li.disabled > span,
.paging_simple_numbers ul.pager > li.disabled > span {
    color: #b0b3be !important;
    background: #f5f5f5 !important;
    border-color: #e1e4ed !important;
    cursor: not-allowed;
}

/* 若某处手动包了 .el-pagination，与内容区红底当前页一致 */
.cases-center .content .fenye .el-pagination .number.active,
.news-center .content .fenye .el-pagination .number.active,
.product-center .content .fenye .el-pagination .number.active {
    background-color: #cc0908 !important;
    color: #fff !important;
}

/* ========== 荣誉资质列表：一排四列 + 底部横线展台 + 点击放大 ========== */
.honor-showcase-page .honor-showcase-wrap {
    max-width: 1180px;
    margin: 0 auto;
    padding: 24px 20px 48px;
    box-sizing: border-box;
    background: #fff;
}
.honor-showcase-header {
    text-align: center;
    margin: 32px 0 36px;
}
.honor-showcase-title {
    margin: 0 0 12px;
    font-size: 28px;
    font-weight: 600;
    color: #223865;
    letter-spacing: 0.02em;
}
.honor-showcase-subtitle {
    margin: 0;
    font-size: 14px;
    letter-spacing: 0.12em;
    color: #a8adb8;
    text-transform: uppercase;
}
.honor-showcase-stage {
    position: relative;
    padding-bottom: 8px;
}
/* 每满 4 张一组：一组内一排四列，组下一条细横线 + 展台 */
.honor-frames-band {
    width: 100%;
    margin-bottom: 28px;
}
.honor-frames-band:last-of-type {
    margin-bottom: 0;
}
/* 固定四列网格 */
.honor-frames-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px 20px;
    align-items: end;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
    width: 100%;
}
.honor-cert-frame {
    margin: 0;
    min-width: 0;
}
.honor-cert-btn {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: none;
    background: transparent;
    cursor: zoom-in;
    text-align: left;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: transparent;
}
.honor-cert-btn:focus {
    outline: 2px solid rgba(34, 56, 101, 0.45);
    outline-offset: 2px;
}
.honor-cert-btn:focus:not(:focus-visible) {
    outline: none;
}
.honor-cert-inner {
    display: block;
    padding: 9px 9px 11px;
    background: linear-gradient(145deg, #6b4c3a 0%, #4a3325 35%, #5c4335 70%, #3d2a1f 100%);
    border-radius: 3px;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -2px 6px rgba(0, 0, 0, 0.35),
        0 10px 22px rgba(34, 56, 101, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.honor-cert-btn:hover .honor-cert-inner {
    transform: translateY(-2px);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.12),
        inset 0 -2px 6px rgba(0, 0, 0, 0.35),
        0 14px 28px rgba(34, 56, 101, 0.16);
}
.honor-cert-inner img {
    display: block;
    width: 100%;
    height: auto;
    vertical-align: middle;
    background: #f5f6f8;
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.65);
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
    pointer-events: none;
}
/* 每组底部：细横线（全宽）+ 展台 */
.honor-platform {
    margin-top: 12px;
    width: 100%;
}
.honor-shelf-line {
    display: block;
    width: 100%;
    height: 0;
    margin: 0;
    padding: 0;
    border: none;
    border-top: 1px solid #dce0e8;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.95);
}
.honor-shelf {
    height: 8px;
    margin: 0;
    width: 100%;
    border-radius: 0 0 3px 3px;
    background: linear-gradient(180deg, #e8ebf0 0%, #d0d6e0 50%, #bcc4d0 100%);
    box-shadow:
        0 2px 0 #a8b0bd,
        0 6px 14px rgba(34, 56, 101, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.7);
    transform: perspective(520px) rotateX(3deg);
    transform-origin: 50% 0;
}
.honor-showcase-empty {
    text-align: center;
    color: #909399;
    padding: 48px 16px;
    margin: 0;
    font-size: 15px;
}
.honor-showcase-pager {
    margin-top: 32px;
}
/* 灯箱 */
.honor-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    box-sizing: border-box;
}
.honor-lightbox[hidden] {
    display: none !important;
}
.honor-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.82);
    cursor: zoom-out;
}
.honor-lightbox-close {
    position: absolute;
    top: 16px;
    right: 20px;
    z-index: 2;
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.15);
    color: #fff;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
}
.honor-lightbox-close:hover {
    background: rgba(255, 255, 255, 0.28);
}
.honor-lightbox-panel {
    position: relative;
    z-index: 1;
    max-width: min(96vw, 1200px);
    max-height: 90vh;
    margin: 0 auto;
}
.honor-lightbox-img {
    display: block;
    max-width: 100%;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}
@media screen and (max-width: 992px) {
    .honor-frames-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
    .honor-showcase-title {
        font-size: 22px;
    }
}
@media screen and (max-width: 576px) {
    .honor-frames-row {
        grid-template-columns: 1fr;
    }
}

/* 三列 .box：抵消 layout 为去间隙设的 font-size:0，避免子级文字被压没 */
.about-us .culture .content.culture-content--boxes {
    font-size: 0;
    letter-spacing: 0;
}
.about-us .culture .content.culture-content--boxes .box {
    font-size: 16px;
}

/* 企业文化静态三卡：配图由 layout.css 的 culture1/2/3 提供，此处仅补桌面端 cover（与移动端一致） */
.about-us .culture .content .box1,
.about-us .culture .content .box2,
.about-us .culture .content .box3 {
    background-size: cover;
}
