/**
 * Компонент: Prose — типографика редактируемого контента.
 *
 * reference (статья wiki):
 *   абзац   18.5px lh1.7 #3A3F49; margin-top:18px (первый) / 16px
 *   h2      34px w800 ls-0.01em; margin-top:44px / 52px; scroll-margin-top:100px
 *   список  17px lh1.6 #3A3F49; маркер 7px круг #12295C; gap:12px
 *   врезка  bg #FAFBFF; border 1px #E2E5EA; border-left 3px #12295C;
 *           border-radius:12px; padding:20px 24px
 *   ссылка  font-weight:700
 *
 * Все правила привязаны к .tri-prose, чтобы стили редактора
 * не протекали в компоненты темы.
 */

.tri-prose {
	min-width: 0;
	font-size: var(--tri-fs-18-5);
	line-height: var(--tri-lh-1-7);
	color: var(--tri-color-ink-secondary);
}

.tri-prose > * + * {
	margin-block-start: var(--tri-space-16);
}

.tri-prose > :is(h2, h3, h4) {
	color: var(--tri-color-ink);
	/* reference: scroll-margin-top:100px — с поправкой на липкую шапку темы */
	scroll-margin-top: calc(var(--tri-header-height) + var(--tri-space-28));
}

/* reference: h2 34px w800 ls-0.01em; margin-top:44px */
.tri-prose > h2 {
	margin-block-start: var(--tri-space-44);
	font-size: var(--tri-fs-34);
	font-weight: var(--tri-fw-800);
	line-height: var(--tri-lh-1-2);
	letter-spacing: var(--tri-ls-n0-01);
}

/* reference: подзаголовок раздела 24px w800 ls-0.01em; margin-top:34px */
.tri-prose > h3 {
	margin-block-start: var(--tri-space-34);
	font-size: var(--tri-fs-24);
	font-weight: var(--tri-fw-800);
	line-height: var(--tri-lh-1-25);
	letter-spacing: var(--tri-ls-n0-01);
}

/* reference: 19px w800 lh1.3 */
.tri-prose > h4 {
	margin-block-start: var(--tri-space-26);
	font-size: var(--tri-fs-19);
	font-weight: var(--tri-fw-800);
	line-height: var(--tri-lh-1-3);
}

/* reference: пункт списка 17px lh1.6; gap:12px */
.tri-prose :is(ul, ol) {
	padding-left: var(--tri-space-24);
	display: flex;
	flex-direction: column;
	gap: var(--tri-space-12);
	font-size: var(--tri-fs-17);
	line-height: var(--tri-lh-1-6);
}

.tri-prose li::marker {
	color: var(--tri-color-navy);
}

.tri-prose a:not(.tri-btn) {
	color: var(--tri-color-navy);
	font-weight: var(--tri-fw-700); /* reference: font-weight:700 */
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.tri-prose a:not(.tri-btn):hover {
	color: var(--tri-color-link-hover);
}

/* reference: врезка «Требование законодательства» */
.tri-prose blockquote {
	padding: var(--tri-space-20) var(--tri-space-24);
	background-color: var(--tri-color-surface-fafbff);
	border: var(--tri-border-width) solid var(--tri-color-border-e2e5ea);
	border-left: 3px solid var(--tri-color-navy);
	border-radius: var(--tri-radius-12);
	font-size: var(--tri-fs-15-5);
	line-height: var(--tri-lh-1-6);
}

.tri-prose :is(figure, img, video, iframe) {
	border-radius: var(--tri-radius-12);
}

.tri-prose figcaption {
	margin-block-start: var(--tri-space-8);
	font-size: var(--tri-fs-12-5);
	color: var(--tri-color-muted-soft);
}

/* Таблица прокручивается внутри своей обёртки — это локальное решение
   компонента, а не глобальное правило на body. */
.tri-prose .wp-block-table {
	overflow-x: auto;
	overscroll-behavior-x: contain;
}

.tri-prose table {
	min-width: 480px;
}

.tri-prose :is(pre, code) {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	font-size: 0.9em;
}

.tri-prose pre {
	padding: var(--tri-space-16);
	background-color: var(--tri-color-surface-fafbff);
	border: var(--tri-border-width) solid var(--tri-color-border-e2e5ea);
	border-radius: var(--tri-radius-10);
	overflow-x: auto;
}

.tri-prose .wp-block-embed__wrapper iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

.tri-prose > .alignwide {
	max-width: none;
}

.tri-prose > .alignfull {
	max-width: none;
}

/* --- Оглавление статьи -----------------------------------------------
 * reference: nav{position:sticky;top:136px}
 *   заголовок 12px w800 ls0.08em uppercase #6B7280
 *   ссылка    14px w600 #3A3F49; padding:8px 0 8px 16px;
 *             border-left:2px solid transparent; hover — #12295C
 *   список    border-left:2px solid #EBEDF1; margin-top:14px
 * ------------------------------------------------------------------- */

.tri-toc {
	position: sticky;
	top: calc(var(--tri-header-height) + var(--tri-space-16));
	align-self: start;
}

.tri-toc__title {
	font-size: var(--tri-fs-12);
	font-weight: var(--tri-fw-800);
	letter-spacing: var(--tri-ls-p0-08);
	text-transform: uppercase;
	color: var(--tri-color-muted-soft);
}

.tri-toc__list {
	list-style: none;
	margin: var(--tri-space-14) 0 0;
	padding: 0;
	border-left: 2px solid var(--tri-color-divider);
}

.tri-toc__link {
	display: block;
	padding: var(--tri-space-8) 0 var(--tri-space-8) var(--tri-space-16);
	margin-left: -2px;
	border-left: 2px solid transparent;
	font-size: var(--tri-fs-14);
	font-weight: var(--tri-fw-600);
	line-height: var(--tri-lh-1-35);
	color: var(--tri-color-ink-secondary);
	text-decoration: none;
}

.tri-toc__link:hover,
.tri-toc__link[aria-current="true"] {
	border-left-color: var(--tri-color-navy);
	color: var(--tri-color-ink);
}

@media (max-width: 1023px) {
	.tri-toc {
		position: static;
	}
}
