/* Legal static pages */

/* ── Legal pages (privacy-policy, commercial-transaction) ─── */
.legal-page { max-width: 800px; margin: 0 auto; padding: var(--space-64, 64px) var(--space-24, 24px); }
.legal-page__lead { margin-bottom: var(--space-48, 48px); line-height: 1.8; color: var(--color-ink-main); }
.legal-page__section { margin-bottom: var(--space-40, 40px); }
.legal-page__heading { font-size: var(--fs-md, 1rem); font-weight: 700; color: var(--color-ink-main); margin: 0 0 12px; padding-bottom: 8px; border-bottom: 1px solid var(--color-border); letter-spacing: 0.03em; }
.legal-page__section p { line-height: 1.8; color: var(--color-ink-main); margin: 0; }

/* ── Commercial transaction table ────────────────────────── */
.ct-table { width: 100%; border-collapse: collapse; font-size: var(--fs-sm); line-height: 1.7; }
.ct-table th,
.ct-table td { padding: 16px 20px; border-bottom: 1px solid var(--color-border); vertical-align: top; text-align: left; }
.ct-table th { width: 200px; font-weight: 600; color: var(--color-ink-main); white-space: nowrap; }
.ct-table td { color: var(--color-ink-main); }
.ct-table td a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) {
  .ct-table th,
  .ct-table td { display: block; width: 100%; }
  .ct-table th { padding-bottom: 4px; border-bottom: none; font-size: 0.75rem; color: var(--color-text-soft); }
  .ct-table td { padding-top: 0; }
}

/* ── Legal page list styles ──────────────────────────────── */
.legal-page__list { margin: 8px 0 0; padding-left: 1.5em; line-height: 1.8; color: var(--color-ink-main); }
.legal-page__list li { margin-bottom: 6px; }
.legal-page__list--nested { margin-top: 8px; }
.legal-page__section--addendum { margin-top: var(--space-48, 48px); padding-top: var(--space-24, 24px); border-top: 1px solid var(--color-border); font-size: var(--fs-sm); color: var(--color-text-soft); }
.legal-page a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

