.mps-selector {
    box-sizing: border-box;
    width: 90%;
    max-width: 1600px;
    margin: 0 auto 48px;
    color: #12233d;
    scroll-margin-top: 120px;
}

.mps-selector-home {
    padding: 48px 0 28px;
    background: #12233d;
}

.mps-selector-home .mps-selector {
    width: 100%;
    max-width: none;
    margin: 0;
}

.mps-selector *,
.mps-selector *::before,
.mps-selector *::after {
    box-sizing: border-box;
}

.mps-selector__layout {
    display: grid;
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    gap: 28px 36px;
    align-items: stretch;
}

.mps-selector__intro {
    padding: 36px 32px;
    background: #12233d;
    color: #fff;
}

.mps-selector__kicker {
    margin: 0 0 10px;
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #8ec4ef;
}

.mps-selector__title {
    margin: 0 0 14px;
    font-size: 32px;
    line-height: 1.2;
    color: #fff;
}

.mps-selector__lead {
    margin: 0 0 28px;
    font-size: 16px;
    line-height: 1.55;
    color: #d7e4f2;
}

.mps-selector__steps {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mps-selector__steps li {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    color: #9db3c9;
    font-weight: 600;
}

.mps-selector__steps li.is-active {
    color: #fff;
}

.mps-selector__steps span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border: 1px solid #3d5a7a;
    border-radius: 50%;
    font-size: 13px;
}

.mps-selector__steps li.is-active span {
    background: #1d71b8;
    border-color: #1d71b8;
}

.mps-selector__panel {
    padding: 32px 28px;
    background: #fff;
    border: 1px solid #e4e8ee;
    box-shadow: 0 10px 28px rgba(18, 35, 61, 0.06);
}

.mps-selector__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 20px;
}

.mps-selector__field {
    min-width: 0;
}

.mps-selector__step.is-hidden {
    display: none;
}

.mps-selector__field--tc {
    display: none;
}

.mps-selector__field--tc.is-visible {
    display: block;
}

.mps-selector__field label {
    display: block;
    margin: 0 0 8px;
    font-weight: 700;
    color: #12233d;
}

.mps-selector__field.is-error label {
    color: #b94a48;
}

.mps-selector__select {
    width: 100%;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid #cfd6de;
    background: #fff;
    color: #12233d;
    font-size: 15px;
}

.mps-selector__field.is-error .mps-selector__select {
    border: 1px solid #b94a48;
}

.mps-selector__select:focus {
    outline: 2px solid #1d71b8;
    outline-offset: 2px;
    border-color: #1d71b8;
}

.mps-selector__error {
    display: block;
    min-height: 18px;
    margin-top: 6px;
    color: #b94a48;
    font-size: 13px;
}

.mps-selector__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.mps-selector__btn {
    min-height: 48px;
    padding: 12px 24px;
    border: 2px solid #1d71b8;
    background: #1d71b8;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.mps-selector__btn:hover,
.mps-selector__btn:focus {
    background: #165a94;
    border-color: #165a94;
    color: #fff;
}

.mps-selector__btn--ghost {
    background: #fff;
    color: #12233d;
    border-color: #cfd6de;
}

.mps-selector__btn--ghost:hover,
.mps-selector__btn--ghost:focus {
    background: #f4f7fb;
    color: #12233d;
    border-color: #12233d;
}

.mps-selector__results {
    margin-top: 36px;
}

.mps-selector__card {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 22px;
    margin: 0 0 18px;
    padding: 20px;
    background: #fff;
    border: 1px solid #e4e8ee;
}

.mps-selector__photo img {
    display: block;
    width: 100%;
    height: auto;
    background: #f5f7fa;
}

.mps-selector__card-body h3 {
    margin: 0 0 8px;
    font-size: 22px;
}

.mps-selector__summary,
.mps-selector__status,
.mps-selector__card-body p,
.mps-selector__card-body li {
    margin: 0 0 8px;
    line-height: 1.5;
}

.mps-selector__status {
    font-weight: 700;
    color: #1d71b8;
}

.mps-selector__label {
    margin: 12px 0 6px;
    font-weight: 700;
}

.mps-selector__card-body ul {
    margin: 0 0 12px 18px;
    padding: 0;
}

.mps-selector__warn {
    color: #8a1f1f;
}

.mps-selector__cta,
.mps-selector__wa {
    display: inline-block;
    min-height: 46px;
    padding: 11px 22px;
    border: 2px solid #1d71b8;
    background: #1d71b8;
    color: #fff !important;
    font-weight: 700;
    text-decoration: none !important;
}

.mps-selector__cta:hover,
.mps-selector__wa:hover {
    background: #165a94;
    border-color: #165a94;
    color: #fff !important;
}

.mps-selector__empty,
.mps-selector__none {
    padding: 28px 24px;
    background: #fff;
    border: 1px solid #e4e8ee;
}

.mps-selector__empty p,
.mps-selector__none p {
    margin: 0 0 16px;
    line-height: 1.55;
}

.mps-selector-preview-banner {
    width: 90%;
    max-width: 1600px;
    margin: 0 auto 18px;
    padding: 12px 16px;
    background: #f4f1ea;
    border-left: 4px solid #c5a46e;
    color: #333;
}

@media (max-width: 1199px) {
    .mps-selector {
        scroll-margin-top: 16px;
    }

    .mps-selector__title {
        font-size: 28px;
    }
}

@media (max-width: 991px) {
    .mps-selector__layout,
    .mps-selector__card {
        grid-template-columns: 1fr;
    }

    .mps-selector__intro,
    .mps-selector__panel {
        padding: 24px 20px;
    }
}

@media (max-width: 767px) {
    .mps-selector-home {
        padding: 32px 0 16px;
    }

    .mps-selector {
        width: 92%;
    }

    .mps-selector-home .mps-selector {
        width: 100%;
    }

    .mps-selector__grid {
        grid-template-columns: 1fr;
    }

    .mps-selector__btn,
    .mps-selector__cta,
    .mps-selector__wa {
        width: 100%;
        text-align: center;
    }
}

@media (min-width: 1920px) {
    .mps-selector__title {
        font-size: 36px;
    }
}
