/* Shared document component for the published Privacy and Terms renderers.
 * Owns presentation only. Document source, section IDs and links are unchanged. */
body.public-legal-page.hrc-family-public.hrc-theme-profile-semantic {
  --base-bg: var(--hrc-color-bg-app);
  --tcv-bg: var(--hrc-color-bg-app);
  --tcv-surface: var(--hrc-color-surface);
  --tcv-soft: var(--hrc-color-surface-soft);
  --tcv-line: var(--hrc-color-border);
  --tcv-ink: var(--hrc-color-text);
  --tcv-muted: var(--hrc-color-text-muted);
  --ai-bg: var(--hrc-color-bg-app);
  --ai-surface: var(--hrc-color-surface);
  --ai-soft: var(--hrc-color-surface-soft);
  --ai-border: var(--hrc-color-border);
  --ai-text: var(--hrc-color-text);
  --ai-muted: var(--hrc-color-text-muted);
  --ai-shadow: none;
}

body.public-legal-page .public-trust-hero > div,
body.public-legal-page .public-trust-content > article {
  border-radius: var(--hrc-radius-md);
  box-shadow: none;
}

body.public-legal-page .public-trust-hero h1 {
  font-size: var(--hrc-text-2xl);
  font-weight: var(--hrc-weight-semibold);
  line-height: var(--hrc-leading-tight);
}

body.public-legal-page .public-trust-facts {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--hrc-space-3);
  align-content: start;
}

body.public-legal-page .public-trust-facts article {
  padding: var(--hrc-space-3);
  border: 0;
  border-radius: var(--hrc-radius-sm);
  background: var(--hrc-color-surface-soft);
}

body.public-legal-page .public-trust-facts b {
  font-size: var(--hrc-text-sm);
  font-weight: var(--hrc-weight-semibold);
  line-height: var(--hrc-leading-normal);
}

body.public-legal-page .public-trust-facts span {
  font-size: var(--hrc-text-sm);
  font-weight: var(--hrc-weight-regular);
  line-height: var(--hrc-leading-normal);
  overflow-wrap: anywhere;
}

body.public-legal-page .hrc-btn--primary {
  background: var(--hrc-action-primary);
  border-color: var(--hrc-action-primary);
  color: var(--hrc-action-on-primary);
  box-shadow: none;
}

body.public-legal-page .hrc-btn--primary:hover {
  background: var(--hrc-action-primary-hover);
  color: var(--hrc-action-on-primary);
}

body.public-legal-page .public-legal-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr);
  gap: var(--hrc-space-4);
}

body.public-legal-page :is(.public-legal-overview > article, .public-legal-toc, .public-legal-document > article, .public-legal-references > article) {
  min-width: 0;
  padding: var(--hrc-card-padding);
  border: var(--hrc-border-width) solid var(--hrc-color-border);
  border-radius: var(--hrc-radius-md);
  background: var(--hrc-color-surface);
  color: var(--hrc-color-text);
  box-shadow: none;
  overflow-wrap: anywhere;
}

body.public-legal-page :is(.public-legal-overview, .public-legal-document, .public-legal-references) h2 {
  margin: var(--hrc-space-0) var(--hrc-space-0) var(--hrc-space-3);
  color: var(--hrc-color-text);
  font-size: var(--hrc-text-xl);
  font-weight: var(--hrc-weight-semibold);
  line-height: var(--hrc-leading-tight);
}

body.public-legal-page :is(.public-legal-overview, .public-legal-document, .public-legal-references) :is(p, li) {
  color: var(--hrc-color-text-muted);
  font-weight: var(--hrc-weight-regular);
  line-height: var(--hrc-leading-relaxed);
}

body.public-legal-page .public-legal-meta,
body.public-legal-page .public-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hrc-space-2);
  margin-top: var(--hrc-space-4);
}

body.public-legal-page .public-legal-meta span {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--hrc-space-1);
  padding: var(--hrc-space-1) var(--hrc-space-2);
  border-radius: var(--hrc-radius-sm);
  color: var(--hrc-color-text-muted);
  background: var(--hrc-color-surface-soft);
  font-size: var(--hrc-text-sm);
}

body.public-legal-page .public-legal-meta strong {
  color: var(--hrc-color-text);
  font-weight: var(--hrc-weight-medium);
}

body.public-legal-page .public-legal-operator dl {
  display: grid;
  gap: var(--hrc-space-3);
  margin-block: var(--hrc-space-4);
}

body.public-legal-page .public-legal-operator dl div {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: var(--hrc-space-3);
}

body.public-legal-page .public-legal-operator dt {
  color: var(--hrc-color-text-muted);
  font-weight: var(--hrc-weight-regular);
}

body.public-legal-page .public-legal-operator dd {
  margin: 0;
  color: var(--hrc-color-text);
  font-weight: var(--hrc-weight-medium);
}

body.public-legal-page :is(.public-legal-operator, .public-legal-document, .public-legal-references) a:not(.ai-btn, .hrc-btn) {
  color: var(--hrc-color-info);
  font-weight: var(--hrc-weight-medium);
  text-decoration: underline;
  text-underline-offset: var(--hrc-space-1);
}

body.public-legal-page .public-legal-layout {
  display: grid;
  grid-template-columns: minmax(240px, .8fr) minmax(0, 2fr);
  gap: var(--hrc-space-4);
  align-items: start;
}

body.public-legal-page .public-legal-toc {
  position: sticky;
  top: calc(var(--hrc-public-header-height) + var(--hrc-space-6));
  max-height: calc(100dvh - var(--hrc-public-header-height) - 2 * var(--hrc-space-6));
  overflow-y: auto;
}

body.public-legal-page .public-legal-toc ol {
  display: grid;
  gap: var(--hrc-space-1);
  margin: var(--hrc-space-3) 0 0;
  padding: 0;
  list-style: none;
}

body.public-legal-page .public-legal-toc a,
body.public-legal-page .public-legal-links a {
  min-height: var(--hrc-control-height);
  display: flex;
  align-items: center;
  padding: var(--hrc-space-2);
  border-radius: var(--hrc-radius-sm);
  color: var(--hrc-color-text-muted);
  font-weight: var(--hrc-weight-medium);
  line-height: var(--hrc-leading-normal);
  text-decoration: none;
}

body.public-legal-page .public-legal-toc a:hover {
  color: var(--hrc-color-text);
  background: var(--hrc-color-surface-soft);
}

body.public-legal-page main a:focus-visible {
  outline: var(--hrc-focus-width) solid var(--hrc-color-focus);
  outline-offset: var(--hrc-focus-offset);
}

body.public-legal-page .public-legal-document {
  display: grid;
  gap: var(--hrc-space-3);
}

body.public-legal-page .public-legal-document > article {
  scroll-margin-top: calc(var(--hrc-public-header-height) + 2 * var(--hrc-space-6));
}

body.public-legal-page .public-legal-document p {
  margin: 0 0 var(--hrc-space-3);
}

body.public-legal-page :is(.public-legal-document, .public-legal-references) ul {
  display: grid;
  gap: var(--hrc-space-2);
  margin: var(--hrc-space-3) 0 0;
  padding-inline-start: var(--hrc-space-5);
}

body.public-legal-page .public-legal-references {
  display: grid;
}

body.public-legal-page .public-legal-references .hrc-btn {
  margin-top: var(--hrc-space-4);
}

@media (max-width: 900px) {
  body.public-legal-page .public-legal-overview,
  body.public-legal-page .public-legal-layout {
    grid-template-columns: 1fr;
  }
  body.public-legal-page .public-legal-toc {
    position: static;
    max-height: none;
  }
}

@media (max-width: 520px) {
  body.public-legal-page .public-legal-operator dl div {
    grid-template-columns: 1fr;
    gap: var(--hrc-space-1);
  }
}
