/*
 * Страница документа фонда /doc/{slug}/ (MSAI_Doc_Page).
 *
 * Тот же документный язык, что у лендинга и главной: PT Serif в заголовках, PT Mono в служебных
 * строках, синий «штамп» — только то, что принадлежит документу (путь рубрики, оси, статусы
 * актов), зелёный темы — только нажимаемое. Обложки и кнопки приходят из landing.css.
 * Тёмная тема — только токены: свои значения переопределяются под body.ms-dark-mode.
 */

.ms-post-title:has(+ .ms-post-content .msai-docpage) {
	display: none;               /* у страницы свой h1 — заголовок темы «Документ» лишний */
}

.msai-docpage {
	--dp-stamp: #1f4b8f;
	--dp-stamp-soft: rgba(31, 75, 143, .08);
	--dp-serif: 'PT Serif', Georgia, 'Times New Roman', serif;
	--dp-mono: 'PT Mono', ui-monospace, SFMono-Regular, Consolas, monospace;

	max-width: 880px;
	margin: 0 auto;
	padding: 8px 24px 72px;
	color: var(--ms-text-main);
	font-size: 16px;
	line-height: 1.6;
}

body.ms-dark-mode .msai-docpage {
	--dp-stamp: #8fb3e8;
	--dp-stamp-soft: rgba(143, 179, 232, .12);
}

/* ------------------------------------------------------------------ Путь и шапка */

.msai-docpage__crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 8px;
	margin: 0 0 20px;
	font-family: var(--dp-mono);
	font-size: 13px;
	color: var(--ms-text-faint);
}

.msai-docpage__crumbs a {
	color: var(--dp-stamp);
	text-decoration: none;
}

.msai-docpage__crumbs a:hover,
.msai-docpage__crumbs a:focus-visible {
	text-decoration: underline;
}

.msai-docpage__head {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 28px;
	align-items: start;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--ms-border);
}

.msai-docpage__cover img,
.msai-docpage__cover svg {
	display: block;
	width: 160px;
	height: auto;
	border-radius: 4px;
	box-shadow: 0 1px 0 var(--ms-border), 0 8px 24px rgba(15, 23, 42, .08);
}

.msai-docpage__title {
	margin: 0 0 10px;
	font-family: var(--dp-serif);
	font-size: clamp(24px, 3.2vw, 32px);
	font-weight: 700;
	line-height: 1.25;
}

.msai-docpage__axes {
	margin: 0 0 14px;
	font-family: var(--dp-mono);
	font-size: 13px;
	color: var(--dp-stamp);
}

.msai-docpage__lead {
	margin: 0 0 18px;
	color: var(--ms-text-main);
}

.msai-docpage__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

.msai-docpage__paywall {
	flex-basis: 100%;
	margin: 0 0 2px;
	font-size: 14px;
	color: var(--ms-text-faint);
}

.msai-docpage .lp-btn.is-plain {
	border-color: transparent;
	background: transparent;
}

/* ------------------------------------------------------------------ Разделы */

.msai-docpage__sec {
	padding: 28px 0 0;
}

.msai-docpage__sec h2 {
	margin: 0 0 12px;
	font-family: var(--dp-serif);
	font-size: 20px;
	font-weight: 700;
}

.msai-docpage__note {
	margin: 0 0 10px;
	font-size: 14px;
	color: var(--ms-text-faint);
}

.msai-docpage__fields,
.msai-docpage__acts,
.msai-docpage__related {
	margin: 0;
	padding: 0;
	list-style: none;
}

.msai-docpage__fields li,
.msai-docpage__acts li,
.msai-docpage__related li {
	padding: 8px 0;
	border-bottom: 1px solid var(--ms-border);
}

.msai-docpage__acts em {
	margin-left: 6px;
	font-family: var(--dp-mono);
	font-size: 12px;
	font-style: normal;
	color: var(--ms-text-faint);
	white-space: nowrap;
}

.msai-docpage__acts em.is-in_force { color: var(--dp-stamp); }
.msai-docpage__acts em.is-amended  { color: var(--ms-warning, #b7791f); }
.msai-docpage__acts em.is-repealed { color: var(--ms-danger, #c53030); }

.msai-docpage__related a {
	color: var(--ms-text-main);
	text-decoration: none;
}

.msai-docpage__related a:hover,
.msai-docpage__related a:focus-visible {
	color: var(--dp-stamp);
	text-decoration: underline;
}

/* ------------------------------------------------------------------ Фрагмент */

.msai-docpage__text,
.msai-docpage__md {
	padding: 20px 22px;
	border-left: 3px solid var(--dp-stamp);
	background: var(--dp-stamp-soft);
	border-radius: 0 6px 6px 0;
	font-family: var(--dp-serif);
	font-size: 16px;
	line-height: 1.65;
}

.msai-docpage__text {
	white-space: pre-line;
}

.msai-docpage__md p { margin: 0 0 .8em; }
.msai-docpage__md ul { margin: 0 0 .8em; padding-left: 1.4em; }
.msai-docpage__md h2,
.msai-docpage__md h3,
.msai-docpage__md h4 { margin: 1.2em 0 .5em; font-size: 17px; }
.msai-docpage__md pre { white-space: pre-wrap; font-family: var(--dp-mono); font-size: 13px; }
.msai-docpage__md .msai-table { overflow-x: auto; margin: 0 0 1em; }
.msai-docpage__md table { border-collapse: collapse; font-family: inherit; font-size: 14px; }
.msai-docpage__md th,
.msai-docpage__md td { padding: 4px 8px; border: 1px solid var(--ms-border); vertical-align: top; }

.msai-docpage__toc {
	margin: 0 0 14px;
}

.msai-docpage__toc summary {
	cursor: pointer;
	font-weight: 600;
}

.msai-docpage__toc ul {
	margin: 8px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.msai-docpage__toc li { padding: 2px 0; }
.msai-docpage__toc .lvl-2 { padding-left: 16px; }
.msai-docpage__toc .lvl-3 { padding-left: 32px; }
.msai-docpage__toc .lvl-4 { padding-left: 48px; }

.msai-docpage__pages {
	display: grid;
	gap: 16px;
	margin-top: 16px;
}

.msai-docpage__pages img {
	display: block;
	width: 100%;
	max-width: 720px;
	height: auto;
	border: 1px solid var(--ms-border);
	background: #fff;
}

/* ------------------------------------------------------------------ Телефон */

@media (max-width: 600px) {
	/* Поля оболочки темы снимаются: по краям только 6 px самой страницы. */
	.ms-app-main:has(.msai-docpage) {
		padding-left: 0;
		padding-right: 0;
	}

	.msai-docpage {
		padding: 4px 6px 48px;     /* поля по краям 6 px — место содержанию */
	}

	.msai-docpage__head {
		grid-template-columns: 96px 1fr;
		gap: 14px;
	}

	.msai-docpage__cover img,
	.msai-docpage__cover svg {
		width: 96px;
	}

	.msai-docpage__text,
	.msai-docpage__md {
		padding: 14px 10px;
	}
}
