/**
 * 全站移动端适配
 * 解决：内联网格在窄屏仍强制多列 → 中文被挤成竖排
 */

/* ===== 响应式网格工具类（替代内联 grid-template-columns） ===== */
.r-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.r-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.r-grid-3.gap-lg {
  gap: 2rem;
}
.r-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.r-grid-6 {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1rem;
}
/* 左右分栏（如 model 页） */
.r-grid-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
/* 纯图片网格：小屏保留 2 列更紧凑 */
.r-grid-img {
  /* 标记类，配合下方媒体查询 */
}

/* 兜底：仍带内联 grid 的容器，用属性选择器 + !important 覆盖 */
@media (max-width: 1024px) {
  [style*="grid-template-columns: repeat(6"],
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns: 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  .r-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .r-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .r-grid-6 { grid-template-columns: repeat(3, 1fr); }
  .r-grid-split { grid-template-columns: 1fr; gap: 2rem; }
}

@media (max-width: 768px) {
  /* 内联 3 列 → 单列（含文字卡片，避免竖排字） */
  [style*="grid-template-columns: repeat(3"],
  [style*="grid-template-columns:repeat(3"] {
    grid-template-columns: 1fr !important;
  }
  [style*="grid-template-columns: repeat(2"],
  [style*="grid-template-columns:repeat(2"] {
    grid-template-columns: 1fr !important;
  }
  [style*="grid-template-columns: repeat(4"],
  [style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  [style*="grid-template-columns: repeat(6"],
  [style*="grid-template-columns:repeat(6"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .r-grid-2 { grid-template-columns: 1fr; }
  .r-grid-2.r-grid-img { grid-template-columns: 1fr; }
  .r-grid-3 { grid-template-columns: 1fr; }
  .r-grid-3.r-grid-img { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .r-grid-4 { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .r-grid-6 { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
  .r-grid-split { grid-template-columns: 1fr; gap: 1.5rem; }

  /* 资质专利等：证书图网格可 2 列 */
  .r-grid-3.r-grid-certs { grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }

  /* 导航 / Logo */
  nav {
    height: 60px !important;
    padding: 0 4% !important;
  }
  .logo {
    gap: 0.5rem !important;
    min-width: 0;
    flex: 1;
    max-width: calc(100% - 48px);
  }
  .logo-icon {
    width: 34px !important;
    height: 34px !important;
    flex-shrink: 0;
  }
  .logo-text {
    font-size: 0.82rem !important;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .logo-text span {
    display: none !important; /* 英文副标题占宽，移动端隐藏 */
  }
  #mobileMenu {
    top: 60px !important;
  }

  /* 区块间距与标题 */
  .section-header {
    margin-bottom: 2rem !important;
  }
  .section-desc {
    font-size: 0.9rem !important;
    padding: 0 0.5rem;
  }
  .page-hero {
    min-height: auto !important;
  }
  .page-hero-inner {
    padding: 2rem 5% !important;
  }
  .page-hero-desc {
    font-size: 0.95rem !important;
  }

  /* 卡片文字：正常换行，禁止被挤成单字竖排 */
  .r-grid-2 > *,
  .r-grid-3 > *,
  .r-grid-4 > *,
  .r-grid-6 > *,
  [style*="grid-template-columns"] > * {
    min-width: 0;
  }
  [style*="grid-template-columns"] h3,
  [style*="grid-template-columns"] p,
  .r-grid-2 h3, .r-grid-3 h3, .r-grid-4 h3,
  .r-grid-2 p, .r-grid-3 p, .r-grid-4 p,
  .service-card h3, .service-card p,
  .feature-card h3, .feature-card p,
  .achieve-content h3, .achieve-content p {
    word-break: normal;
    overflow-wrap: break-word;
    line-break: auto;
  }

  /* 服务/特色卡片在移动端：略减内边距 */
  .service-card,
  .feature-card {
    padding: 1.5rem !important;
  }

  /* 图片卡片高度略降，省屏 */
  [style*="height: 220px"],
  [style*="height:220px"] {
    height: 180px !important;
  }

  /* 页脚导航 */
  .page-footer-nav {
    padding: 2rem 5% !important;
  }
  .contact-sec {
    padding: 3rem 5% 1.5rem !important;
  }
  .cta-banner {
    padding: 3rem 5% !important;
  }

  /* 首页 hero 按钮纵向 */
  .hero-btns {
    flex-direction: column;
    align-items: stretch;
  }
  .hero-btns a,
  .hero-btns .btn-primary,
  .hero-btns .btn-outline {
    text-align: center;
  }
}

@media (max-width: 480px) {
  .r-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
  .r-grid-3.r-grid-img {
    grid-template-columns: repeat(2, 1fr);
  }
  /* 极窄屏：证书/奖状仍 2 列；合作 logo 也 2 列 */
  .r-grid-6 {
    grid-template-columns: repeat(2, 1fr);
  }
  .logo-text {
    font-size: 0.75rem !important;
  }
  [style*="height: 320px"],
  [style*="height:320px"] {
    height: 260px !important;
  }
  section[style*="padding: 5rem"],
  section[style*="padding:5rem"] {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}