.toc { border: 1px solid rgba(0,0,0,.08); border-radius: 12px; padding: 16px; margin: 24px 0; }
.toc h5 { margin: 0 0 8px; font-weight: 600; }
.toc ul { list-style: none; margin: 0; padding: 0; }
.toc li.h2 { margin-top: 6px; }
.toc li.h3 { margin-left: 16px; }
.toc a.active { color: #7616df; text-decoration: underline; }
.toc-list .h3 a { font-size: 16px; padding-left: 16px; }

/* Legal page specific TOC styles */
.legal-toc-column .toc {
	margin: 0;
	border: none;
	padding: 24px;
	background: transparent;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	max-height: calc(100dvh - 130px);
}

.legal-toc-column .toc h5 {
	font-size: 26px;
	font-weight: 400;
	line-height: 110%;
	letter-spacing: -0.52px;
	margin-bottom: 16px;
	color: #171717;
}

.legal-toc-column .toc a {
	color: #666;
	text-decoration: none;
	transition: color 0.2s ease;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

.legal-toc-column .toc a:hover {
	color: #7616df;
}

.legal-toc-column .toc a.active {
	color: #7616df;
	font-weight: 600;
}

/* Legal page TOC scroll area on list to reuse existing scrollbar styles */
.legal-toc-column #toc-list {
	flex: 1 1 auto;
	height: auto;
	overflow: auto;
	max-height: none;
}

/* Mobile TOC adjustments */
@media all and (max-width: 768px) {
	.legal-toc-column .toc {
		display: block;
		max-height: none;
	}
	.legal-toc-column #toc-list {
		flex: none;
		max-height: none;
		overflow: visible;
	}
	.legal-toc-column .toc h5 {
		font-size: 16px;
		margin-bottom: 12px;
	}
	
	.legal-toc-column .toc a {
		font-size: 14px;
		line-height: 1.4;
	}
}
.blog-content h2[id],
.blog-content h3[id],
.entry-content h2[id],
.entry-content h3[id] {
  scroll-margin-top: 130px;
}
