/* Shared review presentation, based on PageRIJ's age/purchase popups.
   Keep text in rem so browser zoom/text-size settings can enlarge it.
   Layout, spacing, borders and corners retain the app's vh convention. */
body.legal-preview { color-scheme: dark; }
body.legal-preview {
  margin: 0;
  min-height: 100vh;
  box-sizing: border-box;
  padding: 3vh 4vw;
  background: #18182e;
  color: #999;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}
.legal-preview main { width: 92vh; max-width: 100%; margin: 0 auto; }
.legal-preview.purchase-preview main { width: 62vh; }
.legal-review-note {
  padding: 1vh 0;
  margin: 0 0 1.5vh;
  color: #baae82;
  font-size: 0.9375rem;
}
.legal-document {
  box-sizing: border-box;
  padding: 2vh;
  color: #aaa;
  background: #1e1e2e;
  border: 0.2vh solid #334;
  border-radius: 1vh;
  box-shadow: 0 0 2vh black;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.legal-document h1 { margin: 0 0 1vh; color: rgb(185,165,0); font-size: 1.35rem; font-weight: normal; line-height: 1.35; }
.legal-document h2 { margin: 2.5vh 0 1vh; color: rgb(185,165,0); font-size: 1.125rem; font-weight: normal; line-height: 1.4; }
.legal-document p, .legal-document ul { margin: 0 0 1.5vh; }
.legal-document ul { padding-left: 1.5em; }
.legal-document li { margin: 0 0 0.75vh; }
.legal-document a { color: #bac0dd; text-underline-offset: 0.18em; }
.legal-document strong { color: #bbb; }
.legal-document .legal-version { font-size: 0.9375rem; color: #a5a5b7; border-bottom: 0.1vh solid #334; padding-bottom: 1vh; }
.legal-document .legal-confirmation { display: flex; align-items: flex-start; gap: 1vh; margin: 2vh 0; }
.legal-document input[type="checkbox"] { flex: 0 0 auto; width: 1.1em; height: 1.1em; margin: 0.25em 0 0; accent-color: #81966b; }
.legal-document .legal-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 1vh; margin-top: 2vh; }
.legal-document button {
  padding: 0.6vh 1vh;
  border: 0.2vh solid #334;
  border-radius: 0.7vh;
  background: #111122;
  color: #999;
  font: inherit;
  font-size: 1rem;
}
.legal-document button:disabled { cursor: default; opacity: 0.75; }
.legal-document :focus-visible { outline: 0.15em solid #c8b873; outline-offset: 0.15em; }
.legal-document .legal-pending { color: #cfbd8e; border-left: 0.2vh solid #8f7c43; padding-left: 1vh; }
@media print {
  body.legal-preview { color-scheme: light; }
  body.legal-preview { background: white; color: black; padding: 0; }
  .legal-preview main, .legal-preview.purchase-preview main { width: auto; }
  .legal-document { background: white; color: black; box-shadow: none; border: 0; padding: 0; }
  .legal-document h1, .legal-document h2, .legal-document strong, .legal-document a, .legal-document .legal-version, .legal-document .legal-pending { color: black; }
  .legal-review-note { color: black; }
}
