/* Лендинг и результат SAT — в стиле посадочной профориентации (/career-guidance). */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

.sat-lp { font-family: 'Inter', sans-serif; color: #1a1a1a; line-height: 1.5; }
.sat-lp * { box-sizing: border-box; }

/* Кнопки и ссылки на SAT-страницах (лендинг, история, результат): убираем странную
   обводку и подчёркивание в состояниях focus/active — как в профориентации (.cg-wrap). */
.sat-lp-content a, .sat-lp-content button, .sat-lp-content [role="button"],
.sat-lp-content input[type="button"], .sat-lp-content input[type="submit"], .sat-lp-content input[type="reset"] {
    -webkit-tap-highlight-color: transparent;
}
.sat-lp-content a:focus, .sat-lp-content a:focus-visible, .sat-lp-content a:active,
.sat-lp-content button:focus, .sat-lp-content button:focus-visible, .sat-lp-content button:active,
.sat-lp-content [role="button"]:focus, .sat-lp-content [role="button"]:focus-visible, .sat-lp-content [role="button"]:active,
.sat-lp-content input[type="button"]:focus, .sat-lp-content input[type="button"]:focus-visible, .sat-lp-content input[type="button"]:active,
.sat-lp-content input[type="submit"]:focus, .sat-lp-content input[type="submit"]:focus-visible, .sat-lp-content input[type="submit"]:active,
.sat-lp-content input[type="reset"]:focus, .sat-lp-content input[type="reset"]:focus-visible, .sat-lp-content input[type="reset"]:active,
.breadcrumb a:focus, .breadcrumb a:focus-visible, .breadcrumb a:active {
    outline: none !important; box-shadow: none !important; text-decoration: none !important;
}
.breadcrumb a { -webkit-tap-highlight-color: transparent; }

/* ---------- Sections ---------- */
.sat-lp-section { margin-top: 80px; }
.sat-lp-section-title { font-weight: 700; font-size: 28px; line-height: 34px; color: #282828; margin: 0 0 28px 0; }

/* ---------- Hero ---------- */
.sat-lp-hero { display: flex; align-items: center; gap: 40px; margin-top: 12px; }
.sat-lp-hero-left { flex: 1; min-width: 0; }
.sat-lp-hero-title { font-weight: 800; font-size: 40px; line-height: 128%; color: #282828; margin: 0 0 18px 0; }
.sat-lp-hero-desc { font-weight: 300; font-size: 18px; line-height: 150%; color: #282828; opacity: .72; margin: 0 0 32px 0; max-width: 540px; }
/* Кнопки героя: в ряд, одинаковой ширины; переносятся в столбик, когда не влезают (как на /career-guidance) */
.sat-lp-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
/* min-width: max-content — кнопка не сжимается уже своего текста, пока хватает места;
   если две кнопки не влезают в ряд, они переносятся в столбик, а не обрезаются */
.sat-lp-hero-actions .sat-lp-btn { flex: 1 1 240px; min-width: max-content; max-width: 320px; text-align: center; }
.sat-lp-hero-right { flex-shrink: 0; width: 500px; }

/* Картинка героя: персонаж держит фиолетовую карточку */
.sat-lp-hero-art { position: relative; width: 100%; max-width: 500px; margin: 0 auto; }
.sat-lp-hero-img { display: block; width: 100%; height: auto; }

/* Текст балла поверх карточки на картинке (координаты — доли размеров hero.webp) */
/* Размеры в vw с ограничением сверху — текст ужимается вместе с картинкой на узких экранах. */
.sat-lp-scorecard { position: absolute; left: 34.9%; right: .4%; top: 21.9%; bottom: 1%; padding: 7.5% 6%; color: #fff; display: flex; flex-direction: column; justify-content: center; }
.sat-lp-scorecard-label { font-size: clamp(10px, 2.6vw, 13px); opacity: .85; }
.sat-lp-scorecard-range { font-size: clamp(28px, 9.6vw, 48px); font-weight: 800; line-height: 1.1; margin: 2px 0 clamp(8px, 2.8vw, 14px); }
.sat-lp-scorecard-secs { display: flex; flex-direction: column; gap: clamp(5px, 1.6vw, 8px); }
.sat-lp-scorecard-secs > div { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: rgba(255,255,255,.16); border-radius: clamp(6px, 2vw, 10px); padding: clamp(6px, 2vw, 10px) clamp(8px, 2.8vw, 14px); font-size: clamp(10px, 2.6vw, 13px); }
.sat-lp-scorecard-secs b { font-size: clamp(11px, 2.8vw, 14px); white-space: nowrap; }
.sat-lp-scorecard-foot { margin-top: clamp(8px, 2.8vw, 14px); font-size: clamp(9px, 2.4vw, 12px); opacity: .85; text-align: center; }

/* Основной режим: размеры считаются от ширины самой картинки (cqw), а не от ширины экрана,
   поэтому текст уменьшается строго пропорционально карточке. vw-клампы выше — запасной
   вариант для браузеров без container queries. */
@supports (container-type: inline-size) {
    .sat-lp-hero-art { container-type: inline-size; }
    .sat-lp-scorecard-label { font-size: 2.6cqw; }
    .sat-lp-scorecard-range { font-size: 9.6cqw; margin: .4cqw 0 2.8cqw; }
    .sat-lp-scorecard-secs { gap: 1.6cqw; }
    .sat-lp-scorecard-secs > div { border-radius: 2cqw; padding: 2cqw 2.8cqw; font-size: 2.6cqw; }
    .sat-lp-scorecard-secs b { font-size: 2.8cqw; }
    .sat-lp-scorecard-foot { margin-top: 2.8cqw; font-size: 2.4cqw; }
}

/* ---------- Buttons (в точности как .cg-btn на посадочной профориентации) ---------- */
/* Текст кнопки не переносится: если не влезает — обрезается многоточием */
.sat-lp-btn { display: inline-block; padding: 14px 28px; font-size: 20px; border-radius: 4px; text-decoration: none; cursor: pointer; font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background-color .2s, color .2s, border-color .2s; }
.sat-lp-btn:hover { text-decoration: none; }
.sat-lp-btn-accent { background: #fc6b6b; color: #fff; }
.sat-lp-btn-accent:hover, .sat-lp-btn-accent:focus { background: #e95a5a; color: #fff; }
.sat-lp-btn-outline { background: #fff; color: #555; border: 1px solid #ccc; }
.sat-lp-btn-outline:hover, .sat-lp-btn-outline:focus { color: #333; border-color: #999; }

/* ---------- Grids ---------- */
.sat-lp-grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sat-lp-diag-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* ---------- Cards ---------- */
.sat-lp-card, .sat-lp-diag-card { display: flex; flex-direction: column; }
/* «Структура теста» и «Инструменты»: иконка и текст по центру */
.sat-lp-card,
.sat-lp-diag-card { align-items: center; text-align: center; }
.sat-lp-card-icon { display: block; height: 76px; width: auto; margin: 0 auto 16px; }
/* Иконки инструментов крупнее, подпись ближе к картинке */
.sat-lp-diag-card .sat-lp-card-icon { width: 110px; height: 100px; object-fit: contain; margin-bottom: 8px; }
.sat-lp-card-title { font-weight: 600; font-size: 16px; color: #282828; margin-bottom: 6px; }
.sat-lp-card-desc { font-weight: 400; font-size: 14px; line-height: 140%; color: rgba(40,40,40,.75); }

/* ---------- Steps («Как проходит тестирование» — в точности как .cg-step-* ) ---------- */
.sat-lp-step-card { position: relative; background: #F0EFFE; border: 1px solid #6D60F6; border-radius: 12px; min-height: 91px; padding: 36px 18px 18px 18px; margin-top: 27px; }
.sat-lp-step-num { position: absolute; top: -27px; left: 18px; width: 47px; height: 47px; display: flex; align-items: center; justify-content: center; background: #fff; border: 1px solid #6D60F6; border-radius: 8px; font-family: 'Inter', sans-serif; font-weight: 700; font-size: 32px; color: #6D60F6; line-height: 1; }
.sat-lp-step-text { font-weight: 500; font-size: 16px; line-height: 22px; display: flex; align-items: center; color: #282828; }

/* ---------- Forms ---------- */
.sat-lp-forms { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 20px; }
.sat-lp-form-card { border: 1px solid #ececf4; border-radius: 16px; overflow: hidden; background: #fff; box-shadow: 0 2px 10px rgba(0,0,0,.04); display: flex; flex-direction: column; }
.sat-lp-form-head { background: #F0EFFE; padding: 20px; }
.sat-lp-form-head h3 { margin: 0 0 6px; font-weight: 700; font-size: 20px; color: #282828; }
.sat-lp-form-head p { margin: 0; font-size: 14px; color: rgba(40,40,40,.7); }
.sat-lp-form-body { padding: 20px; display: flex; flex-direction: column; gap: 16px; margin-top: auto; }
.sat-lp-lang { font-size: 13px; color: #666; display: flex; flex-direction: column; gap: 6px; font-weight: 500; }
.sat-lp-lang-select { padding: 8px 10px; border: 1px solid #d8d8e2; border-radius: 8px; font-size: 14px; }
.sat-lp-form-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.sat-lp-form-actions .sat-lp-btn { flex: 1; text-align: center; font-size: 16px; padding: 12px 16px; }

.sat-lp-empty { background: #fff7e6; border: 1px solid #ffe1a8; border-radius: 12px; padding: 18px 20px; color: #8a6d00; }

/* ---------- History ---------- */
.sat-lp-history { overflow-x: auto; }
.sat-lp-table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; }
.sat-lp-table th, .sat-lp-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid #f0f0f4; font-size: 14px; }
.sat-lp-table thead th { background: #faf9ff; font-weight: 600; color: #555; }
.sat-lp-table a { color: #6b5cff; text-decoration: none; }

/* ---------- CTA (как .cg-cta на посадочной профориентации) ---------- */
.sat-lp-cta { margin-top: 100px; display: flex; flex-direction: row; justify-content: space-between; align-items: stretch; padding: 24px 48px 24px 24px; gap: 48px; background: #F0EFFE; border-radius: 20px; }
.sat-lp-cta-left { flex: 1; min-width: 0; display: flex; flex-direction: column; padding: 24px; }
.sat-lp-cta-title { margin: 0 0 14px 0; font-weight: 800; font-size: 32px; line-height: 39px; color: #282828; }
.sat-lp-cta-desc { font-weight: 400; font-size: 18px; line-height: 28px; color: rgba(40,40,40,.85); margin: 0; }
.sat-lp-cta-buttons { margin-top: auto; padding-top: 28px; display: flex; flex-wrap: wrap; gap: 12px; }
/* inline-block (не flex) — иначе не работает многоточие при обрезке текста */
.sat-lp-cta-buttons .sat-lp-btn { display: inline-block; flex: 1 1 240px; min-width: max-content; max-width: 320px; padding: 16px 24px; font-size: 16px; line-height: 1.2; text-align: center; }
.sat-lp-cta-buttons .sat-lp-btn-accent { background: #6D60F6; border: 1px solid #6D60F6; }
.sat-lp-cta-buttons .sat-lp-btn-accent:hover, .sat-lp-cta-buttons .sat-lp-btn-accent:focus { background: #5C50DB; border-color: #5C50DB; color: #fff; }
.sat-lp-cta-right { flex-shrink: 0; width: 300px; display: flex; align-items: center; }
.sat-lp-cta-img { width: 100%; height: auto; display: block; }

/* ---------- Responsive (логика повторяет /career-guidance) ---------- */
@media (max-width: 1023px) {
    .sat-lp-grid-4,
    .sat-lp-diag-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Планшет: hero и CTA встают в столбик — текст → картинка → кнопки */
@media (max-width: 991px) {
    .sat-lp-hero { flex-direction: column; align-items: stretch; gap: 20px; }
    /* Разворачиваем левую колонку, чтобы вставить картинку между текстом и кнопками */
    .sat-lp-hero-left { display: contents; }
    .sat-lp-hero-title { order: 1; margin: 0; }
    .sat-lp-hero-desc { order: 2; margin: 0; max-width: 100%; }
    .sat-lp-hero-right { order: 3; width: 100%; margin: 16px auto; }
    .sat-lp-hero-actions { order: 4; }

    .sat-lp-cta { flex-direction: column; align-items: stretch; text-align: center; gap: 16px; padding: 32px 24px; }
    .sat-lp-cta-left { display: contents; }
    .sat-lp-cta-title { order: 1; margin: 0; }
    .sat-lp-cta-desc { order: 2; max-width: 100%; }
    .sat-lp-cta-right { order: 3; width: 100%; margin-bottom: 28px; }
    .sat-lp-cta-img { max-width: 260px; margin: 0 auto; }
    .sat-lp-cta-buttons { order: 4; padding-top: 0; justify-content: center; }
}

@media (max-width: 767px) {
    .sat-lp-section { margin-top: 56px; }
    .sat-lp-section-title { font-size: 20px; line-height: 26px; margin-bottom: 20px; }

    /* Hero: меньше шрифты, кнопки во всю ширину */
    .sat-lp-hero-title { font-size: 28px; }
    .sat-lp-hero-desc { font-size: 14px; }
    /* Кнопки во всю ширину и с меньшим шрифтом — чтобы надпись влезала целиком */
    .sat-lp-btn { font-size: 16px; }
    /* На мобильном кнопка во всю ширину экрана; min-width снимаем, чтобы длинная надпись обрезалась */
    .sat-lp-hero-actions .sat-lp-btn { flex-basis: 100%; min-width: 0; max-width: none; }

    /* Две колонки: «Структура теста», «Инструменты» и шаги тестирования */
    .sat-lp-grid-4,
    .sat-lp-diag-grid,
    .sat-lp-grid-4.sat-lp-steps-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }

    /* Шаги: компактнее под 2 колонки */
    .sat-lp-step-card { padding: 30px 12px 14px 12px; }
    .sat-lp-step-num { width: 40px; height: 40px; top: -22px; left: 12px; font-size: 24px; }
    .sat-lp-step-text { font-size: 11px; line-height: 16px; }

    .sat-lp-card-title { font-size: 14px; }
    .sat-lp-card-desc { font-size: 12px; }

    /* CTA: меньше шрифты, кнопки во всю ширину */
    .sat-lp-cta-title { font-size: 24px; line-height: 30px; }
    .sat-lp-cta-desc { font-size: 16px; line-height: 24px; }
    .sat-lp-cta-buttons .sat-lp-btn { flex-basis: 100%; min-width: 0; max-width: none; }
}

/* ===================== Страница старта (как cg-test-index) ===================== */
.sat-ti { font-family: 'Inter', sans-serif; color: #1a1a1a; line-height: 1.5; max-width: 860px; margin-top: 12px; padding-bottom: 60px; }
.sat-ti * { box-sizing: border-box; }
.sat-ti__title { font-weight: 800; font-size: 40px; line-height: 48px; color: #282828; margin: 0 0 24px 0; }
.sat-ti__desc { font-weight: 400; font-size: 18px; line-height: 160%; color: #282828; margin: 0 0 40px 0; max-width: 760px; }

.sat-ti__section { margin-bottom: 36px; }
.sat-ti__label { display: flex; align-items: center; gap: 8px; font-weight: 300; font-size: 14px; line-height: 21px; text-transform: uppercase; color: #2B2A2A; margin-bottom: 16px; }
.sat-ti__label::before { content: '—'; color: #2b2a2a; }

.sat-ti__options { display: flex; gap: 24px; flex-wrap: wrap; }
.sat-ti__radio { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.sat-ti__card { display: flex; align-items: center; gap: 10px; padding: 4px 0; cursor: pointer; user-select: none; background: transparent; transition: opacity .2s; }
.sat-ti__card:hover { opacity: .8; }
.sat-ti__circle { width: 18px; height: 18px; border: 1.5px solid #767676; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all .2s; }
.sat-ti__circle::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: transparent; transition: background .2s; }
.sat-ti__text { font-size: 15px; font-weight: 500; color: #333; white-space: nowrap; }
.sat-ti__radio:checked + .sat-ti__card .sat-ti__circle { border-color: #222; }
.sat-ti__radio:checked + .sat-ti__card .sat-ti__circle::after { background: #222; }

/* Чекбокс «Условия и поддержка» (озвучивание) */
.sat-ti__check { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.sat-ti__box { width: 18px; height: 18px; border: 1.5px solid #767676; border-radius: 4px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all .2s; }
.sat-ti__check:checked + .sat-ti__card .sat-ti__box { border-color: #222; background: #222; }
.sat-ti__check:checked + .sat-ti__card .sat-ti__box::after { content: ''; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-1px); }

.sat-ti__submit { border: none; min-width: 240px; text-align: center; }

.sat-ti__alert { background: #FFF8E1; border: 1px solid #FFC633; border-radius: 8px; padding: 16px 20px; font-size: 14px; color: #282828; line-height: 1.5; }
.sat-ti__alert a { color: #6b5cff; }

@media (max-width: 767px) {
    .sat-ti__title { font-size: 28px; }
    .sat-ti__options { flex-direction: column; }
    .sat-ti__submit { width: 100%; }
}

/* ===================== Результат SAT (в стиле лендинга и истории) ===================== */
/* Sticky-footer сайта: .wrap имеет margin-bottom: -154px, а глобальный .push — 235px,
   из-за чего под контентом остаётся ~80px пустоты. На страницах SAT уравниваем. */
.sat-body .push { height: 154px; }

.sat-result { font-family: 'Inter', sans-serif; color: #282828; line-height: 1.5; padding-bottom: 24px; }
.sat-result * { box-sizing: border-box; }
.sat-result h1 { font-weight: 800; font-size: 40px; line-height: 1.2; color: #282828; margin: 12px 0 24px; }
.sat-result h2 { font-weight: 700; font-size: 28px; line-height: 34px; color: #282828; margin: 48px 0 20px; }

/* Белая карточка с мягкой тенью — общий контейнер секций результата */
.sat-card,
.sat-score-hero { background: #fff; border-radius: 20px; box-shadow: 0 4px 12px 0 rgba(0, 0, 0, .15); padding: 28px; }

/* Балл: слева итог, справа плашки секций; под ними — пометка о досрочном завершении */
.sat-score-hero { display: flex; flex-direction: column; gap: 20px; margin: 0 0 28px; }
.sat-score-hero-main { display: flex; gap: 24px; align-items: stretch; flex-wrap: wrap; }
.sat-score-total { text-align: center; min-width: 170px; display: flex; flex-direction: column; justify-content: center; }
.sat-score-total-label { font-size: 14px; font-weight: 600; color: #282828; }
.sat-score-num { font-size: 56px; font-weight: 800; color: #6b5cff; line-height: 1.1; }
.sat-score-cap { color: rgba(40,40,40,.55); font-size: 13px; }
.sat-score-sections { display: flex; gap: 24px; flex-wrap: wrap; flex: 1; }
.sat-score-sec { background: #F7F6FF; border-radius: 12px; padding: 20px 22px; min-width: 220px; flex: 1; }
.sat-score-sec-label { font-weight: 600; font-size: 15px; color: #282828; }
.sat-score-sec-num { font-size: 32px; font-weight: 800; color: #6b5cff; line-height: 1.2; margin: 2px 0 6px; }
.sat-score-sec-raw { font-size: 12px; color: rgba(40,40,40,.55); }

/* Пометка о досрочном завершении теста — в палитре страницы, как плашки секций */
.sat-result-note { display: flex; align-items: center; gap: 12px; background: #F7F6FF; border-radius: 12px; padding: 14px 18px; color: rgba(40,40,40,.8); font-size: 14px; }
.sat-result-note svg { width: 20px; height: 20px; flex-shrink: 0; fill: none; stroke: #6b5cff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* Домены — строки-плашки со скруглением, без линеек */
.sat-domains { width: 100%; border-collapse: separate; border-spacing: 0 6px; }
.sat-domains th, .sat-domains td { padding: 12px 16px; text-align: left; font-size: 14px; color: #282828; }
.sat-domains thead th { font-weight: 500; font-size: 13px; color: #8a8a99; padding-bottom: 6px; }
.sat-domains th:not(:first-child), .sat-domains td:not(:first-child) { text-align: center; width: 110px; }
.sat-domains tbody tr { background: #F8F9FF; }
.sat-domains tbody td:first-child { border-radius: 8px 0 0 8px; }
.sat-domains tbody td:last-child { border-radius: 0 8px 8px 0; }

/* Разбор ответов — карточка на модуль, внутри карточки вопросов */
.sat-review-module { margin-bottom: 24px; }
/* Модуль — сворачиваемый блок (<details>), заголовок работает как переключатель. */
.sat-review-section {
    display: flex; align-items: center; gap: 12px;
    font-weight: 700; font-size: 16px; margin: 0; color: #282828;
    cursor: pointer; list-style: none;
}
.sat-review-section::-webkit-details-marker { display: none; }
.sat-review-module[open] > .sat-review-section { margin-bottom: 18px; }
.sat-review-section small { color: rgba(40,40,40,.45); font-weight: 400; font-size: 12px; }
.sat-review-section-title { flex: 1; min-width: 0; }
.sat-review-chev { display: inline-flex; flex-shrink: 0; color: #8a8a99; transition: transform .2s ease; }
.sat-review-chev svg { width: 18px; height: 18px; display: block; }
.sat-review-module[open] .sat-review-chev { transform: rotate(90deg); }
.sat-review-count { flex-shrink: 0; font-weight: 500; font-size: 13px; color: #8a8a99; white-space: nowrap; }

/* Заголовок разбора и кнопка «Развернуть все» */
.sat-review-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.sat-review-toggle {
    background: #fff; border: 1px solid #ececf4; border-radius: 8px;
    padding: 8px 14px; font-size: 13px; color: #6b6b7b; cursor: pointer;
    transition: color .2s ease, border-color .2s ease;
}
.sat-review-toggle:hover { color: #7359ff; border-color: #7359ff; }
.sat-review-item { background: #fff; border: 1px solid #ececf4; border-radius: 12px; padding: 18px 20px; margin: 0 0 16px; }
.sat-review-item:last-child { margin-bottom: 0; }
.sat-review-item-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.sat-review-badge { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex-shrink: 0; }
.sat-review-badge svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.is-correct .sat-review-badge { color: #22a06b; }
.is-wrong .sat-review-badge { color: #fc6b6b; }
.sat-review-qn { font-weight: 700; font-size: 15px; }
.sat-review-domain { font-size: 12px; background: #EFEDFE; border-radius: 20px; padding: 4px 12px; color: #6b5cff; }
.sat-review-stimulus { background: #F7F6FF; border-radius: 8px; padding: 14px 16px; margin-bottom: 16px; font-size: 14px; line-height: 1.6; }
.sat-review-prompt { font-weight: 700; font-size: 15px; margin-bottom: 10px; }
.sat-review-answers { font-size: 14px; margin-bottom: 14px; display: flex; flex-direction: column; gap: 4px; }
.sat-review-explanation { background: #F0EFFE; border-radius: 8px; padding: 12px 16px; font-size: 14px; }
/* Последний блок карточки не должен добавлять свой margin к padding карточки:
   иначе без «Разбора» нижний отступ выходит больше верхнего. */
.sat-review-item > *:last-child { margin-bottom: 0; }
/* То же внутри контейнеров с HTML-контентом: margin крайних <p> складывался
   с padding, и снизу отступ получался больше верхнего. */
.sat-review-stimulus > *:first-child,
.sat-review-prompt > *:first-child,
.sat-review-explanation > *:first-child { margin-top: 0; }
.sat-review-stimulus > *:last-child,
.sat-review-prompt > *:last-child,
.sat-review-explanation > *:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
    .sat-result h1 { font-size: 28px; }
    .sat-result h2 { font-size: 20px; line-height: 26px; margin: 36px 0 16px; }
    .sat-card, .sat-score-hero { padding: 20px; border-radius: 16px; }
    /* Итог и плашки секций — друг под другом, иначе не помещаются по ширине */
    .sat-score-hero-main { flex-direction: column; gap: 16px; }
    .sat-score-total { min-width: 0; }
    .sat-score-num { font-size: 44px; }
    .sat-score-sections { flex-direction: column; gap: 12px; width: 100%; }
    .sat-score-sec { min-width: 0; padding: 16px 18px; }
    /* Таблица доменов не сжимается — прокручиваем её внутри карточки */
    .sat-card-table { overflow-x: auto; }
    .sat-domains { min-width: 460px; }
    .sat-review-item { padding: 14px 16px; }
}

/* ==========================================================================
   История пройденных тестов (/career-guidance/sat/result/history)

   Стили перенесены из careerGuidance/web/css/landing.css (классы cg-test-history__*
   и cg-btn) — подмодуль не должен зависеть от CSS родителя. Визуально страница
   осталась прежней; префикс классов сменился cg- → sat-.
   ========================================================================== */
.sat-history__title {
    margin: 0 0 24px;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.2;
    color: #000;
}

.sat-history__table-wrap {
    overflow-x: auto;
}

.sat-history__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 880px;
}

.sat-history__table th,
.sat-history__table td {
    padding: 12px 12px;
    text-align: left;
    /* Содержимое ячеек по центру по вертикали: завышенный line-height оптически
       прижимал текст к верху, поэтому здесь 1.4, а не 23px как в landing.css. */
    vertical-align: middle;
    line-height: 1.4;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    color: #333333;
}

.sat-history__table td > * {
    vertical-align: middle;
}

.sat-history__table thead tr {
    border-bottom: 1px solid #e5e7eb;
}

.sat-history__table th {
    font-weight: 600;
    color: #959595;
}

/* Чередование фона строк */
.sat-history__table tbody tr:nth-child(odd) {
    background: #fff;
}

.sat-history__table tbody tr:nth-child(even) {
    background: #F5F8F6;
}

/* Разделители между строками, кроме последней */
.sat-history__table tbody tr:not(:last-child) {
    border-bottom: 1px solid #e5e7eb;
}

.sat-history__type {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    color: #333333;
}

.sat-history__meta {
    display: none;
    margin-top: 4px;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: #8a8a8a;
}

/* Бейдж с общим баллом */
.sat-history__progress {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    height: 23px;
    background: #FC6B6B;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    border-radius: 4px;
    white-space: nowrap;
}

/* Статус — обычный текст, без бейджа */
.sat-history__status {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 23px;
    color: #333333;
}

.sat-history__date {
    color: #666;
    white-space: nowrap;
}

.sat-history__action {
    text-align: right;
    white-space: nowrap;
}

.sat-history__action a,
.sat-history__action a:visited {
    font-weight: 600;
    text-decoration: none !important;
    transition: color .15s ease;
}

/* «Результат» — чёрная ссылка */
.sat-history__action.is-completed a,
.sat-history__action.is-completed a:visited {
    color: #333333;
}

.sat-history__action.is-completed a:hover,
.sat-history__action.is-completed a:focus {
    color: #000;
}

/* «Продолжить» — синяя ссылка */
.sat-history__action.is-active a,
.sat-history__action.is-active a:visited {
    color: #3b82f6;
}

.sat-history__action.is-active a:hover,
.sat-history__action.is-active a:focus {
    color: #2563eb;
}

.sat-history__empty {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 32px;
    border: 1px solid #e5e7eb;
    border-radius: 16px;
    background: #f9fafb;
}

.sat-history__empty p {
    margin: 0;
    color: #555;
    font-size: 15px;
}

/* Общий балл и разбивка по блокам в одну строку. */
.sat-history__scores-row { display: inline-flex; align-items: center; gap: 10px; vertical-align: middle; }
.sat-history__scores { font-family: 'Inter'; font-size: 13px; color: #8a8a8a; white-space: nowrap; }

/* Кнопка (перенесена из landing.css: .cg-btn + .cg-btn-black). */
.sat-btn {
    display: inline-block;
    padding: 14px 28px;
    font-size: 20px;
    font-weight: 500;
    line-height: 20px;
    border-radius: 4px;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.sat-btn-black {
    background: #222;
    color: #fff;
}

.sat-btn:hover,
.sat-btn:focus,
.sat-btn:focus-visible,
.sat-btn:active {
    color: #fff;
    text-decoration: none;
}

@media (max-width: 767px) {
    .sat-history__title {
        font-size: 28px;
    }

    .sat-history__empty {
        align-items: stretch;
    }
}
