/* Страница калькулятора (Figma 179:24808): квиз-фрейм 826×460 без шапки-заголовка,
   шаг подбора, результат «Подобрано/Стоимость». Базовые квиз-стили — partials/quiz_modal.css. */

body {
    background: var(--Body-Background);
}

.calculator-block .block-content {
    padding: 0 20px 90px;
}

.calculator-title {
    color: var(--Text-Primary, #1E2433);
    text-align: center;
    font-size: var(--font-popup-title, 34px);
    font-style: normal;
    font-weight: 500;
    line-height: 110%;
    margin-bottom: 30px;
}

.calculator-quiz {
    width: 826px;
    max-width: 100%;
    margin: 0 auto;
    background: var(--Surface-White, #FFF);
    border-radius: 4px;
    overflow: hidden;
}

/* Фрейм калькулятора ниже квизового: шапки с названием нет. */
.calculator-quiz .quiz-step {
    height: 460px;
}

.calculator-quiz .quiz-body {
    margin-top: 0;
}

/* --- Шаг подбора проектов --- */

.calculator-quiz .calc-load {
    flex: 1 0 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 44px;
    text-align: center;
}

.calculator-quiz .calc-load p {
    color: var(--Text-Primary, #1E2433);
    font-size: var(--font-popup-title-sm, 28px);
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
    max-width: 330px;
}

.calculator-quiz .calc-load-icon {
    width: 84px;
    height: 84px;
    animation: calc-search-pulse 1.2s ease-in-out infinite;
}

@keyframes calc-search-pulse {
    0%, 100% { transform: scale(1) rotate(0deg); }
    50% { transform: scale(1.12) rotate(-8deg); }
}

/* --- Шапка-результат («Подобрано: … / Стоимость: …») --- */

.calculator-quiz .calc-result-header {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 62px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--Border-Light, #DBDBDB);
}

.calculator-quiz .calc-result {
    color: var(--Text-Primary, #1E2433);
    font-size: var(--font-popup-title-sm, 28px);
    font-style: normal;
    font-weight: 500;
    line-height: 110%;
}

.calculator-quiz .calc-result .accent {
    color: var(--Brand-Primary-muted, #B89A54);
}

/* Мини-мокап PDF в шапке результата — уменьшенная копия большого.
   Прижат к правому краю (по макету слегка заходит в паддинг), чтобы
   тёмный документ перекрывал конец разделительной линии шапки. */
.calculator-quiz .quiz-pdf-mockup--mini {
    position: absolute;
    right: -28px;
    top: -17px;
    width: 320px;
    height: 330px;
    transform: scale(0.444);
    transform-origin: top right;
    pointer-events: none;
}

/* --- Способы получения: компактные опции без описаний (по макету) --- */

.calculator-quiz .step-contact .quiz-option {
    height: 90px;
    padding: 14px;
}

.calculator-quiz .step-contact .quiz-option .media--icon {
    width: 62px;
}

.calculator-quiz .step-contact .quiz-option .media--icon img {
    width: 62px;
    height: 62px;
}

/* --- Финальный шаг: компактная форма (по макету калькулятора) --- */

.calculator-quiz .quiz-form-column {
    gap: 26px;
}

.calculator-quiz .quiz-form-heading .subtitle {
    display: none;
}

.calculator-quiz .step-form .quiz-pdf-mockup {
    top: -50px;
}

@media (max-width: 989px) {
    .calculator-title {
        font-size: 26px;
        margin-bottom: 20px;
    }

    .calculator-block .block-content {
        padding: 0 20px 40px;
    }

    /* Карточка в потоке страницы (Quiz/Mobile 320×596). */
    .calculator-quiz {
        border-radius: 10px;
        min-height: 596px;
        display: flex;
        flex-direction: column;
    }

    .calculator-quiz .quiz-step {
        height: auto;
    }

    .calculator-quiz .calc-load p {
        font-size: 22px;
    }

    .calculator-quiz .calc-result {
        font-size: 20px;
    }

    .calculator-quiz .quiz-pdf-mockup--mini {
        display: none;
    }

    .calculator-quiz .calc-result-header {
        min-height: 0;
    }

    .calculator-quiz .step-contact .quiz-option .media--icon {
        margin-left: 0;
    }
}
