/* Compare Prices presentation only. Keep selectors/values and legacy handlers intact.
 * Scoped to the shared popup: never restyle the inline hero or other lead forms.
 * Do not use styling classes as analytics hooks; the root has a stable data attribute.
 */
.multi__step-form-modal.reh-compare-design .multiform-overlay {
    padding: 24px 16px;
    box-sizing: border-box;
    white-space: normal;
}
.multi__step-form-modal.reh-compare-design .multiform-overlay--bg-black {
    background: rgba(18, 35, 49, .76);
}
.multi__step-form-modal.reh-compare-design .multiform-overlay .multiform-popup {
    width: 100%;
    max-width: 1120px;
    margin: 0 auto;
    max-height: calc(100vh - 48px);
    max-height: calc(100dvh - 48px);
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid #e0e8e8;
    border-radius: 18px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .22);
    color: #173746;
    background: #fff;
    box-sizing: border-box;
}
.reh-compare-design .multiform-pop_body {
    padding: 0;
}
.reh-compare-design .multiform-popup .reh__mutiform {
    padding: 28px 40px 24px;
    height: auto;
    min-height: 0;
    background: #fff;
    backdrop-filter: none;
    box-sizing: border-box;
}
.reh-compare-design .multiform-popup .reh-lead-progress {
    color: #586579;
    background: transparent;
    border-radius: 0;
    display: block;
    max-width: 740px;
    margin: 0 auto 10px;
    padding: 0;
    text-align: left;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}
.reh-compare-design .multiform-popup .reh__mutiform #rehForm {
    padding: 0;
    min-height: 0;
}
/* Inactive absolute-positioned legacy tabs otherwise extend the scroll area. */
.reh-compare-design .multiform-popup .reh__multi-form_tab:not(.active) {
    display: none !important;
}
/* Some homepage themes set this title white. Explicitly scope the correction. */
.reh-compare-design .multiform-popup .reh__mutiform .reh__hero-title {
    display: block;
    color: #173746 !important;
    font-size: clamp(24px, 2.6vw, 34px) !important;
    line-height: 1.25 !important;
    font-weight: 700 !important;
    max-width: 850px;
    margin: 0 auto 12px;
    padding: 0;
    text-align: center;
    overflow-wrap: anywhere;
}
.reh-compare-design .multiform-popup .reh__mutiform .reh__multi-form_inn_box {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    width: 100%;
    overflow: visible;
    margin: 0;
    padding: 0;
}
.reh-compare-design .multiform-popup .step_2 .reh__multi-form_inn_box {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 680px;
    margin: 0 auto;
}
.reh-compare-design .multiform-popup .reh__mutiform .reh__multi-form_Shape_box {
    width: 100% !important;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 12px;
    background: transparent;
    position: relative;
    box-sizing: border-box;
}
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 40px 16px 24px;
    width: 100%;
    min-height: 180px;
    height: 100%;
    margin: 0;
    border: 2px solid #dce5e7;
    border-radius: 12px;
    background: #fff;
    color: #173746;
    box-sizing: border-box;
    transition: border-color .15s, background-color .15s;
}
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box label:hover {
    border-color: #07847e;
    background: #f5faf8;
}
/* Derive selection from the actual input, not the legacy .selected class. */
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box input:checked + label {
    border-color: #07847e;
    background: #eaf7f0;
    box-shadow: 0 0 0 1px #07847e;
}
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box input[type=radio] {
    display: block;
    appearance: none;
    -webkit-appearance: none;
    position: absolute;
    inset: 14px 14px auto auto;
    width: 22px;
    height: 22px;
    margin: 0;
    opacity: 1;
    accent-color: #07847e;
    z-index: 1;
    cursor: pointer;
    border: 1.5px solid #8b97a6;
    border-radius: 50%;
    background: #fff;
}
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box input[type=radio]:checked {
    background: #07847e;
    border-color: #07847e;
}
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box input:checked + label::after {
    content: '';
    position: absolute;
    top: 19px;
    right: 21px;
    width: 7px;
    height: 11px;
    border: solid white;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    z-index: 2;
    pointer-events: none;
}
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box input:focus-visible + label {
    outline: 3px solid #173746;
    outline-offset: 3px;
}
.reh-compare-design .multiform-popup .reh__multi-form_img_box {
    visibility: visible;
    opacity: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    width: 72px;
    height: 72px;
}
.reh-compare-design .multiform-popup .reh__multi-form_img_box img,
.reh-compare-design .multiform-popup .reh__multi-form_img_box svg {
    max-width: 100%;
    width: 72px;
    height: 72px;
    object-fit: contain;
}
.reh-compare-design .multiform-popup .reh__multi-form_Shape_box label span {
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 1.4;
    text-align: center;
    overflow-wrap: anywhere;
    color: inherit;
}
.reh-compare-design .multiform-popup .reh-early-postcode {
    background: #f4f8f7;
    max-width: 680px;
    padding: 20px;
    margin: 0 auto 24px;
    border-radius: 12px;
}
.reh-compare-design .multiform-popup .reh__mutiform_button {
    display: flex;
    align-items: center;
    gap: 24px;
    position: static;
    width: 100%;
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid #e2e9e9;
}
.reh-compare-design .multiform-popup .reh__mutiform_buttoninn_box {
    display: flex;
    justify-content: flex-end;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px !important;
    width: auto;
    flex: 1;
}
.reh-compare-design .multiform-popup .reh__mutiform_button button {
    min-height: 48px;
    min-width: 150px;
    max-width: 100%;
    border: 2px solid #087e78;
    border-radius: 9px;
    padding: 12px 24px !important;
    font-family: inherit;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
    background: #087e78;
    color: #fff;
    white-space: normal;
    box-sizing: border-box;
}
.reh-compare-design .multiform-popup .reh__mutiform_button .prevBtn {
    background: #fff;
    color: #24525b;
    border-color: #b9cdce;
    margin-right: auto;
}
.reh-compare-design .multiform-popup .reh__mutiform_button button:disabled {
    background: #e7eded;
    color: #56676c;
    border-color: #d5dfdf;
    opacity: 1;
    cursor: not-allowed;
}
.reh-compare-design .multiform-popup button:focus-visible,
.reh-compare-design .multiform-popup input:focus-visible {
    outline: 3px solid #173746;
    outline-offset: 3px;
}
.multi__step-form-modal.reh-compare-design .multiform-popup-close {
    width: 44px;
    height: 44px;
    top: 10px;
    right: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
}
.reh-compare-design .reh-compare-progress-track {
    height: 8px;
    max-width: 740px;
    margin: 0 auto 24px;
    border-radius: 8px;
    background: #e8edef;
    overflow: hidden;
}
.reh-compare-design .reh-compare-progress-track span {
    display: block;
    width: 25%;
    height: 100%;
    border-radius: inherit;
    background: #30a58e;
    transition: width .2s ease;
}
.reh-compare-design [data-design-phase="property"] .reh-compare-progress-track span { width: 50%; }
.reh-compare-design [data-design-phase="project"] .reh-compare-progress-track span { width: 75%; }
.reh-compare-design [data-design-phase="contact"] .reh-compare-progress-track span { width: 100%; }
.reh-compare-design .reh-compare-helper {
    color: #586579;
    font-size: 18px;
    line-height: 1.5;
    text-align: center;
    margin: 0 0 24px;
}
.reh-compare-design .reh-compare-reassurance {
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
    color: #586579;
}
.reh-compare-design .nextBtn::after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    border: solid currentColor;
    border-width: 2px 2px 0 0;
    transform: rotate(45deg);
    margin-left: 16px;
    vertical-align: 1px;
}
.multi__step-form-modal.reh-compare-design .multiform-popup-close::before,
.multi__step-form-modal.reh-compare-design .multiform-popup-close::after {
    left: 14px;
    right: 14px;
}
@media (max-width: 1023px) {
    .reh-compare-design .multiform-popup .reh__mutiform .reh__multi-form_inn_box {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 599px) {
    .multi__step-form-modal.reh-compare-design .multiform-overlay { padding: 12px 8px; }
    .multi__step-form-modal.reh-compare-design .multiform-overlay .multiform-popup {
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        border-radius: 14px;
    }
    .reh-compare-design .multiform-popup .reh__mutiform { padding: 24px 16px 16px; }
    .reh-compare-design .multiform-popup .reh-lead-progress { margin: 0 32px 10px 0; }
    .reh-compare-design .reh-compare-helper { font-size: 16px; margin-bottom: 20px; }
    .reh-compare-design .multiform-popup .reh__mutiform_button { flex-direction: column; gap: 16px; }
    .reh-compare-design .multiform-popup .reh__mutiform_buttoninn_box { width: 100%; }
    .reh-compare-design .multiform-popup .reh__mutiform .reh__multi-form_inn_box {
        gap: 12px;
        grid-template-columns: minmax(0, 1fr);
    }
    .reh-compare-design .multiform-popup .reh__multi-form_Shape_box label {
        flex-direction: row;
        justify-content: flex-start;
        min-height: 80px;
        padding: 14px 44px 14px 14px;
        gap: 12px;
    }
    .reh-compare-design .multiform-popup .reh__multi-form_Shape_box label span { text-align: left; font-size: 16px; }
    .reh-compare-design .multiform-popup .reh__multi-form_img_box { width: 44px; height: 44px; flex: 0 0 44px; }
    .reh-compare-design .multiform-popup .reh__multi-form_img_box img,
    .reh-compare-design .multiform-popup .reh__multi-form_img_box svg { width: 44px; height: 44px; }
    .reh-compare-design .multiform-popup .reh__multi-form_Shape_box input[type=radio] { top: 27px; }
    .reh-compare-design .multiform-popup .reh__multi-form_Shape_box input:checked + label::after { top: 32px; }
    .reh-compare-design .multiform-popup .reh__mutiform_button button { flex: 1 1 100px; min-width: 0; }
    .reh-compare-design .multiform-popup .reh-early-postcode { padding: 14px; }
}
@media (forced-colors: active) {
    .reh-compare-design .multiform-popup .reh__multi-form_Shape_box input[type=radio] { appearance: auto; }
    .reh-compare-design .multiform-popup .reh__multi-form_Shape_box input:checked + label::after { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .multi__step-form-modal.reh-compare-design * { transition: none !important; }
}
