/*
 * Трекер реестров Банка России (задание 14-10, блок 2). Палитра и шрифты — дизайн-система темы:
 * #D7262C, #141210, #F0EBDD, Oswald и Golos Text (assets/css/tokens.css); новых шрифтов и цветов нет.
 * Мобильная вёрстка первой: карточки, не таблица; на 375 px без горизонтальной прокрутки.
 */

.ks-reestry {
	margin: 0 0 var(--space-6, 2.5rem);
}

/* Шапка: счётчики и строка «данные на …» */
.ks-reestry__schetchiki {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem .75rem;
	margin: 0 0 .75rem;
	padding: 0;
	list-style: none;
}

.ks-reestry__schetchik {
	display: inline-flex;
	align-items: baseline;
	gap: .5rem;
	padding: .5rem .875rem;
	border: 2px solid var(--color-coal, #141210);
	background: var(--color-paper, #F0EBDD);
	font-family: var(--font-text, 'Golos Text', system-ui, sans-serif);
	font-size: .9375rem;
	line-height: 1.2;
}

.ks-reestry__schetchik b {
	font-family: var(--font-display, 'Oswald', system-ui, sans-serif);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: var(--brand-red, #D7262C);
}

.ks-reestry__dannye {
	margin: 0 0 1.25rem;
	font-size: .875rem;
	color: var(--color-muted, #5B5751);
}

/* Поиск */
.ks-reestry__poisk {
	margin: 0 0 1rem;
}

.ks-reestry__podpis {
	display: block;
	margin: 0 0 .375rem;
	font-family: var(--font-display, 'Oswald', system-ui, sans-serif);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.ks-reestry__pole,
.ks-glavnaya-reestry__pole {
	position: relative;
}

.ks-reestry__vvod,
.ks-glavnaya-reestry__vvod {
	box-sizing: border-box;
	width: 100%;
	min-height: 3rem;
	padding: .625rem .875rem;
	border: 2px solid var(--color-coal, #141210);
	border-radius: 0;
	background: #fff;
	color: var(--color-coal, #141210);
	font: 400 1.0625rem/1.3 var(--font-text, 'Golos Text', system-ui, sans-serif);
}

.ks-reestry__vvod:focus-visible,
.ks-glavnaya-reestry__vvod:focus-visible,
.ks-reestry__knopka:focus-visible,
.ks-card__kopiya:focus-visible {
	outline: 3px solid var(--brand-red, #D7262C);
	outline-offset: 2px;
}

.ks-reestry__podskazki {
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
	max-height: 18rem;
	overflow-y: auto;
	border: 2px solid var(--color-coal, #141210);
	background: #fff;
	box-shadow: 4px 4px 0 var(--color-coal, #141210);
}

.ks-reestry__podskazka {
	display: flex;
	flex-direction: column;
	gap: .125rem;
	padding: .625rem .875rem;
	cursor: pointer;
	border-bottom: 1px solid var(--color-coal-25, rgba(20, 18, 16, .25));
}

.ks-reestry__podskazka:last-child {
	border-bottom: 0;
}

.ks-reestry__podskazka[aria-selected='true'],
.ks-reestry__podskazka:hover {
	background: var(--color-paper, #F0EBDD);
}

.ks-reestry__podskazka-imya {
	font-weight: 600;
	overflow-wrap: anywhere;
}

.ks-reestry__podskazka-meta {
	font-size: .8125rem;
	color: var(--color-muted, #5B5751);
}

.ks-reestry__itog {
	margin: .75rem 0 0;
	font-size: 1rem;
}

.ks-reestry__itog p {
	margin: 0 0 .375rem;
}

.ks-reestry__najdeno {
	font-weight: 600;
}

.ks-reestry__netu {
	padding: .75rem 1rem;
	border-left: 4px solid var(--brand-red, #D7262C);
	background: var(--color-paper, #F0EBDD);
}

/* Фильтр по реестрам */
.ks-reestry__filtr {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0 0 1.25rem;
}

.ks-reestry__knopka {
	min-height: 2.75rem;
	padding: .5rem .875rem;
	border: 2px solid var(--color-coal, #141210);
	border-radius: 0;
	background: var(--color-paper, #F0EBDD);
	color: var(--color-coal, #141210);
	font: 600 .9375rem/1.1 var(--font-text, 'Golos Text', system-ui, sans-serif);
	cursor: pointer;
}

.ks-reestry__knopka[aria-pressed='true'] {
	background: var(--color-coal, #141210);
	color: var(--color-paper, #F0EBDD);
}

/* Разделы и карточки */
.ks-reestry__razdel {
	margin: 0 0 1.75rem;
}

.ks-reestry__zagolovok {
	margin: 0 0 .75rem;
}

.ks-reestry__chislo {
	display: inline-block;
	margin-left: .5rem;
	padding: .0625rem .5rem;
	background: var(--color-coal, #141210);
	color: var(--color-paper, #F0EBDD);
	font-size: .875rem;
	vertical-align: middle;
}

.ks-kartochki {
	display: grid;
	grid-template-columns: 1fr;
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ks-card {
	box-sizing: border-box;
	min-width: 0;
	padding: .875rem 1rem;
	border: 2px solid var(--color-coal, #141210);
	background: var(--color-paper, #F0EBDD);
}

.ks-card[hidden],
.ks-reestry__razdel[hidden],
.ks-reestry__iskl[hidden] {
	display: none;
}

.ks-card--iskl {
	background: transparent;
	border-style: dashed;
}

.ks-card__imya {
	margin: 0 0 .25rem;
	font: 600 1.0625rem/1.3 var(--font-text, 'Golos Text', system-ui, sans-serif);
	overflow-wrap: anywhere;
}

.ks-card__novoe {
	display: inline-block;
	margin-left: .375rem;
	padding: .0625rem .4375rem;
	background: var(--brand-red, #D7262C);
	color: #fff;
	font: 700 .75rem/1.4 var(--font-text, 'Golos Text', system-ui, sans-serif);
	letter-spacing: .04em;
	text-transform: uppercase;
	vertical-align: middle;
}

.ks-card__reestr {
	margin: 0 0 .5rem;
	font-size: .8125rem;
	color: var(--color-muted, #5B5751);
}

.ks-card__pola {
	display: grid;
	gap: .375rem;
	margin: 0 0 .625rem;
}

.ks-card__pole {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .125rem .5rem;
}

.ks-card__pole dt {
	flex: 0 0 8.5rem;
	font-size: .8125rem;
	color: var(--color-muted, #5B5751);
}

.ks-card__pole dd {
	flex: 1 1 8rem;
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
}

.ks-card__cifry {
	font-variant-numeric: tabular-nums;
}

.ks-card__kopiya {
	min-height: 2.75rem;
	margin-left: .25rem;
	padding: .25rem .625rem;
	border: 1px solid var(--color-coal, #141210);
	border-radius: 0;
	background: transparent;
	color: var(--color-coal, #141210);
	font: 500 .8125rem/1.2 var(--font-text, 'Golos Text', system-ui, sans-serif);
	cursor: pointer;
}

.ks-card__ssylka {
	font-weight: 600;
}

.ks-reestry__iskl {
	margin: 1.5rem 0 0;
}

.ks-reestry__iskl > summary {
	cursor: pointer;
	font: 600 1rem/1.4 var(--font-text, 'Golos Text', system-ui, sans-serif);
	min-height: 2.75rem;
	display: flex;
	align-items: center;
}

.ks-reestry__iskl[open] > summary {
	margin-bottom: .75rem;
}

.ks-reestry__pusto {
	padding: 1rem;
	border-left: 4px solid var(--brand-red, #D7262C);
	background: var(--color-paper, #F0EBDD);
}

/* Журнал изменений */
.ks-zhurnal {
	margin: 0 0 1.5rem;
	padding: 0;
	list-style: none;
}

.ks-zhurnal li {
	margin: 0 0 .5rem;
	padding: 0 0 .5rem;
	border-bottom: 1px solid var(--color-coal-25, rgba(20, 18, 16, .25));
}

.ks-zhurnal time {
	font-weight: 600;
	white-space: nowrap;
}

/* Планшет и выше: карточки в два столбца, дальше три */
@media (min-width: 720px) {
	.ks-kartochki {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1080px) {
	.ks-kartochki {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Блок на главной */
.ks-glavnaya-reestry {
	/*
	 * Отступ ПОСЛЕ блока — тот же, что между остальными секциями главной: их разделяет нижний
	 * padding предыдущей секции (.verh, .lenta, .ryad — var(--space-7)). У чёрного блока свой фон,
	 * поэтому зазор — margin, а не padding. Замер 16.10.2026: линия заголовка следующей секции
	 * («Новости», border-top 2px того же цвета) вплотную прилипала к блоку, и посередине чёрное
	 * шло на 2 px ниже, чем у краёв. Правило на самом блоке, а не на .lenta: работает, какая бы
	 * секция ни шла следом.
	 */
	margin-bottom: var(--space-7, 48px);
	padding: 2rem 0;
	background: var(--color-coal, #141210);
	color: var(--color-paper, #F0EBDD);
}

.ks-glavnaya-reestry h2 {
	margin: 0 0 1rem;
	color: var(--color-paper, #F0EBDD);
}

.ks-glavnaya-reestry__forma {
	display: flex;
	flex-direction: column;
	gap: .625rem;
	max-width: 44rem;
	margin: 0 0 1rem;
}

.ks-glavnaya-reestry__forma .btn {
	min-height: 3rem;
}

.ks-glavnaya-reestry .ks-reestry__schetchik {
	border-color: var(--color-paper, #F0EBDD);
	background: transparent;
	color: var(--color-paper, #F0EBDD);
}

.ks-glavnaya-reestry .ks-reestry__schetchik b {
	color: var(--color-paper, #F0EBDD);
}

.ks-glavnaya-reestry .ks-reestry__podskazki {
	color: var(--color-coal, #141210);
}

.ks-glavnaya-reestry__nizu {
	margin: .75rem 0 0;
}

.ks-glavnaya-reestry__nizu a {
	color: var(--color-paper, #F0EBDD);
}

@media (min-width: 720px) {
	.ks-glavnaya-reestry__forma {
		flex-direction: row;
		align-items: flex-start;
	}

	.ks-glavnaya-reestry__pole {
		flex: 1 1 auto;
	}
}

@media print {
	.ks-reestry__poisk,
	.ks-reestry__filtr,
	.ks-card__kopiya {
		display: none;
	}
}
