/* ============================================================
   墅望者官网 · 移动端适配(2026-09-05, 新增层)
   仅 @media 下生效; 桌面端(>900px)完全保持原型原样
   ============================================================ */
:root { --mb-radius: 8px; }

@media (max-width: 900px) {
  body { font-size: 15px; }
  .wrap { padding: 0 16px; }
  section { padding: 56px 0; }
  img { max-width: 100%; }

  /* ---------- 导航: 汉堡 ---------- */
  .nav .wrap { height: 58px; gap: 8px; }
  .logo .mark { font-size: 21px; }
  .nav .menu, .nav .cta { display: none; }
  #mb {
    margin-left: auto; width: 44px; height: 44px; border: 1px solid var(--line);
    background: var(--paper); border-radius: 6px; font-size: 22px; color: var(--dai);
    cursor: pointer; display: flex; align-items: center; justify-content: center; line-height: 1;
  }
  #mbp {
    display: none; position: fixed; top: 58px; left: 0; right: 0; z-index: 99;
    background: var(--paper); border-bottom: 1px solid var(--line-soft);
    box-shadow: 0 24px 44px rgba(28,28,26,.16); padding: 8px 16px 18px; max-height: 80vh; overflow: auto;
  }
  #mbp.open { display: block; }
  #mbp a {
    display: flex; align-items: center; min-height: 48px; padding: 8px 6px;
    font-size: 17px; color: var(--ink-soft); border-bottom: 1px solid var(--line-soft); gap: 10px;
  }
  #mbp a:active { background: var(--paper-2); }
  #mbp a.mb-tel { color: var(--dai); font-weight: 600; border-top: 1px solid var(--line-soft); border-bottom: none; margin-top: 6px; }
  #mbp .mb-mini { font-size: 12.5px; color: var(--ink-mute); padding: 12px 6px 2px; letter-spacing: .1em; }

  /* ---------- 标题/文字缩小但清晰 ---------- */
  .page-hero { padding: 92px 0 40px; }
  .page-hero h1 { font-size: 30px; }
  .page-hero p { font-size: 14px; max-width: 100%; }
  .sec-head h2 { font-size: 28px; }
  .sec-head .lead { font-size: 14px; }

  /* ---------- 按钮/触摸加大 ---------- */
  .btn-gold, .btn-ghost, .btn-line, .btn-dark, .sw-btn {
    min-height: 46px; padding: 12px 22px; font-size: 16px !important; border-radius: 6px;
  }
  .chip { min-height: 40px; padding: 8px 16px; font-size: 14px; }
  input, select, textarea { font-size: 16px !important; } /* iOS 防聚焦缩放 */
  .qty input, .qty button { min-height: 44px; }

  /* ---------- Hero(首页) ---------- */
  .hero { min-height: 78vh; }
  .hero h1 { font-size: 38px; }
  .hero .desc { font-size: 14px; line-height: 1.9; }
  .hero .seal, .hero .glyph { display: none; }
  .hero .scroll { display: none; }

  /* ---------- 网格单列/双列 ---------- */
  .stat-grid { grid-template-columns: repeat(2, 1fr); }
  .svc-grid, .gallery, .ad-grid, .ct-grid, .q-grid, .steps, .cond-grid, .pay-grid { grid-template-columns: 1fr !important; }
  .gallery { gap: 14px; }
  .fl-grid { grid-template-columns: repeat(2, 1fr); }
  .r-grid { grid-template-columns: repeat(2, 1fr); }
  .detail { grid-template-columns: 1fr; gap: 26px; }
  .row2, .co-grid { grid-template-columns: 1fr; gap: 14px; }
  footer .top { grid-template-columns: 1fr; gap: 26px; }
  .footer .bar, footer .bar { flex-direction: column; gap: 6px; align-items: flex-start; }
  .ge-grid { grid-template-columns: repeat(2, 1fr); }
  .dc-h span { width: auto; }

  /* ---------- 各页卡片 ---------- */
  .case { padding: 40px 22px; flex-direction: column; align-items: flex-start; gap: 22px; }
  .case .txt h2 { font-size: 26px; }
  .apply, .msg-in, .co-form, .al-box { padding: 30px 20px; }
  .svc { padding: 28px 22px; }
  .svc p { min-height: 0; }
  .stat { padding: 26px 18px; }
  .stat .num { font-size: 34px; }
  .thumbs .t { aspect-ratio: 1/1; }
  .buy { flex-direction: column; }
  .price-row .price { font-size: 30px; }
  .params { grid-template-columns: 1fr 1fr; gap: 10px 14px; }
  .gallery-main { aspect-ratio: 4/3.4; }
  /* 概算/表单行 */
  .calc-row { flex-direction: column; align-items: stretch; }
  .calc-row .btn-gold { width: 100%; }
  .al-form { grid-template-columns: 1fr; }
}

/* ---------- 防横向溢出兜底 + 联系页地图/栅格 ---------- */
@media (max-width: 900px) {
  html, body { overflow-x: hidden; }
  .contact-grid, .map-row, .ct-row { grid-template-columns: 1fr !important; }
  .contact-grid > *, .contact-grid, .map-row, .ct-row, .map-embed, iframe { max-width: 100% !important; min-width: 0; }
  .contact-grid iframe, .map-embed iframe, iframe[src*="map"], iframe[src*="qq"], iframe[src*="amap"] { width: 100% !important; height: 240px !important; }
  .qr-embed img, .code img { width: 100%; height: auto; }
}

/* 小屏(<380px)再压 Hero */
@media (max-width: 380px) {
  .hero h1 { font-size: 32px; }
  .page-hero h1 { font-size: 26px; }
}
