/* pregAI landing : legal pages (privacy, terms, legal notice) */

.legal { padding: var(--s-xxl) 0 var(--s-xxxl); }
.legal-container { max-width: 780px; }

.legal-doc[hidden] { display: none; }

.legal-updated {
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: var(--s-s);
}

.legal-doc h1 {
  font-size: clamp(2rem, 5vw, 2.75rem);
  margin-bottom: var(--s-m);
}

.legal-doc > .lead { margin-bottom: var(--s-xl); }

.legal-doc h2 {
  font-size: 1.375rem;
  font-weight: 800;
  margin: var(--s-xl) 0 var(--s-sm);
  scroll-margin-top: 96px;
}

.legal-doc h3 {
  font-size: 1.0625rem;
  font-weight: 700;
  margin: var(--s-l) 0 var(--s-s);
}

.legal-doc p,
.legal-doc li { line-height: 1.7; }

.legal-doc p { margin-bottom: var(--s-sm); }
.legal-doc ul,
.legal-doc ol { margin: 0 0 var(--s-sm) 1.25rem; }
.legal-doc li { margin-bottom: var(--s-xs); }

.legal-doc a { color: var(--sage-deep); }
.legal-doc a:hover { color: var(--primary-dark); }

.legal-toc {
  background: var(--primary-light);
  border: 1px solid var(--outline);
  border-radius: var(--r-m);
  padding: var(--s-m) var(--s-l);
  margin-bottom: var(--s-xl);
}
.legal-toc p { font-weight: 700; margin-bottom: var(--s-s); }
.legal-toc ol { margin-bottom: 0; }

.legal-callout {
  background: var(--coral-container);
  color: var(--on-coral);
  border-radius: var(--r-m);
  padding: var(--s-m) var(--s-l);
  margin: var(--s-m) 0 var(--s-l);
}
.legal-callout p { margin: 0; color: inherit; font-weight: 500; }
.legal-callout p + p { margin-top: var(--s-s); }

.legal-table-wrap { overflow-x: auto; margin: var(--s-m) 0 var(--s-l); }
.legal-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.9375rem;
}
.legal-table th,
.legal-table td {
  text-align: left;
  padding: var(--s-sm);
  border-bottom: 1px solid var(--outline);
  vertical-align: top;
  line-height: 1.55;
}
.legal-table th {
  background: var(--outline-variant);
  font-weight: 700;
}

.legal-contact {
  background: var(--white);
  border: 1px solid var(--outline);
  border-radius: var(--r-m);
  box-shadow: var(--sh-card);
  padding: var(--s-l);
  margin-top: var(--s-xl);
}
.legal-contact p:last-child { margin-bottom: 0; }
