/*
 * Article table of contents ([vt_table_of_contents] shortcode).
 * Flat, filled-state styling matching the off-screen menu palette
 * (#163A40 dark teal, #F5A623 gold, #8A9494 muted, DM Sans) - soft
 * rounded card, no borders/divider lines.
 */

.vt-toc {
	background: #F7F5EF;
	border-radius: 16px;
	padding: 20px 24px;
	margin: 0 0 32px;
}

.vt-toc__title {
	margin: 0 0 10px;
	color: #163A40;
	font-family: "DM Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

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

.vt-toc__list .vt-toc__list {
	margin: 2px 0 6px 18px;
}

.vt-toc__item {
	margin: 0;
}

.vt-toc__item > a {
	display: block;
	border-radius: 10px;
	padding: 6px 10px;
	color: #163A40;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.vt-toc__item--h3 > a,
.vt-toc__item--h4 > a,
.vt-toc__item--h5 > a,
.vt-toc__item--h6 > a {
	font-size: 14.5px;
	font-weight: 400;
	color: #8A9494;
}

.vt-toc__item > a:hover,
.vt-toc__item > a:focus-visible {
	background: rgba(22, 58, 64, 0.05);
	color: #163A40;
}

.vt-toc__item > a:focus-visible {
	outline: 1px solid currentColor;
	outline-offset: -1px;
}

/* Keep anchor jumps from landing under a sticky header. */
.entry-content :is(h2, h3, h4, h5, h6)[id] {
	scroll-margin-top: 96px;
}
