.lep-article-wrap.is-ready {
	display: grid;
	grid-template-columns: 270px minmax(0, 1fr);
	gap: 48px;
	align-items: start;
}

.lep-article-side {
	position: sticky;
	top: 25px;
	align-self: start;
	border: 1px solid #eae3de;
	border-radius: 18px;
	padding: 24px;
	background: #fff;
	max-height: calc(100vh - 50px);
	overflow: auto;
}

.lep-article-sidetitle {
	font-weight: 800;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-bottom: 12px;
}

.lep-article-toc {
	list-style: none;
	padding: 0;
	margin: 0;
}

.lep-article-toc a {
	display: block;
	padding: 7px 9px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.4;
	color: #5c6064;
	text-decoration: none;
}

.lep-article-toc a:hover,
.lep-article-toc a.active {
	color: var(--red);
	background: #fcf2f1;
}

.lep-article-toc a:focus-visible {
	outline: 2px solid var(--red);
	outline-offset: 3px;
}

.lep-article-body {
	min-width: 0;
}

.lep-article-body h2 {
	scroll-margin-top: 24px;
}

.lep-article-mobile-toc {
	display: none;
}

html:has(body.lep-article-page),
body.lep-article-page {
	overflow-x: visible;
}

@media (max-width: 850px) {
	.lep-article-wrap.is-ready {
		display: block;
	}

	.lep-article-side {
		display: none;
	}

	.lep-article-mobile-toc {
		display: block;
		margin: 0 0 22px;
		padding: 15px 16px;
		border: 1px solid #eae3de;
		border-radius: 12px;
		background: #fff;
	}

	.lep-article-mobile-toc summary {
		font-weight: 750;
		cursor: pointer;
	}

	.lep-article-mobile-toc .lep-article-toc {
		margin-top: 12px;
	}
}

@media print {
	.lep-article-side,
	.lep-article-mobile-toc {
		display: none !important;
	}

	.lep-article-wrap.is-ready {
		display: block;
	}
}
