/* Standalone juridische pagina's — volledig los van de werkruimte-CSS. */
.legal-page { min-height:100vh; display:flex; flex-direction:column; background:var(--bg); }
.wrap { width:min(1120px,calc(100% - 40px)); margin:auto; }

/* --- Hero --- */
.legal-hero { position:relative; padding:56px 0 40px; }
.legal-hero:before { content:''; position:absolute; inset:0; background:radial-gradient(900px 400px at 80% -10%,#e8eeff 0%,transparent 60%); pointer-events:none; }
.legal-hero .eyebrow { position:relative; color:var(--brand); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin:0 0 14px; }
.legal-hero h1 { position:relative; max-width:760px; margin:0 0 14px; font-size:clamp(32px,4.2vw,46px); line-height:1.1; letter-spacing:-.04em; color:var(--ink); }
.legal-hero-intro { position:relative; max-width:700px; margin:0; color:var(--muted); font-size:18px; line-height:1.6; }
.legal-updated { position:relative; margin:18px 0 0; color:var(--muted); font-size:13px; }

/* --- Inhoud --- */
.legal-body { flex:1 1 auto; padding:10px 0 48px; }
.legal-grid { display:grid; gap:16px; align-items:start; }
.legal-grid .toc-sidebar { top:24px; }
.legal-section { margin:0; padding:26px 28px; border:1px solid var(--line); border-radius:16px; background:var(--paper); box-shadow:var(--shadow); }
.legal-section h2 { display:flex; align-items:center; gap:12px; margin:0 0 12px; font-size:20px; letter-spacing:-.015em; color:var(--ink); }
.legal-section h2::before { content:attr(data-num); display:grid; place-items:center; width:28px; height:28px; flex:0 0 auto; border-radius:9px; background:var(--brand-soft); color:var(--brand-dark); font-size:13px; font-weight:800; }
.legal-section h3 { margin:18px 0 6px; font-size:15px; }
.legal-section p { margin:8px 0; line-height:1.7; }
.legal-section ul { margin:10px 0; padding-left:22px; }
.legal-section li + li { margin-top:6px; }
.legal-note { padding:14px 16px; border:1px solid #fedf89; border-left:4px solid var(--warning); border-radius:9px; background:#fffaeb; color:#7a2e0b; }
.legal-contact { display:flex; flex-wrap:wrap; gap:8px 20px; align-items:center; }
.legal-contact strong { color:var(--ink); }

/* --- Footer --- */

@media (max-width:900px) {
  .toc-layout { grid-template-columns:1fr; }
  .toc-sidebar { position:static; order:-1; }
  .toc-sidebar nav ol { display:flex; flex-wrap:wrap; gap:4px; }
  .toc-sidebar nav a { padding:4px 8px; }
}
@media (max-width:760px) {
  .wrap { width:min(100% - 28px,560px); }
  .legal-hero { padding:40px 0 28px; }
  .legal-hero-intro { font-size:17px; }
  .legal-section { padding:22px 20px; }
}
