.vmseo-toc {
	--vmseo-toc-accent: #b08d57;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	margin: 0 0 1.5em;
	background: var(--vmseo-toc-bg, #fafafa);
	color: var(--vmseo-toc-color, inherit);
	font-size: 0.95em;
	overflow: hidden;
}

.vmseo-toc__title {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	list-style: none;
	padding: 14px 18px;
	font-weight: 700;
	font-size: 1.05em;
	user-select: none;
}

.vmseo-toc__title::-webkit-details-marker {
	display: none;
}

.vmseo-toc__icon {
	flex: 0 0 auto;
	color: var(--vmseo-toc-accent);
}

.vmseo-toc__label {
	flex: 1 1 auto;
}

.vmseo-toc__chevron {
	flex: 0 0 auto;
	opacity: 0.55;
	transition: transform 0.2s ease;
}

.vmseo-toc[open] .vmseo-toc__chevron {
	transform: rotate(180deg);
}

.vmseo-toc nav {
	border-top: 1px solid #ececec;
}

.vmseo-toc__list {
	margin: 0;
	padding: 12px 20px 16px;
}

.vmseo-toc__list.is-ordered {
	list-style: none;
	counter-reset: vmseo-toc;
}

.vmseo-toc__list.is-unordered {
	list-style: none;
}

.vmseo-toc__item {
	margin: 7px 0;
	line-height: 1.5;
}

.vmseo-toc__lvl-3 { padding-left: 1.2em; }
.vmseo-toc__lvl-4 { padding-left: 2.4em; }
.vmseo-toc__lvl-5 { padding-left: 3.6em; }
.vmseo-toc__lvl-6 { padding-left: 4.8em; }

.is-ordered .vmseo-toc__item {
	counter-increment: vmseo-toc;
}

.is-ordered .vmseo-toc__link::before {
	content: counter(vmseo-toc) ". ";
	color: var(--vmseo-toc-accent);
	font-weight: 600;
}

.is-unordered .vmseo-toc__link::before {
	content: "\2022\00a0\00a0";
	color: var(--vmseo-toc-accent);
}

.vmseo-toc__link {
	text-decoration: none;
	color: inherit;
	border-bottom: 1px solid transparent;
	transition: border-color 0.15s ease;
}

.vmseo-toc__link:hover,
.vmseo-toc__link:focus {
	border-bottom-color: currentColor;
}

.vmseo-toc--empty {
	padding: 14px 18px;
	color: #6b7280;
	font-style: italic;
}

html {
	scroll-behavior: smooth;
}

:is(h2, h3, h4, h5, h6)[id] {
	scroll-margin-top: 80px;
}
