/* =========================================================
   Lion TOC - Frontend
   ========================================================= */

.lion-toc {
	/* Todellinen arvo tulee AINA inline style="--lt-primary:...":na
	   suoraan <nav>-tagissa (ks. Lion_TOC_Generator::render_toc_html())
	   asetuksista valitun värin mukaan - tämä on vain viimeinen varmuuden
	   vuoksi oleva CSS-fallback siltä varalta ettei inline-arvoa jostain
	   syystä olisi. */
	--lt-primary: #ff9500;
	--lt-text: #1A2233;
	--lt-muted: #6B7280;
	--lt-border: #E5E7EB;
	--lt-bg: #F7F8FB;

	background: var(--lt-bg);
	border: 1px solid var(--lt-border);
	border-left: 4px solid var(--lt-primary);
	border-radius: 12px;
	margin: 0 0 28px;
	font-size: 15px;
	line-height: 1.5;
	max-width: 100%;
	box-sizing: border-box;
}

.lion-toc__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
}

.lion-toc__title {
	font-weight: 700;
	color: var(--lt-text);
	font-size: 15px;
}

.lion-toc__toggle {
	background: #fff;
	border: 1px solid var(--lt-border);
	border-radius: 50px;
	padding: 5px 14px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--lt-primary);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	transition: background .15s ease;
}

.lion-toc__toggle:hover {
	background: rgba(76, 111, 255, .08);
}

.lion-toc__toggle-hide {
	display: none;
}

.lion-toc__toggle[aria-expanded="true"] .lion-toc__toggle-show {
	display: none;
}

.lion-toc__toggle[aria-expanded="true"] .lion-toc__toggle-hide {
	display: inline;
}

.lion-toc__body {
	padding: 0 18px 16px;
	overflow: hidden;
}

.lion-toc__body.is-collapsed {
	display: none;
}

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

.lion-toc__list .lion-toc__list {
	margin-top: 4px;
	margin-left: 18px;
	padding-left: 12px;
	border-left: 2px solid var(--lt-border);
}

ol.lion-toc__list {
	list-style: decimal;
	padding-left: 20px;
}

ol.lion-toc__list .lion-toc__list {
	padding-left: 20px;
}

.lion-toc__item {
	margin: 3px 0;
}

.lion-toc__item > a {
	display: inline-block;
	padding: 3px 0;
	color: var(--lt-text);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color .15s ease, border-color .15s ease;
}

.lion-toc__item > a:hover {
	color: var(--lt-primary);
	border-bottom-color: var(--lt-primary);
}

.lion-toc__item > a:visited {
	color: var(--lt-text);
}

@media (max-width: 480px) {
	.lion-toc {
		font-size: 14px;
	}
	.lion-toc__header {
		padding: 12px 14px;
	}
	.lion-toc__body {
		padding: 0 14px 14px;
	}
}
