/* Legal document pages (privacy notice). Long-form prose rendered from the
   Markdown in content/legal/ — narrower measure than the data pages, since
   this is meant to be read rather than scanned. */

.legal-body {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 4px 8px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--text-2);
}

.legal-body > p:first-child {
  font-size: 13px;
  color: var(--text-3);
  margin-bottom: 22px;
}

.legal-body h2 {
  font-size: 17px;
  font-weight: 700;
  color: var(--text);
  margin: 34px 0 10px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
  line-height: 1.35;
}
.legal-body h2:first-of-type { border-top: none; padding-top: 0; }

.legal-body h3 {
  font-size: 14.5px;
  font-weight: 700;
  color: var(--text);
  margin: 22px 0 6px;
}

.legal-body p { margin-bottom: 13px; }
.legal-body strong { color: var(--text); }

.legal-body ul, .legal-body ol { margin: 0 0 14px 20px; }
.legal-body li { margin-bottom: 6px; }

.legal-body a { color: var(--accent); text-decoration: underline; }
.legal-body a:hover { color: var(--accent-hover); }

/* Tables carry the cookie/recipient/retention detail, so they must stay
   readable — they scroll inside their own container rather than widening
   the page. */
.legal-body table {
  display: block;
  overflow-x: auto;
  width: 100%;
  border-collapse: collapse;
  margin: 6px 0 18px;
  font-size: 13.5px;
}
.legal-body th, .legal-body td {
  border: 1px solid var(--border);
  padding: 8px 11px;
  text-align: left;
  vertical-align: top;
}
.legal-body th {
  background: var(--surface-2);
  color: var(--text);
  font-weight: 700;
  white-space: nowrap;
}
.legal-body code {
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: 3px;
  padding: 1px 5px;
  font-size: 12.5px;
}

/* Shown when the visitor's language has no translated file and they are
   reading the English original instead. */
.legal-untranslated {
  max-width: 760px;
  margin: 0 auto 22px;
  padding: 11px 14px;
  background: var(--med-bg);
  border: 1px solid var(--border);
  border-radius: 3px;
  font-size: 13px;
  color: var(--med-text);
  line-height: 1.55;
}

.legal-actions {
  max-width: 760px;
  margin: 26px auto 0;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.legal-cookie-btn {
  height: 34px;
  padding: 0 14px;
  background: none;
  border: 1px solid var(--border-strong);
  border-radius: 3px;
  font-size: 13px;
  font-family: inherit;
  color: var(--text-2);
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.legal-cookie-btn:hover { background: var(--surface-2); color: var(--text); }

@media (max-width: 600px) {
  .legal-body { font-size: 14.5px; line-height: 1.65; }
  .legal-body h2 { font-size: 16px; margin-top: 28px; }
  .legal-body h3 { font-size: 14px; }
  .legal-body table { font-size: 12.5px; }
  .legal-body th, .legal-body td { padding: 7px 9px; }
  .legal-untranslated { font-size: 12.5px; }
  .legal-cookie-btn { width: 100%; }
}
