/* ==========================================================================
   Blog Table of Contents
   ========================================================================== */

.blog-toc {
	background: var(--color-neutral-50);
	border: 1px solid var(--color-neutral-200);
	border-radius: var(--card-border-radius, var(--radius-lg));
	padding: var(--spacing-4) var(--spacing-5);
	margin-bottom: var(--spacing-6);
}

/* Toggle button */
.blog-toc-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
	color: var(--color-neutral-900);
}

.blog-toc-title {
	font-weight: var(--font-weight-semibold);
	font-size: var(--font-size-base);
}

.blog-toc-icon {
	transition: transform 0.2s;
	color: var(--color-neutral-500);
}

/* Collapsed state */
.blog-toc-toggle[aria-expanded="false"] .blog-toc-icon {
	transform: rotate(-90deg);
}

/* TOC list */
.blog-toc-list {
	margin: var(--spacing-3) 0 0;
	padding-left: var(--spacing-5);
	list-style: decimal;
}

.blog-toc-toggle[aria-expanded="false"] + .blog-toc-list {
	display: none;
}

.blog-toc-item {
	margin-bottom: var(--spacing-2);
}

.blog-toc-item a {
	color: var(--color-neutral-700);
	text-decoration: none;
	font-size: var(--font-size-sm);
	line-height: var(--line-height-relaxed);
}

.blog-toc-item a:hover {
	color: var(--color-primary);
}

/* Nested h3 sublist */
.blog-toc-sublist {
	margin: var(--spacing-1) 0 0;
	padding-left: var(--spacing-4);
	list-style: decimal;
}

.blog-toc-item--h3 a {
	font-size: var(--font-size-xs);
	color: var(--color-neutral-600);
}

.blog-toc-item--h3 a:hover {
	color: var(--color-primary);
}
