/**
 * «Цены» по макету владельца (ТЗ CENY). Токены сайта (lizing.css); заголовки
 * разделов — антиква (Р-20). Префикс `cv-`.
 */

.cv-hero-vnutri, .cv-setka, .cv-pochemu, .cv-faq {
	width: calc(100% - 2 * var(--pad-x)); max-width: 1328px; margin-inline: auto; box-sizing: border-box;
}
.cv-predprosmotr {
	padding: 10px var(--pad-x); background: var(--gold-bg); border-bottom: 1px solid var(--gold-line);
	font-size: 14px; line-height: 1.4; color: var(--text); text-align: center;
}

/* ---------------- первый экран ---------------- */
.cv-hero { position: relative; overflow: hidden; isolation: isolate; background: #0f0d0b; color: var(--on-dark); }
.cv-hero-fon, .cv-hero-fon img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.cv-hero-fon { z-index: -2; }
.cv-hero-fon img { object-fit: cover; object-position: 100% 30%; }
@media (min-width: 1200px) { .cv-hero-fon img { object-position: 100% 12%; } } /* макушка Фемиды не срезана шапкой */
.cv-hero::after {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background: linear-gradient(90deg, rgba(12, 11, 10, .94) 0%, rgba(12, 11, 10, .82) 40%, rgba(12, 11, 10, 0) 70%);
}
.cv-hero-vnutri { padding-block: 22px 44px; }
.cv-kroshki { display: flex; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--on-dark-2); }
/* 09.10 (пакет 4, блок 2): «Главная» — как в крошках остальных страниц (.shapka-kroshki): без подчёркивания. */
.lizing .cv-kroshki a { color: var(--on-dark-4); text-decoration: none; }
.lizing .cv-kroshki a:hover { color: var(--gold); }
.cv-nadzag {
	display: block; margin-top: 26px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gold);
}
/* H1 — как у остальных страниц с антиквой (.blog-h1, .praktika-h1): 700, --chit-h1 (44 / 28 на телефоне). */
.cv-h1 {
	margin: 12px 0 0; max-width: 680px; font-family: var(--antikva); font-weight: 700;
	font-size: var(--chit-h1); line-height: var(--chit-h1-lh); color: var(--on-dark);
}
.cv-lid { margin: 16px 0 0; max-width: 640px; font-size: 17px; line-height: 1.55; color: var(--on-dark-3); }
/* Фраза у Фемиды (VERDIKT_CENY §6): по умолчанию строкой под лидом; на широком экране —
   у нижнего края слева от статуи (статуя привязана к правому краю фона и занимает ~30 % ширины),
   не на лице и весах. Ниже 1360 px справа от карточек цен места нет — остаётся строкой. */
.cv-fraza {
	margin: 14px 0 0; max-width: 640px; font-family: var(--antikva); font-style: italic; font-weight: 400;
	font-size: 19px; line-height: 1.35; color: var(--gold);
}
@media (min-width: 1360px) {
	.cv-fraza {
		position: absolute; right: 31%; bottom: 44px; z-index: 1; margin: 0; max-width: 230px;
		font-size: 22px; text-align: right; text-shadow: 0 1px 12px rgba(12, 11, 10, .9);
	}
}
/* Три опорные цены. 01.10 (владелец: «отступы неравномерные, текст пляшет»):
   один левый край и одинаковые поля 20 px; сверху вниз — значок, цена, подпись.
   Цены во всех карточках на одной линии, подпись любой длины ниже. */
.cv-tri {
	list-style: none; margin: 28px 0 0; padding: 0; max-width: 660px;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px;
}
.cv-tri-karta {
	position: relative; display: flex; flex-direction: column; align-items: flex-start;
	height: 100%; box-sizing: border-box; padding: 20px; border-radius: var(--r);
	background: rgba(15, 13, 11, .62); border: 1px solid var(--panel-line-2); color: var(--on-dark);
	transition: border-color 150ms ease;
}
.cv-tri-karta:hover { border-color: var(--gold); }
.cv-tri-karta:focus-within { outline: 2px solid var(--gold); outline-offset: 2px; }
.cv-tri-ik { display: flex; color: var(--gold); margin-bottom: 14px; }
.cv-tri-cena { font-size: 24px; line-height: 1.15; font-weight: 700; color: var(--on-dark); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cv-tri-cena.cv-besplatno-cena { color: var(--gold); }
.cv-tri-t { margin-top: 6px; font-size: 14px; line-height: 1.4; color: var(--on-dark-2); text-wrap: pretty; }
.cv-tri-strelka { display: none; }
/* Ссылка растянута на карточку; текст — не в ней, подчёркивать нечего. */
.cv-tri-ssylka { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.cv-tri-ssylka:focus-visible { outline: none; }

/* ---------------- сетка: прайс | колонка; «почему так» ---------------- */
.cv-setka {
	display: grid; grid-template-columns: minmax(0, 1fr) var(--rail); column-gap: 40px; row-gap: 32px;
	grid-template-areas: "prays bok";
	padding-block: 48px 8px; align-items: start;
}
.cv-prays { grid-area: prays; min-width: 0; }
/* Колонка — панель сайта (.panel: sticky, gap 16). Липнет только внутри .cv-setka. */
.cv-bok { grid-area: bok; }
.cv-pochemu { padding-block: 32px 0; }
/* «Почему так» — итоговый блок сайта .itog без изменений (как на остальных страницах). */
.cv-h2 { margin: 0 0 20px; font-family: var(--antikva); font-weight: 700; font-size: 32px; line-height: 1.15; color: var(--text); }

/* группы прайса: слева этап, справа работы */
.cv-gruppy { display: flex; flex-direction: column; gap: 12px; }
.cv-gruppa {
	display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
	background: var(--white); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden;
}
.cv-gruppa-h { margin: 0; font: inherit; display: flex; }
.cv-gruppa-shapka {
	/* Этап по центру высоты группы — как строки справа (владелец: «не отцентрованы, смотрится как баг»). */
	display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; align-items: center; align-content: center;
	width: 100%; height: 100%; box-sizing: border-box; padding: 20px 18px; margin: 0;
	background: var(--surface); border: 0; border-right: 1px solid var(--line-soft); text-align: left;
	font: inherit; color: inherit; cursor: default;
}
.cv-ik {
	width: 44px; height: 44px; box-sizing: border-box; border-radius: var(--r);
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--gold-bg); border: 1px solid var(--gold-line); color: var(--gold-text);
}
.cv-gruppa-t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cv-gruppa-imya { font-size: 17px; font-weight: 600; line-height: 1.25; color: var(--text); }
.cv-gruppa-pod { font-size: 13px; line-height: 1.4; color: var(--text-3); }
.cv-ot, .cv-strelka { display: none; }
.cv-gruppa--besplatno .cv-gruppa-shapka { background: var(--gain-bg); }
.cv-gruppa--besplatno .cv-ik { background: var(--white); border-color: var(--gain-line); color: var(--gain); }
.cv-gruppa--drugoe .cv-gruppa-shapka { background: var(--surface); }

/* Строки прайса — таблица: название слева, цена в колонке постоянной ширины,
   прижатой вправо; все цены и подписи «за заседание» — по одному правому краю,
   во всех группах (владелец 01.10: «таблица не выровнена, пляшет»). */
.cv-raboty { list-style: none; margin: 0; padding: 8px 24px; align-self: center; }
.cv-raboty li {
	display: grid; grid-template-columns: minmax(0, 1fr) 128px; column-gap: 24px; align-items: baseline;
	padding: 12px 0; border-top: 1px solid var(--line-soft);
}
.cv-raboty li:first-child { border-top: 0; }
.cv-rabota { min-width: 0; font-size: 15px; line-height: 1.4; color: var(--text-2); }
.cv-rabota small { display: block; margin-top: 2px; font-size: 13px; color: var(--text-3); }
.cv-cena { text-align: right; font-size: 15px; line-height: 1.4; font-weight: 700; color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.cv-gruppa--besplatno .cv-cena { color: var(--gain); }
.cv-cena--slovom { font-weight: 600; }

/* ---------------- колонка: общая панель сайта (chasti/panel.php) ---------------- */

/* Переход по карточке первого экрана: группа не уходит под липкую шапку сайта (76 px). */
.cv-gruppa { scroll-margin-top: 92px; }
.cv-faq { scroll-margin-top: 92px; }


/* ---------------- вопросы: компонент сайта .akk, здесь только поля секции ---------------- */
.cv-faq { padding-block: 48px 64px; }
.cv-faq .cv-h2 { margin: 0; } /* антиква, как «Прайс на услуги» (Р-20); отступ даёт .section-stolbik */
.akk-item[hidden] { display: none; }
.lizing .cv-faq-vse { align-self: flex-start; }

/* Общая форма заявки внизу «Цен» (chasti/zayavka.php, section#zayavka): H2 — антиква, как
   «Прайс на услуги» и «Частые вопросы» (Р-20, ТЗ 08.10 п. 1.9). Файл подключается только на
   новой «Цене», поэтому общая форма на других страницах не меняется. Размер — тема. */
#zayavka .section-vvod h2 { font-family: var(--antikva); font-weight: 700; }

/* ================= 992–1199: шапка группы уже, строки работ шире =================
   На 1024 тема делает .panel статичной строкой (lizing.css, ≤1024) — здесь колонка
   остаётся липкой колонкой рядом с прайсом, как на 1440 (критик 08.10: «справа пустой столб»). */
@media (max-width: 1199px) {
	.cv-gruppa { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); }
	.cv-gruppa-shapka { padding: 18px 16px; }
}
@media (min-width: 992px) and (max-width: 1024px) {
	.cv-bok.panel { position: sticky; flex-direction: column; flex-wrap: nowrap; }
	.cv-bok.panel > * { flex: 0 0 auto; }
}

/* ================= планшет 768–991: колонка под прайсом ================= */
@media (max-width: 991px) {
	.cv-setka { grid-template-columns: minmax(0, 1fr); grid-template-areas: "prays" "bok"; }
	.cv-bok.panel { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; }
	.cv-h1, .cv-lid { max-width: 62%; } /* текст не заходит на статую */
}

/* ================= телефон — свой макет: аккордеон ================= */
@media (max-width: 767px) {
	.cv-hero { background: #0f0d0b; }
	.cv-hero-fon { bottom: auto; height: 460px; }
	.cv-hero-fon img { object-position: 92% 35%; } /* статуя у правого края, текст её не перекрывает */
	.cv-hero::after {
		background:
			linear-gradient(180deg, rgba(15, 13, 11, 0) 50%, #0f0d0b 460px),
			linear-gradient(90deg, rgba(15, 13, 11, .94) 0%, rgba(15, 13, 11, .82) 60%, rgba(15, 13, 11, .25) 100%);
	}
	.cv-hero-vnutri { padding-block: 14px 24px; }
	.cv-nadzag { margin-top: 18px; font-size: 11px; }
	.cv-h1 { max-width: 300px; }
	/* Лид шире (56% давало колонку в 150–200 px, 16 строк на 360 — критик 08.10); статую под
	   ним гасит усиленный левый градиент. */
	.cv-lid { font-size: 16px; max-width: 76%; }
	/* Телефон: карточка строкой — значок | цена над подписью | стрелка; поля 16 px. */
	.cv-tri { grid-template-columns: minmax(0, 1fr); max-width: none; gap: 10px; margin-top: 24px; }
	.cv-tri-karta {
		display: grid; grid-template-columns: 24px minmax(0, 1fr) 10px; grid-template-areas: "ik cena str" "ik t str";
		column-gap: 14px; row-gap: 2px; align-items: center; padding: 14px 16px; min-height: 64px;
	}
	.cv-tri-ik { grid-area: ik; margin: 0; }
	.cv-tri-cena { grid-area: cena; font-size: 20px; }
	.cv-tri-t { grid-area: t; margin: 0; }
	.cv-tri-strelka { display: block; grid-area: str; width: 8px; height: 8px; border-right: 2px solid var(--on-dark-2); border-top: 2px solid var(--on-dark-2); transform: rotate(45deg); }

	/* Телефон: прайс → «Почему так» → «Разбор документов» (ТЗ §3). Сетка и полоса
	   растворяются в общей колонке .cv-niz, порядок — order. */
	.cv-niz { display: flex; flex-direction: column; gap: 20px; width: calc(100% - 2 * var(--pad-x)); margin: 28px auto 0; }
	.cv-setka, .cv-pochemu { display: contents; }
	.cv-prays { order: 1; }
	.cv-itog { order: 2; }
	.cv-bok.panel { order: 3; display: flex; position: static; }
	.cv-h2 { font-size: 24px; margin-bottom: 14px; } /* как H2 сайта на телефоне */

	.cv-gruppa { grid-template-columns: minmax(0, 1fr); }
	/* Телефон: «от N ₽» под названием — название группы не рвётся на две строки. */
	.cv-gruppa-shapka {
		grid-template-columns: 36px minmax(0, 1fr) 14px; grid-template-areas: "ik t str" "ik ot str";
		column-gap: 12px; row-gap: 4px; align-items: center;
		padding: 14px 16px; min-height: 64px; border-right: 0; background: var(--white); cursor: pointer;
	}
	.cv-gruppa-shapka .cv-ik { grid-area: ik; }
	.cv-gruppa-shapka .cv-gruppa-t { grid-area: t; }
	.cv-gruppa-shapka .cv-ot { grid-area: ot; }
	.cv-gruppa-shapka .cv-strelka { grid-area: str; }
	.cv-gruppa--drugoe .cv-gruppa-shapka { background: var(--white); }
	.cv-gruppa-pod, .cv-rabota small, .cv-tri-t { font-size: 14px; }
	.cv-gruppa--besplatno .cv-gruppa-shapka { background: var(--gain-bg); }
	.cv-ik { width: 36px; height: 36px; }
	.cv-gruppa-imya { font-size: 16px; }
	.cv-ot { display: block; font-size: 16px; font-weight: 700; color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
	.cv-ot--slovom { font-weight: 600; }
	.cv-gruppa--besplatno .cv-ot { color: var(--gain); }
	.cv-strelka { display: block; width: 8px; height: 8px; border-right: 2px solid var(--gold-text); border-bottom: 2px solid var(--gold-text); transform: rotate(45deg) translateY(-3px); transition: transform 150ms ease; }
	.cv-gruppa-shapka[aria-expanded="true"] .cv-strelka { transform: rotate(-135deg) translateY(-3px); }
	.cv-gruppa-shapka:focus-visible { box-shadow: inset 0 0 0 2px var(--ink); }
	.cv-raboty { padding: 0 16px 6px; border-top: 1px solid var(--line-soft); }
	.cv-raboty[hidden] { display: none; }
	.cv-rabota, .cv-cena { font-size: 16px; }
	/* Цена — по своей ширине, но всё так же по правому краю: на 360 названию нужно место. */
	.cv-raboty li { grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; padding: 12px 0; }

	.cv-faq { padding-block: 32px 44px; }
}
@media (max-width: 380px) {
	.cv-gruppa-shapka { column-gap: 10px; padding-inline: 14px; }
	.cv-ik { width: 36px; height: 36px; }
	.cv-ot { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.cv-strelka, .cv-tri-karta { transition: none; }
}

/* «15 000 ₽ / заседание» → цена и мелкая подпись «за заседание» под ней, по правому краю цены. */
.cv-cena small, .cv-ot small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.3; font-weight: 500; color: var(--text-3); text-align: right; }
.cv-ot small { text-align: left; }
@media (max-width: 767px) {
	.cv-bok .panel-vtoraya { display: none; } /* в мобильном макете — только «Разбор документов» (ТЗ §3) */
	.cv-bok .karta-telo .sub { font-size: 16px; }
	.lizing .cv-bok .panel-tel, .lizing .cv-bok .panel-mail { min-height: 44px; display: inline-flex; align-items: center; } /* тач-зона 44 px */
	.cv-bok .panel-kontakty { gap: 0; }
	/* На телефоне главная кнопка страницы — нижняя панель сайта «Прислать документы»;
	   вторая такая же золотая в этом же экране — дубль (критик 08.10). Здесь — вторичная. */
	.lizing .cv-bok .btn-primary { background: transparent; border-color: var(--field-line); color: var(--text); }
}