/**
 * Profilab Tests — стили движка (v1.0.2, концепция «Разбор с наставником»).
 * Всё внутри #pl-app / .plt-wrap; шрифт наследуется от темы (Source Sans 3).
 * Плоские одноклассовые селекторы в скоупе #pl-app — не воюют со стилями темы.
 */

#pl-app, .plt-wrap {
	--plt-navy: #233264; --plt-navy-deep: #09184a;
	--plt-blue: #3a5ca8; --plt-blue-2: #2f4d9b;
	--plt-green: #16805a; --plt-green-soft: #e6f4ee;
	--plt-orange: #ff6900; --plt-err: #e0736a; --plt-err-deep: #b0413a;
	--plt-line: #e7eaf1; --plt-line-2: #eef2fb;
	--plt-ink: #1d2330; --plt-ink-2: #353535; --plt-muted: #6b7280; --plt-wash: #eaf0fb;
	font-family: inherit; color: var(--plt-ink); line-height: 1.5;
}
#pl-app *, .plt-wrap * { box-sizing: border-box; }
.plt-num { font-variant-numeric: tabular-nums; }

/* страница теста во всю ширину — сайдбар темы Enix скрыт */
body.pl-test-fullwidth aside.idz-sidebar,
body.pl-test-fullwidth .large-4.column.widget_area { display: none !important; }
body.pl-test-fullwidth .large-8.column { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }

/* ---------- кнопки ---------- */
.plt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: inherit; font-weight: 700; font-size: 15px; border: none; border-radius: 11px;
	padding: 12px 22px; cursor: pointer; text-decoration: none; line-height: 1.2; transition: background .15s; }
.plt-btn:focus-visible { outline: 2px solid var(--plt-blue); outline-offset: 2px; }
.plt-btn-primary { background: var(--plt-blue-2); color: #fff; }
.plt-btn-primary:hover { background: var(--plt-navy); color: #fff; }
.plt-btn-primary:disabled { opacity: .5; cursor: default; }
.plt-btn-ghost { background: #fff; color: var(--plt-blue-2); border: 1.5px solid var(--plt-line); }
.plt-btn-ghost:hover { border-color: var(--plt-blue); }

/* ---------- сигнатура: реплика наставника ---------- */
.plt-say { position: relative; padding-left: 1.5em; display: block; }
.plt-say::before { content: "—"; position: absolute; left: 0; color: var(--plt-orange); font-weight: 700; }

/* ---------- интро ---------- */
/* тема выводит заголовок как лёгкий h3.post-title и БЕЗ H1 — прячем его,
   а плагин отдаёт собственный семантичный <h1 class="plt-title"> (SEO + вес страницы) */
body.pl-test-fullwidth .blog-container > .post-title { display: none; }
body.pl-test-fullwidth .plt-title {
	font-size: clamp(26px, 3.2vw, 32px); font-weight: 800; color: var(--plt-navy);
	line-height: 1.2; margin: 0 0 14px;
}
.plt-test-hero .plt-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.plt-chip { display: inline-block; background: var(--plt-line-2); color: var(--plt-navy);
	padding: 4px 11px; border-radius: 20px; font-weight: 600; font-size: 13px; }
/* тема Enix капит ВСЕ <p> в 730px ради читаемости — но контент теста (описание,
   текст вопроса) должен занимать всю ширину колонки; перебиваем для абзацев плагина.
   Реплика (.plt-intro-say) в <span>, её это не касалось — потому и была шире. */
body.pl-test-fullwidth .plt-desc p,
body.pl-test-fullwidth .plt-qtext { max-width: none; }

/* без max-width — интро-текст той же ширины, что карточки (единая колонка) */
.plt-desc { font-size: 16px; color: var(--plt-ink-2); margin: 0 0 18px; }
.plt-intro-say { font-size: 16.5px; font-weight: 600; color: var(--plt-ink); background: #fff;
	border: 1px solid var(--plt-line); border-radius: 14px; padding: 18px 20px; margin: 0 0 22px; }
/* акцент «до 3 тестов» в преамбуле комбинированного — оранжевый, заметнее общего полужирного */
.plt-intro-say b { color: var(--plt-orange); font-weight: 800; }
.plt-under-btn { font-size: 13px; color: var(--plt-muted); margin: 10px 2px 0; }
.plt-backlink { margin-top: 26px; }
.plt-backlink a { color: var(--plt-muted); text-decoration: none; font-weight: 600; }
.plt-backlink a:hover { color: var(--plt-navy); }

/* ---------- прохождение ---------- */
.plt-loading { padding: 34px 0; color: var(--plt-muted); font-weight: 600; display: flex; align-items: center; gap: 12px; }
.plt-spinner { width: 18px; height: 18px; flex: none; border: 3px solid var(--plt-line);
	border-top-color: var(--plt-blue); border-radius: 50%; animation: plt-spin .8s linear infinite; }
@keyframes plt-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .plt-spinner { animation: none; border-top-color: var(--plt-line); } }

.plt-error { background: #fdeeec; border: 1px solid var(--plt-err); border-radius: 14px; padding: 18px; margin: 14px 0; }
.plt-quiz-top { display: flex; align-items: center; gap: 14px; margin: 6px 0 16px; }
.plt-progress { flex: 1; height: 8px; background: var(--plt-line); border-radius: 20px; overflow: hidden; }
.plt-progress > i { display: block; height: 100%; background: var(--plt-blue); transition: width .4s cubic-bezier(.4,0,.2,1); }
.plt-qcount { font-weight: 700; font-size: 14px; color: var(--plt-navy); white-space: nowrap; }

.plt-qcard { background: #fff; border: 1px solid var(--plt-line); border-radius: 18px;
	box-shadow: 0 6px 24px rgba(9,24,74,.06); padding: 26px; margin: 0 0 20px; }
.plt-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--plt-blue-2); margin: 0 0 10px; }
.plt-qtext { font-size: 20px; font-weight: 700; line-height: 1.35; margin: 0 0 18px; }
.plt-hint { font-size: 13.5px; color: var(--plt-muted); margin: -8px 0 14px; }
/* легенда «несколько правильных ответов» — заметная плашка-подсказка (не серая) */
#pl-app .plt-hint--multi { color: var(--plt-navy); font-weight: 600; background: #eef2fb;
	border: 1px solid #d3ddf3; border-radius: 9px; padding: 8px 12px; margin: 0 0 16px; }
.plt-opts { display: flex; flex-direction: column; gap: 10px; }
.plt-opt { display: flex; gap: 12px; align-items: flex-start; padding: 13px 15px; border: 1.5px solid var(--plt-line);
	border-radius: 13px; cursor: pointer; transition: .14s; background: #fff; font-size: 15.5px; }
.plt-opt:hover { border-color: var(--plt-blue); background: var(--plt-line-2); }
.plt-opt:focus-visible { outline: 2px solid var(--plt-blue); outline-offset: 2px; }
.plt-mk { width: 24px; height: 24px; border-radius: 50%; border: 2px solid #c3cde3; flex: none;
	display: grid; place-items: center; font-weight: 700; font-size: 13px; color: var(--plt-muted); margin-top: 1px; }
.plt-opt.plt-picked { border-color: var(--plt-blue); background: var(--plt-line-2); }
.plt-opt.plt-picked .plt-mk { background: var(--plt-blue); border-color: var(--plt-blue); color: #fff; }
.plt-opt.plt-correct { border-color: var(--plt-green); background: var(--plt-green-soft); }
.plt-opt.plt-correct .plt-mk { background: var(--plt-green); border-color: var(--plt-green); color: #fff; }
.plt-opt.plt-wrong { border-color: var(--plt-err); background: #fdeeec; }
.plt-opt.plt-wrong .plt-mk { background: var(--plt-err); border-color: var(--plt-err); color: #fff; }
.plt-opt.plt-locked { pointer-events: none; }
.plt-opts.plt-waiting .plt-opt { opacity: .75; }
.plt-opts.plt-waiting .plt-opt.plt-picked { opacity: 1; }

.plt-explain { margin-top: 18px; padding: 16px 18px; background: var(--plt-line-2); border-radius: 12px; font-size: 15px; animation: plt-fade .3s; }
.plt-explain b { color: var(--plt-navy); }
.plt-lnk { display: inline-block; margin-top: 10px; font-weight: 700; color: var(--plt-blue-2); text-decoration: none; font-size: 14px; }
.plt-lnk:hover { color: var(--plt-navy); }
@keyframes plt-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .plt-explain, .plt-checking, .plt-inline-err, .plt-ok, .plt-certificate { animation: none !important; } .plt-progress > i { transition: none; } .plt-tile { transition: none; } .plt-tile:hover { transform: none; } }

.plt-qnav { display: flex; justify-content: flex-end; margin-top: 18px; }
.plt-checking { display: flex; align-items: center; gap: 10px; margin-top: 16px; color: var(--plt-muted); font-weight: 600; font-size: 14px; animation: plt-fade .2s; }
.plt-inline-err { background: #fdeeec; border: 1px solid var(--plt-err); border-radius: 12px; padding: 13px 15px; margin-top: 16px; font-size: 14px; animation: plt-fade .2s; }

/* ---------- результат: плашка-вердикт ---------- */
.plt-res-hero { background: linear-gradient(160deg, var(--plt-navy), var(--plt-navy-deep));
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 14px 40px rgba(9,24,74,.18);
	color: #fff; border-radius: 20px; padding: 26px 28px; margin: 6px 0 26px; }
.plt-res-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #9db4e6; margin: 0 0 12px; }
.plt-verdict { font-size: clamp(20px, 3.5vw, 25px); font-weight: 600; line-height: 1.4; color: #fff; margin: 0 0 20px; max-width: 56ch; }
.plt-facts { display: flex; border-top: 1px solid rgba(255,255,255,.14); padding-top: 18px; }
.plt-fact { flex: 1; padding: 0 18px; display: flex; align-items: center; gap: 12px; }
.plt-fact + .plt-fact { border-left: 1px solid rgba(255,255,255,.14); }
.plt-fact b { display: block; font-size: 19px; font-weight: 800; color: #fff; }
.plt-fact span { font-size: 12.5px; color: #9db4e6; line-height: 1.3; display: block; }
.plt-ring { --p: 0; width: 72px; height: 72px; border-radius: 50%; flex: none; display: grid; place-items: center;
	background: conic-gradient(var(--plt-green) calc(var(--p)*1%), rgba(255,255,255,.15) 0); }
.plt-ring i { width: 56px; height: 56px; border-radius: 50%; background: var(--plt-navy-deep);
	display: grid; place-items: center; font-style: normal; font-weight: 800; font-size: 16px; color: #fff; }
@media (max-width: 640px) { .plt-facts { flex-direction: column; gap: 14px; } .plt-fact + .plt-fact { border-left: none; border-top: 1px solid rgba(255,255,255,.14); padding-top: 14px; } }

/* ---------- результат: блоки ---------- */
.plt-block { background: #fff; border: 1px solid var(--plt-line); border-radius: 18px; padding: 24px; margin: 0 0 22px; }
/* #pl-app-скоуп — специфичность (1,0,1,1) перебивает заголовки темы без !important */
#pl-app .plt-block h3 { margin: 0 0 4px; font-size: 18px; font-weight: 800; color: var(--plt-navy); }
.plt-block .sub { margin: 0 0 18px; font-size: 13.5px; color: var(--plt-muted); }

/* разбор по темам: точки */
.plt-topic-row { display: flex; align-items: center; gap: 14px; padding: 12px 0; border-top: 1px solid var(--plt-line-2); flex-wrap: wrap; }
.plt-topic-row:first-of-type { border-top: none; }
.plt-topic-name { flex: 1; min-width: 180px; font-weight: 600; font-size: 15px; }
.plt-dots { display: flex; flex-wrap: wrap; gap: 4px; }
.plt-dot { width: 11px; height: 11px; border-radius: 3px; background: var(--plt-line); }
.plt-dot.ok { background: var(--plt-green); }
.plt-dot.err { background: var(--plt-err); }
.plt-topic-score { font-weight: 700; font-size: 14px; color: var(--plt-ink-2); min-width: 62px; text-align: right; }
.plt-topic-status { font-size: 13px; font-weight: 700; min-width: 118px; text-align: right; }
.st-ok { color: var(--plt-green); } .st-mid { color: var(--plt-navy); } .st-bad { color: var(--plt-err-deep); }

/* разбор по вопросам (одна тема) */
.plt-qmap { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 14px; }
.plt-qcell { width: 30px; height: 30px; border-radius: 8px; display: grid; place-items: center; font-weight: 700; font-size: 13px; color: #fff; }
.plt-qcell.ok { background: var(--plt-green); } .plt-qcell.err { background: var(--plt-err); }
.plt-qmap-note { font-size: 14px; color: var(--plt-ink-2); margin: 0 0 14px; }
.plt-miss { border-top: 1px solid var(--plt-line-2); padding: 11px 0; font-size: 14px; }
.plt-miss b { color: var(--plt-err-deep); font-weight: 700; }
.plt-miss a { font-weight: 700; color: var(--plt-blue-2); text-decoration: none; white-space: nowrap; }
.plt-miss a:hover { color: var(--plt-navy); }

/* следующий шаг: маршрут */
.plt-route { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr)); gap: 14px; }
.plt-step { border: 1px solid var(--plt-line); border-radius: 14px; padding: 16px 18px; text-decoration: none; color: inherit; display: block; transition: background .15s, border-color .15s; }
.plt-step:hover { background: var(--plt-line-2); border-color: #d5def2; }
.plt-step-badge { font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--plt-blue-2); margin: 0 0 8px; }
.plt-step-why { font-size: 13px; color: var(--plt-muted); margin: 0 0 6px; }
.plt-step-why b { color: var(--plt-ink); font-weight: 600; }
#pl-app .plt-step h4 { margin: 0 0 10px; font-size: 15.5px; font-weight: 700; color: var(--plt-navy); }
.plt-step .go { font-weight: 700; font-size: 14px; color: var(--plt-blue-2); }
.plt-invite { border: 1px solid var(--plt-line); background: linear-gradient(135deg, var(--plt-line-2), #fff); border-radius: 14px; padding: 20px; font-size: 15px; }
.plt-invite p { margin: 0 0 14px; max-width: 62ch; }

.plt-footer { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 26px; }
.plt-footer .note { font-size: 13px; color: var(--plt-muted); }

/* ---------- лид-форма (по настройке) ---------- */
.plt-lead { background: linear-gradient(135deg, var(--plt-wash), #fff); border: 1px solid #d5def2; border-radius: 18px; padding: 22px; margin-top: 18px; }
#pl-app .plt-lead h3 { margin: 0 0 4px; color: var(--plt-navy); font-size: 18px; }
.plt-lead p { margin: 0 0 14px; font-size: 14px; color: var(--plt-ink-2); }
.plt-lead form { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.plt-lead input[type="text"], .plt-lead input[type="email"] { flex: 1; min-width: 190px; font-family: inherit; font-size: 15px;
	padding: 11px 14px; border: 1.5px solid var(--plt-line); border-radius: 11px; background: #fff; }
.plt-lead input:focus { outline: none; border-color: var(--plt-blue); }
.plt-consent-note { font-size: 12.5px; color: var(--plt-muted); margin: 12px 0 0; }
.plt-consent-note a { color: var(--plt-blue-2); }
.plt-ok { background: var(--plt-green-soft); color: var(--plt-green); border-radius: 12px; padding: 14px 16px; font-weight: 600; font-size: 14.5px; animation: plt-fade .3s; }
.plt-form-err { color: #b0413a; font-size: 13.5px; margin: 8px 0 0; }

/* ---------- каталог (хаб) — базовые стили сохранены до отдельного редизайна ---------- */
.plt-section-h { display: flex; align-items: baseline; gap: 14px; margin: 54px 0 22px; }
.plt-section-h h2 { font-size: clamp(23px, 2.7vw, 29px); font-weight: 800; color: var(--plt-navy); margin: 0; letter-spacing: -.01em; line-height: 1.15; }
.plt-count { font-size: 13px; color: var(--plt-muted); background: var(--plt-line-2); padding: 3px 10px; border-radius: 20px; font-weight: 600; white-space: nowrap; }
.plt-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 860px) { .plt-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .plt-grid { grid-template-columns: 1fr; } }
.plt-tile { background: #fff; border: 1px solid var(--plt-line); border-radius: 16px; padding: 20px; display: flex; flex-direction: column; gap: 12px; transition: .18s; }
.plt-tile:hover { transform: translateY(-3px); box-shadow: 0 6px 24px rgba(9,24,74,.08); border-color: #d5def2; }
.plt-tile-ic { width: 44px; height: 44px; border-radius: 12px; background: var(--plt-wash); display: grid; place-items: center; font-size: 22px; }
.plt-tile h3 { margin: 0; font-size: 16.5px; font-weight: 700; line-height: 1.3; }
.plt-tile h3 a { color: var(--plt-ink); text-decoration: none; }
.plt-tile h3 a:hover { color: var(--plt-blue-2); }
.plt-tile p { margin: 0; font-size: 13.5px; color: var(--plt-muted); flex: 1; }
.plt-meta { display: flex; gap: 8px; flex-wrap: wrap; font-size: 12px; }
.plt-chip-q { background: #fff4e9; color: #c2570a; }
/* ---------- v1.0.20: светлая воздушная шапка хаба ---------- */
.plt-hub-head { padding: 6px 0 0; margin: 0 0 8px; }
.plt-hub-eyebrow { font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: 12.5px;
	color: var(--plt-blue-2); margin: 0 0 16px; display: inline-flex; align-items: center; gap: 10px; }
.plt-hub-eyebrow::before { content: ""; width: 24px; height: 2px; background: var(--plt-orange); display: inline-block; border-radius: 2px; }
.plt-hub-title { font-size: clamp(30px, 4.6vw, 46px); font-weight: 800; line-height: 1.06; letter-spacing: -.02em;
	color: var(--plt-navy); margin: 0 0 16px; max-width: none; hyphens: none; -webkit-hyphens: none; overflow-wrap: normal; word-break: normal; }
body.pl-test-fullwidth .plt-hub-lead, .plt-hub-lead { margin: 0 0 28px; max-width: none; font-size: 18px; line-height: 1.55; color: var(--plt-ink-2); }
/* v1.0.27: статистика — аккуратная панель-карточка с разделителями */
.plt-hub-stats { display: flex; background: #fff; border: 1px solid #d3ddf3; border-radius: 16px;
	box-shadow: 0 8px 28px rgba(9,24,74,.07); padding: 22px 8px; margin: 14px 0 8px; max-width: 600px; }
.plt-hub-stats > div { flex: 1; text-align: center; padding: 4px 18px; position: relative; }
.plt-hub-stats > div + div::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
	height: 46px; border-left: 1px solid var(--plt-line); }
.plt-hub-stats b { display: block; font-size: clamp(26px, 4.4vw, 38px); font-weight: 800; color: var(--plt-navy);
	line-height: 1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.plt-hub-stats span { display: block; font-size: 12.5px; color: var(--plt-muted); margin-top: 10px; }
@media (max-width: 560px) { .plt-hub-stats { padding: 18px 4px; } .plt-hub-stats > div { padding: 4px 8px; } }
.plt-features { list-style: none; padding: 0; margin: 0 0 18px; display: flex; gap: 16px; flex-wrap: wrap; }
.plt-features li { font-size: 13.5px; color: var(--plt-ink-2); background: var(--plt-line-2); border-radius: 20px; padding: 5px 12px; }

/* ---------- формулы-картинки в теле вопроса и вариантах (v1.0.9) ---------- */
.plt-qimg { margin: 2px 0 16px; }
.plt-qimg img { max-width: 100%; height: auto; display: block; background: #fff;
	border: 1px solid var(--plt-line); border-radius: 10px; padding: 10px 14px; }
/* вариант-формула: картинка вместо текста, у неё уже есть своя подпись (а/б/в/г) */
.plt-opt.plt-opt-img { padding: 12px 16px; align-items: center; }
.plt-opt-img img { max-width: 100%; height: auto; display: block; }

/* ---------- v1.0.15: воздух, выделение плашки, компактные формулы, кнопки ---------- */
#pl-app, .plt-wrap { line-height: 1.62; }
.plt-desc { margin-bottom: 22px; }
.plt-qcard { padding: 28px 30px; }
.plt-qtext { margin: 0 0 22px; line-height: 1.45; }
.plt-opts { gap: 14px; }
.plt-opt { padding: 15px 18px; }
.plt-explain { padding: 18px 20px; margin-top: 22px; }
/* плашка-напоминание — заметный фон, БЕЗ полосы слева */
.plt-intro-say { background: #fff1e0; border: 1px solid #ffc98f; padding: 18px 22px; }
/* формулы-варианты: не апскейлить, держать компактными */
.plt-opt-img img { max-height: 60px; width: auto; }
/* картинка-стем в теле вопроса (диаграммы/рисунки) — крупнее, чтобы читалось */
.plt-qimg img { max-height: 340px; max-width: 100%; width: auto; }
/* кнопка-ссылка: белый текст поверх стилей ссылок темы */
a.plt-btn-primary, a.plt-btn-primary:link, a.plt-btn-primary:visited, a.plt-btn-primary:hover { color: #fff; }
/* «Все тесты» и подвал результата — не липнуть к кнопке */
.plt-backlink { margin-top: 34px; }
.plt-footer { margin-top: 34px; gap: 20px; row-gap: 12px; }

/* ---------- v1.0.16: согласованные цвета блоков и кнопок (эталон proto3, утв. владельцем) ---------- */
#pl-app .plt-block { background: #eef2fb; border: 1px solid #d3ddf3; }
#pl-app .plt-step, #pl-app .plt-invite { background: #fff; border: 1px solid #c4d0ee; }
#pl-app .plt-step:hover { background: var(--plt-line-2); }
/* «Следующий шаг» — бледно-зелёная плашка (как хабы МОН/МЛС), выделяем среди синих блоков результата */
#pl-app .plt-block--next { background: #eef7f1; border-color: #bfe6d0; }
#pl-app .plt-block--next .plt-step, #pl-app .plt-block--next .plt-invite { border-color: #bfe6d0; }
#pl-app .plt-block--next .plt-step:hover { background: #e6f3ec; }
#pl-app .plt-block--next .plt-step-date { background: #e6f3ec; border-color: #bfe6d0; }
#pl-app .plt-footer .plt-btn-ghost { background: var(--plt-blue-2); color: #fff; border-color: var(--plt-blue-2); }
#pl-app .plt-footer .plt-btn-ghost:hover { background: var(--plt-navy); border-color: var(--plt-navy); }
/* backlink - это <p>: тема (.idz-article p) обнуляет его margin-top, нужна специфичность выше */
.plt-wrap .plt-backlink { margin-top: 40px; padding-top: 22px; border-top: 1px solid var(--plt-line); }
.plt-footer { margin-top: 32px; }

/* ---------- v1.0.33: формулы LaTeX (KaTeX) в вариантах и теле вопроса ---------- */
/* размер 1.7em утверждён владельцем на локальном пилоте «до/после» */
.plt-opt.plt-opt-tex { align-items: center; }
.plt-opt-tex .plt-tex .katex { font-size: 1.7em; }
.plt-qmath { margin: 2px 0 18px; }
.plt-qmath .katex { font-size: 1.55em; }

/* ---------- v1.0.18: выравнивание карточек каталога ----------
   subgrid: 5 зон плитки (иконка/название/описание/плашка/кнопка) выравниваются
   по самой высокой карточке ряда. Без поддержки subgrid остаётся flex-колонка. */
@supports (grid-template-rows: subgrid) {
	.plt-tile { display: grid; grid-template-rows: subgrid; grid-row: span 5; row-gap: 12px; align-content: start; }
}

/* ---------- v1.0.18: «Следующий шаг» с датой семинара ---------- */
.plt-step-row { display: flex; gap: 16px; align-items: flex-start; }
.plt-step-date { flex: none; width: 62px; background: var(--plt-line-2); border: 1px solid #d3ddf3; border-radius: 12px;
	text-align: center; padding: 9px 4px 8px; color: var(--plt-navy); }
.plt-step-date b { display: block; font-size: 19px; font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }
.plt-step-date span { display: block; font-size: 12.5px; font-weight: 700; margin-top: 1px; }
.plt-step-date--tbd { display: flex; align-items: center; justify-content: center; align-self: stretch;
	min-height: 52px; font-size: 11.5px; font-weight: 700; line-height: 1.3; color: #4d5f95; padding: 8px 5px; text-align: center; }
.plt-step-meta { display: block; font-size: 13.5px; color: var(--plt-muted); margin: 2px 0 10px; }
.plt-step-body { min-width: 0; }
#pl-app .plt-step-body h4 { margin: 0 0 4px; }
/* строки карточек шагов на одной высоте между собой; кнопка-ссылка прижата к низу */
#pl-app .plt-step { display: flex; flex-direction: column; }
.plt-step .go { margin-top: auto; padding-top: 12px; }
.plt-route--multi .plt-step-why { min-height: 44px; }
/* селектор по .plt-step (не .plt-step-body): карточка без даты рендерит голый h4 - ряд не должен разъезжаться */
.plt-route--multi .plt-step h4 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
	overflow: hidden; line-height: 1.35; min-height: calc(3 * 1.35em); }

/* ---------- v1.0.19: комбинированный тест ---------- */
/* карточка-конструктор под заголовком-разделом «Комбинированный тест» */
.plt-combined { display: flex; gap: 18px; align-items: flex-start; text-decoration: none;
	background: linear-gradient(135deg, var(--plt-line-2), #fff); border: 1px solid #c4d0ee;
	border-radius: 18px; padding: 22px 24px; margin: 0 0 8px; transition: background .15s, border-color .15s; }
.plt-combined:hover { border-color: var(--plt-blue); background: var(--plt-line-2); }
.plt-combined-ic { flex: none; width: 48px; height: 48px; border-radius: 13px; background: #fff;
	border: 1px solid #d3ddf3; display: grid; place-items: center; font-size: 24px; }
.plt-combined-b p { margin: 0 0 10px; font-size: 14.5px; color: var(--plt-ink-2); max-width: 70ch; }
/* v1.0.28: CTA как основная кнопка тестов («Проверить себя»), а не текст-ссылка */
.plt-combined-go { display: inline-flex; align-items: center; gap: 8px; background: var(--plt-blue-2);
	color: #fff; font-weight: 700; font-size: 15px; border-radius: 11px; padding: 12px 22px;
	margin-top: 4px; transition: background .15s; }
.plt-combined:hover .plt-combined-go { background: var(--plt-navy); }

/* пикер тестов на странице комбинированного теста */
.plt-pick { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 14px 24px; margin: 0 0 22px; }
.plt-pick-group { break-inside: avoid; }
.plt-pick-gh { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	color: var(--plt-blue-2); margin: 0 0 8px; padding-bottom: 6px; border-bottom: 1px solid var(--plt-line); }
.plt-pick-opt { display: flex; gap: 10px; align-items: flex-start; padding: 8px 10px; border-radius: 10px;
	cursor: pointer; font-size: 14.5px; line-height: 1.35; transition: background .12s; }
.plt-pick-opt:hover { background: var(--plt-line-2); }
.plt-pick-cb { margin: 3px 0 0; width: 17px; height: 17px; flex: none; accent-color: var(--plt-blue-2); cursor: pointer; }
.plt-pick-bar { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.plt-pick-note { font-size: 13.5px; color: var(--plt-muted); }

/* ---------- v1.0.41: компактный вид карточки вопроса (утв. владельцем на превью «до/после») ----------
   меньше отступы/межстрочье → вопрос с кнопкой «Ответить» чаще влезает на экран без прокрутки */
.plt-quiz-top { margin: 4px 0 10px; }
.plt-qcard { padding: 18px 20px; }
.plt-qtext { font-size: 17px; line-height: 1.3; margin: 0 0 12px; }
#pl-app .plt-hint--multi { font-size: 12.5px; padding: 6px 11px; margin: 0 0 12px; }
.plt-opts { gap: 8px; }
.plt-opt { padding: 10px 14px; font-size: 15px; line-height: 1.38; gap: 10px; }
.plt-mk { width: 22px; height: 22px; font-size: 12px; margin-top: 0; }
.plt-qnav { margin-top: 14px; }

/* ---------- v1.0.43: плашка «Предложи свой тест» (внизу каталога, вариант «тёплый» — утв. владельцем на превью) ---------- */
.plt-suggest { border-radius: 18px; padding: 26px 26px 22px; margin: 64px 0 6px;
	background: linear-gradient(135deg, #fff4ea, #fff); border: 1px solid #ffd6b8; }
.plt-suggest-head { display: flex; align-items: center; gap: 13px; margin: 0 0 6px; }
.plt-suggest-ic { flex: none; width: 46px; height: 46px; border-radius: 13px; display: grid; place-items: center;
	font-size: 24px; background: #fff; box-shadow: 0 6px 18px rgba(35,50,100,.10); color: var(--plt-orange); }
#pl-app .plt-suggest h3, .plt-suggest h3 { margin: 0; color: var(--plt-navy); font-size: clamp(20px, 2.4vw, 25px);
	font-weight: 800; letter-spacing: -.01em; line-height: 1.15; }
.plt-suggest > p { margin: 0 0 16px; font-size: 15px; color: var(--plt-ink-2); max-width: 64ch; line-height: 1.55; }
.plt-suggest form { display: flex; flex-direction: column; gap: 12px; }
.plt-suggest textarea { width: 100%; min-height: 82px; resize: vertical; font-family: inherit; font-size: 15px;
	padding: 12px 14px; border: 1.5px solid var(--plt-line); border-radius: 12px; background: #fff; line-height: 1.5; color: var(--plt-ink); }
.plt-suggest-row { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.plt-suggest input[type="email"] { flex: 1; min-width: 230px; font-family: inherit; font-size: 15px;
	padding: 12px 14px; border: 1.5px solid var(--plt-line); border-radius: 12px; background: #fff; color: var(--plt-ink); }
.plt-suggest textarea:focus, .plt-suggest input:focus { outline: none; border-color: var(--plt-blue); }
.plt-suggest .plt-btn-primary { white-space: nowrap; }
.plt-suggest-note { font-size: 12.5px; color: var(--plt-muted); margin: 3px 0 0; }
.plt-suggest-note a { color: var(--plt-blue-2); }
.plt-suggest .plt-form-err { color: var(--plt-err-deep); font-size: 13.5px; margin: 4px 0 0; }
.plt-suggest-ok { background: var(--plt-green-soft); color: var(--plt-green); border-radius: 14px;
	padding: 18px 20px; font-weight: 600; font-size: 15px; }
/* honeypot — вне потока, скрыт от людей и скринридеров, боту виден */
.plt-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- v1.0.45: UX-проход по странице теста (утв. владельцем на превью «до/после») ---------- */
/* П1 — после старта теста большое интро сворачивается: остаётся тонкая шапка с названием,
   чтобы вопрос был первым на экране (особенно на мобиле). Класс .plt-run вешает tests.js. */
.plt-wrap.plt-run .plt-desc,
.plt-wrap.plt-run .plt-intro-say { display: none; }
.plt-wrap.plt-run .plt-test-hero { margin: 0 0 16px; padding: 0 0 12px; border-bottom: 1px solid var(--plt-line); }
body.pl-test-fullwidth .plt-wrap.plt-run .plt-title { font-size: clamp(17px, 2.2vw, 21px); line-height: 1.25; margin: 0 0 8px; }
.plt-wrap.plt-run .plt-test-hero .plt-meta { margin: 0; }
/* П5 — заметнее прогресс: счётчик над полосой, полоса чуть выше и во всю ширину */
.plt-quiz-top { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin: 4px 0 14px; }
.plt-progline { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.plt-quiz-top .plt-progress { flex: none; height: 9px; }
.plt-quiz-top .plt-qcount { font-size: 15px; }
/* П7 — goal-gradient: подсказка на последнем вопросе (удерживает от бросания на середине) */
.plt-goal { color: var(--plt-green); font-weight: 700; font-size: 13px; white-space: nowrap; }
