/* ============================================================
   移动端适配(mobile-first overrides)
   重点优化手机端:紧凑导航 / 抽屉菜单 / 底部导航 / 触控目标 / 表单
   断点:≤768px 手机;769-1024px 平板(轻量调整)
   设计原则:单指操作、≥44px 触控目标、不遮挡内容、底部导航常驻。
   ============================================================ */

/* ---- 全局:防止 iOS 输入聚焦缩放;安全区 ---- */
@media (max-width: 768px) {
  html { -webkit-text-size-adjust: 100%; }
  body {
    /* 给底部导航留出空间(56px + 安全区) */
    padding-bottom: calc(60px + env(safe-area-inset-bottom, 0px));
  }
  .container { padding-inline: var(--sp-4); }

  /* ---- 顶部导航:手机端只留 logo + 铃铛/头像 + 汉堡 ---- */
  .navbar { height: 52px; }
  .navbar__inner { gap: var(--sp-2); padding-inline: var(--sp-3); }
  .navbar__logo { font-size: var(--fs-base); }
  .navbar__logo-icon { width: 28px; height: 28px; font-size: var(--fs-base); }

  /* 手机端隐藏:桌面导航链接 / scope 切换器(移入抽屉)/ 积分 / 桌面上传按钮 / 桌面搜索 / 注册按钮 */
  .navbar__links,
  .scope-switch,
  .navbar__points,
  .navbar__upload-btn,
  .navbar__search { display: none !important; }

  /* 登录态:铃铛 + 头像 + 汉堡;未登录:登录 + 汉堡(注册在抽屉里) */
  .navbar__actions { gap: var(--sp-1); }
  .navbar__icon-btn { width: 40px; height: 40px; font-size: var(--fs-lg); }
  .navbar__avatar { width: 34px; height: 34px; }
  .navbar__hamburger { display: flex; width: 40px; height: 40px; font-size: var(--fs-xl); }

  /* ---- 抽屉菜单 ---- */
  .navbar__mobile-menu {
    top: 52px;
    padding: var(--sp-3) var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom, 0px));
  }
  .navbar__mobile-menu .navbar__link {
    display: flex; align-items: center; gap: var(--sp-2);
    padding: 14px var(--sp-2); font-size: var(--fs-md); font-weight: 500;
    border-bottom: 1px solid var(--color-border);
  }
  .navbar__mobile-search { margin-bottom: var(--sp-3); }
  .navbar__mobile-search .navbar__search-input { height: 46px; font-size: 16px; padding-left: var(--sp-4); }

  /* 抽屉内的 scope(学校/校区)切换 —— 多学校核心功能,移动端必须可达 */
  .m-scope { margin-bottom: var(--sp-3); }
  .m-scope__label { font-size: var(--fs-xs); color: var(--color-text-muted); font-weight: 600; margin: var(--sp-3) 0 var(--sp-1); }
  .m-scope__opts { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
  .m-scope__opt {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 8px 14px; border-radius: var(--radius-full);
    border: 1px solid var(--color-border); background: var(--color-bg-elevated);
    font-size: var(--fs-sm); color: var(--color-text-secondary);
  }
  .m-scope__opt--active { background: var(--gradient-brand); color: #fff; border-color: transparent; }
  .m-divider { height: 1px; background: var(--color-border); margin: var(--sp-3) 0; }

  .m-user { display: flex; align-items: center; gap: var(--sp-3); padding: var(--sp-3) var(--sp-2); }
  .m-user__name { font-weight: 600; font-size: var(--fs-md); }
  .m-user__sub { font-size: var(--fs-xs); color: var(--color-text-muted); }
  .m-link { display: flex; align-items: center; gap: var(--sp-2); padding: 14px var(--sp-2); font-size: var(--fs-md); font-weight: 500; color: var(--color-text); border-bottom: 1px solid var(--color-border); }
  .m-link--danger { color: var(--color-danger); }
  .m-link--primary { color: var(--color-primary); font-weight: 600; }

  /* ---- 底部导航(常驻,5 项,中间上传为 FAB)---- */
  .bottom-nav {
    position: fixed; left: 0; right: 0; bottom: 0;
    display: flex; align-items: stretch; justify-content: space-around;
    height: calc(60px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: var(--color-bg-elevated);
    border-top: 1px solid var(--color-border);
    box-shadow: 0 -2px 12px rgba(0,0,0,.05);
    z-index: var(--z-sticky);
  }
  .bottom-nav__item {
    flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 2px; font-size: 10px; color: var(--color-text-muted);
    text-decoration: none; min-height: 48px; padding-top: 4px;
  }
  .bottom-nav__item--active { color: var(--color-primary); font-weight: 600; }
  .bottom-nav__icon { font-size: 20px; line-height: 1; }
  /* 中间上传 FAB:圆形悬浮,突破导航栏 */
  .bottom-nav__upload {
    flex: 0 0 auto; width: 56px; position: relative;
  }
  .bottom-nav__fab {
    position: absolute; top: -16px; left: 50%; transform: translateX(-50%);
    width: 50px; height: 50px; border-radius: 50%;
    background: var(--gradient-brand); color: #fff;
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; box-shadow: 0 4px 14px rgba(59,130,246,.45);
    border: 3px solid var(--color-bg-elevated);
  }
  .bottom-nav__upload-label { position: absolute; bottom: 6px; left: 0; right: 0; text-align: center; font-size: 10px; color: var(--color-text-muted); }

  /* ---- 卡片网格:单列 ---- */
  .card-grid { grid-template-columns: 1fr !important; gap: var(--sp-3); }
  .card-grid--sm { grid-template-columns: repeat(2, 1fr) !important; gap: var(--sp-3); }
  .card--resource .card__body { padding: var(--sp-4); }
  .card--detail { padding: var(--sp-4) !important; }

  /* ---- Hero ---- */
  .hero { padding: var(--sp-8) 0 var(--sp-6); }
  .hero__title { font-size: var(--fs-3xl); }
  .hero__subtitle { font-size: var(--fs-base); margin-bottom: var(--sp-5); }
  .hero__stats { gap: var(--sp-5); }
  .hero__stat-value { font-size: var(--fs-2xl); }

  /* ---- Section / 标题 ---- */
  .section { padding: var(--sp-6) 0; }
  .section__header { flex-wrap: wrap; gap: var(--sp-2); margin-bottom: var(--sp-4); }
  .section__title { font-size: var(--fs-xl); }

  /* ---- 表单:≥44px 触控目标,16px 字号防 iOS 缩放 ---- */
  .form-input, .form-textarea, .form-select {
    min-height: 46px; font-size: 16px; padding: 11px var(--sp-4);
  }
  .form-textarea { min-height: 110px; }
  .btn { min-height: 44px; }
  .btn--sm { min-height: 38px; }
  .btn--lg { min-height: 50px; }
  .btn--block { width: 100%; }
  /* 上传模式切换 / 星级输入等触控友好 */
  .upload-mode { width: 100%; }
  .upload-mode__opt { flex: 1; text-align: center; padding: 11px; }
  .stars__input label { font-size: 36px; padding: 4px; }
  .action-btn { padding: 11px 18px; min-height: 44px; }

  /* ---- 详情页动作区纵向堆叠 ---- */
  .card--detail .card__detail-header { flex-direction: column; align-items: flex-start; gap: var(--sp-3); }
  .card--detail .card__detail-actions { flex-direction: column; align-items: stretch; width: 100%; }
  .card--detail .card__detail-actions .btn { width: 100%; }
  .action-row { gap: var(--sp-2); }

  /* ---- 网盘链接卡 / 评价卡 / 通知:紧凑 ---- */
  .netdisk-link-card { flex-direction: column; align-items: stretch; gap: var(--sp-3); padding: var(--sp-4); }
  .review-card, .notif-item { padding: var(--sp-4); }
  .review-card__head { flex-wrap: wrap; }
  .review-card__time { width: 100%; margin-left: 0; }

  /* ---- 管理后台 ---- */
  .admin-stat { grid-template-columns: repeat(2, 1fr); }
  .admin-tabs { gap: 0; }
  .admin-tab { padding: 10px 14px; }
  .grid-2 { grid-template-columns: 1fr !important; }

  /* ---- Toast:全宽顶部 ---- */
  .toast { min-width: 0; max-width: 100%; }

  /* ---- 分页:更大触控 ---- */
  .pagination { gap: var(--sp-1); flex-wrap: wrap; }
  .pagination__btn { min-width: 40px; height: 40px; }

  /* ---- 页脚精简 ---- */
  .footer { padding: var(--sp-8) 0 var(--sp-6); margin-top: var(--sp-8); }
  .footer__grid { grid-template-columns: 1fr; gap: var(--sp-5); }
  .footer__bottom { flex-direction: column; gap: var(--sp-2); text-align: center; }
}

/* ---- 平板(769-1024):轻量 ---- */
@media (min-width: 769px) and (max-width: 1024px) {
  .bottom-nav { display: none; } /* 底部导航仅手机 */
}

/* ---- 桌面:隐藏底部导航与抽屉专属元素 ---- */
@media (min-width: 769px) {
  .bottom-nav { display: none; }
}
