/* Contract cancellation form: keep choices readable and full-width on all screen sizes. */
.contract-request-page,
.contract-form,
.contract-form .form-field,
.contract-form__choice {
    min-width: 0;
}

.contract-form__choice {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.contract-form__choice > legend {
    grid-column: 1 / -1;
    width: 100%;
    margin-bottom: 0.1rem;
    padding: 0;
}

.contract-form__choice > label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 0.7rem;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(47, 111, 78, 0.22);
    border-radius: 14px;
    background: rgba(47, 111, 78, 0.035);
    cursor: pointer;
}

.contract-form__choice > label:has(input:checked) {
    border-color: rgba(47, 111, 78, 0.48);
    background: rgba(47, 111, 78, 0.085);
    box-shadow: inset 0 0 0 1px rgba(47, 111, 78, 0.08);
}

.contract-form__choice input[type="radio"] {
    width: 1.15rem;
    height: 1.15rem;
    margin: 0.12rem 0 0;
    flex: 0 0 auto;
}

.contract-form__choice > label > span {
    min-width: 0;
}

.contract-form__choice strong,
.contract-form__choice small {
    display: block;
}

.contract-form__choice strong {
    margin-bottom: 0.18rem;
    line-height: 1.25;
}

.contract-form__choice small {
    color: #5f6b66;
    line-height: 1.45;
}

.contract-form .form-field > input,
.contract-form .form-field > select,
.contract-form .form-field > textarea {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

@media (max-width: 640px) {
    .contract-request-page {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
    }

    .contract-form__choice {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.65rem;
    }

    .contract-form__choice > label {
        min-height: 0;
        padding: 0.85rem 0.9rem;
        border-radius: 12px;
    }

    .contract-form__choice > label > span {
        overflow-wrap: anywhere;
    }
}
