/* ==================================================
   🌐 全局变量 (Global Variables)
   ================================================== */
:root {
  --ast-global-color-0: #44ab99;
  --ast-global-color-1: #009fe8;
  --ast-global-color-2: #888888;
  --ast-global-color-3: #ffffff;
  --ast-global-color-7: #ffffff;
  --ast-global-color-8: #0b1215;
  --ast-border-color: rgba(255, 255, 255, 0.1);
  --ast-container-lg-padding: 3em;
  --ast-container-xs-padding: 2.4em;
}

/* ==================================================
   🔄 重置 (Reset) & 基础排版 (Typography)
   ================================================== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  height: 100%;
}

body {
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  line-height: 1.5em;
  color: var(--ast-global-color-7);
  background-color: var(--ast-global-color-8);
}

/* 标题 H1~H6 */
h1 {
  font-size: 2.7778rem; /* 50px */
  line-height: 1.4em;
  font-weight: normal;
  color: var(--ast-global-color-7);
}
h2 {
  font-size: 2.2222rem; /* 40px */
  line-height: 1.3em;
  font-weight: 600;
  color: var(--ast-global-color-7);
}
h3 {
  font-size: 1.7778rem; /* 32px */
  line-height: 1.3em;
  color: var(--ast-global-color-7);
}
h4 {
  font-size: 1.3333rem; /* 24px */
  line-height: 1.2em;
  color: var(--ast-global-color-7);
}
h5 {
  font-size: 1.1111rem; /* 20px */
  line-height: 1.2em;
  color: var(--ast-global-color-7);
}
h6 {
  font-size: 0.9444rem; /* 17px */
  line-height: 1.25em;
  color: var(--ast-global-color-7);
}

/* 通用链接 */
a {
  color: var(--ast-global-color-7);
  text-decoration: none;
}
a:hover, a:focus {
  color: var(--ast-global-color-2);
}

/* ==================================================
   🏷️ 通用工具类
   ================================================== */
.text-center { text-align: center; }
.text-left   { text-align: left;   }
.text-right  { text-align: right;  }

.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: 0.5rem; }
.mb-2 { margin-bottom: 1rem; }
.mb-3 { margin-bottom: 1.5rem; }
.mb-4 { margin-bottom: 2rem; }

.mt-0 { margin-top: 0; }
.mt-1 { margin-top: 0.5rem; }
.mt-2 { margin-top: 1rem; }
.mt-3 { margin-top: 1.5rem; }
.mt-4 { margin-top: 2rem; }

/* ==================================================
   🏠 Header 样式 (Header Styles)
   ================================================== */
.header {
  background: var(--ast-global-color-8);
  border-bottom: 2px solid var(--ast-global-color-0);
  padding: 15px 0;
  position: relative;
  min-height: 50px;
}

.header-container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  display: flex;
  align-items: center;
}

/* 如果要在 Header 中显示图片 Logo，请注释掉这条 */
.logo img {
  display: none;
}

/* Logo 文本 */
.logo-text {
  display: inline-block;
  font-size: 28px;
  font-weight: bold;
  color: var(--ast-global-color-3);
  margin-left: 10px;
}

/* 社交链接 (抖音、小红书、YouTube 等) */
.social-links {
  display: flex;
  gap: 12px;
  align-items: center;
}

.social-link {
  display: inline-flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.social-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  /* 若下载到的是深色 SVG，用 filter 反转为白色；若已有白色版，可移除此项 */
  filter: brightness(0) invert(1);
}

.social-link:hover .social-icon {
  opacity: 0.8;
}

/* 强制 Header 中所有链接文字为白色 */
.header a {
  color: var(--ast-global-color-3) !important;
}
.header a:hover {
  color: rgba(255, 255, 255, 0.8) !important;
}

/* 📱 Header 响应式 (≤544px) */
@media (max-width: 544px) {
  .header {
    min-height: 80px;
    padding: 15px 20px;
  }
  .logo-text {
    display: none; /* 小屏隐藏 Logo 文本 */
  }
  .social-link {
    width: 28px;
    height: 28px;
  }
  .social-icon {
    width: 100%;
    height: 100%;
  }
}

/* ==================================================
   📣 主内容区 (Main Content)
   ================================================== */
/* 统一 container：宽度限制 + 默认左右 padding */
.container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

/* 按钮 基础样式 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px;
  border-radius: 4px;
  background-color: var(--ast-global-color-0);
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  transition: background-color 0.3s ease;
  white-space: nowrap;
}
.btn:hover {
  background-color: var(--ast-global-color-1);
}

/* 主次按钮区分 */
.btn-primary {
  background-color: var(--ast-global-color-0);
}
.btn-primary:hover {
  background-color: var(--ast-global-color-1);
}
.btn-purchase {
  background-color: var(--ast-global-color-0);
  padding: 18px 40px;
  font-size: 18px;
  min-width: 160px;
}
.btn-purchase:hover {
  background-color: var(--ast-global-color-1);
}

/* Hero Banner */
.hero-banner {
  text-align: center;
  margin-bottom: 2em;
}
.hero-banner .hero-image {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* 产品简介 */
.product-intro {
  text-align: center;
  margin: 2em 0;
}
.intro-text {
  font-size: 18px;
  line-height: 1.6;
}

/* 导航按钮区域 */
.nav-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2em;
  margin: 2em 0;
  flex-wrap: wrap;
}
.nav-buttons .button-group {
  display: flex;
  gap: 1.5em;
  flex-wrap: wrap;
  justify-content: center;
}
.nav-buttons .btn {
  padding: 12px 24px;
}
.purchase-section {
  text-align: center;
}

/* 内容区通用段落 */
.content-section {
  margin: 4em 0;
  padding: 2em 0;
}

/* Section 标题（居中） */
.section-header {
  text-align: center;
  margin-bottom: 3em;
}
.section-header h2 {
  color: var(--ast-global-color-7);
  margin-bottom: 1em;
}
.section-info h4 {
  color: var(--ast-global-color-7);
  margin-bottom: 1em;
}

/* 分隔线 */
.divider {
  width: 60px;
  height: 2px;
  background-color: var(--ast-global-color-0);
  margin: 1em auto;
}

/* 特征内容 */
.feature-content {
  text-align: center;
  margin: 2em 0;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.feature-content p {
  margin-bottom: 1.5em;
  line-height: 1.6;
}
.feature-content h4 {
  margin-top: 2.5em;
  margin-bottom: 1em;
  color: var(--ast-global-color-7);
}

/* 特征图像 */
.feature-image {
  text-align: center;
  margin: 3em 0;
}
.feature-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* 数据改善框 */
.data-improvement {
  background-color: rgba(68, 171, 153, 0.1);
  padding: 2em;
  border-radius: 8px;
  margin: 3em 0;
  text-align: center;
}
.status-good {
  color: #abfa7a;
  font-weight: bold;
}
.status-improve {
  color: #ffd66c;
  font-weight: bold;
}

/* 功能网格 (Data Analysis) */
.feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3em;
  margin: 4em 0;
}
.feature-item {
  text-align: center;
}
.feature-item h4 {
  margin-bottom: 1em;
  color: var(--ast-global-color-7);
}
.feature-item p {
  margin-bottom: 2em;
  line-height: 1.6;
}
.feature-images {
  display: flex;
  flex-direction: column;
  gap: 1em;
}
.feature-images img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.feature-item img {
  width: 100%;
  max-width: 400px;
  height: auto;
  border-radius: 8px;
}

/* 购买按钮区域 */
.purchase-section {
  text-align: center;
}

/* 训练模块网格 */
.training-modules-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em;
  margin: 3em 0;
}
.training-modules-grid .module-item {
  text-align: center;
  background-color: rgba(255, 255, 255, 0.05);
  padding: 2em;
  border-radius: 12px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.training-modules-grid .module-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(68, 171, 153, 0.15);
}
.training-modules-grid .module-item h4 {
  color: var(--ast-global-color-7);
  margin-bottom: 1em;
  font-size: 18px;
}
.training-modules-grid .module-item p {
  margin-bottom: 1.5em;
  line-height: 1.6;
  font-size: 14px;
}
.training-modules-grid .module-item img {
  width: 100%;
  max-width: 280px;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
}

/* 教学合作介绍 */
.coach-collaboration {
  text-align: center;
  margin: 3em 0;
}
.coach-collaboration .highlight-number {
  font-size: 2em;
  color: var(--ast-global-color-0);
}
.coach-collaboration .coach-name {
  color: var(--ast-global-color-0);
}

/* 教学影片（目前隐藏） */
.training-videos {
  margin-top: 2em;
}
.training-videos .video-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5em;
}
.training-videos .video-item {
  text-align: center;
  background-color: rgba(255, 255, 255, 0.05);
  padding: 1.5em;
  border-radius: 8px;
}
.training-videos .video-placeholder {
  background-color: rgba(255, 255, 255, 0.1);
  height: 150px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ast-global-color-7);
  font-size: 1rem;
}

/* ==================================================
   📤 Footer 样式 (Footer Styles)
   ================================================== */
.site-footer {
  background-color: var(--ast-global-color-8);
  color: var(--ast-global-color-7);
  margin-top: 4em;
}

/* 通用 Footer 容器 (80% 宽度, 居中) */
.footer-container {
  width: 80%;
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
}

/* 中间行：左右两栏 */
.footer-middle {
  padding: 20px 0;
  border-top: 1px solid var(--ast-border-color);
  border-bottom: 1px solid var(--ast-border-color);
}

.footer-middle .footer-container {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1em;
}

/* 左栏 (导航 + 公司信息) */
.footer-left {
  display: flex;
  flex-direction: column;
  gap: 0.8em;
}

/* Footer 导航 */
.footer-nav {
  display: flex;
  gap: 2em;
}
.footer-nav a {
  color: #fff;
  font-size: 16px;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.3s ease;
}
.footer-nav a:hover {
  color: rgba(255, 255, 255, 0.8);
}

/* 公司联合开发信息 */
.company-info {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5em;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
}
.company-info span {
  color: rgba(255, 255, 255, 0.8);
}
.company-info strong {
  color: #fff;
  font-weight: 600;
}

/* 右栏 (ICP 列表) */
.footer-right {
  display: flex;
  justify-content: flex-end;
}
.icp-placeholder {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5em;
  justify-content: flex-end;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.6);
}
.icp-item {
  white-space: nowrap;
}
.icp-item a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  transition: color 0.3s ease;
}
.icp-item a:hover {
  color: rgba(255, 255, 255, 0.85);
}

/* 底部版权行 */
.footer-bottom {
  padding: 15px 0;
}
.footer-bottom .footer-container {
  justify-content: center;
}
.footer-bottom p {
  margin: 0;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
}

/* 📱 Footer 响应式 (≤768px) */
@media (max-width: 768px) {
  .footer-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .footer-middle .footer-container {
    gap: 1em 0;
  }
  .footer-left, .footer-right {
    width: 100%;
  }
  .footer-left {
    align-items: center;
  }
  .company-info {
    font-size: 13px;
  }
  .icp-placeholder {
    justify-content: center;
  }
}

/* ==================================================
   📱 主内容区 响应式 (≤1200px / ≤921px / ≤640px / ≤544px)
   ================================================== */
/* 1200px 以下：Feature 网格改为 2 列 */
@media (max-width: 1200px) {
  .feature-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2.5em;
  }
  .training-modules-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2em;
  }
}

/* 921px 以下：Feature 与训练网格继续为 2 列，Gap 缩小 */
@media (max-width: 921px) {
  .feature-grid {
    grid-template-columns: 1fr;
    gap: 2em;
  }
  .training-modules-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5em;
  }
}

/* 640px 以下：Feature 网格 & 训练网格单列展示 */
@media (max-width: 640px) {
  .feature-grid {
    grid-template-columns: 1fr;
    gap: 2em;
  }
  .training-modules-grid {
    grid-template-columns: 1fr;
    gap: 2em;
  }
}

/* 544px 以下：移动端整体调整 */
@media (max-width: 544px) {
  /* Controller Header 已在上方定义 */

  /* Main Container 缩减内边距 */
  .container {
    padding: 0 10px;
  }
  /* 产品简介文字稍微缩小 */
  .intro-text {
    font-size: 16px;
  }
  /* 导航按钮组改纵向排列，间距缩小 */
  .nav-buttons {
    flex-direction: column;
    gap: 1.5em;
  }
  /* 训练模块网格改为单列 */
  .training-modules-grid {
    grid-template-columns: 1fr;
    gap: 1em;
  }
  /* 模块 Item 内 padding 缩小 */
  .training-modules-grid .module-item {
    padding: 1em;
  }
  /* 教学合作区内边距缩小 */
  .coach-collaboration {
    padding: 1.5em 0.5em;
  }
  .highlight-number {
    font-size: 2em;
  }
  .data-improvement {
    padding: 1.5em;
  }
  .feature-content {
    padding: 0 1em;
  }
  /* 购买按钮 */
  .btn {
    padding: 10px 20px;
    font-size: 15px;
  }
  .btn-purchase {
    padding: 15px 28px;
    font-size: 16px;
    min-width: 140px;
  }
  /* Footer 内 padding 调整 */
  .site-footer {
    padding: 2em 0 1em;
  }
  .footer-nav {
    flex-direction: column;
    gap: 1em;
    text-align: center;
  }
  .footer-nav a {
    font-size: 14px;
  }
  .footer-bottom p {
    font-size: 13px;
  }
  .icp-placeholder {
    font-size: 12px;
  }
}

/* ===========================================================
   追加覆盖：强制 三个区块（内容物、传感器规格、FAQ）
   占据 60% 宽度并水平居中，内部文字左对齐
   =========================================================== */

/* —— 1. 共用规则：统一宽度、居中、左对齐 —— */
.product-contents, 
.product-specs, 
.faq-section {
  /* 占屏幕宽度的 60%，并居中 */
  width: 60%;
  max-width: 800px;      /* 可根据需要调整最大宽度 */
  margin: 4em auto;      /* 垂直外边距保持现有的 4em，左右自动居中 */
  padding: 0;            /* 已由原样式中设置 padding: 2em 0，这里无需再重复 */
  text-align: left;      /* 区块内所有文字默认左对齐 */
}

/* —— 2. 覆盖内部标题 <h4>（原本有些居中） —— */
.product-contents h4,
.product-specs h4,
.faq-section h4 {
  text-align: left;      /* 强制标题左对齐 */
  color: var(--ast-global-color-7);
  margin-bottom: 1em;    /* 保持与原有样式一致的下边距 */
}

/* —— 3. “内容物” 区块 —— */
/* 保留原有 .content-grid 布局，仅调整宽度与对齐 */
.product-contents {
  /* margin: 4em 0; padding: 2em 0; 已在共用规则中通过 margin 体现，padding 可保留原有 */
  padding: 2em 0;
}

/* 内部：.content-info 里的 <h4> 已由上面覆盖为左对齐 */
.product-contents .divider {
  /* 原先 .divider margin: 1em auto 导致其居中，这里改为左对齐 */
  margin: 1em 0;         /* 顶部 1em，底部 1em，左右 0 */
}

/* .contents-list 保持原有样式，文字本身是左对齐 */
.product-contents .contents-list {
  list-style: none;
  padding: 0;
}
.product-contents .contents-list li {
  padding: 0.5em 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  line-height: 1.6;
}

/* .content-image img 保持原有 100% 宽度，无需改动 */

/* —— 4. “传感器规格” 区块 —— */
.product-specs {
  /* margin: 4em 0; padding: 2em 0; 已在共用规则中体现，下面补齐 padding */
  padding: 2em 0;
}

/* .product-specs h4 已由上面覆盖为左对齐 */
.product-specs .divider {
  margin: 1em 0;         /* 顶部 1em，底部 1em，左右 0 */
}

/* 使得整个 .specs-table 保持在父容器 60% 宽度内左对齐 */
/* 原本 .specs-table { max-width:800px; margin:0 auto; } 将表格居中，改为靠左 */
.product-specs .specs-table {
  max-width: 100%;        /* 由父容器限制 60%，此处设为 100% */
  margin: 0;              /* 去掉自动居中 */
}

/* .spec-row 保持两列布局，仅左对齐，原来 text-align: center 可不变或可改左对齐 */
.product-specs .spec-row {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 2em;
  padding: 1em 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  text-align: left;       /* 强制每行文字左对齐 */
}

/* .spec-label 与 .spec-value 保持原有配色即可 */
.product-specs .spec-label {
  font-weight: 600;
  color: var(--ast-global-color-7);
}
.product-specs .spec-value {
  color: var(--ast-global-color-3);
}

/* —— 5. “常见问题（FAQ）” 区块 —— */
.faq-section {
  /* margin: 4em 0; padding: 2em 0; 已在共用规则中体现，下面补齐 padding */
  padding: 2em 0;
}

/* FAQ 区块的分隔线 .divider 左对齐 */
.faq-section .divider {
  margin: 1em 0;
}

/* 覆盖 FAQ 标题 <h4> 为左对齐（已在共用规则中设置） */
.faq-section h4 {
  /* text-align: left; 已在上面覆盖 */
  margin-bottom: 1em;
}

/* FAQ 的类别标题 <h5> 左对齐 */
.faq-section .faq-category h5 {
  color: var(--ast-global-color-7);
  margin-bottom: 0.8em;
  text-align: left;
}


/* ===========================================================
   覆盖 “产品内容物” 区块：左文字、右图片，中间留空，宽度 60% 居中
   =========================================================== */

/* 1. 外层 .product-contents 宽度 60%，水平居中，内部文本左对齐 */
.product-contents {
  width: 60%;
  max-width: 800px;       /* 可根据需要调整最大宽度 */
  margin: 4em auto;       /* 顶部 4em，底部 4em，左右自动居中 */
  text-align: left;       /* 区块内文本左对齐 */
  padding: 2em 0;         /* 保留上下 padding */
}

/* 2. 将 .content-grid 设置为 3:1:6 的三列布局 */
.product-contents .content-grid {
  display: grid;
  grid-template-columns: 3fr 1fr 6fr;
  align-items: center;    /* 垂直居中对齐文字和图片 */
  gap: 0;                 /* 三列之间不需要额外 gap，空白由第二列自动承担 */
}

/* 3. 将 .content-info 放在第一列 */
.product-contents .content-info {
  grid-column: 1 / 2;
}

/* 4. 第二列无需任何元素，留白即可 */
/*    HTML 中只有 .content-info 与 .content-image 两个子节点 */
/*    因此，需要将 .content-image 指定到第三列，第二列自动形成空白 */

/* 5. 将 .content-image 放在第三列，并让其内部图片宽度 100% */
.product-contents .content-image {
  grid-column: 3 / 4;
  text-align: right; /* 可选：确保图片靠右对齐 */
}
.product-contents .content-image img {
  width: 100%;
  height: auto;
  border-radius: 8px; /* 与原有风格保持一致 */
  display: block;
}

/* 6. 内部标题和列表依旧左对齐，保留原有样式 */
/*    如需微调字体、行高，可在下面继续覆盖 */
.product-contents .content-info h4 {
  margin-bottom: 0.5em;
  color: var(--ast-global-color-7);
  text-align: left;
}
.product-contents .content-info .divider {
  margin: 1em 0;       /* 保留上下间距，左右不居中 */
  width: 60px;         /* 保持与设计一致的分隔线长度 */
  height: 2px;
  background-color: var(--ast-global-color-0);
}
.product-contents .contents-list {
  list-style: disc inside;
  padding-left: 0;     /* 保证列表项与左边框对齐 */
  line-height: 1.6em;
}
.product-contents .contents-list li {
  margin: 0.5em 0;
  color: var(--ast-global-color-7);
}

/* 7. 响应式：屏幕宽度 ≤ 768px 时，区块宽度占 90%，图片与文字垂直堆叠 */
@media (max-width: 768px) {
  .product-contents {
    width: 90%;        /* 手机/平板竖屏占 90% 宽度 */
    margin: 3em auto;
  }
  .product-contents .content-grid {
    display: flex;
    flex-direction: column;
    gap: 2em;          /* 文字与图片之间留空 */
  }
  .product-contents .content-info,
  .product-contents .content-image {
    grid-column: auto; /* 释放 Grid 布局，让 Flex 生效 */
    width: 100%;
  }
  .product-contents .content-image {
    text-align: center; /* 手机下图片居中 */
  }
  .product-contents .content-image img {
    width: 100%;
    height: auto;
  }
}


