body.vci-blog-single-page .vci-post-toc {
	position: sticky;
	top: calc(env(safe-area-inset-top) + var(--wp-admin--admin-bar--height, 0px) + 1rem);
	padding: 1.25rem 1.05rem;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 14px;
	background: #F9F9F9;
	color: #808080;
}

body.vci-blog-single-page .vci-post-toc__title {
	margin: 0 0 0.8rem;
	font-size: 0.84rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: #808080;
}

body.vci-blog-single-page .vci-post-toc__list,
body.vci-blog-single-page .vci-post-toc__sublist {
	list-style: none;
	margin: 0;
	padding: 0;
}

body.vci-blog-single-page .vci-post-toc__list {
	max-height: min(70vh, 680px);
	overflow-y: auto;
	padding-right: 0.35rem;
	position: relative;
}

.vci-post-toc__list::before {
	content: '';
	position: absolute;
	left: calc(-1 * var(--vci-toc-depth, 0) * var(--vci-toc-sub-indent));
	top: 0;
	bottom: 0;
	width: 2px;
	border-radius: 2px;
	background: #d0d0d0;
	transition: background-color 150ms ease;
	height: 100%;
}

body.vci-blog-single-page .vci-post-toc__item {
	--vci-toc-depth: 0;
	--vci-toc-sub-indent: 0.75rem;
	margin: 0;
}

body.vci-blog-single-page .vci-post-toc__item + .vci-post-toc__item {
	margin-top: 0.65rem;
}

body.vci-blog-single-page .vci-post-toc__sublist {
	margin-top: 0.5rem;
	margin-left: var(--vci-toc-sub-indent);
	padding-left: 0.15rem;
}

body.vci-blog-single-page .vci-post-toc__sublist:empty {
	display: none;
}

body.vci-blog-single-page .vci-post-toc__link {
	position: relative;
	display: block;
	padding-left: 1rem;
	color: #808080;
	font-size: 1.24rem;
	line-height: 1.2;
	font-weight: 400;
	text-decoration: none;
	transition: color 150ms ease;
}

body.vci-blog-single-page .vci-post-toc__link::before {
	content: '';
	position: absolute;
	left: calc(-1 * var(--vci-toc-depth, 0) * var(--vci-toc-sub-indent));
	top: 0;
	bottom: 0;
	width: 2px;
	border-radius: 2px;
	/* background: #d0d0d0; */
	transition: background-color 150ms ease;
}

body.vci-blog-single-page .vci-post-toc__sublist .vci-post-toc__link::before {
	margin-left: -2px;
}

body.vci-blog-single-page .vci-post-toc__link:hover,
body.vci-blog-single-page .vci-post-toc__link:focus-visible {
	color: #e8e8e8;
}

body.vci-blog-single-page .vci-post-toc__item[data-level="2"] > .vci-post-toc__link {
	font-size: 1rem;
}

body.vci-blog-single-page .vci-post-toc__item[data-level="3"] > .vci-post-toc__link {
	font-size: 0.85rem;
}

body.vci-blog-single-page .vci-post-toc__item[data-level="4"] > .vci-post-toc__link,
body.vci-blog-single-page .vci-post-toc__item[data-level="5"] > .vci-post-toc__link,
body.vci-blog-single-page .vci-post-toc__item[data-level="6"] > .vci-post-toc__link {
	font-size: 0.75rem;
}

body.vci-blog-single-page .vci-post-toc__item.is-active > .vci-post-toc__link::before {
	background: #C85A2E;
}

body.vci-blog-single-page .vci-post-toc__item.is-active > .vci-post-toc__link {
	color: #2D2828;
}

body.vci-blog-single-page .vci-post-toc__item.is-active-ancestor > .vci-post-toc__link::before {
	/* background: #7d7d7d; */
}

body.vci-blog-single-page .vci-post-toc__item.is-active-ancestor > .vci-post-toc__link {
	color: #C85A2E;
}

body.vci-blog-single-page main article .wp-block-post-content :is(h1, h2, h3, h4, h5, h6),
body.vci-blog-single-page .vci-post-toc__target {
	scroll-margin-top: calc(env(safe-area-inset-top) + var(--wp-admin--admin-bar--height, 0px) + 5.5rem);
}

@media (max-width: 781px) {
	body.vci-blog-single-page .vci-post-toc {
		display: none;
	}

	body.vci-blog-single-page .vci-post-toc {
		position: static;
		top: auto;
		margin-top: 1rem;
	}

	body.vci-blog-single-page .vci-post-toc__list {
		max-height: none;
		overflow: visible;
	}

	body.vci-blog-single-page .vci-post-toc__link {
		font-size: 1rem;
	}
}
