/* ============================================================
   Juridische pagina's (AGB, Datenschutz) — styleguide §29: kop op beige,
   links een sticky inhoudsopgave, rechts het document in een witte kaart
   met genummerde artikelen. Markup via content-migratie
   2026-10-13-juridische-seiten; actieve inhoud-link via view-legal.js.
   ============================================================ */
body section.dh-legal{
  --dh-l-bg:#F2EADB; --dh-l-surface:#fff; --dh-l-muted:#FBF8F2; --dh-l-divider:#EDE6D8;
  --dh-l-ink:#1F1D1A; --dh-l-body:#4A453E; --dh-l-soft:#5E5850; --dh-l-meta:#8A8276; --dh-l-num:#B5AE9F;
  --dh-l-yellow:#F2C417; --dh-l-yellow-hover:#E6B70A; --dh-l-gold:#C9A20A; --dh-l-blue:#1E88E5; --dh-l-blue-dark:#1565C0;
  --dh-l-sticky:104px; /* sticky header + lucht */
  padding-block:clamp(32px,5vw,56px) clamp(64px,8vw,96px);background:var(--dh-l-bg);
  font-family:var(--font-body);color:var(--dh-l-ink)
}
body .dh-legal a{color:var(--dh-l-blue);text-decoration:none}
body .dh-legal a:hover{color:var(--dh-l-blue-dark);text-decoration:underline}

/* Kop */
body .dh-legal__head{max-width:760px;margin-bottom:48px}
body .dh-legal__crumb{display:flex;align-items:center;gap:8px;margin:0 0 28px;font-size:13px;font-weight:600;color:var(--dh-l-meta)}
body .dh-legal .dh-legal__crumb a{color:var(--dh-l-soft)}
body .dh-legal__crumb [aria-current]{color:var(--dh-l-ink)}
body .dh-legal__kicker{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dh-l-meta)}
body .dh-legal__kicker::before{content:"";flex:none;width:36px;height:2px;background:var(--dh-l-yellow)}
body .dh-legal__title{margin:0;font-family:var(--font-head);font-weight:600;font-size:64px;line-height:1;letter-spacing:-.01em;color:var(--dh-l-ink);overflow-wrap:break-word}
body .dh-legal__title em{font-style:italic;color:inherit}
body .dh-legal__lead{margin:20px 0 0;max-width:none;font-size:18px;line-height:1.65;color:var(--dh-l-body);text-wrap:pretty}

/* Layout: inhoud + document, wrapt op smal scherm */
body .dh-legal__layout{display:flex;flex-wrap:wrap;align-items:flex-start;gap:40px}

/* Inhoudsopgave */
body .dh-legal__toc{flex:0 1 280px;min-width:240px;position:sticky;top:var(--dh-l-sticky)}
body .dh-legal__toc-title{display:block;margin:0 0 12px 16px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dh-l-meta)}
body .dh-legal__toc-list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
body .dh-legal__toc-list li{margin:0;padding:0}
body .dh-legal .dh-legal__toc-link{display:flex;align-items:baseline;gap:12px;padding:9px 16px;border-radius:12px;font-size:14px;font-weight:600;line-height:1.35;color:var(--dh-l-soft);text-decoration:none;transition:background .2s,color .2s}
body .dh-legal .dh-legal__toc-link:hover{color:var(--dh-l-ink);text-decoration:none}
body .dh-legal .dh-legal__toc-link.is-active{background:var(--dh-l-surface);color:var(--dh-l-ink)}
body .dh-legal__toc-num{flex:none;min-width:18px;font-size:12px;font-weight:700;color:var(--dh-l-num);transition:color .2s}
body .dh-legal__toc-link.is-active .dh-legal__toc-num{color:var(--dh-l-gold)}
body .dh-legal .dh-legal__toc-link:focus-visible{outline:2px solid var(--dh-l-yellow);outline-offset:2px}

/* Document */
body .dh-legal__doc{flex:1 1 600px;min-width:0;padding:16px 48px 40px;border-radius:24px;background:var(--dh-l-surface)}

body .dh-clause{scroll-margin-top:var(--dh-l-sticky);display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:32px 0;border-bottom:1px solid var(--dh-l-divider)}
body .dh-clause:last-of-type{border-bottom:0}
body .dh-clause__num{padding-top:9px;font-size:13px;font-weight:700;color:var(--dh-l-meta)}
body .dh-clause__body{max-width:680px;min-width:0}
body .dh-clause__title{margin:0 0 12px;font-family:var(--font-head);font-weight:600;font-size:30px;line-height:1.15;color:var(--dh-l-ink);text-wrap:balance}
body .dh-clause__body p{max-width:none;margin:0 0 16px;font-size:16px;line-height:1.75;color:var(--dh-l-body);text-wrap:pretty}
body .dh-clause__body > :last-child{margin-bottom:0}
body .dh-clause__body > .dh-bullets + p,
body .dh-clause__body > .dh-deflist + p{margin-top:16px}

/* Opsomming met gele ruit */
body .dh-bullets{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
body .dh-bullets li{display:flex;align-items:center;gap:14px;margin:0;padding:12px 16px;border-radius:12px;background:var(--dh-l-muted);font-size:15px;line-height:1.5;color:var(--dh-l-ink)}
body .dh-bullets li::before{content:"";flex:none;width:7px;height:7px;margin:0;border-radius:0;background:var(--dh-l-yellow);transform:rotate(45deg)}

/* Genummerde subartikelen (2.1, 2.2 …) */
body .dh-subs{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}
body .dh-subs > li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;margin:0;padding:0}
body .dh-subs > li::before{content:none}
body .dh-subs__num{padding-top:3px;font-size:13px;font-weight:700;color:var(--dh-l-meta);font-variant-numeric:tabular-nums}
body .dh-subs__body{min-width:0}
body .dh-subs__text{display:block;font-size:16px;line-height:1.75;color:var(--dh-l-body);text-wrap:pretty}
body .dh-subs__body .dh-bullets{margin-top:10px}
body .dh-clause__body > .dh-subs + p,
body .dh-clause__body > p + .dh-subs,
body .dh-clause__body > .dh-subs + .dh-bullets,
body .dh-clause__body > .dh-bullets + .dh-subs{margin-top:16px}

/* Begrip + uitleg */
body .dh-deflist{margin:0;border-top:1px solid var(--dh-l-divider)}
body .dh-deflist__row{display:flex;flex-wrap:wrap;gap:4px 20px;padding:14px 0;border-bottom:1px solid var(--dh-l-divider)}
body .dh-deflist__term{flex:0 0 200px;margin:0;font-size:15px;font-weight:700;line-height:1.5;color:var(--dh-l-ink)}
body .dh-deflist__desc{flex:1 1 280px;min-width:0;margin:0;font-size:15px;line-height:1.6;color:var(--dh-l-body)}

/* Bedrijfsgegevens (1px-gap + achtergrond = scheidingslijnen) */
body .dh-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1px;margin:4px 0 0;background:var(--dh-l-divider);border:1px solid var(--dh-l-divider);border-radius:16px;overflow:hidden}
body .dh-info-grid__item{padding:16px 18px;background:var(--dh-l-muted)}
body .dh-info-grid__label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dh-l-meta)}
body .dh-info-grid__value{margin-top:4px;font-size:15px;font-weight:600;line-height:1.45;color:var(--dh-l-ink);overflow-wrap:anywhere}

/* Contactblok onderaan het document */
body .dh-legal__contact{scroll-margin-top:var(--dh-l-sticky);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:8px;padding:28px 32px;border-radius:18px;background:var(--dh-l-muted)}
body .dh-legal__contact-body{flex:1 1 320px;min-width:0}
body .dh-legal__contact-num{margin:0 0 6px;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--dh-l-meta)}
body .dh-legal__contact-title{margin:0 0 8px;font-family:var(--font-head);font-weight:600;font-size:30px;line-height:1.15;color:var(--dh-l-ink)}
body .dh-legal__contact-text{max-width:none;margin:0;font-size:16px;line-height:1.7;color:var(--dh-l-body);text-wrap:pretty}
body .dh-legal .dh-legal__contact-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 24px;border-radius:999px;background:var(--dh-l-yellow);color:var(--dh-l-ink);font-size:15px;font-weight:700;line-height:1;white-space:nowrap;text-decoration:none;transition:background .15s}
body .dh-legal .dh-legal__contact-btn:hover{background:var(--dh-l-yellow-hover);color:var(--dh-l-ink);text-decoration:none}
body .dh-legal .dh-legal__contact-btn:focus-visible{outline:3px solid var(--dh-l-ink);outline-offset:3px}

@media (max-width:720px){
  body .dh-legal__head{margin-bottom:32px}
  body .dh-legal__title{font-size:44px}
  body .dh-legal__lead{font-size:16px}
  body .dh-legal__layout{gap:24px}
  body .dh-legal__toc{position:static;flex-basis:100%;min-width:0}
  body .dh-legal__doc{padding:8px 24px 24px}
  body .dh-clause{grid-template-columns:1fr;gap:4px;padding:28px 0}
  body .dh-clause__num{padding-top:0}
  body .dh-clause__title{font-size:26px}
  body .dh-deflist__term{flex-basis:100%}
  body .dh-legal__contact{padding:24px}
  body .dh-legal__contact-title{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  body .dh-legal .dh-legal__toc-link,body .dh-legal__toc-num{transition:none}
}
