/* =========================================================================
   Страница «Источники» — 11.09.2026
   Шаблон template-sources.php. Шапка, белая карточка текста, тёмная карточка
   в полке и карточки материалов берутся из page.css. Здесь только то,
   чего там нет: цифры в шапке, раскладка, оглавление в полке и блок под
   текстом.
   ========================================================================= */


/* ---- Цифры в шапке ------------------------------------------------------ */

.page-template-template-sources .hhsrc-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, max-content));
	gap: 0;
	margin: clamp(28px, 3vw, 40px) 0 0;
	padding: 0;
}

.page-template-template-sources .hhsrc-stats > div {
	padding: 22px clamp(22px, 2.6vw, 40px) 0 0;
	border-top: 1px solid rgba(255, 255, 255, .16);
}

.page-template-template-sources .hhsrc-stats > div + div {
	padding-left: clamp(22px, 2.6vw, 40px);
	border-left: 1px solid rgba(255, 255, 255, .12);
}

.page-template-template-sources .hhsrc-stats dt {
	margin: 0;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 3.4vw, 50px);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -.03em;
	color: #d7f45b;
}

/* Дата длиннее числа — мельче, чтобы три колонки держали одну линию. */
.page-template-template-sources .hhsrc-stats .hhsrc-stats-date {
	font-size: clamp(26px, 2.2vw, 32px);
	line-height: 1.55;
}

.page-template-template-sources .hhsrc-stats dd {
	max-width: 22ch;
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.45;
	color: rgba(255, 255, 255, .66);
}


/* ---- Раскладка: текст, полка, блок под текстом -------------------------- */

.page-template-template-sources .hhsrc-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	row-gap: clamp(40px, 4vw, 64px);
	margin-top: clamp(34px, 4vw, 64px);
	margin-bottom: clamp(48px, 5vw, 86px);
}

/* Текст и полка. Полка липнет в пределах этого контейнера: когда текст
   кончается, она уезжает вверх вместе с ним. */
.page-template-template-sources .hhsrc-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(24px, 2.8vw, 44px);
	align-items: start;
}

/* Левый край — та же формула, что у текста в шапке: карточка стоит ровно
   под заголовком на любой ширине окна. */
.page-template-template-sources .hhsrc-layout {
	margin-left: max(4vw, calc((100vw - min(var(--wrap), 96vw)) / 2 + var(--gut)));
	margin-right: 4vw;
}

/* Блок под текстом идёт на всю ширину обеих колонок,
   иначе справа от карточек остаётся пустота. */
@media (min-width: 1000px) {
	.page-template-template-sources .hhsrc-layout {
		max-width: calc(820px + 340px + clamp(24px, 2.8vw, 44px));
	}

	.page-template-template-sources .hhsrc-top {
		grid-template-columns: minmax(0, 820px) 340px;
		justify-content: start;
	}
}

.page-template-template-sources .hhsrc-main {
	min-width: 0;
}

/* Карточка текста стоит в сетке: внешние отступы из общих правил .entry-body не нужны. */
body.page-template-template-sources .hhsrc-main.entry-body {
	max-width: none;
	margin: 0;
}

.page-template-template-sources .hhsrc-rail {
	align-self: start;
}

.page-template-template-sources .hhsrc-after {
	display: grid;
	gap: clamp(30px, 3.2vw, 46px);
	min-width: 0;
}


/* ---- Оглавление в полке ------------------------------------------------- */

.page-template-template-sources .hhsrc-toc .toc {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.page-template-template-sources .hhsrc-toc .toc ol {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Номер печатает сама функция оглавления — счётчик из общих правил лишний. */
.page-template-template-sources .hhsrc-toc .toc li {
	display: block;
	border-top: 1px solid var(--c-rule, #d5e3e0);
}

.page-template-template-sources .hhsrc-toc .toc li:first-child { border-top: 0; }

.page-template-template-sources .hhsrc-toc .toc li::before { content: none; }

.page-template-template-sources .hhsrc-toc .toc a {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr);
	gap: 6px;
	padding: 11px 0;
	font-size: 15px;
	line-height: 1.34;
	color: var(--c-ink, #16262d);
	text-decoration: none;
}

.page-template-template-sources .hhsrc-toc .toc a span {
	font-size: 12px;
	font-weight: 700;
	line-height: 1.7;
	color: #7f9b00;
}

.page-template-template-sources .hhsrc-toc .toc a:hover,
.page-template-template-sources .hhsrc-toc .toc a.is-active {
	color: var(--c-accent-dk, #0f5e58);
}

.page-template-template-sources .hhsrc-toc .toc-more summary {
	padding: 10px 0 0;
	font-size: 13px;
	color: var(--c-accent-dk, #0f5e58);
	cursor: pointer;
}


/* ---- С чего начать ------------------------------------------------------ */

.page-template-template-sources .hhsrc-start h2 {
	margin: 0 0 8px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(28px, 2.5vw, 36px);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: -.025em;
	color: #0b3432;
}

.page-template-template-sources .hhsrc-start-note {
	margin: 0 0 clamp(18px, 2vw, 26px);
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--c-ink-soft, #55686f);
}

.page-template-template-sources .hhsrc-start-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 1.6vw, 22px);
}

/* В карточке остаётся «Читать →», вторая стрелка лишняя. */
.page-template-template-sources .hhsrc-start .card-arrow { display: none; }

.page-template-template-sources .hhsrc-start .card-body p {
	font-size: 14px;
	line-height: 1.5;
}

.page-template-template-sources .hhsrc-start .card {
	border-radius: 20px;
	box-shadow: 0 12px 34px rgba(7, 47, 45, .05);
}

.page-template-template-sources .hhsrc-start .card-body h3 {
	font-size: clamp(19px, 1.45vw, 22px);
	line-height: 1.18;
}


/* ---- Вопрос анонимно ---------------------------------------------------- */

.page-template-template-sources .hhsrc-ask {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: clamp(20px, 3vw, 40px);
	align-items: center;
	padding: clamp(26px, 3vw, 38px) clamp(24px, 3vw, 40px);
	border-radius: 24px;
	background:
		radial-gradient(circle at 88% 20%, rgba(215, 244, 91, .10), transparent 34%),
		var(--c-panel, #0d3b39);
	color: #fff;
}

.page-template-template-sources .hhsrc-ask-kicker {
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #d7f45b;
}

.page-template-template-sources .hhsrc-ask h2 {
	margin: 0 0 10px;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(25px, 2.3vw, 32px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: #fff;
}

.page-template-template-sources .hhsrc-ask p {
	max-width: 52ch;
	margin: 0;
	font-size: 15.5px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .74);
}

.page-template-template-sources .hhsrc-ask-btn {
	display: inline-block;
	padding: 15px 26px;
	border-radius: var(--r-pill, 100px);
	background: #d8f45b;
	color: #102b2a;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}

.page-template-template-sources .hhsrc-ask-btn:hover { background: #e6fa84; }


/* ---- Планшет и телефон -------------------------------------------------- */

@media (max-width: 999px) {

	.page-template-template-sources .hhsrc-start-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* Оглавление на узком экране не нужно: полка встаёт под текст,
	   и в ней остаётся только переход к проверке. */
	.page-template-template-sources .hhsrc-toc { display: none; }

	.page-template-template-sources .hhsrc-rail.story-rail { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {

	.page-template-template-sources .hhsrc-stats {
		grid-template-columns: minmax(0, 1fr);
	}

	.page-template-template-sources .hhsrc-stats > div,
	.page-template-template-sources .hhsrc-stats > div + div {
		display: grid;
		grid-template-columns: minmax(96px, auto) minmax(0, 1fr);
		gap: 16px;
		align-items: baseline;
		padding: 14px 0;
		border-left: 0;
	}

	.page-template-template-sources .hhsrc-stats dd { max-width: none; margin: 0; }

	/* Дата шире числа: подпись уходит под неё, иначе строка выбивается из ряда. */
	.page-template-template-sources .hhsrc-stats > .hhsrc-stats-when { display: block; }

	.page-template-template-sources .hhsrc-stats .hhsrc-stats-date { line-height: 1.2; margin-bottom: 6px; }

	.page-template-template-sources .hhsrc-ask {
		grid-template-columns: minmax(0, 1fr);
	}

	.page-template-template-sources .hhsrc-ask-btn {
		display: block;
		text-align: center;
	}
}

/* На телефоне карточки горизонтальные: четыре высоких карточки в столбик
   растянули бы блок на три экрана. */
@media (max-width: 560px) {

	.page-template-template-sources .hhsrc-start-grid { grid-template-columns: minmax(0, 1fr); gap: 12px; }

	.page-template-template-sources .hhsrc-start .card-link { flex-direction: row; }

	.page-template-template-sources .hhsrc-start .card-thumb {
		flex: 0 0 34%;
		aspect-ratio: auto;
		min-height: 118px;
	}

	.page-template-template-sources .hhsrc-start .card-body { padding: 14px 16px; }

	.page-template-template-sources .hhsrc-start .card-body h3 { font-size: 18px; margin-bottom: 8px; }

	.page-template-template-sources .hhsrc-start .card-body p { display: none; }
}