/* GovCapture AI - legal pages (terms, privacy). Loads after landing.css and
   is scoped to body.public .legal. One column of prose at the body measure,
   a draft banner nobody can miss, hairline-separated sections. */

body.public .legal { padding-block: clamp(var(--gc-s7), 7vw, var(--gc-s9)); }

.legal-wrap { max-width: 46rem; }

/* The draft banner. Amber is the product's "unconfirmed" state and that is
   exactly what this text is until counsel has read it. */
.legal-draft {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--gc-s3) var(--gc-s4);
  align-items: start;
  padding: var(--gc-s4) var(--gc-s5);
  margin-bottom: clamp(var(--gc-s6), 5vw, var(--gc-s8));
  background: var(--gc-unverified-soft);
  border: 1px solid var(--gc-unverified);
  border-left-width: 6px;
  border-radius: var(--gc-radius);
  color: var(--gc-ink);
}
.legal-draft-tag {
  font-family: var(--gc-font-mono);
  font-weight: 700;
  font-size: var(--gc-text-xs);
  letter-spacing: .06em;
  color: var(--gc-unverified);
  padding-top: .2em;
}
.legal-draft p { font-size: var(--gc-text-sm); }
.legal-draft strong { color: var(--gc-unverified); }

.legal-head { margin-bottom: clamp(var(--gc-s6), 5vw, var(--gc-s7)); }
.legal-head h1 { margin-top: var(--gc-s3); }
.legal-meta { margin-top: var(--gc-s4); color: var(--gc-muted); font-size: var(--gc-text-sm); }

.legal-toc { margin: 0 0 var(--gc-s6); padding: var(--gc-s4) var(--gc-s5);
             border: 1px solid var(--gc-line); border-radius: var(--gc-radius);
             background: var(--gc-surface); }
.legal-toc h2 { font-family: var(--gc-font-sans); font-size: var(--gc-text-xs);
                font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
                color: var(--gc-muted); margin-bottom: var(--gc-s3); }
.legal-toc ol { margin: 0; padding-left: 1.4rem; columns: 2; column-gap: var(--gc-s6);
                font-size: var(--gc-text-sm); }
.legal-toc li { break-inside: avoid; margin-bottom: var(--gc-s1); }

.legal-body > section + section { margin-top: var(--gc-s6); padding-top: var(--gc-s5);
                                   border-top: 1px solid var(--gc-line); }
.legal-body h2 { font-family: var(--gc-font-sans); font-size: var(--gc-text-lg);
                 font-weight: 600; line-height: var(--gc-leading-snug);
                 margin-bottom: var(--gc-s3); }
.legal-body h3 { font-size: var(--gc-text-md); margin-top: var(--gc-s4); margin-bottom: var(--gc-s2); }
.legal-body p, .legal-body li { max-width: var(--gc-measure); }
.legal-body ul, .legal-body ol { margin: var(--gc-s3) 0 var(--gc-s4); padding-left: 1.3rem; }
.legal-body li + li { margin-top: var(--gc-s2); }
.legal-body p + ul, .legal-body p + ol { margin-top: var(--gc-s3); }
.legal-body ul + p, .legal-body ol + p { margin-top: var(--gc-s4); }
.legal-body code { font-family: var(--gc-font-mono); font-size: .9em; }

/* A decision counsel or Aaron still has to make. Mono so it cannot pass for
   finished text. */
.legal-body .todo, .legal-draft .todo {
  font-family: var(--gc-font-mono);
  font-size: .82em;
  font-weight: 600;
  color: var(--gc-required);
  background: var(--gc-required-soft);
  padding: .05em .4em;
  border-radius: var(--gc-radius-sm);
  white-space: nowrap;
}

.legal-body dl { margin: var(--gc-s3) 0 var(--gc-s4); }
.legal-body dt { font-weight: 600; margin-top: var(--gc-s3); }
.legal-body dd { margin: var(--gc-s1) 0 0; color: var(--gc-muted); max-width: var(--gc-measure); }

@media (max-width: 640px) {
  .legal-toc ol { columns: 1; }
  .legal-draft { grid-template-columns: 1fr; }
}

@media print {
  .legal-draft { border-color: #000; background: none; }
  .legal-body .todo { background: none; border: 1px solid #000; }
}
