/* lh-public.css — витрина поиска до регистрации (Ева, 15.09.2026, LH-42).
 *
 * Дополняет lh-auth.css: экран стоит на той же оболочке, что вход и
 * регистрация, поэтому палитра, поля и кнопки наследуются, а здесь только
 * то, чего на экранах входа нет — карточка организации, строки дел и
 * закрытая часть выдачи.
 *
 * Закрытая часть нарисована пустыми полосами: в разметке её данных нет
 * (см. _public_results.html), размывать нечего — и из исходного кода
 * страницы достать тоже нечего.
 */

.lh-auth-col--wide { max-width: 560px; }

.lh-pub-form .lh-auth-btn--main { margin-top: 20px; }

/* Переключатель «Организация / Человек».
   Радиокнопки спрятаны, но не выброшены: клавиатура и скринридер работают по
   ним, а поля второго типа прячет соседний селектор — без JavaScript. */
.lh-pub-radio {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}
.lh-pub-switch {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px;
	margin-bottom: 18px;
	padding: 4px;
	background: var(--ui-surface);
	border: 1px solid var(--ui-line);
	border-radius: 10px;
}
.lh-pub-switch label {
	padding: 9px 10px;
	font-size: 15px;
	line-height: 1.2;
	text-align: center;
	color: var(--ui-muted);
	border-radius: 7px;
	cursor: pointer;
	user-select: none;
	transition: background .14s ease, color .14s ease;
}
.lh-pub-switch label:hover { color: var(--ui-text); }
#lh-t-org:checked ~ .lh-pub-switch label[for="lh-t-org"],
#lh-t-person:checked ~ .lh-pub-switch label[for="lh-t-person"] {
	background: #fff;
	color: var(--ui-text);
	font-weight: 500;
	box-shadow: 0 1px 2px rgba(7, 37, 26, .08);
}
/* обводка по Tab: сам input не виден, метку подсвечиваем за него */
#lh-t-org:focus-visible ~ .lh-pub-switch label[for="lh-t-org"],
#lh-t-person:focus-visible ~ .lh-pub-switch label[for="lh-t-person"] {
	box-shadow: 0 0 0 3px rgba(67, 163, 136, .25);
}
#lh-t-org:checked ~ .lh-pub-fields .lh-pub-f--person,
#lh-t-person:checked ~ .lh-pub-fields .lh-pub-f--org { display: none; }
.lh-pub-opt { font-weight: 400; color: var(--ui-muted); }

/* Результат */
.lh-pub-res {
	margin-top: 18px;
	background: #fff;
	border: 1px solid var(--ui-line);
	border-radius: 14px;
	padding: 24px 24px 20px;
	box-shadow: 0 1px 2px rgba(7, 37, 26, .04), 0 8px 24px rgba(7, 37, 26, .05);
}

/* Карточка организации */
.lh-pub-org { padding-bottom: 14px; border-bottom: 1px solid var(--ui-line); }
.lh-pub-org h2 {
	margin: 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 500;
	letter-spacing: -0.01em;
	text-wrap: balance;
}
.lh-pub-org-meta { margin: 5px 0 0; font-size: 14px; color: var(--ui-muted); }
.lh-pub-count {
	margin: 12px 0 0;
	font-size: 16px;
	font-weight: 500;
	color: var(--ui-brand-strong);
}
.lh-pub-role-note { font-weight: 400; color: var(--ui-muted); }

/* Разделы выдачи: арбитраж, суды общей юрисдикции, производства.
   Заголовок раздела несёт счётчик дел и судов — по нему видно, что поиск шёл
   по всем судам, а не по одному реестру (замысел Георгия 15.09). */
.lh-pub-sec { padding-top: 18px; }
.lh-pub-sec + .lh-pub-sec { border-top: 1px solid var(--ui-line); margin-top: 4px; }
.lh-pub-sec-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}
.lh-pub-sec-head h3 {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.01em;
}
.lh-pub-sec-count { margin: 0; font-size: 14px; color: var(--ui-muted); white-space: nowrap; }

/* Предупреждение о полных тёзках: судебные карточки не различают людей с
   одинаковыми ФИО в одном регионе, и молчать об этом нельзя. */
.lh-pub-warn {
	margin: 14px 0 0;
	padding: 12px 14px;
	font-size: 14px;
	line-height: 1.4;
	color: #7A4A00;
	background: #FFF7E8;
	border: 1px solid #F2DFB8;
	border-radius: 10px;
}

/* Исполнительные производства: номер и сумма приходят замыленными с сервера,
   настоящих значений в разметке нет. */
.lh-pub-enf { list-style: none; margin: 12px 0 0; padding: 0; }
.lh-pub-enf-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 11px 0;
	border-bottom: 1px solid var(--ui-line);
	font-variant-numeric: tabular-nums;
}
.lh-pub-enf-num { font-size: 15px; letter-spacing: .02em; color: var(--ui-text); }
.lh-pub-enf-sum { font-size: 15px; font-weight: 500; white-space: nowrap; }

/* Открытые дела */
.lh-pub-cases { list-style: none; margin: 0; padding: 0; }
.lh-pub-case { padding: 16px 0; border-bottom: 1px solid var(--ui-line); }
.lh-pub-case-top {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}
.lh-pub-num { font-size: 16px; font-weight: 500; }
.lh-pub-role {
	font-size: 12px;
	line-height: 1;
	padding: 5px 8px;
	border-radius: 6px;
	white-space: nowrap;
}
.lh-pub-role--def { color: #7A2E0E; background: #FEF0E7; }
.lh-pub-role--pl { color: #17604A; background: #E7F6F0; }
.lh-pub-court { margin: 7px 0 0; font-size: 15px; line-height: 1.35; }

/* Движение за неделю: приходит только по делам СОЮ, по арбитражу его у нас
   нет — значок рисуется строго по true, «неизвестно» молчит. */
.lh-pub-fresh {
	font-size: 12px;
	line-height: 1;
	padding: 5px 8px;
	border-radius: 6px;
	color: #7A4A00;
	background: #FFF4E0;
	white-space: nowrap;
}
.lh-pub-case-meta { margin: 4px 0 0; font-size: 13px; color: var(--ui-muted); }

/* Закрытая часть: числом, а не данными */
.lh-pub-locked {
	margin-top: 16px;
	display: grid;
	gap: 10px;
	/* полосы бледнеют книзу: видно, что список продолжается */
	mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .25) 100%);
	-webkit-mask-image: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, .25) 100%);
	pointer-events: none;
}
.lh-pub-ghost {
	height: 14px;
	border-radius: 7px;
	background: linear-gradient(90deg, #E8F1ED 0%, #F1F7F4 60%, #E8F1ED 100%);
}
.lh-pub-ghost:nth-child(2) { width: 82%; }
.lh-pub-ghost:nth-child(3) { width: 64%; }
.lh-pub-locked-note {
	margin: 12px 0 0;
	font-size: 15px;
	font-weight: 500;
	text-align: center;
}

/* Действие */
.lh-pub-cta { margin-top: 20px; }
.lh-pub-cta .lh-auth-btn--main { text-decoration: none; }
.lh-pub-cta .lh-auth-btn--main:hover { color: #fff; text-decoration: none; }
.lh-pub-cta-note {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.35;
	color: var(--ui-muted);
	text-align: center;
	text-wrap: balance;
}
.lh-pub-cta-alt { margin: 14px 0 0; font-size: 14px; text-align: center; color: var(--ui-muted); }
.lh-pub-cta-alt a { color: var(--ui-brand); }
.lh-pub-cta-alt a:hover { color: var(--ui-brand-strong); }

/* Выбор организации */
.lh-pub-pick-title { margin: 0; font-size: 20px; font-weight: 500; }
.lh-pub-pick-sub { margin: 6px 0 14px; font-size: 15px; color: var(--ui-muted); }
/* Пояснение «регион — это место дела»: нужно тем, кто уверен в своём регионе
   и иначе закроет экран, решив, что мы ошиблись. Тише подзаголовка. */
.lh-pub-pick-hint { margin: -8px 0 14px; font-size: 13px; line-height: 1.45; color: var(--ui-muted); }
.lh-pub-pick { list-style: none; margin: 0; padding: 0; }
.lh-pub-pick li + li { margin-top: 8px; }
.lh-pub-pick a {
	display: block;
	padding: 13px 14px;
	border: 1px solid var(--ui-line);
	border-radius: 10px;
	text-decoration: none;
	color: var(--ui-text);
	transition: border-color .14s ease, background .14s ease;
}
.lh-pub-pick a:hover {
	border-color: var(--ui-brand);
	background: var(--ui-surface);
	text-decoration: none;
}
.lh-pub-pick-name { display: block; font-size: 16px; font-weight: 500; }
.lh-pub-pick-meta { display: block; margin-top: 4px; font-size: 13px; color: var(--ui-muted); }

/* Ничего не нашли и защита от выкачки */
.lh-pub-empty h2, .lh-pub-guard h2 {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 500;
	text-wrap: balance;
}
.lh-pub-empty p, .lh-pub-guard p {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.4;
	color: var(--ui-muted);
}
.lh-pub-empty a, .lh-pub-guard a { color: var(--ui-brand); }

.lh-pub-captcha {
	margin-top: 14px;
	padding: 16px;
	border: 1px solid var(--ui-line);
	border-radius: 10px;
	background: var(--ui-surface);
}
.lh-pub-captcha .lh-auth-label { display: block; margin-bottom: 7px; font-size: 14px; font-weight: 500; }
.lh-pub-captcha-input {
	width: 100%;
	height: 48px;
	padding: 0 14px;
	font-family: inherit;
	font-size: 16px; /* меньше 16px — iOS зумит страницу на фокусе */
	color: var(--ui-text);
	background: #fff;
	border: 1.5px solid #CBDCD4;
	border-radius: 10px;
	outline: none;
}
.lh-pub-captcha-input:focus {
	border-color: var(--ui-brand);
	box-shadow: 0 0 0 3px rgba(67, 163, 136, .18);
}
.lh-pub-captcha .lh-auth-btn--main { margin-top: 12px; }

/* Найденное на экране регистрации: человек видит, что именно сохранится */
.lh-auth-found {
	margin-bottom: 18px;
	padding: 13px 14px;
	border: 1px solid #CFE9DE;
	border-radius: 10px;
	background: var(--ui-surface);
	font-size: 15px;
	line-height: 1.35;
}
.lh-auth-found b { font-weight: 500; }
.lh-auth-found p { margin: 4px 0 0; font-size: 13px; color: var(--ui-muted); }

@media (max-width: 560px) {
	.lh-pub-res { padding: 18px 16px 16px; border-radius: 12px; }
	.lh-pub-org h2 { font-size: 18px; }
	.lh-pub-num { font-size: 15px; }
	.lh-pub-court { font-size: 14px; }
	/* на узком экране роль уезжала на вторую строку и рвала номер дела */
	.lh-pub-case-top { gap: 8px; }
	/* счётчик раздела на 390px не влезает в строку с заголовком */
	.lh-pub-sec-head { gap: 2px; }
	.lh-pub-sec-count { white-space: normal; }
	.lh-pub-enf-num { font-size: 14px; }
	.lh-pub-switch label { font-size: 14px; padding: 9px 6px; }
}
