/* mobile.css — 全站移动自适应基座(M-1)
 * 原则:除「桌面也隐藏的工具类」外,所有规则都包在 @media 内 → 桌面(>1024px)零影响。
 * 断点:≤480 手机(主战场)/ 481-1024 平板 / >1024 桌面(不写=保持现状)。
 * 仅改布局,绝不碰功能。
 */

/* 桌面也成立的安全默认(隐藏,不改桌面观感) */
.nav-burger { display: none; }
.mobile-only { display: none; }

/* ───────── 平板及以下 ≤1024 ───────── */
@media (max-width: 1024px) {
  .topbar { position: relative; }      /* 给汉堡下拉做定位锚 */
}

/* ───────── 手机 ≤480(主战场) ───────── */
@media (max-width: 480px) {
  html { -webkit-text-size-adjust: 100%; }
  html, body { overflow-x: hidden; max-width: 100%; }
  img, video, table { max-width: 100%; height: auto; }

  /* iOS 输入聚焦防缩放(<16px 会触发缩放) */
  input, textarea, select { font-size: 16px !important; }

  /* 顶栏:安全区 + 折叠为汉堡 */
  .topbar {
    padding-left: 14px; padding-right: 14px;
    padding-top: calc(10px + env(safe-area-inset-top, 0px));
  }
  .topbar nav { display: none; }
  .nav-burger {
    display: inline-flex; align-items: center; justify-content: center;
    margin-left: auto; width: 42px; height: 42px; font-size: 20px; line-height: 1;
    border: 1px solid var(--border, #e8eaf0); border-radius: 10px;
    background: var(--bg-card, #fff); color: var(--text, #1f2937); cursor: pointer;
  }
  .topbar.nav-open nav {
    display: flex; flex-direction: column; gap: 2px;
    position: absolute; top: 100%; left: 10px; right: 10px; z-index: 9999;
    background: var(--bg-card, #fff); border: 1px solid var(--border, #e8eaf0);
    border-radius: 12px; padding: 8px; margin-top: 6px;
    box-shadow: 0 12px 34px rgba(17, 17, 27, 0.18);
  }
  .topbar.nav-open nav a {
    padding: 12px 12px; border-radius: 8px; font-size: 16px; min-height: 44px;
    display: flex; align-items: center;
  }

  /* 全站主容器:手机收窄留白(各页用 .container 或 .wrap)+ 上间距缩小 */
  .container, .wrap { padding-left: 14px !important; padding-right: 14px !important; }
  .wrap { margin-top: 14px !important; }

  /* 工具类:移动端显示/隐藏 */
  .mobile-only { display: revert; }
  .desktop-only { display: none !important; }

  /* 底部安全区 */
  body { padding-bottom: env(safe-area-inset-bottom, 0px); }

  /* 供页面按需使用的辅助类(逐页适配时用,不强加) */
  .m-fullh { height: 100dvh; }
  .m-col { grid-template-columns: 1fr !important; }   /* 双栏强制单列 */
  .m-stack { display: block !important; }
}

/* 底部 sheet 基座(M-2 复刻弹窗/详情等复用) */
@media (max-width: 480px) {
  .m-sheet {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000;
    background: var(--bg-card, #fff); border-radius: 16px 16px 0 0;
    max-height: 88vh; overflow: auto;
    padding: 18px 16px calc(18px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -14px 42px rgba(17, 17, 27, 0.22);
  }
}
