/* ==========================================================================
   Construct Software - legal.css
   Public legal documents (?page=legal). Loaded with help.css on legal pages,
   and on its own for embedded documents (&embed=1).
   ========================================================================== */

/* ── Index ─────────────────────────────────────────────────────── */
.legal-hero { padding-bottom: 2rem; }
.legal-groups { display: grid; gap: 2.25rem; max-width: 820px; margin: 0 auto; }
.legal-group h2 { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1.15rem; font-weight: 700; color: var(--text); }
.legal-group-intro { font-size: .88rem; color: var(--muted); margin: .2rem 0 .8rem; }
.legal-page .hc-list-text > span { display: block; }
.legal-list-icon { font-size: 1.3rem; color: var(--blue); margin-top: .1rem; }
.legal-list-arrow { color: var(--muted); align-self: center; }
.legal-upcoming-note { font-size: .78rem; color: var(--gold); margin-top: .25rem; }
.legal-upcoming-note i { vertical-align: -1px; }
.legal-apps { display: flex; flex-wrap: wrap; gap: .35rem .9rem; padding: .7rem 1.25rem .9rem 3.4rem; border-top: 1px dashed var(--border); background: var(--bg2); font-size: .82rem; }
.legal-apps span { color: var(--muted); }
.legal-page .hc-contact { max-width: 820px; margin-left: auto; margin-right: auto; }

/* ── Document ──────────────────────────────────────────────────── */
.legal-meta { gap: .3rem 1.1rem; }
.legal-notice { display: flex; gap: .8rem; align-items: flex-start; padding: .9rem 1.1rem; margin-bottom: 1.6rem; border-radius: 10px; background: rgba(198,138,0,.08); border: 1px solid rgba(198,138,0,.25); font-size: .88rem; color: var(--text2); line-height: 1.6; }
.legal-notice > i { font-size: 1.25rem; color: var(--gold); flex-shrink: 0; margin-top: .1rem; }
.legal-body ul { list-style: disc; }
.legal-body ol { list-style: decimal; }
.legal-body ol[type="a"] { list-style: lower-alpha; }
.legal-body ol[type="i"] { list-style: lower-roman; }
.legal-body ul ul, .legal-body ol ul { list-style: circle; }
.legal-body ol ol { list-style: lower-alpha; }
.legal-supplement { margin-top: 3rem; padding-top: 2rem; border-top: 2px solid var(--border); }
.legal-supplement-title { font-family: 'Plus Jakarta Sans', sans-serif; font-size: 1.5rem; font-weight: 800; color: var(--text); scroll-margin-top: 90px; }
.legal-supplement-meta { font-size: .8rem; color: var(--muted); margin: .3rem 0 1.4rem; }
.legal-print { width: 100%; justify-content: center; }
.legal-print-source { display: none; }
.legal-aside a.legal-active { color: var(--blue); font-weight: 600; }
.legal-aside a.legal-muted-link { color: var(--muted); font-size: .8rem; }
.legal-history a span { color: var(--muted); font-size: .78rem; margin-left: .25rem; }

/* ── Embedded (&embed=1): no site chrome, our fonts not loaded ─── */
body.legal-embed {
  margin: 0; padding: 1.25rem 1.5rem 2rem; background: #fff; color: #2c3e57;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif; font-size: 14px; line-height: 1.65;
}
.legal-embed-doc { max-width: 760px; margin: 0 auto; }
.legal-embed h1 { font-size: 1.4rem; line-height: 1.25; color: #0f1e35; margin: 0 0 .25rem; }
.legal-embed .legal-meta { font-size: .8rem; color: #637896; margin: 0 0 1.25rem; padding-bottom: .9rem; border-bottom: 1px solid #dde5f0; }
.legal-embed .legal-body h2 { font-size: 1.1rem; color: #0f1e35; margin: 1.5rem 0 .5rem; }
.legal-embed .legal-body h3 { font-size: 1rem; color: #0f1e35; margin: 1.2rem 0 .4rem; }
.legal-embed .legal-body h4 { font-size: .95rem; color: #0f1e35; margin: 1rem 0 .35rem; }
.legal-embed .legal-body p, .legal-embed .legal-body ul, .legal-embed .legal-body ol { margin: 0 0 .9rem; }
.legal-embed .legal-body ul, .legal-embed .legal-body ol { padding-left: 1.3rem; }
.legal-embed .legal-body ul { list-style: disc; }
.legal-embed .legal-body table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: .88rem; display: block; overflow-x: auto; }
.legal-embed .legal-body th, .legal-embed .legal-body td { border: 1px solid #dde5f0; padding: .4rem .6rem; text-align: left; vertical-align: top; }
.legal-embed .legal-body th { background: #f4f7fb; }
.legal-embed a { color: #1A6FD4; }
.legal-embed .legal-supplement { border-top-color: #dde5f0; margin-top: 2rem; padding-top: 1.5rem; }
.legal-embed .legal-supplement-title { font-family: inherit; font-size: 1.2rem; color: #0f1e35; margin: 0; }
.legal-embed .legal-supplement-meta { color: #637896; }
.legal-embed-foot { margin-top: 2rem; font-size: .82rem; }

/* ── Print: just the document ──────────────────────────────────── */
@media print {
  nav, .nav-mobile, .site-footer, .hc-crumbs, .legal-aside, .hc-toc-mobile, .legal-embed-foot { display: none !important; }
  body { font-size: 11pt; color: #000; background: #fff; }
  .hc-page { padding: 0; max-width: none; }
  .hc-article-grid { display: block; }
  .hc-article { max-width: none; }
  .article-title { font-size: 20pt; }
  .article-body, .legal-body { color: #000; line-height: 1.5; }
  .legal-body h2, .legal-body h3 { page-break-after: avoid; break-after: avoid; }
  .legal-body table { display: table; }
  .legal-notice { border: 1px solid #999; background: none; }
  .legal-print-source { display: block; font-size: 9pt; color: #555; margin: -1rem 0 1.2rem; }
  .legal-body a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; color: #555; }
}
