/* =========================================================
   legal.css — the privacy notice, terms, cookie notice and
   account page: long text, read on any screen.
   ========================================================= */

body {
  height: auto;
  min-height: 100vh;
  background: var(--bg);
  color: var(--ink);
}

.doc-head {
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: var(--space-3);
  max-width: 760px; margin: 0 auto; padding: var(--space-5) var(--space-4) 0;
}
.doc-brand {
  display: flex; align-items: center; gap: 10px;
  color: var(--ink); text-decoration: none;
}
.doc-brand img { width: 28px; height: 28px; }
.doc-brand strong { font-size: 15px; letter-spacing: .2px; }
.doc-nav { display: flex; gap: var(--space-4); font-size: 13px; }
.doc-nav a { color: var(--ink-mute); text-decoration: none; }
.doc-nav a:hover { color: var(--ink); }
.doc-nav a[aria-current="page"] { color: var(--accent); font-weight: 600; }

.doc {
  max-width: 760px; margin: 0 auto;
  padding: var(--space-6) var(--space-4) var(--space-8);
  font-size: 15px; line-height: 1.6;
}
/* Headings for reading, not the tool pages' small capitals. */
.doc h1 { font-size: 26px; line-height: 1.25; margin: 0 0 var(--space-2); }
.doc h2, .doc h3 {
  color: var(--ink); text-transform: none; letter-spacing: normal; font-weight: 600;
}
.doc h2 {
  font-size: 18px; line-height: 1.3; margin: var(--space-8) 0 var(--space-3);
  padding-top: var(--space-4); border-top: 1px solid var(--line);
}
.doc h3 { font-size: 15px; margin: var(--space-5) 0 var(--space-2); }
.doc p, .doc ul, .doc ol { margin: 0 0 var(--space-4); }
.doc ul, .doc ol { padding-left: 1.3em; }
.doc li { margin-bottom: var(--space-1); }
.doc a { color: var(--accent); }
.doc .doc-meta { color: var(--ink-mute); font-size: 13px; margin-bottom: var(--space-6); }
.doc .summary {
  background: var(--bg-panel); border: 1px solid var(--line);
  border-radius: var(--radius-md); padding: var(--space-4) var(--space-5);
}
.doc .summary p:last-child, .doc .summary ul:last-child { margin-bottom: 0; }
.doc .note { color: var(--ink-mute); font-size: 13px; }
.doc code { font-family: var(--font-num); font-size: 13px; }

.table-wrap { overflow-x: auto; margin: 0 0 var(--space-5); }
.doc table { width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.45; }
.doc th, .doc td {
  text-align: left; vertical-align: top;
  padding: 8px 10px; border-bottom: 1px solid var(--line);
}
.doc th { color: var(--ink-mute); font-weight: 600; white-space: nowrap; }

.doc .form-copy {
  white-space: pre-wrap; font-family: var(--font-num); font-size: 13px;
  background: var(--bg-panel); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: var(--space-4);
}

@media (max-width: 520px) {
  .doc { font-size: 14px; padding-top: var(--space-4); }
  .doc h1 { font-size: 22px; }
}

/* ---------- The account page: forms among the text ---------- */
.doc .facts {
  display: grid; grid-template-columns: max-content 1fr; gap: 6px 16px;
  margin: 0 0 var(--space-6); font-size: 14px;
}
.doc .facts dt { color: var(--ink-mute); }
.doc .facts dd { margin: 0; overflow-wrap: anywhere; }
.doc .notice, .doc .error {
  padding: 10px 12px; border-radius: var(--radius-sm); font-size: 14px;
  margin: 0 0 var(--space-5);
}
.doc .notice { background: var(--accent-soft); border: 1px solid var(--accent); }
.doc .error { background: rgba(220, 80, 80, .12); border: 1px solid rgba(220, 80, 80, .4); }
.acct-form { display: grid; gap: var(--space-3); max-width: 420px; margin: 0 0 var(--space-3); }
.acct-form label {
  display: grid; gap: 6px; margin: 0; font-size: 13px; color: var(--ink-mute);
  font-weight: 400; text-transform: none; letter-spacing: normal;
}
.acct-form input {
  background: var(--bg-elev); color: var(--ink); border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm); padding: 9px 10px; font-size: 14px; width: 100%;
}
.acct-form input:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.acct-form .row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.acct-btn {
  padding: 9px 16px; border-radius: var(--radius-sm); border: 0; cursor: pointer;
  font: inherit; font-size: 14px; font-weight: 600;
  background: var(--accent); color: var(--accent-ink);
}
.acct-btn.danger { background: #b12838; color: #fff; }
.acct-btn[disabled] { opacity: .6; cursor: progress; }
.acct-status { font-size: 13px; color: var(--ink-mute); }
.acct-status.ok { color: var(--pos); }
.acct-status.err { color: var(--neg); }
