/* Content pages: about, contact, security, FAQ, the legal pages and the error pages.
   Only content-* classes live here; everything else comes from the shared CSS. Colors, spacing and radii are tokens. */

/* Honeypot field: moved off-screen rather than display:none, because some bots skip display:none inputs.
   Real visitors never reach it (aria-hidden, tabindex -1). */
.content-hp {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.content-meta {
  margin: 0 0 var(--space-4);
  font-size: var(--text-sm);
  color: var(--color-muted);
}

/* ---- Legal pages ------------------------------------------------------------------------------ */
.content-legal__switch { margin: 0 0 var(--space-6); }
.content-legal__switch ul { margin: 0; padding: 0; }
.content-legal__body { margin-top: var(--space-8); }
.content-legal__body h3 { margin: var(--space-6) 0 var(--space-3); }
.content-legal__body .table-wrap { margin: var(--space-4) 0 var(--space-6); }
.content-legal__body .kv { margin-bottom: var(--space-6); }
.content-legal__contact {
  margin-top: var(--space-12);
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border);
}

/* "On this page" list, used by the legal pages and the security page. */
.content-toc {
  margin: var(--space-6) 0;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-surface);
}
.content-toc .eyebrow { margin-bottom: var(--space-3); }
.content-toc ol { margin: 0; padding: 0; list-style: none; }
.content-toc li { margin: 0 0 var(--space-2); break-inside: avoid; font-size: var(--text-sm); }
.content-toc li:last-child { margin-bottom: 0; }
@media (min-width: 48em) {
  .content-toc ol { columns: 2; column-gap: var(--space-10); }
}

/* Security page: keep in-page anchors clear of the sticky header. */
.prose h2[id], #permissions { scroll-margin-top: calc(var(--header-h) + var(--space-4)); }

/* ---- FAQ ------------------------------------------------------------------------------------- */
.content-faq__nav { margin: var(--space-6) 0 var(--space-8); }
.content-faq__nav ul { margin: 0; padding: 0; }
.content-faq__group { margin-top: var(--space-10); scroll-margin-top: calc(var(--header-h) + var(--space-4)); }
.content-faq__group h2 { margin: 0 0 var(--space-4); }
.content-faq__group details { scroll-margin-top: calc(var(--header-h) + var(--space-4)); }
.content-faq__more { margin-top: var(--space-12); }

/* ---- Contact --------------------------------------------------------------------------------- */
.content-contact { margin-top: var(--space-8); }
.content-contact textarea { min-height: 9rem; }
@media (min-width: 48em) {
  .content-contact { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
}

/* ---- Error pages ----------------------------------------------------------------------------- */
.content-error { padding-block: var(--space-8); }
.content-error .alert { margin-top: var(--space-4); }
.content-error__links { margin: var(--space-6) 0 0; }
.content-error__actions { margin-top: var(--space-8); }
