/* ==========================================================================
   Algemene voorwaarden: lange juridische tekst met inhoudsopgave.
   ========================================================================== */
.av-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:clamp(var(--sp-6),5vw,var(--sp-8));align-items:start}
@media (max-width:960px){.av-layout{grid-template-columns:1fr}}

/* Inhoudsopgave: plakt mee tijdens het lezen */
.av-toc{position:sticky;top:calc(var(--topbar-h) + var(--sp-4));max-height:calc(100vh - var(--topbar-h) - var(--sp-6));overflow:auto;font-size:var(--fs-body-sm);padding-right:var(--sp-2)}
@media (max-width:960px){.av-toc{position:static;max-height:none;overflow:visible;border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5)}}
.av-toc summary{cursor:pointer;font-size:var(--fs-metadata);letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--color-text-accent)}
.av-toc details[open] summary{margin-bottom:var(--sp-3)}
.av-toc ul{list-style:none;margin:0;padding:0}
.av-toc>details>nav>ul>li{margin-top:var(--sp-3)}
.av-toc>details>nav>ul>li>a{font-weight:700}
.av-toc ul ul{margin:var(--sp-1) 0 0 var(--sp-3);border-left:1px solid var(--color-border-subtle);padding-left:var(--sp-3)}
.av-toc ul ul li{margin:3px 0}
.av-toc a{color:var(--color-text-secondary);text-decoration:none}
.av-toc a:hover,.av-toc a:focus-visible{color:var(--color-text-accent);text-decoration:underline}

/* De tekst */
.av-tekst{max-width:var(--measure-body);font-size:var(--fs-body);line-height:1.7}
.av-tekst section{padding:0}
.av-tekst section+section{margin-top:var(--sp-8)}
.av-tekst h2{font-size:var(--fs-h2);font-weight:700;padding-bottom:var(--sp-3);border-bottom:2px solid var(--royaal-gold-600);margin-bottom:var(--sp-5)}
.av-tekst h3{font-size:var(--fs-h4);font-weight:700;margin:var(--sp-6) 0 var(--sp-3)}
.av-tekst h2,.av-tekst h3,.av-tekst section{scroll-margin-top:calc(var(--topbar-h) + var(--sp-4))}
.av-tekst p{margin:0 0 var(--sp-3)}
.av-tekst p.lead{color:var(--color-text-muted);font-style:italic}
.av-tekst a{color:var(--color-text-accent)}
.av-tekst ol.clauses{list-style:none;margin:0;padding:0}
.av-tekst ol.clauses li{display:flex;gap:var(--sp-3);margin:0 0 var(--sp-3)}
.av-tekst ol.clauses li.sub{margin-left:3.4em}
.av-tekst ol.clauses .nr{flex:0 0 3.4em;font-weight:700;font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}
.av-tekst dl{margin:0}
.av-tekst dt{font-weight:700;margin-top:var(--sp-3)}
.av-tekst dd{margin:0 0 var(--sp-2)}
.av-tekst ul.gegevens{list-style:none;margin:var(--sp-5) 0 0;padding:var(--sp-4) var(--sp-5);background:var(--royaal-gold-50);border-left:3px solid var(--royaal-gold-600);font-size:var(--fs-body-sm)}
.av-tekst ul.gegevens li+li{margin-top:var(--sp-1)}
.av-print{margin-top:var(--sp-8)}

@media print{
  .topbar,footer.site,.hero,.av-toc,.av-print,.sr-only{display:none!important}
  .av-layout{display:block}
  .av-tekst{max-width:none;font-size:10.5pt}
  section.panel-light{padding:0}
  .av-tekst h2{break-after:avoid}.av-tekst h3{break-after:avoid}
  .av-tekst ol.clauses li{break-inside:avoid}
}
