/*
 * Shared styles for the legal documents (privacy.html, terms.html).
 * Builds on the Cookbook Paper tokens + base defined in style.css; this
 * file only adds the long-form document layout those pages need.
 */

.doc {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 64px;
  width: 100%;
}

.back {
  display: inline-block;
  margin-bottom: 32px;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.back:hover { color: var(--accent-brand); }

.doc-title {
  font-family: var(--font-display);
  font-size: clamp(38px, 7vw, 56px);
  font-weight: 900;
  letter-spacing: -0.03em;
  line-height: 1.0;
  margin: 0 0 8px 0;
  color: var(--text-primary);
}

.updated {
  font-size: 11px;
  color: var(--text-muted);
  margin: 0 0 32px 0;
}

.lede {
  font-family: var(--font-mono);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.7;
  color: var(--text-secondary);
  margin: 0 0 24px 0;
}

.doc h2 {
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
  margin: 0 0 16px 0;
  color: var(--text-primary);
}

.doc h3 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -0.01em;
  margin: 24px 0 8px 0;
  color: var(--text-secondary);
}

.doc section {
  margin-top: 48px;
  scroll-margin-top: 24px;
}

.doc p { margin: 0 0 16px 0; }
.doc ul, .doc ol { margin: 0 0 16px 0; padding-left: 24px; }
.doc li { margin-bottom: 4px; }
.doc strong { color: var(--text-primary); font-weight: 600; }
.doc a { color: var(--accent-brand); text-decoration: none; }
.doc a:hover { text-decoration: underline; }

.doc code {
  font-family: var(--font-mono);
  background: var(--bg-raised);
  padding: 1px 5px;
  border-radius: 3px;
  font-size: 0.92em;
}

.toc {
  margin-top: 32px;
  padding: 16px 24px;
  background: var(--bg-raised);
  border: 1px solid var(--border-subtle);
  border-radius: 6px;
  font-size: 12px;
}
.toc .toc-label {
  margin: 0 0 8px 0;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--text-faint);
}
.toc ol { margin: 0; padding-left: 24px; columns: 2; }
.toc li { margin-bottom: 2px; }
@media (max-width: 520px) {
  .toc ol { columns: 1; }
}

.table-wrap { overflow-x: auto; margin: 0 0 8px 0; }
.doc table {
  width: 100%;
  border-collapse: collapse;
  margin: 8px 0;
  font-size: 12px;
}
.doc th, .doc td {
  text-align: left;
  padding: 8px;
  border-bottom: 1px solid var(--border-subtle);
  vertical-align: top;
}
.doc th {
  color: var(--text-secondary);
  font-weight: 600;
  border-bottom: 1px solid var(--border-default);
}
.doc sup { color: var(--accent-brand); }

.contact { line-height: 1.7; }
