/* ==========================================================================
   TOC（目次）スタイル
   ========================================================================== */

/* --------------------------------------------------------------------------
   コンテナ
   -------------------------------------------------------------------------- */

.goimaru-toc {
    background: var(--color-bg-alt, #f8f8f8);
    border: 1px solid var(--color-border, #ddd);
    border-radius: var(--border-radius, 4px);
    padding: 0.75rem 1rem;
    margin: 1.5rem 0;
    font-size: 0.9rem;
    line-height: 1.6;
}

/* --------------------------------------------------------------------------
   ヘッダー行（タイトル + トグルボタン）
   -------------------------------------------------------------------------- */

.goimaru-toc__head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.goimaru-toc__title {
    font-weight: 700;
    font-size: 1rem;
}

/* checkbox は非表示。label で UI を制御 */
.goimaru-toc__checkbox {
    display: none;
}

/* [閉じる] / [開く] ボタン */
.goimaru-toc__toggle {
    cursor: pointer;
    font-size: 0.8rem;
    color: var(--color-primary, #0073aa);
    user-select: none;
    margin-left: auto;
    white-space: nowrap;
}

.goimaru-toc__toggle::before {
    content: '[閉じる]';
}

/* --------------------------------------------------------------------------
   折りたたみ制御（JS 不要、checkbox の状態のみで実現）
   -------------------------------------------------------------------------- */

.goimaru-toc__body {
    margin-top: 0.5rem;
    overflow: hidden;
}

/* checkbox が unchecked → body を非表示 */
.goimaru-toc__checkbox:not(:checked) ~ .goimaru-toc__body {
    display: none;
}

/* checkbox が unchecked → ボタンラベルを [開く] に変更 */
.goimaru-toc__checkbox:not(:checked) ~ .goimaru-toc__head .goimaru-toc__toggle::before {
    content: '[開く]';
}

/* --------------------------------------------------------------------------
   リスト
   -------------------------------------------------------------------------- */

.goimaru-toc__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.goimaru-toc__list--child {
    padding-left: 1.25rem;
    margin-top: 0.1rem;
}

.goimaru-toc__item {
    padding: 0.15em 0;
    line-height: 1.5;
}

.goimaru-toc__item a {
    color: var(--color-text, #333);
    text-decoration: none;
}

.goimaru-toc__item a:hover {
    color: var(--color-primary, #0073aa);
    text-decoration: underline;
}

/* H3 項目：やや小さく・薄く */
.goimaru-toc__item--h3 > a,
.goimaru-toc__item--h4 > a {
    font-size: 0.875em;
    color: var(--color-text-muted, #666);
}

/* --------------------------------------------------------------------------
   スティッキーヘッダー対応（scroll-margin-top）
   --goimaru-header-height を上書きすればスティッキーヘッダー高さに対応できる
   -------------------------------------------------------------------------- */

:root {
    --goimaru-header-height: 0px;
}

[id^="goimaru-toc-"] {
    scroll-margin-top: calc(var(--goimaru-header-height) + 1rem);
}
