/* ===== Documentation viewer ===== */
.doc-layout {
  display: flex; height: 100%; overflow: hidden;
  background: #fff; color: #1a1a1a;
  user-select: text; cursor: auto;
}
.doc-sidebar {
  width: 260px; min-width: 260px;
  background: #f5f6f8;
  border-right: 1px solid #ddd;
  overflow-y: auto;
}
.doc-sidebar-inner { padding: 0.5rem 0; }
.doc-nav-index {
  display: block; padding: 0.5rem 1rem 0.75rem; font-weight: 600;
  color: #1a1a1a; text-decoration: none; font-size: 0.95rem;
}
.doc-nav-index:hover { color: #0d6efd; }
.doc-nav-index.active { color: #0d6efd; }
.doc-nav-section { padding-top: 0.75rem; margin-top: 0.75rem; border-top: 1px solid #e0e0e0; }
.doc-nav-heading {
  padding: 0; margin: 0 0 0.4rem; font-size: 0.95rem;
  text-transform: none; letter-spacing: normal;
}
.doc-nav-section-link {
  display: block; padding: 0.35rem 1rem;
  color: #1a1a1a; text-decoration: none; font-weight: 700;
  font-size: 0.95rem;
}
.doc-nav-section-link:hover { color: #0d6efd; }
.doc-nav-section-link.active { color: #0d6efd; }
.doc-nav-link {
  display: block; padding: 0.3rem 1rem 0.3rem 2.5rem;
  color: #666; text-decoration: none; font-size: 0.85rem;
}
.doc-nav-link:hover { color: #0d6efd; }
.doc-nav-link.active {
  color: #0d6efd; font-weight: 600;
}
.doc-content {
  flex: 1; overflow-y: auto; padding: 2rem 3rem;
  font-size: 1.1rem; line-height: 1.7;
}
.doc-content > *:first-child { margin-top: 0; }
.doc-content h1, .doc-content h2, .doc-content h3, .doc-content h4 { scroll-margin-top: 1rem; color: #1f2328; font-weight: 600; }
.doc-content h1 { font-size: 2em; margin-top: 1.5rem; margin-bottom: 1rem; padding-bottom: 0.3em; border-bottom: 1px solid #d1d9e0; }
.doc-content h2 { font-size: 1.5em; margin-top: 1.5rem; margin-bottom: 1rem; padding-bottom: 0.3em; border-bottom: 1px solid #d1d9e0; }
.doc-content h3 { font-size: 1.25em; margin-top: 1.5rem; margin-bottom: 1rem; }
.doc-content h4 { font-size: 1em; margin-top: 1.5rem; margin-bottom: 1rem; }
.doc-content a { color: #0d6efd; }
.doc-content a:hover { color: #0a58ca; }
.doc-content pre {
  background: #f5f6f8; padding: 1rem; border-radius: 0.375rem;
  overflow-x: auto; font-size: 0.85rem; color: #1a1a1a;
}
.doc-content code {
  background: #f0f1f3; padding: 0.15em 0.4em;
  border-radius: 0.2rem; font-size: 0.88em; color: #d63384;
}
.doc-content pre code { background: none; padding: 0; color: inherit; }
.doc-content blockquote {
  border-left: 3px solid #adb5bd; padding: 0.5rem 1rem;
  color: #555; margin: 1rem 0; background: #f9f9fb;
}
.doc-content img.doc-img { max-width: 100%; height: auto; border-radius: 0.375rem; margin: 0.5rem 0; box-shadow: 0 1px 4px rgba(0,0,0,0.1); }
.doc-content hr { border-color: #ddd; margin: 1.5rem 0; }
.doc-content table { margin: 1rem 0; }
.doc-content .table th { background: #f5f6f8; }
.doc-content pre.mermaid { background: transparent; text-align: center; border: none; padding: 0; }

/* Table des matières injectée dans la sidebar */
.doc-toc { margin: 0.25rem 0 0.5rem; border-left: 2px solid #d1d9e0; margin-left: 2.5rem; }
.doc-toc-link {
  display: block; padding: 0.15rem 0.75rem;
  color: #888; text-decoration: none; font-size: 0.8rem;
  line-height: 1.5;
}
.doc-toc-link:hover { color: #0d6efd; }
.doc-toc-link.doc-toc-h3 { padding-left: 1.5rem; }
