.toc {
	font-size: 0.9em;

	& > span {
		font-family: var(--sb-font-headings);
		color: var(--sb-heading-color);
		margin-bottom: 0.75rem;
		display: block;
		font-weight: 500;
	}

	& ol {
		display: flex;
		flex-direction: column;
		padding: 0;

		& ol {
			& a {
				padding-left: 1rem;
			}
			& ol {
				& a {
					padding-left: 2rem;
				}
				& ol {
					& a {
						padding-left: 3rem;
					}
					& ol {
						& a {
							padding-left: 4rem;
						}
						& ol a {
							padding-left: 5rem;
						}
					}
				}
			}
		}
	}

	&:hover a,
	&:focus-within a {
		opacity: 1;
	}
}

.item {
	list-style: none;

	& > a {
		text-decoration: none;
		color: var(--sb-text-color);
		padding: 0.5rem 1rem;
		display: block;
		line-height: 1.75;
		transition-property: background-color, opacity, color;
		transition-timing-function: var(--sb-transition-timing);
		transition-duration: 0.15s;
		opacity: 0.5;
		min-width: 12rem;
		outline: none;

		&:hover,
		&:focus-visible {
			background: color-mix(
				in hsl,
				var(--sb-link-underline-color) 20%,
				transparent
			);
			border-radius: var(--sb-border-radius);
			color: var(--sb-heading-color);
		}

		&.active {
			color: var(--sb-active-link-color);
			opacity: 1;
		}
	}
}
