/* =========================================================
   1. 头部导航
   ========================================================= */
.header {
  position: sticky;    
  top: 0;
  z-index: 999;
  background: #fff;
  border-bottom: 1px solid #ececec;
}
.header .header-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 80px;
}
/* --- Logo --- */
.header .logo {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  flex-shrink: 0;
}
.header .logo-img {
  height: auto;
  max-height: 40px;
  max-width: clamp(180px, 24vw, 350px);
  width: auto;
  object-fit: contain;
  display: block;
}
/* --- 1.2 右侧功能区 --- */
.header .header-right {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2vw, 26px);
}
/* 主导航 */
.header .nav {
  display: flex;
  align-items: center;
  gap: clamp(16px, 1.8vw, 26px);
  flex-wrap: nowrap;
}
.header .nav a {
  font-size: clamp(14px, 1.15vw, 18px);
  text-decoration: none;
  padding: 6px 0;
  transition: color .2s;
  white-space: nowrap;
}
.header .nav a:hover { color: var(--c-primary); }
.header .nav a.active { 
  color: var(--c-primary);
  font-weight: 600;
}

/* 服务热线 */
.header .header-tel {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--c-primary);
  font-size: 18px;
  font-weight: 700;
  white-space: nowrap;
}
.header .header-tel .iconfont { font-size: 18px; } 

/* 功能图标组： */
.header .header-icons {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header .ic {  
  color: var(--c-primary); 
  display: flex;
  font-size: 16px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: opacity .2s;
}
.header .ic:hover { opacity: .85; }
.header .ic .iconfont { font-size: 20px; font-weight: 600; line-height: 1; }
.header .header-icons { position: relative; }
.header .ic-wechat { position: relative; cursor: pointer; }
.header .wechat-qr {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-top: 14px;
  width: 150px;
  padding: 10px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease, visibility .2s ease;
  z-index: 60;
}
.header .wechat-qr::before {          /* 向上小三角指向微信图标 */
  content: '';
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  border: 7px solid transparent;
  border-bottom-color: #fff;
}
.header .ic-wechat:hover .wechat-qr,
.header .ic-wechat:focus-within .wechat-qr { opacity: 1; visibility: visible; }
.header .wechat-qr img { width: 130px; height: 130px; display: block; margin: 0 auto; }
.header .wechat-qr span { display: block; margin-top: 6px; font-size: 12px; color: #666; }

/* ---------- 搜索：点击图标弹出搜索框（由 global.js 切换 .open） ---------- */
.header .search-panel {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 14px;
  width: min(300px, 86vw);
  padding: 12px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
  display: none; 
  z-index: 60;
}
.header .search-panel.open { display: block; }
.header .search-panel::before { 
  content: '';
  position: absolute;
  top: -7px;
  right: 14px;
  border: 7px solid transparent;
  border-bottom-color: #fff;
}
.header .search-form { display: flex; gap: 8px; }
.header .search-input {
  flex: 1;
  min-width: 0;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 8px 10px;
  font-size: 14px;
  outline: none;
}
.header .search-input:focus { border-color: var(--c-primary); }
.header .search-submit {
  flex: none;
  width: 40px;
  border: 0;
  border-radius: 4px;
  background: var(--c-primary);
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.header .search-submit:hover { opacity: .9; }

/* 移动端汉堡按钮：桌面端隐藏 */
.header .menu-toggle {
  display: none;
  width: 34px;
  height: 34px;
  border: 0;
  background: transparent;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  padding: 4px;
}
.header .menu-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #333;
  border-radius: 2px;
  transition: transform .25s, opacity .25s;
}
/* 展开时三条线变 × */
.header .menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.header .menu-toggle.open span:nth-child(2) { opacity: 0; }
.header .menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* =========================================================
   2. CTA 预约条
   ========================================================= */
.cta-band {
  background: url(../img/adv.jpg) no-repeat center;
  text-align: center;
  color: #fff;
  padding: clamp(44px, 6vw, 80px) 0;
}
.cta-band h2 {
  font-size: clamp(24px, 3.4vw, 40px); 
  font-weight: 700;
}
.cta-band p {
  font-size: clamp(14px, 1.8vw, 24px); 
  color: #fff;
}
.cta-band .cta-btn {
  display: inline-block;
  margin-top: 30px;
  padding: 20px 36px;
  background: var(--c-yellow); 
  color: var(--c-gray);
  font-size: 18px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  letter-spacing: 1px;
  transition: transform .2s, box-shadow .2s;
}
.cta-band .cta-btn:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 18px rgba(0,0,0,.25);
}

/* 页脚 */
.footer {
  background: var(--c-footer);
  color: var(--c-gray);
}
/* --- 3.1 上部主体区 --- */
.footer .footer-top {
  display: flex;
  gap: 60px;
  padding: 64px 0 48px;
}
/* 左列：品牌区（固定宽约 50%，保证标语与电话一行放下） */
.footer .f-brand { width: 50%; flex-shrink: 0; }
.footer .f-logo {
  height: 40px;
  width: auto;
  display: block; 
}
.footer .f-slogan {
  margin: 18px 0;
  font-size: clamp(14px, 1.3vw, 18px); /* 公司名称：字号比标语小 */
  line-height: 1.2;
  font-weight: 600;
  color: #fff;
}
/* 副标语比公司名称大、与主标语分行但自身不换行（一行显示） */
.footer .f-slogan span { 
  font-size: clamp(18px, 1.8vw, 26px);
  display: block;
  white-space: nowrap;
}

/* 联系方式列表：蓝色小图标 + 灰色文字（各行字号一致，长内容不换行） */
.footer .f-contact li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: clamp(13px, 1vw, 15px);
  white-space: nowrap;
}
.footer .f-contact .iconfont {
  font-size: 18px;
  flex-shrink: 0;
  color: var(--c-blue); 
}
.footer .f-contact a {
  color: var(--c-gray);
  text-decoration: underline;
  transition: color .2s;
}
.footer .f-contact a:hover { color: #fff; }
/* 联系信息各行文字字号一致；电话等长内容不换行 */
.footer .f-contact li span { flex-shrink: 0; }

/* 微信二维码 */
.footer .f-qr {
  margin-top: 24px;
  display: inline-block;
  text-align: center;
  background: #fff; 
  padding: 10px;
}
.footer .f-qr img {
  width: 100px;
  height: 100px;
  display: block; 
}
.footer .f-qr span {
  display: block;
  margin-top: 8px;
  font-size: clamp(13px, 1.2vw, 15px);   /* 二维码说明：随屏宽 13~15px 平滑缩放 */
  color: var(--c-text);
}
/* 右侧：6 列栏目链接（弹性均分） */
.footer .f-cols {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(6, 1fr);  /* 6 等列 */
  gap: 24px;
}
.footer .f-cols dt { margin-bottom: 18px; }
.footer .f-cols dt a {
  font-size: clamp(15px, 1.4vw, 18px); 
  font-weight: 600;
  color: #fff;
  text-decoration: none;
}
.footer .f-cols dd { margin: 0 0 12px; }
.footer .f-cols dd a {
  color: var(--c-gray);
  text-decoration: none;
  transition: color .2s;
  white-space: nowrap;                 /* 子栏目文字不换行（一行显示） */
  font-size: clamp(13px, 1vw, 15px);   /* 子栏目字号随屏宽 13~15px 平滑缩放 */
  display: inline-block;               /* 使 nowrap 生效并便于控制 */
  max-width: 100%;                     /* 防止超长文字溢出列宽 */
  overflow: hidden;                    /* 超出部分裁剪 */
  text-overflow: ellipsis;             /* 超长显示省略号 */
}
.footer .f-cols dd a:hover { color: #fff; }

/* --- 3.2 底部版权条 --- */
.footer .footer-bottom {
  border-top: 1px solid #333;
  padding: 22px 0;
  font-size: clamp(12px, 0.6vw + 9.5px, 15px);  /* 版权条：随屏宽 12~15px 平滑缩放（窗口变小文字同步变小） */
  text-align: left;
  line-height: 1.8;
}
.footer .footer-bottom a {
  color: #fff;
}
.footer .footer-bottom a:hover { color: #fff; }

/* =========================================================
   4. 响应式适配（移动端 / 平板 / 桌面端）
   ========================================================= */

/* --- 1201~1500px：中屏桌面，收纳电话文字与次要图标（防止导航拥挤换行） --- */
@media (min-width: 1201px) and (max-width: 1500px) {
  .header .header-tel span { display: none; } 
  .header .header-icons .ic-green,
  .header .ic-plain { display: none; }
}
/* --- ≤1500px：页脚右侧栏目 6列→3列×2行 换行排列（6列过挤） --- */
@media (max-width: 1500px) {
  .footer .f-cols { grid-template-columns: repeat(3, 1fr); }
}

/* --- ≤1200px：平板/中屏，导航折叠为汉堡菜单（根治中屏导航拥挤换行） --- */
@media (max-width: 1200px) {
  .header .menu-toggle { display: flex; }     /* 显示汉堡按钮 */
  .header .header-tel span { display: none; } /* 隐藏电话文字，保留图标可点 */
  .header .header-icons .ic-green,            /* 收纳次要图标，保留邮件/EN */
  .header .ic-plain { display: none; }

  /* 导航变为下拉抽屉：默认收起 */
  .header .nav {
    position: absolute;
    top: 80px;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    flex-wrap: nowrap; 
    padding: 8px 4%;
    border-bottom: 1px solid #ececec;
    box-shadow: 0 10px 20px rgba(0,0,0,.08);
    display: none; 
  }
  .header .nav.show { display: flex; }
  .header .nav a {
    padding: 12px 0;
    border-bottom: 1px solid #f4f4f4;
    font-size: 15px;
  }
  .header .nav a:last-child { border-bottom: 0; }
}

/* --- ≤768px：手机，CTA 与页脚纵向堆叠 --- */
@media (max-width: 768px) {
  .header .header-wrap { height: 64px; }
  .header .logo-img { height: auto; max-height: 32px; max-width: 46vw; width: auto; object-fit: contain; }
  .header .logo-txt strong { font-size: 16px; }
  .header .logo-txt em { font-size: 10px; letter-spacing: 1px; }
  .header .header-right { gap: 12px; }
  .header .nav { top: 64px; }

  .cta-band { padding: 40px 0 44px; }
  .cta-band h2 { font-size: 20px; padding: 0 4%; }
  .cta-band p { font-size: 13px; padding: 0 6%; }

  .footer .footer-top { flex-direction: column; gap: 40px; padding: 44px 0 36px; }
  .footer .f-brand { width: 100%; }
  .footer .f-slogan { font-size: 16px; }
  .footer .f-cols { grid-template-columns: repeat(2, 1fr); } /* 3列→2列 */
  .footer .footer-bottom .container { text-align: center; }
}
/* --- ≤480px：小屏手机，页脚链接两列紧凑排布 --- */
@media (max-width: 480px) {
  .footer .f-cols { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .cta-band .cta-btn { padding: 11px 22px; font-size: 14px; }
}
@media (max-width: 768px) {
  .footer .f-cols {
    grid-template-columns: 1fr; 
    gap: 0;
  }
  .footer .f-cols dl {
    border-bottom: 1px solid #333;
  }
  .footer .f-cols dt {
    display: flex;
    justify-content: space-between; 
    align-items: center;
    margin-bottom: 0; 
    padding: 16px 2px;
    cursor: pointer;
    user-select: none;
  }
  .footer .f-cols dt a {
    pointer-events: none; 
  }
  /* 右侧折叠指示符：默认加号 */
  .footer .f-cols dt::after {
    content: "+";
    flex-shrink: 0;
    margin-left: 12px;
    font-size: 22px;
    line-height: 1;
    font-weight: 400;
    color: #fff;
  }
  /* 展开后变为减号 */
  .footer .f-cols dl.open dt::after {
    content: "\2212";  
  }
  /* 默认折叠：子项隐藏 */
  .footer .f-cols dd {
    display: none;
    margin: 0;
    padding: 0 2px 16px;
  }
  /* 展开后显示子项 */
  .footer .f-cols dl.open dd {
    display: block;
  }
}

/* =========================================================
   5. 首页主体模块
   ========================================================= */

/* ---------- 5.0 通用元素 ---------- */
.section { padding: clamp(56px, 8vw, 130px) 0; }   /* 区块上下间距随屏宽缩放，避免桌面过大/手机太空 */

/* 区块头：左侧蓝标题+灰副标题，右侧"查看更多"链接 */
.sec-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 36px;
}
.sec-title h2 {
  font-size: clamp(24px, 2.6vw, 40px);   /* 区块主标题：随屏宽 24~40px 平滑缩放（下限提升，手机/平板标题更醒目） */
  font-weight: 700;
  color: var(--c-primary);
}
.sec-title p {
  font-size: clamp(13px, 1.2vw, 20px);   /* 副标题：随屏宽 13~20px */
  line-height: 1.4;
}
.sec-more {
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s;
}
.sec-more:hover { color: var(--c-primary); }
.sec-more.light { color: rgba(255,255,255,.9); }   /* 深色背景上的查看更多 */
.sec-more.light:hover { color: #fff; }

/* 通用胶囊按钮：深蓝 / 金色（Banner 与全流程模块共用） */
.btn-banner {
  display: inline-block;
  padding: 12px 36px;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 1px;
  transition: transform .2s, box-shadow .2s;
}
.btn-banner:hover { transform: translateY(-2px); box-shadow: 0 6px 14px rgba(0,0,0,.18); }
.btn-blue { background: #1d3f9e; color: #fff; }    /* 深蓝按钮 */
.btn-gold { background: var(--c-gold); color: #1d3f9e; } /* 金色按钮（深蓝字，同设计稿） */

/* 轮播通用圆形箭头 */
.swiper-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(228,228,228,.92);
  color: #666;
  font-size: 0;                    /* 隐藏 ‹ › 字符（字形在圆圈内不居中），改用伪元素绘制 */
  line-height: 1;
  cursor: pointer;
  transition: background .2s, color .2s;
  display: flex;                    /* 箭头在圆钮内垂直/水平居中 */
  align-items: center;
  justify-content: center;
}
/* 左箭头：边框旋转绘制，几何居中不受字体字形影响 */
.swiper-nav::before {
  content: '';
  width: 10px;
  height: 10px;
  border-left: 2px solid currentColor;   /* 颜色跟随 .swiper-nav 的 color（含 hover 变白） */
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);              /* 指向左 */
  box-sizing: border-box;
}
/* 右箭头 */
.swiper-nav.next::before {
  transform: rotate(-135deg);            /* 指向右 */
}
.swiper-nav:hover { background: var(--c-primary); color: #fff; }
.swiper-nav.prev { left: 0px; }
.swiper-nav.next { right: 0px; }

/* ---------- 5.1 Banner 首屏（gid=1 轮播：背景图 + HTML 文字/按钮覆盖层） ---------- */
.home-banner {
  position: relative;            /* 作为轮播层的定位上下文 */
  height: min(48.35vw, 84vh);
  overflow: hidden;              /* 裁掉轮播图片溢出部分 */
  /* 幻灯片未加载时的深蓝渐变兜底背景 */
  background: linear-gradient(135deg, #35648f 0%, #6f9db8 60%, #9dbfae 100%);
}

/* 轮播层：铺满 Banner 区域 */
.banner-swiper { position: absolute; inset: 0; height: 100%; }
.banner-swiper .swiper-slide { height: 100%; }

/* 背景图：cover 等比裁切不变形（图内文字已抹除，文字由 HTML 输出） */
.banner-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

/* 覆盖层：铺满但不拦截点击（仅按钮开启 pointer-events），不遮挡图片浏览 */
.banner-caption { position: absolute; inset: 0; z-index: 2; pointer-events: none; }

/* ── 标题/副标题 ── 默认（第1张）：居中，副标题与标题接近的大字还原原设计 */
.cap-top { position: absolute; left: 0; right: 0; top: 10%; text-align: center; padding: 0 4%; }
.banner-title {
  margin: 0; color: #fff; font-weight: 600; line-height: 1.2;font-size: clamp(22px, 3.2vw, 66px);
  text-shadow: 0 2px 14px rgba(8, 30, 80, .35);
}
.banner-sub {
  color: #fff;line-height: 1.2;
  font-size: clamp(14px, 1.55vw, 31px);   /* 默认（第2张）小字副标题 */
  text-shadow: 0 2px 10px rgba(8, 30, 80, .35);
}
/* 第1张：副标题大字（专注汽车车灯精密模具）——3vw 在 640~992px 会追平主标题，
   降为 2.4vw 保持「主标题≈1.3倍副标题」的清晰层级 */
.swiper-slide[data-swiper-slide-index="0"] .banner-sub { font-size: clamp(15px, 2.4vw, 60px); }
/* 第2张：标题整体更靠下（避开上方留白） */
.swiper-slide[data-swiper-slide-index="1"] .cap-top { top: 5%; }
/* 第3张：标题靠左（配套模具车型矩阵） */
.swiper-slide[data-swiper-slide-index="2"] .cap-top { left: 1.9%; right: auto; top: 12%; text-align: left; }
.swiper-slide[data-swiper-slide-index="2"] .banner-title { font-size: clamp(22px, 3.35vw, 68px); }

/* ── 按钮组：绝对定位按各图原按钮位置摆放*/
.cap-btns { position: static; pointer-events: auto; } 
.btn-banner {
  position: absolute; 
  top: 72.8%; left: 36.2%;
  display: flex; align-items: center; justify-content: center;
  min-width: 13.4vw; height: clamp(40px, 4.1vw, 84px); padding: 0 1.6em;
  border-radius: 999px; color: #fff; text-decoration: none;
  font-size: clamp(13px, 1.05vw, 21px); font-weight: 600; letter-spacing: .12em;
  transition: filter .2s, transform .2s;
}
.btn-banner.btn-gold { left: 50.4%; }   /* 金按钮原位 x 50.66%~62.95% */
.btn-banner:hover { filter: brightness(.9); transform: translateY(-2px); }
/* 第2张：按钮整体更靠下 */
.swiper-slide[data-swiper-slide-index="1"] .btn-banner { top: 75.6%; }
/* 第3张：按钮靠左中部 */
.swiper-slide[data-swiper-slide-index="2"] .btn-banner { top: 53.9%; }
.swiper-slide[data-swiper-slide-index="2"] .btn-banner.btn-blue { left: 7.9%; }
.swiper-slide[data-swiper-slide-index="2"] .btn-banner.btn-gold { left: 21.9%; }
/* 按钮配色还原原图：第1张深藏蓝，第2/3张亮蓝，金色统一；文字白色 */
.btn-banner.btn-blue { background: #1b82eb; color: #fff; }
.swiper-slide[data-swiper-slide-index="0"] .btn-banner.btn-blue { background: #012d86;color: #fff; }
.btn-banner.btn-gold { background: #e7b020;color: #fff; }

/* Banner 轮播分页圆点 */
.banner-swiper .swiper-pagination {
  z-index: 4;
  bottom: 18px;
}
.banner-swiper .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #fff;
  opacity: .55;
  transition: opacity .2s, width .2s;
}
.banner-swiper .swiper-pagination-bullet-active {
  opacity: 1;
  width: 26px;                   /* 当前点拉长，呼应设计稿 */
  border-radius: 5px;
}
/* 箭头置于最上层 */
.home-banner .swiper-nav { z-index: 5; }
.home-banner .swiper-nav.prev { left: 24px; }
.home-banner .swiper-nav.next { right: 24px; }

/* ---------- 产品展示（ ---------- */
.products-section {
  background: #fff;
  overflow: hidden; 
}

/* 产品轮播：slide 固定宽度，居中展示；上下留白给卡片上浮/圆钮滑出留空间 */
.prod-swiper {
  position: relative;
  padding: 20px 0 0px;
  overflow: visible;  
}

/* 整张卡片即为链接；所有卡片基础样式完全一致，悬停反馈也完全一致 */
.prod-card {
  display: block;
  position: relative;           /* 作为 .prod-more 圆钮的定位上下文 */
  padding: 65px 50px;                /* 参照参考站 40px */
  background: var(--c-bg);
  border-radius: 10px;          /* 参照 --rn-radius:18px */
  height: 100%;
  text-align: center;
  transition: all .35s ease;    /* 整卡过渡（上浮 + 阴影） */
}
/* 悬停：整卡上浮 20px + 加深投影（任意卡片效果完全相同） */
.prod-card:hover {
  transform: translateY(-20px);
  background: #fff;
  box-shadow: 0 14px 34px rgba(11,77,162,.18);
}

.prod-mark {                    /* 图片右上角 TYC 角标（对应参考站左上角 logo） */
  position: absolute;
  top: 50px;
  right: 50px;
  z-index: 3;
}
.prod-mark img{
  height: 15px;
}
/* left 角标（配套车企 logo）：与产品图区域左缘对齐（.prod-pic 左右各留 15%），
   避免贴卡片边缘显得偏左，也与右侧 TYC 角标视觉平衡 */
.prod-mark.left {
  left: 50px;
  right: auto;
}
.prod-mark.left img{height: 45px;}
.prod-pic {
  padding: 0% 15%;
  position: relative;
  overflow: hidden;  
  display: flex;
  align-items: center;
  justify-content: center;
}
.prod-pic img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  transition: transform .4s ease;
}
/* 悬停：图片仅等比放大 1.05（参照参考站，无遮罩色） */
.prod-card:hover .prod-pic img { transform: scale(1.05); }

.prod-name {
  padding: 26px 0 0;            /* 参照参考站 26px 上间距 */
  margin: 0;
  font-size: 18px; 
  text-align: center;
  transition: color .3s ease;
}
/* 悬停：标题变品牌蓝（参照参考站） */
.prod-card:hover .prod-name { color: var(--c-primary); }

/* 默认藏在卡片下方的大圆“+”按钮，悬停时滑入显现（对应参考站 .equ-more） */
.prod-more {
  position: absolute;
  bottom: -6rem;                /* 默认沉到卡片下方外侧，不可见 */
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  z-index: -2;
  transition: all .3s;
}
.prod-more span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80px;                  /* 参照参考站 80px 大圆 */
  height: 80px;
  font-size: 2rem;
  line-height: 1;
  background-color: var(--c-primary-dark);  /* 深蓝 #2e3192 */
  color: #fff;
  border-radius: 100%;
}
.prod-card:hover .prod-more {
  bottom: -40px;
  opacity: 1;
  z-index: 999;
}

/* ---------- 技术实力 ---------- */
.tech-section { background: #f7f7f7; }

.tech-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}
.tech-card {
  background: #fff;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 50px 50px;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.tech-card:hover { 
  border-color: var(--c-primary);
  transform: translateY(-10px);
  box-shadow: 0 10px 24px rgba(30,94,214,.10);
}
.tech-ico {
  display: inline-flex;
  width: 50px;
  height: 50px;
  border-radius: 8px;
  background: #f3f6f9;             /* 浅黄底 */
  color: #f0a818;                  /* 黄色线性图标 */
  align-items: center;
  justify-content: center;
}
.tech-ico i{font-size: 28px;}
.tech-card h3 {
  margin-top: 16px;
  font-size: 18px;
  font-weight: 600;
  color: var(--c-primary);
}
.tech-card p {
  margin-top: 10px;
}
a.tech-band-btn {                   /* 底部深蓝通栏预约按钮 */
  display: block;
  margin-top: 30px;
  padding: 15px 0;
  background: var(--c-primary);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  border-radius: 10px;
  transition: background .2s;
}
.tech-band-btn:hover { background: var(--c-primary); }

/* ---------- 5.4 全流程制造体系（5.jpg） ---------- */
.process-wrap {
  display: flex;
  align-items: stretch;
  gap: 50px;
}
.process-left { width: 30%;display: flex;flex-direction: column; justify-content: space-between;}
.process-btns {
  margin-top: 34px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.process-btns .btn-banner {
  text-align: center;
  position: static;
  min-width: 0;
  width: auto; 
  height: auto;
  padding: 12px 36px;
  font-size: 14px;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.process-btns .btn-blue,
.process-btns .btn-gold { color: #fff !important; }

.process-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(5, 1fr);  /* 5 列 × 3 行 */
  gap: 14px;
}
.p-item {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 18px 6px;
  text-align: center;
  transition: border-color .2s;
}
.p-item b {
  display: inline-block;
  background-color: #f3f6f9;
  font-size: clamp(24px, 2.5vw, 32px);   /* 流程步骤数字：随屏宽 24~32px */
  border-radius: 8px;
  line-height: 1.0;
  padding: 8px 8px;
  color: #c9ccd3;                     /* 步骤数字：浅灰 */
  font-weight: 700;
  transition: color .2s;
}
.p-item span {
  display: block;
  margin-top: 8px;
  line-height: 1.5;
}
.p-item:hover,
.p-item.active {                   /* 默认高亮：02 模具设计（蓝框蓝字） */
  border-color: var(--c-primary);
}
.p-item:hover b,
.p-item.active b { color: var(--c-primary); }

/* ---------- 5.5 关于我们（6.jpg）：大楼大图背景 ---------- */
.about-section {
  /* 公司大楼实景：img/abouts.jpg 待放入；未就位时显示深蓝兜底（白字仍清晰可见） */
  background: #0e47a1 url("../img/abouts.jpg") top/cover no-repeat;
  color: #fff;
}
.about-section .sec-title h2 {
  color: #fff;
}

.about-txt {
  max-width: 50%;
  margin-top: 36px;
  margin-bottom: clamp(160px, 30vw, 720px);   /* 背景大楼图留白：随屏宽缩放，避免手机端出现巨大空白 */
}

/* ---------- 5.6 配套车企（7.jpg）：logo 圆形轮播 ---------- */
.brands-section { padding: clamp(44px, 6vw, 80px) 0; }   /* 配套车企区：间距随屏宽缩放 */
.brands-section .sec-title { margin-bottom: 44px; }

.brand-swiper { position: relative; padding: 6px 0; overflow: hidden; }  /* 裁掉溢出 logo，避免小屏横向滚动 */
/* 注意：不在此写死 .swiper-slide 宽度，交由 Swiper 按 slidesPerView(桌面9/小屏递减) 自动计算，
   否则固定宽度会与 slidesPerView 冲突导致桌面显示数量不准 */
.brand-swiper .swiper-slide { text-align: center; }
.brand-item { 
  margin: 0 auto;
  width: 100%;                /* 宽度跟随 slide（由 Swiper 按列数自动计算），不再写死 160px */
  max-width: 160px;           /* 大屏最多 160px，保持原圆形视觉尺寸 */
  aspect-ratio: 1 / 1;        /* 用宽高比保持正圆，替代写死的 height:160px，窄屏自动缩小 */
  border-radius: 50%;
  background: #fff;             /* 圆形浅灰底 */
  border: 1px solid #efefef;
  display: flex;
  align-items: center;
  justify-content: center; 
  transition: border-color .2s, background .2s;
}
.brand-item img { max-width: 100%; max-height: 100%; object-fit: contain; }
.swiper-slide-active .brand-item { /* 激活项：白底 + 蓝描边（对应设计稿高亮圈） */
  background: #fff;
  border-color: var(--c-primary);
}
.brand-swiper .swiper-nav { background: #ececec; }

/* ---------- 最新资讯 ---------- */
.news-section { background: #efefef; }

.news-tabs { display: flex; flex-wrap: wrap; gap: 12px; }   /* 窄屏自动换行，避免标签挤出 */
.news-tabs a {
  padding: 5px clamp(16px, 2.4vw, 30px);
  border-radius: 30px;
  background: #fff;
  border: 1px solid #e8e8e8;
  font-size: clamp(15px, 1.6vw, 20px);   /* 资讯筛选标签：随屏宽 15~20px */
  transition: all .2s;
  white-space: nowrap;
}
.news-tabs a:hover {              /* 激活 tab：深蓝底白字 */
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}


.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));   /* minmax(0,1fr) 防止卡片内容把轨道撑开导致横向溢出 */
  gap: 45px;
}
.news-card { min-width: 0; }                            /* 允许网格项收缩到列宽以内 */
.news-card {
  display: block;
  background: #fff;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 30px 26px 26px;
  text-decoration: none;
  transition: transform .2s, box-shadow .2s;
}
.news-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(0,0,0,.08); border-color: var(--c-primary); } 
.news-card h3 {
  font-size: clamp(18px, 1.35vw, 21px);  /* 资讯标题：随屏宽 18~21px 平滑缩放 */
  font-weight: 600;
  color: var(--c-primary);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.news-card p {
  margin-top: 14px;
  font-size: 16px;
  display: -webkit-box;
  -webkit-line-clamp: 2;           /* 摘要固定两行截断 */
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.news-card time {
  display: block;
  margin-top: 20px;
  font-size: clamp(16px, 1.4vw, 22px);   /* 资讯日期数字：随屏宽 16~22px（手机端小于标题，层级清晰） */
  font-weight: 600;
  color: var(--c-yellow);    
}

/* =========================================================
   6. 首页模块响应式适配
   ========================================================= */

/* --- ≤1200px：平板横屏（与导航汉堡断点统一） --- */
@media (max-width: 1200px) {
  .tech-grid { grid-template-columns: repeat(2, 1fr); }   /* 4卡→2列 */
  .tech-card { padding: 38px 28px; }                      /* 2列大卡：内边距收窄，避免内容松散 */
  .process-grid { grid-template-columns: repeat(4, 1fr); } /* 5列→4列 */
}

/* --- ≤1024px：平板/手机横屏 --- */
@media (max-width: 1024px) {
  /* column 布局下用 stretch：让 .process-grid 占满容器宽度，
     否则 flex:1 在纵向主轴不拉伸宽度，中屏右侧会出现大片空白 */
  .process-wrap { flex-direction: column; align-items: stretch; }
  .process-left { width: 100%; }
  .process-btns { flex-direction: row; flex-wrap: wrap; }
  .process-grid { width: 100%; }
  .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }   /* 3卡→2列（minmax 防溢出） */
}

/* --- ≤768px：手机 --- */
@media (max-width: 768px) {
  .section { padding: 48px 0; }
  .sec-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  /* 手机端 banner：比例高度太矮（<500px 宽时 <242px），限最小高保证视觉体量，
     此时转为左右轻微裁切；最小高 210px 可确保图3左侧标题完整入画 */
  .home-banner { height: max(48.35vw, 210px); }

  .cap-top { padding: 0 5%; }

  .prod-pic { height: 140px; }

  /* 关于我们（首页大楼模块）：手机端简介占满宽、大幅收窄背景留白，避免巨空白 */
  .about-txt { max-width: 100%; margin-bottom: 60px; }

  .org-layout { flex-direction: column; align-items: stretch; gap: 24px; }
  .org-text { flex: none; max-width: 100%; }
  .org-figure { padding: 18px; }                 /* 组织架构图容器：窄屏内边距收窄 */
  .speech-layout { flex-direction: column; align-items: stretch; gap: 24px; }
  .speech-text { flex: none; max-width: 100%; }
  .speech-body { padding: 24px 20px; }            /* 领导致辞白底：窄屏内边距收窄 */
  .prod-card { padding: 30px; }                 /* 平板内边距收窄（参照参考站） */
  .prod-name { font-size: 16px; padding-top: 20px; }
  .prod-more span { width: 64px; height: 64px; }  /* 大圆按钮同步缩小 */

  .tech-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }  /* iPad 竖屏(641~768px)：保持2列更紧凑；纯手机再降1列（见≤640） */
  .tech-card { padding: 32px 24px; }              /* 技术实力卡片：窄屏内边距收窄 */
  .culture-cards { grid-template-columns: 1fr; }
  .culture-card { padding: 32px 24px; }           /* 企业文化卡片：窄屏内边距收窄 */
  .process-grid { grid-template-columns: repeat(3, 1fr);width: 100%; }
  .process-btns { flex-direction: column; width: 100%; }
  .process-btns .btn-banner { display: block; }
  .about-title h2 { font-size: 18px; }
  .news-detail { padding: 28px 20px; }            /* 资讯详情：窄屏内边距收窄 */
  .device-block { padding: 18px; }                /* 设备图文块：窄屏内边距收窄 */
}

/* --- ≤640px：大屏手机（技术实力由2列降为1列，卡片全宽更易读） --- */
@media (max-width: 640px) {
  .tech-grid { grid-template-columns: 1fr; }
}

/* --- ≤480px：小屏手机 --- */
@media (max-width: 480px) {
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .prod-card { padding: 15px; }
  .prod-name { font-size: 15px; padding-top: 16px; }  /* 产品名：14px 过小，15px 保证小屏可读 */
  .prod-more span { width: 56px; height: 56px; font-size: 1.6rem; }

  /* 手机端 header 收紧：logo 与图标/汉堡缩小、间距收窄，避免 header-right 超出视口右缘导致横向溢出 */
  .header .logo-img { max-width: 40vw; }
  .header .header-right { gap: 8px; }
  .header .ic { width: 28px; height: 28px; }
  .header .ic .iconfont { font-size: 13px; }
  .header .menu-toggle { width: 28px; height: 28px; }
  .header .menu-toggle span { height: 2px; }
}

/* --- 7.1 内页 Banner：深蓝底大图 + 白色标题 + 面包屑 --- */
.inner-banner {
  position: relative;
  height: 320px;               /* 设计稿 Banner 高度 */
  display: flex;
  align-items: flex-end;       /* 标题贴底，与设计稿一致 */
  overflow: hidden;
  background: linear-gradient(135deg, #0b2c66 0%, #0e47a1 55%, #123a7d 100%); /* 兜底：深蓝渐变 */
}
/* 兜底渐变上叠加科技感网格纹理 */
.inner-banner::before {
  content: '';
  position: absolute; inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 44px 44px;
  pointer-events: none;
}
/* 实景大图：上传模板 img/banner-xxx.jpg 后自动铺满 */
.inner-banner .ib-bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
}
.inner-banner .container { position: relative; z-index: 1; padding-bottom: 30px; }
.inner-banner .ib-title {
  color: #fff;
  font-size: clamp(24px, 2.4vw, 34px);   /* 内页 Banner 标题：随屏宽 24~34px */
  font-weight: 700;
  letter-spacing: 2px;
  margin-bottom: 12px;
}
/* 面包屑：首页 > 当前页（白字小号） */
.inner-banner .ib-crumb { color: rgba(255,255,255,.75); font-size: 13px; }
.inner-banner .ib-crumb a { color: rgba(255,255,255,.75); text-decoration: none; }
.inner-banner .ib-crumb a:hover { color: #fff; }
.inner-banner .ib-crumb .sep { margin: 0 8px; }

/* 各页 Banner 专属兜底色调（有实景图后被图片覆盖） */
.ib-global  { background: linear-gradient(135deg, #04122e 0%, #0d3f8f 60%, #072a63 100%); }
.ib-about   { background: linear-gradient(135deg, #123a7d 0%, #1e5ed6 100%); }
.ib-product { background: linear-gradient(135deg, #101820 0%, #2a3b4d 100%); }
.ib-tech    { background: linear-gradient(135deg, #1a1f26 0%, #33414f 100%); }

/* --- 7.2 内页锚点/筛选导航条：白底胶囊按钮，激活深蓝 --- */
.inner-tabs {
  background: #fff;
  border-bottom: 1px solid #ececec;
  position: sticky;            /* 吸顶跟随（位于 header 下方） */
  top: 80px;
  z-index: 90;
}
.inner-tabs .container {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding-top: 16px;
  padding-bottom: 16px;
}
.inner-tabs a {
  padding: 5px clamp(24px, 4vw, 50px);
  font-size: clamp(15px, 1.6vw, 20px);   /* 内页锚点标签：随屏宽 15~20px */
  color: #000;
  text-decoration: none;
  border-radius: 999px;
  border: 1px solid #e2e2e2;
  background: #fff;
  transition: all .2s;
}
.inner-tabs a:hover { color: #fff; border-color: var(--c-primary);background: var(--c-primary); }
.inner-tabs a.active {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}

/* --- 7.3 内页通用灰底段 / 左右分栏标题 --- */
.ab-gray, .tech-section.ab-gray { background: #f5f7fa; }


/* =========================================================
   8. 全球布局页（global.html，参考 global.jpg）
   ========================================================= */
.global-map-section { padding-bottom: 30px; }

/* --- 8.1 世界地图容器：图片优先，未上传显示占位 --- */
.world-map {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.world-map > img { width: 100%; height: auto; display: block; }

/* --- 8.3 集团数据一览：蓝色大数字横排 --- */

.global-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px;
  list-style: none; 
  max-width: 1440px;
  margin: 0 auto;
}
.global-stats b {
  display: block;
  font-size: clamp(28px, 3vw, 40px);   /* 集团数据大数字：随屏宽 28~40px */
  font-weight: 700;
  color: var(--c-primary);
  line-height: 1.2;
}
.global-stats b::after{
  content: '';
  display: block;
  width: 20px;
  height: 3px;
  background: var(--c-gold);
  margin-top: 10px;
}

/* =========================================================
   9. 关于我们页（about.html，参考 about.jpg）
   ========================================================= */
.ab-section{background: url('../img/about.jpg') no-repeat top center/cover #04122e; color:#fff;}   
.ab-section .sec-title,.ab-honor .sec-title,.ab-workshop .sec-title,.ab-culture .sec-title, .contact-page .sec-title,.job-apply .sec-title {  margin-bottom: 34px; }
.ab-section .sec-title h2 { font-size: clamp(24px, 3vw, 40px); color:#fff; }

/* 简介正文下方留白：露出背景大楼图（随屏宽缩放，避免手机端出现巨空白） */
.ab-article{ margin-bottom: clamp(160px, 40vw, 615px);}
.ab-honor {background-color: #fff;}
.ab-factory { margin-top: 30px; }
.ab-factory img { width: 100%; display: block; border-radius: 6px; }
/* 兜底图未上传时显示的占位框 */
.ab-factory.noimg {
  height: clamp(220px, 30vw, 380px);   /* 占位框高度随屏宽缩放 */
  border: 1px dashed #d5d9e0;
  background: #fafbfd;
  border-radius: 6px;
}
/* 后台已有大图时隐藏兜底图块（相邻选择器） */
.ab-factory + .ab-factory-fallback { display: none; }

/* --- 9.2 企业文化：左深蓝卡 + 右金色卡 --- */
.culture-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 45px;
}
.culture-card {
  border-radius: 8px;
  padding: 46px 40px;
  color: #fff;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.culture-card.c-blue { background: url(../img/blue.jpg) no-repeat center #0e47a1; }
.culture-card.c-gold { background: url(../img/gold.jpg) no-repeat center #f5b91e; }
.culture-card h3 { font-size: clamp(22px, 2vw, 30px); font-weight: 600;}
.culture-card p { font-size: clamp(15px, 1.2vw, 20px);}

/* --- 9.3 组织架构：标题(左) + 架构图(右,白底)，区底色 #efefef --- */
.ab-org {
  background: #efefef;          /* 区块底色 */
  color: #333;
}

/* 左标题 / 右图 的左右结构（标题沿用全站 .sec-title 基础样式，与企业文化一致：品牌蓝 40px 加粗 + 副标题） */
.org-layout {
  display: flex;
  gap: 48px;
}
.org-text { flex: 0 0 25%; max-width: 25%; }
.org-figure {                                      /* 右侧架构图：白色背景容器 */
  flex: 1 1 auto;
  background: #fff;
  border-radius: 10px;
  padding: 25px;
  max-width: 1150px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}
.org-figure img { width: 100%; display: block; }

/* --- 9.5 领导致辞：标题(左) + 致辞正文(右,白底)，与组织架构左右结构一致 --- */
.ab-speech {
  background: #efefef;          /* 区块底色（与组织架构一致） */
  color: #333;
}
/* 左标题 / 右文 的左右结构（标题同样沿用全站 .sec-title 基础样式） */
.speech-layout {
  display: flex;
  gap: 48px;
}
.speech-text { flex: 0 0 25%; max-width: 25%; }
.speech-body {                                     /* 右侧致辞正文：白色背景容器 */
  flex: 1 1 auto;
  background: #fff;
  border-radius: 10px;
  padding: 32px 36px;
  box-shadow: 0 8px 22px rgba(0,0,0,.06);
}


/* --- 9.4 荣誉资质：证书 4 列图墙 --- */
.honor-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.honor-item {
  margin: 0;
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 10px;
  padding: 10px;
  overflow: hidden;
  transition: transform .2s, box-shadow .2s;
}
.honor-item:hover { transform: translateY(-4px); box-shadow: 0 10px 22px rgba(0,0,0,.08); }
.honor-item img {
  width: 100%;
  object-fit: cover;
  display: block;
}

/* --- 9.5 领导致辞：浅灰底 + 巨型引号 --- */
.speech-quote {
  position: relative;
  max-width: 1190px;
  margin: 0 auto;
  padding: 30px 90px;
}

.speech-quote .q-mark {
  position: absolute;
  font-size: 200px;
  line-height: 1;
  height: 90px;
  font-family: Arial, Helvetica, sans-serif;
  color: #e3e5e9;
  user-select: none;
}
.speech-quote .q-mark.open  { left: 0; top: 0; }
.speech-quote .q-mark.close { right: 0; bottom: 0px; }

/* --- 9.6 车间展示：5 列图片墙（两行 10 图） --- */
.workshop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.workshop-item { margin: 0; overflow: hidden; border-radius: 10px; }
.workshop-item img {
  width: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s;
}
.workshop-item:hover img { transform: scale(1.06); }

/* =========================================================
   10. 产品类别列表页（product.html，参考 product.jpg）
   ========================================================= */
.prod-list-section { padding-top: 46px; }

/* --- 10.1 产品 2 列大卡网格 --- */
.prod-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
}

/* --- 10.2 分页：圆形数字按钮（对应设计稿圆点分页） --- */
.pagebar {
  display: flex;
  justify-content: center;
  margin-top: 44px;
}
.pagebar .page-link,.pagebar .page-num {
  min-width: 36px;
  padding: 5px 10px;
  margin: 0 2px;
  border: 1px solid #dfe3ea;
  border-radius: 999px; 
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  transition: all .2s;
}
.pagebar .page-link:hover { color: var(--c-primary); border-color: var(--c-primary); }
.pagebar .page-link.page-num-current,
.pagebar .page-num.page-num-current {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}

/* =========================================================
   10.3 产品详情页（product-info.html，scode=3 及子栏）
   布局：上方=左图右信息(标题+按钮)，下方=详情正文
   ========================================================= */
.product-detail-sec { background: #fff; }

/* 上半部分：左图 + 右信息 两栏 */
.pd-top {
  display: grid;
  grid-template-columns: 1fr 1fr;   /* 左图 / 右信息 各占一半 */
  gap: 50px;
  align-items: start;
  padding-bottom: 56px;
  margin-bottom: 56px;
  border-bottom: 1px solid #eef1f5;
}

/* 左：产品主图容器，保持矩形比例、居中裁切 */
.pd-gallery { width: 100%; }
.pd-main-pic {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;              /* 固定比例，避免不同图导致高度跳动 */
  border: 1px solid #ececec;
  border-radius: 10px;
  overflow: hidden;
  background: #f5f7fa;              /* 缺图时的占位底色 */
  display: flex;
  align-items: center;
  justify-content: center;
}
.pd-main-pic img {
  width: 100%;
  height: 100%;
  object-fit: contain;             /* 完整展示产品，不变形 */
}

/* 右：信息区 */
.pd-info { padding-top: 6px; }
.pd-cat {
  display: inline-block;
  font-size: 13px;
  color: var(--c-primary);
  background: #eef3fb;
  border-radius: 20px;
  padding: 5px 16px;
  margin-bottom: 18px;
}
.pd-title {
  font-size: clamp(20px, 2.2vw, 30px);   /* 产品详情标题：随屏宽 20~30px */
  font-weight: 700;
  color: #1f2a37;
  line-height: 1.35;
  margin: 0 0 14px;
}
.pd-sub {
  font-size: 16px;
  color: #6b7280;
  line-height: 1.8;
  margin: 0 0 30px;
}

/* 右侧按钮组 */
.pd-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 10px;
}
.pd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  padding: 13px 30px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: all .25s;
}
.pd-btn span { position: relative; }
/* 注意：选择器写成 .pd-btn.pd-btn-primary（优先级 0,2,0）以压过全局 a:visited（0,1,1），
   否则被访问过的链接文字会变回灰色，白色即失效 */
.pd-btn.pd-btn-primary { background: var(--c-primary); color: #fff; }      /* 在线咨询：实心蓝，文字白色 */
.pd-btn.pd-btn-primary:hover { background: var(--c-primary-dark); }
.pd-btn.pd-btn-ghost {                              /* 返回列表：描边 */
  background: #fff;
  color: var(--c-primary);
  border: 1px solid var(--c-primary);
}
.pd-btn.pd-btn-ghost:hover { background: var(--c-primary); color: #fff; }

/* 下半部分：详情正文 */
.pd-body { padding-top: 10px; }
.pd-body .sec-title { margin-bottom: 28px; }
.pd-content {
  font-size: 15px;
  line-height: 1.95;
  color: #34414f;
  overflow-wrap: break-word;
}
.pd-content p { margin: 0 0 16px; }
.pd-content img { max-width: 100%; height: auto; display: block; margin: 18px auto; border-radius: 6px; }

/* 产品详情响应式：窄屏左图右信息改为上下堆叠 */
@media (max-width: 900px) {
  .pd-top { grid-template-columns: 1fr; gap: 30px; padding-bottom: 36px; margin-bottom: 36px; }
  .pd-title { font-size: 24px; }
  .pd-sub { font-size: 15px; margin-bottom: 22px; }
}
@media (max-width: 480px) {
  .pd-btns { flex-direction: column; }
  .pd-btn { width: 100%; }
  .pd-title { font-size: 22px; }
}

/* =========================================================
   11. 技术实力页（tech.html，参考 技术实力.jpg）
   结构：左侧标题区（深蓝粗体标题 + 灰色副标题）+ 右侧表格/内容
   ========================================================= */

/* --- 11.1 左标题 + 右内容 分栏 --- */
.tech-row {
  display: flex;
  gap: 44px;
  align-items: flex-start;
  padding-bottom: 48px;
}
.tech-row:last-child { padding-bottom: 0; }
.tech-row-left { flex: 0 0 clamp(240px, 25%, 320px); }              /* 标题区固定宽，与参考图比例一致 */
.tech-row-right {
  flex: 1;
  min-width: 0;
  overflow-x: auto;                               /* 表格过宽时内部横向滚动，避免撑破页面 */
  -webkit-overflow-scrolling: touch;
}
/* --- 11.2 数据表格：深蓝圆角表头 + 隔行浅蓝 --- */
.tech-table {
  width: 100%;
  border-collapse: separate;                      /* separate 模式才能给表头做圆角 */
  border-spacing: 0;
  font-size: clamp(12px, 0.85vw, 16px);
  line-height: 1.5;
}
/* 单线边框：右+下边框，首列补左边框，表头行补上边框，避免 separate 双线 */
.tech-table th, .tech-table td {
  padding: 11px 12px;
  text-align: center;
  border-bottom: 1px solid #e8e8e8;
  word-break: break-word;                         /* 长内容（型号/设备名）换行而非撑宽表格 */
  overflow-wrap: anywhere;
}

.tech-table thead th {
  border-top: 1px solid #e8e8e8;
  background: var(--c-primary);                   /* 设计稿：品牌深蓝表头 #012d86 */
  color: #fff;
  font-weight: 600;
  padding: 13px 12px;
}

/* 隔行浅蓝（后台 alt 类 + CSS 奇偶双保险） */
.tech-table tbody tr:nth-child(odd) td{ background: #efefef; }
.tech-table tbody tr:nth-child(even) td,.tech-table tbody tr td.noz  { background: #fff; }

.quality-points {
  margin: 0 0 36px;  
}
.quality-points li{
  position: relative;
  padding-left: 15px;
}
.quality-points li::before {
  content: "•";
  display: inline-block;
  position: absolute;
  top: 0px;
  left: 0;
}
/* 设备小标题：深色粗体（参考图为简洁深色标题） */
.device-title {
  font-weight: 700;
  font-size: 20px;
  color: var(--c-primary);
  margin: 34px 0 18px;
}
/* 设备图文块：左图 + 右规格表 */
.device-block {
  display: flex;
  gap: 30px;
  align-items: center;
  margin-bottom: 8px;
}
.device-pic { flex: 0 0 42%; }
.device-pic img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  background: #f4f6f9;
}
/* 后台裸排在 <p> 里的设备图（ATOS 扫描仪）：p 内有几张就并排几张（一张则全宽），参考参考图版式 */
.tech-row-right p:has(img) { display: flex; gap: 12px; margin: 0 0 12px; }
.tech-row-right p:has(img) img {
  flex: 1;
  min-width: 0;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 6px;
  background: #f4f6f9;
}
/* 规格表：字段列 + 值列，白底细横线（参考图简洁样式） */
.spec-table {
  flex: 1;
  border-collapse: collapse;
  font-size: 13px;
}
.spec-table th, .spec-table td {
  border-bottom: 1px solid #e8ecf3;
  padding: 11px 16px;
  text-align: left;
}
.spec-table tr:last-child th, .spec-table tr:last-child td { border-bottom: none; }
.spec-table th {
  width: 150px;
  color: #333;
  font-weight: 600;
  white-space: nowrap;
}
.spec-table td { color: #555; }

/* =========================================================
   12. 内页响应式适配
   ========================================================= */

/* --- ≤1200px（与导航汉堡断点统一） --- */
@media (max-width: 1200px) {
  .honor-grid { grid-template-columns: repeat(3, 1fr); }
  .workshop-grid { grid-template-columns: repeat(4, 1fr); }
  .global-stats { grid-template-columns: repeat(3, 1fr); }
}

/* --- ≤1024px --- */
@media (max-width: 1024px) {
  .device-block { flex-direction: column; }
  .device-pic { flex: none; }
  .tech-row-left { flex: 0 0 220px; }    /* 技术页标题列收窄（须位于 .tech-row-left 定义之后，同优先级后者生效） */
  .inner-banner { height: 260px; }
}

/* --- ≤768px --- */
@media (max-width: 768px) {
  .inner-banner { height: 200px; }
  .inner-banner .ib-title { font-size: 26px; }
  .inner-tabs { top: 64px; }                     /* 头部移动端变矮后同步 */
  .inner-tabs .container { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; }
  .inner-tabs a { white-space: nowrap; padding: 7px 18px; }

  .prod-grid { grid-template-columns: 1fr; }
  .prod-grid-card .pg-pic { height: 220px; }

  .culture-cards { grid-template-columns: 1fr; }
  .honor-grid { grid-template-columns: repeat(2, 1fr); }
  .workshop-grid { grid-template-columns: repeat(3, 1fr); }
  .global-stats { grid-template-columns: repeat(2, 1fr); }
  .global-stats b { font-size: 30px; }

  .speech-quote { padding: 20px 40px; }
  .speech-quote .q-mark { font-size: 70px; }

  /* 技术实力页：窄屏标题与表格改上下堆叠，标题区取消固定宽 */
  .tech-row { flex-direction: column; gap: 18px; padding-bottom: 36px; }
  .tech-row-left { flex: none; }
  .tech-row-right { width: 100%; }
}

/* --- ≤480px --- */
@media (max-width: 480px) {
  .workshop-grid { grid-template-columns: repeat(2, 1fr); }
  .global-stats { grid-template-columns: 1fr 1fr; gap: 20px; }
  .device-pic.double { flex-direction: column; }
  .spec-table th { width: 96px; }
  .tech-table { font-size: 11px; }                 /* 设备表：手机端缩小字号，列更紧凑 */
  .tech-table th, .tech-table td { padding: 8px 6px; }
}

/* =========================================================
   资讯中心
   ========================================================= */

/* 资讯详情 */
.news-detail-section { background: #efefef; }
.news-detail { max-width: 900px; margin: 0 auto; background-color: #fff; border-radius: 10px; padding: 40px 35px; }
.news-detail-title { font-size: clamp(20px, 2.4vw, 28px); color: #1e5ed6; text-align: center; margin: 0 0 16px; line-height: 1.4; }
.news-meta {
  text-align: center; color: #9a9a9a; font-size: 13px;
  padding-bottom: 18px; margin-bottom: 26px; border-bottom: 1px solid #eef1f5;
}
.news-meta span { margin: 0 12px; }
.news-article { font-size: 15px; line-height: 1.9; color: #34414f; overflow-wrap: break-word; }
.news-article p { margin: 0 0 16px; }
.news-article img { max-width: 100%; height: auto; display: block; margin: 18px auto; border-radius: 6px; }
.news-back { text-align: center; margin-top: 40px; }
.news-back-btn {
  display: inline-block; padding: 10px 28px; border: 1px solid #1e5ed6; color: #1e5ed6;
  border-radius: 30px; font-size: 14px; transition: all .25s;
}
.news-back-btn:hover { background: #1e5ed6; color: #fff; }

/* 资讯列表响应式（统一用 minmax(0,1fr)，避免内容把轨道撑开导致横向溢出） */
@media (max-width: 1200px) { .news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px)  { .news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .news-detail-title { font-size: 22px; } }
@media (max-width: 480px)  { .news-grid { grid-template-columns: minmax(0, 1fr); } .news-card-pic { height: 200px; } }

/* =========================================================
   13. 联系方式页（contact.html，scode=24）
   ========================================================= */
.contact-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.c-card {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 10px;
  padding: 34px 24px;
  text-align: center;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.c-card:hover { transform: translateY(-4px); box-shadow: 0 12px 26px rgba(0,0,0,.08); border-color: var(--c-primary); }
.c-card .c-ico {
  width: 56px; height: 56px; margin: 0 auto 18px;
  border-radius: 50%;
  background: #eef3fb; color: var(--c-primary);
  display: flex; align-items: center; justify-content: center;
}
.c-card .c-ico .iconfont { font-size: 26px; }
.c-card h3 { font-size: 17px; color: #222; margin-bottom: 10px; }
.c-card p { font-size: 14px; line-height: 1.8; color: #666; }
.c-card p a { color: var(--c-primary); text-decoration: none; }
.c-card p a:hover { text-decoration: underline; }

/* 微信与来访（保留二维码与来访说明，已去掉百度地图） */
.contact-wechat-sec { background: #f5f7fa; }
.contact-wechat { max-width: 900px; margin: 0 auto; }
.contact-side { display: grid; grid-template-columns: 260px 1fr; gap: 24px; align-items: start; }
.qr-box { background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: 24px; text-align: center; }
.qr-box img { width: 160px; height: 160px; object-fit: contain; display: inline-block; background: #fafbfd; }
.qr-box span { display: block; margin-top: 12px; font-size: 14px; color: #555; }
.side-note { background: #fff; border: 1px solid #ececec; border-radius: 10px; padding: 24px; }
.side-note h3 { font-size: 16px; color: #222; margin-bottom: 12px; padding-left: 10px; border-left: 4px solid var(--c-primary); }
.side-note p { font-size: 14px; line-height: 1.9; color: #666; }
.side-note p b { color: var(--c-primary); }

/* 在线留言表单（联系页 + 加入页共用基础样式） */
.c-form { max-width: 760px; margin: 0 auto; }
.c-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.c-form .form-full { margin-bottom: 18px; }
.c-form .form-control,
.c-form textarea.form-control {
  width: 100%; padding: 13px 16px; font-size: 14px; color: #444;
  border: 1px solid #dfe3ea; border-radius: 8px; background: #fff; outline: none;
  transition: border-color .2s, box-shadow .2s; font-family: inherit; box-sizing: border-box;
}
.c-form .form-control:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px rgba(30,94,214,.12); }
.c-form textarea.form-control { min-height: 130px; resize: vertical; }
.c-form .form-code { display: flex; gap: 12px; align-items: stretch; }
.c-form .form-code .form-control { flex: 1; }
.c-form .form-code img { height: 46px; border-radius: 8px; cursor: pointer; border: 1px solid #dfe3ea; }
.c-form .btn-submit {
  display: inline-block; padding: 13px 40px; background: var(--c-primary); color: #fff;
  border: 0; border-radius: 8px; font-size: 15px; font-weight: 600; cursor: pointer; letter-spacing: 1px;
  transition: background .2s;
}
.c-form .btn-submit:hover { background: var(--c-primary-dark); }

/* =========================================================
   14. 招聘 / 应聘（合并联系页内，scode=25）
   ========================================================= */

/* 职位列表 */
.job-list-sec { background: #fff; }
.job-empty { text-align: center; color: #999; font-size: 15px; padding: 40px 0; }
.job-apply { background: #f5f7fa; }

/* --- 联系 / 加入页 响应式（断点与导航汉堡统一为 1200） --- */
@media (max-width: 1200px) {
  .contact-cards { grid-template-columns: repeat(2, 1fr); }
  .job-apply-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .c-form .form-row, .apply-form .form-row { grid-template-columns: 1fr; }
  .contact-side { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .contact-cards { grid-template-columns: 1fr; }
}

/* =========================================================
   14.1 招聘折叠列表（<details> 原生手风琴，详情同页展开）
   ========================================================= */
.job-acc-list { display: flex; flex-direction: column; gap: 14px; }
.job-acc {
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 10px;
  overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.job-acc[open] { border-color: var(--c-primary); box-shadow: 0 8px 24px rgba(30,94,214,.08); }

/* 折叠标题（summary）：去掉默认三角，整行可点 */
.job-acc-head {
  list-style: none;            /* 部分浏览器 */
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  transition: background .2s;
}
.job-acc-head::-webkit-details-marker { display: none; }  /* Chrome/Safari 默认三角 */
.job-acc-head:hover { background: #f6f9ff; }

.ja-left { min-width: 0; }
.ja-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--c-primary);
  line-height: 1.4;
}
.ja-tags {
  margin: 6px 0 0;
  font-size: 13px;
  color: #8a93a0;
  letter-spacing: .3px;
}

/* 右侧收起/展开指示（CSS 绘制箭头，无需 JS） */
.ja-toggle {
  position: relative;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
}
.ja-toggle::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 5px;
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--c-primary);
  border-bottom: 2px solid var(--c-primary);
  transform: rotate(45deg);
  transition: transform .3s ease;
}
.job-acc[open] .ja-toggle::before {
  top: 10px;
  transform: rotate(-135deg);
}

/* 折叠内容（职位详情正文） */
.job-acc-body {
  padding: 4px 24px 26px;
  border-top: 1px solid #eef1f5;
}
.job-acc-body h4 {
  margin: 20px 0 10px;
  font-size: 16px;
  font-weight: 700;
  color: #222;
}
.job-acc-body h4:first-child { margin-top: 18px; }
.job-acc-body ul {
  margin: 0 0 10px;
  padding-left: 22px;
}
.job-acc-body li {
  font-size: 14px;
  line-height: 1.95;
  color: #46535f;
  margin-bottom: 6px;
}

/* 招聘折叠：移动端适配 */
@media (max-width: 768px) {
  .job-acc-head { padding: 16px 18px; }
  .ja-title { font-size: 16px; }
  .job-acc-body { padding: 2px 18px 22px; }
  .job-acc-body li { font-size: 13px; line-height: 1.85; }
}

/* --- ≤500px：banner 按钮改为等宽居中（窄屏图会左右裁切，等宽对齐原按钮中线） --- */
@media (max-width: 500px) {
  .cap-btns {
    position: absolute; left: 0; right: 0; top: 72.8%;
    display: flex; justify-content: center; gap: 4px;
  }
  /* 第2张按钮更靠下、第3张靠左中部（纵向位置仍按各图设计稿） */
  .swiper-slide[data-swiper-slide-index="1"] .cap-btns { top: 75.6%; }
  .swiper-slide[data-swiper-slide-index="2"] .cap-btns { top: 53.9%; justify-content: flex-start; padding-left: 7.7%; }
  .btn-banner {
    position: static;
    width: clamp(120px, 24vw, 200px); min-width: 0;
    height: 40px; padding: 0;
    font-size: 13px; letter-spacing: .04em;
  }
}

/* =========================================================
   15. 搜索页（search.html）
   ========================================================= */

/* --- 15.1 Banner：沿用内页样式，加高并给上浮搜索卡留出空间 --- */
.search-banner {
  height: 340px;
  background: linear-gradient(135deg, #071c45 0%, #0e47a1 58%, #123a7d 100%);
}
/* 右上角柔光装饰，避免大面积纯色显空 */
.search-banner::after {
  content: '';
  position: absolute;
  right: -140px;
  top: -140px;
  width: 560px;
  height: 560px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,255,255,.12) 0%, rgba(255,255,255,0) 62%);
  pointer-events: none;
}
.search-banner .container { padding-bottom: 86px; }

/* --- 15.2 搜索区：白色搜索卡上浮，与 Banner 形成层次 --- */
.search-hero {
  position: relative;
  z-index: 2;
  margin-top: -58px;
  padding-bottom: 10px;
}
.search-hero-card {
  background: #fff;
  border: 1px solid #e8eef7;
  border-radius: 14px;
  padding: 22px 26px 16px;
  box-shadow: 0 18px 42px rgba(1, 45, 134, .12);
}
.search-form-lg {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 6px 6px 20px;
  border: 2px solid var(--c-primary);
  border-radius: 999px;
  background: #fff;
  transition: box-shadow .2s;
}
.search-form-lg:focus-within { box-shadow: 0 0 0 4px rgba(1, 45, 134, .10); }
.search-form-lg .sf-icon {
  display: flex;
  flex-shrink: 0;
  color: var(--c-primary);
  font-size: 22px;
}
.search-form-lg .sf-input {
  flex: 1;
  min-width: 0;
  padding: 10px 2px;
  border: 0;
  outline: 0;
  background: transparent;
  color: #222;
  font-size: 16px;
  font-family: inherit;
}
.search-form-lg .sf-input::placeholder { color: #a7b1c0; }
.search-form-lg .sf-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex-shrink: 0;
  padding: 11px 34px;
  border: 0;
  border-radius: 999px;
  background: var(--c-primary);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 2px;
  font-family: inherit;
  cursor: pointer;
  transition: background .2s;
}
.search-form-lg .sf-btn:hover { background: var(--c-primary-dark); }
.search-form-lg .sf-btn .iconfont { display: none; font-size: 18px; }

/* 热门搜索 */
.hot-words {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin-top: 12px;
  font-size: 13px;
  color: #8a93a0;
}
.hot-words a {
  color: #5b6b82;
  text-decoration: none;
  border-bottom: 1px dashed transparent;
  transition: color .2s, border-color .2s;
}
.hot-words a:hover { color: var(--c-primary); border-bottom-color: var(--c-primary); }

/* --- 15.3 结果分类筛选：灰底白色胶囊，激活为品牌蓝 --- */
.search-filters {
  background: #f5f7fa;
  border-bottom: 1px solid #e8eef7;
}
.search-filters .container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 26px;
  padding-bottom: 22px;
}
.search-filters .sf-tab {
  padding: 8px 22px;
  border: 1px solid #dfe6f0;
  border-radius: 999px;
  background: #fff;
  color: #40506a;
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
  transition: all .2s;
}
.search-filters .sf-tab:hover,
.search-filters .sf-tab.active {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}
.search-filters .sf-tab.active { font-weight: 600; }

/* --- 15.4 结果区 --- */
.search-results {
  background: #f5f7fa;
  padding: 22px 0 clamp(50px, 7vw, 90px);
}
.search-summary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 18px;
  margin-bottom: 24px;
  border-bottom: 1px solid #e3e9f2;
}
.search-summary .ss-text { font-size: 16px; color: #4a586d; overflow-wrap: anywhere; }
.search-summary .ss-text b {
  padding: 0 3px;
  color: var(--c-primary);
  font-size: 20px;
  font-weight: 700;
}
.search-summary .ss-text em { font-style: normal; font-weight: 600; color: var(--c-primary); }
.search-summary .ss-sort { flex-shrink: 0; font-size: 13px; color: #98a2b3; }

/* 结果条目：左图右文，整卡悬停反馈 */
.search-list { display: flex; flex-direction: column; gap: 18px; }
.search-item {
  display: grid;
  grid-template-columns: 218px minmax(0, 1fr);
  gap: 24px;
  padding: 20px;
  background: #fff;
  border: 1px solid #e8eef7;
  border-radius: 12px;
  transition: transform .2s, box-shadow .2s, border-color .2s;
}
.search-item:hover {
  transform: translateY(-3px);
  border-color: var(--c-primary);
  box-shadow: 0 16px 34px rgba(1, 45, 134, .09);
}
.si-pic {
  display: block;
  height: 156px;
  border: 1px solid #eef2f8;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}
.si-pic img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s;
}
.search-item:hover .si-pic img { transform: scale(1.04); }
/* 无缩略图：使用品牌 logo 占位，避免灰色破图 */
.si-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #f4f8fd 0%, #e9f0fa 100%);
}
.si-pic .si-ph img {
  width: auto;
  height: auto;
  max-width: 58%;
  max-height: 46px;
  object-fit: contain;
  opacity: .5;
}
.search-item:hover .si-pic .si-ph img { transform: none; }

.si-main { display: flex; flex-direction: column; min-width: 0; }
.si-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
  font-size: 13px;
  color: #98a2b3;
}
.si-cat {
  display: inline-block;
  max-width: 100%;
  padding: 2px 12px;
  border-radius: 999px;
  background: #eef3fd;
  color: var(--c-primary);
  font-size: 12px;
  line-height: 20px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.si-date { white-space: nowrap; }
.si-title {
  margin: 10px 0 8px;
  font-size: clamp(17px, 1.3vw, 20px);
  font-weight: 600;
  line-height: 1.5;
}
.si-title a { color: #1f2d3d; text-decoration: none; transition: color .2s; }
.si-title a:hover { color: var(--c-primary); }
.si-desc {
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.8;
  color: #6b7280;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: break-word;
}
/* 关键词高亮（服务端 mark=1 输出） */
.si-title mark,
.si-desc mark {
  padding: 0 1px;
  border-radius: 2px;
  background: rgba(248, 131, 52, .22);
  color: inherit;
}
.si-more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: auto;
  align-self: flex-start;
  font-size: 13px;
  color: var(--c-primary);
  text-decoration: none;
}
.si-arrow { transition: transform .2s; }
.search-item:hover .si-arrow { transform: translateX(4px); }

/* --- 15.5 空结果 / 未输入关键词 --- */
.search-blank {
  padding: clamp(40px, 6vw, 72px) 24px;
  border: 1px dashed #d5dfee;
  border-radius: 14px;
  background: #fff;
  text-align: center;
}
.search-blank .sb-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 78px;
  height: 78px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: #eef3fd;
  color: var(--c-primary);
}
.search-blank .sb-ico .iconfont { font-size: 36px; }
.search-blank h3 {
  margin-bottom: 10px;
  font-size: clamp(18px, 1.6vw, 22px);
  font-weight: 600;
  color: #1f2d3d;
  overflow-wrap: anywhere;
}
.search-blank h3 em { font-style: normal; color: var(--c-primary); }
.search-blank p { font-size: 14px; line-height: 1.9; color: #7b8798; }
.search-blank .sb-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}
.search-blank .sb-tags a {
  padding: 7px 18px;
  border: 1px solid #dfe6f0;
  border-radius: 999px;
  background: #fff;
  color: #54657d;
  font-size: 14px;
  text-decoration: none;
  transition: all .2s;
}
.search-blank .sb-tags a:hover {
  background: var(--c-primary);
  border-color: var(--c-primary);
  color: #fff;
}
.search-blank .sb-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 26px;
}
.search-blank .sb-actions .sb-btn {
  padding: 10px 28px;
  border-radius: 999px;
  font-size: 14px;
  text-decoration: none;
  transition: all .2s;
}
.search-blank .sb-actions .sb-btn-primary { background: var(--c-primary); color: #fff; }
.search-blank .sb-actions .sb-btn-primary:hover { background: var(--c-primary-dark); }
.search-blank .sb-actions .sb-btn-ghost { border: 1px solid #cfd9e8; color: #40506a; }
.search-blank .sb-actions .sb-btn-ghost:hover { border-color: var(--c-primary); color: var(--c-primary); }

/* 未输入关键词时的栏目入口 */
.search-intro .intro-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  max-width: 1120px;
  margin: 34px auto 0;
  text-align: left;
}
.intro-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 20px 22px;
  border: 1px solid #e4ebf5;
  border-radius: 10px;
  background: #fbfcfe;
  text-decoration: none;
  transition: all .2s;
}
.intro-card:hover {
  border-color: var(--c-primary);
  background: #fff;
  box-shadow: 0 12px 26px rgba(1, 45, 134, .08);
}
.intro-card .ic-name { font-size: 16px; font-weight: 600; color: #1f2d3d; }
.intro-card .ic-desc { font-size: 13px; line-height: 1.6; color: #8894a6; }
.intro-card .ic-arrow {
  position: absolute;
  right: 18px;
  top: 18px;
  color: #b7c2d2;
  font-size: 16px;
  transition: transform .2s, color .2s;
}
.intro-card:hover .ic-arrow { color: var(--c-primary); transform: translateX(3px); }

/* --- 15.6 分页：沿用圆形数字按钮，状态文字单独成行 --- */
.pagebar.search-pagebar { display: block; margin-top: 34px; }
.search-pagebar .sp-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.search-pagebar .sp-status { font-size: 13px; color: #8a93a0; }
.search-pagebar .sp-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
}
/* 首/尾页时 CMS 输出的无效链接置灰，避免误以为可点 */
.search-pagebar .page-link[href="javascript:;"] {
  opacity: .45;
  cursor: default;
  pointer-events: none;
}

/* --- 15.7 搜索页响应式 --- */
@media (max-width: 1200px) {
  .search-banner { height: 320px; }
}
@media (max-width: 1024px) {
  .search-banner { height: 290px; }
  .search-intro .intro-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 720px;
  }
}
@media (max-width: 768px) {
  .search-banner { height: 240px; }
  .search-banner .container { padding-bottom: 72px; }
  .search-hero { margin-top: -48px; }
  .search-hero-card { padding: 16px 16px 12px; border-radius: 12px; }
  .search-form-lg { padding: 5px 5px 5px 14px; gap: 6px; }
  .search-form-lg .sf-icon { font-size: 19px; }
  .search-form-lg .sf-input { padding: 9px 2px; font-size: 15px; }
  .search-form-lg .sf-btn { padding: 10px 16px; letter-spacing: 0; }
  .search-form-lg .sf-btn span { display: none; }
  .search-form-lg .sf-btn .iconfont { display: inline-block; }
  .hot-words { margin-top: 10px; font-size: 12px; gap: 4px 12px; }

  .search-filters .container {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-top: 18px;
    padding-bottom: 16px;
    scrollbar-width: none;
  }
  .search-filters .container::-webkit-scrollbar { display: none; }
  .search-filters .sf-tab { padding: 7px 18px; font-size: 14px; }

  .search-results { padding-top: 18px; }
  .search-summary {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 0 0 14px;
    margin-bottom: 18px;
  }
  .search-summary .ss-text { font-size: 14px; }
  .search-summary .ss-text b { font-size: 18px; }
  .search-item { grid-template-columns: 130px minmax(0, 1fr); gap: 14px; padding: 14px; }
  .si-pic { height: 108px; }
  .si-title { margin: 7px 0 6px; font-size: 16px; }
  .si-desc { font-size: 13px; line-height: 1.7; -webkit-line-clamp: 3; }
  .search-intro .intro-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 26px; }
  .search-blank { padding: 36px 18px; }
}
@media (max-width: 480px) {
  .search-banner { height: 200px; }
  .search-banner .container { padding-bottom: 62px; }
  .search-banner .ib-title { font-size: 24px; }
  .search-hero { margin-top: -42px; }
  .search-item { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .si-pic { height: 84px; }
  .si-desc { -webkit-line-clamp: 2; }
  .si-more { font-size: 12px; }
  .si-cat { padding: 1px 9px; font-size: 11px; }
}
