



.c-article {
	display: flex;
	flex-direction: column;
	gap: var(--space-xl);
}

.c-article__header {
	display: flex;
	flex-direction: column;
	gap: var(--space-s);
}

.c-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-s);
	font-size: var(--text-s);
	color: var(--tertiary);
}

.c-article__body {
	font-size: var(--text-m);
	line-height: 1.8;
	color: var(--text-body);
}

.c-article__body h2 {
	margin-top: var(--space-xl);
	margin-bottom: var(--space-s);
	font-size: var(--text-2xl);
}

.c-article__body h3 {
	margin-top: var(--space-l);
	margin-bottom: var(--space-s);
	font-size: var(--text-xl);
}

.c-article__body p,
.c-article__body ul,
.c-article__body ol,
.c-article__body blockquote {
	margin-bottom: var(--space-m);
}

.c-article__body ul,
.c-article__body ol {
	padding-left: var(--space-m);
}

.c-toc {
	padding: var(--space-m);
	background-color: var(--bg-body);
	border: 1px solid var(--border-primary);
	border-radius: var(--radius-m);
}

.c-toc__title {
	margin-bottom: var(--space-s);
	font-size: var(--text-s);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.c-toc__list {
	display: flex;
	flex-direction: column;
	gap: var(--space-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.c-toc__link {
	color: var(--text-body);
	font-size: var(--text-s);
	text-decoration: none;
	transition: color 0.2s ease;
}

.c-toc__link:hover,
.c-toc__link:focus-visible {
	color: var(--primary);
}

.c-author-box {
	display: flex;
	gap: var(--space-m);
	padding: var(--space-l);
	background-color: var(--bg-body);
	border: 1px solid var(--border-primary);
	border-radius: var(--radius-m);
}

.c-author-box__image {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	border-radius: var(--radius-full);
	object-fit: cover;
}

.c-author-box__name {
	font-size: var(--text-m);
	font-weight: 700;
	color: var(--text-title);
}

.c-author-box__bio {
	margin-top: var(--space-xs);
	font-size: var(--text-s);
	color: var(--text-body);
}

.c-related-posts {
	display: flex;
	flex-direction: column;
	gap: var(--space-m);
}

.c-related-posts__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-m);
}

.c-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: var(--space-xs);
}

.c-pagination__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--border-primary);
	border-radius: var(--radius-s);
	color: var(--text-body);
	font-size: var(--text-s);
	font-weight: 500;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.c-pagination__item:hover,
.c-pagination__item.is-active {
	background-color: var(--primary);
	border-color: var(--primary);
	color: var(--light);
}