/* ============================================================
   威富通官网 · 移动端适配覆盖层
   仅在 ≤768px 生效，覆盖 swiftpass.css 的 PC 定宽布局。
   设计来源：swiftpass-mobile（Vue3+Vant，750 设计稿）。
   数值换算：设计稿 px ÷ 7.5 = vw（750px 视口 = 100vw）。
   本文件在 layout.html 中所有页面 CSS 之后加载，确保覆盖权重。
   原则：只调布局/尺寸/间距，不改任何文案（HTML 单一来源，PC/移动同步）。
   ============================================================ */

/* 移动端专属元素：PC 默认隐藏，进入断点后由 @media 显示 */
.nav_hamburger { display: none; }
.nav_overlay { display: none; }
.nav_online { display: none; }

/* PC / 移动 双 DOM 切换：>768px 只显示 PC 版，≤768px 只显示移动版 */
.m-only { display: none; }
@media (max-width: 768px) {
  .pc-only { display: none !important; }
  .m-only { display: block; }
}

@media (max-width: 768px) {
  /* ========== 顶栏：logo 居中 + 左侧汉堡（对齐移动站 108px 头部） ========== */
  /* transition:none — 白底随滚动瞬间出现，不做 1s 渐变（PC 端保留 all 1s ease） */
  #topNav { height: 14.4vw; background: #fff; box-shadow: 0 0 0.4vw #eee; transition: none; }
  #topNav:hover { background: #fff; } /* 移动端禁用 PC hover 变蓝 */
  #topNav.active { background: #fff; box-shadow: 0 0.27vw 1vw rgba(0,0,0,.08); }
  #topNav .top_wrap { width: 100%; height: 100%; padding: 0; position: relative; }

  /* logo 居中，230×50 @750 → 30.6vw 高 6.6vw */
  #topNav .top_logo { float: none; position: absolute; left: 50%; top: 50%;
    transform: translate(-50%, -50%); line-height: normal; }
  /* 高度/显隐由 .top_logo_dark / .top_logo_light 各自控制（见下方切换规则） */

  /* 汉堡：居左，图标 36×36 @750 → 4.8vw，外距对齐移动站 */
  .nav_hamburger {
    display: block; position: absolute; left: 4vw; top: 50%;
    transform: translateY(-50%); width: 4.8vw; height: 4.8vw;
    background: none; border: 0; padding: 0; cursor: pointer; z-index: 120;
  }
  .nav_hamburger_ico { display: block; width: 100%; height: 100%; }

  /* logo 双图切换：默认(白底)显示 light 那张，隐藏 dark；PC 专用 logo 移动端不显示 */
  #topNav .top_logo_pc { display: none; }
  #topNav .top_logo_dark { display: none; }
  #topNav .top_logo_light { display: block; height: 6.6vw; width: auto; }

  /* ===== 首页顶部透明态（未滚动、抽屉未开）：透明背景 + 白 logo + 白汉堡 ===== */
  body.page-home #topNav:not(.active):not(.nav-open) {
    background: transparent; box-shadow: none;
  }
  body.page-home #topNav:not(.active):not(.nav-open) .top_logo_light { display: none; }
  body.page-home #topNav:not(.active):not(.nav-open) .top_logo_dark { display: block; height: 6.6vw; width: auto; }
  /* 灰色汉堡图标反色为白色 */
  body.page-home #topNav:not(.active):not(.nav-open) .nav_hamburger_ico { filter: brightness(0) invert(1); }
}

@media (max-width: 768px) {
  /* ========== 左侧抽屉（对齐移动站 nav：530px 宽 → 70.6vw，左滑入） ========== */
  #topNav .top_menu {
    float: none; position: fixed; top: 0; left: 0; z-index: 110;
    width: 70.6vw; height: 100vh; height: 100dvh;
    background: #fff;
    transform: translateX(-100%); transition: transform .3s ease;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    display: flex; flex-direction: column;
    padding: 4.8vw 5.3vw; /* 36/40 @750 */
    box-sizing: border-box;
  }
  #topNav.nav-open .top_menu { transform: translateX(0); box-shadow: 4px 0 20px rgba(0,0,0,.15); }

  /* 遮罩：仅作点击关闭抽屉的热区，不再压暗页面（去掉变暗效果） */
  .nav_overlay {
    display: block; position: fixed; inset: 0; z-index: 105;
    background: transparent; opacity: 0; visibility: hidden;
  }
  #topNav.nav-open ~ .nav_overlay { opacity: 1; visibility: visible; }
  /* 抽屉打开时把 #topNav 整体提到遮罩之上：#topNav 自建层叠上下文(z-index:100)，
     其子抽屉的 z-index 受困于此，若不提升会被 z-index:105 的遮罩盖住导致点击失效 */
  #topNav.nav-open { z-index: 106; }

  /* ========== 抽屉内一级菜单：竖排，li padding 40px @750 → 5.3vw ========== */
  .swift_nav { font-size: 4.53vw; width: 100%; } /* 34px @750 */
  .swift_nav .menu {
    float: none; width: 100%; height: auto; line-height: 1.2;
    padding: 5.3vw 0; border-bottom: 1px solid #eee;
  }
  .swift_nav .menu:last-child { border-bottom: 0; }
  .swift_nav .menu:before { display: none; } /* 去掉 PC 顶部高亮条 */
  .swift_nav .menu > a {
    display: block; color: #222; padding: 0;
  }
  .swift_nav .menu.on > a { color: #4272ee; }

  /* 产品中心 / 行业解决方案的二级：直接平铺成蓝色按钮块（对齐移动站 blueBtn，不折叠） */
  .swift_nav .sub_menu {
    position: static; opacity: 1; visibility: visible; transform: none;
    background: none; box-shadow: none; padding: 0;
    display: flex; flex-wrap: wrap; justify-content: space-between;
    margin-top: 4.8vw; margin-bottom: -3.2vw;
  }
  .swift_nav .sub_menu > li {
    width: 48%; margin-bottom: 3.2vw; white-space: normal; display: flex;
  }
  .swift_nav .sub_menu > li > a {
    display: flex; align-items: center; justify-content: center; width: 100%;
    min-height: 10.4vw; padding: 1.6vw 2vw; text-align: center; box-sizing: border-box;
    color: #4272ee; font-size: 3.73vw; line-height: 1.3; /* 28px @750 */
    background: rgba(66,114,238,0.1); border-radius: 4px;
  }
  .swift_nav .sub_menu > li.on > a { font-weight: bold; }

  /* 抽屉底部"在线联系"（对齐移动站 onlineContact） */
  .nav_online {
    display: flex; align-items: center; justify-content: center;
    margin-top: auto; padding-top: 8vw;
    color: #4272ee; font-size: 4.27vw; cursor: pointer;
  }
  .nav_online .nav_online_ico {
    margin-right: 1.3vw; font-size: 4.8vw; line-height: 1;
  }
}

@media (max-width: 768px) {
  /* ========== 页脚 #bottomNav：移动手风琴版（对齐 m.swiftpass.cn） ========== */
  #bottomNav { background: #fff; }
  .mh-footer { box-sizing: border-box; padding: 0 5.3vw 6.7vw; background: #fff; }

  /* 手风琴菜单 */
  .mh-foot-acc { list-style: none; margin: 0; padding: 0; }
  .mh-acc-item { border-bottom: 1px solid #eee; }
  .mh-acc-head {
    display: flex; align-items: center; justify-content: space-between;
    height: 16vw; font-size: 4.27vw; color: #333; cursor: pointer;
  }
  .mh-acc-arrow {
    width: 3.2vw; height: 3.2vw; border-right: 1px solid #999; border-bottom: 1px solid #999;
    transform: rotate(-45deg); transition: transform .3s; margin-right: 1vw;
  }
  .mh-acc-item.open .mh-acc-arrow { transform: rotate(45deg); }
  .mh-acc-panel { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
  .mh-acc-item.open .mh-acc-panel { max-height: 120vw; }
  .mh-acc-panel a { display: block; padding: 2.4vw 0; font-size: 3.73vw; color: #666; }
  .mh-acc-panel a:last-child { padding-bottom: 4vw; }

  /* 二维码区 */
  .mh-foot-qr { text-align: center; padding-top: 8vw; }
  .mh-foot-qr img { width: 27.2vw; height: 27.2vw; display: inline-block; }
  .mh-foot-qr p { margin-top: 2.7vw; font-size: 3.2vw; color: #666; }

  /* 服务热线 */
  .mh-foot-hotline {
    display: block; text-align: center; margin-top: 2.7vw;
    font-size: 4.8vw; font-weight: 500; color: #3486ff;
  }

  /* 地址/版权 */
  .mh-foot-addr { margin-top: 4vw; font-size: 3.2vw; line-height: 2; color: #999; text-align: center; }
  .mh-foot-addr + .mh-foot-addr { margin-top: 0; }
  .mh-foot-addr .mh-beian { color: #999; }

  /* ========== 通用区块 .swift_blocker ========== */
  .swift_blocker { padding: 8vw 4vw; }
  .swift_blocker > h1 { font-size: 5.3vw; line-height: 1.4; }
  .swift_blocker > h2 { font-size: 3.73vw; line-height: 1.5; }
  .swift_blocker .divider { margin: 3.2vw auto; }

  /* ========== 联系我们 CTA .contact_us ========== */
  .contact_us { height: auto; padding: 8vw 4vw; }
  .contact_us .txt_zh { padding-top: 0; font-size: 6.4vw; line-height: 1.4; }
  .contact_us .txt_en { margin-top: 1.3vw; font-size: 3.73vw; line-height: 1.4; }
  .contact_us .txt_jianli { font-size: 3.73vw; }
  .contact_us .txt_a {
    width: 42vw; height: 12vw; line-height: 12vw; font-size: 4.27vw; margin: 5.3vw auto 0;
  }

  /* ========== 右侧悬浮客服栏 .pop_indicator（移动端隐藏，改由抽屉底部"在线联系"承载） ========== */
  .pop_indicator_wrap { display: none !important; }
  .pop_indicator > li { width: 11vw; height: 11vw; }
  .pop_indicator .indicator_icon .iconfont { font-size: 5.3vw !important; }
  .pop_qr { left: auto; right: 13vw; bottom: 0; padding: 3.2vw; }
  .pop_qr img { width: 25vw; }

  /* ========== 通用内容回流兜底（第二阶段各页再微调） ========== */
  #topNav .top_wrap,
  #swift_content,
  .index_wrap,
  .index_cont { width: 100% !important; }
  img { height: auto; }
}

/* ============================================================
   首页 index.html（路线A：以 PC 区块为准，逐块回流）
   ============================================================ */
@media (max-width: 768px) {
  /* 解除强制定宽，消除横向滚动 */
  .index_wrap { min-width: 0; }

  /* Banner：固定定位保留，降占位高度、文字改 vw */
  .top_swiper_cont { width: 100%; padding: 0 5.3vw; top: 0; box-sizing: border-box; }
  .top_swiper_cont > p { font-size: 4.27vw; line-height: 1.6; }
  .top_swiper_cont > p.banner_big { font-size: 7.5vw; }
  .top_swiper_cont > p.banner_small { font-size: 3.47vw; line-height: 1.6; }
  .top_swiper_cont.one_txt > p.one_txt_p1 { font-size: 7.5vw; line-height: 1.4; margin-bottom: 4vw; }
  .top_swiper_cont.one_txt > p.one_txt_p2 { font-size: 3.73vw; line-height: 1.6; }
  #topBlank { height: 60vw; } /* 原 900px 视差占位，移动端压缩 */
  .index_top_swiper .swiper-pagination { bottom: 5vw; }
  .index_top_swiper .swiper-dot { width: 6.4vw; height: 0.5vw; }

  /* 新闻动态：3 列 float → 单列 */
  .news_swiper { width: 100%; margin: 6vw auto 0; }
  .news_wrap { margin: 0 4vw; }
  .news_wrap li {
    float: none; width: 100% !important; height: auto; margin: 0 0 5.3vw 0 !important;
    padding: 4vw; box-sizing: border-box;
  }
  .news_wrap li:hover { transform: none; } /* 移动端去掉放大 */
  .news_wrap .news_img { height: 44vw; }
  .news_wrap .news_title { font-size: 4.27vw; line-height: 1.4; height: auto; }
  .news_wrap .news_cont { font-size: 3.47vw; line-height: 1.6; height: auto; margin-top: 2.7vw; }
  .news_wrap .news_footer { position: static; margin-top: 3.2vw; font-size: 3.2vw; }
}

@media (max-width: 768px) {
  /* 支付接入能力：logo 墙 4 列 → 2 列 */
  .logo_wrap { width: 100%; margin: 6vw auto 0; padding: 0 4vw; box-sizing: border-box; }
  .logo_wrap > ul li {
    float: none; display: inline-block; vertical-align: top;
    width: 44vw !important; height: auto; margin: 0 2vw 3vw !important;
    padding-bottom: 4vw;
  }
  .logo_wrap > ul { text-align: center; }
  .logo_wrap > ul li h2 { font-size: 3.73vw; margin-top: 3.2vw; }
  .logo_wrap > ul li h3 { font-size: 3.2vw; margin-top: 2vw; }
  .iconplus_wraper { width: 14vw; height: 14vw; margin-top: 4vw; }

  /* 交易解决方案：3 列大间距 → 均分 3 列 */
  .pay_wrap { width: 100%; margin: 6vw auto 0; padding: 0 2vw; box-sizing: border-box; }
  .pay_wrap > ul { display: flex; flex-wrap: wrap; justify-content: space-around; }
  .pay_wrap > ul li {
    float: none; width: 30%; height: auto; margin: 0 0 5vw 0 !important;
  }
  .pay_wrap > ul li h2 { font-size: 3.47vw; margin-top: 3vw; }
  .pay_wrap > ul li h3 { font-size: 3.2vw; margin-top: 2vw; }
  .pay_icon_wraper { width: 20vw; height: 20vw; background: linear-gradient(150deg,#25adff,#318fff 50%,#3b75ff); }
  .pay_icon_wraper svg { left: 25%; top: 25%; font-size: 11vw; }

  /* 技术支持：定宽背景图容器 → 全宽等比 */
  .tech_wrap2 { width: 100%; height: 56vw; margin: 6vw auto 8vw; }
  #techVideo { margin-left: 0; left: 0; width: 100%; bottom: 8vw; }

  /* 增值服务：3 列 → 单列 */
  .valueadd_wrap { width: 100%; margin: 6vw auto 0; padding: 0 4vw; box-sizing: border-box; }
  .valueadd_wrap > ul li {
    float: none; width: 100% !important; height: auto; margin: 0 0 5.3vw 0 !important;
  }
  .valueadd_wrap > ul li:hover { transform: none; }
  .valueadd_wrap .value_img { height: 50vw; }
  .valueadd_wrap .value_txt { height: auto; padding: 4vw 0; }
  .valueadd_wrap > ul li h2 { font-size: 4.27vw; }
  .valueadd_wrap > ul li h3 { font-size: 3.47vw; width: 80%; }
}

@media (max-width: 768px) {
  /* 跨境服务地图：地图信标靠 hover 显示国家名，手机无 hover 且 704px 地图缩放后
     圆点/国家名不可辨，属纯装饰。手机端隐藏地图，保留标题与两段业务文字（不丢信息）。 */
  .oversea_wrap { width: 100%; margin: 6vw auto 0; padding: 0 4vw; box-sizing: border-box; }
  .oversea_wrap .map { display: none; }

  /* 海外移动支付/增值业务：两列 → 单列堆叠 */
  .oversea_wrap > ul { margin-top: 0; }
  .oversea_wrap > ul li {
    float: none; width: 100% !important; margin-bottom: 6vw;
  }
  .oversea_wrap > ul li:nth-child(1) h2,
  .oversea_wrap > ul li:nth-child(1) h3 { margin-left: 10vw; }
  .oversea_wrap > ul li:nth-child(1):before { left: 10vw; }
  .oversea_wrap > ul li:before { top: -5vw; width: 10vw; }
  .oversea_wrap > ul li h2 { font-size: 4.27vw; }
  .oversea_wrap > ul li h3 { font-size: 3.47vw; width: 100%; margin-top: 3vw; }

  /* 服务银行轮播：定宽定高 → 全宽等比 */
  .bank_swiper { width: 100%; height: auto; margin: 6vw auto 0; }
  .bank_swiper .swiper-slide img { width: 100%; height: auto; }
  .bank_swiper .swiper-pagination { position: static; margin-top: 3vw; }
}

/* ============================================================
   产品页公共（epay/spay/ecard/einvoice/swfad/payonline）
   共用 .topFixed(700 视差 banner) + .swft_zanwei 占位 + .swft_p3/p4 标题
   各页命名空间(.spay/.epay…)下有同名 .p3/.p4/.pline，一并覆盖
   ============================================================ */
@media (max-width: 768px) {
  /* 视差 banner：PC 各页 .xxx .topFixed 定 450~700px(特异性 0,2,0 高于此处),
     移动端统一压到 120vw(≈450px)容纳标题+说明，避免 ecard/einvoice/swfad/payonline 的 700px 留白过多。用 !important 覆盖各页 PC 值。 */
  .topFixed, .swft_zanwei,
  [class*="spay"] .topFixed, [class*="spay"] .swft_zanwei { height: 120vw !important; }
  /* p1/p2 部分页 PC 设 width:900px 会溢出 → 收到全宽并居中 */
  .topFixed .p1, [class] .topFixed .p1 { width: 100% !important; max-width: 100% !important; box-sizing: border-box; text-align: center !important; line-height: 1.4 !important; font-size: 7.5vw !important; padding: 0 6vw 4vw !important; margin-top: 32vw !important; }
  .topFixed .p2, [class] .topFixed .p2 { width: 100% !important; max-width: 100% !important; box-sizing: border-box; text-align: center !important; line-height: 1.6 !important; font-size: 3.73vw !important; padding: 0 6vw !important; }

  /* 标题公共 */
  .swft_p3, .p3, [class] .p3 { font-size: 5.3vw !important; line-height: 1.4 !important; }
  .swft_p4, .p4, [class] .p4 { font-size: 3.73vw !important; line-height: 1.5 !important; padding: 0 5vw; }
  .swft_pline, .pline { padding: 3vw 0 !important; }

  /* 内容区块通用：定宽容器 → 全宽，大 padding 压缩 */
  .epay_cont1, .epay_cont2, .epay_cont3,
  [class*="_cont1"], [class*="_cont2"], [class*="_cont3"],
  [class*="_cont4"], [class*="_cont5"] { padding-left: 4vw !important; padding-right: 4vw !important; }

  .epay_business_hierarchy, .epay_box,
  [class*="_box"], [class*="_hierarchy"] {
    width: 100% !important; box-sizing: border-box;
  }

  /* float 多列 → 单列（产品页多为 2-3 列图文） */
  .epay_box li, [class*="_box"] li,
  [class*="_cont"] ul > li[class] { float: none; width: 100% !important; }

  /* 侧边装饰图标隐藏（.sicon1/.s_icon1 等绝对定位小装饰，小屏易溢出） */
  [class*="sicon"], [class*="s_icon"] { display: none !important; }
}

@media (max-width: 768px) {
  /* epay 特有：商户层级图 padding-left:556px 放左侧背景图 → 改上下堆叠 */
  .epay .epay_bhier {
    padding: 46vw 0 0 0; height: auto; font-size: 3.73vw;
    background-size: 60vw auto; background-position: center top;
  }
  .epay .epay_bhier li { padding-left: 6vw; line-height: 1.6; height: auto; margin-bottom: 3vw; }
  .epay .epay_box li { padding-bottom: 6vw; }
  .epay .epay_box .epay_core img { width: 40vw; height: 40vw; }
  .epay .epay_box .epay_core .alt_txt { top: 26vw; left: 30%; right: 30%; font-size: 3.2vw; }
  .epay .epay_cont1 { padding-top: 12vw; }
  .epay .epay_cont1 .p5 { padding: 8vw 4vw; }
  .epay .epay_cont2, .epay .epay_cont3 { padding-top: 12vw; }
  .epay .epay_cont3 { height: auto; padding-bottom: 10vw; }
}

@media (max-width: 768px) {
  /* spay 收款终端特有 */
  .spay .topFixed .p_down { padding-top: 8vw; }
  .spay .topFixed .spay_top_down_btn { font-size: 3.73vw; line-height: 3; height: auto; padding: 0 8vw; }
  .spay .spay_cont1 { padding: 12vw 4vw; }
  .spay .spay_cont4 .spay_box4 { width: 100%; padding: 8vw 3vw 0; box-sizing: border-box; }
  /* 银行 list：保留 JS 轻量轮播。关键——wrapper/slide 的 width 与 transform 由 JS 内联控制，
     此处禁止用 !important 覆盖它们；只让 slides 横向排成一行、每个 slide 内的 ul 排 2 列。 */
  .spay .spay_cont4 .spay_box4 .bank_list { height: auto !important; padding-bottom: 6vw; overflow: hidden; }
  .spay .spay_cont4 .spay_box4 .bank_list .swiper-wrapper { display: flex; flex-wrap: nowrap; }
  .spay .spay_cont4 .spay_box4 .bank_list .swiper-slide { flex-shrink: 0; height: auto !important; box-sizing: border-box; }
  .spay .spay_cont4 .spay_box4 .bank_list .swiper-slide > ul {
    display: flex !important; flex-wrap: wrap; width: 100%; padding: 0 2vw !important; margin: 0; box-sizing: border-box;
  }
  .spay .spay_cont4 .spay_box4 .bank_list li {
    float: none !important; display: flex !important; flex-direction: column; align-items: center;
    width: 46% !important; height: auto !important; padding: 5vw 3vw !important; margin: 0 2% 3vw !important; box-sizing: border-box;
    background: #fff; border: 1px solid #eee; border-radius: 2vw; box-shadow: 0 1vw 2vw rgba(0,0,0,.04);
  }
  .spay .spay_cont4 .spay_box4 .bank_list li a { display: flex !important; flex-direction: column; align-items: center; width: 100%; }
  /* logo: PC 用 absolute+左侧定位 → 移动端改静态流式，顶部居中 */
  .spay .spay_cont4 .spay_box4 .bank_list li .sprite_banks {
    position: static !important; width: 14vw !important; height: 14vw !important; margin: 0 auto 3vw !important;
    background-size: 100% 100% !important; background-position: center !important; border-radius: 3vw;
  }
  .spay .spay_cont4 .spay_box4 .bank_list li .sbk_p1 {
    padding: 0 !important; margin: 0 0 3vw !important; text-align: center !important;
    font-size: 3.2vw !important; line-height: 1.4; height: auto !important; overflow: visible !important; color: #000;
  }
  /* 平台标(pc/android/ios)：横排一行居中，缩小盒子确保三个不换行、上下平齐 */
  .spay .spay_cont4 .spay_box4 .bank_list li .sbk_p2 { padding: 0 !important; display: flex; justify-content: center; align-items: center; flex-wrap: nowrap; gap: 1.5vw; }
  .spay .spay_cont4 .spay_box4 .bank_list li .sbk_p2 .spay_ibg {
    float: none !important; margin: 0 !important; flex: 0 0 auto;
    width: 32px !important; height: 28px !important; line-height: 28px !important; box-sizing: border-box !important;
  }
  /* 左右切换箭头：PC 用 margin-left:±589px 会溢出 → 重定位到容器两侧竖直居中，供手机点按切换 */
  .spay .spay_cont4 .spay_arrow { margin-left: 0 !important; margin-top: 0 !important; top: 50% !important; transform: translateY(-50%); z-index: 5; }
  .spay .spay_cont4 .spay_prve { left: 1vw !important; right: auto !important; }
  .spay .spay_cont4 .spay_next { left: auto !important; right: 1vw !important; }
  /* spay_cont2：6 个 spay_items，PC .spay_box 800px + lt/rt 340×250 float 左右 → 全宽单列，图文上下 */
  .spay .spay_cont2 .spay_items .spay_box { width: 100% !important; padding: 8vw 4vw !important; box-sizing: border-box; }
  .spay .spay_cont2 .spay_items .spay_box .lt, .spay .spay_cont2 .spay_items .spay_box .rt {
    float: none !important; width: 100% !important; height: auto !important; margin: 0 0 4vw !important;
  }
  .spay .spay_cont2 .spay_items .spay_box .lt img, .spay .spay_cont2 .spay_items .spay_box .rt img,
  .spay .spay_cont2 .spay_items .spay_box .sp_img, .spay .spay_cont2 .spay_items .spay_box .sp_img img {
    width: 100% !important; height: auto !important;
  }
  .spay .spay_cont2 .spay_items .spay_box .sp_box { padding-left: 0 !important; }
  .spay .spay_cont2 .spay_items .spay_box .sp_p1 { font-size: 5vw !important; padding: 4vw 0 2vw !important; }
  /* spay_cont3 定宽容器兜底 */
  .spay .spay_cont3 .spay_box3 { width: 100% !important; padding: 0 4vw !important; box-sizing: border-box; }
  .spay .spay_cont3 .spay_box3 img { max-width: 100% !important; height: auto !important; }
}

@media (max-width: 768px) {
  /* ---- ecard / swfad（结构几乎相同：boxN 定宽 + 3-4列 li + 二维码/图片） ---- */
  .ecard [class*="ecard_box"], .swfad [class*="swfad_box"] { width: 100% !important; padding-left: 4vw; padding-right: 4vw; box-sizing: border-box; }
  .ecard [class*="ecard_box"] li, .swfad [class*="swfad_box"] li { float: none !important; width: 100% !important; margin: 0 0 5vw !important; padding-left: 0 !important; padding-right: 0 !important; box-sizing: border-box !important; }
  .ecard [class*="_cont"], .swfad [class*="_cont"] { padding-top: 12vw !important; padding-bottom: 10vw !important; }
  /* 电子卡种类 it1：点击卡片 → 二维码蓝底覆盖层铺满整个卡片（替代 PC hover） */
  .ecard .ecard_box1 li .it1 { height: auto !important; min-height: 78vw; padding: 10vw 0 0 !important; cursor: pointer; }
  .ecard .ecard_box1 li .it1 .ec_qrcode {
    /* 负偏移抵消 it1 的 border(左右下 1px、顶部 10px 蓝边)，使蓝底铺满整个卡片 */
    position: absolute !important; top: -10px !important; right: -1px !important; bottom: -1px !important; left: -1px !important; margin: 0 !important;
    background-color: #3e6dff; overflow: hidden;
    opacity: 0; visibility: hidden; transition: opacity .25s;
    display: flex !important; flex-direction: column; align-items: center; justify-content: center;
  }
  .ecard .ecard_box1 li .it1.qr-show .ec_qrcode { opacity: 1; visibility: visible; }
  .ecard .ecard_box1 li .it1 .ec_qrcode .t4 { width: 52vw !important; height: 52vw !important; padding: 0 !important; margin: 0 0 3vw !important; }
  .ecard .ecard_box1 li .it1 .ec_qrcode .t4 img { width: 100% !important; height: 100% !important; }
  .ecard .ecard_box1 li .it1 .ec_qrcode .t5 { font-size: 3.73vw !important; color: #fff; }
  /* swfad 及 ecard 其它区块的 ec_qrcode 仍按原静态处理 */
  .swfad .ec_qrcode { position: static !important; margin-top: 4vw; }
  .ecard img, .swfad img { max-width: 100%; height: auto; }
  .swfad .cs1 img, .swfad .ecard_core img, .ecard .cs1 img { width: 100% !important; height: auto !important; }
  .swfad [class*="alt_txt"] { position: static !important; margin-top: 2vw; }
  /* ---- 核心优势 ecard_cont2：4 个图标 → 2×2 网格居中，文字按 PC 方式叠在图案内部偏下(白字) ---- */
  .ecard .ecard_cont2 { height: auto !important; padding: 12vw 4vw !important; box-sizing: border-box; }
  .ecard .ecard_cont2 .ecard_box2 { width: 100% !important; padding: 6vw 0 0 !important; }
  .ecard .ecard_cont2 .ecard_box2 ul { display: flex !important; flex-wrap: wrap; justify-content: center; }
  .ecard .ecard_cont2 .ecard_box2 li { float: none !important; width: 42% !important; margin: 0 2vw 6vw !important; padding: 4vw 0 !important; text-align: center; }
  /* core 收窄成图案宽度(inline-block)以便文字相对图案定位 */
  .ecard .ecard_cont2 .ecard_core { padding: 0 !important; position: relative !important; display: inline-block !important; text-align: center; }
  .ecard .ecard_cont2 .ecard_core img { width: 32vw !important; height: 32vw !important; margin: 0 auto; display: block; }
  /* 文字叠在图案内偏下:PC 为 182px 图 top:115px(63%)、左右内缩 35px(19%)、字 16px(8.8%) → 按比例换算 */
  .ecard .ecard_cont2 .ecard_core .alt_txt {
    position: absolute !important; left: 8% !important; right: 8% !important; top: 62% !important; bottom: auto !important;
    transform: none !important; margin: 0 !important; height: auto !important; line-height: 1.2 !important; display: block;
    font-size: 2.9vw !important; color: #fff !important; text-align: center; overflow: hidden;
  }
  /* 手机截图组(.cs1 270×490)：勿单列堆叠致超长 → 横向并排缩小 */
  .ecard .ecard_box3 ul,
  .swfad .swfad_box3 ul, .swfad .swfad_box4 ul, .swfad .swfad_box5 ul {
    display: flex !important; flex-wrap: nowrap; justify-content: center; gap: 3vw; padding: 0 !important;
  }
  .ecard .ecard_box3 li,
  .swfad .swfad_box3 li, .swfad .swfad_box4 li, .swfad .swfad_box5 li {
    float: none !important; width: auto !important; flex: 1 1 0; min-width: 0; max-width: 30vw; margin: 0 !important;
  }
  .ecard .ecard_box3 .it3, .swfad .it3 { padding: 0 !important; }
  /* cs1 PC 固定 height:490px，窄屏图片按比例缩到 ~195px 高却仍死撑 490px，
     下方 295px 空白把 cs2 文案顶到很下 → 高度自适应，包住缩放后的图片 */
  .ecard .cs1, .swfad .cs1 { width: 100% !important; height: auto !important; overflow: visible !important; }
  .ecard .cs1 img, .swfad .cs1 img { width: 100% !important; height: auto !important; display: block; }
  .ecard .cs2, .swfad .cs2 { font-size: 3vw !important; padding-top: 2vw !important; line-height: 1.4 !important; }
  /* 蓝色 CTA 条(swfad_cont5 / einvoice_cont6)：PC height:180px overflow:hidden + lt/rt float
     → 移动端长标题换行被裁、rt 按钮溢出不可见。改自适应高度、垂直堆叠居中 */
  .swfad .swfad_cont5, .einvoice .einvoice_cont6 { height: auto !important; overflow: visible !important; }
  .swfad .swfad_cont5 .swfad_box5, .einvoice .einvoice_cont6 .einvoice_box6 { width: 100% !important; padding: 8vw 5vw !important; box-sizing: border-box; }
  .swfad .swfad_cont5 .lt, .einvoice .einvoice_cont6 .lt { float: none !important; text-align: center; }
  .swfad .swfad_cont5 .lt1, .einvoice .einvoice_cont6 .lt1 { font-size: 4.8vw !important; line-height: 1.4 !important; color: #fff; }
  .swfad .swfad_cont5 .lt2, .einvoice .einvoice_cont6 .lt2 { font-size: 3.47vw !important; line-height: 1.5 !important; color: rgba(255,255,255,.8); margin-top: 1.5vw; }
  .swfad .swfad_cont5 .rt, .einvoice .einvoice_cont6 .rt { float: none !important; padding: 0 !important; margin-top: 5vw; text-align: center; }
  .swfad .swfad_cont5 .rt .btn_more, .einvoice .einvoice_cont6 .rt .btn_more { display: inline-block; }

  /* ---- einvoice（6 个 cont，最复杂） ---- */
  .einvoice [class*="einvoice_box"] { width: 100% !important; padding-left: 4vw; padding-right: 4vw; box-sizing: border-box; }
  .einvoice [class*="einvoice_box"] li { float: none !important; width: 100% !important; margin: 0 0 5vw !important; }
  .einvoice [class*="_cont"] { padding-top: 12vw !important; padding-bottom: 10vw !important; }
  .einvoice .eicon1, .einvoice .eicon2 { display: none !important; }
  .einvoice .p6 { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  .einvoice .lt, .einvoice .rt { float: none !important; width: 100% !important; }
  .einvoice img { max-width: 100%; height: auto; }
  .einvoice [class*="ilt"], .einvoice [class*="irt"] { display: none !important; }
  .einvoice .einvoice_down_btn { width: auto !important; display: inline-block; padding: 0 6vw; }
  /* eb_p1 (225×360 展示图) → 全宽自适应 */
  .einvoice .eb_p1, .einvoice .eb_p1 img { width: 100% !important; height: auto !important; }
  /* box5 手机截图：.eb5_item.lt / .eb5_item.rt 是两个并列 div(各含 270×490 图)→ 容器 flex 使其并排 */
  .einvoice .einvoice_box5 { width: 100% !important; box-sizing: border-box; display: flex !important; flex-wrap: wrap; justify-content: center; gap: 4vw; }
  .einvoice .einvoice_box5 .eb5_item {
    float: none !important; width: auto !important; height: auto !important; flex: 1 1 0; min-width: 0; max-width: 40vw; margin: 0 !important;
  }
  .einvoice .einvoice_box5 .eb5_item img { width: 100% !important; height: auto !important; }
  /* box5 之外若另有独立 lt/rt(图文块)仍单列 */
  .einvoice .einvoice_box5 .eb5_p { flex: 1 1 100%; text-align: center; }

  /* ---- payonline（复用 .epay 命名空间 + payOnline-introduce） ---- */
  /* 1) 支付方式网格：8 个 li 被通用规则 [class*="_cont"] ul>li[class] 强制 width:100% 成单列 →
        用更高特异性改回 2 列卡片 */
  .epay .epay_cont2 .logo_wrap { width: 100% !important; margin: 6vw auto 0 !important; padding: 0 4vw !important; box-sizing: border-box; }
  .epay .epay_cont2 .logo_wrap > ul { display: flex !important; flex-wrap: wrap; justify-content: space-between; }
  .epay .epay_cont2 .logo_wrap > ul li.table {
    float: none !important; display: block !important; vertical-align: top;
    width: 47% !important; height: auto !important; margin: 0 0 4vw !important; padding: 6vw 0 !important;
    background: #fff; border: 1px solid #ddd; border-radius: 6px; box-sizing: border-box;
  }
  /* 格子内部：PC 的 table/table-cell 在窄屏改块级并整体水平居中，
     否则 img 与 h2 会贴在格子左侧不居中 */
  .epay .epay_cont2 .logo_wrap > ul li.table .table_cell { display: block !important; width: 100% !important; text-align: center !important; }
  .epay .epay_cont2 .logo_wrap > ul li.table .table_cell > div { text-align: center !important; }
  .epay .epay_cont2 .logo_wrap > ul li.table img { width: 12vw !important; height: auto !important; display: inline-block; }
  .epay .epay_cont2 .logo_wrap > ul li.table h2 { font-size: 3.73vw !important; margin-top: 3vw !important; text-align: center !important; }

  /* 2) 代付 / 资金分账 introduce：PC 用 flex + 内部 left/right absolute+transform 定位到 25%/75%，
        窄屏内容跑到屏外(负 left)。改为竖排：图在上、文字在下，取消绝对定位 */
  .epay .payOnline-introduce { width: 100% !important; height: auto !important; display: flex !important; flex-direction: column; align-items: center; padding: 6vw 5vw !important; box-sizing: border-box; }
  /* 统一"图在上、文字在下":含图的一侧 order:1，含文字标题的一侧 order:2 */
  .epay .payOnline-introduce .left:has(img), .epay .payOnline-introduce .right:has(img) { order: 1; }
  .epay .payOnline-introduce .left:has(.part-title), .epay .payOnline-introduce .right:has(.part-title) { order: 2; }
  .epay .payOnline-introduce .left,
  .epay .payOnline-introduce .right {
    position: static !important; transform: none !important; width: 100% !important;
    left: auto !important; right: auto !important; top: auto !important; padding: 0 !important; text-align: center !important;
  }
  .epay .payOnline-introduce .left img,
  .epay .payOnline-introduce .right img { width: 60vw !important; height: auto !important; margin: 0 auto; display: block; }
  /* 文字块在图片下方：用 order 让含标题的一侧排到图片之后 */
  .epay .payOnline-introduce .part-title { font-size: 5vw !important; text-align: center !important; margin-top: 5vw; }
  .epay .payOnline-introduce .part-desc { font-size: 3.6vw !important; text-align: center !important; line-height: 1.6; margin-top: 2vw; }
  .epay .payOnline-introduce .divider-with-circle { width: 40vw !important; margin: 3vw auto !important; }

  /* 3) 核心优势 epay_box(epay / payonline)：4 个 icon → 2×2 网格居中，文字按 PC 方式叠在图案内部偏下(白字) */
  .epay .epay_cont3 { height: auto !important; padding-bottom: 10vw !important; }
  .epay .epay_cont3 .epay_box { width: 100% !important; padding: 6vw 4vw 0 !important; box-sizing: border-box; }
  .epay .epay_cont3 .epay_box ul { display: flex !important; flex-wrap: wrap; justify-content: center; }
  .epay .epay_cont3 .epay_box li { float: none !important; width: 42% !important; margin: 0 2vw 6vw !important; padding: 4vw 0 !important; text-align: center; }
  /* epay 页 .epay_core 有 PC padding:0 75px，窄屏下会把内容盒挤成 0 宽 → 清零；relative+inline-block 便于文字相对图案定位 */
  .epay .epay_cont3 .epay_box .epay_core { position: relative !important; display: inline-block !important; text-align: center; padding: 0 !important; }
  .epay .epay_cont3 .epay_box .epay_core img { width: 32vw !important; height: 32vw !important; margin: 0 auto; display: block; }
  /* 文字叠在图案内偏下:参照 PC(182px 图 top:115px≈63%、左右内缩 35px≈19%) */
  .epay .epay_cont3 .epay_box .epay_core .alt_txt {
    position: absolute !important; top: 62% !important; left: 8% !important; right: 8% !important; bottom: auto !important;
    height: auto !important; margin: 0 !important; line-height: 1.2 !important; display: block;
    font-size: 2.9vw !important; color: #fff !important; text-align: center; overflow: hidden;
  }
}

/* ============================================================
   方案页公共（retail/transportation/express/education/medical）
   共用 .banner(700 fixed)+.fix_height 占位 + .show_img 3列 + .banner_txt
   ============================================================ */
@media (max-width: 768px) {
  .fix_height { height: 120vw !important; }
  .banner { height: 120vw !important; }
  .banner .banner_txt {
    width: 90%; height: auto; padding: 0 5vw; box-sizing: border-box;
    top: 50% !important; bottom: auto !important; left: 50% !important; right: auto !important;
    transform: translate(-50%, -50%); margin: 0 !important;
  }
  .banner .banner_txt p:first-of-type { font-size: 7vw !important; line-height: 1.4 !important; }
  .banner .banner_txt p:nth-of-type(2) { font-size: 3.73vw !important; line-height: 1.5 !important; padding-top: 2vw; }

  /* show_img：定宽容器 → 全宽 */
  .solutions_part1 .show_img, .solutions_part2 .show_img, .solutions_part3 .show_img,
  .solutions_part4 .show_img, .solutions_part5 .show_img {
    width: 100% !important; padding: 0 4vw; box-sizing: border-box;
  }
  /* demo_img：一组 2~3 张手机截图 → 横向并排缩小（原为 PC float 270px，勿纵向堆叠致超长） */
  .demo_img {
    display: flex !important; flex-wrap: nowrap; justify-content: center;
    align-items: flex-start; gap: 3vw; width: 100% !important; margin: 0 auto !important;
  }
  .demo_img .img {
    float: none !important; width: auto !important; height: auto !important;
    flex: 1 1 0; min-width: 0; max-width: 30vw; margin: 0 !important;
  }
  .demo_img .img img { display: block; width: 100%; height: auto; }
  /* 关键：文字行 .demo_img.clearfix 有 clearfix 的 ::after{content:" ";display:block}，
     在 flex 布局里它变成第 4 个 flex item，抢占了一个 gap 宽的空间并把 justify-content:center
     的居中基准带偏——于是三个 .txt 撑不满整行、末项右侧余出空白、整组视觉左移、与上方图片列
     错位。移动端下清除这个伪元素，让 flex 只保留 3 个真实文字项。 */
  .demo_img.clearfix::after, .demo_img.clearfix::before { content: none !important; display: none !important; }
  /* demo_img 内的说明文字 .txt(储值卡等)：与上方图片列一一等宽对齐——flex:1 1 0 三项等分
     撑满整行，文字在各自列内居中，列边界即与图片行一致。适用于全部方案页的说明文字行。 */
  .demo_img > .txt {
    float: none !important; width: auto !important; height: auto !important;
    flex: 1 1 0 !important; min-width: 0; max-width: none !important;
    margin: 0 !important; padding-top: 2vw !important; text-align: center;
  }
  /* txt 内常有为 PC 270px 手工拆的多个 <p>；窄列里各自成块会叠出多余换行 →
     设为 inline 让文字连成一段自然流动，避免 medical 长文案堆成 4-5 行 */
  .demo_img > .txt p { display: inline !important; font-size: 2.8vw !important; line-height: 1.5 !important; text-align: center; padding: 0 !important; margin: 0 !important; }
  /* 顶层图文 .txt（products 用）→ 单列 */
  .show_img > .txt {
    float: none !important; width: 100% !important; height: auto !important; margin: 0 0 5vw !important;
  }
  .solutions_part1 .h2, .solutions_part2 .h2, .solutions_part3 .h2 { padding-bottom: 8vw !important; }

  /* 绝对定位装饰(.first/.last/.bottom)易溢出 → 隐藏 */
  .first, .last, .bottom { display: none !important; }

  /* retail_solution / express Invoice 定宽容器 */
  .retail_solution .solution { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  .solutions_Invoice .Invoice { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  .solutions_Invoice .Invoice .img { width: 100% !important; float: none !important; }
  .retail_demoimg .demo { padding: 10vw 4vw !important; }
  .retail_demoimg .demo img { max-width: 100%; height: auto; }
}

/* ============================================================
   合作页公共（banks/channels/apply/valueadd）
   共用 .mch_introduce(左右两栏) + .step_box(横向步骤条) + .support_list
   ============================================================ */
@media (max-width: 768px) {
  /* 介绍两栏 698+430 → 上下堆叠（文案在上、图在下）。
     .channel_introduce PC 现为 flex，窄屏改 column 方向堆叠 */
  .mch_introduce, .channel_introduce { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  /* 去掉 PC 的 margin-top:-40px（PC 用它让白块上移盖住标题块底部，窄屏下会压掉“技术、客服、运维”下方留白甚至盖住文字），改正向留白 */
  /* 留白用 padding-top 而非 margin-top：白块本身有白底，margin 会在块外露出父容器透明色（页面底色），看着像顶部一段透明背景条 */
  .channel_introduce { display: flex !important; flex-direction: column; align-items: center; gap: 0 !important; margin-top: 0 !important; padding-top: 6vw !important; padding-bottom: 8vw !important; }
  .mch_introduce_left, .mch_introduce_right,
  .channel_introduce .mch_introduce_left, .channel_introduce .mch_introduce_right {
    display: block !important; width: 100% !important; height: auto !important;
    margin: 0 0 5vw !important; padding: 0 !important;
    background-size: contain !important; background-position: center top !important;
  }
  /* channels 保障能力：.mch_introduce_left 是 698×460 装饰背景框 + 内嵌 600×300 img，
     窄屏去掉背景框，只显示内容图并取消其偏移，避免塌陷与错位 */
  .channel_introduce .mch_introduce_left { background: none !important; text-align: center; }
  .channel_introduce .mch_introduce_left img { margin: 0 auto !important; margin-top: 4vw !important; }
  .mch_introduce_left img, .mch_introduce_right img,
  .channel_introduce .mch_introduce_left img { max-width: 100%; height: auto; }

  /* 增值与拓展能力 4 个 icon：PC 是 inline-block+margin-left:70px 横排 4 个。
     窄屏每个 span(含 182px 图)加 margin 超屏宽 → 挤成竖排 1 列且左右错位。
     改 flex 换行 2×2 网格，每项占 50%、去 margin、图片按比例缩放并统一尺寸 → 上二下二且上下对齐 */
  .swift_blocker.theme_white.theme_img .bottom_img {
    width: 100% !important; padding: 0 4vw; box-sizing: border-box;
    display: flex !important; flex-wrap: wrap; justify-content: center;
  }
  .swift_blocker.theme_white.theme_img .bottom_img span,
  .swift_blocker.theme_white.theme_img .bottom_img span.bottom_img_first {
    width: 50% !important; margin: 0 0 4vw 0 !important; box-sizing: border-box; text-align: center;
  }
  .swift_blocker.theme_white.theme_img .bottom_img span img {
    width: 36vw !important; height: 36vw !important; max-width: 182px; max-height: 182px;
    display: block; margin: 0 auto !important;
  }
  /* alt_txt 跟 PC 一致：叠在图标内偏下方（PC 是 182px 图内 top:120px ≈ 66%）。
     覆盖后面 .bottom_img span .alt_txt{position:static!important}，按图高 36vw 的 ~66% 定位。
     图片经 margin:auto 在 span 内居中，文字 left/right:0 占 span 宽居中，与图对齐 */
  .swift_blocker.theme_white.theme_img .bottom_img span .alt_txt {
    position: absolute !important; display: block;
    top: 24vw !important; bottom: auto !important; left: 0 !important; right: 0 !important;
    margin: 0 !important; text-align: center; color: #fff;
  }

  /* 步骤条 step_box(定宽 1200 背景图 + 横排) → 去背景图，允许横向滚动保留流程感 */
  .step_box, .step_box_ad, .step_box_card {
    width: 100% !important; height: auto !important; background: none !important;
    margin: 8vw auto 0; overflow-x: auto; -webkit-overflow-scrolling: touch;
    white-space: nowrap; padding: 0 4vw 3vw; box-sizing: border-box;
  }
  /* channels「指引」的 step_box 是纯背景图流程图(空 div，无 step_num/step_tit 子元素)，
     上面的通用规则把背景图去掉后会整段空白 → 单独保留背景图并按原图比例(1200×158)等比缩放 */
  .page-cooperation-channels .step_box {
    background: url(../images/staticImg/9357a6c75f406c70993a6bddbb96eab6.png) no-repeat center / contain !important;
    width: 100% !important; height: auto !important; aspect-ratio: 1200 / 158;
    margin: 8vw auto 0 !important; padding: 0 4vw !important; overflow: visible !important;
  }
  .step_box .step_tit span, .step_box .step_con span,
  [class*="step_box"] .step_tit span, [class*="step_box"] .step_con span {
    width: 24vw !important; margin-left: 3vw !important; white-space: normal;
    font-size: 3.2vw !important; line-height: 1.4 !important;
  }
  [class*="step_box"] .step_num span.line { width: 10vw !important; margin: 6vw 1vw !important; }
  [class*="step_box"] .step_num span.num { width: 9vw !important; height: 9vw !important; line-height: 9vw !important; font-size: 5vw !important; }

  /* 支付接入 support_list：3 个说明块(图标+标题+长文案)。PC 三列，窄屏下 40vw inline-block
     会挤成 1+2 错位且高度不齐 → 改单列全宽纵向排列，每块居中、间距均匀 */
  .support_list { width: 100% !important; padding: 0 4vw; box-sizing: border-box; text-align: center; font-size: 0; }
  .support_list > span { display: block !important; width: 100% !important; height: auto !important;
    float: none !important; margin: 0 0 8vw !important; padding: 0 !important; box-sizing: border-box; vertical-align: top; }
  .support_list > span:last-child { margin-bottom: 0 !important; }
  /* valueadd PC 的 span3 自带 pay_ad.png 背景；移动端已有 pay_icon_wraper SVG，
     若不清除会叠成大圆+小圆并覆盖“移动广告”标题。 */
  .page-cooperation-valueadd .support_list > .span3 { background: none !important; }
  .support_list .pay_icon_wraper {
    display: block !important; position: relative !important;
    width: 18vw !important; height: 18vw !important; margin: 0 auto !important;
    border-radius: 50% !important; overflow: visible !important;
  }
  /* PC 用 left/top/font-size 定位 SVG；缩到手机后不同 viewBox 会偏心或被裁。
     统一为占圆形 54% 的固定内框，并以几何中心对齐。 */
  .support_list .pay_icon_wraper svg,
  .support_list .pay_icon_wraper .iconplus {
    position: absolute !important; left: 50% !important; top: 50% !important;
    width: 54% !important; height: 54% !important; font-size: 0 !important;
    transform: translate(-50%, -50%) !important;
    vertical-align: 0 !important; overflow: visible !important;
  }
  .support_list .title { font-size: 4.8vw !important; line-height: 1.4 !important; margin: 4vw 0 2vw !important; }
  .support_list .content { font-size: 3.6vw !important; line-height: 1.7 !important; text-align: center; }

  /* 增值服务接入指引：PC tab 依赖 140px 横向外距，手机端会挤压错位。
     改为等宽三栏，保留原站蓝色激活文字与底部指示线。 */
  .page-cooperation-valueadd .nav_tit {
    display: flex !important; align-items: stretch; justify-content: center;
    width: 100% !important; height: 14.4vw !important; padding: 0 4vw !important;
    box-sizing: border-box !important; line-height: normal !important;
    background: #fff; box-shadow: 0 1.3vw 2.7vw rgba(44, 76, 140, .08);
  }
  .page-cooperation-valueadd .nav_tit > span {
    display: flex !important; align-items: center; justify-content: center;
    flex: 1 1 0; min-width: 0; height: 14.4vw !important;
    margin: 0 !important; padding: 0 !important; box-sizing: border-box !important;
    color: #555; font-size: 3.73vw !important; line-height: 1.2 !important;
  }
  .page-cooperation-valueadd .nav_tit > span::after {
    left: 22% !important; right: 22% !important; bottom: 0 !important;
    width: auto !important; height: 0.8vw !important; border-radius: 0.8vw 0.8vw 0 0;
    opacity: 0; transform: scaleX(0); transition: transform .2s ease, opacity .2s ease;
  }
  .page-cooperation-valueadd .nav_tit > span.on { color: #3e6dff !important; font-weight: 500; }
  .page-cooperation-valueadd .nav_tit > span.on::after { opacity: 1; transform: scaleX(1); }

  /* 底部图 bottom_img(1200) + apply 轮播 */
  .bottom_img { width: 100% !important; }
  .bottom_img span img { max-width: 100%; height: auto; }
  .bottom_img span .alt_txt { position: static !important; }
  /* 合作商户轮播：2 张 1100×200(5.5:1)宽幅 logo 墙，横向滑动时每张压成 ~63px 太扁、logo 挤成一团。
     窄屏改为两张纵向平铺(无需滑动即可看全)、隐藏分页；wrapper 取消 flex 横排与 translateX 位移 */
  .apply_bank_swiper { width: 100% !important; height: auto !important; overflow: visible !important; margin-top: 8vw !important; padding: 0 4vw; box-sizing: border-box; }
  .apply_bank_swiper .swiper-wrapper { display: block !important; transform: none !important; height: auto !important; }
  .apply_bank_swiper .swiper-slide { width: 100% !important; margin: 0 0 4vw !important; }
  .apply_bank_swiper .swiper-slide img { width: 100% !important; height: auto !important; display: block; border-radius: 2vw; }
  .apply_bank_swiper .swiper-pagination { display: none !important; }
}

/* ============================================================
   关于/案例页
   ============================================================ */
@media (max-width: 768px) {
  /* 通用容器兜底 */
  .centerbox { width: 100% !important; padding-left: 4vw; padding-right: 4vw; box-sizing: border-box; }

  /* ---- cases 案例筛选页（.fix_height 为方案页共用类，此处限定 cases 作用域，勿全局覆盖方案页 120vw banner） ---- */
  .filter_banner { height: 42vw !important; }
  .page-cases .fix_height, .page-case-detail .fix_height { height: 42vw !important; }
  .filter_banner .description p:first-of-type { padding-top: 16vw !important; font-size: 7vw !important; line-height: 1.4 !important; }
  .filter_banner .description p:nth-of-type(2) { font-size: 3.73vw !important; line-height: 1.5 !important; }
  /* 6 个分类：flex 换行 + 每项占 1/3 宽 → 稳定上 3 下 3 两行均分
     （原 float:left + 不等宽文字导致每行个数不均） */
  .filter_nav .nav { width: 100% !important; padding: 0 2vw; box-sizing: border-box;
    display: flex !important; flex-wrap: wrap; }
  .filter_nav .nav li { float: none !important; width: 33.333% !important; margin: 4vw 0 !important;
    box-sizing: border-box; text-align: center; }
  .filter_nav .nav li i { font-size: 6vw !important; }
  #show { width: 100% !important; padding: 8vw 4vw 12vw !important; box-sizing: border-box; }
  #show .chart_wrap:hover .show_intro { transform: none; }
  /* chart_wrap PC 有 padding-bottom:72px(为绝对定位卡片留白) → show_intro 转 static 后成多余空白，清掉并收紧间距 */
  #show .chart_wrap { padding-bottom: 0 !important; margin-bottom: 6vw !important; }
  /* 绝对定位卡片 600px → 静态全宽 */
  #show .show_intro { position: static !important; width: 100% !important; box-shadow: 0 0 10px rgba(0,0,0,.08); }
  #show .show_intro .information { margin: 0 4vw !important; padding: 4vw 0 3vw !important; }
  #show .show_intro .more { padding: 3vw 0 !important; margin-right: 4vw !important; }

  /* ---- about-jobs 招聘 ---- */
  .jobs_list { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  .jobs_list .jobs_describe .btn { width: auto !important; padding: 0 5vw; display: inline-block; }
  /* btn_toggle 的 +/× 图标由绝对定位的 ::before/::after 两根横条组成，right 是相对
     btn_toggle 自身。之前改成 static+float 让它宽度塌成 0，两根横条按 right:-5px 溢出到
     li 外。这里保留 PC 的绝对定位，仅给标题留出右侧图标空间、并把图标收进内边距内。 */
  .jobs_list .jobs_title { padding-right: 9vw !important; box-sizing: border-box; }
  .jobs_list .jobs_title .btn_toggle {
    position: absolute !important; right: 5vw !important; float: none !important;
  }
}

@media (max-width: 768px) {
  /* ==== about-company / about-staff 复杂组件 ==== */
  /* 公司介绍：profile 1238/1140 → 全宽，愿景使命两栏 flex → 竖排 */
  .profile-wrapper { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  .profile-wrapper .company_profile { width: 100% !important; font-size: 3.87vw !important; line-height: 1.8 !important; }
  .profile-wrapper .profile-con {
    width: 100% !important; height: auto !important; flex-direction: column;
    padding: 6vw 5vw; margin: 8vw auto; box-sizing: border-box;
  }
  .profile-wrapper .profile-con > div {
    width: 100% !important; padding-left: 0 !important; text-align: left !important;
  }
  .profile-wrapper .profile-con > div:first-of-type { border-right: none !important; border-bottom: 1px solid rgba(0,0,0,.1); padding-bottom: 5vw; margin-bottom: 5vw; }
  .profile-wrapper .profile-con > div > div { font-size: 4.5vw !important; margin-bottom: 3vw !important; text-align: left !important; }
  .profile-wrapper .profile-con > div > p { font-size: 3.73vw !important; line-height: 1.6 !important; text-align: left !important; }
  .profile-wrapper .icon-yellow, .profile-wrapper .icon-blue { display: none !important; }

  /* 发展历程：圆点与首行文字共用字号/行高，固定圆点列和间距，避免 flex 收缩后忽宽忽窄。 */
  .course_timeLine .course-main { margin-top: 10vw !important; padding: 0 4vw; box-sizing: border-box; }
  .course_timeLine .course-main .course_line { height: auto !important; }
  .course_timeLine .course_item { width: 100% !important; }
  .course_timeLine .course_item .txt { margin-left: 8vw !important; font-size: 3.87vw !important; padding-bottom: 6vw !important; }
  .course_timeLine .course_item .txt-describe {
    display: grid !important; grid-template-columns: 1em minmax(0, 1fr);
    align-items: start; column-gap: 1.2vw; font-size: 3.47vw !important; line-height: 1.7 !important;
  }
  .course_timeLine .course_item .txt-describe .tips {
    width: 1em !important; min-width: 1em; font-size: inherit !important;
    line-height: 1.7 !important; text-align: center;
  }
  .course_timeLine .course_item .txt-describe > div:last-child { min-width: 0; line-height: 1.7 !important; }

  /* 荣誉墙：默认只显示证书图，点击卡片才显示蓝色说明遮罩。 */
  .honor_wrap .honor_swiper { width: 100% !important; height: auto !important; }
  .honor_wrap .honor_swiper .img-wrap { height: auto !important; }
  .honor_wrap .honor_swiper .img-wrap .swiper-slide .honor {
    float: none !important; display: inline-block; vertical-align: top;
    width: 48% !important; height: 40vw !important; cursor: pointer;
  }
  .honor_wrap .honor_swiper .img-wrap .swiper-slide .honor .outer.txt {
    top: -100% !important; opacity: 0; pointer-events: none;
    transition: top .22s ease, opacity .22s ease !important;
  }
  .honor_wrap .honor_swiper .img-wrap .swiper-slide .honor.is-active .outer.txt {
    top: 0 !important; opacity: 1;
  }
  .honor_wrap .honor_swiper .img-wrap .swiper-slide .honor .outer .inner p { padding: 0 4vw !important; font-size: 3.2vw !important; }
}

@media (max-width: 768px) {
  /* 发展历史年份导航 dv_history/dv_content：1140px 绝对定位 → 横向滚动 */
  .dv_history { height: auto !important; background-size: 100% 100% !important; }
  .dv_history .dv_nav { width: 100% !important; }
  .dv_history .dv_nav > div { position: static !important; width: 100% !important; overflow-x: auto; }
  .dv_history .dv_nav hr { display: none !important; }
  .dv_content .swiper-wrapper { width: 100% !important; }
  .dv_content .swiper-wrapper .currentYears { display: none !important; } /* 100px 大字水印，小屏溢出 */
  .dv_content .swiper-wrapper .dv_con > div > p { width: 100% !important; }

  /* 企业文化：沿用 PC 的纯文字排版（标题+说明列，配图在下方），只把 PC 的横向双栏
     竖排。标题即可点击项，选中项文字变蓝（对齐 PC 首项蓝色的视觉语言）。 */
  .corp_culture .swiper-wrapper .content { display: block !important; width: 100% !important; margin-top: 8vw !important; padding: 0 4vw; box-sizing: border-box; }
  .corp_culture .swiper-wrapper .content > div { display: block !important; width: 100% !important; margin: 0 !important; }
  .corp_culture .culture_item {
    display: block !important; margin: 0 0 3vw !important; padding: 0 !important;
    color: #333 !important; font-size: 4.8vw !important; font-weight: 700 !important;
    text-align: left !important; background: none !important; border: none !important;
    box-shadow: none !important; cursor: pointer;
  }
  .corp_culture .culture_item.is-active { color: #3e6dff !important; }
  .corp_culture .swiper-wrapper .content > div p.culture_con {
    margin: 0 0 6vw !important; padding: 0 !important; background: none !important;
    border-radius: 0 !important; color: #666 !important;
    font-size: 3.9vw !important; line-height: 1.8 !important; text-align: left !important;
  }
  .corp_culture .swiper-wrapper .content > div p.culture_con.hide { display: none !important; }
  .corp_culture .swiper-wrapper .content img { width: 100% !important; height: auto !important; margin-top: 2vw; }
  .corp_culture .swiper-wrapper .content img.hide { display: none !important; }
  .corp_culture .swiper-wrapper .swf_bg03, .corp_culture .swiper-wrapper .swf_bg04 { display: none !important; }

  /* 办公地点：地图全宽，地图点按原 705×400 坐标等比定位（上海仍随 HTML 隐藏）；
     地址沿用 PC 纯文字块，只把横排改成竖排堆叠，保留 office_active 蓝色高亮。 */
  .office_seat .swiper-wrapper { position: relative !important; width: 100% !important; margin: 8vw auto 0 !important; }
  .office_seat .swiper-wrapper .map_img { display: block !important; width: 100% !important; height: auto !important; }
  /* icon-place 必须用地图图片真实宽高比(722×417)精确覆盖 map_img，
     否则 icon-place 比地图矮、点会整体偏上。点按 PC 705×400 坐标换算成地图百分比
     (per 轴均匀缩放下，分数在拉伸前后不变，故直接用 cx/705、cy/400)。 */
  .office_seat .icon-place {
    display: block !important; position: absolute !important; left: 0 !important; top: 0 !important;
    width: 100% !important; height: auto !important; aspect-ratio: 722 / 417;
    padding: 0 !important; pointer-events: none; z-index: 2;
  }
  .office_seat .icon-place .map_icon {
    position: absolute !important; right: auto !important;
    width: 3.2vw !important; height: 3.2vw !important; margin: -1.6vw 0 0 -1.6vw;
    border-radius: 50%; background-size: cover !important; background-position: center !important;
    cursor: pointer; pointer-events: auto;
  }
  /* 百分比取自 PC 端实测(点中心相对 map_img 的位置)。注意 PC 的 icon-place
     left:428 是相对 1040px 的 wrapper，地图在其中居中，故横向真实百分比≈39% 而非 63%。 */
  .office_seat .icon-place .changsha { left: 39.36% !important; top: 38.00% !important; }
  .office_seat .icon-place .xianggang { left: 40.50% !important; top: 41.75% !important; }
  .office_seat .icon-place .shengzheng { left: 38.65% !important; top: 41.75% !important; }
  .office_seat .swiper-wrapper > div:last-child { width: 100% !important; padding: 6vw 4vw 0 !important; box-sizing: border-box; }
  .office_seat .info { display: block !important; width: 100% !important; margin: 0 !important; }
  .office_seat .info > div {
    width: 100% !important; margin: 0 0 6vw !important; padding: 0 0 6vw !important;
    box-sizing: border-box; text-align: left !important;
    border-bottom: 1px solid #e6e9f0;
  }
  .office_seat .info > div:last-child { margin-bottom: 0 !important; border-bottom: none !important; }
  .office_seat .info_item > div { margin-top: 0 !important; font-size: 4.27vw !important; line-height: 1.4 !important; color: #333; }
  .office_seat .info_item > p { font-size: 3.47vw !important; line-height: 1.7 !important; color: #999; }
  .office_seat .info_item > p:first-of-type { margin: 2.7vw 0 1.6vw !important; }
  .office_seat .info_item.office_active > div { color: #387eff !important; }

  /* 管理层 manager_list：190px inline → 2 列 */
  .manager_list .manager { width: 44vw !important; margin: 0 2vw 5vw !important; }
  .manager_list .manager img { max-width: 100%; height: auto; }
  .manager_list .manager .txt h2 { font-size: 3.87vw !important; }

  /* 里程碑 milestone：720px + 绝对定位年月 → 全宽 */
  .milestone_wrap .milestone_list { width: 100% !important; margin-top: 12vw !important; padding: 0 4vw; box-sizing: border-box; }

  /* look_more 展开按钮 1000px → 全宽 */
  .look_more, .look_more.on { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }

  /* ==== about-staff 特有 ==== */
  /* 模块1 人才发展 corp_culture：about-staff 的 DOM 是 .content>.swf-text(标题+段落)+.img-swf>img，
     与 about-company 的 .culture_item/p.culture_con 完全不同。PC 下 .swf-text 是 absolute(left:-30px)
     会跑出屏幕、字号 20px 偏大 → 重置为正常文档流全宽块，装饰背景图 swf_bg04 隐藏，配图全宽等比 */
  .corp_culture .swiper-wrapper { display: block !important; height: auto !important; transform: none !important; }
  .corp_culture .swiper-wrapper > .content { display: block !important; width: 100% !important; padding: 6vw 4vw 0 !important; box-sizing: border-box; margin: 0 !important; }
  .corp_culture .swiper-wrapper .content .swf-text {
    position: static !important; width: 100% !important; height: auto !important; left: auto !important; top: auto !important;
    font-size: 3.9vw !important; line-height: 1.9 !important; color: #666 !important; text-align: left !important;
  }
  .corp_culture .swiper-wrapper .content .swf-text p { font-size: 4.8vw !important; font-weight: 700 !important; color: #333 !important; margin-bottom: 3vw !important; line-height: 1.5 !important; }
  .corp_culture .swiper-wrapper .content .swf-text br { display: none !important; }
  /* .img-swf 有 PC 固定 height:540px，而移动端图片实际仅约 153px 高 → 下方留 ~378px 空白，改 height:auto 贴合图片 */
  .corp_culture .swiper-wrapper .content .img-swf { width: 100% !important; height: auto !important; margin-top: 6vw !important; }
  .corp_culture .swiper-wrapper .content .img-swf img { width: 100% !important; height: auto !important; display: block; }
  .corp_culture .swiper-wrapper .swf_bg03, .corp_culture .swiper-wrapper .swf_bg04 { display: none !important; }

  /* 模块2 工作环境 con-work：PC 的 .img 是 flex nowrap 横排 3 张(各 45vw)→ 相互重叠。
     改 flex-wrap 让 3 张图纵向堆叠全宽显示；staff_profile 文字字号从 20px 调小 */
  .apply_bank_swiper .con-work { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  /* con-work 与 .img 都有 PC 固定 height，3 图纵向堆叠会溢出固定高度、staff_profile 按旧高度算位置就与图重叠 → height:auto */
  .apply_bank_swiper .con-work { height: auto !important; }
  .apply_bank_swiper .con-work .img { width: 100% !important; height: auto !important; display: block !important; margin: 0 !important; }
  .apply_bank_swiper .con-work .img > div { width: 100% !important; margin: 0 0 3vw !important; float: none !important; }
  .apply_bank_swiper .con-work .img img { width: 100% !important; height: auto !important; max-width: 100% !important; display: block; border-radius: 2vw; }
  .apply_bank_swiper .con-work .icon-blue, .apply_bank_swiper .con-work .icon-yellow { display: none !important; }
  /* staff_profile PC 有 margin-left:65px 会让全宽块右溢并与图重叠 → 清零左右 margin */
  .apply_bank_swiper .staff_profile { width: 100% !important; margin: 4vw 0 0 0 !important; font-size: 3.6vw !important; line-height: 1.8 !important; color: #666 !important; text-align: left !important; }
  .apply_bank_swiper .staff_profile br { display: none !important; }

  /* 模块3 员工活动 #actSwiper：与 about-company 荣誉墙共用 .honor_wrap .honor_swiper 类，
     被 780-794 荣誉墙规则(txt 点击才显示浮层、honor 定高 40vw)误伤。员工活动是「图+标题+说明段落」，
     文字是重要内容，不该做成点击浮层 → 用 page-about-staff 作用域覆盖：图在上、文字常驻在下的全宽卡片纵向流。
     swiper 横排多 slide 需 overflow:hidden 裁掉屏外 slide(否则横向溢出 688px) */
  .page-about-staff #actSwiper.swiper-container { overflow: hidden !important; }
  .page-about-staff #actSwiper .img-wrap .swiper-slide .honor {
    display: block !important; width: 100% !important; height: auto !important; float: none !important;
    margin: 0 0 8vw !important; position: relative;
  }
  .page-about-staff #actSwiper .honor .outer.img { position: static !important; width: 100% !important; height: auto !important; }
  .page-about-staff #actSwiper .honor .outer.img .inner { position: static !important; width: 100% !important; height: auto !important; }
  .page-about-staff #actSwiper .honor .outer.img img { width: 100% !important; height: auto !important; display: block; border-radius: 2vw; }
  /* 文字常驻在图下方(覆盖 787 的 top:-100%/opacity:0 隐藏)。
     去掉 PC 荣誉墙的蓝色遮罩底(rgba(62,109,255,.9))，与上方模块文字一致用白底深字 */
  .page-about-staff #actSwiper .honor .outer.txt {
    position: static !important; top: auto !important; opacity: 1 !important; pointer-events: auto !important;
    width: 100% !important; height: auto !important; margin-top: 3vw !important; transition: none !important;
    background: transparent !important;
  }
  .page-about-staff #actSwiper .honor .outer.txt .inner { background: transparent !important; }
  .page-about-staff #actSwiper .honor .outer.txt .inner { position: static !important; width: 100% !important; height: auto !important; }
  .page-about-staff #actSwiper .honor .outer.txt .inner > div { font-size: 4.5vw !important; font-weight: 700 !important; color: #333 !important; margin-bottom: 2vw !important; text-align: left !important; }
  .page-about-staff #actSwiper .honor .outer.txt .inner p { padding: 0 !important; font-size: 3.6vw !important; line-height: 1.8 !important; color: #666 !important; text-align: left !important; }
  .page-about-staff #actSwiper .honor .outer.txt .inner p br { display: none !important; }

  /* 移动端禁用滚动进场动画：[data-animate] 初始 visibility:hidden(swiftpass.css:103)，
     JS 滚到视口 60% 才加 .visible。工作环境 #work_ev 高近 3000px 却初始隐藏 → 首屏一大段空白，
     滚动才显现。移动端不需要这套动画，强制该页所有 data-animate 元素常驻可见。
     光设 visible 不够：JS 仍会加 .animated.fadeInUp 等类，滚入视口时又从下往上位移飘一次
     → 一并清掉这些类的 animation/transform，让元素直接停在最终态 */
  .page-about-staff [data-animate],
  .page-about-staff [secondery-animate],
  .page-about-staff .animated {
    visibility: visible !important;
    animation: none !important;
    -webkit-animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ============================================================
   新闻列表(archives→news-list) / 新闻详情(post→news-detail) / 案例详情
   ============================================================ */
@media (max-width: 768px) {
  /* 新闻列表 banner 350px（覆盖方案页 .banner 的 62vw 设定） */
  .news_center_wrap .banner { height: 42vw !important; }
  .news_center_wrap .banner_blank { height: 42vw !important; }
  .news_center_wrap .banner .txt_wrap { padding-top: 15vw !important; }
  .news_center_wrap .banner .txt_wrap h1 { font-size: 7vw !important; line-height: 1.4 !important; }
  .news_center_wrap .banner .txt_wrap h2 { font-size: 3.73vw !important; line-height: 1.5 !important; }

  /* 新闻卡片网格 1140px 3列 → 单列卡片（白底圆角+阴影，图上文下） */
  .news_list { width: 100% !important; padding: 5vw 4vw 2vw !important; box-sizing: border-box; }
  .news_list .item {
    width: 100% !important; height: auto !important; padding: 0 !important;
    margin-bottom: 4.5vw !important; display: block !important;
    background: #fff; border-radius: 3vw; overflow: hidden;
    box-shadow: 0 1vw 4vw rgba(44,76,140,.08);
  }
  /* 内层包裹层高度放开：原 52vw 定高会把摘要/日期挤出可视区 */
  .news_list .item > div, .news_list .img, .news_list .img img, .news_list .txt { width: 100% !important; }
  .news_list .item > div { height: auto !important; }
  .news_list .img { height: 48vw !important; margin-bottom: 0 !important; border-radius: 0 !important; }
  .news_list .img img { height: 48vw !important; object-fit: cover; }
  .news_list .txt { box-sizing: border-box; padding: 4vw 4vw 4.5vw !important; }
  .news_list .txt h2 { height: auto !important; font-size: 4.27vw !important; line-height: 1.5 !important; margin-bottom: 2vw; }
  .news_list .txt p { height: auto !important; font-size: 3.47vw !important; line-height: 1.7 !important; margin: 0 0 3vw !important; -webkit-line-clamp: 2; }
  .news_list .txt span { font-size: 3.2vw !important; color: #999; }

  /* 分页：加大触控尺寸 */
  .page-nav { padding: 2vw 0 12vw !important; }
  .page-nav ul li { width: 9vw !important; height: 9vw !important; line-height: 9vw !important; font-size: 3.73vw !important; margin-right: 2vw !important; }

  /* 新闻详情：面包屑 1200 + 正文 1000 → 全宽 */
  .news_crumbs { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  .news_crumbs_wrap { height: auto !important; line-height: 1.6 !important; padding: 4vw 0; }
  .news_detail { width: 100% !important; padding: 8vw 4vw !important; box-sizing: border-box; }
  .news_detail h1 { font-size: 5.3vw !important; line-height: 1.4 !important; }
  .news_detail .img_wrap { margin: 6vw 0 !important; }
  .news_detail .img_wrap img { max-width: 100% !important; }
  .news_detail .article-body img { max-width: 100% !important; height: auto !important; }

  /* 案例详情：walmart_banner 350 + 1200 内容 + float 两栏 → 全宽单列 */
  .walmart_banner { height: 42vw !important; }
  .walmart_banner .description p:first-of-type { padding-top: 16vw !important; font-size: 7vw !important; line-height: 1.4 !important; }
  .walmart_banner .description p:nth-of-type(2) { font-size: 3.73vw !important; line-height: 1.5 !important; }
  .walmart_nav p { width: 100% !important; padding: 4vw; box-sizing: border-box; }
  .walmart_content { width: 100% !important; padding: 10vw 4vw !important; box-sizing: border-box; }
  .walmart_content .walmart_way > div { float: none !important; width: 100% !important; }
  .walmart_content img { float: none !important; max-width: 100% !important; height: auto !important; display: block; margin: 4vw auto 0; }
  /* 企业 logo 原图很小(~40-160px)且无显示尺寸控制，窄屏下显得过小 →
     .walmart_way 里的 logo 放大到合理宽度(约屏宽 48%)、居中 */
  .walmart_content .walmart_way img { width: 48vw !important; max-width: 180px !important; height: auto !important; margin: 6vw auto 2vw !important; }
  .walmart_content > p:first-of-type { font-size: 5.3vw !important; padding-bottom: 5vw !important; }
}

@media (max-width: 768px) {
  /* 补漏1：spay 功能展示 cont3/box3（多列 200px → 单列） */
  .spay .spay_cont3 { height: auto !important; padding: 12vw 4vw !important; }
  .spay .spay_cont3 .spay_box3 { width: 100% !important; padding-top: 6vw !important; }
  .spay .spay_cont3 .spay_box3 li {
    float: none !important; display: inline-block; vertical-align: top;
    width: 44vw !important; height: auto !important; margin: 0 1vw 4vw !important;
  }

  /* 补漏2：方案页 part4/part5 的 show_img 容器（part1-3 已覆盖，补 4/5） */
  .solutions_part4 .show_img, .solutions_part5 .show_img { width: 100% !important; padding: 0 4vw; box-sizing: border-box; }
  .solutions_part4 .h2, .solutions_part5 .h2 { padding-bottom: 8vw !important; }

  /* 全局防横向溢出兜底：内容页外层无 .m-home 的 overflow-x:hidden，
     顶部 fixed header/banner(top_wrap/nav_overlay/topFixed) 偶发宽出 16px 露出横向滚动 → 统一裁切 */
  html, body { overflow-x: hidden !important; max-width: 100% !important; }
  #page-wrapper { overflow-x: hidden !important; max-width: 100vw !important; }
}

/* ============================================================
   移动版首页 .m-home（1:1 对齐 m.swiftpass.cn，750 设计稿 → vw）
   仅 ≤768px 生效
   ============================================================ */
@media (max-width: 768px) {
  .m-home { overflow-x: hidden; }
  .m-home img { display: block; }

  /* 居中装饰标题 h2：短线 after + 图标 before */
  .m-home .mh-h2 {
    position: relative; display: inline-block;
    color: #333; font-size: 6.67vw; font-weight: 400; line-height: 1.2;
  }
  .m-home .mh-h2 .mh-after {
    position: absolute; bottom: -4vw; left: 0;
    width: 8vw; height: 0.8vw;
    background: url(../images/mobile-home/h2_after.png) no-repeat; background-size: 8vw;
  }
  .m-home .mh-before {
    position: absolute; top: -4vw; left: 6.67vw;
    width: 53vw; height: 7.2vw;
  }
  .m-home .mh-before-news { background: url(../images/mobile-home/h2_before_news.png) no-repeat; background-size: auto 7.2vw; }
  .m-home .mh-before-business { background: url(../images/mobile-home/h2_before_business.png) no-repeat; background-size: auto 7.2vw; }
  .m-home .mh-before-scale { background: url(../images/mobile-home/h2_before_scale.png) no-repeat; background-size: auto 7.2vw; }

  /* ---------- Banner（banner_main 竖图） ---------- */
  .m-home .mh-banner {
    position: relative; height: 160vw; color: #fff; text-align: center;
    background: url(../images/mobile-home/banner_main.png) center top no-repeat; background-size: 100% auto;
  }
  .m-home .mh-banner h1 { padding-top: 32.6vw; font-weight: 400; font-size: 6.67vw; line-height: 1.5; letter-spacing: .13vw; }
  .m-home .mh-banner p { width: 68.8vw; margin: 4.8vw auto; font-size: 4vw; line-height: 1.5; letter-spacing: .13vw; }
  .m-home .mh-down {
    position: absolute; bottom: 12vw; left: 50%; margin-left: -4vw;
    font-weight: bolder; font-size: 8vw; animation: mhdown 2s ease-out infinite;
  }
  @keyframes mhdown { from { bottom: 12vw; } to { bottom: 8vw; } }

  /* ---------- 新闻动态（露边轮播 1.2） ---------- */
  .m-home .mh-news {
    box-sizing: border-box; padding: 13.3vw 0 0 5.3vw; min-height: 130vw;
    background: url(../images/mobile-home/bg_home_news.png) center top no-repeat; background-size: 100%;
  }
  .m-home .mh-news-swiper { margin-top: 8vw; overflow: hidden; padding-right: 5.3vw; }
  .m-home .mh-news-slide { display: block; width: 78vw; color: inherit; }
  .m-home .mh-news-meta { color: #999; font-size: 3.73vw; line-height: 1.5; }
  .m-home .mh-news-img {
    margin: 7.5vw 0; border-radius: 0; overflow: hidden;
    box-shadow: 0 0 1.3vw rgba(0,0,0,.06); height: 56vw;
  }
  .m-home .mh-news-img img { width: 100%; height: 100%; object-fit: cover; }
  .m-home .mh-news-slide h4 {
    color: #333; font-size: 5.3vw; line-height: 1.2; font-weight: 500;
    overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  }
  .m-home .mh-news-sum {
    margin-top: 2.67vw; color: #999; font-size: 3.2vw; line-height: 1.25;
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
  }
}

@media (max-width: 768px) {
  /* ---------- 业务模块（轮播 1.7 屏/页，每页 2 卡） ---------- */
  .m-home .mh-business {
    box-sizing: border-box; padding: 12.7vw 0 0 5.3vw;
    background: url(../images/mobile-home/bg_home_news.png) center bottom no-repeat; background-size: 100%;
  }
  .m-home .mh-desc { margin-top: 6vw; color: #999; font-size: 3.73vw; line-height: 1.4; padding-right: 5.3vw; }
  .m-home .mh-biz-swiper { margin-top: 3vw; overflow: hidden; padding-right: 5.3vw; }
  .m-home .mh-biz-page { width: 53.6vw; }
  .m-home .mh-module {
    box-sizing: border-box; height: 41vw; margin: 5.3vw 0.4vw; padding: 5.3vw 4vw;
    background: #fff; border-radius: 1.3vw; box-shadow: 0 0 1.3vw rgba(0,0,0,.06);
  }
  .m-home .mh-mod-title { display: flex; align-items: center; color: #333; font-size: 4.27vw; line-height: 1.4; }
  .m-home .mh-mod-ico { width: 6.67vw; height: 6.67vw; margin-right: 2vw; flex: 0 0 6.67vw; }
  .m-home .mh-mod-ico img { width: 100%; height: 100%; }
  .m-home .mh-module p { margin-top: 4.5vw; color: #999; font-size: 3.47vw; line-height: 1.4; }

  /* ---------- 业务规模（深色数字墙 2 列） ---------- */
  /* 高度锁定背景图比例 750×957≈127.6vw(与官网一致)：内容顶部对齐，
     底部留白自然落在背景图下半部，不用 min-height / padding-bottom 硬撑 */
  .m-home .mh-scale {
    box-sizing: border-box; padding: 16.7vw 0 0 5.3vw; color: #fff; height: 127.6vw;
    background: url(../images/mobile-home/bg_home_scale.png) 0 0 no-repeat; background-size: 100%;
  }
  /* 深色背景上的标题：.mh-h2 默认 #333 看不清，light 变体转白色，装饰短线也提亮 */
  .m-home .mh-scale .mh-h2, .m-home .mh-h2-light { color: #fff; }
  .m-home .mh-h2-light .mh-after { filter: brightness(0) invert(1); }
  .m-home .mh-scale-list { display: flex; flex-wrap: wrap; }
  .m-home .mh-scale-li { width: 42.7vw; margin-top: 13.3vw; }
  /* 数字行收紧行高，让描述更贴近数字 */
  .m-home .mh-scale-li > p { line-height: 1.3; }
  /* 数字/单位字号对齐源码 home.less：num 60px=8vw，unit 30px=4vw，desc 26px=3.47vw */
  .m-home .mh-num { font-size: 8vw; }
  /* 数字与单位间留 1.6vw 空隙（源码模板中数字与 span 间的空格效果） */
  .m-home .mh-unit { margin-left: 1.6vw; font-size: 4vw; }
  .m-home .mh-scale-desc { margin-top: 4; color: #a1a5aa; font-size: 3.47vw; }

  /* ---------- 服务客户（9 宫格轮播） ---------- */
  .m-home .mh-clients { box-sizing: border-box; padding: 0 5.3vw 8vw; background: #f8fafc; }
  .m-home .mh-clients .mh-h2 { margin-top: 13.3vw; }
  .m-home .mh-clients-desc { margin-top: 9.8vw; font-size: 3.2vw; color: #666; }
  .m-home .mh-clients-swiper { margin-top: 6vw; overflow: hidden; }
  .m-home .mh-clients-page { display: flex; flex-wrap: wrap; align-content: flex-start; }
  .m-home .mh-client-box {
    width: 28vw; height: 20.5vw; margin: 0 2.67vw 2.67vw 0;
    border-radius: 1.3vw; box-shadow: 0 0 1.3vw #eee; overflow: hidden; background: transparent;
  }
  .m-home .mh-client-box:nth-child(3n) { margin-right: 0; }
  .m-home .mh-client-box img { width: 100%; height: 100%; object-fit: contain; }

  /* ---------- 移动版轮播分页点 ---------- */
  /* 官网 m.swiftpass.cn：分页点靠右下方，且与下方模块留出间距 */
  .m-home .swiper-pagination { box-sizing: border-box; text-align: right; margin: 6vw -2.6vw 5.8vw 0; }
  .m-home .swiper-dot {
    display: inline-block; width: 2vw; height: 2vw; margin: 0 1vw;
    border-radius: 50%; background: #ccc; cursor: pointer; transition: all .3s;
  }
  .m-home .swiper-dot.active { width: 5vw; border-radius: 1vw; background: #4272ee; }
  /* 服务客户 swiper 无 padding-right，右对齐分页点的 -2.6vw 负边距会被 overflow 裁掉，
     此处单独收回负边距，使圆点落在裁剪区内(不动 logo 网格、不放大裁剪区) */
  .m-home .mh-clients-swiper .swiper-pagination { margin-right: 0; }
}
