/* legal.css — shared styles for /privacy and /terms. Layout only. No base.css duplication. */

.legal-page { padding-top: var(--nav-height, 72px); }

/* ── Page hero (light — legal pages are functional, not storytelling) ── */
.legal-hero {
  padding: var(--space-10) 0 var(--space-6);
  border-bottom: 1px solid var(--border-light);
}
.legal-hero .eyebrow { color: var(--dv-orange); }
.legal-hero h1 { margin: var(--space-2) 0 var(--space-2); }
.legal-hero__meta { font-size: var(--text-sm); color: var(--text-muted); }
.legal-hero__intro { font-size: var(--text-base); color: var(--text-secondary); max-width: 680px; line-height: 1.65; margin-top: var(--space-3); }

/* ── Document body ── */
.legal-doc {
  max-width: 720px;
  margin: 0 auto;
  padding: var(--space-10) var(--space-4) var(--space-16);
}

.legal-doc h2 {
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-weight: 700;
  color: var(--text-primary);
  margin-top: var(--space-8);
  margin-bottom: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-light);
}
.legal-doc h2:first-child { margin-top: 0; border-top: none; padding-top: 0; }

.legal-doc h3 {
  font-family: var(--font-display);
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--text-primary);
  margin-top: var(--space-4);
  margin-bottom: var(--space-2);
}

.legal-doc p {
  font-size: var(--text-base);
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: var(--space-3);
}

.legal-doc ul, .legal-doc ol {
  padding-left: var(--space-4);
  margin-bottom: var(--space-3);
}
.legal-doc li {
  font-size: var(--text-base);
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: var(--space-1);
}

.legal-doc a { color: var(--dv-teal); text-decoration: none; }
.legal-doc a:hover { text-decoration: underline; }

/* Tables */
.legal-doc table {
  width: 100%; border-collapse: collapse;
  font-size: var(--text-sm); margin-bottom: var(--space-4);
}
.legal-doc th {
  text-align: left; font-weight: 600; color: var(--text-primary);
  border-bottom: 2px solid var(--border); padding: 10px 12px;
  font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.06em;
}
.legal-doc td {
  color: var(--text-secondary); border-bottom: 1px solid var(--border-light);
  padding: 10px 12px; vertical-align: top; line-height: 1.5;
}
.legal-doc tr:last-child td { border-bottom: none; }

/* Contact callout */
.legal-contact {
  background: var(--bg-surface); border: 1px solid var(--border-light);
  border-radius: var(--radius-lg); padding: var(--space-4);
  margin-top: var(--space-4);
}
.legal-contact p { margin-bottom: var(--space-1); }
.legal-contact p:last-child { margin-bottom: 0; }

/* Responsive */
@media (max-width: 640px) {
  .legal-doc { padding: var(--space-8) var(--space-2) var(--space-10); }
  .legal-doc table { font-size: var(--text-xs); }
  .legal-doc th, .legal-doc td { padding: 8px; }
}
