/* ============================================
   响应式 / 移动端 样式
   ============================================ */

/* ===== 大屏: 1440+ ===== */
@media (min-width: 1440px) {
  :root {
    --container-max: 1360px;
  }
}

/* ===== 笔记本: 1024-1279 ===== */
@media (max-width: 1279px) {
  .nav { gap: 0; }
  .nav-link { padding: 10px 10px; font-size: 13px; }
  .hero-content { gap: 40px; }
  .hero-visual { height: 460px; }
  .hero-cabinet { width: 240px; height: 400px; }
  .roi-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
  .footer-grid > div:last-child { grid-column: span 4; margin-top: 16px; }
  .case-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .about-stat-grid { grid-template-columns: 1fr 1fr; }
}

/* ===== 平板: 768-1023 ===== */
@media (max-width: 1023px) {
  :root {
    --header-h: 64px;
  }
  .nav, .header-phone, .header-actions .lang-switch { display: none; }
  .menu-btn { display: flex; }
  .topbar { display: none; }

  .container { padding: 0 20px; }
  .section { padding: 60px 0; }
  .section-sm { padding: 40px 0; }

  /* Hero */
  .hero { padding: 100px 0 60px; min-height: auto; }
  .hero-content { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual { height: 420px; order: -1; max-width: 400px; margin: 0 auto; width: 100%; }
  .hero-cabinet { width: 220px; height: 380px; }
  .hero-stats { gap: 24px; }
  .hero-stats .stat-value { font-size: 28px; }
  .float-card.tl { top: 10px; left: -10px; }
  .float-card.tr { top: 40px; right: -10px; }
  .float-card.bl { bottom: 40px; left: -10px; }
  .float-card.br { bottom: -10px; right: 0; }

  /* Layouts */
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .entry-grid { grid-template-columns: 1fr; }
  .industry-panel { grid-template-columns: 1fr; gap: 24px; }
  .industry-panel .industry-image { aspect-ratio: 16/10; }
  .trust-grid { grid-template-columns: 1fr; }
  .cert-wall { grid-template-columns: repeat(4, 1fr); }
  .sim-grid { grid-template-columns: 1fr; }
  .with-sidebar { grid-template-columns: 1fr; }
  .sidebar { position: static; }

  /* Cards */
  .roi-grid { grid-template-columns: repeat(2, 1fr); }
  .news-list { grid-template-columns: 1fr; }
  .news-card { grid-template-columns: 1fr; gap: 0; }
  .news-card .cover { aspect-ratio: 16/9; }
  .news-card .body { padding: 0 20px 20px; }
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .case-grid { grid-template-columns: repeat(2, 1fr); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: span 2; }
  .footer-bottom { flex-direction: column; text-align: center; }

  /* Page hero */
  .page-hero { padding: 110px 0 40px; }
}

/* ===== 手机: <768 ===== */
@media (max-width: 767px) {
  :root {
    --header-h: 56px;
    --container-padding: 16px;
  }
  body { font-size: 14px; }
  .container { padding: 0 16px; }
  .section { padding: 48px 0; }
  .section-sm { padding: 32px 0; }

  h1, .h-1 { font-size: 1.6rem; }
  h2, .h-2 { font-size: 1.4rem; }
  h3, .h-3 { font-size: 1.15rem; }

  /* Logo */
  .logo { gap: 8px; }
  .logo-mark { width: 32px; height: 32px; }
  .logo-text { font-size: 14px; }
  .logo-text small { font-size: 9px; }

  /* Hero */
  .hero { padding: 80px 0 40px; min-height: auto; }
  .hero-content { gap: 32px; }
  .hero-tag { font-size: 11px; padding: 4px 10px; }
  .hero-title { font-size: 2rem; margin-bottom: 16px; }
  .hero-sub { font-size: 0.95rem; margin-bottom: 20px; }
  .hero-ticker { gap: 6px; }
  .ticker-item { font-size: 10px; padding: 6px 10px; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { width: 100%; justify-content: center; }
  .hero-cta-meta { font-size: 12px; }
  .hero-stats {
    gap: 16px;
    margin-top: 32px;
    padding-top: 24px;
  }
  .hero-stats .stat { flex: 1; min-width: 90px; }
  .hero-stats .stat-value { font-size: 22px; }
  .hero-stats .stat-value .unit { font-size: 12px; }
  .hero-stats .stat-label { font-size: 11px; }

  .hero-visual { height: 360px; }
  .hero-cabinet { width: 180px; height: 320px; }
  .hero-cabinet-screen { top: 16px; left: 16px; right: 16px; height: 140px; padding: 10px; }
  .hero-cabinet-screen .screen-big { font-size: 32px; }
  .hero-cabinet-modules { top: 170px; left: 16px; right: 16px; bottom: 16px; gap: 4px; }
  .hero-cabinet-modules .module { padding: 6px 8px; font-size: 9px; }
  .float-card { padding: 8px 12px; }
  .float-card .value { font-size: 16px; }
  .float-card .label { font-size: 9px; }
  .float-card.tl { top: 0; left: 0; }
  .float-card.tr { top: 30px; right: 0; }
  .float-card.bl { bottom: 30px; left: 0; }
  .float-card.br { bottom: 0; right: 0; }

  /* Tabs */
  .industries-tabs { gap: 6px; margin-bottom: 24px; }
  .tab-btn { padding: 8px 12px; font-size: 12px; }

  /* Layouts */
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .roi-grid { grid-template-columns: 1fr; gap: 12px; }
  .roi-card { padding: 24px 20px; }
  .roi-card .stat-num { font-size: 26px; }

  .entry-grid { grid-template-columns: 1fr; gap: 16px; }
  .entry-card { padding: 24px 20px; }
  .entry-card h4 { font-size: 18px; }

  .industry-panel { gap: 16px; }
  .industry-content h3 { font-size: 22px; }
  .industry-features { grid-template-columns: 1fr; gap: 8px; }
  .industry-highlight { flex-wrap: wrap; padding: 12px 16px; gap: 12px; }
  .industry-highlight .value { font-size: 20px; }
  .industry-highlight .divider-v { display: none; }
  .industry-highlight .item { min-width: 100px; }

  .trust-grid { gap: 24px; }
  .cert-wall { grid-template-columns: repeat(2, 1fr); }
  .trust-metric { grid-template-columns: 1fr 1fr; gap: 8px; }
  .trust-metric .item { padding: 12px; }
  .trust-metric .item .value { font-size: 20px; }

  .cta-banner { padding: 40px 24px; border-radius: var(--radius-xl); }
  .cta-banner .flex { flex-direction: column; }

  .timeline { padding-left: 0; }
  .timeline::before { left: 14px; }
  .timeline-item { padding-left: 50px; padding-bottom: 24px; }
  .timeline-dot { left: 0; width: 30px; height: 30px; }
  .timeline-num { left: 4px; top: 6px; font-size: 12px; }
  .timeline-item h4 { font-size: 16px; }
  .timeline-item p { font-size: 13px; }

  /* Simulator */
  .sim-header { flex-direction: column; gap: 8px; align-items: flex-start; padding: 12px 16px; }
  .sim-body { padding: 20px 16px; }
  .sim-steps { gap: 4px; }
  .sim-step { padding: 6px 10px; font-size: 11px; }
  .sim-step .num { width: 18px; height: 18px; font-size: 10px; }
  .sim-step-sep { display: none; }
  .sim-form-row { grid-template-columns: 1fr; }
  .sim-input-group { padding: 12px 16px; }
  .sim-input { font-size: 18px; }
  .sim-select { font-size: 16px; }
  .sim-presets { gap: 6px; }
  .sim-preset { font-size: 10px; padding: 4px 10px; }
  .sim-button { padding: 14px; font-size: 14px; }
  .sim-result-card { padding: 16px; }
  .sim-result-card .value { font-size: 28px; }
  .sim-result-card .value .unit { font-size: 14px; }
  .sim-chart { padding: 16px; }
  .sim-chart svg { height: 180px; }
  .sim-chart-legend { gap: 12px; font-size: 10px; }

  /* Case map */
  .case-map-svg { height: 400px; }
  .case-map-container { padding: 16px; }

  /* News */
  .news-grid { grid-template-columns: 1fr; }
  .news-card { grid-template-columns: 1fr; }
  .news-card .body { padding: 0 16px 16px; }
  .news-card h3 { font-size: 16px; }

  /* Case card */
  .case-grid { grid-template-columns: 1fr; }
  .case-card .body { padding: 16px; }

  /* Solutions / industry panel */
  .industry-panel-section { padding-top: 32px; }

  /* About / history */
  .about-history { padding-left: 24px; }
  .about-history-item { padding-bottom: 20px; }
  .about-history-item p { font-size: 13px; }

  /* Contact */
  .contact-info, .contact-form-card { padding: 20px; }
  .contact-info h2, .contact-form-card h2 { font-size: 22px; }

  /* Solutions: about-stat grid */
  [style*="grid-template-columns:repeat(4,1fr)"] { grid-template-columns: 1fr 1fr !important; }
  [style*="grid-template-columns:repeat(3,1fr)"] { grid-template-columns: 1fr !important; }

  /* Solutions tabs */
  .industries-tabs .tab-btn { padding: 6px 10px; font-size: 11px; }

  /* Page hero */
  .page-hero { padding: 100px 0 40px; }
  .page-hero h1 { font-size: 1.6rem; }
  .page-hero-meta { gap: 12px; }
  .page-hero-meta .item { font-size: 11px; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .footer-brand { grid-column: span 1; max-width: 100%; }
  .footer { padding-top: 60px; }
  .footer-qr { justify-content: flex-start; }

  /* Forms */
  .form-row { grid-template-columns: 1fr; }

  /* Tables */
  .heatmap { font-size: 9px; }
  .heatmap th, .heatmap td { padding: 4px 2px; }
}

/* ===== 折叠菜单 (移动端菜单按钮) ===== */
@media (max-width: 1023px) {
  .header-inner { gap: 12px; }
}

/* ===== 大屏宽屏 ===== */
@media (min-width: 1600px) {
  .hero-content { gap: 80px; }
  .hero-visual { height: 600px; }
  .hero-cabinet { width: 320px; height: 520px; }
}

/* ===== 减少动效 (用户系统设置) ===== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
  .hero-grid { animation: none; }
  .float-card { animation: none; }
  .hero-cabinet { animation: none; }
}

/* ===== 移动端菜单打开时阻止body滚动 ===== */
body.no-scroll {
  overflow: hidden;
}

/* ===== 表单 ===== */
.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.form-row > .form-field { margin-bottom: 0; }
.form-row .form-group { display: flex; flex-direction: column; }
.checkbox-group {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-bottom: 16px;
}
.checkbox-group input { width: 16px; height: 16px; }
.checkbox-group label { font-size: 12px; color: var(--text-muted); }
