/* Melhor contraste em campos de formulário (tema builder) */

input.form-control,
select.form-control,
textarea.form-control,
input.tfield,
select.tfield,
textarea.tfield,
.tform input[type="text"],
.tform input[type="number"],
.tform input[type="password"],
.tform input[type="date"],
.tform input[type="email"],
.tform input[type="search"],
.tform input[type="tel"],
.tform input[type="url"],
.tform select,
.tform textarea,
.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
    border: 0.5px solid #666 !important;
    background-color: #fff;
}

input.form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
input.tfield:focus,
select.tfield:focus,
textarea.tfield:focus,
.tform input[type="text"]:focus,
.tform input[type="number"]:focus,
.tform input[type="password"]:focus,
.tform input[type="date"]:focus,
.tform input[type="email"]:focus,
.tform input[type="search"]:focus,
.tform input[type="tel"]:focus,
.tform input[type="url"]:focus,
.tform select:focus,
.tform textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: #2f80ed !important;
    box-shadow: 0 0 0 2px rgba(47, 128, 237, 0.20);
    outline: none;
}

input.form-control[disabled],
select.form-control[disabled],
textarea.form-control[disabled],
input.tfield[disabled],
select.tfield[disabled],
textarea.tfield[disabled],
input.tfield_disabled,
select.tfield_disabled,
textarea.tfield_disabled,
input.tfield_readonly,
select.tfield_readonly,
textarea.tfield_readonly,
input.form-control[readonly],
select.form-control[readonly],
textarea.form-control[readonly],
input.tfield[readonly],
select.tfield[readonly],
textarea.tfield[readonly],
.tform input[disabled],
.tform select[disabled],
.tform textarea[disabled],
.tform input[readonly],
.tform select[readonly],
.tform textarea[readonly],
.select2-container--default.select2-container--disabled .select2-selection--single,
.select2-container--default.select2-container--disabled .select2-selection--multiple {
    background-color: #f2f2f2 !important;
    color: #666 !important;
    border-color: #777 !important;
    opacity: 1 !important;
}

/* TSwitch (TCheckButton / TCheckGroup) */
[type="checkbox"] + label.tswitch {
    background-color: #fff !important;
    border: 0.5px solid #666 !important;
    border-radius: 4px;
    color: #333 !important;
}

[type="checkbox"].filled-in:not(:checked) + label.tswitch:before {
    background-color: #666 !important;
    opacity: 0.45;
    width: 100% !important;
}

[type="checkbox"].filled-in:not(:checked) + label.tswitch:after {
    background-color: #fff !important;
    border: 0.5px solid #666 !important;
    box-shadow: 0 1px 3px 1px rgba(0, 0, 0, 0.25);
    left: 2px !important;
}

[type="checkbox"].filled-in:checked + label.tswitch:before {
    background-color: #2f80ed !important;
    opacity: 1;
    width: 100% !important;
}

[type="checkbox"].filled-in:checked + label.tswitch:after {
    background-color: #fff !important;
    border: 0.5px solid rgba(47, 128, 237, 0.65) !important;
    left: 50px !important;
}

[type="checkbox"].filled-in:focus + label.tswitch,
[type="checkbox"].filled-in:focus-visible + label.tswitch {
    border-color: #2f80ed !important;
    box-shadow: 0 0 0 2px rgba(47, 128, 237, 0.20);
    outline: none;
}

[type="checkbox"][style="pointer-events: none;"] + label.tswitch,
[type="checkbox"][tabindex="-1"] + label.tswitch {
    background-color: #f2f2f2 !important;
    color: #666 !important;
    border-color: #777 !important;
}
