/* ============================================================
   Vanquish AI — legal & compliance document styles
   Loaded in addition to styles.css on /legal pages.
   ============================================================ */

.legal-page{max-width:820px}
.legal-page .back{display:inline-flex;width:fit-content}
.legal-page .back + .eyebrow{display:block;margin-top:14px}
.legal-page .doc-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-family:var(--font-mono);
  font-size:12px;color:var(--text-3)}
.legal-page .doc-meta b{color:var(--text-2);font-weight:500}
.legal-page .lede{font-size:17px;color:var(--text-2);line-height:1.7;margin-top:22px}

/* template / advisory notice */
.notice{display:flex;gap:12px;align-items:flex-start;margin:26px 0;padding:16px 18px;border-radius:var(--r-md);
  background:var(--warning-soft,rgba(245,178,62,.12));border:1px solid rgba(245,178,62,.3)}
.notice svg{width:18px;height:18px;color:var(--warning);flex:none;margin-top:2px}
.notice p{font-size:13.5px;line-height:1.6;color:var(--text-2);margin:0}
.notice b{color:var(--text)}
.notice.brand{background:var(--brand-soft);border-color:var(--border-brand)}
.notice.brand svg{color:var(--brand)}

/* table of contents */
.toc{margin:30px 0 8px;padding:20px 22px;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--r-lg)}
.toc h2{font-size:12px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);margin:0 0 14px;font-weight:500}
.toc ol{list-style:none;counter-reset:toc;display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}
.toc li{counter-increment:toc;font-size:14px}
.toc a{color:var(--text-2);display:flex;gap:9px}
.toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--font-mono);font-size:12px;color:var(--text-4)}
.toc a:hover{color:var(--text)}

/* numbered legal headings */
.legal-page section{scroll-margin-top:84px;padding-top:8px}
.legal-page h2{font-size:21px;margin:38px 0 12px}
.legal-page h3{font-size:16px;margin:24px 0 8px;color:var(--text)}
.legal-page p,.legal-page li{color:var(--text-2);font-size:15px;line-height:1.7}
.legal-page ul,.legal-page ol{padding-left:22px;display:flex;flex-direction:column;gap:8px;margin-top:10px}
.legal-page ul{list-style:disc}.legal-page ol{list-style:decimal}
.legal-page a.inl{color:var(--info)}
.legal-page strong{color:var(--text)}
.legal-page .updated{color:var(--text-3);font-size:14px;margin-top:10px}

/* data tables (RoPA, sub-processors) */
.dtable{width:100%;border-collapse:collapse;margin:18px 0;font-size:13.5px;display:block;overflow-x:auto}
.dtable table{width:100%;border-collapse:collapse;min-width:640px}
.dtable th{text-align:left;font-family:var(--font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-3);font-weight:500;padding:11px 14px;border-bottom:1px solid var(--border);background:var(--surface-1);vertical-align:top}
.dtable td{padding:12px 14px;border-bottom:1px solid var(--border-subtle);color:var(--text-2);line-height:1.55;vertical-align:top}
.dtable tr:last-child td{border-bottom:none}
.dtable td b{color:var(--text);font-weight:600}
.dtable .mono{font-family:var(--font-mono);font-size:12px}

/* definition rows */
.deflist{display:flex;flex-direction:column;gap:0;margin:16px 0}
.deflist .row{display:grid;grid-template-columns:200px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid var(--border-subtle)}
.deflist .row:last-child{border-bottom:none}
.deflist dt{font-weight:600;color:var(--text);font-size:14px}
.deflist dd{margin:0;color:var(--text-2);font-size:14px;line-height:1.6}

/* doc nav (prev/related) */
.docnav{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px;padding-top:28px;border-top:1px solid var(--border-subtle)}
.docnav a{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-2);
  border:1px solid var(--border);border-radius:var(--r-pill);padding:7px 14px;transition:border-color .13s,color .13s}
.docnav a:hover{color:var(--text);border-color:var(--border-strong)}

/* legal hub */
.hub-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}
.hub-card{display:block;padding:20px 22px;background:var(--surface-1);border:1px solid var(--border-subtle);
  border-radius:var(--r-lg);transition:border-color .15s,background .15s}
.hub-card:hover{border-color:var(--border);background:var(--surface-2)}
.hub-card h3{font-size:15px;margin:0 0 6px;color:var(--text)}
.hub-card p{font-size:13px;color:var(--text-3);margin:0;line-height:1.5}
.hub-card .k{font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--brand);display:block;margin-bottom:8px}
.hub-sec{margin-top:40px}
.hub-sec > h2{font-size:14px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-weight:500;margin-bottom:16px}

/* cookie consent banner */
#vqs-cc{position:fixed;left:16px;right:16px;bottom:16px;z-index:200;max-width:560px;margin:0 auto;
  background:rgba(16,19,24,.96);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);
  padding:18px 20px;display:none}
#vqs-cc.show{display:block;animation:cc-in .3s var(--ease)}
@keyframes cc-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
#vqs-cc h2{font-size:15px;margin:0 0 6px}
#vqs-cc p{font-size:13px;color:var(--text-2);line-height:1.55;margin:0}
#vqs-cc p a{color:var(--info)}
#vqs-cc .cc-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
#vqs-cc button{flex:1;min-width:130px;height:40px;border-radius:var(--r-sm);font-family:var(--font-sans);
  font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:background .13s,border-color .13s}
#vqs-cc .cc-accept{background:var(--brand);color:var(--on-brand)}
#vqs-cc .cc-accept:hover{background:var(--lime-400)}
#vqs-cc .cc-reject{background:var(--surface-2);color:var(--text);border-color:var(--border)}
#vqs-cc .cc-reject:hover{background:var(--surface-3);border-color:var(--border-strong)}
@media (max-width:520px){.toc ol,.hub-grid{grid-template-columns:1fr}.deflist .row{grid-template-columns:1fr;gap:4px}}
