/* ============================================================
 * GTG 广测集团 - 公共样式（打底 + 顶部导航 + 底部）
 * 品牌标准色：
 *   主绿  PANTONE 7481C  #009B4C
 *   辅绿  PANTONE 376C   #90C42F
 *   深灰  PANTONE 425C   #5F5D5D
 * ============================================================ */

:root {
  --green: #009B4C;
  --green-dark: #007a3c;
  --lime: #90C42F;
  --gray: #5F5D5D;
  --text: #333333;
  --text-light: #777777;
  --line: #e6e6e6;
  --bg-light: #f7f8f7;
  --strip-h: 42px;    /* 开放条高度 */
  --header-h: 76px;   /* 主导航高度 */
  --header-total: calc(var(--strip-h) + var(--header-h));
  --side-gap: clamp(44px, 7.5vw - 64px, 80px);   /* 主体全屏时左右留白（1360-1920 间流式缩放） */
}

/* ---------- 打底 ---------- */
* { margin: 0; padding: 0; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  font-family: "Microsoft YaHei", "Source Han Sans SC", "Source Han Sans CN", "Noto Sans CJK SC", "Noto Sans SC", "PingFang SC", "Helvetica Neue", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: var(--text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}

img, video { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
input, button { font: inherit; outline: none; border: none; background: none; }
button { cursor: pointer; }

/* 主体容器：全屏铺开，左右留间隙 */
.container {
  width: 100%;
  padding-left: var(--side-gap);
  padding-right: var(--side-gap);
  margin: 0 auto;
}

/* 图标基类见 phosphor.css（Phosphor 字体图标，Thin/Bold 两个字重） */

/* ============================================================
 * 顶部（固定悬浮：默认透明白字，悬停 / 滚动后白底深色）
 * ============================================================ */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  color: #fff;
  background: transparent;
  transition: background .3s ease, box-shadow .3s ease, color .3s ease;
}

/* 白底状态：鼠标移入 / 页面滚动后 / 搜索展开时 */
.site-header:hover,
.site-header.is-solid,
.site-header.search-open {
  background: #fff;
  color: var(--text);
  box-shadow: 0 2px 16px rgba(0, 0, 0, .08);
}

/* 浅色 Banner：仅切换顶部内容为深色，保持导航透明 */
.site-header.banner-dark:not(.is-solid):not(.search-open):not(:hover) {
  background: transparent;
  color: #333;
  box-shadow: none;
}
.site-header.banner-dark:not(.is-solid):not(.search-open) .strip-right,
.site-header.banner-dark:not(.is-solid):not(.search-open) .main-nav .nav-item > a,
.site-header.banner-dark:not(.is-solid):not(.search-open) .header-right {
  color: #333;
}
.site-header.banner-dark:not(.is-solid):not(.search-open) .main-nav .nav-item:hover > a {
  color: var(--green);
}

/* ---------- 开放条（右上：公正性声明 / 证书查询 / 联系邮箱） ---------- */
.top-strip { height: var(--strip-h); }

.top-strip .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.strip-right {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  font-size: 13px;
}

.strip-right > a,
.lang-switch > a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 17px;
  height: 100%;
  opacity: .9;
}
.strip-right > a:hover { opacity: 1; }
.strip-right .icon { width: 14px; font-size: 14px; height: 14px; }
/* 顶部联系邮箱：轻量文字入口，随导航背景切换颜色。 */
.strip-right > .strip-email {
  gap: 9px;
  margin-left: 12px;
  padding: 0 0 0 24px;
  height: 24px;
  border-left: 1px solid rgba(128, 128, 128, .35);
  color: inherit;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  opacity: 1;
  white-space: nowrap;
}
.strip-email .email-icon { width: 19px; height: 19px; flex: 0 0 19px; }
.site-header:hover .strip-email,
.site-header.is-solid .strip-email,
.site-header.search-open .strip-email { color: var(--green-dark); }
.strip-email, .strip-email > span, .strip-email:hover > span { text-decoration: none; }
.strip-email:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }

/* 全站搜索 - 展开面板 */
.search-panel {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1;
  background: #fff;
  border-top: 1px solid var(--line);
  box-shadow: 0 24px 48px rgba(0, 0, 0, .1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: all .3s ease;
}
.site-header.search-open .search-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.search-panel-inner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-top: 26px;
  padding-bottom: 26px;
}
.panel-search {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 52px;
  padding: 0 8px 0 20px;
  border: 1px solid var(--line);
  border-radius: 26px;
  transition: border-color .25s ease, box-shadow .25s ease;
}
.panel-search:focus-within {
  border-color: var(--green);
  box-shadow: 0 0 0 3px rgba(0, 155, 76, .12);
}
.panel-search .icon { width: 18px; font-size: 18px; height: 18px; color: var(--text-light); flex-shrink: 0; }
.panel-search input {
  flex: 1;
  min-width: 0;
  height: 100%;
  font-size: 15px;
  color: var(--text);
}
.panel-search input::placeholder { color: #aaa; }
.panel-search button[type="submit"] {
  flex-shrink: 0;
  height: 40px;
  padding: 0 28px;
  border-radius: 20px;
  background: var(--green);
  color: #fff;
  font-size: 14px;
  letter-spacing: 2px;
  transition: background .25s ease;
}
.panel-search button[type="submit"]:hover { background: var(--green-dark); }
.search-close {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--text-light);
  transition: all .25s ease;
}
.search-close:hover { color: var(--text); border-color: #ccc; transform: rotate(90deg); }
.search-close .icon { width: 15px; font-size: 15px; height: 15px; }

/* 关注微信 - 悬浮二维码 */
.wechat-entry { position: relative; }
.wechat-pop {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 148px;
  padding: 12px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .12);
  text-align: center;
  font-size: 12px;
  color: var(--text-light);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all .25s ease;
  z-index: 99;
}
.wechat-entry:hover .wechat-pop {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.wechat-pop img { width: 124px; height: 124px; max-width: none; margin-bottom: 6px; background: var(--bg-light); object-fit: cover; }
.wechat-pop .qrcode-placeholder {
  width: 124px;
  height: 124px;
  margin-bottom: 6px;
  align-items: center;
  justify-content: center;
  background: var(--bg-light);
  border: 1px dashed #ccc;
  color: #bbb;
  font-size: 12px;
  line-height: 1.6;
}

/* ---------- 主行：logo 左 / 菜单 / 搜索图标 + 语言右 ---------- */
.main-bar {
  height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(16px, 2.1429vw - 13.14px, 28px);
}

.logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  position: relative;
  top: -8px;
}
.logo img { height: clamp(36px, 1.4286vw + 16.57px, 44px); width: auto; }
/* 默认（透明底）显示白色版，白底时显示彩色版 */
.logo .logo-color { display: none; }
.site-header:hover .logo .logo-color,
.site-header.is-solid .logo .logo-color,
.site-header.search-open .logo .logo-color,
.site-header.banner-dark:not(.is-solid):not(.search-open) .logo .logo-color { display: block; }
.site-header:hover .logo .logo-white,
.site-header.is-solid .logo .logo-white,
.site-header.search-open .logo .logo-white,
.site-header.banner-dark:not(.is-solid):not(.search-open) .logo .logo-white { display: none; }

/* logo 右侧：事业部 + 子公司名称（颜色随 header 白底切换） */
.logo-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: clamp(10px, 0.7143vw + 0.29px, 14px);
  padding-left: clamp(10px, 0.7143vw + 0.29px, 14px);
  border-left: 1px solid rgba(255, 255, 255, .35);
  line-height: 1.5;
  white-space: nowrap;
}
.logo-text b { font-size: clamp(14px, 0.5357vw + 6.71px, 17px); font-weight: 600; color: #fff; }
.logo-text i { font-size: clamp(12.5px, 0.625vw + 4px, 16px); font-style: normal; color: rgba(255, 255, 255, .75); }
.site-header:hover .logo-text,
.site-header.is-solid .logo-text,
.site-header.search-open .logo-text,
.site-header.banner-dark:not(.is-solid):not(.search-open) .logo-text { border-left-color: rgba(0, 0, 0, .15); }
.site-header:hover .logo-text b,
.site-header.is-solid .logo-text b,
.site-header.search-open .logo-text b,
.site-header.banner-dark:not(.is-solid):not(.search-open) .logo-text b { color: var(--green); }
.site-header:hover .logo-text i,
.site-header.is-solid .logo-text i,
.site-header.search-open .logo-text i,
.site-header.banner-dark:not(.is-solid):not(.search-open) .logo-text i { color: #666; }

/* ---------- 菜单 ---------- */
.main-nav { flex: 1; display: flex; justify-content: flex-end; }
.main-nav > ul { display: flex; }

/* 面板相对整个 header 定位，导航项不单独定位 */
.main-nav .nav-item > a {
  display: flex;
  align-items: center;
  padding: 0 clamp(10px, 2.5vw - 24px, 24px);
  height: var(--header-h);
  font-size: clamp(14px, 0.3571vw + 9.14px, 16px);
  font-weight: 600;
  letter-spacing: 0;
  white-space: nowrap;
  transition: color .25s ease;
}
/* 悬停导航项（含移入其下拉期间）保持绿色 */
.main-nav .nav-item:hover > a { color: var(--green); }

/* ===== 全宽大型下拉：左侧图标切换 + 右侧内容 ===== */
.mega-panel {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 2;
  background: #fbfbfb;
  border-top: 1px solid var(--line);
  box-shadow: 0 24px 48px rgba(0, 0, 0, .1);
  color: var(--text);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.main-nav .nav-item:hover .mega-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .32s cubic-bezier(.22, .61, .36, 1) .08s,
              transform .32s cubic-bezier(.22, .61, .36, 1) .08s;
}

/* 产品菜单整体即时展开，避免快速移入移出时重播淡入动画。 */
.mega-panel-products,
.main-nav .nav-item:hover .mega-panel-products {
  transform: none;
  transition: none;
}

.mega-wrap { display: flex; align-items: stretch; }

/* 左列：分类（带图标，悬停切换） */
.mega-tabs {
  flex-shrink: 0;
  width: calc(var(--side-gap) + 206px);
  background: #f1f4f2;
  padding: 20px 0 20px var(--side-gap);
}
.mega-tab {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  height: 52px;
  padding: 0 16px;
  font-size: 14px;
  white-space: nowrap;
  color: #444;
  transition: background .2s ease, color .2s ease;
}
.mega-tab .icon { width: 17px; font-size: 17px; height: 17px; opacity: .65; flex-shrink: 0; }
.mega-tab .tab-arrow {
  width: 13px;
  height: 13px;
  margin-left: auto;
  opacity: 0;
  transform: translateX(-4px);
  transition: all .25s ease;
}
.mega-tab:hover .tab-arrow,
.mega-tab.on .tab-arrow { opacity: .8; transform: translateX(0); }
.mega-tab.on { background: #fbfbfb; font-weight: 600; color: var(--green); }
.mega-tab.on::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--green);
}

/* 国际认证：国家分组完整展示，菜单高度随当前区域内容自然撑开。 */
.mega-panel-cert .mega-wrap {
  height: auto;
  min-height: 0;
}
.mega-panel-cert .mega-tabs { overflow: visible; }
.mega-body { flex: 1; min-width: 0; min-height: 0; padding: 22px var(--side-gap) 22px 24px; }
.mega-pane { display: none; height: auto; min-height: 0; }
.mega-pane.on { display: flex; flex-direction: column; }
@keyframes paneIn { from { opacity: 0; } to { opacity: 1; } }
.mega-pane-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; flex-shrink: 0; }
.mega-pane-head h4 { font-size: 18px; font-weight: 600; padding-left: 12px; border-left: 4px solid var(--green); line-height: 1.2; }
.mega-pane-head a { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--green); white-space: nowrap; }
.mega-pane-head a .icon { font-size: 14px; }
.mega-country-scroll { min-height: 0; overflow: visible; padding: 1px; }
.mega-country-grid { columns: 3; column-gap: 12px; }
.mega-country-card { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 10px; break-inside: avoid; margin-bottom: 10px; padding: 12px; border: 1px solid #dfe7e1; border-radius: 6px; background: #fff; }
.mega-country-card h5 { margin: 0; padding: 4px 9px 4px 0; border-right: 1px solid #edf1ee; font-size: 13px; line-height: 1.5; font-weight: 600; overflow-wrap: anywhere; }
.mega-country-card h5 a { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mega-country-card h5 .icon { display: none; }
.mega-cert-links { display: flex; flex-wrap: wrap; gap: 6px; }
.mega-pane a.mega-link { display: block; max-width: 100%; padding: 4px 7px; border: 1px solid #e6ece8; border-radius: 4px; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; color: #555; background: #f8faf9; }
.mega-pane a.mega-link:hover { color: var(--green); border-color: #9ecbb0; background: #f0f7f2; }
.mega-country-card h5 a:hover { color: var(--green); }
.mega-panel-cert a:focus-visible { outline: 2px solid var(--green); outline-offset: -2px; }
.main-nav .nav-item:has(:focus-visible) .mega-panel-cert { opacity: 1; visibility: visible; transform: none; }
@media (min-width: 1800px) {
  .mega-country-grid { columns: 4; }
}

/* ===== 产品检测：两大类全展示（无切换） ===== */
.mega-flat {
  display: flex;
  align-items: stretch;
  width: 100%;
  padding: 36px var(--side-gap) 40px;
}
.flat-group { flex: 1; min-width: 0; }
.flat-group + .flat-group {
  margin-left: 48px;
  padding-left: 48px;
  border-left: 1px solid var(--line);
}
/* 两栏沿用导航数据顺序：智能机器人在前，储能在后。 */

/* 组头：大图标 + 标题描述 + 查看全部 */
.flat-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 20px;
}
.flat-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border-radius: 12px;
  background: rgba(0, 166, 80, .08);
  color: var(--green);
}
.flat-ico .icon { width: 23px; font-size: 23px; height: 23px; }
.flat-title h4 { font-size: 17px; font-weight: 600; color: #111; }
.flat-title p { margin-top: 3px; font-size: 12px; color: var(--text-light); }
.flat-all {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
  flex-shrink: 0;
  font-size: 13px;
  color: var(--text-light);
  transition: color .25s ease;
}
.flat-all .icon { width: 13px; font-size: 13px; height: 13px; transition: transform .25s ease; }
.flat-all:hover { color: var(--green); }
.flat-all:hover .icon { transform: translateX(3px); }

/* 链接卡片：图标 + 文字，一排两个 */
.flat-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
.flat-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 16px;
  font-size: 14px;
  color: #333;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 10px;
  transition: color .2s ease, border-color .2s ease,
              transform .2s ease, box-shadow .2s ease;
}
.flat-link .icon {
  width: 17px; font-size: 17px;
  height: 17px;
  flex-shrink: 0;
  color: var(--green);
  opacity: .75;
  transition: opacity .25s ease;
}
.flat-link:hover {
  color: var(--green);
  border-color: var(--green);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(0, 166, 80, .1);
}
.flat-link:hover .icon { opacity: 1; }

/* ===== 窄下拉（光储充 / 机器人 / 认证资讯 / 关于广测） ===== */
.nav-item.has-drop { position: relative; }
.drop-menu {
  position: absolute;
  top: 100%;
  left: 50%;
  z-index: 2;
  transform: translate(-50%, -10px);
  min-width: 220px;
  padding: 14px 0;
  background: #fff;
  border-radius: 0 0 8px 8px;
  box-shadow: 0 20px 48px rgba(0, 0, 0, .12);
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, transform .22s ease, visibility 0s linear .22s;
}
.nav-item.has-drop:hover .drop-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
  transition: opacity .32s cubic-bezier(.22, .61, .36, 1) .08s,
              transform .32s cubic-bezier(.22, .61, .36, 1) .08s;
}
.drop-menu a {
  display: block;
  padding: 11px 26px;
  font-size: 14px;
  letter-spacing: 0;
  color: var(--text);
  text-align: center;
  white-space: nowrap;
  transition: background .25s ease, color .25s ease;
}
.drop-menu a:hover { background: var(--bg-light); color: var(--green); }

/* 主行右侧：搜索图标 + 语言切换 */
.header-right {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: clamp(2px, 0.7143vw - 7.71px, 6px);
}

.icon-btn {
  width: clamp(34px, 0.3571vw + 29.14px, 36px);
  height: clamp(34px, 0.3571vw + 29.14px, 36px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: background .25s ease;
}
.icon-btn .icon { width: 18px; font-size: 18px; height: 18px; }
.icon-btn:hover { background: rgba(255, 255, 255, .14); }
.site-header:hover .icon-btn:hover,
.site-header.is-solid .icon-btn:hover,
.site-header.search-open .icon-btn:hover { background: var(--bg-light); }

/* 语言切换（主行最右） */
.lang-switch { position: relative; display: flex; align-items: center; }
.lang-switch > a { font-size: clamp(13px, 0.3571vw + 8.14px, 15px); font-weight: 600; letter-spacing: 1px; height: auto; padding: 0 clamp(8px, 0.7143vw - 1.71px, 12px); }
.lang-switch .lang-icon { width: 17px; height: 17px; }
/* EN 右侧下拉小箭头（Phosphor caret-down） */
.lang-switch .caret {
  width: 10px;
  height: 10px;
  font-size: 9px;
  transition: transform .3s ease;
}
.lang-switch:hover .caret { transform: rotate(180deg); }

.lang-menu {
  position: absolute;
  top: calc(100% + 16px);
  right: 0;
  min-width: 110px;
  padding: 6px 0;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .12);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all .25s ease;
}
.lang-switch:hover .lang-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.lang-menu a {
  display: block;
  padding: 7px 18px;
  font-size: 13px;
  color: var(--text);
  text-align: center;
}
.lang-menu a:hover { background: var(--bg-light); }
.lang-menu a.current { font-weight: 600; }

/* ============================================================
 * 响应式
 * ============================================================ */
@media (max-width: 992px) {
  :root { --side-gap: 20px; --header-h: 64px; }
  .top-strip { display: none; }
  .logo img { height: 34px; }
  .logo-text { margin-left: 10px; padding-left: 10px; }
  .logo-text b { font-size: 14px; }
  .logo-text i { font-size: 12px; }
}

@media (max-width: 480px) {
  .site-header .logo-text { display: none !important; }
}

/* ≤1360px：主导航收起为汉堡菜单（1360 以下桌面导航已放不下） */
@media (max-width: 1360px) {
  .main-nav { display: none; }
}

/* ============================================================
 * 底部（公共）- #222 深色 / 右上角大圆角
 * ============================================================ */
.site-footer {
  background: #222;
  border-radius: 0 90px 0 0;
  color: rgba(255, 255, 255, .65);
  font-size: 14px;
}

/* CTA 横幅 */
.footer-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 60px 0 52px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.footer-cta h3 {
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 2px;
  color: #fff;
}
.footer-cta-right {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 34px;
}
.footer-cta-email {
  display: flex;
  align-items: center;
  gap: 12px;
}
.footer-cta-email > .email-symbol {
  width: 34px; font-size: 34px;
  height: 34px;
  color: var(--lime);
}
.footer-cta-email span {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: 0;
  color: rgba(255, 255, 255, .45);
}
.footer-cta-email b {
  display: block;
  margin-top: 0;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0;
  color: #fff;
}
.footer-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 48px;
  padding: 0 34px;
  background: var(--green);
  border-radius: 24px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  color: #fff;
  transition: all .3s ease;
}
.footer-cta-btn .icon { width: 20px; font-size: 20px; height: 20px; }
.footer-cta-btn:hover {
  background: var(--green-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0, 155, 76, .35);
}

.footer-main {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 44px;
  padding: 72px 0 64px;
}

/* 品牌区 */
.footer-logo { height: 48px; width: auto; }
.footer-slogan {
  margin-top: 24px;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, .45);
}
.footer-phone {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
}
.footer-phone .icon { width: 26px; font-size: 26px; height: 26px; color: var(--lime); }
.footer-phone span {
  display: block;
  font-size: 12px;
  color: rgba(255, 255, 255, .45);
}
.footer-phone b {
  display: block;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #fff;
}

/* 公司平台图标 */
.footer-social {
  display: flex;
  gap: 14px;
  margin-top: 26px;
}
.social-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 50%;
  color: rgba(255, 255, 255, .75);
  transition: all .3s ease;
}
.social-svg { width: 18px; height: 18px; font-size: 17px; }
.social-item:hover {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
  transform: translateY(-3px);
}
.social-pop {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  transform: translate(-50%, 6px);
  width: 132px;
  padding: 10px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(0, 0, 0, .25);
  text-align: center;
  opacity: 0;
  visibility: hidden;
  transition: all .25s ease;
  z-index: 20;
}
.social-item:hover .social-pop {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.social-pop img { width: 112px; height: 112px; max-width: none; object-fit: cover; }
.social-pop i {
  display: block;
  margin-top: 6px;
  font-style: normal;
  font-size: 11px;
  color: #777;
}

/* 链接列 */
.footer-col h4 {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  color: #fff;
  padding-bottom: 14px;
  margin-bottom: 18px;
}
.footer-col h4::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 24px;
  height: 2px;
  background: var(--green);
}
.footer-col a {
  display: block;
  padding: 6px 0;
  color: rgba(255, 255, 255, .55);
  transition: color .25s ease, padding-left .25s ease;
}
.footer-col a:hover { color: var(--lime); padding-left: 8px; }

/* 右列：友情链接下拉 + 双二维码 */
.footer-links { position: relative; }
.fl-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 13px 18px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 8px;
  font-size: 14px;
  color: rgba(255, 255, 255, .8);
  transition: border-color .3s ease;
}
.fl-toggle .icon {
  width: 15px; font-size: 15px;
  height: 15px;
  transition: transform .3s ease;
}
.footer-links:hover .fl-toggle { border-color: var(--lime); }
.footer-links:hover .fl-toggle .icon { transform: rotate(180deg); }
.fl-menu {
  position: absolute;
  left: 0;
  right: 0;
  bottom: calc(100% + 8px);
  padding: 8px 0;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .25);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: all .25s ease;
  z-index: 20;
}
.footer-links:hover .fl-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.fl-menu a {
  display: block;
  padding: 9px 18px;
  font-size: 13px;
  color: #444;
  transition: all .2s ease;
}
.fl-menu a:hover { background: var(--bg-light); color: var(--green); padding-left: 24px; }

.footer-qrs {
  display: flex;
  gap: 18px;
  margin-top: 26px;
}
.footer-qr img {
  width: 96px;
  height: 96px;
  border-radius: 8px;
  background: #fff;
  padding: 4px;
}
.footer-qr p {
  margin-top: 8px;
  font-size: 12px;
  text-align: center;
  color: rgba(255, 255, 255, .5);
}

/* 友情链接（底条上方横排） */
.footer-friends {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 26px;
  padding: 22px 0;
  font-size: 13px;
  color: rgba(255, 255, 255, .4);
}
.footer-friends a { transition: color .25s ease; }
.footer-friends a:hover { color: var(--lime); }

/* 底条 */
.footer-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 0 30px;
  border-top: 1px solid rgba(255, 255, 255, .1);
  font-size: 13px;
  color: rgba(255, 255, 255, .4);
}
.footer-bar a { transition: color .25s ease; }
.footer-bar a:hover { color: var(--lime); }
.footer-bar i { font-style: normal; margin: 0 12px; opacity: .35; }
.footer-bar-links,
.footer-beian { display: flex; align-items: center; }
.footer-beian a { display: inline-flex; align-items: center; gap: 6px; }
.beian-icon { width: 15px; height: 15px; }

@media (max-width: 1200px) {
  .footer-main { grid-template-columns: 1fr 1fr 1fr; gap: 36px; }
}
@media (max-width: 992px) {
  .site-footer { border-radius: 0 48px 0 0; }
  .footer-cta { flex-direction: column; align-items: flex-start; gap: 24px; padding: 44px 0 36px; }
  .footer-cta h3 { font-size: 22px; }
  .footer-main { grid-template-columns: 1fr 1fr; padding: 52px 0 40px; }
  .footer-bar { flex-direction: column; gap: 8px; text-align: center; }
}
@media (max-width: 768px) {
  /* 手机端隐藏三组页脚导航，桌面端保留。 */
  .footer-main > .footer-col { display: none; }
  /* 手机页脚：电话与咨询按钮各占一行，避免号码和按钮文字被挤断。 */
  .footer-cta-right { width: 100%; min-width: 0; flex-direction: column; align-items: stretch; gap: 20px; }
  .footer-cta-email { min-width: 0; }
  .footer-cta-email > .email-symbol { flex-shrink: 0; }
  .footer-cta-email b { font-size: clamp(24px, 7vw, 28px); white-space: nowrap; }
  .footer-cta-btn { width: 100%; flex-shrink: 0; padding: 0 24px; white-space: nowrap; }
  .footer-cta-btn .icon { flex-shrink: 0; }
}
@media (max-width: 640px) {
  .footer-main { grid-template-columns: 1fr; }
}

/* ============================================================
 * 浮动客服（右下角，下滑出现）
 * ============================================================ */
.float-cs {
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 200;
  display: flex;
  flex-direction: column;
  background: var(--green);
  /* 贴屏幕右缘：只保留左侧圆角 */
  border-radius: 12px 0 0 12px;
  box-shadow: 0 16px 40px rgba(0, 155, 76, .3);
  overflow: visible;
  opacity: 0;
  visibility: hidden;
  transform: translateY(calc(-50% + 16px));
  transition: all .35s cubic-bezier(.22, .61, .36, 1);
}
.float-cs.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(-50%);
}

.cs-item {
  position: relative;
  width: 60px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: all .25s ease;
}
.cs-item + .cs-item { border-top: 1px solid rgba(255, 255, 255, .22); }
.cs-in {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
}
.cs-in .icon { width: 20px; font-size: 20px; height: 20px; }
.cs-in i {
  font-style: normal;
  font-size: 13px;
  line-height: 1;
}
.cs-item:hover { background: var(--green-dark); }
.cs-item:first-child { border-radius: 12px 12px 0 0; }
.cs-item:last-child { border-radius: 0 0 12px 12px; }

/* 左侧提示 */
.cs-tip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translate(6px, -50%);
  padding: 7px 14px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
  font-size: 12px;
  color: #333;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: all .25s ease;
}
.cs-tip::after {
  content: "";
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  border: 5px solid transparent;
  border-left-color: #fff;
}
.cs-item:hover .cs-tip {
  opacity: 1;
  visibility: visible;
  transform: translate(0, -50%);
}

/* 咨询入口：轻跳消息气泡与三点提示。 */
.cs-chat-icon { position: relative; display: block; width: 24px; height: 24px; animation: cs-chat-bounce 3s ease-in-out infinite; animation-play-state: paused; }
.cs-chat-icon svg { display: block; width: 100%; height: 100%; }
.cs-chat-icon::after { content: ''; position: absolute; top: 0; right: 0; width: 6px; height: 6px; border: 1px solid #fff; border-radius: 50%; background: #ffd477; }
.cs-chat-dot { animation: cs-chat-typing 1.5s ease-in-out infinite; animation-play-state: paused; }
.cs-chat-dot:nth-of-type(2) { animation-delay: .18s; }
.cs-chat-dot:nth-of-type(3) { animation-delay: .36s; }
.float-cs.show .cs-chat-icon, .float-cs.show .cs-chat-dot { animation-play-state: running; }
.cs-consult-tip { padding: 12px 18px; text-align: center; line-height: 1.8; font-size: 13px; }
.cs-consult-tip span, .cs-consult-tip strong { display: block; }
.cs-consult-tip strong { color: var(--green-dark); font-size: 15px; font-weight: 600; }
.cs-consult:focus-visible .cs-tip { opacity: 1; visibility: visible; transform: translate(0, -50%); }
@keyframes cs-chat-bounce {
  0%, 12%, 24%, 100% { transform: translateY(0) rotate(0); }
  6% { transform: translateY(-3px) rotate(-7deg); }
  18% { transform: translateY(-2px) rotate(5deg); }
}
@keyframes cs-chat-typing { 0%, 60%, 100% { opacity: .35; } 30% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .cs-chat-icon, .cs-chat-dot { animation: none; }
}

/* 电话提示：独立于其他悬浮按钮，强化号码的可读性 */
.cs-email .cs-tip {
  padding: 8px 12px;
  border: 1px solid rgba(0, 155, 76, .14);
  border-radius: 10px;
  color: var(--green-dark);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  box-shadow: 0 12px 28px rgba(0, 72, 38, .16);
}
.cs-email-number { display: block; }
.cs-email-wechat { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; letter-spacing: 0; text-align: center; color: #718078; }
/* 提示默认隐藏，悬停时即时显示，避免切换按钮时两框重叠。 */
.cs-email .cs-tip, .cs-consult-tip { transition: none; }
.cs-email .cs-tip::before {
  content: "\e3b8";
  font-family: "Phosphor";
  font-weight: 100;
  position: absolute;
  left: 12px;
  top: 50%;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: rgba(0, 155, 76, .1);
  color: var(--green);
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%);
}
.cs-email .cs-tip::after {
  border-left-color: #fff;
}
.cs-email:hover .cs-tip,
.cs-email:focus-visible .cs-tip {
  opacity: 1;
  visibility: visible;
  transform: translate(0, -50%);
}

/* 微信二维码提示 */
.cs-qr {
  padding: 12px;
  text-align: center;
  font-size: 11px;
}
.cs-qr img {
  width: 132px;
  height: 132px;
  max-width: none; /* 全局 max-width:100% 会在 shrink-to-fit 弹层里把图压变形 */
  display: block;
  margin-bottom: 6px;
  object-fit: cover;
  border-radius: 4px;
}
.cs-qr::after { display: none; }

@media (max-width: 992px) {
  .float-cs { right: 0; }
}

/* ============================================================
 * 移动端汉堡按钮 + 抽屉菜单（≤1360px）
 * ============================================================ */
.nav-burger {
  display: none;
  width: 40px;
  height: 40px;
  margin-left: 8px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: inherit;
}
.nav-burger span {
  width: 20px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
}

.m-nav {
  position: fixed;
  inset: 0;
  z-index: 1000; /* Keep the drawer email above the mobile back-to-top control. */
  visibility: hidden;
  transition: visibility 0s linear .35s;
}
.m-nav.open {
  visibility: visible;
  transition-delay: 0s;
}
.m-nav-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .45);
  opacity: 0;
  transition: opacity .3s ease;
}
.m-nav.open .m-nav-mask { opacity: 1; }

.m-nav-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(340px, 86vw);
  background: #fff;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.22, .61, .36, 1);
}
.m-nav.open .m-nav-panel { transform: none; }

.m-nav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 64px;
  padding: 0 var(--side-gap);
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.m-nav-logo { height: 30px; }
.m-nav-close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: #333;
}
.m-nav-close .icon { width: 18px; font-size: 18px; height: 18px; }

.m-nav-body { flex: 1; overflow-y: auto; padding: 6px 0; }
.m-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 15px var(--side-gap);
  font-size: 15px;
  font-weight: 600;
  color: #222;
  text-align: left;
}
.m-toggle .icon {
  width: 15px; font-size: 15px;
  height: 15px;
  color: #999;
  transition: transform .3s ease;
}
.m-group.on .m-toggle { color: var(--green); }
.m-group.on .m-toggle .icon { transform: rotate(180deg); color: var(--green); }

.m-sub {
  max-height: 0;
  overflow: hidden;
  background: var(--bg-light);
  transition: max-height .35s cubic-bezier(.22, .61, .36, 1);
}
.m-group.on .m-sub { max-height: 620px; }
.m-sub a {
  display: block;
  padding: 12px var(--side-gap) 12px calc(var(--side-gap) + 12px);
  font-size: 14px;
  color: #555;
}
.m-sub a:active { color: var(--green); }

.m-nav-email {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 10px var(--side-gap) 20px;
  padding: 13px;
  background: var(--green);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #fff;
  flex-shrink: 0;
}
.m-nav-email .icon { width: 16px; font-size: 16px; height: 16px; }

@media (max-width: 1360px) {
  .nav-burger { display: flex; }
}
@media (min-width: 1361px) {
  .m-nav { display: none; }
}

/* ============================================================
 * 首页自适应细化
 * 统一处理窄屏下的安全边距、可换行内容和触控尺寸
 * ============================================================ */
@media (max-width: 1200px) {
  .container { padding-left: 44px; padding-right: 44px; }
  .main-bar { gap: 18px; }
  .header-right { gap: 2px; }
}

@media (max-width: 992px) {
  body { overflow-x: hidden; }
  .container { padding-left: 20px; padding-right: 20px; }
  .main-bar { height: var(--header-h); gap: 12px; }
  .logo { top: 0; min-width: 0; }
  .logo img { max-width: 150px; }
  .header-right { margin-left: auto; }
  .icon-btn,
  .nav-burger { width: 42px; height: 42px; }
  .nav-burger { margin-left: 2px; }
  .search-panel-inner { gap: 12px; padding-top: 18px; padding-bottom: 18px; }
  .panel-search { min-width: 0; height: 48px; padding-left: 16px; }
  .panel-search button[type="submit"] { padding: 0 20px; }
  .m-nav-panel { width: min(380px, 92vw); }
  .m-nav-head { height: 64px; }
  .m-nav-body { -webkit-overflow-scrolling: touch; }
  .m-link { min-height: 52px; }
  .m-nav-email { min-height: 48px; }
  .site-header .logo-text { display: none !important; }
}

@media (max-width: 480px) {
  :root { --side-gap: 16px; }
  .container { padding-left: 16px; padding-right: 16px; }
  .main-bar { padding-left: 16px; padding-right: 16px; }
  .logo img { max-width: 138px; }
  .search-panel-inner { align-items: stretch; }
  .panel-search { flex: 1; }
  .panel-search button[type="submit"] { padding: 0 16px; }
  .search-close { width: 38px; height: 38px; align-self: center; }
  .m-nav-head { padding-left: 16px; padding-right: 16px; }
  .m-link { padding-left: 16px; padding-right: 16px; }
  .m-sub a { padding-left: 28px; padding-right: 16px; }
  .m-nav-email { margin-left: 16px; margin-right: 16px; }
}

/* ============================================================
 * 全站申请表单：提示词浅色 / 填写内容深色（覆盖各页 af-field 控件）
 * ============================================================ */
.af-field input::placeholder,
.af-field textarea::placeholder { color: #b2c0b6; }
.af-field input,
.af-field textarea { color: #1c2620; }
@media (prefers-reduced-motion: reduce) {
  .page-banner .banner-slide.on .banner-bg img { animation: none; }
}

/* 搜索打开时不因鼠标经过导航而被下拉菜单遮挡。 */
.site-header.search-open .main-nav .nav-item .mega-panel { opacity: 0; visibility: hidden; pointer-events: none; transition: none; }
.search-toggle { color: inherit; }
.search-toggle:focus-visible, .search-close:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

/* 绿色事业部文案缩小，与下方公司名称保持接近的文字宽度。 */
html[lang="en"] .logo-text b { font-size: clamp(11.76px, 0.588125vw + 3.764px, 15.056px); }

/* 英文副标题恢复后，为完整导航预留足够空间。 */
@media (min-width: 1701px) {
  html[lang="en"] .main-nav .nav-item > a { padding-left: 12px; padding-right: 12px; }
}

/* English labels need slightly tighter spacing at medium desktop widths. */
@media (min-width: 1361px) and (max-width: 1700px) {
  html[lang="en"] .main-nav .nav-item > a { padding-left: 4px; padding-right: 4px; }
  html[lang="en"] .logo img { height: 34px; }
  html[lang="en"] .logo-text { max-width: none; white-space: nowrap; }
  html[lang="en"] .logo-text b { font-size: 11.29px; }
  html[lang="en"] .logo-text i { font-size: 12px; }
}

/* 英文站统一使用字体正常字距，覆盖页面样式与编辑器导入的额外字距。 */
html[lang="en"] body,
html[lang="en"] body *,
html[lang="en"] body *::before,
html[lang="en"] body *::after,
html[lang="en"] body input::placeholder,
html[lang="en"] body textarea::placeholder {
  letter-spacing: normal !important;
}

/* 英文站手机搜索框：缩小文字与提示，保持按钮触控面积。 */
@media (max-width: 768px) {
  html[lang="en"] body input[data-mobile-placeholder] { font-size: 14px !important; }
  html[lang="en"] body input[data-mobile-placeholder]::placeholder { font-size: 13px; }
}

/* 英文站 PC：国家名按完整单词换行，富文本表格按内容分配列宽。
 * 宽表格继续由既有 cert-table-scroll / lab-table-scroll 容器横向滚动。
 * 仅覆盖桌面，保留手机端既有排版和滚动规则。
 */
@media (min-width: 993px) {
  html[lang="en"] .mega-country-card {
    grid-template-columns: minmax(104px, min-content) minmax(0, 1fr);
  }
  html[lang="en"] .mega-country-card h5,
  html[lang="en"] .mega-pane a.mega-link {
    overflow-wrap: normal;
    word-break: normal;
  }
  html[lang="en"] .map-block.has-heading {
    grid-template-columns: minmax(110px, min-content) minmax(0, 1fr);
  }
  html[lang="en"] .map-block a {
    overflow-wrap: normal;
    word-break: normal;
  }
  html[lang="en"] :is(.cert-rich, .cert-legacy, .lab-description) table {
    table-layout: auto !important;
  }
  /* 旧资料表格内带有 break-all 内联样式，需覆盖到单元格和嵌套段落。 */
  html[lang="en"] :is(.cert-rich, .cert-legacy, .lab-description) table,
  html[lang="en"] :is(.cert-rich, .cert-legacy, .lab-description) table * {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
}

/* 英文站手机/平板：保留完整单词，宽表格沿用自身的横向滚动容器。
 * 与上方PC规则分开，993px及以上的现有效果保持不变。
 */
@media (max-width: 992px) {
  html[lang="en"] :is(.cert-rich, .cert-legacy, .lab-description) table {
    table-layout: auto !important;
  }
  /* 覆盖旧富文本中的 break-all / break-word，避免单个字母掉到下一行。 */
  html[lang="en"] :is(.cert-rich, .cert-legacy, .lab-description) table,
  html[lang="en"] :is(.cert-rich, .cert-legacy, .lab-description) table * {
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  /* 不用固定最大列宽挤压不可断开的标准名称，保持文字在单元格内。 */
  html[lang="en"] .lab-description .lab-table-scroll :is(td, th) {
    max-width: none;
  }
}

/* Email contact entries: allow long addresses to wrap on narrow screens. */
.footer-cta-right { min-width: 0; flex-shrink: 1; }
.footer-cta-email { min-width: 0; }
.footer-cta-email > div { min-width: 0; }
.footer-cta-email b { font-size: clamp(20px, 1.9vw, 28px); white-space: normal; overflow-wrap: anywhere; }
.footer-cta-email > .email-symbol { display: block; flex-shrink: 0; font-size: 32px; line-height: 1; }
.footer-cta-email:hover b { color: var(--lime); }
.cs-email .email-symbol { font-size: 25px; line-height: 1; font-style: normal; }
.cs-email .cs-tip::before { content: none; }
.side-contact a.sc-email { display: block; margin: 12px 0 8px; font-size: 19px; font-weight: 650; line-height: 1.5; letter-spacing: 0; overflow-wrap: anywhere; }
.side-contact a.sc-email:hover { text-decoration: underline; }
.m-nav-email { overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .footer-cta-email { gap: 9px; }
  .footer-cta-email b { font-size: 20px; }
  .footer-cta-email > .email-symbol { width: 26px; font-size: 26px; }
}
