/* ======================================
   Public pages: dark theme to match landing page
   Used by: privacy policy, terms of service, contact
   ====================================== */

/* Dark background for public pages */
body:has(.legal-page),
body:has(.contact-page) {
  background: #0b1220 !important;
}

/* Override footer for dark public pages */
body:has(.legal-page) .site-footer,
body:has(.contact-page) .site-footer {
  background: transparent;
  border-color: rgba(255,255,255,.08) !important;
}

body:has(.legal-page) .site-footer .footer-brand,
body:has(.contact-page) .site-footer .footer-brand {
  color: #fff;
}

body:has(.legal-page) .site-footer h6,
body:has(.contact-page) .site-footer h6 {
  color: rgba(255,255,255,.85);
}

body:has(.legal-page) .site-footer .text-muted,
body:has(.legal-page) .site-footer .link-secondary,
body:has(.contact-page) .site-footer .text-muted,
body:has(.contact-page) .site-footer .link-secondary {
  color: rgba(255,255,255,.5) !important;
}

body:has(.legal-page) .site-footer .link-secondary:hover,
body:has(.contact-page) .site-footer .link-secondary:hover {
  color: rgba(255,255,255,.8) !important;
}

/* ----------------------------- */
/* LEGAL PAGES                   */
/* ----------------------------- */

.legal-page {
  padding: 4rem 0 5rem;
}

.legal-page h1 {
  font-size: 2.25rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 0.25rem;
}

.legal-updated {
  color: #94a3b8;
  font-size: 0.875rem;
  margin-bottom: 2.5rem;
}

.legal-content {
  max-width: 800px;
}

.legal-content h2 {
  font-size: 1.35rem;
  font-weight: 600;
  color: #f1f5f9;
  margin-top: 2.25rem;
  margin-bottom: 0.75rem;
}

.legal-content h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #f1f5f9;
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.legal-content p,
.legal-content li {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #cbd5e1;
}

.legal-content ul,
.legal-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.legal-content li {
  margin-bottom: 0.35rem;
}

.legal-content a {
  color: #818cf8;
  text-decoration: underline;
}

.legal-content a:hover {
  color: #a5b4fc;
}

.legal-content strong {
  color: #e2e8f0;
}

/* ----------------------------- */
/* TERMLY-GENERATED CONTENT      */
/* ----------------------------- */
/* Termly exports body text inside <div> + <span data-custom-class="body_text">
   rather than <p>, so the .legal-content p rule above doesn't apply.
   Cascade the same light palette across every text-carrying tag here,
   and beat Termly's leftover inline dark colors that were designed for
   a white-background page. */

.legal-content-termly,
.legal-content-termly div,
.legal-content-termly span,
.legal-content-termly em,
.legal-content-termly u,
.legal-content-termly td,
.legal-content-termly th {
  color: #cbd5e1;
  font-size: 0.95rem;
  line-height: 1.75;
}

.legal-content-termly strong {
  color: #e2e8f0;
}

.legal-content-termly a,
.legal-content-termly a span,
.legal-content-termly [data-custom-class="link"] {
  color: #818cf8 !important;
  text-decoration: underline;
}

.legal-content-termly a:hover,
.legal-content-termly a:hover span {
  color: #a5b4fc !important;
}

/* Termly's inline `style="color: rgb(89, 89, 89)"` / rgb(0,0,0) /
   rgb(127,127,127) are hardcoded for a white page. Force them light. */
.legal-content-termly [style*="color: rgb(89, 89, 89)"],
.legal-content-termly [style*="color: rgb(0, 0, 0)"],
.legal-content-termly [style*="color: rgb(127, 127, 127)"] {
  color: #cbd5e1 !important;
}

.legal-content-termly [style*="color: rgb(0, 58, 250)"] {
  color: #818cf8 !important;
}

/* Headings stay bright regardless of what Termly wrapped them in. */
.legal-content-termly h1,
.legal-content-termly h2,
.legal-content-termly h3 {
  color: #f1f5f9;
}

.legal-content-termly h2 {
  font-size: 1.35rem;
  margin-top: 2.25rem;
}

.legal-content-termly h3 {
  font-size: 1.1rem;
  margin-top: 1.5rem;
}

/* Tables (section 13 data-collected disclosure) — Termly ships hardcoded
   black borders that vanish on a dark background. Style for legibility. */
.legal-content-termly table {
  border-collapse: collapse;
  width: 100%;
  margin: 1rem 0;
}

.legal-content-termly table td,
.legal-content-termly table th {
  border: 1px solid #334155 !important;
  padding: 0.5rem 0.75rem;
  vertical-align: top;
}

.legal-content-termly table th {
  color: #f1f5f9;
  background: rgba(255, 255, 255, 0.03);
  font-weight: 600;
}
