/* Table of Contents — Anker-Menü mit Headings der aktuellen Page.
   Wird per JS befüllt; ohne JS / ohne Headings bleibt das Element ausgeblendet. */

.cb-toc {
    max-width: 1320px;
    margin: 1.5rem auto;
    padding: 0 1.5rem;
    /* Hidden until JS sets cb-toc--filled — keine leere "Auf dieser Seite"-Box. */
    display: none;
}

@media (min-width: 1024px) {
    .cb-toc {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}

.cb-toc--filled {
    display: block;
}

.cb-toc--empty {
    display: none !important;
}

.cb-toc__panel {
    border: 1px solid var(--color-border, rgba(0, 0, 0, 0.1));
    border-radius: 0.75rem;
    background: var(--color-surface-light, transparent);
    overflow: hidden;
}

.cb-toc__summary {
    list-style: none;
    cursor: pointer;
    padding: 0.875rem 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--color-text);
    user-select: none;
}

.cb-toc__summary::-webkit-details-marker {
    display: none;
}

.cb-toc__summary-icon {
    display: inline-block;
    width: 1rem;
    height: 1rem;
    flex-shrink: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3E%3Cpath d='M2 3h12v1.5H2zm0 4h12v1.5H2zm0 4h8v1.5H2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    color: var(--color-accent);
    transition: transform 200ms;
}

.cb-toc__panel[open] .cb-toc__summary-icon {
    transform: rotate(90deg);
}

.cb-toc__nav {
    padding: 0.25rem 1.25rem 1rem;
    border-top: 1px solid var(--color-border, rgba(0, 0, 0, 0.08));
}

.cb-toc__list,
.cb-toc__sublist {
    list-style: none;
    padding: 0;
    margin: 0.5rem 0 0;
}

.cb-toc__sublist {
    margin-left: 1.25rem;
    margin-top: 0.25rem;
    padding-left: 0.75rem;
    border-left: 1px solid var(--color-border, rgba(0, 0, 0, 0.08));
}

.cb-toc__item {
    margin: 0.375rem 0;
    line-height: 1.4;
}

.cb-toc__item--h2 {
    font-weight: 500;
}

.cb-toc__item--h3 {
    font-size: 0.875rem;
    font-weight: 400;
}

.cb-toc__link {
    color: var(--color-text);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: color 150ms, border-color 150ms;
}

.cb-toc__link:hover,
.cb-toc__link:focus-visible {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

/* Highlight active heading via :target — pure CSS, kein JS-Tracking nötig.
   Funktioniert beim Klick auf TOC-Link (URL-Hash wird gesetzt). */
.cb-toc__link[href]:target,
.cb-toc__list a[href$=":target"] {
    color: var(--color-accent);
    font-weight: 600;
}
