/* terms.php, disclaimer.php, privacy.php (legal_render.php). Colours are tokens, so the forest theme's light band (which turns
   --bone, --frost, --gold and --line dark on cream) restyles it; the forest titles are in the "LEGAL PAGES" block of themes/forest.css. */
.lg-wrap { max-width: 980px; margin: 0 auto; padding: 48px 24px 80px; }

.lg-head { text-align: left; padding: 6px 0 24px; margin-bottom: 28px; border-bottom: 1px solid var(--line); }   /* styles.css pads every <header> */
.lg-name { margin: 0 0 8px; font-family: var(--font-heading); font-size: calc(2rem * var(--text-scale)); line-height: 1.2; color: var(--gold); }
.lg-updated { margin: 0 0 14px; font-size: calc(0.75rem * var(--text-scale)); letter-spacing: 0.12em; text-transform: uppercase; color: var(--frost); }
.lg-lead { margin: 0; font-size: calc(0.96875rem * var(--text-scale)); line-height: 1.7; color: var(--frost); }

.lg-toc { margin: 0 0 44px; padding: 0; }
.lg-toc-title { margin: 0 0 12px; font-family: var(--font-heading); font-weight: 400; font-size: calc(0.8125rem * var(--text-scale)); letter-spacing: 0.14em; text-transform: uppercase; color: var(--bone); }
.lg-toc ol { margin: 0; padding: 0 0 0 1.4em; columns: 3 280px; column-gap: 36px; font-size: calc(0.875rem * var(--text-scale)); line-height: 1.5; color: var(--frost); }
.lg-toc li { padding: 3px 0; break-inside: avoid; }
.lg-toc a { color: var(--frost); text-decoration: none; }
.lg-toc a:hover { color: var(--gold); text-decoration: underline; }

.lg-sec { max-width: none; margin: 0 0 40px; padding: 0; scroll-margin-top: 90px; }   /* styles.css boxes every <section> */
.lg-title { margin: 0 0 14px; font-family: var(--font-heading); font-weight: 400; font-size: calc(1.125rem * var(--text-scale)); line-height: 1.35; letter-spacing: 0.06em; color: var(--bone); }
.lg-num { color: var(--gold); }

.lg-body { font-size: calc(0.9375rem * var(--text-scale)); line-height: 1.75; color: var(--frost); }
.lg-body p { margin: 0 0 14px; }
.lg-body h3 { margin: 22px 0 8px; font-family: var(--font-heading); font-weight: 400; font-size: calc(0.875rem * var(--text-scale)); letter-spacing: 0.1em; text-transform: uppercase; color: var(--bone); }
.lg-body ul, .lg-body ol { margin: 0 0 14px; padding-left: 1.4em; }
.lg-body li { margin: 0 0 6px; }
.lg-body a { color: var(--gold); }
.lg-body strong { color: var(--bone); font-weight: 700; }

/* the paragraphs that must be seen: entertainment only, no liability, arbitration */
.lg-key { margin: 0 0 18px; padding: 16px 20px; border: 1px solid var(--line); border-left: 4px solid var(--gold); border-radius: var(--card-radius-sm, 4px); background: rgba(var(--gold-rgb), 0.07); }
.lg-key p { margin: 0 0 10px; max-width: none; }
.lg-key p:last-child { margin-bottom: 0; }
.lg-caps { text-transform: uppercase; letter-spacing: 0.02em; font-size: calc(0.84375rem * var(--text-scale)); line-height: 1.65; }

.lg-others { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 22px; margin-top: 44px; padding-top: 20px; border-top: 1px solid var(--line); font-size: calc(0.875rem * var(--text-scale)); color: var(--frost); }
.lg-others a { color: var(--gold); }

@media (max-width: 600px) {
  .lg-wrap { padding: 32px 16px 56px; }
  .lg-name { font-size: calc(1.625rem * var(--text-scale)); }
}
@media print {
  .lg-toc, .lg-others { display: none; }
  .lg-key { background: none; }
}

/* Forest titles (kept here, not in themes/forest.css, so the legal pages ship on their own): same treatment as the Sky Calendar. */
[data-theme="forest"] .fbp-sec .lg-wrap { max-width:none; padding:0; }   /* the band (.fp-inner) sets the width, the same as every other content pane */
[data-theme="forest"] .fbp-sec .lg-name { font-family:'Alata',var(--fh-display); font-weight:400; font-size:calc(1.625rem * var(--text-scale)); letter-spacing:.1em; text-transform:uppercase; color:var(--fh-ink); }
[data-theme="forest"] .fbp-sec .lg-title { display:flex; align-items:baseline; gap:10px; font-family:'Alata',var(--fh-display); font-size:calc(1.1875rem * var(--text-scale)); letter-spacing:.04em; color:var(--fh-ink); }
[data-theme="forest"] .fbp-sec .lg-num { color:var(--fh-bronze); }
[data-theme="forest"] .fbp-sec :is(.lg-toc-title, .lg-body h3) { font-family:'Alata',var(--fh-display); color:var(--fh-bronze); }
[data-theme="forest"] .fbp-sec .lg-key { border-color:var(--fh-ornament); border-left-color:var(--fh-bronze); background:var(--fh-paper); }
[data-theme="forest"] .fbp-sec .lg-body a, [data-theme="forest"] .fbp-sec .lg-others a { color:var(--fh-green); }
[data-theme="forest"] .fbp-sec .lg-toc a:hover { color:var(--fh-green); }
[data-theme="forest"] .fbp-sec :focus-visible { outline-color:var(--fh-green); }
@media (max-width:600px) {
  [data-theme="forest"] .fbp-sec .lg-name { font-size:calc(1.3125rem * var(--text-scale)); }
}
