/* ============================================================
   法律页共享样式（privacy.html / terms.html 共用）
   依赖：/assets/theme.css（必须先引入）
   导航 / 页脚 / 配色与 landing.html 保持一致
   ============================================================ */

.wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 var(--s-5); }

/* ---------- 顶部导航（与 landing 一致） ---------- */
.nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(250, 248, 244, .88);
  backdrop-filter: saturate(150%) blur(10px);
  -webkit-backdrop-filter: saturate(150%) blur(10px);
  border-bottom: 1px solid var(--line);
}
[data-theme="dark"] .nav { background: rgba(16, 22, 20, .88); }
.nav-inner {
  height: 64px;
  display: flex; align-items: center; justify-content: space-between; gap: var(--s-4);
}
.logo { display: flex; align-items: center; gap: var(--s-3); text-decoration: none; }
.logo-mark { width: 34px; height: 34px; flex: none; }
.logo-name {
  font-family: var(--font-serif);
  font-size: 19px; font-weight: 600; letter-spacing: .04em;
  color: var(--ink-900);
}
.logo-sub { font-size: 12px; color: var(--ink-500); letter-spacing: .18em; }
.nav-links { display: flex; align-items: center; gap: var(--s-5); }
.nav-links a {
  color: var(--ink-700); text-decoration: none; font-size: 15px;
  transition: color var(--dur-fast) var(--ease);
}
.nav-links a:hover { color: var(--brand-600); }

/* ---------- 文档主体 ---------- */
.doc { padding: var(--s-7) 0 var(--s-6); }
.doc-inner { max-width: 820px; }

.doc-kicker {
  font-size: 13px; letter-spacing: .2em; color: var(--accent-600);
  font-weight: 600; margin-bottom: var(--s-2);
}
.doc-title {
  font-family: var(--font-serif);
  font-size: clamp(28px, 4vw, 40px); font-weight: 600;
  letter-spacing: .01em; margin: 0 0 var(--s-3);
  color: var(--ink-900);
}
.doc-meta {
  display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-5);
  font-size: 13px; color: var(--ink-500);
  padding-bottom: var(--s-5); border-bottom: 1px solid var(--line);
}
.doc-meta b { color: var(--ink-700); font-weight: 600; }

/* 重点提示卡 */
.notice {
  display: flex; gap: var(--s-3);
  background: var(--accent-100);
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--accent-500);
  border-radius: var(--r-md);
  padding: var(--s-4);
  margin: var(--s-5) 0;
}
.notice-ico { flex: none; font-size: 18px; line-height: 1.5; }
.notice-body { font-size: 14px; line-height: 1.8; color: var(--ink-700); }
.notice-body b { color: var(--ink-900); }

/* 目录 */
.toc {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r-lg); padding: var(--s-5);
  margin: var(--s-5) 0 var(--s-6); box-shadow: var(--sh-1);
}
.toc h3 {
  font-size: 13px; letter-spacing: .12em; color: var(--ink-500);
  margin: 0 0 var(--s-3); font-weight: 600;
}
.toc ol {
  margin: 0; padding-left: 20px;
  columns: 2; column-gap: var(--s-6);
  font-size: 14px;
}
.toc li { margin-bottom: 6px; break-inside: avoid; }
.toc a { color: var(--ink-700); text-decoration: none; }
.toc a:hover { color: var(--brand-600); text-decoration: underline; }

/* 条款 */
.clause { scroll-margin-top: 84px; margin-bottom: var(--s-6); }
.clause h2 {
  font-family: var(--font-serif);
  font-size: 21px; font-weight: 600; color: var(--ink-900);
  margin: 0 0 var(--s-3); letter-spacing: .01em;
}
.clause h3 {
  font-size: 16px; font-weight: 600; color: var(--ink-900);
  margin: var(--s-4) 0 var(--s-2);
}
.clause p {
  margin: 0 0 var(--s-3);
  font-size: 15px; line-height: 1.9; color: var(--ink-700);
}
.clause ul, .clause ol {
  margin: 0 0 var(--s-3); padding-left: 22px;
  font-size: 15px; line-height: 1.9; color: var(--ink-700);
}
.clause li { margin-bottom: 6px; }
.clause strong { color: var(--ink-900); font-weight: 600; }

/* 表格 */
.tbl-wrap {
  overflow-x: auto; margin: var(--s-3) 0 var(--s-4);
  border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--surface);
}
table { width: 100%; border-collapse: collapse; font-size: 14px; min-width: 520px; }
th, td {
  text-align: left; padding: 10px 14px;
  border-bottom: 1px solid var(--line); vertical-align: top;
}
th {
  background: var(--surface-2); color: var(--ink-900);
  font-weight: 600; white-space: nowrap;
}
tr:last-child td { border-bottom: none; }
td { color: var(--ink-700); line-height: 1.7; }

/* 术语卡 */
.defs { display: grid; gap: var(--s-3); margin: var(--s-3) 0 var(--s-4); }
.def {
  background: var(--surface); border: 1px solid var(--line);
  border-radius: var(--r-md); padding: var(--s-4);
}
.def-t { font-size: 15px; font-weight: 600; color: var(--ink-900); margin-bottom: var(--s-1); }
.def-d { font-size: 14px; color: var(--ink-500); line-height: 1.75; }

/* ---------- 页脚 ---------- */
.footer { border-top: 1px solid var(--line); padding: var(--s-6) 0 var(--s-5); background: var(--surface); }
.foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: var(--s-5); }
.foot-brand p { font-size: 13px; color: var(--ink-500); line-height: 1.8; margin: var(--s-3) 0 0; max-width: 380px; }
.foot-col h4 { font-size: 13px; color: var(--ink-900); margin: 0 0 var(--s-3); font-weight: 600; }
.foot-col a { display: block; font-size: 13px; color: var(--ink-500); text-decoration: none; margin-bottom: var(--s-2); transition: color var(--dur-fast) var(--ease); }
.foot-col a:hover { color: var(--brand-600); }
.foot-bottom {
  margin-top: var(--s-5); padding-top: var(--s-4); border-top: 1px solid var(--line);
  display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-4);
  font-size: 12px; color: var(--ink-300);
}
.foot-bottom a { color: var(--ink-500); text-decoration: none; }
.foot-bottom a:hover { color: var(--brand-600); }

/* ---------- 响应式 ---------- */
@media (max-width: 900px) {
  .foot-grid { grid-template-columns: 1fr; }
  .toc ol { columns: 1; }
  .nav-links a.hide-sm { display: none; }
}
@media (max-width: 600px) {
  .wrap { padding: 0 var(--s-4); }
  .doc { padding: var(--s-6) 0; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
