.toc {
  background: var(--vhd-fond-alt);
  border-left: 3px solid var(--vhd-gris);
  padding: 1.5rem 1.75rem;
  margin: 2rem 0;
  max-width: 56rem;
}
.toc-titre {
  font-size: var(--t-meta);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--vhd-gris);
  margin-bottom: 0.75rem;
}
.toc ol {
  list-style: none;
  counter-reset: toc-counter;
}
.toc ol li {
  counter-increment: toc-counter;
  padding: 0.2rem 0;
  font-size: 0.875rem;
}
.toc ol li::before {
  content: counter(toc-counter, decimal-leading-zero) " · ";
  color: var(--vhd-or);
  font-weight: 500;
}
.toc a {
  color: var(--vhd-texte);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.toc a:hover { border-bottom-color: var(--vhd-or); }

.legal-section {
  scroll-margin-top: 5rem;
}

.legal-num {
  font-size: var(--t-meta);
  letter-spacing: 0.18em;
  font-weight: 500;
  color: var(--vhd-gris);
  margin-bottom: 0.5rem;
  display: block;
}

.update-mention {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid var(--vhd-filet);
  font-size: 0.875rem;
  color: var(--vhd-gris);
  font-style: italic;
}
