/**
 * Квиз калькулятора (Р-33, inc/kalk-kviz.php, assets/kalk-kviz.js).
 *
 * Из компонентов сайта: ответы — кнопки с видом `.kl-variant` (как вопрос
 * «Что с техникой?»), выбранный — золотая рамка, как `.kl-variant:has(:checked)`;
 * кнопки — `.btn`; токены — lizing.css. Карточка — кремовая `--surface`, как
 * пояснения калькулятора (`.kl-poyasnenie`).
 * Телефон (≤ 768, канон темы): варианты стопкой во всю ширину (правило
 * kalk.css для `.kl-varianty`), кнопки — во всю ширину, сводка — в столбик.
 */

.kl-kviz {
	margin: 12px var(--karta-pad-x) 0; padding: 20px var(--karta-pad-x);
	background: var(--surface); border: 1px solid var(--line); border-radius: var(--r);
	display: flex; flex-direction: column; gap: 16px; min-width: 0;
	scroll-margin-top: calc(var(--sticky) + 12px);
}
.kl-kviz[hidden] { display: none; }

/* Пока квиз на экране, к форме ведёт он: «Проверить расчёт» под итогом
   прячется, чтобы главная кнопка в зоне итога была одна (Р-37; аудит 05 §4.1).
   Расчёт без ответов — ссылкой «Перейти к заявке без ответов» в квизе. */
.kl-kalk.kl-kviz-est .kalk-k-forme { display: none; }

.kl-kviz-predprosmotr {
	margin: 0; padding: 10px 14px; background: var(--gold-bg); border: 1px solid var(--gold-line);
	border-radius: var(--r); font-size: 14px; line-height: 1.4; color: var(--text);
}

.kl-kviz-shapka { display: flex; flex-direction: column; gap: 6px; }
.kl-kviz-zag { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--text); }
.kl-kviz-lid { margin: 0; font-size: 14px; line-height: 1.45; color: var(--text-2); }

.kl-kviz-telo { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.kl-kviz-verh { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 24px; }
.kl-kviz-nad { margin: 0; font-size: 12px; font-weight: 600; color: var(--text-3); }

.kl-kviz-nazad, .kl-kviz-propustit {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0; margin: -10px 0;
	background: none; border: 0; font: inherit; font-size: 14px; cursor: pointer;
}
.kl-kviz-nazad { gap: 6px; color: var(--gold-text); font-weight: 600; }
.kl-kviz-nazad:hover { color: var(--gold-text-hover); }
.kl-kviz-propustit { align-self: flex-start; margin: 0; color: var(--text-3); text-decoration: underline; text-underline-offset: 3px; }
.kl-kviz-propustit:hover { color: var(--text-2); }
.kl-kviz-nazad:focus-visible, .kl-kviz-propustit:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }

.kl-kviz-vopros { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--text); }
.kl-kviz-vopros:focus { outline: none; }

/* Вариант-кнопка: вид `.kl-variant` (kalk.css), только без кружка переключателя. */
.kl-kviz-otvet { font: inherit; font-size: 15px; text-align: left; }
.kl-kviz-otvet:hover { border-color: var(--gold); }
.kl-kviz-otvet:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.kl-kviz-otvet[aria-pressed="true"] { border-color: var(--gold); background: var(--gold-bg); }

/* Сводка ответов — без вывода по делу: только что человек выбрал. */
.kl-kviz-svodka {
	margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px 20px;
	font-size: 14px; line-height: 1.45;
}
.kl-kviz-svodka dt { color: var(--text-3); }
.kl-kviz-svodka dd { margin: 0; color: var(--text); font-weight: 600; }
.kl-kviz-tekst, .kl-kviz-peredano { margin: 0; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.kl-kviz-peredano::before { content: '✓ '; color: var(--gold-text); font-weight: 700; }

.kl-kviz-knopki { display: flex; flex-wrap: wrap; gap: 10px; }

@media (max-width: 768px) {
	.kl-kviz { padding: 16px var(--karta-pad-x); gap: 14px; }
	.kl-kviz-zag { font-size: 18px; }
	.kl-kviz-vopros { font-size: 17px; }
	.kl-kviz-otvet { font-size: 16px; }
	.kl-kviz-svodka { grid-template-columns: minmax(0, 1fr); gap: 2px; }
	.kl-kviz-svodka dd + dt { margin-top: 8px; }
	.kl-kviz-knopki { display: grid; grid-template-columns: minmax(0, 1fr); }
	.kl-kviz-knopki .btn { width: 100%; white-space: normal; line-height: 1.2; }
}

@media print {
	.kl-kviz { display: none !important; }
}
