/* ──────────────────────────────────────────────────────────────────────────────
 * AllocLab UI v5 — /legal/* + /terms + /privacy（Phase 5b-2）
 * 復原 v3/v4 視覺：al-h1/h2/body/meta（typography）+ al-legal-* (page modifier)
 * 文件式樣式（不套 dashboard card pattern、合規文件保持保守）
 * ────────────────────────────────────────────────────────────────────────────── */

/* ---------- typography（從 pre-v5-wipe typography.css port）---------- */
.al-h1 {
  font-family: var(--ff-display);
  font-size: 1.85rem;       /* old --fs-h1 30/34px → 1.85rem ≈ 29.6px */
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--al-ink-deep);
  margin: 0;
}

.al-h2 {
  font-family: var(--ff-display);
  font-size: 1.35rem;       /* old --fs-h2 22/24px → 1.35rem ≈ 21.6px */
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--al-ink-deep);
  margin: 0;
}

.al-body {
  font-family: var(--ff-sans);
  font-size: 0.9375rem;     /* 15px body */
  font-weight: 400;
  line-height: 1.75;        /* legal docs 採寬鬆行高 */
  color: var(--al-ink);
}

.al-meta {
  font-family: var(--ff-sans);
  font-size: 0.75rem;       /* 12px */
  line-height: 1.5;
  color: var(--al-ink-muted);
}

/* ---------- legal page wrap ---------- */
.al-legal-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--sp-5) var(--pad-x) var(--sp-7);
  /* 隱藏 bottom nav 後不需 main padding */
}

.al-legal-h1 {
  margin-bottom: var(--sp-2);
}

.al-legal-meta {
  margin: 0 0 var(--sp-5);
}

/* ---------- legal section ---------- */
.al-legal-section {
  margin-bottom: var(--sp-5);
}

/* M4g / M7b-2：消保法 §13 重要條款顯著標示
   severity 紅硬編碼（非方向性）、不用 var(--al-up/dn) price token */
.al-legal-section.important-clause {
  border-left: 3px solid #b83232;
  background: rgba(184, 50, 50, 0.03);
  padding: 12px 16px 12px 18px;
  border-radius: var(--radius-inner);
  margin-bottom: var(--sp-5);
}
.al-legal-section.important-clause .al-legal-h2,
.al-legal-section.important-clause .al-legal-body,
.al-legal-section.important-clause .al-legal-list {
  font-weight: 600;
}
.al-legal-section.important-clause .al-legal-h2::before {
  content: "重要條款 · ";
  font-size: 0.7rem;
  color: #b83232;
  letter-spacing: 0.04em;
  margin-right: 4px;
  font-weight: 700;
  vertical-align: middle;
}

.al-legal-h2 {
  /* §1 §2 等 section 標題：左 accent border + padding */
  font-family: var(--ff-display);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--al-ink);
  margin: 0 0 var(--sp-3);
  padding-left: var(--sp-3);
  border-left: 3px solid var(--al-accent);
}

.al-legal-body {
  font-family: var(--ff-sans);
  font-size: 0.9375rem;
  line-height: 1.85;
  color: var(--al-ink-2);
  margin: 0 0 var(--sp-3);
}

.al-legal-body strong {
  color: var(--al-ink);
  font-weight: 600;
}

.al-legal-list {
  font-family: var(--ff-sans);
  font-size: 0.9375rem;
  line-height: 1.85;
  color: var(--al-ink-2);
  margin: 0 0 var(--sp-3);
  padding-left: 1.4em;
}

.al-legal-list li {
  margin-bottom: 4px;
}

.al-legal-list li::marker {
  color: var(--al-ink-muted);
}

/* ---------- 版本標籤 ---------- */
.legal-version {
  font-size: 0.8rem;
  color: var(--al-ink-muted);
  margin: 0 0 var(--sp-3);
  font-variant-numeric: tabular-nums;
}

/* ---------- back-to-home link ---------- */
.al-legal-foot {
  margin-top: var(--sp-7);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--al-border-soft);
  font-size: 0.85rem;
  color: var(--al-ink-muted);
}

.al-legal-foot a {
  color: var(--al-accent);
  text-decoration: none;
}

.al-legal-foot a:hover {
  text-decoration: underline;
}

/* ---------- desktop ---------- */
@media (min-width: 768px) {
  .al-legal-wrap {
    padding: var(--sp-7) var(--pad-x) var(--sp-8);
  }
  .al-h1 { font-size: 2.1rem; }      /* old 34px ≈ 2.125rem */
  .al-h2 { font-size: 1.5rem; }      /* old 24px = 1.5rem */
}
