/* Piknikovich - sitemap.css
   Карта сайта (/sitemap/).

   Эталон: ui_kits/website/Sitemap.jsx (артборд sitemap.html, 1440), шапка
   страницы и ссылка со счётчиком - PagesBase.jsx (PageHead, CountLink),
   сетки - pages.css (.pkp-sm 3 колонки -> 2 на 1200 -> 1 на 900, .pkp-sm2).
   Все числа ниже взяты из инлайновых стилей этих файлов.

   Отличие от кита одно и сознательное: у региона под списком разделов
   стоит строка округов или районов (в ките её не было - в демо-данных не
   было уровня районов). Она мельче и в строку, чтобы блок региона не
   вытягивался в столбец из двадцати ссылок.

   СПЕЦИФИЧНОСТЬ. База внутренних страниц держит заголовки, списки и абзацы
   селекторами «класс + тег» (`.pk-front:not(.home) h2` = 0-2-1). Поэтому
   правила зоны пишутся с префиксом `.pk-front.pk-sm-body` (0-3-x), а
   мобильные числа повторены с тем же весом: медиазапрос веса не добавляет
   (память reference_home_blocks_on_inner_pages). */

/* ================================================================
   ПОЛОСЫ
   ================================================================ */

.pk-front.pk-sm-body .pk-sm { background: #fff; color: var(--pk-text); font-family: var(--pk-font-sans); }
.pk-front.pk-sm-body .pk-sm-band { position: relative; padding: 44px 0; }
.pk-front.pk-sm-body .pk-sm-band--white { background: #fff; }
.pk-front.pk-sm-body .pk-sm-band--cream { background: var(--pk-cream); }
.pk-front.pk-sm-body .pk-sm-band--head { overflow: hidden; padding: 28px 0 44px; }
.pk-front.pk-sm-body .pk-sm-band > .pk-container { position: relative; }

/* LineDecor кита: opacity .06, ширина 300, right -80, top -100. */
.pk-front.pk-sm-body .pk-sm-decor {
	position: absolute;
	right: -80px;
	top: -100px;
	width: 300px;
	height: 443px;
	color: var(--pk-green);
	opacity: .06;
	pointer-events: none;
}
.pk-front.pk-sm-body .pk-sm-decor svg { display: block; width: 100%; height: 100%; }

/* ================================================================
   ШАПКА СТРАНИЦЫ (PageHead)
   ================================================================ */

.pk-front.pk-sm-body .pk-sm .pk-breadcrumbs__list { padding-bottom: 0 !important; }
.pk-front.pk-sm-body .pk-sm h1.pk-sm-h1 {
	margin: 18px 0 14px;
	font-size: var(--fs-h1);
	font-weight: var(--fw-black);
	letter-spacing: -0.03em;
	line-height: 1.1;
	color: var(--pk-text);
	text-wrap: balance;
}
.pk-front.pk-sm-body .pk-sm p.pk-sm-lead {
	margin: 0;
	max-width: 720px;
	font-size: 18px;
	line-height: 1.55;
	color: var(--pk-ink-soft);
}

/* ================================================================
   ЗАГОЛОВКИ (SmH2, SmBlock)
   ================================================================ */

.pk-front.pk-sm-body .pk-sm-head { margin-bottom: 22px; }
.pk-front.pk-sm-body .pk-sm h2.pk-sm-h2 {
	margin: 0;
	font-size: 30px;
	font-weight: var(--fw-black);
	letter-spacing: -0.02em;
	line-height: 1.15;
	color: var(--pk-text);
}
.pk-front.pk-sm-body .pk-sm-block > h2.pk-sm-h2 { margin-bottom: 22px; }
.pk-front.pk-sm-body .pk-sm p.pk-sm-note {
	margin: 8px 0 0;
	max-width: 700px;
	font-size: var(--fs-seo);
	line-height: 1.55;
	color: var(--pk-muted);
}
.pk-front.pk-sm-body .pk-sm h3.pk-sm-h3 {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: var(--fw-bold);
	letter-spacing: -0.01em;
	line-height: 1.3;
	color: var(--pk-text);
}
.pk-front.pk-sm-body .pk-sm h3.pk-sm-h3 a { color: var(--pk-green-dark); text-decoration: none; transition: color var(--dur-base); }
.pk-front.pk-sm-body .pk-sm h3.pk-sm-h3 a:hover { color: var(--pk-green); }

/* ================================================================
   СЕТКИ (.pkp-sm, .pkp-sm2)
   ================================================================ */

.pk-front.pk-sm-body .pk-sm-grid { display: grid; gap: 28px 32px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pk-front.pk-sm-body .pk-sm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ================================================================
   СПИСКИ И ССЫЛКИ (SmList, CountLink)
   ================================================================ */

.pk-front.pk-sm-body .pk-sm ul.pk-sm-list,
.pk-front.pk-sm-body .pk-sm ul.pk-sm-types,
.pk-front.pk-sm-body .pk-sm ul.pk-sm-areas__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pk-front.pk-sm-body .pk-sm ul.pk-sm-list { display: flex; flex-direction: column; gap: 9px; }
.pk-front.pk-sm-body .pk-sm ul.pk-sm-list > li,
.pk-front.pk-sm-body .pk-sm ul.pk-sm-types > li,
.pk-front.pk-sm-body .pk-sm ul.pk-sm-areas__list > li { display: flex; margin: 0; padding: 0; }
.pk-front.pk-sm-body .pk-sm ul.pk-sm-list > li::before,
.pk-front.pk-sm-body .pk-sm ul.pk-sm-types > li::before,
.pk-front.pk-sm-body .pk-sm ul.pk-sm-areas__list > li::before { content: none; }

/* Архивы типов без города - верхний уровень каталога. */
.pk-front.pk-sm-body .pk-sm ul.pk-sm-types {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	padding: 0 0 24px;
	margin-bottom: 26px;
	border-bottom: 1px solid var(--pk-border);
}

.pk-front.pk-sm-body .pk-sm a.pk-sm-link {
	display: inline-flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0 7px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--pk-ink-soft);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: color var(--dur-base), border-color var(--dur-base);
}
.pk-front.pk-sm-body .pk-sm a.pk-sm-link:hover,
.pk-front.pk-sm-body .pk-sm a.pk-sm-link:focus-visible { color: var(--pk-green); border-bottom-color: var(--pk-green); }
.pk-front.pk-sm-body .pk-sm a.pk-sm-link--lg { font-size: 16px; }
.pk-front.pk-sm-body .pk-sm a.pk-sm-link--sm { font-size: 14px; }
.pk-front.pk-sm-body .pk-sm .pk-sm-link__count {
	font-size: var(--fs-ui-xs);
	font-weight: var(--fw-semibold);
	color: var(--pk-muted);
	white-space: nowrap;
}

/* Округа и районы региона: строка мельче основного списка. */
.pk-front.pk-sm-body .pk-sm-areas { margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--pk-border); }
.pk-front.pk-sm-body .pk-sm-areas__label {
	margin-bottom: 6px;
	font-size: var(--fs-ui-xs);
	font-weight: var(--fw-bold);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--pk-muted);
}
.pk-front.pk-sm-body .pk-sm ul.pk-sm-areas__list { display: flex; flex-wrap: wrap; gap: 4px 16px; }

/* ================================================================
   О ПРОЕКТЕ
   ================================================================ */

.pk-front.pk-sm-body .pk-sm p.pk-sm-trust {
	display: flex;
	gap: 10px;
	margin: 0;
	font-size: var(--fs-seo);
	line-height: 1.55;
	color: var(--pk-muted);
}
.pk-front.pk-sm-body .pk-sm p.pk-sm-trust svg { flex: none; margin-top: 2px; color: var(--pk-green); }

/* ================================================================
   АДАПТИВ (pages.css: 1200 и 900)
   ================================================================ */

@media (max-width: 1200px) {
	.pk-front.pk-sm-body .pk-sm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.pk-front.pk-sm-body .pk-sm-grid,
	.pk-front.pk-sm-body .pk-sm-grid--2 { grid-template-columns: minmax(0, 1fr); }
	.pk-front.pk-sm-body .pk-sm-decor { display: none; }

	/* Списки становятся основным навигатором: тап-зона от 44px. */
	.pk-front.pk-sm-body .pk-sm ul.pk-sm-list { gap: 0; }
	.pk-front.pk-sm-body .pk-sm ul.pk-sm-types { gap: 0 20px; }
	.pk-front.pk-sm-body .pk-sm a.pk-sm-link { min-height: 44px; align-items: center; border-bottom: 0; }
	.pk-front.pk-sm-body .pk-sm h3.pk-sm-h3 a { display: inline-flex; align-items: center; min-height: 44px; }
	.pk-front.pk-sm-body .pk-sm ul.pk-sm-areas__list { gap: 0 16px; }
}

@media (max-width: 640px) {
	.pk-front.pk-sm-body .pk-sm-band { padding: 32px 0; }
	.pk-front.pk-sm-body .pk-sm-band--head { padding: 20px 0 32px; }
	.pk-front.pk-sm-body .pk-sm h1.pk-sm-h1 { font-size: 30px; letter-spacing: -0.025em; }
	.pk-front.pk-sm-body .pk-sm p.pk-sm-lead { font-size: 15px; }
	.pk-front.pk-sm-body .pk-sm h2.pk-sm-h2 { font-size: 26px; }
}
