/* ============================================================
   大连金浩隆 · 移动端专用样式（mobile.css）
   ------------------------------------------------------------
   定位：只服务小屏（手机 / 平板竖屏 / 窄窗口）
        桌面端样式全部留在 css/style.css，两者互不干扰
   加载：各页面 <head> 中按条件引入
        <link rel="stylesheet" href="css/mobile.css" media="(max-width:1279px)">
        —— 桌面宽屏浏览器不会下载/解析本文件
   层叠：style.css → contact.css → mobile.css（本文件最后加载，用来覆盖桌面规则）
   断点：1279 / 1200 / 1100 / 993-1100 / 992 / 980 / 768 / 760 / 720 / 640 / 400
         另外含 (hover:none) 触屏修正
   注意：本文件内各断点块的先后顺序即层叠顺序，调整时勿随意挪动
   ============================================================ */

/* ------------------------------------------------------------
   [01] 单行大标题
   强制单行的 H2 在窄屏按视口宽度缩放，避免溢出
   ------------------------------------------------------------ */
@media (max-width:720px) {
.bh-heading.bh-heading--single { font-size:4.4vw; letter-spacing:0; }
}

/* ------------------------------------------------------------
   [02] 数字统计
   四列统计在手机上折成两列
   ------------------------------------------------------------ */
@media (max-width:640px) {
  .bh-stats-row { grid-template-columns:1fr 1fr; row-gap:28px; }
  .bh-stat:nth-child(2)::after { display:none; }
}

/* ------------------------------------------------------------
   [03] 页脚
   页脚四栏 → 两栏 → 单列，简介缩略图同步收窄
   ------------------------------------------------------------ */
@media (max-width: 1279px) {
  .bh-footer-intro-body img { width:118px; height:68px; }
}
@media (max-width: 1100px) {
  .bh-footer-cols { grid-template-columns:1fr 1fr; gap:36px 36px; }
  .bh-footer-intro-body img { width:150px; height:86px; }
  .bh-footer-col { padding-left:0; border-left:none; }
  .bh-footer-col:nth-child(even) { padding-left:32px; border-left:1px solid rgba(255,255,255,.09); }
  .bh-footer-col:nth-child(n+3) { padding-top:36px; border-top:1px solid rgba(255,255,255,.09); }
}
@media (max-width: 640px) {
  .bh-footer { padding:40px 0 0; }
  .bh-footer-cols { grid-template-columns:1fr; gap:28px; padding-bottom:34px; }
  .bh-footer-col { padding-left:0 !important; border-left:none !important; }
  .bh-footer-intro-body { flex-direction:column; gap:12px; }
  .bh-footer-intro-body img { width:100%; height:132px; }
  .bh-footer-col:nth-child(n+2) { padding-top:28px; border-top:1px solid rgba(255,255,255,.09); }
}

/* ------------------------------------------------------------
   [04] 竖向导航内页布局
   左侧竖排菜单在窄屏改为横向滑动标签，条目改为上下叠放
   ------------------------------------------------------------ */
@media (max-width: 992px) {
  .bh-vert-layout { grid-template-columns: 1fr; }
  .bh-vert-menu { padding: 16px 0; border-right: none; border-bottom: 1px solid var(--bh-line); display: block; }
  .bh-vert-menu ul { display: flex; flex-direction: row; gap: 0; overflow-x: auto; }
  .bh-vert-menu li { flex: 0 0 auto; min-height: auto; }
  .bh-vert-menu li:not(:last-child)::after { display: none; }
  .bh-vert-menu a { white-space: nowrap; padding: 10px 20px; }
  .bh-vert-menu a.active::before { display: none; }
  #capPanel { padding: 24px 20px; }
  .bh-vert-entry { grid-template-columns: 1fr; gap: 16px; padding: 20px 0; }
  .bh-vert-entry-body h4 { font-size: 16px; }
}
@media (max-width:640px) {
  .bh-vert-menu a { padding: 10px 16px; font-size: 13px; }
}

/* ------------------------------------------------------------
   [05] 通用响应式
   Hero、区块留白、网格列数、汉堡菜单与大菜单的单列化
   ------------------------------------------------------------ */
/* ===========================
   响应式
   =========================== */
@media (max-width: 992px) {
  .hero-text h1 { font-size:36px; }
  .bh-heading { font-size:30px; }
  .bh-twocol, .bh-cap-block { grid-template-columns:1fr; gap:40px; }
  .bh-stair-body { grid-template-columns:1fr; gap:22px; }
  #machining .bh-stair-body { grid-template-columns:1fr; }
  #machining .bh-stair-slides { grid-auto-rows:170px; }
  .bh-cap-group { padding:32px 28px 34px; }
  .bh-modules { grid-template-columns:1fr; gap:16px; }
  .bh-cards-3 { grid-template-columns:1fr; }
  .bh-stats .wrap { grid-template-columns:1fr 1fr; }
  .bh-cert-grid { grid-template-columns:repeat(3,1fr); }
  .mega-nav-links { position:fixed; top:70px; left:0; right:0; background:#fff; flex-direction:column; padding:16px 32px 24px; border-bottom:1px solid var(--bh-line); display:none; }
  .mega-nav-links.open { display:flex; }
  .mobile-toggle { display:block; }
  /* 移动端：大菜单收成单列 */
  .nav-has-mega { width:100%; display:block; }
  .nav-mega-trigger { width:100%; justify-content:space-between; height:auto; border-bottom:none; }
  .nav-has-mega.open .nav-mega-trigger { border-bottom:none; }
  .nav-mega { position:static; box-shadow:none; }
  .nav-mega-inner { grid-template-columns:1fr; }
  .nav-mega-cats { padding:0; }
  .nav-mega-cats li a { padding:10px 16px; font-size:14px; }
  .nav-mega-content { padding:6px 16px 14px; }
  .nav-mega-panel ul a { font-size:13px; padding:7px 0 7px 14px; }
  .nav-mega-desc { font-size:13px; margin-bottom:10px; }
    .bh-page-hero h1 { font-size:32px; }
}
@media (max-width:640px) {
  .wrap { padding:0 20px; }
  .hero-text h1 { font-size:28px; }
  .bh-heading { font-size:26px; }
  .bh-section { padding:56px 0; }
  .bh-stair-head { padding:12px 16px; gap:12px; }
  .bh-stair-name { font-size:15px; }
  .bh-stair-metric { font-size:13px; white-space:normal; text-align:right; }
  .bh-spec-list li { flex-wrap:wrap; row-gap:6px; }
  .bh-spec-list .nm { flex:1 1 100%; margin-right:0; }
  .bh-spec-list .size { font-size:16px; }
  .bh-cap-group { padding:26px 18px 28px; border-radius:8px; }
  .bh-cap-group-head { padding-bottom:18px; margin-bottom:20px; }
  .bh-cap-group-title { font-size:24px; }
  .bh-cap-group-desc { font-size:14px; }
  .bh-module-body { padding:0 16px; }
  .bh-module-cta { margin:0 16px; }
  .bh-module-name { font-size:17px; }
  .bh-module-panel-head { align-items:flex-start; gap:12px; padding-bottom:16px; margin-bottom:20px; }
  .bh-module-title { font-size:20px; }
  .bh-detail { padding:32px 24px; }
  .bh-cert-grid { grid-template-columns:repeat(2,1fr); }
  .bh-logo-grid { grid-template-columns:repeat(3,1fr); }
  .bh-stats .wrap { grid-template-columns:1fr 1fr; gap:20px; }
  .meganav .wrap { height:60px; }
  .bh-page-hero { padding:56px 0; }
  .bh-page-hero h1 { font-size:28px; }
  .bh-cta-banner h3 { font-size:22px; }
  .page-home .bh-cta-banner { padding:40px 0; }
  .page-home .bh-cta-banner h3 { font-size:21px; padding-left:16px; }
    .hero-carousel { height:440px; }
}

/* ------------------------------------------------------------
   [06] 主要材质卡片
   三列 → 两列 → 单列，浮层内边距收窄
   ------------------------------------------------------------ */
/* 响应式 */
@media (max-width: 992px) {
  .bh-material-cards {
    grid-template-columns:1fr 1fr;
    gap:24px;
  }
}
@media (max-width: 768px) {
  .bh-material-cards {
    grid-template-columns:1fr;
    gap:20px;
  }
  .bh-material-card-hover {
    padding:24px 20px;
  }
  .bh-material-card-hover h4 {
    font-size:13px;
  }
  .bh-material-card-hover .bh-material-card-grades {
    font-size:12px;
  }
}

/* ------------------------------------------------------------
   [07] 数字化生产管理
   九宫缩略：5 列 → 4 列 → 2 列
   ------------------------------------------------------------ */
@media (max-width: 1100px) {
  .digital-grid { grid-template-columns:repeat(4,1fr); gap:10px; }
}
@media (max-width: 640px) {
  .digital { padding:44px 0; }
  .digital-head { flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:18px; }
  .digital-console { padding:0; }
  .digital-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .digital-tile-name { font-size:12px; }
  .lb-caption { font-size:12.5px; }
}

/* ------------------------------------------------------------
   [08] 产品图集
   产品照片 4 → 3 → 2 列，内容区留白收窄
   ------------------------------------------------------------ */
@media (max-width:992px) {
  .prod-gallery { grid-template-columns:repeat(3,1fr); }
  .prod-content { padding:26px 24px 30px; }
}
@media (max-width:640px) {
  .prod-gallery { grid-template-columns:repeat(2,1fr); gap:12px; }
  .prod-model { margin-top:32px; }
  .prod-content { padding:20px 16px 24px; }
}

/* ------------------------------------------------------------
   [09] 内页 Hero
   全屏背景 Hero 降低高度、取消 fixed 背景、收小标题字号
   ------------------------------------------------------------ */
@media (max-width: 992px) {
  .bh-page-hero--visual { height: 50vh; min-height: 380px; background-attachment: scroll; }
  .bh-page-hero--visual h1 { font-size: 38px; }
  .bh-page-hero-subtitle { font-size: 15px; }
}
@media (max-width: 640px) {
  .bh-page-hero--visual { height: 44vh; min-height: 320px; }
  .bh-page-hero--visual h1 { font-size: 30px; }
  .bh-page-hero-subtitle { font-size: 14px; }
  .bh-page-hero-particles { display: none; }
}

@media (max-width: 992px) {
  .bh-page-hero--carousel { height: 50vh; min-height: 380px; }
  .bh-page-hero--carousel h1 { font-size: 38px; }
}
@media (max-width: 640px) {
  .bh-page-hero--carousel { padding: 0; height: 44vh; min-height: 320px; }
  .bh-page-hero--carousel h1 { font-size: 30px; }
}

/* ------------------------------------------------------------
   [10] 材料中心
   分类条换行重排、标准切换条占满整行、牌号表横向滚动
   ------------------------------------------------------------ */
@media (max-width: 992px) {
  .mat-tabs .wrap.mat-tabs-bar { gap: 12px; }
  .mat-tab { padding: 14px 13px; font-size: 13px; }
  .mat-std { padding-left: 12px; }
}

@media (max-width: 760px) {
  .mat-tabs .wrap.mat-tabs-bar { flex-wrap: wrap; gap: 0; padding-bottom: 8px; }
  .mat-tabs-scroll { order: 1; flex: 1 1 100%; }
  .mat-std {
    order: 2;
    flex: 1 1 100%;
    justify-content: space-between;
    padding: 8px 0 0;
    border-left: none;
    border-top: 1px solid var(--bh-line);
  }
  .mat-std-switch { margin-left: auto; }
  .mat-section[id] { scroll-margin-top: 240px; }
  .mat-head { flex-wrap: wrap; }
  .mat-head-std { margin-left: auto; }
  .std-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .std-head-badge { width: 100%; display: flex; align-items: baseline; gap: 10px; padding: 10px 14px; }
  .std-head-badge span, .std-head-badge b, .std-head-badge small { display: inline; margin: 0; }
  .std-head-badge b { font-size: 16px; }
  .std-scroll-hint { display: block; }
}

@media (max-width: 640px) {
  .mat-title { font-size: 20px; }
  .mat-tab { padding: 12px 12px; font-size: 12.5px; }
  .mat-std-label { font-size: 9.5px; }
  .mat-std-btn { padding: 5px 10px; font-size: 10.5px; }
  .mat-std-chip { top: 7px; right: 7px; font-size: 9px; padding: 3px 6px; }
  .mat-cap { left: 8px; bottom: 8px; padding: 4px 10px; font-size: 11.5px; }
  .std-table { min-width: 680px; }
  .std-table thead th button { padding: 12px 14px; }
  .std-table tbody td { padding: 9px 14px; }
  .std-spec { font-size: 9.5px; }
  .std-grade { font-size: 12.5px; }
  .std-group-row th { padding: 10px 14px; }
  .std-group-row em { display: block; margin: 1px 0 0; }
}

/* ------------------------------------------------------------
   [11] 全屏灯箱
   灯箱左右箭头与关闭按钮收小，避免遮挡画面
   ------------------------------------------------------------ */
@media (max-width: 640px) {
  .lb-nav { width: 40px; height: 40px; line-height: 37px; font-size: 24px; }
  .lb-prev { left: 8px; }
  .lb-next { right: 8px; }
  .lb-close { top: 10px; right: 10px; width: 38px; height: 38px; line-height: 38px; font-size: 22px; }
  .lb-counter { bottom: 16px; font-size: 11px; }
}

/* ------------------------------------------------------------
   [12] 质量保证 · 认证
   认证卡片与证书墙的列数收缩
   ------------------------------------------------------------ */
/* ---- 响应式 ---- */
@media (max-width: 992px) {
  .qa-cert-cards { grid-template-columns: 1fr 1fr; }
  .qa-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 640px) {
  .qa-cert-cards { grid-template-columns: 1fr; }
  .qa-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .qa-grid .prod-photo { padding: 8px; }
  .qa-cap { left: 6px; right: 6px; bottom: 6px; padding: 7px 10px; }
  .qa-cap b { font-size: 11.5px; }
  .qa-cap span { font-size: 10.5px; }
  .qa-wall-title { flex-wrap: wrap; }
  .qa-legend { gap: 10px 20px; }
}

/* ------------------------------------------------------------
   [13] 质量保证 · 手风琴
   证书手风琴降低高度、收紧内边距
   ------------------------------------------------------------ */
@media (max-width: 992px) {
  .qa-acc { height: 380px; }
}
@media (max-width: 640px) {
  .qa-acc { height: 320px; gap: 8px; }
  .qa-acc + .qa-acc { margin-top: 8px; }
  .qa-acc-strip { font-size: 12px; letter-spacing: 1.5px; }
  .qa-acc-doc { left: 8px; right: 8px; top: 8px; bottom: 48px; width: calc(100% - 16px); height: calc(100% - 56px); padding: 6px; }
  .qa-acc .qa-cap { left: 8px; right: 8px; bottom: 6px; }
}

/* ------------------------------------------------------------
   [14] 移动端骨架
   全局基线、触屏 hover 处理、头部与菜单、各页版式落位（1200/993-1100/992/768/640/400）
   ------------------------------------------------------------ */
/* ============================================================
   移动端适配（Mobile）
   覆盖 1200 / 992 / 768 / 640 / 400 五档
   原则：不靠 overflow:hidden 遮问题，逐块给出真实可用布局
   ============================================================ */

/* 说明：全局基线（text-size-adjust、.wrap 宽度、body.nav-open）与 (hover:none)
   触屏修正属于全站基础，已放在 css/style.css，本文件只保留小屏布局覆盖 */

/* ---------- ≤1200px：logo 文字收窄，避免挤掉右侧导航 ---------- */
@media (max-width: 1200px) {
  .bh-logo-text { font-size: 18px; letter-spacing: 2px; }
  .bh-logo-img { height: 40px; }
}

/* ---------- 993–1100px：桌面菜单的紧凑档（再窄就切汉堡菜单） ---------- */
@media (min-width: 993px) and (max-width: 1100px) {
  .bh-logo { gap: 10px; }
  .bh-logo-img { height: 38px; padding-right: 10px; }
  .bh-logo-text { font-size: 16px; letter-spacing: 1px; }
  .mega-nav-links { gap: 0; }
  .mega-nav-links a, .nav-mega-trigger { font-size: 14px; padding: 8px 10px; }
}

/* ---------- ≤992px：头部 + 移动端菜单 ---------- */
@media (max-width: 992px) {
  .utbar { font-size: 11.5px; line-height: 34px; }
  .utbar .wrap { gap: 14px; }
  .utbar-links, .utbar-right { gap: 14px; }

  /* 公司全称保留，只把字号与字距收紧，避免把汉堡按钮顶出屏幕 */
  .bh-logo { gap: 10px; }
  .bh-logo-text { font-size: 14px; letter-spacing: .5px; }
  .bh-logo-img { height: 38px; padding-right: 10px; border-right: 2px solid #02A783; }

  .meganav .wrap { height: 60px; }
  /* 头部变矮，吸顶分类条要跟着上提，否则会露出 10px 缝隙 */
  .mat-tabs { top: 60px; }

  .mobile-toggle {
    display: inline-flex; align-items: center; justify-content: center;
    width: 44px; height: 44px; margin-right: -8px;
    font-size: 22px; line-height: 1; color: var(--bh-navy);
    border-radius: 8px;
  }
  .mobile-toggle:active { background: var(--bh-bg); }

  /* 原 fixed + top:70px 会与吸顶头部错位、且内容超高无法滚动；
     改为贴着头部展开的绝对定位面板（随 sticky 头部一起滚动） */
  .mega-nav-links {
    position: absolute; top: 100%; left: 0; right: 0;
    display: none;
    flex-direction: column; gap: 0;
    max-height: calc(100vh - 96px);
    max-height: calc(100dvh - 96px);
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    padding: 6px 40px 22px;
    background: #fff;
    border-bottom: 1px solid var(--bh-line);
    box-shadow: 0 20px 40px rgba(10, 31, 59, .14);
  }
  .mega-nav-links.open { display: flex; }

  /* 一级项整行可点，触控高度 ≥ 50px */
  .mega-nav-links > a,
  .nav-mega-trigger {
    display: flex; align-items: center; justify-content: space-between;
    width: 100%; min-height: 50px; padding: 4px 2px;
    font-size: 16px; font-weight: 600; color: var(--bh-navy);
    border-bottom: 1px solid var(--bh-line); border-top: none;
    border-radius: 0;
  }
  .mega-nav-links > a.on, .nav-mega-trigger.on { color: var(--bh-teal); }
  .nav-has-mega.open .nav-mega-trigger { border-bottom-color: transparent; }
  .nav-caret { width: 12px; height: 8px; color: #9aa4b2; }
  .nav-has-mega.open .nav-caret { color: var(--bh-teal); }

  .nav-mega {
    position: static; left: auto; right: auto; top: auto;
    margin: 0 -40px; padding: 0;
    box-shadow: none;
  }
  .nav-mega-inner { display: block; }

  /* 分类条：横向滑动的深色标签条，比竖排大块省一半高度 */
  .nav-mega-cats {
    display: flex; align-items: stretch; gap: 0;
    padding: 0 24px; background: #22262d;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .nav-mega-cats::-webkit-scrollbar { display: none; }
  .nav-mega-cats li { flex: 0 0 auto; }
  .nav-mega-cats li a {
    padding: 12px 14px; font-size: 14px; font-weight: 600;
    color: rgba(255, 255, 255, .72);
    border-bottom: 2px solid transparent; white-space: nowrap;
  }
  .nav-mega-cats li.active a {
    color: #fff; background: transparent;
    border-bottom-color: var(--bh-teal);
  }
  .nav-mega-cats .nav-mega-arrow { display: none; }
  .nav-mega-content { padding: 12px 40px 18px; }
  .nav-mega-panel ul a { font-size: 14px; padding: 10px 0; }
  .nav-mega-std { margin-bottom: 4px; }
  .nav-mega-desc { font-size: 13px; line-height: 1.7; }
}

/* ---------- ≤768px：平板竖屏 / 手机横屏 ---------- */
@media (max-width: 768px) {
  /* 通用版式 */
  .bh-section { padding: 52px 0; }
  .bh-section-header, .bh-section-head { margin-bottom: 32px; }
  .bh-heading, .bh-section-title { font-size: 25px; line-height: 1.32; }
  .bh-section-subtitle, .bh-desc { font-size: 14px; }

  /* 首页 Hero */
  .hero-carousel { height: 58vh; min-height: 380px; max-height: 500px; }
  .hero-text h1 { font-size: 30px; line-height: 1.28; }
  .hero-text h1 br { display: none; }
  .hero-text h2 { font-size: 14px; line-height: 1.8; margin-bottom: 0; }
  .hero-text h2 br { display: none; }
  .hero-slide-overlay { background: rgba(10, 31, 59, .58); }
  .hero-dots { bottom: 20px; gap: 8px; }
  .hero-dots span { width: 26px; height: 3px; }

  /* 数字统计 */
  .bh-stats { padding: 40px 0; }
  .bh-stat { padding: 0 10px; }
  .bh-stat .bh-stat-num { font-size: 32px; }
  .bh-stat-label { font-size: 12px; }

  /* 核心能力：竖向菜单 → 横向滑动标签 */
  .bh-vert-layout { border-radius: 8px; }
  .bh-vert-menu { padding: 8px 0; }
  .bh-vert-menu ul {
    gap: 4px; padding: 0 10px;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .bh-vert-menu ul::-webkit-scrollbar { display: none; }
  .bh-vert-menu li { flex: 0 0 auto; }
  .bh-vert-menu a {
    padding: 9px 13px; font-size: 13.5px; white-space: nowrap;
    border-radius: 6px;
  }
  .bh-vert-menu a.active { background: rgba(2, 167, 131, .10); }
  #capPanel { padding: 20px 16px; }
  .bh-vert-intro { font-size: 13.5px; margin-bottom: 20px; }
  .bh-vert-entry { gap: 14px; padding: 18px 0; }
  .bh-vert-entry-body h4 { font-size: 16px; }
  .bh-vert-entry-body p { font-size: 13.5px; }

  /* 主要材质：触屏没有 hover，把详情铺开常显，信息不再依赖悬停 */
  .bh-material-cards { gap: 16px; }
  .bh-material-card-content {
    position: static; padding: 16px 16px 0; background: #fff;
    opacity: 1;
  }
  .bh-material-card-title { color: var(--bh-navy); }
  .bh-material-card-sub { color: var(--bh-text-2); }
  .bh-material-card-hover {
    position: static; opacity: 1; display: block; border-radius: 0;
    padding: 12px 16px 18px;
    background: #fff; color: var(--bh-text-2);
  }
  .bh-material-card-hover h4 { color: #017a60; font-size: 12.5px; margin-bottom: 2px; }
  .bh-material-card-hover h4:not(:first-of-type) { margin-top: 12px; }
  .bh-material-card-hover .bh-material-card-grades { color: var(--bh-text-2); font-size: 12.5px; }
  .bh-material-card-hover .bh-material-card-line { width: 22px; height: 2px; margin-bottom: 6px; }
  .bh-material-card:hover .bh-material-card-content { opacity: 1; }

  /* 制造能力：阶梯手风琴 */
  .bh-cap-group { padding: 22px 14px 24px; border-radius: 10px; }
  .bh-cap-group-head { padding-bottom: 18px; margin-bottom: 20px; }
  .bh-cap-group-title { font-size: 22px; }
  .bh-cap-group-desc { font-size: 13.5px; }
  .bh-stair { gap: 8px; }
  /* 桌面端靠 nth-child 递进的阶梯缩进，窄屏会把条目挤成窄条，这里统一归零 */
  .bh-stair-item,
  .bh-stair-item:nth-child(n) { margin-left: 0; }
  .bh-stair-head { gap: 10px; padding: 12px; }
  .bh-stair-idx { flex: 0 0 28px; width: 28px; height: 28px; font-size: 12px; }
  .bh-stair-name { font-size: 14.5px; line-height: 1.4; }
  .bh-stair-metric { font-size: 12px; }
  .bh-stair-body { padding: 16px 0 6px; gap: 14px; }
  .bh-stair-slides { grid-auto-rows: 118px; gap: 6px; }
  #machining .bh-stair-slides { grid-auto-rows: 128px; }
  .bh-stair-text h4 { font-size: 17px; }
  .bh-stair-text p { font-size: 13.5px; line-height: 1.75; }
  .bh-stair-tag { font-size: 11.5px; padding: 4px 10px; }
  .bh-module-media { aspect-ratio: 16/10; }
  .bh-module-name { font-size: 17px; }
  .bh-module-panel-head { gap: 12px; }
  .bh-module-close { padding: 6px 12px; font-size: 12.5px; }

  /* 内页 Hero */
  .bh-page-hero h1 { font-size: 30px; }
  .bh-page-hero--carousel h1, .bh-page-hero--visual h1 { font-size: 32px; }
  .bh-page-hero-subtitle { font-size: 14px; line-height: 1.7; }

  /* 产品中心 */
  .prod-content { padding: 20px 16px 22px; }
  .prod-panel-head .bh-heading { font-size: 24px; }
  .prod-panel-head .bh-desc { font-size: 13.5px; }
  .prod-model { margin-top: 30px; }
  .prod-model-head { gap: 10px; margin-bottom: 14px; }
  .prod-model-head h3 { font-size: 16px; white-space: normal; line-height: 1.4; }
  .prod-gallery { grid-template-columns: 1fr 1fr; gap: 10px; }
  .prod-photo { padding: 6px; border-radius: 6px; }

  /* 材料中心（分类条本身已是横向滚动容器，这里只收窄间距） */
  .mat-tabs-scroll { -webkit-overflow-scrolling: touch; }
  .mat-tab { padding: 13px 12px; font-size: 13px; }
  .mat-section { margin-bottom: 44px; }
  .mat-head { gap: 10px; margin-bottom: 18px; }
  .mat-head-line { height: 32px; }
  .mat-title { font-size: 19px; }
  .mat-cap { font-size: 11px; padding: 4px 9px; }
  .mat-std-chip { font-size: 9px; }
  .std-table { min-width: 640px; font-size: 12px; }
  .std-table thead th button { padding: 10px 12px; }
  .std-table tbody td { padding: 8px 12px; }

  /* 质量保证 */
  .qa-dark-desc { font-size: 13.5px; margin: -6px 0 24px; }
  .qa-cert-cards { grid-template-columns: 1fr; gap: 14px; margin-bottom: 32px; }
  .qa-cert-card { padding: 22px 18px 20px; }
  .qa-legend { gap: 10px 18px; font-size: 13px; }
  .qa-wall-title { font-size: 14px; gap: 10px; }
  .qa-wall-title > span:last-child { font-size: 11px; }

  /* 证书手风琴：窄屏改成横向滑动条，展开项自动展宽 */
  .qa-acc {
    height: 300px; gap: 8px;
    overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; scroll-snap-type: x proximity;
  }
  .qa-acc::-webkit-scrollbar { display: none; }
  .qa-acc .qa-acc-item { flex: 0 0 88px; scroll-snap-align: start; transition: flex-basis .45s cubic-bezier(.2,.7,.3,1); }
  .qa-acc .qa-acc-item.open,
  .qa-acc:not(:hover) .qa-acc-item.default { flex: 0 0 min(74vw, 300px); }
  .qa-acc-strip { font-size: 11.5px; letter-spacing: 1.4px; padding: 0; }
  .qa-acc-doc {
    left: 8px; right: 8px; top: 8px; bottom: 54px;
    width: calc(100% - 16px); height: calc(100% - 62px); padding: 5px;
  }
  .qa-acc .qa-cap { left: 8px; right: 8px; bottom: 6px; padding: 6px 9px; }
  .qa-cap b { font-size: 11px; }
  .qa-cap span { font-size: 10px; }
  .qa-acc + .qa-acc { margin-top: 8px; }

  /* 返回顶部 / 灯箱 */
  .bh-back-top { right: 14px; bottom: 16px; width: 40px; height: 40px; font-size: 16px; border-radius: 8px; }
  .lb-stage img { max-width: 94vw; max-height: 76vh; }
  .lb-nav { width: 40px; height: 40px; line-height: 37px; font-size: 24px; }
  .lb-prev { left: 6px; }
  .lb-next { right: 6px; }
}

/* ---------- ≤640px：手机竖屏 ---------- */
@media (max-width: 640px) {
  .wrap { padding: 0 18px; }

  /* 菜单面板与页面左右留白对齐 */
  .mega-nav-links { padding: 4px 18px 18px; }
  .nav-mega { margin: 0 -18px; }
  .nav-mega-cats { padding: 0 10px; }
  .nav-mega-content { padding: 10px 18px 16px; }

  .utbar-contact { display: none; }

  /* 浮动语言切换：跟随返回顶部一起缩到手机尺寸 */
  .bh-lang-btn { right: 62px; bottom: 16px; width: 40px; height: 40px; font-size: 10px; }

  /* 手机端 logo 单独排版：第一行品牌名，第二行主体全称，不再靠隐藏文字腾空间 */
  .bh-logo { gap: 8px; }
  .bh-logo-img { height: 32px; padding-right: 8px; }
  .bh-logo-text {
    display: flex; flex-direction: column; gap: 1px;
    font-size: 16px; line-height: 1.15; letter-spacing: .6px;
  }
  .bh-logo-text-sub {
    font-size: 10.5px; font-weight: 600; letter-spacing: .2px; color: #52627a;
  }

  .bh-section { padding: 44px 0; }
  .bh-heading, .bh-section-title { font-size: 23px; }
  /* 强制单行的标题在手机上放开折行，字号才不会缩到 4.4vw */
  .bh-heading--single { white-space: normal; font-size: 23px; line-height: 1.45; }

  .hero-carousel { height: 62vh; min-height: 360px; max-height: 460px; }
  .hero-text h1 { font-size: 26px; }
  .hero-text h2 { font-size: 13.5px; }

  .bh-cta-banner { padding: 34px 0; }
  .bh-cta-banner .wrap { gap: 14px; }
  .bh-cta-banner h3,
  .page-home .bh-cta-banner h3 { font-size: 18px; line-height: 1.5; }
  .page-home .bh-cta-banner h3 { padding-left: 14px; }

  /* 吸顶条要贴在 60px 高的头部下沿 */
  .mat-tabs { top: 60px; }
  .mat-tabs .wrap.mat-tabs-bar { padding-bottom: 6px; }
  .mat-tabs-scroll { gap: 2px; }
  .mat-std { padding-top: 6px; }

  .qa-cert-card h4 { font-size: 16px; }
  .qa-cert-card dl div { font-size: 12px; }

  /* 注：联系页的窄屏规则写在自己的 css/contact.css 里，
     该文件在 style.css 之后加载，这里重复定义不会生效，故不在此处覆盖 */

  .bh-footer-cols { gap: 24px; }
}

/* ---------- ≤400px：小屏手机（iPhone SE / 安卓小屏） ---------- */
@media (max-width: 400px) {
  .wrap { padding: 0 15px; }
  .hero-text h1 { font-size: 23px; }
  .bh-stat .bh-stat-num { font-size: 27px; }
  .bh-stat-label { font-size: 11.5px; }
  .bh-logo-img { height: 30px; padding-right: 7px; }
  .bh-logo-text { font-size: 14px; letter-spacing: .4px; }
  .bh-logo-text-sub { font-size: 9.5px; }
  .prod-gallery, .qa-grid, .bh-cert-grid { gap: 8px; }
  .qa-acc .qa-acc-item { flex: 0 0 76px; }
  .qa-acc .qa-acc-item.open,
  .qa-acc:not(:hover) .qa-acc-item.default { flex: 0 0 78vw; }
}

/* ------------------------------------------------------------
   [15] 联系页
   联系页左右分栏 → 上下堆叠，名片、二维码、语言切换的窄屏排版
   ------------------------------------------------------------ */
/* ---------- 响应式 ---------- */
@media (max-width: 1180px) {
  .ct-split { grid-template-columns: minmax(330px, 44%) minmax(0, 1fr); }
  .ct-plate-inner { padding: 48px 40px 40px max(32px, calc((100vw - 1280px) / 2 + 40px)); }
  .ct-register-inner { padding: 40px max(32px, calc((100vw - 1280px) / 2 + 40px)) 48px 44px; }
  .ct-title { font-size: 46px; }
  .ct-company { grid-template-columns: minmax(0, 1fr) 104px; gap: 24px; }
  .ct-qr img { width: 104px; height: 104px; }
  .ct-name { font-size: 27px; }
  .ct-lines { gap: 8px 28px; }
  .ct-line-val { font-size: 14px; }
}

@media (max-width: 980px) {
  .ct-split { grid-template-columns: 1fr; min-height: 0; }
  .ct-plate-inner { padding: 44px 40px 40px; }
  .ct-crumb { margin-bottom: 28px; }
  .ct-title { font-size: 42px; }
  .ct-lede { max-width: 38em; }
  .ct-company {
    margin-top: 36px;
    padding-top: 28px;
    grid-template-columns: minmax(0, 1fr) 116px;
  }
  .ct-register-inner { padding: 8px 40px 56px; }
  .ct-register-head { padding: 24px 0 18px; }
}

@media (max-width: 640px) {
  .ct-plate-inner { padding: 32px 22px 30px; }
  .ct-crumb { margin-bottom: 24px; font-size: 12px; }
  .ct-title { font-size: 36px; letter-spacing: -.6px; }
  .ct-title-en { margin-top: 12px; font-size: 12px; letter-spacing: 2.6px; }
  .ct-lede { margin-top: 20px; font-size: 14px; line-height: 1.85; }
  .ct-company { margin-top: 28px; padding-top: 24px; grid-template-columns: 1fr; gap: 22px; }
  .ct-company-name { font-size: 16px; }
  .ct-qr { align-items: flex-start; }
  .ct-qr img { width: 98px; height: 98px; }
  .ct-register-inner { padding: 4px 22px 44px; }
  .ct-register-head { align-items: center; padding: 20px 0 14px; }
  .ct-hint { font-size: 12px; }

  .ct-person {
    grid-template-columns: minmax(0, 1fr);
    gap: 0 12px;
    padding: 22px 12px 24px;
    margin-inline: -12px;
  }
  .ct-role,
  .ct-name { padding-right: 84px; }
  .ct-name { font-size: 25px; margin-bottom: 12px; }
  .ct-lines { flex-direction: column; gap: 9px; }
  .ct-line { display: flex; flex-wrap: wrap; }
  .ct-lang {
    position: absolute;
    top: 22px;
    right: 12px;
  }
}

/* ------------------------------------------------------------
   [16] 手机端体验增强（新增）
   桌面版没有、只在触屏 / 矮屏命中的补充项
   ------------------------------------------------------------ */

/* iOS 点按不再出现系统灰块，交互反馈交给页面自身的样式 */
@media (hover: none) {
  a,
  button,
  .mat-tab,
  .qa-acc-item,
  .prod-photo { -webkit-tap-highlight-color: transparent; }
}

/* 横屏手机（矮屏）：收紧首屏与区块留白，一屏能看到实际内容 */
@media (max-width: 992px) and (max-height: 500px) and (orientation: landscape) {
  .hero-carousel { height: 80vh; min-height: 300px; max-height: none; }
  .hero-text h1 { font-size: 24px; line-height: 1.3; }
  .hero-text h2 { font-size: 13px; }
  .bh-section { padding: 36px 0; }
  .bh-page-hero--visual,
  .bh-page-hero--carousel { height: 90vh; min-height: 280px; }
  .bh-page-hero--visual h1,
  .bh-page-hero--carousel h1 { font-size: 26px; }
}

/* 全面屏（刘海屏）底部安全区：返回顶部与页脚不被 Home 指示条压住 */
@supports (padding: env(safe-area-inset-bottom)) {
  @media (max-width: 992px) {
    .bh-back-top { bottom: calc(16px + env(safe-area-inset-bottom)); }
    .bh-lang-btn { bottom: calc(16px + env(safe-area-inset-bottom)); }
    .bh-footer { padding-bottom: env(safe-area-inset-bottom); }
  }
}

/* ------------------------------------------------------------
   [17] 材料板块：分类标签与标准对照表都不再左右滑动
   1) 导航大菜单里的分类标签（材料 / 产品 / 制造能力）改成网格，一屏排满
   2) 材料页顶部吸顶分类条自动折行，不再横向滚动
   3) 标准对照表在手机上改成「每个材质一张卡片」，四个标准纵向列出
   ------------------------------------------------------------ */

/* --- 1) 导航大菜单分类标签：换行网格 --- */
@media (max-width: 992px) {
  .nav-mega-cats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    padding: 0;
    background: #1b1f26;
    overflow: visible;
    scrollbar-width: auto;
  }
  .nav-mega-cats li { min-width: 0; }
  .nav-mega-cats li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 46px;
    padding: 8px 6px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    color: rgba(255, 255, 255, .72);
    background: #272c35;
    border-bottom: none;
  }
  .nav-mega-cats li.active a {
    color: #fff;
    background: rgba(2, 167, 131, .20);
    box-shadow: inset 0 -2px 0 var(--bh-teal);
  }
  /* 只有 4 项时（产品菜单）最后一项独占一行，避免右侧留半格空洞 */
  .nav-mega-cats li:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .nav-mega-cats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
  }
  .nav-mega-cats li a { min-height: 44px; padding: 8px 4px; font-size: 12.5px; }
  .nav-mega-cats li:last-child:nth-child(3n+1) { grid-column: auto; }
  .nav-mega-cats li:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* --- 2) 材料页顶部吸顶分类条：固定 3 列，6 个分类正好两排 --- */
@media (max-width: 992px) {
  .mat-tabs-scroll {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    /* 两排高度取齐：最后一格「高温合金 · 哈氏合金」在窄屏会折成两行，
       不锁行高的话第二排会比第一排高出一截，看着不齐 */
    grid-auto-rows: 1fr;
    gap: 0 2px;
    overflow: visible;
  }
  .mat-tab {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 9px 6px;
    text-align: center;
    white-space: normal;
    line-height: 1.3;
  }
}
@media (max-width: 640px) {
  .mat-tab { min-height: 46px; padding: 9px 4px; font-size: 12.5px; }
  /* 分类条两排，锚点定位要多留一点吸顶高度 */
  .mat-section[id] { scroll-margin-top: 260px; }
}

/* --- 3) 标准对照表 --- */
/* 641–992：表格宽度压到容器内，同时收一收单元格内边距，
   让最长的牌号（如 ZG06Cr25Ni7Mo2N）也能在四列里排下，不再横向滚动 */
@media (max-width: 992px) {
  .std-table { min-width: 0; }
  .std-scroll-hint { display: none; }
  .std-table thead th button { padding: 12px 10px; }
  .std-table tbody td { padding: 9px 10px; }
  .std-grade { font-size: 13px; }
}

/* ≤640：每个材质一张卡片，ASTM / DIN / GB / JIS 纵向列出 */
@media (max-width: 640px) {
  .std-table-wrap {
    overflow: visible;
    border: none;
    background: transparent;
  }
  .std-table {
    display: block;
    font-size: 13px;
  }
  .std-table thead { display: none; }
  .std-table tbody { display: block; }

  .std-table tbody tr { display: block; }

  /* 分组标题（碳钢及低合金钢 等） */
  .std-table tbody tr.std-group-row { margin: 16px 0 8px; }
  .std-table tbody tr.std-group-row:first-child { margin-top: 0; }
  .std-table tbody tr.std-group-row th {
    display: block;
    padding: 0 2px;
    background: transparent;
    border: none;
  }

  /* 材质卡片 */
  .std-table tbody tr:not(.std-group-row) {
    margin-bottom: 8px;
    background: #fff;
    border: 1px solid var(--bh-line);
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(10, 31, 59, .04);
    overflow: hidden;
  }

  /* 卡片里每一行 = 一个标准体系 */
  .std-table tbody td {
    display: flex;
    align-items: baseline;
    gap: 10px;
    padding: 7px 12px;
    border: none;
    border-top: 1px solid #f0f3f7;
  }
  .std-table tbody tr td:first-child { border-top: none; }
  .std-table tbody td:last-child { border-right: none; }
  .std-table tbody td::before {
    content: attr(data-std);
    flex: 0 0 46px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .5px;
    color: #9aa4b2;
  }
  .std-table tbody td.is-on { background: rgba(2, 167, 131, .07); }
  .std-table tbody td.is-on::before { color: var(--bh-teal-dark); }

  /* 标准号与牌号并排一行显示 */
  .std-spec,
  .std-grade { display: inline; white-space: normal; }
  .std-spec { margin-right: 5px; font-size: 11px; }
  .std-grade { font-size: 13px; }
  .std-none { font-size: 12px; }

  .std-table tbody tr:not(.std-group-row):hover td { background: transparent; }
  .std-table tbody tr:not(.std-group-row):hover td.is-on { background: rgba(2, 167, 131, .07); }
}

/* ------------------------------------------------------------
   [18] 照片墙右下角的「牌号 / 重量」角标
   之前是单行横排：长牌号（CD4MCuN 22吨/套）横向拉到图片七成宽，
   只有牌号的（WCB）又缩成一小条，大小差得厉害。
   小屏改成两行的小方块——牌号在上、重量在下，
   高度和最小宽度都锁死，长牌号超宽时用省略号收尾
   ------------------------------------------------------------ */
@media (max-width: 992px) {
  .mat-cap {
    left: 8px;
    bottom: 8px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
    min-width: 58px;
    min-height: 34px;
    max-width: calc(100% - 16px);
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 11px;
    line-height: 1.25;
    letter-spacing: 0;
  }
  .mat-cap b,
  .mat-cap span {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .mat-cap span { font-size: 9.5px; }
}

@media (max-width: 640px) {
  .mat-cap { font-size: 10.5px; padding: 3px 7px; }
}

@media (max-width: 400px) {
  .mat-cap { min-width: 54px; min-height: 32px; font-size: 10px; padding: 2px 6px; }
  .mat-cap span { font-size: 9px; }
}

/* ---------- 极窄屏：英文词组锁定放开，避免 nowrap 撑破容器 ---------- */
/* 993–1279 仍是三列模块卡，说明文字最长的短语（约 280px）会超出栏宽，这段放开 */
@media (max-width: 1279px) {
  .bh-module-desc .nw { white-space: normal; }
}
@media (max-width: 480px) {
  .hero-text h1 .nw { white-space: normal; }
}
/* 能力卡标题最长一条（Wooden & Aluminum Pattern Manufacturing）约 430px，560px 以下放开 */
@media (max-width: 560px) {
  .bh-vert-entry-body h4 .nw,
  .bh-material-card-title .nw { white-space: normal; }
}
