/* Страница «полный регламент» /rules. Кадр 122:489 (1728×6939), узлы —
   plan/50-pages.md §4.1. Значения из absoluteBoundingBox / itemSpacing.
   Mobile-first: базовые правила — мобильный кадр 178:1179 (402×11088),
   в media(980) фиксированные размеры десктопа. Мобилка отличается от десктопа
   ровно тремя вещами: маркеры 40/56 вместо 48/64, текст списка 19/24 вместо
   Paragraph/L 21/26 и ширина заголовка. Все зазоры и ритм совпадают. */

.rules {
	--rules_gap: 4.8rem; /* itemSpacing 122:489: шапка → содержимое */
	--rules_masthead-gap: 9.6rem; /* itemSpacing 122:490: header → заголовок */
	--rules_body-gap: 9.6rem; /* itemSpacing 122:493: колонка → блок 122:566 */
	--rules_outro-gap: 14.4rem; /* itemSpacing 122:566: соцблок → подвал */
	--rules_social-gap: 1.6rem; /* itemSpacing I122:567;3075:86274 */
	--rules_social-w: 28.8rem; /* ширина текста I122:567;3075:86276 */
	--rules_col-w: 100%;
	--rules_pad-x: var(--page-margin-mobile);
	--rules_title-w: 100%;
	--rules_heading-pad: 7.2rem; /* padding 122:497 сверху и снизу */
	--rules_item-gap: 1.2rem; /* itemSpacing 122:499 и 178:1189 */
	--rules_marker-w: 4rem; /* маркер верхнего уровня, I178:1190;3078:67165 */
	--rules_marker-sub-w: 5.6rem; /* вложенный маркер, I178:1191;3078:78382 */
	--rules_text-size: 1.9rem; /* список на 402: I178:1190;3078:67168, своего токена нет */
	--rules_text-lh: 2.4rem;

	display: flex;
	flex-direction: column;
	gap: var(--rules_gap);
	/* Заголовки Display/50 сверстаны под Epos; на запасной Georgia отдельные
	   слова шире колонки 370 и дают горизонтальный выезд. */
	overflow-wrap: break-word;
}

.rules__masthead {
	display: flex;
	flex-direction: column;
	align-items: center; /* counterAxisAlignItems: CENTER */
	gap: var(--rules_masthead-gap);
}

/* Шапка — единственный ребёнок стопки во всю полосу: центрирование
   masthead'а иначе ужимает её по содержимому. */
.rules__masthead > .header {
	align-self: stretch;
}

.rules__title {
	width: var(--rules_title-w);
	margin: 0;
	text-align: center; /* textAlignHorizontal 122:492 */
}

.rules__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--rules_body-gap);
}

.rules__content {
	width: var(--rules_col-w);
	padding: 0 var(--rules_pad-x);
}

/* Блок 122:566 (VERTICAL, gap 144, counterAxis CENTER): соцблок 122:567 и
   ниже инстанс подвала 122:568 с paddingTop 24. Как и шапке в стопке, нужен
   stretch — иначе align-items: center ужимает по содержимому. */
.rules__outro {
	display: flex;
	flex-direction: column;
	align-items: center;
	align-self: stretch;
	gap: var(--rules_outro-gap);
}

/* Единственный видимый ребёнок 122:567 — «social» 816×160: линия сверху,
   отступ 24 и колонка 288 (I122:567;3075:86274, gap 16) по центру. */
.rules__social {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--rules_social-gap);
	width: var(--rules_col-w);
	padding: 2.4rem var(--rules_pad-x) 0;
	border-top: 1px solid var(--color-line); /* strokeWeight top 1, INSIDE */
}

/* Текст FIXED 288 — ширина и задаёт перенос на две строки. */
.rules__social-text {
	width: var(--rules_social-w);
	margin: 0;
	color: var(--color-green);
	text-align: center;
}

/* Подпись стала ссылкой на канал — в макете подчёркивания нет, как у навигации. */
.rules__social-text a {
	text-decoration: none;
}

.rules__social-text a:hover {
	text-decoration: underline;
}

/* paddingTop 122:568 поверх зазора 144 блока 122:566 */
.rules__outro > .footer {
	align-self: stretch;
	margin-top: 2.4rem;
}

/* Лид 122:495: один TEXT с пустой строкой между абзацами — держим её как
   отступ ровно в строку, иначе колонка становится короче макета. */
.rules__lead p {
	margin: 0;
}

.rules__lead p + p {
	margin-top: var(--t-lead-lh);
}

.rules__heading {
	margin: 0;
	padding: var(--rules_heading-pad) 0;
	color: var(--color-green); /* #084d36 */
}

.rules__list {
	display: flex;
	flex-direction: column;
	gap: var(--rules_item-gap);
	margin: 0;
	padding: 0;
	font-size: var(--rules_text-size);
	line-height: var(--rules_text-lh);
	list-style: none;
}

/* li = маркер фиксированной ширины + абзац на остаток колонки (48 + 768,
   вложенный 64 + 752 — компоненты 122:414 / 122:420). */
.rules__item {
	display: flex;
}

.rules__marker {
	flex: 0 0 var(--rules_marker-w);
}

.rules__item--sub .rules__marker {
	flex-basis: var(--rules_marker-sub-w);
}

.rules__text {
	flex: 1;
	margin: 0;
}

/* Адреса и почта в тексте регламента — живые ссылки с подчёркиванием
   (правки клиента, п. 10). */
.rules__link {
	color: var(--color-brown);
	text-decoration: underline;
}

@media (min-width: 980px) {
	.rules {
		--rules_col-w: 81.6rem; /* 122:494 */
		--rules_pad-x: 0;
		--rules_title-w: 124.8rem; /* 122:492 */
		--rules_marker-w: 4.8rem; /* 3078:56029 */
		--rules_marker-sub-w: 6.4rem; /* 3078:89680 */
		--rules_text-size: var(--t-paragraph-l-size); /* 122:500 */
		--rules_text-lh: var(--t-paragraph-l-lh);
	}
}
