/* Terms / Privacy / Refunds — long-form reading pages.
   Shared by terms.html, privacy.html and refunds.html. */

body {
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(var(--accent-rgb), 0.05) 0%, transparent 70%),
    var(--bg-primary);
  display: flex; flex-direction: column; min-height: 100vh;
}
.site-footer { margin-top: auto; flex-wrap: wrap; }

.legal-nav {
  display: flex; align-items: center; justify-content: center;
  padding: 24px 16px 8px;
}

.legal-tabs {
  display: flex; justify-content: center; flex-wrap: wrap; gap: 6px;
  padding: 8px 16px 0;
}
.legal-tab {
  padding: 6px 14px; border-radius: var(--radius);
  border: 1px solid var(--border); color: var(--text-secondary);
  font-size: 13px; text-decoration: none;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.legal-tab:hover { border-color: var(--border-light); color: var(--text-primary); }
.legal-tab.is-on {
  border-color: var(--accent); color: #fff;
  background: rgba(var(--accent-rgb), 0.12);
}

.legal {
  width: 100%; max-width: 760px; margin: 0 auto;
  padding: 32px 16px 48px;
  color: var(--text-primary); line-height: 1.7; font-size: 15px;
}
.legal h1 {
  font-family: 'W95FA', 'MS Sans Serif', Tahoma, sans-serif;
  font-weight: 400; font-size: 34px; line-height: 1.15; margin-bottom: 6px;
}
.legal-updated { color: var(--text-muted); font-size: 13px; margin-bottom: 24px; }
.legal-summary {
  padding: 14px 16px; margin-bottom: 28px; border-radius: 12px;
  background: rgba(var(--accent-rgb), 0.06);
  border: 1px solid rgba(var(--accent-rgb), 0.25);
}
.legal-summary p { margin: 0; }
.legal-summary ul { margin: 6px 0 0; }
.legal h2 {
  font-size: 19px; font-weight: 700; margin: 34px 0 10px;
  color: #fff; scroll-margin-top: 16px;
}
.legal h3 { font-size: 15px; font-weight: 700; margin: 18px 0 6px; }
.legal p { margin: 0 0 12px; color: var(--text-primary); }
.legal ul { margin: 0 0 12px; padding-left: 22px; }
.legal li { margin-bottom: 6px; }
.legal a { color: var(--accent); }
.legal a:hover { color: var(--accent-hover); }
.legal strong { color: #fff; }
.legal .caps { text-transform: uppercase; font-size: 13px; letter-spacing: 0.2px; color: var(--text-secondary); }

.legal-toc {
  margin: 0 0 8px; padding: 12px 16px 12px 36px; border-radius: 12px;
  background: var(--bg-secondary); border: 1px solid var(--border);
  font-size: 14px; columns: 2; column-gap: 28px;
}
.legal-toc li { margin-bottom: 4px; break-inside: avoid; }
.legal-toc a { text-decoration: none; color: var(--text-secondary); }
.legal-toc a:hover { color: var(--accent); }

.legal-table { width: 100%; border-collapse: collapse; margin: 6px 0 16px; font-size: 14px; }
.legal-table th, .legal-table td {
  text-align: left; vertical-align: top; padding: 8px 10px;
  border-bottom: 1px solid var(--border);
}
.legal-table th { color: var(--text-secondary); font-weight: 600; }


@media (max-width: 600px) {
  .legal { padding: 24px 16px 40px; font-size: 14.5px; }
  .legal h1 { font-size: 28px; }
  .legal-toc { columns: 1; }
  .legal-table { font-size: 13px; }
  .legal-table th, .legal-table td { padding: 6px; }
}
