/* ============================================================
   Zimrinova 官网 — 本地预览草稿样式
   加载顺序：bootstrap.min.css → menu.css → 主题 style.css → 本文件
   本文件职责：① 品牌配色覆盖 ② 双语切换显示控制 ③ 新增版块样式 ④ 全站字体（自托管 Source Sans 3）
   ============================================================ */

/* ============================================================
   自托管字体：Source Sans 3（Adobe 出品，SIL OFL 1.1，可商用、可自托管）
   ------------------------------------------------------------
   字体文件由 `3. website/_make_fonts.py` 生成，勿手工替换：
   从完整可变字体切出拉丁子集，**一个文件覆盖 wght 200–900 全部字重**。
   子集范围额外含箭头 ← → ↑ ↓ —— 站点正文在用，而现成的 latin 子集都不含。
   授权声明随包发布：assets/fonts/OFL.txt
   ------------------------------------------------------------
   为什么不用 Verdana / Adobe Clean：Verdana 的 EULA 明文禁止网页嵌入，
   Adobe Clean 不对外授权。两者都只能「写字体名」，不能上传文件。
   ============================================================ */

@font-face {
  font-family: "Source Sans 3";
  font-style: normal;
  font-weight: 200 900;          /* 可变字重：一处声明覆盖全部字重 */
  font-display: swap;            /* 字体未就绪时先显示后备字体，避免空白文字 */
  src: url("fonts/source-sans-3-latin-var-normal.woff2?v=2feb8b2b") format("woff2");
  unicode-range: U+0000-00FF, U+0100-017F, U+02B0-02FF, U+0300-030F,
                 U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-21FF,
                 U+2200-22FF, U+25A0-25FF;
}

@font-face {
  font-family: "Source Sans 3";
  font-style: italic;            /* 真斜体（独立字形文件），非浏览器合成 */
  font-weight: 200 900;
  font-display: swap;
  src: url("fonts/source-sans-3-latin-var-italic.woff2?v=0855ec4f") format("woff2");
  unicode-range: U+0000-00FF, U+0100-017F, U+02B0-02FF, U+0300-030F,
                 U+2000-206F, U+20A0-20CF, U+2100-214F, U+2190-21FF,
                 U+2200-22FF, U+25A0-25FF;
}

:root {
  --brand-navy: #1D4E89;
  --brand-navy-dark: #143A68;
  --brand-navy-deep: #0F2440;
  --brand-red: #C8102E;
  --brand-red-dark: #A00D25;
  --brand-tint: #F4F7FB;
  --brand-line: #DCE5F0;

  /* 拉丁字体栈：首位是自托管的 Source Sans 3（OFL 1.1，可商用）。
     其后为各平台系统字体，仅在字体文件加载失败时兜底 —— 注意这不是
     「引用本机 Verdana」那种做法，Verdana / Adobe Clean 均不可自托管。
     末尾的中文字体显式指定港台字形（PingFang TC / 微軟正黑體），
     中文字符不在上面的子集内，会直接落到这两个字体。 */
  --font-latin: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI",
                Roboto, "Helvetica Neue", Arial, "PingFang TC", "Microsoft JhengHei",
                "Noto Sans TC", sans-serif;

  /* Bootstrap 5 的字体变量：全站第三方组件（按钮、表单、导航、下拉、
     分页、表格、提示框…）的字体都经由这几个变量取值。
     本文件最后加载，同权重覆盖 bootstrap 的 :root 定义。 */
  --bs-font-sans-serif: var(--font-latin);
  --bs-body-font-family: var(--font-latin);
  --bs-btn-font-family: var(--font-latin);
}

/* ---------- 字体：全站统一走 Source Sans 3 ---------- */

/* ① 根元素 —— 覆盖主题 style.css 第 36 / 43 行的 `font-family: sans-serif`
   （本文件后加载，同权重后者胜） */
html,
body {
  font-family: var(--font-latin);
}

/* ② 主题用类选择器硬编码字体的位置（权重比 ① 高，须单独覆盖）：
      .hero-banner / .chemical-about-section → style.css:966 / 1027
      .widget-area                           → style.css:343（'Inter'）
   其中 .widget-area 静态页未使用，一并覆盖以防主题将来启用侧栏。
   注意 .dashicons 是图标字体，不在覆盖范围内。 */
.hero-banner,
.chemical-about-section,
.widget-area {
  font-family: var(--font-latin);
}

/* ③ 兜底：任何元素只要被主题、Bootstrap 或后续新增组件设过别的字体，一律拉回。
   权重 (0,1,1) 高于主题的类选择器 (0,1,0)，因此无需 !important。
   排除等宽元素（代码块应保持等宽）与 dashicons 图标字体（换字体会变成方块）。 */
body,
body *:not(code):not(pre):not(kbd):not(samp):not(.dashicons):not(.dashicons-before) {
  font-family: var(--font-latin);
}

/* ---------- 双语切换：默认英文 ---------- */
body[data-lang="en"] [data-lang="zh"] { display: none !important; }
body[data-lang="zh"] [data-lang="en"] { display: none !important; }

/* ---------- 品牌配色覆盖 ---------- */
/* 页面最下方的联系信息条（原顶部信息条下移） */
.site-contact-bar {
  background-color: var(--brand-navy);
  border-top: 2px solid var(--brand-red);
  padding: 15px 20px;
}
.site-contact-bar .container {
  display: flex;
  justify-content: center;
}
.site-contact-bar .contact-bar-text {
  color: #D8E4F2;
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
}
.site-contact-bar .contact-bar-text a {
  color: #ffffff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}
.site-contact-bar .contact-bar-text a:hover {
  border-bottom-color: var(--brand-red);
}

.hero-banner.hero-photo-bg {
  background-image: url("banner.jpg");
  background-size: cover;
  /* 图宽高比 1.78 < hero 框 2.31，横向永远恰好铺满，纵向才是裁切方向。
     锚在 30% 高度：宽屏下保住瓶盖与瓶身，牺牲的画面底部是 PCB 背景，损失最小 */
  background-position: center 30%;
  background-repeat: no-repeat;
  background-color: #0B1D33;
  padding: 92px 0 112px;
}
/* 文字遮罩：左侧压暗保证标题可读，右侧渐隐让实拍图透出来 */
.hero-overlay {
  background: linear-gradient(to right,
              rgba(11, 29, 51, 0.92) 0%,
              rgba(11, 29, 51, 0.78) 34%,
              rgba(13, 34, 59, 0.46) 62%,
              rgba(13, 34, 59, 0.00) 100%);
  max-width: 78%;
}
.hero-content .tagline {
  color: #FFC9D1;
  font-size: 14px;
  font-weight: 500;
}
.hero-content h1 { font-size: 42px; font-weight: 500; }
.hero-content p { font-size: 17px; font-weight: 400; }

.btn-cta {
  background-color: var(--brand-red);
  box-shadow: 0 5px 15px rgba(200, 16, 46, 0.35);
  font-weight: 500;
}
.btn-cta:hover {
  background-color: var(--brand-red-dark);
  box-shadow: 0 8px 18px rgba(200, 16, 46, 0.5);
}

.experience-badge {
  background-color: var(--brand-red);
  box-shadow: 0 5px 15px rgba(200, 16, 46, 0.3);
  font-size: 16px;
  font-weight: 500;
}
.about-content h2 { color: var(--brand-navy); font-weight: 500; }
.about-features li::before { color: var(--brand-navy); }

/* About 正文 + 3 条要点（沿用品牌色小圆点，纵向悬挂缩排） */
.about-points {
  list-style: none;
  padding-left: 0;
  margin: -6px 0 0;
}
.about-points li {
  position: relative;
  padding-left: 22px;
  margin-bottom: 11px;
  font-size: 15.5px;
  line-height: 1.75;
  color: #555;
}
.about-points li::before {
  content: "";
  position: absolute;
  left: 2px;
  top: 10px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand-red);
}
.about-points li .about-point-label {
  color: var(--brand-navy);
  font-weight: 600;
  margin-right: 7px;
}

.about-placeholder-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 10px;
  background: repeating-linear-gradient(45deg, #EEF3F9, #EEF3F9 14px, #E2EAF4 14px, #E2EAF4 28px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #8CA3BF;
  font-size: 14px;
  text-align: center;
  padding: 20px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}
/* About 实拍图：与占位块同尺寸同圆角，保证替换前后版面一致 */
.about-image img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

.chemical-services-section { background-color: var(--brand-tint); }
.service-icon { color: var(--brand-navy); }
.service-icon svg { width: 46px; height: 46px; display: block; margin: 0 auto; }
.service-box h3 { font-size: 19px; font-weight: 500; color: var(--brand-navy); }

/* 5 条产品线：flex 布局，末行自动居中 */
.services-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 28px;
  max-width: 1200px;
  margin: 0 auto;
}
.service-box {
  flex: 0 1 340px;
  padding: 30px 24px;
}

/* 首页产品卡：有独立详情页的产品线（目前是 BVPE 樹脂），整张卡片可点。
   stretched link —— 标题里放 <a>，其 ::after 铺满整卡作为透明热区，
   点卡片任意位置都能进详情页；底部另给一处可见入口，方便触屏用户识别。 */
.service-box-detail { position: relative; }
.service-box-detail .service-box-link { color: inherit; text-decoration: none; }
.service-box-detail .service-box-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}
.service-box-detail .service-more {
  display: inline-block;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--brand-navy);
  border-bottom: 1px solid var(--brand-red);
  padding-bottom: 2px;
}
.service-box-detail:hover { box-shadow: 0 16px 34px rgba(0, 0, 0, 0.11); }
.service-box-detail:hover .service-box-link,
.service-box-detail:hover .service-more { color: var(--brand-red); }
/* 键盘焦点落在整卡热区时给个可见轮廓（鼠标点击不显示） */
.service-box-detail .service-box-link:focus-visible { outline: none; }
.service-box-detail:has(.service-box-link:focus-visible) {
  outline: 2px solid var(--brand-red);
  outline-offset: 3px;
}

.chemical-blog-section { background-color: #ffffff; }
.section-title { color: var(--brand-navy); font-weight: 500; font-size: 32px; }
.section-title::after { background-color: var(--brand-red); }

.section-header-sm { max-width: 720px; margin: 0 auto 48px; text-align: center; }
.section-header-sm h2 { font-size: 32px; font-weight: 500; color: var(--brand-navy); }
.section-header-sm p { font-size: 16px; color: #667; margin-top: 12px; }

/* ---------- 语言切换（现位于白色页头，改用深色描边） ---------- */
.lang-switch { display: flex; align-items: center; gap: 4px; flex-shrink: 0; }
.lang-switch button {
  background: transparent;
  border: 1px solid var(--brand-line);
  color: #5A6B80;
  font-size: 12px;
  padding: 4px 11px;
  border-radius: 4px;
  cursor: pointer;
  line-height: 1.5;
  font-family: inherit;
}
.lang-switch button:hover { border-color: var(--brand-navy); color: var(--brand-navy); }
.lang-switch button.is-active {
  background: var(--brand-red);
  border-color: var(--brand-red);
  color: #ffffff;
}

/* ---------- 头部 / 导航 ---------- */
.site-header-row {
  padding: 18px 24px 22px;
  background: #fff;
  border-bottom: 1px solid var(--brand-line);
}
.display_only { padding: 0; }
.site-logo img { max-height: 96px; width: auto; display: block; margin: 0 auto; }
.site-tagline {
  font-size: 12.5px;
  color: #5A6B80;
  margin: 8px auto 0;
  line-height: 1.5;
  max-width: 280px;
  letter-spacing: 0.2px;
}
/* 页头右侧：语言切换 + 询盘按钮 */
.header-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  flex-wrap: wrap;
}
.header-actions .btn-cta {
  white-space: nowrap;
  padding: 12px 22px;
  font-size: 15px;
}

/* 导航 4 项：加大项间距，使导航条视觉上铺满中段 */
.main-navigation ul.nav-menu { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.main-navigation ul.nav-menu li { list-style: none; }
.main-navigation ul.nav-menu li a {
  display: block;
  padding: 8px 16px;
  font-size: 15px;
  color: #24313F;
  text-decoration: none;
  border-radius: 4px;
}
.main-navigation ul.nav-menu li a:hover,
.main-navigation ul.nav-menu li.current a { color: var(--brand-navy); background: var(--brand-tint); }
.main-navigation .toggle-button { display: none; }

@media (max-width: 991px) {
  .main-navigation .toggle-button {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
    background: transparent;
    border: 0;
    padding: 8px;
    cursor: pointer;
  }
  .main-navigation .toggle-button .toggle-bar {
    width: 24px;
    height: 2px;
    background: var(--brand-navy);
    display: block;
  }
  .main-navigation .primary-menu-list { display: none; }
  body.nav-open .main-navigation .primary-menu-list { display: block; padding: 10px 0; }
  .main-navigation ul.nav-menu { flex-direction: column; }
  body.nav-open #Main-head-class { margin-bottom: 8px; }

  /* 窄屏改用移动端裁切图（960×1079），让样品瓶阵列保持居中可见 */
  .hero-banner.hero-photo-bg {
    background-image: url("banner-mobile.jpg");
    background-position: center 35%;
  }
  /* 窄屏文字铺满整宽，遮罩改为垂直压暗，避免右侧文字压在亮部 */
  .hero-overlay {
    max-width: 100%;
    background: linear-gradient(to bottom,
                rgba(11, 29, 51, 0.88) 0%,
                rgba(11, 29, 51, 0.80) 46%,
                rgba(11, 29, 51, 0.44) 100%);
  }
}

/* 移动端：汉堡按钮移到页面右上角，不再孤零零排在 Logo 下方 */
@media (max-width: 767px) {
  .site-header-row { position: relative; }
  .main-navigation { position: static; }
  .main-navigation .toggle-button { position: absolute; top: 14px; right: 14px; }
}
@media (min-width: 992px) {
  .main-navigation .primary-menu-list { display: block; }
  .main-navigation .close-main-nav-toggle { display: none; }
}
.close-main-nav-toggle { display: none; }

/* ---------- 内页 ---------- */
.page-hero {
  background: linear-gradient(135deg, var(--brand-navy-deep) 0%, var(--brand-navy) 100%);
  color: #fff;
  padding: 60px 20px;
  text-align: center;
}
.page-hero h1 { font-size: 36px; font-weight: 500; color: #fff; margin: 0; }
.page-hero p { color: #C6D6EA; font-size: 16px; margin: 14px 0 0; }

.page-body { padding: 60px 20px; background: #fff; }
.page-body .container { max-width: 1100px; }

.draft-note {
  background: #FFF7E8;
  border: 1px solid #F0D9A8;
  border-left: 4px solid #BA7517;
  color: #6B4108;
  padding: 14px 18px;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.7;
  margin: 0 auto 40px;
  max-width: 1100px;
}
.draft-note strong { font-weight: 500; }

/* 产品详情 */
.product-block {
  border: 1px solid var(--brand-line);
  border-radius: 12px;
  padding: 32px;
  margin-bottom: 28px;
  background: #fff;
}
.product-block h2 {
  font-size: 24px;
  font-weight: 500;
  color: var(--brand-navy);
  margin: 0 0 6px;
}
.product-block .product-name-en {
  font-size: 14px;
  color: #7A8CA0;
  margin: 0 0 18px;
  letter-spacing: 0.3px;
}
.product-block p { font-size: 16px; line-height: 1.85; color: #3C4A58; margin: 0 0 18px; }
.product-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.product-tags span {
  background: var(--brand-tint);
  color: var(--brand-navy);
  border: 1px solid var(--brand-line);
  font-size: 13px;
  padding: 4px 12px;
  border-radius: 20px;
}

/* 产品块底部：进入单产品详情页的入口 */
.product-more { margin: 18px 0 0 !important; }
.product-more-link {
  display: inline-block;
  color: var(--brand-navy);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid var(--brand-red);
  padding-bottom: 2px;
}
.product-more-link:hover { color: var(--brand-red); }

/* ============================================================
   单产品详情页（BVPE 等）
   ============================================================ */

.detail-back { margin: 0 0 26px; font-size: 14px; }
.detail-back a {
  color: var(--brand-navy);
  text-decoration: none;
  border-bottom: 1px solid var(--brand-line);
  padding-bottom: 1px;
}
.detail-back a:hover { color: var(--brand-red); border-bottom-color: var(--brand-red); }

/* 产品标识规格卡：两列，最后一格跨通栏并收掉外框线 */
.spec-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid var(--brand-line);
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
  margin: 0 0 48px;
}
.spec-item {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 16px 22px;
  border-bottom: 1px solid var(--brand-line);
  border-right: 1px solid var(--brand-line);
  min-width: 0;
}
.spec-item:nth-child(2n) { border-right: none; }
.spec-item:last-child { border-bottom: none; }
/* 只有最后一格落在左列（奇数格）时才跨通栏；格子数为偶数时正好两两成行，
   若强行跨栏，右侧会留下一个没有边框的空洞。 */
.spec-item:last-child:nth-child(odd) {
  grid-column: 1 / -1;
  border-right: none;
}
.spec-label {
  font-size: 12px;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #7A8CA0;
}
.spec-value { font-size: 15px; line-height: 1.6; color: #22303E; }
.spec-value sub { font-size: 11px; }

/* 详情页版块标题（左侧红色短线） */
.detail-section { margin-bottom: 52px; }
.detail-section > h2 {
  font-size: 22px;
  font-weight: 500;
  color: var(--brand-navy);
  margin: 0 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--brand-line);
  position: relative;
}
.detail-section > h2::after {
  content: "";
  position: absolute;
  left: 0; bottom: -2px;
  width: 56px; height: 2px;
  background: var(--brand-red);
}
.detail-section > p {
  font-size: 16px;
  line-height: 1.9;
  color: #3C4A58;
  margin: 0 0 16px;
}

/* 分子结构式配图：细边框卡片，线稿居中，图注小字号左对齐 */
.mol-figure {
  margin: 0;
  padding: 26px 30px 22px;
  border: 1px solid var(--brand-line);
  border-radius: 12px;
  background: #fff;
}
.mol-figure img {
  display: block;
  width: 100%;
  max-width: 760px;
  height: auto;
  margin: 0 auto;
}
.mol-figure figcaption {
  max-width: 760px;
  margin: 16px auto 0;
  padding-top: 14px;
  border-top: 1px solid var(--brand-line);
  font-size: 13px;
  line-height: 1.8;
  color: #6B7A8A;
}
.mol-figure figcaption sub { font-size: 11px; }

/* BVPE 首屏双栏：左＝分子結構式，右＝產品規格表，各占半幅。
   窄屏（≤991px）自动改为上下堆叠 —— 结构式在上、规格表在下 */
.bvpe-intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px;
  align-items: start;
  margin-bottom: 52px;
}
/* 网格项默认 min-width:auto，长英文串会把列撑破，显式收零 */
.bvpe-intro > .detail-section { min-width: 0; margin-bottom: 0; }
/* 半幅宽度下两栏内的卡片各自收掉底部外边距，由父容器统一控制间距 */
.bvpe-intro .spec-grid { margin: 0; }
/* 每格变窄后收紧内边距，把宽度让给数值文本 */
.bvpe-intro .spec-item { padding: 15px 18px; }

@media (max-width: 991px) {
  .bvpe-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }
}

/* 核心优势卡 */
.advantage-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.advantage-card {
  border: 1px solid var(--brand-line);
  border-radius: 12px;
  background: var(--brand-tint);
  padding: 22px 24px;
}
.advantage-card h3 {
  font-size: 17px;
  font-weight: 500;
  color: var(--brand-navy);
  margin: 0 0 10px;
}
.advantage-card p { font-size: 15px; line-height: 1.8; color: #3C4A58; margin: 0; }

/* 参数表：宽表可横向滚动，不撑破版面 */
.data-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--brand-line);
  border-radius: 12px;
}
.data-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.data-table th,
.data-table td {
  padding: 11px 14px;
  font-size: 14px;
  text-align: left;
  border-bottom: 1px solid var(--brand-line);
  color: #3C4A58;
  white-space: nowrap;
}
.data-table th {
  background: var(--brand-navy);
  color: #fff;
  font-weight: 500;
  font-size: 13px;
}
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table tbody tr:nth-child(even) { background: var(--brand-tint); }
.data-table td:first-child { white-space: normal; min-width: 240px; }

.data-note { font-size: 13px; line-height: 1.8; color: #6B7A8A; margin: 14px 0 0; }

/* 配方路线卡（左侧深蓝粗边） */
.route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.route-card {
  border: 1px solid var(--brand-line);
  border-left: 4px solid var(--brand-navy);
  border-radius: 10px;
  padding: 22px 24px;
  background: #fff;
}
.route-card h3 { font-size: 16px; font-weight: 500; color: var(--brand-navy); margin: 0 0 10px; }
.route-card p { font-size: 15px; line-height: 1.8; color: #3C4A58; margin: 0; }

/* 要点列表（红色圆点 + 深蓝粗体标签） */
.note-list { list-style: none; margin: 0; padding: 0; }
.note-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 18px;
  font-size: 15px;
  line-height: 1.85;
  color: #3C4A58;
}
.note-list li::before {
  content: "";
  position: absolute;
  left: 0; top: 10px;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--brand-red);
}
.note-list li strong {
  display: block;
  font-weight: 500;
  color: var(--brand-navy);
  margin-bottom: 3px;
}

/* 资料来源：小字号，置于文末 */
.source-note {
  margin-top: 56px;
  padding-top: 22px;
  border-top: 1px solid var(--brand-line);
}
.source-note h3 {
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  color: #7A8CA0;
  margin: 0 0 12px;
}
.source-note ol { margin: 0; padding-left: 20px; }
.source-note li { font-size: 12px; line-height: 1.75; color: #8A97A6; margin-bottom: 8px; }
.source-note em { font-style: italic; }

/* 页尾行动区 */
.detail-cta {
  margin-top: 40px;
  padding: 30px 24px;
  background: var(--brand-tint);
  border: 1px solid var(--brand-line);
  border-radius: 12px;
  text-align: center;
}
.detail-cta p { font-size: 16px; color: #3C4A58; margin: 0 0 16px; }
.detail-cta .btn-cta { display: inline-block; }

@media (max-width: 767px) {
  .spec-grid { grid-template-columns: 1fr; }
  .spec-item { border-right: none; }
  .mol-figure { padding: 18px 16px 16px; }
  .advantage-grid,
  .route-grid { grid-template-columns: 1fr; }
  .detail-section { margin-bottom: 40px; }
  .detail-section > h2 { font-size: 19px; }
}

/* 关于我们占位 */
.placeholder-box {
  background: #FAFBFD;
  border: 1px dashed var(--brand-line);
  border-radius: 12px;
  padding: 32px;
  color: #93A4B8;
  line-height: 2;
  font-size: 15px;
}
.placeholder-box p { color: #93A4B8; margin-bottom: 16px; }

/* 新闻列表 */
.news-list { display: grid; gap: 24px; }
.news-item {
  border: 1px solid var(--brand-line);
  border-radius: 12px;
  padding: 26px 30px;
  background: #fff;
}
.news-item .news-date { font-size: 13px; color: #8998AB; }
.news-item h3 { font-size: 20px; font-weight: 500; margin: 8px 0 10px; color: #1B2937; }
.news-item h3 a { color: inherit; text-decoration: none; }
.news-item p { font-size: 15px; color: #5A6B80; line-height: 1.8; margin: 0; }

/* 新闻版块空态（示例撰文暂不发布时使用） */
.news-empty {
  border: 1px dashed var(--brand-line);
  border-radius: 12px;
  padding: 48px 30px;
  text-align: center;
  background: #FAFBFD;
}
.news-empty p { margin: 0; font-size: 15.5px; color: #7A8CA0; line-height: 1.8; }

/* ---------- 法务页面（私隐政策 / 服务条款 / Cookie / 免责声明） ---------- */
.legal-content { max-width: 900px; margin: 0 auto; }
.legal-meta {
  font-size: 13.5px;
  color: #8998AB;
  margin: 0 0 34px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--brand-line);
}
.legal-content h2 {
  font-size: 20px;
  font-weight: 600;
  color: var(--brand-navy);
  margin: 34px 0 12px;
}
.legal-content p { font-size: 15.5px; line-height: 1.85; color: #3C4A58; margin: 0 0 14px; }
.legal-content ul { margin: 0 0 16px; padding-left: 22px; }
.legal-content li { font-size: 15.5px; line-height: 1.85; color: #3C4A58; margin-bottom: 7px; }
.legal-content a { color: var(--brand-navy); }

/* 联系我们 / 索取报价 */
.contact-grid { display: flex; flex-wrap: wrap; gap: 48px; align-items: flex-start; }
.contact-info { flex: 1 1 300px; max-width: 420px; }
.contact-form-wrap { flex: 2 1 520px; }
.contact-info-title {
  font-size: 18px;
  font-weight: 500;
  color: var(--brand-navy);
  margin: 0 0 2px;
}
.contact-info dl { margin: 0; }
.contact-info dt { font-size: 13px; color: #8998AB; margin-top: 22px; letter-spacing: 0.5px; }
.contact-info dd { font-size: 16px; color: #24313F; margin: 4px 0 0; line-height: 1.7; }
.contact-info dd a { color: var(--brand-navy); text-decoration: none; }
.contact-info dd a:hover { text-decoration: underline; }
.contact-info-note { font-size: 13.5px; color: #8998AB; margin: 26px 0 0; line-height: 1.7; }

/* 报价表单 */
.quote-form {
  background: #FAFBFD;
  border: 1px solid var(--brand-line);
  border-radius: 12px;
  padding: 30px 32px 26px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
}
/* 落单的最后一个字段占满整行 */
.form-grid .form-row:last-child:nth-child(odd) { grid-column: 1 / -1; }
.form-row { margin-bottom: 18px; }
.mock-form label { display: block; font-size: 14px; color: #3C4A58; margin-bottom: 6px; }
.mock-form .req { color: var(--brand-red); }
.mock-form input,
.mock-form select,
.mock-form textarea {
  width: 100%;
  border: 1px solid var(--brand-line);
  border-radius: 6px;
  padding: 11px 12px;
  font-size: 15px;
  font-family: inherit;
  line-height: 1.4;
  color: #24313F;
  background: #fff;
}
.mock-form input:focus,
.mock-form select:focus,
.mock-form textarea:focus {
  outline: none;
  border-color: var(--brand-navy);
  box-shadow: 0 0 0 3px rgba(29, 78, 137, 0.12);
}
.mock-form input::placeholder,
.mock-form textarea::placeholder { color: #A9B6C4; }
.mock-form textarea { min-height: 120px; resize: vertical; }

/* 蜜罐字段：正常访客看不见，用于挡机器人提交（部署包 quote.php 会校验）。
   用标准的视觉隐藏写法，不产生任何横向溢出。 */
.hp-field {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.form-note { font-size: 13px; color: #8998AB; margin: 14px 0 0; line-height: 1.7; }

/* ---------- 页脚 ---------- */
.modern-footer-cta-inner {
  background: linear-gradient(120deg, var(--brand-navy-dark) 0%, var(--brand-navy) 100%);
  box-shadow: 0 25px 60px rgba(15, 36, 64, 0.28);
}
.modern-footer-cta .modern-footer-kicker { color: #FFC9D1; font-weight: 500; letter-spacing: 2px; }
.modern-footer-cta h2 { font-weight: 500 !important; }
.modern-footer-cta p { font-weight: 400 !important; }
.modern-footer-main { background: #16283C; }
.modern-footer-logo img { max-height: 100px; max-width: 200px; }
.modern-footer-column h4.widget-title {
  color: #ffffff;
  font-size: 15px;
  font-weight: 500;
  margin-bottom: 16px;
}
.modern-footer-column ul { list-style: none; padding: 0; margin: 0; }
.modern-footer-column ul li { margin-bottom: 10px; }
.modern-footer-column ul li a,
.modern-footer-column p { color: #A9BACD; font-size: 14px; text-decoration: none; line-height: 1.7; }
.modern-footer-column ul li a:hover { color: #ffffff; }
.modern-footer-bottom { background: #101F30; }
.modern-footer-copyright { color: #8CA0B5; font-size: 13px; }
.modern-footer-legal a { color: #8CA0B5; font-size: 13px; margin-left: 16px; text-decoration: none; }
.modern-footer-legal a:hover { color: #ffffff; }
.footer-filing { color: #7E93A9; font-size: 13px; margin-top: 8px; }
.footer-filing a { color: #7E93A9; text-decoration: none; border-bottom: 1px solid rgba(126, 147, 169, .45); }
.footer-filing a:hover { color: #ffffff; border-bottom-color: #ffffff; }

.modern-footer-social a { color: #A9BACD; }
.modern-footer-social a:hover { color: #ffffff; }

/* 移动端微调 */
@media (max-width: 767px) {
  .hero-content h1 { font-size: 30px; }
  .hero-overlay { max-width: 100%; }
  .about-content h2 { font-size: 28px; }
  .about-points li { font-size: 15px; }
  .about-points li .about-point-label { display: block; margin: 0 0 2px; }
  .product-block, .placeholder-box, .news-item { padding: 22px; }
  .modern-footer-legal a { margin: 0 14px 0 0; display: inline-block; }
  .header-actions { justify-content: center; margin-top: 6px; }
  .site-contact-bar { padding: 14px 16px; }
  .site-contact-bar .contact-bar-text { font-size: 12.5px; line-height: 1.9; }
  .quote-form { padding: 22px 20px 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .contact-grid { gap: 32px; }
  .news-empty { padding: 36px 22px; }
  .legal-content h2 { font-size: 18px; margin-top: 28px; }
}

/* 人机验证（Cloudflare Turnstile）：组件与提交按钮之间的间距 */
.cf-turnstile { margin: 4px 0 18px; }
