/* ==========================================================================
   乐环网络 lehuanet.com - 响应式样式表
   断点：1200px / 992px / 768px / 576px / 420px
   ========================================================================== */

/* ---------- 大屏 ≤1200px ---------- */
@media (max-width: 1200px) {
  .container { padding: 0 24px; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
  .footer-grid .footer-col:last-child { grid-column: span 4; }
  .hero-grid { gap: 50px; }
  .pricing-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .pricing-card.featured { transform: none; }
  .pricing-card.featured:hover { transform: translateY(-6px); }
  .team-grid { grid-template-columns: repeat(3, 1fr); }
  .partners-grid { grid-template-columns: repeat(4, 1fr); }
  .tech-grid { grid-template-columns: repeat(3, 1fr); }
  .process-steps { grid-template-columns: repeat(3, 1fr); gap: 40px 0; }
  .process-steps::before { display: none; }
}

/* ---------- 平板 ≤992px ---------- */
@media (max-width: 992px) {
  .section { padding: 72px 0; }
  .section-tight { padding: 44px 0; }

  /* 导航：隐藏桌面菜单，显示汉堡 */
  .main-nav { display: none; }
  .nav-cta { display: none; }
  .nav-toggle { display: flex; }

  /* 英雄区 */
  .hero-home { padding: 140px 0 80px; min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 50px; }
  .hero-visual { height: 420px; max-width: 560px; margin: 0 auto; }
  .hero-stats { gap: 32px; }

  /* 优势网格 */
  .advantage-grid { grid-template-columns: repeat(2, 1fr); }
  .advantage-card:nth-child(2),
  .advantage-card:nth-child(5) { transform: none; }
  .advantage-card:nth-child(2):hover,
  .advantage-card:nth-child(5):hover { transform: translateY(-6px); }

  /* 资讯 */
  .news-grid { grid-template-columns: repeat(2, 1fr); }
  .news-list-layout { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; }
  .article-main { padding: 32px; }
  .related-grid { grid-template-columns: repeat(2, 1fr); }

  /* 服务 */
  .service-row { grid-template-columns: 1fr; gap: 32px; margin-bottom: 56px; }
  .service-row.reverse .service-img { order: 0; }
  .service-img img { height: 280px; }
  .feature-grid { grid-template-columns: repeat(2, 1fr); }

  /* 案例 */
  .cases-masonry { columns: 2; }

  /* 价格 */
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }

  /* 团队 */
  .team-grid { grid-template-columns: repeat(2, 1fr); }

  /* 评价 */
  .testimonials-grid { grid-template-columns: 1fr; max-width: 600px; margin: 0 auto; }

  /* 联系 */
  .contact-layout { grid-template-columns: 1fr; gap: 32px; }
  .form-row { grid-template-columns: 1fr; }

  /* 时间轴 */
  .timeline::before { left: 20px; }
  .timeline-item { width: 100%; left: 0 !important; text-align: left !important; padding-left: 56px; padding-right: 0; }
  .timeline-item::before { left: 12px !important; right: auto !important; }

  /* 页脚 */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .footer-grid .footer-col:first-child { grid-column: span 2; }
  .footer-grid .footer-col:last-child { grid-column: span 2; }

  /* 合作伙伴 */
  .partners-grid { grid-template-columns: repeat(3, 1fr); }
  .tech-grid { grid-template-columns: repeat(2, 1fr); }

  /* 解决方案 */
  .solutions-grid { grid-template-columns: repeat(2, 1fr); }

  /* 网站地图 */
  .sitemap-grid { grid-template-columns: repeat(2, 1fr); }

  /* 流程 */
  .process-steps { grid-template-columns: repeat(2, 1fr); }
}

/* ---------- 手机 ≤768px ---------- */
@media (max-width: 768px) {
  body { font-size: 15px; }
  .section { padding: 56px 0; }
  .container { padding: 0 18px; }

  h1 { font-size: 1.9rem; }
  h2 { font-size: 1.45rem; }
  h3 { font-size: 1.15rem; }

  /* 品牌 */
  .brand-mark { width: 40px; height: 40px; font-size: 1.05rem; }
  .brand-text strong { font-size: 1rem; }
  .brand-text small { display: none; }

  /* 英雄区 */
  .hero-home { padding: 120px 0 60px; }
  .hero-title { font-size: 1.9rem; }
  .hero-desc { font-size: 0.98rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .hero-stats { gap: 24px; padding-top: 28px; }
  .hero-stat .num { font-size: 1.8rem; }
  .hero-visual { height: 340px; }
  .hero-visual .v-badge { padding: 12px 16px; top: 20px; }
  .hero-visual .v-card { width: 70%; left: 5%; padding: 14px; }

  /* 页头 */
  .page-hero { padding: 130px 0 56px; }
  .page-hero h1 { font-size: 1.7rem; }

  /* 优势 */
  .advantage-grid { grid-template-columns: 1fr; gap: 18px; }
  .advantage-card { padding: 28px 22px; }

  /* 资讯 */
  .news-grid { grid-template-columns: 1fr; }
  .news-list-main .news-item { grid-template-columns: 1fr; gap: 16px; }
  .news-list-main .news-item .thumb { height: 180px; }
  .article-main { padding: 24px 20px; }
  .article-header h1 { font-size: 1.4rem; }
  .related-grid { grid-template-columns: 1fr; }

  /* 服务 */
  .service-features { grid-template-columns: 1fr; }
  .feature-grid { grid-template-columns: 1fr; }

  /* 案例 */
  .cases-masonry { columns: 1; }
  .cases-filter { gap: 8px; }
  .cases-filter button { padding: 7px 16px; font-size: 0.82rem; }

  /* 价格 */
  .pricing-grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }
  .pricing-card.featured { transform: none; }

  /* 团队 */
  .team-grid { grid-template-columns: 1fr; max-width: 320px; margin: 0 auto; }

  /* 联系 */
  .contact-info-card, .contact-form-card { padding: 28px 22px; }
  .map-placeholder { height: 280px; }

  /* FAQ */
  .faq-q { padding: 18px 20px; font-size: 0.94rem; }
  .faq-item.open .faq-a { padding: 0 20px 20px; }

  /* 快速入口 */
  .quick-entry-item { padding: 12px 20px; font-size: 0.88rem; }

  /* CTA */
  .cta-section { padding: 60px 0; }
  .cta-actions { flex-direction: column; align-items: stretch; }
  .cta-actions .btn { width: 100%; }

  /* 页脚 */
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .footer-grid .footer-col:first-child,
  .footer-grid .footer-col:last-child { grid-column: span 1; }
  .footer-bottom { flex-direction: column; text-align: center; }

  /* 合作伙伴 */
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
  .tech-grid { grid-template-columns: 1fr; }

  /* 解决方案 */
  .solutions-grid { grid-template-columns: 1fr; }

  /* 网站地图 */
  .sitemap-grid { grid-template-columns: 1fr; }

  /* 流程 */
  .process-steps { grid-template-columns: 1fr; gap: 32px; }
  .process-step .step-num { width: 72px; height: 72px; font-size: 1.5rem; }

  /* 简单页面 */
  .simple-content { padding: 28px 22px; }
  .error-404 { padding: 80px 0; }

  /* 返回顶部 */
  .back-to-top { right: 16px; bottom: 16px; width: 44px; height: 44px; }

  /* 区块标题 */
  .section-head { margin-bottom: 36px; }
}

/* ---------- 小屏手机 ≤576px ---------- */
@media (max-width: 576px) {
  .hero-visual { height: 300px; }
  .hero-visual .v-main { width: 88%; height: 68%; }
  .hero-visual .v-card { width: 80%; }
  .mobile-drawer { width: 280px; right: -300px; }
  .stat-num { font-size: 1.8rem; }
  .card { padding: 24px 20px; }
}

/* ---------- 超小屏 ≤420px ---------- */
@media (max-width: 420px) {
  .hero-stats { flex-direction: column; gap: 16px; }
  .partners-grid { grid-template-columns: 1fr; }
  .quick-entry-wrap { gap: 10px; }
  .quick-entry-item { padding: 10px 16px; font-size: 0.82rem; }
}

/* ---------- 横屏手机优化 ---------- */
@media (max-height: 500px) and (orientation: landscape) {
  .hero-home { padding: 100px 0 50px; min-height: auto; }
  .mobile-drawer { padding-top: 70px; }
}

/* ---------- 减少动画偏好 ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal, .reveal-left, .reveal-right, .reveal-scale {
    opacity: 1;
    transform: none;
  }
}

/* ---------- 打印样式 ---------- */
@media print {
  .site-header, .site-footer, .back-to-top, .nav-toggle, .mobile-drawer, .overlay { display: none !important; }
  body { background: #fff; color: #000; }
  .section { padding: 20px 0; }
  .card, .pricing-card, .testimonial-card, .news-card, .case-item {
    break-inside: avoid;
    box-shadow: none;
    border: 1px solid #ccc;
  }
}
