/*
 * Страницы-разделы сайта: всё, что внутри .rost-doc. Почему так — docs/06-оформление-страниц.md.
 *
 * Шрифт — Geometria темы (файл на нашем сервере); со сторонних адресов эти стили ничего не берут
 * и на классы Bootstrap не опираются.
 * У Geometria на сайте одно начертание — обычное, поэтому жирного нет: браузер нарисовал бы
 * поддельный. Главное от второстепенного отличают размер, цвет и расстояние.
 * Размеры — шкала с шагом 1,125 от 16 px: 14 · 16 · 18 · 20 · 23 (заголовок страницы темы — 28).
 * Отступы кратны 8 px; внутри элемента меньше, чем между элементами, а между элементами
 * меньше, чем между разделами: 4 → 16/24 → 48 → 64.
 * Каждое правило начинается с .rost-doc: так оно сильнее правил темы и Bootstrap
 * (например, .article h3 { margin-bottom: 50px }).
 */
.rost-doc {
	--rd-text: #151528;   /* цвет текста темы */
	--rd-muted: #5b5e6e;  /* второстепенное: 6,4:1 к белому */
	--rd-accent: #eb7f00; /* фирменный оранжевый: только линии, для мелкого текста не хватает контраста */
	max-width: 42rem;     /* 60–75 знаков в строке */
	margin: 0 0 4rem;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--rd-text);
	font-kerning: normal;
	overflow-wrap: break-word;
}
.rost-doc *,
.rost-doc *::before { box-sizing: border-box; }
.rost-doc :where(p, ul, ol, li, h2, h3) { margin: 0; padding: 0; font-size: inherit; line-height: inherit; font-weight: 400; }
.rost-doc :where(ul, ol) { list-style: none; }

/* Ссылки: тёмный текст, оранжевое подчёркивание */
.rost-doc a {
	color: var(--rd-text);
	text-decoration: underline;
	text-decoration-color: var(--rd-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: .2em;
}
.rost-doc a:hover { color: var(--rd-text); text-decoration: underline; text-decoration-color: var(--rd-accent); text-decoration-thickness: 2px; }
.rost-doc a:focus-visible { outline: 2px solid var(--rd-accent); outline-offset: 2px; }

/* Вводный абзац и факты события */
.rost-doc .rost-doc__lead { margin-bottom: 3rem; }
.rost-doc .rost-doc__facts { font-size: 1.125rem; line-height: 1.35; }
.rost-doc .rost-doc__facts + .rost-doc__lead { margin-top: 1rem; }

/* Заголовки разделов страницы */
.rost-doc .rost-doc__h { margin: 4rem 0 1rem; font-size: 1.4375rem; line-height: 1.25; }
.rost-doc .rost-doc__lead + .rost-doc__h,
.rost-doc > .rost-doc__h:first-child { margin-top: 0; }
.rost-doc .rost-doc__sub { margin: 2rem 0 1rem; color: var(--rd-muted); }

/* Элемент: название и строка подробностей под ним */
.rost-doc .rost-doc__list > li { margin-bottom: 1.5rem; }
.rost-doc .rost-doc__list--dense > li { margin-bottom: 1rem; }
.rost-doc .rost-doc__list > li:last-child { margin-bottom: 0; }
.rost-doc .rost-doc__title { font-size: 1.125rem; line-height: 1.35; }
.rost-doc .rost-doc__list--dense .rost-doc__title { font-size: 1rem; line-height: 1.5; }
.rost-doc .rost-doc__meta { display: block; margin-top: .25rem; font-size: .875rem; line-height: 1.45; color: var(--rd-muted); }
.rost-doc .rost-doc__meta a { color: var(--rd-muted); }
.rost-doc .rost-doc__meta--inline { display: inline; margin: 0 0 0 .25rem; }
.rost-doc .rost-doc__text { margin-top: .5rem; }
.rost-doc .rost-doc__end { margin-top: 3rem; }

/* Записи на страницах-оглавлениях и проекты */
.rost-doc .rost-doc__entries > li { margin-bottom: 3rem; }
.rost-doc .rost-doc__entries > li:last-child { margin-bottom: 0; }
.rost-doc .rost-doc__entry { font-size: 1.25rem; line-height: 1.3; }

/* Программа: номер доклада стоит в своей колонке слева от текста */
.rost-doc .rost-doc__steps { counter-reset: rd-step; }
.rost-doc .rost-doc__steps > li { position: relative; margin-bottom: 1.5rem; padding-left: 2.5rem; counter-increment: rd-step; }
.rost-doc .rost-doc__steps > li:last-child { margin-bottom: 0; }
.rost-doc .rost-doc__steps > li::before {
	content: counter(rd-step);
	position: absolute;
	left: 0;
	width: 1.5rem;
	text-align: right;
	font-size: 1.125rem;
	line-height: 1.35;
	color: var(--rd-muted);
	font-variant-numeric: tabular-nums;
}

/* На телефоне заголовки на шаг шкалы меньше: длинное название сборника иначе занимает 6 строк */
@media (max-width: 575.98px) {
	.rost-doc .rost-doc__h { font-size: 1.25rem; line-height: 1.3; }
	.rost-doc .rost-doc__entry { font-size: 1.125rem; line-height: 1.35; }
}

/* Издание: выходные данные, файл целиком, отдельные страницы */
.rost-doc .rost-doc__imprint { margin-bottom: 1.5rem; font-size: .875rem; line-height: 1.45; color: var(--rd-muted); }
.rost-doc .rost-doc__file { margin-bottom: .5rem; }
.rost-doc .rost-doc__pages { font-size: .875rem; line-height: 1.45; color: var(--rd-muted); }
.rost-doc .rost-doc__pages a { color: var(--rd-muted); }
