:root {
    --header-height: 70px;
}

/* 左メニュー固定（最安定版） */
.blog-toc-wrapper {
    position: sticky;
    top: calc(var(--header-height) + 15px);
    height: calc(100vh - var(--header-height) - 30px);
    overflow-y: auto;
}

/* 右サイドバー固定 */
.blog-sidebar-wrapper {
    position: sticky;
    top: calc(var(--header-height) + 15px);
    height: calc(100vh - var(--header-height) - 30px);
    overflow-y: auto;
}

/* sticky が無効になる overflow hidden を解除 */
.blog-container .row,
.blog-main {
    overflow: visible !important;
}

/* アンカーリンク見出し補正 */
[id] {
    scroll-margin-top: calc(var(--header-height) + 20px);
}
html {
    scroll-padding-top: calc(var(--header-height) + 20px);
}
