/* ==========================================================================
   GUO HAI INDUSTRIAL — Elementor 配套样式
   用于 Hello Elementor 子主题；页面内容由 Elementor 模板输出，靠 .gh-* 类接管排版。
   1. 设计变量
   2. 基础与排版
   3. 页头 / 页脚 / 语言切换
   4. 区块（section）与容器
   5. 标题组 / 正文 / 按钮
   6. 卡片 / 数据 / 表格 / 步骤
   7. 图片占位
   8. 表单（CF7 / WPForms）
   9. Elementor 组件覆盖
   10. 响应式
   ========================================================================== */

/* ---------- 1. 设计变量 ---------- */
:root {
  --gh-navy: #0b1f33;
  --gh-navy-800: #12304d;
  --gh-navy-700: #1b4166;
  --gh-orange: #d9541f;
  --gh-orange-dark: #bd4616;
  --gh-ink: #16222e;
  --gh-muted: #5b6b7a;
  --gh-line: #dfe6ec;
  --gh-line-strong: #cbd8e2;
  --gh-alt: #f4f7fa;
  --gh-white: #fff;
  --gh-radius: 4px;
  --gh-radius-lg: 6px;
  --gh-shadow: 0 12px 32px rgba(11, 31, 51, .08);
  --gh-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    "Yu Gothic", Meiryo, "PingFang SC", "Microsoft YaHei", sans-serif;
  --gh-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  --gh-max: 1200px;
}

/* ---------- 2. 基础与排版 ---------- */
body {
  font-family: var(--gh-font);
  color: var(--gh-ink);
  -webkit-font-smoothing: antialiased;
  background: var(--gh-white);
}
html[lang^="ja"] body { line-height: 1.85; }
html[lang^="zh"] body { line-height: 1.8; }

.gh-skip {
  position: absolute; left: -9999px; top: 0; z-index: 999;
  background: var(--gh-navy); color: #fff; padding: 12px 18px;
}
.gh-skip:focus { left: 12px; top: 12px; }

/* ---------- 3. 页头 / 页脚 ---------- */

/* 顶栏 */
.gh-topbar {
  background: #071624; color: #9fb3c6;
  font-size: .78rem; letter-spacing: .03em;
}
.gh-topbar .gh-wrap {
  max-width: var(--gh-max); margin: 0 auto; padding: 9px 24px;
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.gh-topbar p { margin: 0; }
.gh-topbar a { color: #c7d6e3; text-decoration: none; }
.gh-topbar a:hover { color: #fff; }
.gh-topbar__links { display: flex; align-items: center; gap: 12px; }
.gh-topbar .sep { width: 1px; height: 12px; background: #2a4356; display: inline-block; }

/* 主头部 */
.gh-header {
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--gh-line);
  position: sticky; top: 0; z-index: 90;
  backdrop-filter: saturate(160%) blur(6px);
}
.gh-header .gh-wrap {
  max-width: var(--gh-max); margin: 0 auto; padding: 0 24px;
  display: flex; align-items: center; gap: 22px; min-height: 76px;
}
.gh-brand { display: flex; align-items: center; gap: 11px; text-decoration: none; flex-shrink: 0; }
.gh-brand__mark {
  width: 38px; height: 38px; border-radius: 3px;
  background: var(--gh-navy); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: .92rem; letter-spacing: .04em;
}
.gh-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.gh-brand__text strong { font-size: 1.02rem; letter-spacing: .06em; color: var(--gh-navy); }
.gh-brand__text small { font-size: .68rem; color: var(--gh-muted); letter-spacing: .08em; }

/* 导航 */
.gh-nav { margin-left: auto; display: flex; align-items: center; gap: 18px; }
.gh-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.gh-nav li { margin: 0; }
.gh-nav a {
  display: block; padding: 9px 11px; border-radius: 3px;
  font-size: .88rem; color: var(--gh-ink); text-decoration: none;
  border-bottom: 2px solid transparent;
}
.gh-nav a:hover { color: var(--gh-orange); background: #f6f8fa; }
.gh-nav .current-menu-item > a,
.gh-nav .current_page_item > a,
.gh-nav a.is-active { color: var(--gh-navy); border-bottom-color: var(--gh-orange); font-weight: 600; }
.gh-nav__cta {
  margin-left: 6px; background: var(--gh-orange); color: #fff !important;
  padding: 10px 18px !important; border-radius: 3px; font-weight: 600;
  border-bottom: 0 !important;
}
.gh-nav__cta:hover { background: var(--gh-orange-dark) !important; }

/* 语言切换 */
.gh-lang {
  display: inline-flex; align-items: center; gap: 0;
  border: 1px solid var(--gh-line-strong); border-radius: 999px;
  overflow: hidden; flex-shrink: 0;
}
.gh-lang a {
  padding: 6px 11px; font-size: .76rem; color: var(--gh-muted);
  text-decoration: none; line-height: 1.4; white-space: nowrap;
}
.gh-lang a:hover { color: var(--gh-navy); background: var(--gh-alt); }
.gh-lang a.is-active { background: var(--gh-navy); color: #fff; }

/* 汉堡按钮 */
.gh-burger {
  display: none; margin-left: auto; width: 42px; height: 42px;
  border: 1px solid var(--gh-line-strong); border-radius: 3px;
  background: #fff; cursor: pointer; padding: 0;
}
.gh-burger span {
  display: block; width: 18px; height: 2px; margin: 4px auto;
  background: var(--gh-navy); transition: transform .2s, opacity .2s;
}
.gh-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.gh-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.gh-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

/* 页脚 */
.gh-footer { background: var(--gh-navy); color: #a8bccd; padding: 64px 0 0; font-size: .88rem; }
.gh-footer .gh-wrap { max-width: var(--gh-max); margin: 0 auto; padding: 0 24px; }
.gh-footer__grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1.2fr;
  gap: 40px; padding-bottom: 44px;
}
.gh-footer h4 {
  color: #fff; font-size: .82rem; letter-spacing: .1em; text-transform: uppercase;
  margin: 0 0 16px; font-weight: 600;
}
.gh-footer ul { list-style: none; margin: 0; padding: 0; }
.gh-footer li { margin-bottom: 9px; }
.gh-footer a { color: #a8bccd; text-decoration: none; }
.gh-footer a:hover { color: #fff; }
.gh-footer .gh-brand__mark { background: #fff; color: var(--gh-navy); }
.gh-footer .gh-brand__text strong { color: #fff; }
.gh-footer .gh-brand__text small { color: #7d94a8; }
.gh-footer p { line-height: 1.75; color: #94a9bb; margin: 14px 0 0; }
.gh-footer__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.gh-footer__tags span {
  font-family: var(--gh-mono); font-size: .66rem; letter-spacing: .08em;
  border: 1px solid #29465c; color: #8ea6b8; padding: 4px 8px; border-radius: 2px;
}
.gh-footer__contact li { display: flex; gap: 10px; align-items: flex-start; line-height: 1.6; }
.gh-footer__contact svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 3px; color: #6f889c; }
.gh-footer__bottom {
  border-top: 1px solid #1e3a4f; padding: 18px 0 22px;
  display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  font-size: .78rem; color: #7d94a8;
}
.gh-footer__bottom ul { display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }

/* 移动端底部固定条 */
.gh-float {
  display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95;
  background: #fff; border-top: 1px solid var(--gh-line);
}
.gh-float a {
  flex: 1; text-align: center; padding: 13px 0; font-size: .86rem; font-weight: 600;
  text-decoration: none; color: var(--gh-navy);
}
.gh-float a + a { background: var(--gh-orange); color: #fff; }

/* ---------- 4. 区块与容器 ---------- */
.gh-sec { padding: 88px 0; }
.gh-sec--tight { padding: 56px 0; }
.gh-sec--flush-top { padding-top: 0; }
.gh-sec--alt { background: var(--gh-alt); }
.gh-sec--dark { background: var(--gh-navy); color: #cfdde9; }
.gh-sec--dark .gh-eyebrow { color: #7f9ab0; }
.gh-sec--dark h1, .gh-sec--dark h2, .gh-sec--dark h3, .gh-sec--dark h4 { color: #fff; }
.gh-sec--dark .gh-lead, .gh-sec--dark p { color: #a8bccd; }
.gh-sec--line { border-top: 1px solid var(--gh-line); }

/* Hero */
.gh-hero {
  background-color: var(--gh-navy);
  background-image:
    linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px);
  background-size: 64px 64px, 64px 64px;
  padding: 84px 0 76px;
  color: #cfdde9;
}
.gh-hero h1 { color: #fff; font-size: clamp(1.9rem, 3.6vw, 2.9rem); line-height: 1.28; letter-spacing: -.01em; }
.gh-hero p { color: #a8bccd; }
.gh-hero__meta {
  list-style: none; margin: 26px 0 0; padding: 18px 0 0;
  border-top: 1px solid #22405a; display: flex; flex-wrap: wrap; gap: 22px;
  font-size: .84rem; color: #9fb3c6;
}
.gh-hero__meta li { display: flex; align-items: center; gap: 7px; }
.gh-hero__meta svg { width: 15px; height: 15px; color: var(--gh-orange); }

/* 页内 Hero（内页） */
.gh-pagehero { background: var(--gh-navy); padding: 64px 0 56px; color: #cfdde9; }
.gh-pagehero h1 { color: #fff; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.gh-pagehero p { color: #a8bccd; max-width: 760px; margin-bottom: 0; }

/* ---------- 5. 标题组 / 正文 / 按钮 ---------- */
.gh-eyebrow {
  display: inline-block; font-family: var(--gh-mono); font-size: .72rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--gh-orange);
  margin-bottom: 12px;
}
.gh-eyebrow::before {
  content: ""; display: inline-block; width: 22px; height: 1px;
  background: currentColor; vertical-align: middle; margin-right: 10px;
}
.gh-sec .gh-lead { font-size: 1.02rem; color: var(--gh-muted); max-width: 780px; }
.gh-sec p { margin: 0 0 14px; }
.gh-sec p:last-child { margin-bottom: 0; }
.gh-sec h2 { font-size: clamp(1.45rem, 2.4vw, 2rem); line-height: 1.45; letter-spacing: -.005em; margin: 0 0 14px; color: var(--gh-navy); }
.gh-sec h3 { font-size: 1.12rem; line-height: 1.5; margin: 0 0 8px; color: var(--gh-navy); }
.gh-sec h4 { font-size: .95rem; margin: 0 0 8px; color: var(--gh-navy); }
.gh-mono { font-family: var(--gh-mono); font-size: .78rem; letter-spacing: .06em; color: var(--gh-muted); }

/* 按钮 */
.gh-btn-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.gh-sec .elementor-widget-button { margin: 0; }
.gh-sec .elementor-button {
  font-family: var(--gh-font); font-size: .9rem; font-weight: 600;
  border-radius: 3px; padding: 14px 24px; line-height: 1;
  transition: background .18s, color .18s, border-color .18s;
}
.gh-btn--primary .elementor-button { background: var(--gh-orange); color: #fff; }
.gh-btn--primary .elementor-button:hover { background: var(--gh-orange-dark); color: #fff; }
.gh-btn--ghost .elementor-button {
  background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .32);
}
.gh-btn--ghost .elementor-button:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }
.gh-btn--outline .elementor-button {
  background: transparent; color: var(--gh-navy); border: 1px solid var(--gh-line-strong);
}
.gh-btn--outline .elementor-button:hover { background: var(--gh-navy); color: #fff; border-color: var(--gh-navy); }

/* ---------- 6. 卡片 / 数据 / 表格 / 步骤 ---------- */
.gh-card {
  background: #fff; border: 1px solid var(--gh-line);
  border-radius: var(--gh-radius-lg); padding: 26px 24px; height: 100%;
  transition: box-shadow .2s, transform .2s, border-color .2s;
}
.gh-card:hover { border-color: var(--gh-line-strong); box-shadow: var(--gh-shadow); transform: translateY(-3px); }
.gh-card .gh-card__no {
  font-family: var(--gh-mono); font-size: .72rem; color: var(--gh-orange);
  letter-spacing: .1em; display: block; margin-bottom: 10px;
}
.gh-card h3 { font-size: 1.06rem; }
.gh-card p { font-size: .9rem; color: var(--gh-muted); margin-bottom: 0; }

/* Elementor 图标盒当卡片用 */
.gh-icards .elementor-icon-box-wrapper { height: 100%; }
.gh-icards .elementor-icon-box-content { display: flex; flex-direction: column; }
.gh-icards .elementor-icon-box-title { margin: 0 0 8px; font-size: 1.04rem; color: var(--gh-navy); }
.gh-icards .elementor-icon-box-description { font-size: .9rem; line-height: 1.75; color: var(--gh-muted); }
.gh-icards .elementor-icon-box-icon { margin-bottom: 14px; }
.gh-icards .elementor-icon { font-size: 22px; color: var(--gh-orange); }
.gh-icards .elementor-column > .elementor-element-populated { padding: 0 12px; }

/* 数据条 */
.gh-stats { border: 1px solid #22405a; border-radius: var(--gh-radius-lg); padding: 22px 6px; }
.gh-stats .elementor-column { border-right: 1px solid #22405a; }
.gh-stats .elementor-column:last-child { border-right: 0; }
.gh-stat__num { font-size: 1.75rem; font-weight: 700; color: #fff; line-height: 1.2; }
.gh-stat__label { display: block; margin-top: 6px; font-size: .76rem; letter-spacing: .04em; color: #93a8ba; }

/* 表格 */
.gh-table { width: 100%; border-collapse: collapse; font-size: .89rem; background: #fff; }
.gh-table th, .gh-table td { border: 1px solid var(--gh-line); padding: 12px 14px; text-align: left; vertical-align: top; }
.gh-table th { background: var(--gh-alt); color: var(--gh-navy); font-weight: 600; font-size: .82rem; letter-spacing: .03em; white-space: nowrap; }
.gh-table td { color: var(--gh-ink); }
.gh-table tr:hover td { background: #fafcfd; }
.gh-table--kv th { width: 168px; }
.gh-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* 列表 */
.gh-list { list-style: none; margin: 0; padding: 0; }
.gh-list li { position: relative; padding-left: 20px; margin-bottom: 9px; font-size: .91rem; color: var(--gh-muted); }
.gh-list li::before {
  content: ""; position: absolute; left: 0; top: .62em;
  width: 7px; height: 7px; border: 1px solid var(--gh-orange); border-radius: 50%;
}
.gh-sec--dark .gh-list li { color: #a8bccd; }

/* 图标列表（Elementor） */
.gh-icolist .elementor-icon-list-item { font-size: .92rem; color: var(--gh-muted); }
.gh-icolist .elementor-icon-list-icon i { color: var(--gh-orange); font-size: 13px; }
.gh-sec--dark .gh-icolist .elementor-icon-list-text { color: #b8cad8; }

/* 分栏图文 */
.gh-split .gh-figure { margin: 0; }
.gh-split h2 { margin-bottom: 12px; }
.gh-split .gh-btn-row { margin-top: 22px; }

/* CTA 条 */
.gh-cta {
  background: var(--gh-navy-800);
  background-image: linear-gradient(90deg, rgba(217, 84, 31, .16), transparent 62%);
  padding: 52px 0;
}
.gh-cta h2 { color: #fff; font-size: clamp(1.3rem, 2.2vw, 1.75rem); margin-bottom: 8px; }
.gh-cta p { color: #a8bccd; margin: 0; }

/* 页内锚点导航 */
.gh-anchors { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.gh-anchors a {
  display: inline-block; padding: 7px 13px; border: 1px solid var(--gh-line-strong);
  border-radius: 999px; font-size: .8rem; color: var(--gh-muted); text-decoration: none;
}
.gh-anchors a:hover { border-color: var(--gh-navy); color: var(--gh-navy); }

/* 案例卡 */
.gh-case { border: 1px solid var(--gh-line); border-radius: var(--gh-radius-lg); overflow: hidden; background: #fff; height: 100%; }
.gh-case__body { padding: 20px 22px 24px; }
.gh-case__tag { font-family: var(--gh-mono); font-size: .7rem; letter-spacing: .08em; color: var(--gh-orange); }
.gh-case__body h3 { font-size: 1rem; margin: 8px 0 10px; }
.gh-case__body dl { margin: 0; font-size: .84rem; color: var(--gh-muted); display: grid; grid-template-columns: 72px 1fr; gap: 4px 10px; }
.gh-case__body dt { color: #8798a6; }
.gh-case__body dd { margin: 0; }

/* ---------- 7. 图片占位 ---------- */
.gh-ph {
  position: relative; margin: 0;
  display: flex; align-items: center; justify-content: center;
  min-height: 220px; padding: 18px;
  background-color: var(--gh-alt);
  background-image: repeating-linear-gradient(45deg, rgba(16, 40, 62, .045) 0 8px, transparent 8px 16px);
  border: 1px dashed var(--gh-line-strong);
  border-radius: var(--gh-radius-lg);
  color: #7b8c9c; font-family: var(--gh-mono); font-size: .7rem;
  line-height: 1.6; letter-spacing: .04em; text-align: center;
}
.gh-ph::before {
  content: "IMG"; position: absolute; top: 12px; left: 14px;
  font-size: .6rem; letter-spacing: .16em; color: #9aabba;
}
.gh-ph--16x9 { aspect-ratio: 16 / 9; }
.gh-ph--4x3 { aspect-ratio: 4 / 3; }
.gh-ph--3x2 { aspect-ratio: 3 / 2; }
.gh-ph--1x1 { aspect-ratio: 1 / 1; }
.gh-ph--tall { min-height: 340px; }
.gh-sec--dark .gh-ph, .gh-hero .gh-ph {
  background-color: #10283e; border-color: #2c4a63; color: #8ea3b6;
}
.gh-hero .gh-ph { min-height: 340px; }

/* 真图放进来后的默认行为 */
.gh-figure img, .gh-ph + img, .gh-case img { display: block; width: 100%; height: auto; }
.gh-figure img { border-radius: var(--gh-radius-lg); }

/* ---------- 8. 表单（CF7 / WPForms） ---------- */
.gh-formwrap {
  background: #fff; border: 1px solid var(--gh-line);
  border-radius: var(--gh-radius-lg); padding: 30px 28px;
}
.gh-formwrap h3 { margin-bottom: 6px; }
.gh-formwrap .gh-formnote { font-size: .8rem; color: var(--gh-muted); margin-bottom: 18px; }
.wpcf7-form p, .gh-formwrap .wpcf7-form p { margin-bottom: 14px; font-size: .88rem; color: var(--gh-ink); }
.wpcf7-form label, .gh-formwrap label { display: block; font-size: .8rem; color: var(--gh-muted); margin-bottom: 6px; font-weight: 600; letter-spacing: .02em; }
.wpcf7-form .req, .wpcf7-form span[aria-hidden="true"] { color: var(--gh-orange); }
.wpcf7-form input[type="text"], .wpcf7-form input[type="email"], .wpcf7-form input[type="tel"],
.wpcf7-form select, .wpcf7-form textarea {
  width: 100%; padding: 11px 12px; border: 1px solid var(--gh-line-strong);
  border-radius: 3px; font-size: .9rem; font-family: inherit; background: #fff; color: var(--gh-ink);
  transition: border-color .18s, box-shadow .18s;
}
.wpcf7-form input:focus, .wpcf7-form select:focus, .wpcf7-form textarea:focus {
  outline: 0; border-color: var(--gh-navy-700); box-shadow: 0 0 0 3px rgba(27, 65, 102, .1);
}
.wpcf7-form textarea { min-height: 128px; resize: vertical; }
.wpcf7-form input[type="submit"] {
  background: var(--gh-orange); color: #fff; border: 0; border-radius: 3px;
  padding: 14px 26px; font-size: .9rem; font-weight: 600; cursor: pointer; font-family: inherit;
}
.wpcf7-form input[type="submit"]:hover { background: var(--gh-orange-dark); }
.wpcf7-form .wpcf7-not-valid-tip { color: #c0392b; font-size: .78rem; margin-top: 4px; }
.wpcf7-form .wpcf7-response-output { border: 0; background: var(--gh-alt); padding: 12px 14px; font-size: .85rem; margin: 14px 0 0; border-radius: 3px; }
.wpcf7-form.invalid .wpcf7-response-output { background: #fdf1ee; color: #b03a24; }
.wpcf7-form.sent .wpcf7-response-output { background: #eef7f0; color: #24633a; }
.gh-hp { position: absolute !important; left: -9999px !important; }

/* ---------- 8b. 内置表单 [guohai_contact_form]（无需插件） ---------- */
.gh-cform p { margin: 0 0 14px; }
.gh-cform__row { display: flex; gap: 14px; }
.gh-cform__row .gh-cform__field { flex: 1 1 0; min-width: 0; }
.gh-cform label { display: block; font-size: .8rem; color: var(--gh-muted); margin-bottom: 6px; font-weight: 600; letter-spacing: .02em; }
.gh-cform .req { color: var(--gh-orange); margin-left: 2px; }
.gh-cform input[type="text"], .gh-cform input[type="email"],
.gh-cform input[type="tel"], .gh-cform textarea {
  width: 100%; padding: 11px 12px; border: 1px solid var(--gh-line-strong);
  border-radius: 3px; font-size: .9rem; font-family: inherit; background: #fff; color: var(--gh-ink);
  box-sizing: border-box; transition: border-color .18s, box-shadow .18s;
}
.gh-cform input:focus, .gh-cform textarea:focus {
  outline: 0; border-color: var(--gh-navy-700); box-shadow: 0 0 0 3px rgba(27, 65, 102, .1);
}
.gh-cform textarea { min-height: 132px; resize: vertical; }
.gh-cform__submit { margin: 20px 0 0; }
.gh-cform .gh-btn {
  background: var(--gh-orange); color: #fff; border: 0; border-radius: 3px; cursor: pointer;
  padding: 14px 28px; font-size: .9rem; font-weight: 600; font-family: inherit; letter-spacing: .02em;
}
.gh-cform .gh-btn:hover { background: var(--gh-orange-dark); }
/* 蜜罐：真人看不到，机器人会填 */
.gh-cform__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.gh-formmsg { padding: 13px 15px; border-radius: 3px; font-size: .87rem; margin: 0 0 18px; line-height: 1.7; }
.gh-formmsg--ok { background: #eef7f0; color: #24633a; border-left: 3px solid #4f9d6a; }
.gh-formmsg--err { background: #fdf1ee; color: #b03a24; border-left: 3px solid #d1613d; }

@media (max-width: 600px) {
  .gh-cform__row { flex-direction: column; gap: 0; }
  .gh-formwrap { padding: 24px 20px; }
}

/* 联系信息块 */
.gh-info { list-style: none; margin: 0; padding: 0; }
.gh-info li { display: flex; gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--gh-line); }
.gh-info li:first-child { padding-top: 0; }
.gh-info svg { width: 18px; height: 18px; flex-shrink: 0; margin-top: 3px; color: var(--gh-orange); }
.gh-info strong { display: block; font-size: .8rem; letter-spacing: .04em; color: var(--gh-navy); margin-bottom: 3px; }
.gh-info span, .gh-info a { font-size: .89rem; color: var(--gh-muted); text-decoration: none; line-height: 1.65; }
.gh-info a:hover { color: var(--gh-orange); }

/* ---------- 9. Elementor 组件覆盖 ---------- */
.elementor-widget-heading .elementor-heading-title { margin: 0; padding: 0; }
.gh-sec .elementor-widget-text-editor { color: var(--gh-muted); }
.gh-sec .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.gh-sec .elementor-widget-icon-box { margin-bottom: 0; }
.gh-sec .elementor-widget-divider { width: 100%; }
.gh-sec .elementor-accordion .elementor-tab-title a { font-weight: 600; color: var(--gh-navy); }
.gh-sec .elementor-accordion .elementor-tab-title { padding: 16px 4px; }
.gh-sec .elementor-accordion .elementor-tab-content { border-top: 0; color: var(--gh-muted); font-size: .92rem; line-height: 1.8; padding: 0 38px 16px 4px; }
.gh-sec .elementor-accordion-item { border-color: var(--gh-line); }
.gh-sec .elementor-accordion .elementor-accordion-icon i { color: var(--gh-orange); }
.gh-sec .elementor-element-populated { padding: 0 12px; }
.gh-sec .elementor-column-gap-no > .elementor-column > .elementor-element-populated { padding: 0; }
.gh-sec .elementor-spacer { width: 100%; }
.gh-anchor { display: block; position: relative; top: -96px; visibility: hidden; }

/* 去掉 Elementor canvas 默认的上下留白（页面由 .gh-sec 控制） */
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--gh-max); }
.gh-page main, .gh-page .site-main { padding: 0; }

/* ---------- 10. 响应式 ---------- */
@media (max-width: 1080px) {
  .gh-nav { gap: 10px; }
  .gh-nav a { padding: 8px 8px; font-size: .84rem; }
  .gh-footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
}
@media (max-width: 960px) {
  .gh-sec { padding: 64px 0; }
  .gh-hero { padding: 60px 0 56px; }
  .gh-topbar__note { display: none; }
  .gh-topbar .gh-wrap { justify-content: center; }
  .gh-burger { display: block; }
  .gh-lang { margin-left: auto; }
  .gh-header .gh-wrap { gap: 10px; min-height: 64px; }
  .gh-nav {
    position: absolute; left: 0; right: 0; top: 100%;
    background: #fff; border-bottom: 1px solid var(--gh-line);
    display: none; flex-direction: column; align-items: stretch;
    gap: 0; padding: 8px 16px 18px; box-shadow: 0 18px 30px rgba(11, 31, 51, .1);
    margin-left: 0;
  }
  .gh-nav.is-open { display: flex; }
  .gh-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .gh-nav a { padding: 12px 8px; border-bottom: 1px solid var(--gh-line) !important; border-radius: 0; }
  .gh-nav__cta { margin: 14px 0 0; text-align: center; }
  .gh-header { position: relative; }
  .gh-footer__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .gh-float { display: flex; }
  body { padding-bottom: 48px; }
}
@media (max-width: 720px) {
  .gh-sec { padding: 52px 0; }
  .gh-hero { padding: 44px 0 48px; }
  .gh-sec h2 { font-size: 1.32rem; }
  .gh-hero__meta { gap: 12px 18px; font-size: .8rem; }
  .gh-mode, .gh-footer__grid { grid-template-columns: 1fr; }
  .gh-footer { padding-top: 48px; }
  .gh-footer__bottom { flex-direction: column; }
  .gh-cta { padding: 40px 0; }
  .gh-stats .elementor-column { border-right: 0; border-bottom: 1px solid #22405a; }
  .gh-stats .elementor-column:last-child { border-bottom: 0; }
  .gh-table th { white-space: normal; }
}
@media (max-width: 420px) {
  .gh-header .gh-wrap, .gh-topbar .gh-wrap, .gh-footer .gh-wrap { padding-left: 16px; padding-right: 16px; }
  .gh-lang a { padding: 6px 8px; font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
@media print {
  .gh-header, .gh-topbar, .gh-float, .gh-cta, .gh-footer { display: none; }
  body { color: #000; padding: 0; }
}

/* ---------- 11. Elementor 结构补充 ----------
   模板里的 section / column 通过 _css_classes 挂上这些类，
   让编辑器里的结构直接对应设计稿，不需要逐块调样式。
   ---------------------------------------------------------------------- */

/* 组件标题继承外层颜色（Elementor 主题样式会覆盖 h6 等标签，这里拉回来） */
.gh-eyebrow .elementor-heading-title {
  font-family: var(--gh-mono); font-size: .72rem; font-weight: 500;
  letter-spacing: .14em; text-transform: uppercase; color: inherit; line-height: 1.6;
}
.gh-stat__num .elementor-heading-title {
  font-size: 1.75rem; font-weight: 700; color: #fff; line-height: 1.2;
}
.gh-sec--dark .gh-stat__num .elementor-heading-title { color: #fff; }

/* 文本组件默认色 */
.gh-sec .elementor-widget-text-editor { color: var(--gh-muted); }
.gh-sec .elementor-widget-text-editor p { margin: 0 0 12px; }
.gh-sec .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.gh-hero .elementor-widget-text-editor,
.gh-pagehero .elementor-widget-text-editor,
.gh-cta .elementor-widget-text-editor,
.gh-sec--dark .elementor-widget-text-editor { color: #a8bccd; }

/* 按钮：Hero / CTA 的多个按钮横向排列 */
.gh-hero .elementor-widget-button,
.gh-cta .elementor-widget-button,
.gh-split .elementor-widget-button {
  display: inline-block; width: auto;
  margin: 22px 12px 0 0;
}
.gh-hero .elementor-widget-button:last-child { margin-right: 0; }
.gh-hero .elementor-widget-button .elementor-button,
.gh-cta .elementor-widget-button .elementor-button,
.gh-split .elementor-widget-button .elementor-button {
  padding: 15px 24px; border-radius: 3px;
  background: var(--gh-orange); color: #fff;
}
.gh-hero .gh-btn--ghost .elementor-button {
  background: transparent; border: 1px solid rgba(255, 255, 255, .34); color: #fff;
}
.gh-hero .gh-btn--ghost .elementor-button:hover { background: rgba(255, 255, 255, .1); border-color: #fff; }

/* 卡片列：Elementor 列直接当卡片用 */
.gh-colcard > .elementor-element-populated {
  background: #fff; border: 1px solid var(--gh-line); border-radius: var(--gh-radius-lg);
  padding: 24px 22px !important; height: 100%;
  transition: box-shadow .2s, transform .2s, border-color .2s;
}
.gh-colcard:hover > .elementor-element-populated {
  border-color: var(--gh-line-strong); box-shadow: var(--gh-shadow); transform: translateY(-3px);
}
.gh-colcard .elementor-widget:last-child { margin-bottom: 0; }
.gh-colcard h3 .elementor-heading-title,
.gh-colcard .elementor-heading-title { color: var(--gh-navy); }
.gh-colcard .gh-card__no {
  font-family: var(--gh-mono); font-size: .72rem; color: var(--gh-orange); letter-spacing: .1em;
}
.gh-colcard .gh-card__link {
  font-size: .84rem; font-weight: 600; color: var(--gh-navy);
  text-decoration: none; border-bottom: 1px solid var(--gh-orange); padding-bottom: 2px;
}
.gh-colcard .gh-card__link:hover { color: var(--gh-orange); }
.gh-colcard .gh-ph { margin-bottom: 16px; }

/* 深色数据条 */
.gh-statsband { padding: 0 !important; }
.gh-statsband > .elementor-container { align-items: stretch; }
.gh-statsband .elementor-column { border-right: 1px solid #22405a; padding: 24px 0; }
.gh-statsband .elementor-column:last-child { border-right: 0; }
.gh-statsband .elementor-element-populated { padding: 0 18px !important; }
.gh-statsband .gh-stat__label { color: #93a8ba; font-size: .76rem; margin-top: 4px; }

/* 图文分栏 */
.gh-split > .elementor-container { align-items: center; }
.gh-split__media .gh-ph { width: 100%; }
.gh-split__copy h2 { margin-bottom: 12px; }

/* 案例列 */
.gh-caselist > .elementor-element-populated {
  background: #fff; border: 1px solid var(--gh-line); border-radius: var(--gh-radius-lg);
  padding: 0 0 22px !important; overflow: hidden; height: 100%;
  transition: box-shadow .2s, transform .2s;
}
.gh-caselist:hover > .elementor-element-populated { box-shadow: var(--gh-shadow); transform: translateY(-3px); }
.gh-caselist .gh-ph { border: 0; border-bottom: 1px solid var(--gh-line); border-radius: 0; min-height: 180px; }
.gh-caselist .elementor-widget:not(.elementor-widget-html) { padding: 0 22px; }
.gh-caselist .gh-eyebrow { margin: 18px 22px 6px; }
.gh-caselist dl { margin: 12px 22px 0; display: grid; grid-template-columns: 56px 1fr; gap: 3px 10px; font-size: .82rem; color: var(--gh-muted); }
.gh-caselist dt { color: #8798a6; }
.gh-caselist dd { margin: 0; }

/* CTA 右侧按钮列 */
.gh-cta > .elementor-container { align-items: center; }
.gh-cta__action { text-align: right; }
.gh-cta__action .elementor-widget-button { margin-top: 0; }
.gh-cta__action .elementor-widget-button .elementor-button { background: #fff; color: var(--gh-navy); }
.gh-cta__action .elementor-widget-button .elementor-button:hover { background: #f1f5f9; }

/* 联系页 */
.gh-contact__info { padding-left: 24px !important; }
.gh-contact__form .gh-formwrap { height: 100%; }
.gh-contact__info h3 { margin-bottom: 10px; }

/* 锚点导航 */
.gh-anchors { padding-left: 0; }
.gh-sec .gh-anchors { margin: 0; }

/* 页面顶部与固定页头的间距 */
.gh-page #gh-main > .elementor { padding-top: 0; }
.gh-page .elementor-section:first-child { margin-top: 0; }

/* 表单列内部 100% 宽 */
.gh-formcol .elementor-widget-container { width: 100%; }

@media (max-width: 960px) {
  .gh-statsband .elementor-column { border-right: 0; border-bottom: 1px solid #22405a; padding: 18px 0; }
  .gh-statsband .elementor-column:last-child { border-bottom: 0; }
  .gh-contact__info { padding-left: 12px !important; padding-top: 28px !important; }
  .gh-cta__action { text-align: left; }
  .gh-cta__action .elementor-widget-button { margin-top: 18px; }
}

