/* ==========================================================================
   docpage.css — document/legal page typography for InsiderQ
   Loaded after app.css. Scoped to body.doc-page so nothing else is affected.
   Palette taken from app.css: #1abf68 primary, #fc8e16 accent,
   #2c2c51 headings, #677294 body.
   ========================================================================== */

.doc-page{--doc-ink:#2c2c51;--doc-body:#677294;--doc-green:#1abf68;--doc-orange:#fc8e16;
  --doc-rule:#e3e7ee;--doc-soft:#f6f8fa;--doc-fill:#fdf3d8;--doc-fill-ink:#7b4a00}

.doc-section{padding:70px 0 80px}
.doc-wrap{max-width:820px}
.doc-layout{display:flex;gap:48px;align-items:flex-start}
.doc-main{flex:1 1 auto;min-width:0}

/* ---- meta strip under the banner ---- */
.doc-meta{display:flex;flex-wrap:wrap;gap:10px 26px;padding:0 0 22px;margin:0 0 30px;
  border-bottom:1px solid var(--doc-rule);font-size:14px;color:var(--doc-body)}
.doc-meta span{display:inline-flex;align-items:center;gap:7px}
.doc-meta i{color:var(--doc-green)}
.doc-meta b{color:var(--doc-ink);font-weight:600}

.doc-lead{font-size:18px;line-height:32px;color:var(--doc-ink);margin:0 0 26px}

/* ---- in-page contents ---- */
.doc-toc{flex:0 0 232px;position:sticky;top:110px;font-size:14px}
.doc-toc strong{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:#96a0b5;margin:0 0 12px;font-weight:600}
.doc-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--doc-rule)}
.doc-toc li{margin:0}
.doc-toc a{display:block;padding:6px 0 6px 15px;margin-left:-2px;color:var(--doc-body);
  border-left:2px solid transparent;text-decoration:none;line-height:20px}
.doc-toc a:hover{color:var(--doc-green)}
.doc-toc a.is-current{color:var(--doc-green);border-left-color:var(--doc-green);font-weight:500}

/* ---- headings ---- */
.doc-main h2{font-size:24px;line-height:34px;color:var(--doc-ink);font-weight:600;
  margin:52px 0 18px;padding-bottom:11px;border-bottom:1px solid var(--doc-rule);scroll-margin-top:110px}
.doc-main h2:first-child{margin-top:0}
.doc-main h3{font-size:18px;line-height:28px;color:var(--doc-ink);font-weight:600;margin:32px 0 12px}
.doc-main p{color:var(--doc-body);margin:0 0 16px}
.doc-main a{color:var(--doc-green)}
.doc-main strong,.doc-main b{color:var(--doc-ink);font-weight:600}

/* ---- numbered clauses ---- */
.doc-clause{position:relative;padding-left:58px;margin:0 0 15px;color:var(--doc-body)}
.doc-clause .n{position:absolute;left:0;top:0;width:48px;color:var(--doc-green);
  font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}

/* ---- lists ---- */
.doc-list{list-style:none;margin:0 0 20px;padding:0}
.doc-list li{position:relative;padding-left:28px;margin:0 0 11px;color:var(--doc-body)}
.doc-list li:before{content:"";position:absolute;left:2px;top:10px;width:7px;height:7px;
  border-radius:50%;background:var(--doc-green)}
.doc-list.check li:before{content:"\f00c";font-family:"Font Awesome 5 Free";font-weight:900;
  background:none;width:auto;height:auto;left:0;top:0;font-size:12px;color:var(--doc-green)}

/* ---- callouts ---- */
.doc-note{border-left:3px solid var(--doc-green);background:var(--doc-soft);
  padding:18px 22px;border-radius:0 4px 4px 0;margin:0 0 24px}
.doc-note p{margin:0 0 10px}.doc-note p:last-child{margin:0}
.doc-note.warn{border-left-color:var(--doc-orange)}
.doc-note .lbl{display:block;font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:#96a0b5;font-weight:600;margin:0 0 8px}

.doc-quote{border-left:3px solid var(--doc-rule);padding:4px 0 4px 20px;margin:0 0 22px;
  font-style:italic;color:var(--doc-ink);font-size:17px;line-height:29px}
.doc-quote cite{display:block;font-style:normal;font-size:12px;letter-spacing:.05em;
  text-transform:uppercase;color:#96a0b5;margin-top:9px}

/* ---- tables ---- */
.doc-tablewrap{overflow-x:auto;margin:0 0 26px;border:1px solid var(--doc-rule);border-radius:5px}
.doc-table{width:100%;min-width:560px;border-collapse:collapse;font-size:14.5px;margin:0}
.doc-table th{background:#2c2c51;color:#fff;font-weight:600;text-align:left;
  padding:12px 16px;font-size:13px;letter-spacing:.02em;vertical-align:top}
.doc-table td{padding:12px 16px;border-bottom:1px solid var(--doc-rule);
  color:var(--doc-body);vertical-align:top;line-height:23px}
.doc-table tbody tr:nth-child(even){background:#fafbfc}
.doc-table tbody tr:last-child td{border-bottom:0}
.doc-table td:first-child{color:var(--doc-ink);font-weight:500}
.doc-table .yes,.doc-table td>.yes{color:var(--doc-green);font-weight:600}
.doc-table .no,.doc-table td>.no{color:#c0392b;font-weight:600}
.doc-table td>span.yes,.doc-table td>span.no{display:inline}

/* ---- fill-in placeholder (pre-publication) ---- */
.fill{background:var(--doc-fill);color:var(--doc-fill-ink);font-weight:600;
  padding:1px 6px;border-radius:3px}

/* ---- download / CTA row ---- */
.doc-cta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:34px 0 0;
  padding:26px 0 0;border-top:1px solid var(--doc-rule)}
.doc-cta p{margin:0;flex:1 1 240px}

/* ---- version footer ---- */
.doc-version{margin:44px 0 0;padding:20px 0 0;border-top:1px solid var(--doc-rule);
  font-size:13.5px;line-height:23px;color:#96a0b5}
.doc-version p{margin:0 0 6px;color:#96a0b5}

@media (max-width:991px){
  .doc-layout{display:block}
  .doc-toc{position:static;width:auto;margin:0 0 34px;padding:20px 22px;
    background:var(--doc-soft);border-radius:5px;border-left:0}
  .doc-toc ol{border-left:0;columns:2;column-gap:26px}
  .doc-toc a{padding:4px 0;border-left:0;margin:0}
  .doc-toc a.is-current{border-left:0}
}
@media (max-width:600px){
  .doc-section{padding:44px 0 56px}
  .doc-toc ol{columns:1}
  .doc-clause{padding-left:46px}.doc-clause .n{width:38px;font-size:14px}
  .doc-main h2{font-size:21px;line-height:30px}
}
@media print{
  .navbar-custom,.gp-site-footer,.doc-toc,.return-to-top,.doc-cta{display:none!important}
  .page-banner-two{background:none!important}
  body{font-size:11pt}
}
