/**
 * Section: Legal Content — текст правовой страницы.
 *
 * Содержимое приходит из редактора без классов, поэтому стили заданы
 * потомкам `.legal-content__body`. Ширина колонки ограничена: сплошной
 * юридический текст во всю ширину экрана нечитаем.
 */

.legal-content {
	padding-top: var(--space-64);
	padding-bottom: var(--space-64);
}

.legal-content__inner {
	display: flex;
	flex-direction: column;
	gap: var(--space-24);
}

.legal-content__updated {
	font-family: var(--font-mono);
	font-size: var(--fs-12);
	letter-spacing: calc(1 / var(--vw-base) * 100vw);
	text-transform: uppercase;
	color: var(--color-grey-45);
}

.legal-content__body {
	width: 100%;
	max-width: calc(860 / var(--vw-base) * 100vw);
	font-size: var(--fs-16);
	line-height: var(--lh-160);
	color: var(--color-grey-25);
}

/* Заголовки разделов */

.legal-content__body h2 {
	margin-top: var(--space-40);
	margin-bottom: var(--space-16);
	font-family: var(--font-condensed);
	font-size: var(--fs-28);
	font-weight: 700;
	line-height: var(--lh-120);
	text-transform: uppercase;
	color: var(--color-dark);
}

.legal-content__body h3 {
	margin-top: var(--space-28);
	margin-bottom: var(--space-12);
	font-size: var(--fs-20);
	font-weight: 700;
	line-height: var(--lh-130);
	color: var(--color-dark);
}

.legal-content__body h4 {
	margin-top: var(--space-24);
	margin-bottom: var(--space-10);
	font-size: var(--fs-17);
	font-weight: 700;
	line-height: var(--lh-130);
	color: var(--color-dark);
}

/* Первый заголовок не отбивается от даты обновления. */
.legal-content__body > *:first-child {
	margin-top: 0;
}

/* Текст, списки, цитаты */

.legal-content__body p {
	margin-bottom: var(--space-16);
}

.legal-content__body ul,
.legal-content__body ol {
	margin-bottom: var(--space-16);
	padding-left: var(--space-24);
}

.legal-content__body ul {
	list-style: disc;
}

.legal-content__body ol {
	list-style: decimal;
}

.legal-content__body li {
	margin-bottom: var(--space-8);
}

.legal-content__body li::marker {
	color: var(--color-accent);
}

.legal-content__body blockquote {
	margin-bottom: var(--space-16);
	padding: var(--space-16) var(--space-20);
	border-left: calc(3 / var(--vw-base) * 100vw) solid var(--color-accent);
	background: var(--color-grey-96);
}

.legal-content__body blockquote p:last-child {
	margin-bottom: 0;
}

.legal-content__body strong,
.legal-content__body b {
	font-weight: 700;
	color: var(--color-dark);
}

.legal-content__body a {
	color: var(--color-accent);
	text-decoration: underline;
}

.legal-content__body a:hover {
	color: var(--color-dark);
}

.legal-content__body hr {
	height: calc(1 / var(--vw-base) * 100vw);
	margin: var(--space-30) 0;
	border: 0;
	background: var(--color-grey-90);
}

/* Медиа и таблицы */

.legal-content__body img {
	max-width: 100%;
	height: auto;
	margin-bottom: var(--space-16);
	border-radius: var(--radius-8);
}

.legal-content__body figcaption {
	margin-top: calc(var(--space-8) * -1);
	margin-bottom: var(--space-16);
	font-size: var(--fs-13);
	color: var(--color-grey-45);
}

/*
 * Таблица шире колонки прокручивается внутри своей обёртки, а не растягивает
 * страницу (правило горизонтального переполнения).
 */
.legal-content__body table {
	display: block;
	width: 100%;
	margin-bottom: var(--space-16);
	overflow-x: auto;
	border-collapse: collapse;
	font-size: var(--fs-15);
}

.legal-content__body th,
.legal-content__body td {
	padding: var(--space-10) var(--space-13);
	border: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-90);
	text-align: left;
	vertical-align: top;
}

.legal-content__body th {
	font-weight: 700;
	color: var(--color-dark);
	background: var(--color-grey-96);
}

.legal-content__body *:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.legal-content {
		padding-top: var(--space-40);
		padding-bottom: var(--space-40);
	}

	.legal-content__inner {
		gap: var(--space-16);
	}

	.legal-content__body {
		max-width: none;
		font-size: var(--fs-15);
	}

	.legal-content__body h2 {
		margin-top: var(--space-28);
		font-size: var(--fs-22);
	}

	.legal-content__body h3 {
		margin-top: var(--space-20);
		font-size: var(--fs-18);
	}

	/*
	 * Таблица умещается в ширину целиком, без внутренней прокрутки
	 * (open-issues №56): обычная раскладка таблицы, мельче кегль и поля,
	 * длинные слова переносятся.
	 */
	.legal-content__body table {
		display: table;
		font-size: var(--fs-13);
	}

	.legal-content__body th,
	.legal-content__body td {
		padding: var(--space-8);
		overflow-wrap: anywhere;
	}
}
