/* ========================================
   全局响应式断点
   （组件级断点见 components.css / page-*.css 内）
   ======================================== */

/* ---------- 大屏（≤1200px） ---------- */
@media (max-width: 1200px) {
  :root {
    --font-size-3xl: 2.2rem;
    --font-size-2xl: 1.75rem;
  }
}

/* ---------- 平板（≤992px） ---------- */
@media (max-width: 992px) {
  :root {
    --font-size-3xl: 2rem;
    --font-size-2xl: 1.5rem;
    --spacing-2xl: 3.5rem;
  }

  .hero-content { flex-direction: column; text-align: center; }
  .hero-text h1 { font-size: var(--font-size-2xl); }
  .quote-form-wrapper { display: none; }

  .form-row { flex-direction: column; }
  .form-group { min-width: 100%; }

  .stats-grid { grid-template-columns: 1fr 1fr; }
  .client-card { flex-direction: column; text-align: center; align-items: center; }

  .route-grid, .adv-grid { grid-template-columns: 1fr 1fr; }
  .process { grid-template-columns: 1fr 1fr; }
  .order-list { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }

  /* 产品页 Banner */
  .banner-inner { grid-template-columns: 1fr; gap: 40px; }
  .banner h1 { font-size: 36px; }

  /* 文章详情 */
  .article-detail { padding: var(--spacing-lg); }
  .article-header h1 { font-size: var(--font-size-xl); }
  .article-prev-next { flex-direction: column; }
}

/* ---------- 手机（≤768px） ---------- */
@media (max-width: 768px) {
  :root {
    --font-size-3xl: 1.75rem;
    --font-size-2xl: 1.35rem;
    --font-size-xl: 1.15rem;
    --spacing-2xl: 2.5rem;
    --spacing-xl: 2rem;
    --header-height: 60px;
  }

  .section { padding: 56px 0; }
  .section-head { margin-bottom: 30px; }
  .section-head h2 { font-size: 26px; }

  .hero-banner { height: 420px; }
  .catch-logo { max-width: 180px; }

  .route-grid, .adv-grid { grid-template-columns: 1fr; gap: 16px; }
  .process { grid-template-columns: 1fr; }

  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-number { font-size: var(--font-size-2xl); }
  .partner-item { width: 120px; height: 55px; }

  .page-banner { padding: 70px 0 40px; }
  .page-banner-sm { padding: 50px 0 30px; }

  .footer-top { padding: var(--spacing-xl) 0; }
  .footer-bottom .text-md-end { text-align: left !important; margin-top: var(--spacing-sm); }

  /* 新闻分类导航横向滚动 */
  .news-category-bar { position: relative; top: 0; }
  .news-category-nav { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .news-category-nav .category-link { padding: 12px 16px; font-size: 0.85rem; flex-shrink: 0; }

  /* 文章详情 */
  .article-meta { gap: var(--spacing-md); font-size: 0.8rem; }

  /* 分页 */
  .pglist { flex-wrap: wrap; gap: 4px; }
  .pglist a, .pglist span { min-width: 32px; height: 32px; font-size: 13px; padding: 0 8px; }
  .pglist a:first-child, .pglist a:last-child { display: none; }

  /* 兄弟文章导航 */
  .sibling-nav a { flex: 0 0 calc((100% - 24px) / 3); }
}

/* ---------- 小屏（≤576px） ---------- */
@media (max-width: 576px) {
  .stats-grid { grid-template-columns: 1fr; }
  .stat-card { padding: var(--spacing-md); }

  .partner-logos { gap: var(--spacing-sm); }
  .partner-item { width: 100px; height: 45px; }
  .partner-name { font-size: 0.7rem; }

  .cta-section h2 { font-size: var(--font-size-xl); }
  .cta h2 { font-size: 26px; }

  .banner-stats { grid-template-columns: 1fr 1fr; }
  .banner h1 { font-size: 28px; }

  /* 文章详情 */
  .article-detail { padding: var(--spacing-md); border-radius: var(--radius-md); }
  .article-header h1 { font-size: var(--font-size-lg); }
  .article-summary { padding: var(--spacing-sm) var(--spacing-md); }
  .article-content h2 { font-size: var(--font-size-lg); }
  .article-content h3 { font-size: var(--font-size-base); }
  .article-content p { text-indent: 1.5em; }

  /* 侧边栏 */
  .sidebar-card { padding: var(--spacing-md); }
  .news-pagination .page-link { padding: 6px 10px; font-size: var(--font-size-sm); }

  .news-body { padding: var(--spacing-md); }
  .sibling-nav a { flex: 0 0 100%; }
}

/* ---------- 打印样式 ---------- */
@media print {
  .main-header, .main-footer, .cta-section, .quote-form-wrapper, .topbar { display: none; }
  body { font-size: 12pt; color: #000; }
}
