.td-er-form .gform_wrapper {
    --td-er-control-border: #777;
    --td-er-control-focus: #a00000;
    --td-er-control-radius: 6px;
}

.td-er-form .gform_wrapper .gfield {
    margin-bottom: 1.5rem !important;
}

.td-er-form .gform_wrapper .gfield_label,
.td-er-form .gform_wrapper legend.gfield_label {
    display: block !important;
    margin-bottom: 0.6rem !important;
    color: #222 !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.td-er-form .gform_wrapper form .gfield input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
.td-er-form .gform_wrapper form .gfield textarea,
.td-er-form .gform_wrapper form .gfield select {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 3.25rem !important;
    padding: 0.8rem 1rem !important;
    border: 1px solid var(--td-er-control-border) !important;
    background: #fff !important;
    box-shadow: none !important;
    color: #222 !important;
    font: inherit !important;
    font-size: 1rem !important;
    line-height: 1.45 !important;
}

.td-er-form .gform_wrapper form .gfield textarea {
    min-height: 9rem !important;
    resize: vertical;
}

.td-er-form .gform_wrapper form .gfield input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):focus,
.td-er-form .gform_wrapper form .gfield textarea:focus,
.td-er-form .gform_wrapper form .gfield select:focus {
    border-color: var(--td-er-control-focus) !important;
    outline: 1px solid rgba(160, 0, 0, 0.2) !important;
    outline-offset: 1px;
}

.td-er-form .gform_wrapper form .gfield .gfield_checkbox .gchoice,
.td-er-form .gform_wrapper form .gfield .gfield_radio .gchoice,
.td-er-form .gform_wrapper form .gfield .gfield_checkbox li,
.td-er-form .gform_wrapper form .gfield .gfield_radio li {
    margin: 0 0 0.65rem !important;
    padding: 0.75rem 1rem !important;
    border: 1px solid #d5d5d5 !important;
    border-radius: var(--td-er-control-radius) !important;
    background: #f7f7f7 !important;
}

.td-er-form .gform_wrapper form .gfield input[type="checkbox"],
.td-er-form .gform_wrapper form .gfield input[type="radio"] {
    width: 1.25rem !important;
    height: 1.25rem !important;
    margin: 0 0.6rem 0 0 !important;
    accent-color: var(--td-er-control-focus);
    vertical-align: middle;
}

.td-er-form .gform_wrapper form .gfield .gchoice label,
.td-er-form .gform_wrapper form .gfield .gfield_checkbox label,
.td-er-form .gform_wrapper form .gfield .gfield_radio label {
    color: #222 !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    vertical-align: middle;
}

.td-er-form .gform_wrapper form .gfield .gchoice:has(input:checked) {
    border-color: var(--td-er-control-focus) !important;
    background: #fff0f0 !important;
}

.td-er-form .gform_wrapper form .gform_button,
.td-er-form .gform_wrapper form input[type="submit"],
.td-er-form .gform_wrapper form input[type="button"],
.td-er-form .gform_wrapper form button {
    display: inline-block !important;
    min-height: 3.5rem !important;
    padding: 0.9rem 2rem !important;
    background: transparent !important;
    box-shadow: none !important;
    color: black !important;
    font: inherit !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    border: 1px solid black !important;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.td-er-form .gform_wrapper form .gform_button:hover,
.td-er-form .gform_wrapper form input[type="submit"]:hover,
.td-er-form .gform_wrapper form input[type="button"]:hover,
.td-er-form .gform_wrapper form button:hover {
    background: #000 !important;
    color: #fff !important;
}

.td-er-form .gform_wrapper form .gform_button:disabled,
.td-er-form .gform_wrapper form input[type="submit"]:disabled,
.td-er-form .gform_wrapper form input[type="button"]:disabled,
.td-er-form .gform_wrapper form button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
