/* 合规页（隐私 / 条款 / 退款）专用排版 */
.legal-doc { max-width: 780px; margin: 0 auto; padding: 46px 20px 90px; }
.legal-doc .meta { color: var(--muted); font-size: 13px; margin-bottom: 28px; }
.legal-doc h1 { font-size: 30px; letter-spacing: -.5px; margin: 0 0 8px; }
.legal-doc h1 + p.lead { color: var(--muted); font-size: 15px; margin: 0 0 6px; }
.legal-doc h2 { font-size: 19px; margin: 34px 0 10px; padding-top: 18px; border-top: 1px solid var(--line); }
.legal-doc h2:first-of-type { border-top: none; padding-top: 0; }
.legal-doc p, .legal-doc li { color: #334155; font-size: 15px; line-height: 1.85; }
.legal-doc ul { padding-left: 22px; margin: 10px 0; }
.legal-doc li { margin: 4px 0; }
.legal-doc a { word-break: break-all; }
.legal-doc table { width: 100%; border-collapse: collapse; margin: 14px 0; font-size: 14px; }
.legal-doc th, .legal-doc td { border: 1px solid var(--line); padding: 8px 12px; text-align: left; color: #334155; }
.legal-doc th { background: #f1f5f9; }
.legal-doc .callout { background: #eff6ff; border: 1px solid #dbeafe; border-radius: 10px; padding: 14px 18px; margin: 18px 0; font-size: 14px; color: #1e40af; }
.legal-doc .callout.warn { background: #fffbeb; border-color: #fde68a; color: #92400e; }
.legal-doc .contact-box { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: var(--radius); padding: 20px 24px; margin-top: 16px; }
.legal-doc .contact-box b { display: block; margin-bottom: 6px; }
.legal-back { margin-top: 40px; }
