/* Mobile Components — 主站专属组件的移动端规则
   从 components.css 抽出的断点 / 触屏 / 安全区规则；桌面排版仍在 components.css。
   断点：≤640px、≤480px。 */

/* ---------- 安全区 ---------- */
/* header 顶部安全区内边距见 mobile/base.css（该变量同时决定 body.has-header 的
   预留高度，两站必须共用同一处理，故不放主站专属层） */

/* footer 底部避开 iOS 主屏横条 */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
  .site-footer {
    padding-bottom: max(var(--sp-8), env(safe-area-inset-bottom));
  }
}

/* ---------- ≤640px ---------- */
/* footer masthead 改单列；页脚域名退化为静态主域名（header 规则在 mobile/shared.css） */
@media (max-width: 640px) {
  .footer-masthead-top {
    grid-template-columns: 1fr;
    gap: var(--sp-4);
    margin-bottom: var(--sp-7);
  }

  .footer-tagline {
    justify-self: start;
    text-align: left;
  }
}

/* ---------- ≤480px ---------- */
/* 小屏手机：footer 版权行收小（header 规则在 mobile/shared.css） */
@media (max-width: 480px) {
  .footer-meta {
    font-size: 0.65rem;
  }

  /* 备案号整体换行时，行首不带分隔符，让第二行贴左对齐上一行 */
  .footer-meta-group .footer-meta-sep {
    display: none;
  }
}

/* ---------- 触屏设备 ---------- */
/* 加大点击区域（只在无 hover 能力的触屏设备生效，不影响桌面布局） */
@media (hover: none) {
  .footer-link {
    padding: 6px 0;
  }

  /* 扩大点击区域；负 margin 抵消，避免撑高盒子破坏行内基线对齐 */
  .contact-copy {
    padding: 6px 0;
    margin: -6px 0;
  }
}
