/*
 * Sommaire d'article.
 *
 * -- Découplage du thème --
 *
 * Chaque couleur passe par un jeton du thème AVEC une valeur de repli :
 * var(--border, #e5e1da). Sur le thème Dahoo, le sommaire prend ses couleurs
 * automatiquement ; sur n'importe quel autre, il reste présentable au lieu de
 * s'afficher en noir sur transparent.
 *
 * Même principe pour --dahoo-header-offset : le décalage d'ancre dépend de la
 * hauteur de l'en-tête collant, une information que seul le thème possède. Il
 * la déclare, le plugin la lit, et une valeur raisonnable prend le relais si
 * personne ne la fournit.
 */

.toc {
  border: 1px solid var(--border, #e5e1da);
  border-radius: 8px;
  background: var(--surface-alt, #f7f5f1);
  padding: 14px 18px;
  margin: 0 0 32px;
}

.toc-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  list-style: none;
  font-family: var(--font-heading, inherit);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-muted, #797065);
}
.toc-summary::-webkit-details-marker { display: none; }
.toc-summary:hover { color: var(--accent, #bf5f22); }
.toc-summary svg { flex-shrink: 0; }

/* Chevron indiquant l'état plié / déplié, à droite du libellé. */
.toc-summary::after {
  content: '';
  margin-left: auto;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform 0.15s ease;
}
.toc[open] .toc-summary::after { transform: rotate(-135deg) translate(-2px, -2px); }

.toc-list {
  list-style: none;
  margin: 14px 0 0;
  padding: 0 0 0 2px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.toc-list a {
  display: block;
  padding: 5px 0;
  font-size: 14.5px;
  line-height: 1.45;
  color: var(--text, #38322c);
  text-decoration: none;
}
.toc-list a:hover { color: var(--accent, #bf5f22); }

.toc-level-3 { padding-left: 18px; }
.toc-level-3 a { font-size: 13.5px; color: var(--text-muted, #797065); }

/*
 * Décalage d'ancre : sans lui, cliquer une entrée du sommaire amène le titre
 * visé sous un en-tête collant, donc invisible.
 */
.entry-content h2[id],
.entry-content h3[id] { scroll-margin-top: var(--dahoo-header-offset, 24px); }

@media (prefers-reduced-motion: reduce) {
  .toc-summary::after { transition: none; }
}
