/**
 * UAB GMP 2026 主题样式
 * Copyright (C) 2026-2027 Song Bing. All rights reserved.
 *
 * 作用域：所有规则挂在 body.gmp 下，后台页面（交给 bootheme4 渲染）不受影响。
 *   1. 设计变量
 *   2. 通用（容器、按钮、标题、卡片、入场动效）
 *   3. 顶栏与导航（含 Mega 面板、移动端抽屉）
 *   4. 首页各版块
 *   5. 页脚、返回顶部
 *   6. 响应式
 *
 * 首页不加载 bootheme4/css/style.css（见 template.php），内页加载并在其后叠加本文件。
 */

/* ---------- 1. 设计变量 ---------- */
body.gmp {
  --gmp-blue: #1a73e8;
  --gmp-blue-dark: #1765cc;
  --gmp-blue-tint: #e8f0fe;
  --gmp-ink: #202124;
  --gmp-text: #3c4043;
  --gmp-muted: #5f6368;
  --gmp-line: #dadce0;
  --gmp-gray-bg: #f8f9fa;
  --gmp-radius: 16px;
  --gmp-radius-lg: 24px;
  --gmp-header-h: 64px;
  --gmp-font: "PingFang SC", "HarmonyOS Sans SC", "Microsoft YaHei", "Noto Sans SC", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* ---------- 2. 通用 ---------- */
body.gmp {
  margin: 0;
  font-family: var(--gmp-font);
  color: var(--gmp-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
body.gmp_is_front {
  font-size: 16px;
  line-height: 1.6;
}
body.gmp_is_front a {
  color: var(--gmp-blue);
  text-decoration: none;
}
body.gmp_is_front a:hover {
  color: var(--gmp-blue-dark);
}

.gmp .gmp_wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

.gmp .gmp_skip {
  position: absolute;
  left: 16px;
  top: -48px;
  z-index: 1100;
  padding: 8px 16px;
  border-radius: 8px;
  background: var(--gmp-blue);
  color: #fff;
}
.gmp .gmp_skip:focus {
  top: 8px;
}

.gmp .gmp_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  height: 48px;
  padding: 0 24px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color .2s, border-color .2s, box-shadow .2s, color .2s;
}
.gmp .gmp_btn_primary,
.gmp .gmp_btn_primary:visited {
  background: var(--gmp-blue);
  color: #fff;
}
.gmp .gmp_btn_primary:hover,
.gmp .gmp_btn_primary:focus {
  background: var(--gmp-blue-dark);
  color: #fff;
  box-shadow: 0 1px 3px rgba(60, 64, 67, .3);
}
.gmp .gmp_btn_outline,
.gmp .gmp_btn_outline:visited {
  background: #fff;
  border-color: var(--gmp-line);
  color: var(--gmp-blue);
}
.gmp .gmp_btn_outline:hover,
.gmp .gmp_btn_outline:focus {
  background: var(--gmp-blue-tint);
  border-color: #d2e3fc;
  color: var(--gmp-blue-dark);
}
.gmp a:focus-visible,
.gmp button:focus-visible {
  outline: 2px solid var(--gmp-blue);
  outline-offset: 2px;
}

.gmp .gmp_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}
.gmp .gmp_actions_center {
  justify-content: center;
}

.gmp .gmp_more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 15px;
  font-weight: 500;
  color: var(--gmp-blue);
}
.gmp .gmp_arrow {
  transition: transform .2s;
}
.gmp .gmp_more:hover .gmp_arrow,
.gmp .gmp_card_link:hover .gmp_arrow {
  transform: translateX(4px);
}

.gmp .gmp_eyebrow {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .02em;
  color: var(--gmp-blue);
}
.gmp .gmp_h2 {
  margin: 0;
  font-size: 32px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.01em;
  color: var(--gmp-ink);
}
.gmp .gmp_h3 {
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--gmp-ink);
}
.gmp .gmp_lead {
  margin: 12px 0 0;
  font-size: 17px;
  line-height: 1.65;
  color: var(--gmp-muted);
}

.gmp .gmp_section {
  padding: 48px 0;
}
.gmp .gmp_section_last {
  padding-bottom: 96px;
}
.gmp .gmp_head {
  max-width: 720px;
  margin: 0 auto 48px;
  text-align: center;
}
.gmp .gmp_head_split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  max-width: none;
  text-align: left;
}

.gmp .gmp_grid {
  display: grid;
  gap: 24px;
}
.gmp .gmp_grid_2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gmp .gmp_grid_3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gmp .gmp_card {
  display: block;
  padding: 32px;
  border: 1px solid var(--gmp-line);
  border-radius: var(--gmp-radius-lg);
  background: #fff;
  color: inherit;
  transition: box-shadow .2s, border-color .2s, transform .2s;
}
.gmp .gmp_card_link:hover {
  border-color: transparent;
  box-shadow: 0 1px 3px rgba(60, 64, 67, .2), 0 4px 12px rgba(60, 64, 67, .12);
  color: inherit;
}
.gmp .gmp_card_title {
  margin: 24px 0 8px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--gmp-ink);
}
.gmp .gmp_card_text {
  margin: 0;
  font-size: 15px;
  line-height: 1.7;
  color: var(--gmp-muted);
}
.gmp .gmp_card .gmp_more {
  margin-top: 20px;
}

.gmp .gmp_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
  border-radius: 50%;
  background: var(--gmp-blue-tint);
  color: var(--gmp-blue);
}

/* 入场动效：gmp.js 只给首屏以下的元素加 gmp_anim，首屏内容不闪；没有 JS 时全部直接显示 */
.gmp .gmp_anim {
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .6s ease, transform .6s ease;
}
.gmp .gmp_anim.is-in {
  opacity: 1;
  transform: none;
}

/* ---------- 3. 顶栏与导航 ---------- */
.gmp .gmp_header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1030;
  height: var(--gmp-header-h);
  background: #fff;
  border-bottom: 1px solid transparent;
  transition: border-color .2s, box-shadow .2s;
  font-family: var(--gmp-font);
}
.gmp .gmp_header.is-scrolled,
.gmp_is_inner .gmp_header {
  border-bottom-color: var(--gmp-line);
}
.gmp .gmp_header.is-scrolled {
  box-shadow: 0 1px 2px rgba(60, 64, 67, .12);
}
.gmp .gmp_header_inner {
  display: flex;
  align-items: center;
  gap: 32px;
  height: 100%;
}

.gmp .gmp_brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex: none;
  color: var(--gmp-ink);
  text-decoration: none;
}
.gmp .gmp_brand:hover {
  color: var(--gmp-ink);
}
.gmp .gmp_brand_logo {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}
.gmp .gmp_brand_text {
  font-size: 18px;
  font-weight: 500;
  white-space: nowrap;
}

.gmp .gmp_nav {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.gmp .gmp_nav ul.site_menu {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 4px;
  margin: 0 auto 0 0;
  padding: 0;
  list-style: none;
}
.gmp .gmp_nav ul.site_menu > li {
  position: relative;
  margin: 0;
}
.gmp .gmp_nav ul.site_menu > li > a {
  display: flex;
  align-items: center;
  gap: 4px;
  height: var(--gmp-header-h);
  padding: 0 12px;
  font-size: 15px;
  color: var(--gmp-text);
  text-decoration: none;
  white-space: nowrap;
  box-shadow: inset 0 -3px 0 transparent;
  transition: color .2s, box-shadow .2s;
}
.gmp .gmp_nav ul.site_menu > li > a:hover,
.gmp .gmp_nav ul.site_menu > li > a.active,
.gmp .gmp_nav ul.site_menu > li:hover > a {
  color: var(--gmp-blue);
  box-shadow: inset 0 -3px 0 var(--gmp-blue);
}
.gmp .gmp_nav .caret {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 5px solid currentColor;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  opacity: .7;
}
.gmp .gmp_nav .dropdown-toggle::after {
  display: none;
}

/* 二级菜单 */
.gmp .gmp_nav ul.site_menu_children {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 200px;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  border: 1px solid var(--gmp-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(60, 64, 67, .16);
}
.gmp .gmp_nav ul.site_menu > li:hover > ul.site_menu_children {
  display: block;
}
.gmp .gmp_nav ul.site_menu_children a {
  display: block;
  padding: 8px 20px;
  font-size: 14px;
  color: var(--gmp-text);
  white-space: nowrap;
}
.gmp .gmp_nav ul.site_menu_children a:hover {
  background: var(--gmp-gray-bg);
  color: var(--gmp-blue);
}

/* Mega 面板 */
.gmp .gmp_mega {
  position: absolute;
  top: 100%;
  left: -12px;
  display: none;
  min-width: 480px;
  padding: 24px 28px;
  border: 1px solid var(--gmp-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(60, 64, 67, .18);
}
.gmp .gmp_nav li.has_mega:hover > .gmp_mega,
.gmp .gmp_nav li.has_mega:focus-within > .gmp_mega {
  display: block;
}
.gmp .gmp_nav li.has_mega > ul.site_menu_children {
  display: none !important;
}
.gmp .gmp_mega_desc {
  margin: 0 0 16px;
  font-size: 13px;
  color: var(--gmp-muted);
}
.gmp .gmp_mega_cols {
  display: flex;
  gap: 40px;
}
.gmp .gmp_mega_col {
  min-width: 180px;
}
.gmp .gmp_mega_title {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .04em;
  color: var(--gmp-muted);
}
.gmp .gmp_mega_link {
  display: block;
  padding: 6px 0;
  font-size: 15px;
  color: var(--gmp-ink);
  text-decoration: none;
}
.gmp .gmp_mega_link:hover {
  color: var(--gmp-blue);
}

.gmp .gmp_nav_actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex: none;
}

.gmp .gmp_lang {
  display: inline-flex;
  align-items: center;
  padding: 2px;
  border: 1px solid var(--gmp-line);
  border-radius: 999px;
}
.gmp .gmp_lang_item {
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 13px;
  line-height: 20px;
  color: var(--gmp-muted);
  text-decoration: none;
}
.gmp .gmp_lang_item.is-active {
  background: var(--gmp-blue-tint);
  color: var(--gmp-blue);
}

.gmp .gmp_burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  margin-left: auto;
  padding: 0 9px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
}
.gmp .gmp_burger span {
  display: block;
  height: 2px;
  border-radius: 1px;
  background: var(--gmp-ink);
  transition: transform .2s, opacity .2s;
}
.gmp .gmp_burger:hover {
  background: var(--gmp-gray-bg);
}
.gmp .gmp_burger[aria-expanded="true"] span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.gmp .gmp_burger[aria-expanded="true"] span:nth-child(2) {
  opacity: 0;
}
.gmp .gmp_burger[aria-expanded="true"] span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ---------- 4. 首页 ---------- */
.gmp_is_front .gmp_main {
  padding-top: var(--gmp-header-h);
}
.gmp .gmp_messages {
  padding-top: 24px;
}

/* 内页：bootheme4 给 #main 留了 64px 顶距，正好等于顶栏高度，面包屑会贴住顶栏，这里多留 24px */
body.gmp.gmp_is_inner #main {
  padding-top: calc(var(--gmp-header-h) + 24px);
}

/* 4.1 Hero */
.gmp .gmp_hero {
  padding: 96px 0 56px;
  text-align: center;
}
.gmp .gmp_hero_title {
  max-width: 900px;
  margin: 0 auto;
  font-size: 56px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--gmp-ink);
}
.gmp .gmp_hl {
  color: var(--gmp-blue);
}
.gmp .gmp_hero_sub {
  max-width: 720px;
  margin: 24px auto 0;
  font-size: 18px;
  line-height: 1.7;
  color: var(--gmp-muted);
}

.gmp .gmp_services {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 16px;
  max-width: 1000px;
  margin: 64px auto 0;
  padding: 32px 0 0;
  list-style: none;
  border-top: 1px solid var(--gmp-line);
}
.gmp .gmp_services li {
  flex: 0 1 160px;
}
.gmp .gmp_service {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 12px 8px;
  border-radius: var(--gmp-radius);
  color: var(--gmp-ink);
  transition: background-color .2s;
}
.gmp .gmp_service:hover {
  background: var(--gmp-gray-bg);
  color: var(--gmp-blue);
}
.gmp .gmp_service_icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--gmp-blue-tint);
  color: var(--gmp-blue);
}
.gmp .gmp_service_icon svg {
  width: 26px;
  height: 26px;
}
.gmp .gmp_service_name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}

/* 4.2 人群分流双卡 */
.gmp .gmp_card_art {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 180px;
  border-radius: var(--gmp-radius);
  background: var(--gmp-gray-bg);
}
.gmp .gmp_card_art svg {
  max-width: 70%;
  height: auto;
}

/* 4.4 服务数据 + 覆盖行业 */
.gmp .gmp_band {
  margin: 48px 0;
  padding: 72px 0;
  background: var(--gmp-gray-bg);
}
.gmp .gmp_stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
}
.gmp .gmp_stat {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  text-align: center;
}
.gmp .gmp_stat dd {
  margin: 0;
  font-size: 48px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.02em;
  color: var(--gmp-ink);
}
.gmp .gmp_stat dt {
  margin-top: 8px;
  font-size: 15px;
  font-weight: 400;
  color: var(--gmp-muted);
}
.gmp .gmp_industries {
  margin-top: 56px;
  padding-top: 40px;
  border-top: 1px solid var(--gmp-line);
  text-align: center;
}
.gmp .gmp_industries_title {
  margin: 0 0 20px;
  font-size: 16px;
  font-weight: 500;
  color: var(--gmp-ink);
}
.gmp .gmp_chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gmp .gmp_chip {
  padding: 6px 16px;
  border: 1px solid var(--gmp-line);
  border-radius: 999px;
  background: #fff;
  font-size: 14px;
  color: var(--gmp-text);
}

/* 4.5 精选案例 */
.gmp .gmp_feature {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  align-items: center;
  gap: 56px;
}
.gmp .gmp_feature_media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  border-radius: var(--gmp-radius-lg);
  background: var(--gmp-blue-tint);
}
.gmp .gmp_feature_media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s;
}
.gmp .gmp_feature_media:hover img {
  transform: scale(1.03);
}
.gmp .gmp_feature_media_empty {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gmp-blue);
}
.gmp .gmp_feature_icon svg {
  width: 64px;
  height: 64px;
}

/* 4.6 服务流程 */
.gmp .gmp_steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.gmp .gmp_step {
  padding-top: 24px;
  border-top: 2px solid var(--gmp-line);
  transition: border-color .2s;
}
.gmp .gmp_step:hover {
  border-top-color: var(--gmp-blue);
}
.gmp .gmp_step_num {
  display: block;
  margin-bottom: 12px;
  font-size: 28px;
  font-weight: 500;
  color: var(--gmp-blue);
}

/* 4.7 最新资讯 */
.gmp .gmp_news {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.gmp .gmp_news_media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--gmp-gray-bg);
  color: var(--gmp-blue);
}
.gmp .gmp_news_media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gmp .gmp_news_media svg {
  width: 40px;
  height: 40px;
}
.gmp .gmp_news_body {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 24px 24px;
}
.gmp .gmp_news_date {
  font-size: 13px;
  color: var(--gmp-muted);
}
.gmp .gmp_news_title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.45;
  color: var(--gmp-ink);
}
.gmp .gmp_news:hover .gmp_news_title {
  color: var(--gmp-blue);
}

/* 4.8 收尾双卡 */
.gmp .gmp_cta {
  padding: 48px;
  border-radius: var(--gmp-radius-lg);
}
.gmp .gmp_cta .gmp_btn {
  margin-top: 28px;
}
.gmp .gmp_cta_blue {
  background: var(--gmp-blue-tint);
}
.gmp .gmp_cta_gray {
  background: var(--gmp-gray-bg);
}

/* ---------- 5. 页脚、返回顶部 ---------- */
.gmp .gmp_footer {
  padding: 56px 0 24px;
  border-top: 1px solid var(--gmp-line);
  background: var(--gmp-gray-bg);
  font-family: var(--gmp-font);
  font-size: 14px;
  color: var(--gmp-muted);
}
.gmp .gmp_footer a {
  color: var(--gmp-muted);
  text-decoration: none;
}
.gmp .gmp_footer a:hover {
  color: var(--gmp-blue);
}
.gmp .gmp_footer_grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr));
  gap: 32px;
}
.gmp .gmp_footer_brand .gmp_brand,
.gmp .gmp_footer_brand .gmp_brand:hover {
  color: var(--gmp-ink);
}
.gmp .gmp_footer_desc {
  max-width: 320px;
  margin: 16px 0 0;
  line-height: 1.7;
}
.gmp .gmp_footer_title {
  margin: 0 0 16px;
  font-size: 14px;
  font-weight: 500;
  color: var(--gmp-ink);
}
.gmp .gmp_footer_col ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.gmp .gmp_footer_col li {
  margin: 0 0 10px;
}
.gmp .gmp_footer a.gmp_footer_cta {
  font-weight: 500;
  color: var(--gmp-blue);
}
.gmp .gmp_footer_friends {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid var(--gmp-line);
  font-size: 13px;
}
.gmp .gmp_footer_friends span {
  color: var(--gmp-ink);
}
.gmp .gmp_footer_bottom {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--gmp-line);
  font-size: 13px;
}
.gmp .gmp_footer_bottom .gmp_lang {
  background: #fff;
}

.gmp .gmp_top {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1020;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--gmp-line);
  border-radius: 50%;
  background: #fff;
  color: var(--gmp-blue);
  box-shadow: 0 2px 8px rgba(60, 64, 67, .16);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s, transform .2s, visibility .2s;
}
.gmp .gmp_top.show {
  opacity: 1;
  visibility: visible;
  transform: none;
}

/* ---------- 6. 响应式 ---------- */
/* 登录后 CMS 会在导航末尾追加「网站管理」和用户名两个菜单，桌面宽度下放不下，
   宽屏以外只在移动端抽屉里显示（后台入口仍可直接访问 /admin） */
@media (min-width: 992px) and (max-width: 1439.98px) {
  .gmp .gmp_nav ul.site_menu > li.site_menu_list_admin,
  .gmp .gmp_nav ul.site_menu > li.site_menu_list_user {
    display: none;
  }
}

/* 窄桌面宽度：7 个菜单 + 公司全称放不下，顶栏只留 logo 图形 */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .gmp .gmp_header .gmp_brand_text {
    display: none;
  }
}

@media (max-width: 1199.98px) {
  .gmp .gmp_header_inner {
    gap: 20px;
  }
  .gmp .gmp_nav ul.site_menu > li > a {
    padding: 0 8px;
    font-size: 14px;
  }
  .gmp .gmp_nav_actions {
    gap: 14px;
  }
}

@media (max-width: 991.98px) {
  .gmp .gmp_burger {
    display: flex;
  }
  .gmp .gmp_nav {
    position: fixed;
    top: var(--gmp-header-h);
    left: 0;
    right: 0;
    bottom: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    overflow-y: auto;
    padding: 8px 24px 32px;
    border-top: 1px solid var(--gmp-line);
    background: #fff;
  }
  .gmp .gmp_nav.is-open {
    display: flex;
  }
  body.gmp.gmp_nav_open {
    overflow: hidden;
  }
  .gmp .gmp_nav ul.site_menu {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    margin: 0;
  }
  .gmp .gmp_nav ul.site_menu > li {
    border-bottom: 1px solid var(--gmp-line);
  }
  .gmp .gmp_nav ul.site_menu > li > a {
    height: auto;
    padding: 14px 0;
    font-size: 16px;
    box-shadow: none !important;
  }
  .gmp .gmp_nav ul.site_menu_children {
    position: static;
    display: block;
    min-width: 0;
    padding: 0 0 8px 12px;
    border: 0;
    box-shadow: none;
  }
  .gmp .gmp_nav ul.site_menu_children a {
    padding: 8px 0;
  }
  .gmp .gmp_mega,
  .gmp .gmp_nav li.has_mega:hover > .gmp_mega {
    display: none;
  }
  .gmp .gmp_nav li.has_mega > ul.site_menu_children {
    display: block !important;
  }
  .gmp .gmp_nav_actions {
    flex-wrap: wrap;
    margin-top: 24px;
  }

  .gmp .gmp_hero {
    padding: 64px 0 40px;
  }
  .gmp .gmp_hero_title {
    font-size: 40px;
  }
  .gmp .gmp_grid_3,
  .gmp .gmp_steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gmp .gmp_feature {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
  }
  .gmp .gmp_footer_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gmp .gmp_footer_brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767.98px) {
  .gmp .gmp_wrap {
    padding: 0 20px;
  }
  .gmp .gmp_brand_text {
    font-size: 16px;
  }
  .gmp .gmp_hero {
    padding: 48px 0 32px;
  }
  .gmp .gmp_hero_title {
    font-size: 32px;
  }
  .gmp .gmp_hero_sub {
    font-size: 16px;
  }
  .gmp .gmp_actions .gmp_btn {
    flex: 1 1 100%;
  }
  .gmp .gmp_services {
    margin-top: 40px;
  }
  .gmp .gmp_services li {
    flex-basis: 30%;
  }
  .gmp .gmp_h2 {
    font-size: 26px;
  }
  .gmp .gmp_section {
    padding: 32px 0;
  }
  .gmp .gmp_section_last {
    padding-bottom: 64px;
  }
  .gmp .gmp_head {
    margin-bottom: 32px;
  }
  .gmp .gmp_head_split {
    flex-direction: column;
    align-items: flex-start;
  }
  .gmp .gmp_grid_2,
  .gmp .gmp_grid_3,
  .gmp .gmp_steps {
    grid-template-columns: minmax(0, 1fr);
  }
  .gmp .gmp_card {
    padding: 24px;
  }
  .gmp .gmp_card_art {
    height: 140px;
  }
  .gmp .gmp_band {
    padding: 48px 0;
  }
  .gmp .gmp_stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 32px;
  }
  .gmp .gmp_stat dd {
    font-size: 36px;
  }
  .gmp .gmp_cta {
    padding: 32px 24px;
  }
  .gmp .gmp_footer_grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .gmp .gmp_footer_bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gmp *,
  .gmp *::before,
  .gmp *::after {
    transition: none !important;
    animation: none !important;
  }
  .gmp .gmp_anim {
    opacity: 1;
    transform: none;
  }
}

/* ---------- 7. 内页皮肤：把 bootheme4 的正文样式统一成首页风格 ----------
 * 只作用于 body.gmp_is_inner（新主题的内页），不改 bootheme4 文件；切回 bootheme4 时一切照旧。
 * 7.1 先重定义 bootheme4 的颜色变量（它的青色主题大多走这些变量），覆盖面最大
 * 7.2 再处理写死颜色、渐变徽标、粗标题等变量管不到的地方
 */

/* 7.1 颜色、圆角变量 */
body.gmp.gmp_is_inner {
  --bc-brand: var(--gmp-blue);
  --bc-accent: var(--gmp-blue);
  --bc-brand-deep: var(--gmp-ink);
  --bc-text: var(--gmp-ink);
  --bc-sub: var(--gmp-muted);
  --bc-line: var(--gmp-line);
  --bc-line-soft: #eceef1;
  --bc-bg-alt: var(--gmp-gray-bg);
  --hz-ink: var(--gmp-ink);
  --hz-navy: var(--gmp-ink);
  --hz-orange: var(--gmp-blue);
  --hz-orange2: var(--gmp-blue);
  --hz-amber: #8ab4f8;
  --hz-text: var(--gmp-ink);
  --hz-sub: var(--gmp-muted);
  --hz-line: var(--gmp-line);
  --hz-bg-soft: var(--gmp-gray-bg);
  --hz-grad: var(--gmp-blue);
  background: #fff;
}
body.gmp_is_inner #content a {
  color: var(--gmp-blue);
}
body.gmp_is_inner #content a:hover {
  color: var(--gmp-blue-dark);
}

/* 7.2 面包屑 */
body.gmp_is_inner #content .breadcrumb .bc_item a {
  color: var(--gmp-muted);
}
body.gmp_is_inner #content .breadcrumb .bc_item a:hover {
  color: var(--gmp-blue);
  background: var(--gmp-blue-tint);
}
body.gmp_is_inner .breadcrumb .bc_current {
  color: var(--gmp-ink);
  font-weight: 500;
}

/* 7.3 标题：首页用中等字重，内页统一 */
body.gmp_is_inner h1.content_title,
body.gmp_is_inner h1.content_type_title,
body.gmp_is_inner .page_static_title {
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--gmp-ink);
}
body.gmp_is_inner .content_view_content_body h2,
body.gmp_is_inner .page_static_body h2 {
  padding-left: 0;
  border-left: 0;
  font-weight: 500;
  color: var(--gmp-ink);
}
body.gmp_is_inner .content_view_content_body h3,
body.gmp_is_inner .page_static_body h3 {
  font-weight: 500;
  color: var(--gmp-ink);
}
body.gmp_is_inner .content_view_content_body,
body.gmp_is_inner .page_static_body {
  color: var(--gmp-text);
}
/* 单页标题下的渐变短横线 → 品牌蓝细线 */
body.gmp_is_inner .ps_head .page_static_title::after {
  height: 3px;
  background: var(--gmp-blue);
}

/* 7.4 列表页头部：去掉渐变色"新"字方块 */
body.gmp_is_inner .ct_head_icon {
  display: none;
}
body.gmp_is_inner .ct_count {
  background: var(--gmp-gray-bg);
  border-color: var(--gmp-line);
  color: var(--gmp-muted);
}

/* 7.5 分类标签：渐变胶囊 → 浅蓝胶囊 */
body.gmp_is_inner .cv_type_tag {
  background: var(--gmp-blue-tint) !important;
  color: var(--gmp-blue) !important;
  font-weight: 500;
}

/* 7.6 卡片（列表卡片、上一篇/下一篇、相关阅读）：白底细边框、大圆角、悬停投影
   bootheme4 的灰底写成了 !important（a.ct_card_hasimg、.cv_pn_item），这里同样需要 !important */
body.gmp_is_inner a.ct_card,
body.gmp_is_inner a.ct_card_hasimg,
body.gmp_is_inner .cv_pn_item,
body.gmp_is_inner a.cv_related_item {
  border: 1px solid var(--gmp-line) !important;
  border-radius: var(--gmp-radius-lg) !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.gmp_is_inner .ct_card_cover {
  border-radius: 0;
}
body.gmp_is_inner .ct_card_date {
  padding: 0;
  background: transparent;
  font-weight: 400;
  color: var(--gmp-muted);
}

/* 标题左侧的竖条、单页标题下的整条蓝线：首页没有这些装饰，去掉 */
body.gmp_is_inner h1.content_type_title,
body.gmp_is_inner h2.page_static_title {
  padding-left: 0;
}
body.gmp_is_inner h1.content_type_title::before,
body.gmp_is_inner h2.page_static_title::before {
  display: none;
}
body.gmp_is_inner .ct_head,
body.gmp_is_inner .ps_head {
  border-bottom: 1px solid var(--gmp-line);
}
body.gmp_is_inner .ct_card_body {
  background: transparent;
}
body.gmp_is_inner a.ct_card:hover,
body.gmp_is_inner .cv_pn_item:hover,
body.gmp_is_inner a.cv_related_item:hover {
  border-color: transparent !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, .2), 0 4px 12px rgba(60, 64, 67, .12) !important;
  transform: none;
}
body.gmp_is_inner .ct_card_title,
body.gmp_is_inner .cv_related_title {
  font-weight: 500;
  color: var(--gmp-ink);
}
body.gmp_is_inner .ct_card:hover .ct_card_title,
body.gmp_is_inner .cv_related_item:hover .cv_related_title {
  color: var(--gmp-blue);
}
body.gmp_is_inner .ct_card_more {
  color: var(--gmp-blue) !important;
  font-weight: 500;
}
body.gmp_is_inner .ct_card_desc,
body.gmp_is_inner .ct_card_date,
body.gmp_is_inner .cv_related_date,
body.gmp_is_inner .cv_meta,
body.gmp_is_inner .cv_pn_label {
  color: var(--gmp-muted);
}
body.gmp_is_inner .cv_related_bar {
  background: var(--gmp-blue) !important;
}

/* 产品列表（横条卡片）：同样白底细边框、中等字重 */
body.gmp_is_inner a.ct_product {
  border: 1px solid var(--gmp-line) !important;
  border-radius: var(--gmp-radius-lg) !important;
  background: #fff !important;
  box-shadow: none !important;
}
body.gmp_is_inner a.ct_product:hover {
  border-color: transparent !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, .2), 0 4px 12px rgba(60, 64, 67, .12) !important;
  transform: none;
}
body.gmp_is_inner .ct_product_title {
  font-weight: 500;
  color: var(--gmp-ink);
}
body.gmp_is_inner a.ct_product:hover .ct_product_title {
  color: var(--gmp-blue);
}
body.gmp_is_inner .ct_product_icon {
  border-radius: 50%;
  background: var(--gmp-blue-tint) !important;
  color: var(--gmp-blue) !important;
  box-shadow: none !important;
}
body.gmp_is_inner .ct_product_desc,
body.gmp_is_inner .ct_item_date {
  color: var(--gmp-muted);
}
body.gmp_is_inner .ct_item_date {
  background: transparent;
  font-weight: 400;
}
body.gmp_is_inner .ct_product_go {
  color: var(--gmp-blue) !important;
  font-weight: 500;
}

/* 7.7 按钮：胶囊形，品牌蓝 */
body.gmp_is_inner .ct_back {
  border: 1px solid var(--gmp-line);
  border-radius: 999px;
  background: #fff;
  color: var(--gmp-blue) !important;
}
body.gmp_is_inner .ct_back:hover {
  border-color: #d2e3fc;
  background: var(--gmp-blue-tint);
  color: var(--gmp-blue-dark) !important;
}
body.gmp_is_inner #content .btn-primary,
body.gmp_is_inner #content input[type=submit],
body.gmp_is_inner #content button[type=submit] {
  min-height: 40px;
  padding: 0 24px;
  border: 1px solid var(--gmp-blue) !important;
  border-radius: 999px;
  background: var(--gmp-blue) !important;
  color: #fff !important;
  font-weight: 500;
  box-shadow: none;
}
body.gmp_is_inner #content .btn-primary:hover,
body.gmp_is_inner #content input[type=submit]:hover,
body.gmp_is_inner #content button[type=submit]:hover {
  border-color: var(--gmp-blue-dark) !important;
  background: var(--gmp-blue-dark) !important;
  box-shadow: 0 1px 3px rgba(60, 64, 67, .3);
}

/* 7.8 表单输入框：圆角、聚焦时蓝色描边 */
body.gmp_is_inner #content input[type=text],
body.gmp_is_inner #content input[type=email],
body.gmp_is_inner #content input[type=tel],
body.gmp_is_inner #content input[type=password],
body.gmp_is_inner #content textarea,
body.gmp_is_inner #content select {
  border: 1px solid var(--gmp-line);
  border-radius: 8px;
}
body.gmp_is_inner #content input:focus,
body.gmp_is_inner #content textarea:focus,
body.gmp_is_inner #content select:focus {
  border-color: var(--gmp-blue);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(26, 115, 232, .18);
}

/* 7.9 分页 */
body.gmp_is_inner .pagination .page-link {
  border-color: var(--gmp-line);
  color: var(--gmp-blue);
}
body.gmp_is_inner .pagination .active .page-link,
body.gmp_is_inner .pagination .page-item.active .page-link {
  border-color: var(--gmp-blue);
  background: var(--gmp-blue);
  color: #fff;
}

/* ---------- 8. 登录页、错误页 ----------
 * 8.1 登录表单：/user/login（普通内页）和受保护页的登录（system/error.tpl.php）共用
 *     bootheme4 把表单本身画成带 logo、标题伪元素的灰底卡片，这里统一成首页卡片风格
 * 8.2 error.tpl.php 的整页外壳（简化顶栏、居中卡片、404 提示）
 */

/* 8.1 登录表单 */
body.gmp_is_inner:has(.user_login_form) #main {
  background: #fff;
}
body.gmp_is_inner .user_login_form {
  max-width: 400px;
  margin: 56px auto 80px;
  padding: 40px 36px 32px;
  border: 1px solid var(--gmp-line);
  border-radius: var(--gmp-radius-lg);
  background: #fff;
  box-shadow: none;
}
body.gmp_is_inner .user_login_form::before {
  font-weight: 500;
  color: var(--gmp-ink);
}
body.gmp_is_inner .user_login_form label {
  font-weight: 500;
  color: var(--gmp-ink) !important;
}
body.gmp_is_inner .user_login_form .form_description a {
  color: var(--gmp-blue);
}
body.gmp_is_inner .user_login_form input[name="mail"],
body.gmp_is_inner .user_login_form input[name="pass"] {
  height: 44px;
  border-radius: 8px;
}
body.gmp_is_inner .user_login_form .checkbox_field_his input[type="checkbox"] {
  accent-color: var(--gmp-blue);
}
/* 早期的 #user_login_form_submit { padding-left: 42px } 会把「记住我」和登录按钮往右推，这里归零 */
body.gmp_is_inner .user_login_form #user_login_form_submit {
  padding-left: 0;
}
body.gmp_is_inner .user_login_form .checkbox_field_his {
  float: none;
  line-height: 1.5;
  font-weight: 400;
  color: var(--gmp-muted);
}
body.gmp_is_inner .user_login_form .checkbox_field_his .option_label {
  font-weight: 400;
}
body.gmp_is_inner .user_login_form input[type="submit"] {
  width: 100%;
  height: 44px;
  margin-top: 8px;
  border-radius: 999px !important;
  background: var(--gmp-blue) !important;
}
body.gmp_is_inner .user_login_form input[type="submit"]:hover {
  background: var(--gmp-blue-dark) !important;
  transform: none;
  box-shadow: 0 1px 3px rgba(60, 64, 67, .3);
}
body.gmp_is_inner .user_login_form #ajax_description {
  margin: 0 0 16px;
  padding: 10px 14px;
  border: 1px solid #f6aea9;
  border-radius: 8px;
  background: #fce8e6;
  color: #c5221f;
  font-size: 14px;
}
body.gmp_is_inner .user_login_form #ajax_description:empty {
  display: none;
}

/* 8.2 错误 / 登录整页外壳（system/error.tpl.php） */
body.gmp_auth {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background: var(--gmp-gray-bg);
}
.gmp_auth .gmp_header_simple {
  border-bottom-color: var(--gmp-line);
}
.gmp_auth .gmp_header_simple .gmp_header_inner {
  justify-content: space-between;
}
.gmp_auth .gmp_auth_back {
  font-size: 14px;
}
.gmp_auth .gmp_auth_main {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  padding: calc(var(--gmp-header-h) + 48px) 20px 48px;
  box-sizing: border-box;
}
.gmp_auth .gmp_auth_card,
.gmp_auth .gmp_auth_error_box {
  width: 100%;
  max-width: 440px;
  padding: 40px 40px 32px;
  border: 1px solid var(--gmp-line);
  border-radius: var(--gmp-radius-lg);
  background: #fff;
  box-sizing: border-box;
}
.gmp_auth .gmp_auth_error_box {
  max-width: 560px;
  padding: 48px 40px 40px;
  text-align: center;
}
.gmp_auth .gmp_auth_title {
  margin: 0;
  font-size: 28px;
  font-weight: 500;
  line-height: 1.3;
  color: var(--gmp-ink);
}
.gmp_auth .gmp_auth_sub {
  margin: 8px 0 0;
  font-size: 15px;
  line-height: 1.6;
  color: var(--gmp-muted);
}
.gmp_auth .gmp_auth_code {
  margin: 0 0 8px;
  font-size: 72px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--gmp-blue);
}
.gmp_auth .gmp_auth_extra {
  margin-top: 16px;
  color: var(--gmp-text);
}
.gmp_auth .gmp_auth_links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 24px;
  margin: 32px 0 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--gmp-line);
  list-style: none;
  font-size: 14px;
}
.gmp_auth .gmp_auth_links a {
  color: var(--gmp-muted);
  text-decoration: none;
}
.gmp_auth .gmp_auth_links a:hover {
  color: var(--gmp-blue);
}
/* 登录卡片里的表单：外层卡片已经画好，表单本身去掉卡片、logo 和伪元素标题 */
.gmp_auth .gmp_auth_form {
  margin-top: 28px;
}
.gmp_auth .gmp_auth_card .user_login_form {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
}
.gmp_auth .gmp_auth_card .user_login_form::before,
.gmp_auth .gmp_auth_card .user_login_form::after {
  display: none;
}
.gmp_auth .gmp_auth_footer {
  padding: 20px 0;
  border-top: 1px solid var(--gmp-line);
  font-size: 13px;
  color: var(--gmp-muted);
  text-align: center;
}
.gmp_auth .gmp_auth_footer a {
  color: var(--gmp-muted);
}

@media (max-width: 575.98px) {
  body.gmp_is_inner .user_login_form {
    margin: 32px auto 48px;
    padding: 32px 22px 26px;
  }
  .gmp_auth .gmp_auth_card,
  .gmp_auth .gmp_auth_error_box {
    padding: 32px 22px 26px;
  }
  .gmp_auth .gmp_auth_code {
    font-size: 56px;
  }
  .gmp_auth .gmp_header_simple .gmp_brand_text {
    font-size: 15px;
  }
}

/* ---------- 9. 内页版心：与顶栏对齐、去掉白底卡片 ----------
 * bootheme4 的 #main 宽 1280px、上外边距 60px，正文还包在 56px 内边距的白卡片里，
 * 导致顶栏 logo、面包屑、正文三条左边线不一致，顶栏下面空出一大块。
 * 这里让 #main 和顶栏用同一个版心（1200px，左右 24px），正文直接排在白底上。
 */
body.gmp.gmp_is_inner #main {
  max-width: 1200px;
  margin: 0 auto;
  padding: calc(var(--gmp-header-h) + 28px) 24px 88px;
}
body.gmp_is_inner #content > .content_view,
body.gmp_is_inner #content > .content_type_view,
body.gmp_is_inner #content > .page_static_type,
body.gmp_is_inner #content .content_view,
body.gmp_is_inner #content .content_type_view,
body.gmp_is_inner #content .page_static_type {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.gmp_is_inner #content .breadcrumb {
  flex-wrap: wrap;
  margin: 0 0 32px;
}
/* 长标题的面包屑末项允许换行，避免手机上把整页撑宽 */
body.gmp_is_inner #content .breadcrumb .bc_current {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}
body.gmp_is_inner #main,
body.gmp_is_inner #content {
  box-sizing: border-box;
  min-width: 0;
}
/* 文章正文行宽：整行 1150px 读起来太长，正文限制在 820px，标题和图片不受影响 */
body.gmp_is_inner .content_view_content_body,
body.gmp_is_inner .page_static_body {
  max-width: 820px;
  font-size: 17px;
  line-height: 1.85;
}
body.gmp_is_inner .content_view_content_body img {
  max-width: 100%;
  height: auto;
  border-radius: var(--gmp-radius) !important;
}
/* 标题限宽便于阅读，分隔线（cv_head 底边）仍贯穿整行 */
body.gmp_is_inner .cv_head h1.content_title {
  max-width: 980px;
}
body.gmp_is_inner .cv_meta_sep {
  color: var(--gmp-line);
}

/* 没有面包屑的单页（关于我们、联系我们）：标题和顶栏之间补足距离 */
body.gmp_is_inner #content > .page_static_type:first-child,
body.gmp_is_inner #content > div:first-child > .page_static_type {
  margin-top: 40px;
}
/* 列表卡片文字区内边距（bootheme4 原值在去掉卡片外框后只剩 6px） */
body.gmp_is_inner a.ct_card_hasimg .ct_card_body,
body.gmp_is_inner a.ct_card .ct_card_body {
  padding: 20px 24px 24px !important;
}

@media (max-width: 767.98px) {
  body.gmp.gmp_is_inner #main {
    padding: calc(var(--gmp-header-h) + 20px) 20px 64px;
  }
  /* 手机上面包屑只保留到上一级，文章标题紧接着就有 */
  body.gmp_is_inner #content .breadcrumb .bc_current,
  body.gmp_is_inner #content .breadcrumb .bc_sep:nth-last-child(2) {
    display: none;
  }
  body.gmp_is_inner #content > .page_static_type:first-child,
  body.gmp_is_inner #content > div:first-child > .page_static_type {
    margin-top: 24px;
  }
  body.gmp_is_inner #content .breadcrumb {
    margin-bottom: 24px;
  }
  body.gmp_is_inner .content_view_content_body,
  body.gmp_is_inner .page_static_body {
    font-size: 16px;
  }
}
