/* 法律条款页 legal.html 样式（v20260905-legal-v6）
   - 独立访问：普通文档页
   - 弹窗内（body.legal-in-frame）：顶部标题 + tabs 固定，内容区滚动，底部常驻 */

/* ---------- 头部 ---------- */
.legal-head { padding: 26px 48px 18px; background: #fff; border-bottom: 1px solid #e5eaf2; position: sticky; top: 0; z-index: 2; }
.legal-head h1 { margin: 0; font-size: 24px; }
.legal-updated { margin: 8px 0 0; color: #7c8ba0; font-size: 12.5px; line-height: 1.7; }

/* ---------- 目录 tabs（下划线指示器） ---------- */
.legal-nav { display: flex; flex-wrap: nowrap; gap: 2px; margin: 0; padding: 0 48px; background: #fff; border-bottom: 1px solid #e5eaf2; position: sticky; top: 92px; z-index: 2; overflow-x: auto; scrollbar-width: none; }
.legal-nav::-webkit-scrollbar { display: none; }
.legal-nav button { position: relative; flex: 0 0 auto; padding: 13px 15px; border: 0; border-radius: 0; background: transparent; color: #6b7c93; font: inherit; font-size: 14px; line-height: 1.4; white-space: nowrap; cursor: pointer; transition: color .2s ease; }
.legal-nav button::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: -1px; height: 2px; border-radius: 2px 2px 0 0; background: transparent; transition: background .2s ease; }
.legal-nav button:hover { color: #174d9d; background: transparent; }
.legal-nav button[aria-selected="true"] { border-color: transparent; background: transparent; color: #174d9d; font-weight: 700; }
.legal-nav button[aria-selected="true"]::after { background: #1a77d2; }
.legal-nav button:focus-visible { outline: 2px solid #1a77d2; outline-offset: -2px; border-radius: 6px; }

/* ---------- 内容滚动区 ---------- */
.legal-body { padding: 26px 0 0; }
.legal-section-meta { margin: 0 0 20px; padding: 9px 13px; border-left: 3px solid #b9d4f5; border-radius: 0 7px 7px 0; color: #6b7c93; background: #f4f8fd; font-size: 12.5px; line-height: 1.7; }
.legal-section > h3:first-of-type { margin-top: 0; }
.legal-body a { color: #1a6fd0; }

/* ---------- 商标与第三方软件说明 ---------- */
.legal-trademark .legal-section-meta { border-left-color: #86b5ec; }
.legal-trademark h3 { margin-top: 24px; }
.legal-trademark p { max-width: 1080px; }
.legal-trademark p strong { color: #174d9d; }

/* ---------- 底部（每个 tab 一致） ---------- */
.legal-foot { margin-top: 34px; padding: 15px 18px; border: 1px solid #e5eaf2; border-radius: 12px; background: #f7f9fc; }
.legal-foot p { margin: 0; color: #7c8ba0; font-size: 12px; line-height: 1.75; }
.legal-foot .legal-foot-main { color: #586b86; font-weight: 600; }
.legal-foot .legal-foot-sub { margin-top: 4px; }
.legal-foot a { color: #1a6fd0; }

/* 独立访问时隐藏「关闭」按钮（无弹窗可关） */
body:not(.legal-in-frame) .legal-inline-close { display: none; }

/* ==================================================================
   弹窗内（iframe）形态：三段固定 + 中段滚动
   ================================================================== */
body.legal-in-frame { background: #f5f7fa; }
body.legal-in-frame .site-header { display: none; }
body.legal-in-frame .site-footer { display: none; }

body.legal-in-frame .legal-page { display: flex; padding: 0; height: 100vh; height: 100dvh; }
body.legal-in-frame .legal-page > .container { display: flex; width: 100%; min-width: 0; }

body.legal-in-frame .legal-card { display: flex; flex-direction: column; max-width: none; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; }

/* 弹窗内：取消 sticky，回到 flex 三段固定 */
body.legal-in-frame .legal-head { flex: 0 0 auto; position: static; border-bottom: 1px solid #e5eaf2; }
body.legal-in-frame .legal-head h1 { font-size: 24px; }

body.legal-in-frame .legal-nav { flex: 0 0 auto; position: static; border-bottom: 1px solid #e5eaf2; }

body.legal-in-frame .legal-body { flex: 1 1 auto; min-height: 0; padding: 28px 48px 36px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
body.legal-in-frame .legal-body::-webkit-scrollbar { width: 9px; }
body.legal-in-frame .legal-body::-webkit-scrollbar-track { background: transparent; }
body.legal-in-frame .legal-body::-webkit-scrollbar-thumb { border: 2px solid #fff; border-radius: 6px; background: #cfd9e6; }
body.legal-in-frame .legal-body::-webkit-scrollbar-thumb:hover { background: #b3c1d3; }

body.legal-in-frame .legal-foot { flex: 0 0 auto; margin: 0; padding: 13px 48px; border: 0; border-top: 1px solid #e5eaf2; border-radius: 0; background: #f7f9fc; }

/* 弹窗内正文使用可用宽度，避免内容只占左半屏 */
body.legal-in-frame .legal-body,
body.legal-in-frame .legal-section { width: 100%; max-width: none; }

/* 独立访问：sticky head + nav，需要给 main 让出滚动空间 */
body:not(.legal-in-frame) .legal-page { scroll-margin-top: 96px; }
body:not(.legal-in-frame) .legal-page > .container {
  width: 100%;
  max-width: none;
  padding-inline: clamp(16px, 3.2vw, 52px);
}
body:not(.legal-in-frame) .legal-card {
  width: 100%;
  max-width: none;
}
body:not(.legal-in-frame) .legal-body,
body:not(.legal-in-frame) .legal-section { width: 100%; max-width: none; }

/* ---------- 响应式 ---------- */
@media (max-width: 820px) {
  .legal-head { padding: 16px 22px 12px; top: 0; }
  .legal-head h1 { font-size: 19px; }
  .legal-nav { top: 76px; padding: 0 22px; }
  .legal-nav button { padding: 12px 12px; font-size: 13.5px; }
  .legal-body { padding: 18px 22px 28px; }
  .legal-foot { padding: 12px 22px; }
  body.legal-in-frame .legal-head { padding: 20px 22px 15px; }
  body.legal-in-frame .legal-head h1 { font-size: 21px; }
  body.legal-in-frame .legal-nav { padding: 0 22px; }
  body.legal-in-frame .legal-nav button { padding: 12px 12px; font-size: 13.5px; }
  body.legal-in-frame .legal-body { padding: 22px 22px 30px; }
  body.legal-in-frame .legal-foot { padding: 12px 22px; }
  .legal-foot { padding: 14px 15px; }
}
