/* ============================================================
   Mobile-first responsive fixes — 「白底 × logo 深蓝」
   ============================================================ */

/* ============ 1. Homepage grids → responsive ============ */
@media (max-width: 992px) {
  .biz-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .case-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .news-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .about-grid { grid-template-columns: 1fr !important; }
  .about-image-wrap img { min-height: 280px !important; }
}

@media (max-width: 767px) {
  .biz-grid, .case-grid, .news-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .hero-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .hero-card-wrap { max-width: 100%; }
}

@media (max-width: 639px) {
  .stats-grid, .clients-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .stat-number { font-size: 2rem; }
}

/* ============ 2. Footer columns → single column ============ */
@media (max-width: 767px) {
  .footer-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .footer-bottom { justify-content: flex-start !important; }
}

/* ============ 3. Sub-page hero padding (fixed navbar overlap) ============ */
@media (max-width: 767px) {
  .list-hero { padding: 100px 0 48px; }
  .detail-hero { padding: 100px 0 40px; }
  .list-title { font-size: 1.75rem; }
  .detail-title { font-size: 1.5rem; }
  .detail-hero .detail-breadcrumb { margin-bottom: 12px; }
  .list-breadcrumb { margin-bottom: 14px; flex-wrap: wrap; }
}

/* ============ 4. Detail meta pills wrap nicer ============ */
@media (max-width: 479px) {
  .meta-pill { width: 100%; justify-content: space-between; }
}

/* ============ 5. Touch / interaction polish ============ */
@media (pointer: coarse) {
  a, button {
    -webkit-tap-highlight-color: rgba(14,68,154,0.12);
  }
  .biz-card:hover, .case-card:hover, .news-card:hover,
  .list-card:hover, .related-card:hover {
    transform: none;
  }
}

/* ============ 6. Perf / battery: soften hero fx on small screens ============ */
@media (max-width: 767px) {
  .hero { padding-top: 100px; padding-bottom: 60px; }
  .hero-title { font-size: clamp(1.75rem, 7vw, 2.2rem); }
  .hero-desc { font-size: 0.875rem; }
  .hero-data-card { padding: 20px; }
  .hero-data-value { font-size: 2rem; }
  .section-pad { padding: 56px 0; }
  .section-title { font-size: 1.375rem; }
  .section-desc { font-size: 0.875rem; }
  .container-main { padding: 0 16px; }
}

/* ============ 7. iOS safe-area & misc ============ */
@supports (padding: max(0px)) {
  .navbar { padding-left: 0; padding-right: 0; }
  body { padding-bottom: env(safe-area-inset-bottom); }
  .mobile-overlay { padding: calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 24px); }
  .footer { padding-left: max(16px, env(safe-area-inset-left)); padding-right: max(16px, env(safe-area-inset-right)); }
}

/* ============ 8. Table overflow ============ */
.xt-table { border-collapse: collapse; }

/* ============ 9. Navbar logo image responsive ============ */
.navbar .logo-img {
  height: 36px;
  max-width: 40vw;
}
@media (max-width: 479px) {
  .navbar .logo-img { height: 30px; }
}
