/* Kennisbank — leesweergave op het donkere Axmann-thema */

.kb-stage {
  display: grid;
  grid-template-columns: 340px 1fr;
  min-height: calc(100vh - var(--header-h));
  align-items: start;
}

.kb-stage .panel {
  position: sticky; top: var(--header-h);
  max-height: calc(100vh - var(--header-h));
  border-left: none; border-right: 1px solid rgba(255,255,255,.07);
}

.kb-main { padding: var(--s-xl) var(--s-lg); }

#toc { margin-top: var(--s-md); }
#toc h3 {
  font-size: var(--fs-xs); text-transform: uppercase; letter-spacing: var(--ls-wider);
  color: var(--orange); font-weight: 600;
  margin: var(--s-md) 0 var(--s-xs); padding-bottom: 6px;
  border-bottom: 1px solid rgba(244,117,33,.3);
}
#toc h3:first-child { margin-top: 0; }
#toc a {
  display: block; padding: 8px 11px; margin-left: -11px; border-radius: 2px;
  color: var(--gray-300); text-decoration: none; font-size: var(--fs-sm); line-height: 1.4;
  transition: background var(--t), color var(--t);
}
#toc a:hover { background: rgba(255,255,255,.05); color: var(--white); }
#toc a.is-active { background: var(--orange); color: var(--white); font-weight: 500; }
#toc .hit { font-size: var(--fs-xs); color: var(--gray-400); display: block; }
#toc a.is-active .hit { color: rgba(255,255,255,.85); }
#toc .empty { font-size: var(--fs-sm); color: var(--gray-400); padding: var(--s-sm) 0; }

.article {
  background: var(--dark); border: 1px solid rgba(255,255,255,.07);
  border-radius: var(--r-sm);
  padding: var(--s-xl) clamp(1.5rem, 4vw, 3.5rem);
  max-width: 78ch; color: var(--gray-300);
}
.article h1 {
  font-size: var(--fs-3xl); font-weight: 800; letter-spacing: var(--ls-tight);
  line-height: 1.12; margin-bottom: var(--s-md); padding-bottom: var(--s-sm);
  border-bottom: 3px solid var(--orange); color: var(--white);
}
.article h2 {
  font-size: var(--fs-xl); font-weight: 700; letter-spacing: var(--ls-tight);
  margin: var(--s-xl) 0 var(--s-sm); color: var(--white);
}
.article h3 { font-size: var(--fs-md); font-weight: 600; margin: var(--s-lg) 0 var(--s-xs); color: var(--white); }
.article h4 { font-size: var(--fs-base); font-weight: 600; margin: var(--s-md) 0 var(--s-xs); color: var(--white); }
.article p { margin-bottom: var(--s-sm); line-height: 1.75; }
.article ul, .article ol { margin: 0 0 var(--s-sm) 1.3rem; }
.article li { margin-bottom: 7px; line-height: 1.7; }
.article a { color: var(--orange); text-decoration: none; border-bottom: 1px solid rgba(244,117,33,.35); }
.article a:hover { border-bottom-color: var(--orange); }
.article strong { font-weight: 600; color: var(--white); }
.article hr { border: none; border-top: 1px solid rgba(255,255,255,.08); margin: var(--s-lg) 0; }

.article pre {
  background: #121212; border: 1px solid rgba(255,255,255,.07); color: #d8d8d8;
  padding: var(--s-md); border-radius: 2px; overflow-x: auto;
  margin-bottom: var(--s-sm); font-size: var(--fs-sm); line-height: 1.6;
}
.article code {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .9em;
  background: rgba(255,255,255,.07); padding: 1px 5px; border-radius: 2px; color: var(--white);
}
.article pre code { background: none; padding: 0; color: inherit; }

.article table { margin: var(--s-sm) 0 var(--s-md); }
.article th { white-space: nowrap; }
.article td { line-height: 1.55; }

.article blockquote {
  border-left: 3px solid var(--orange);
  padding: var(--s-xs) 0 var(--s-xs) var(--s-md);
  margin: var(--s-sm) 0; color: var(--gray-300);
}
.article blockquote p:last-child { margin-bottom: 0; }

.article-meta {
  font-size: var(--fs-xs); color: var(--gray-400); letter-spacing: var(--ls-wide);
  text-transform: uppercase; margin-bottom: var(--s-xs);
}

mark { background: rgba(244,117,33,.3); color: var(--white); padding: 0 3px; border-radius: 2px; }

@media (max-width: 1000px) {
  .kb-stage { grid-template-columns: 1fr; }
  .kb-stage .panel { position: static; max-height: none; border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); }
}
