/*** Gravity Forms ***/
.gform_wrapper .gform_required_legend { display: none; }
.gform_wrapper .gform_validation_errors { margin: 0 0 1.6rem 0!important; box-shadow: none!important; }
.gform_wrapper .gfield_validation_message { display: none!important; }
.gform_ajax_spinner { width: 3rem!important; margin-left: 2rem; }
.gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select) { border: 1px solid rgb(var(--wpb-border-color))!important; transition: border-color var(--ts-15) ease!important; }
.gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select):focus { outline: none!important; }
.gform_wrapper .gfield [type=file] { padding: .75rem; }

.form-control, .form-select, .gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select), .woocommerce :is(input:not([type=checkbox], [type=radio]), textarea, select) { --padding: .85rem; --border-radius: .6rem; --border: 1px solid rgb(var(--wpb-border-color)); --focus-border: 1px solid #000; min-height: 4.3rem; border: var(--border); border-radius: var(--border-radius)!important; transition: border-color var(--ts-15) ease!important; font-size: 1.6rem; padding: var(--padding); }
.gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select) { border: var(--border)!important; }
.form-control:focus, .gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]):focus, textarea:focus, select:focus), .woocommerce :is(input:not([type=checkbox], [type=radio]):focus, textarea:focus, select:focus) { border: var(--focus-border); }
.gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]):focus, textarea:focus, select:focus) { border: var(--focus-border)!important; }

.form-control, .form-select, .gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select), .woocommerce :is(input:not([type=checkbox], [type=radio]), textarea, select)::placeholder { color: rgba(var(--wpb-text), .55); font-size: 1.6rem; }

.gform_wrapper.gravity-theme .gform_validation_errors { outline: none!important; border-radius: .6rem !important; } 
.gform_wrapper.gravity-theme .gform_validation_errors>h2 .gform-icon::before { color: #c02b0a!important; }

/*** Forms ***/
label { display: inline-block; }

.form-group { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; } 
.form-group .form-control { width: auto; display: inline-block; flex-grow: 1; }

.form-check, .woocommerce-form__label { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: 0.125rem; }
.form-check .form-check-input, .woocommerce-form__label input { float: left; margin-left: -1.5em; } 

.form-check-inline { display: inline-block; margin-right: 1rem; }

.form-check-input, .gfield_radio input, .gfield_checkbox input, .woocommerce-form__label input { width: 1em; height: 1em; margin-top: 0.25em!important; vertical-align: top; background-color: #fff; background-repeat: no-repeat; background-position: center; background-size: contain; border: 1px solid rgba(0,0,0,.25); -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.form-check-input[type=checkbox], .gfield_radio input, .gfield_checkbox input, .woocommerce-form__label [type="checkbox"] { border-radius: 0.25em; }
.form-check-input[type=radio], .gfield_radio input { border-radius: 50%; }
.form-check-input:checked, .gfield_radio input:checked, .gfield_checkbox input:checked, .woocommerce-form__label input:checked { --check-bg-color: #000; --check-border-color: #000; background-color: var(--check-bg-color); border-color: var(--check-border-color); }
.form-check-input:checked[type=radio], .gfield_radio input:checked { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e"); }
.form-check-input:checked[type=checkbox], .gfield_checkbox input:checked, .woocommerce-form__label [type=checkbox]:checked { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e"); }
.form-check-input:disabled ~ .form-check-label, .form-check-input[disabled] ~ .form-check-label { cursor: default; opacity: .5; }

.form-switch { padding-left: 2.5em; }
.form-switch .form-check-input { width: 2em; margin-left: -2.5em; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e"); background-position: left center; border-radius: 2em; transition: background-position var(--ts-15) ease; }
.form-switch .form-check-input:checked { background-position: right center; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); }

.form-label { margin-bottom: 0.8rem; font-weight: 600; width: 100%; }
.form-control { display: block; width: 100%; padding: var(--padding); font-size: 1.6rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; background-clip: padding-box; -webkit-appearance: none; -moz-appearance: none; appearance: none; } 
.form-control:focus { color: #212529; background-color: #fff; border-color: #000; outline: 0; }

.form-select { --padding: .9rem; display: block; width: 100%; padding: var(--padding); font-size: 1.6rem; font-weight: 400; line-height: 1.5; color: #212529; background-color: #fff; background-clip: padding-box; }

.btn-check { position: absolute; pointer-events: none; opacity: 0; left: -9999rem; }
.btn-check + .btn { --active-color: #fff; --active-bg-color: #1f1f1f; --active-border: 1px solid #000; }

.btn-check:checked + .btn { background-color: var(--active-bg-color); color: var(--active-color); border: var(--active-border); }

/* Select2 */
.select2-container {
    --padding: 1rem .85rem;
    --border-radius: .6rem;
    --hover-color: var(--wpb-secondary);
    --hover-bg: var(--wpb-light-pink);
    --highlighted-color: 255,255,255;
    --highlighted-bg: var(--wpb-secondary);
}
.select2-container .select2-selection--single { border-color: rgb(var(--wpb-border-color)); border-radius: var(--border-radius); }
.select2-container .select2-selection--single { height: auto; padding: var(--padding); }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 0; font-size: 1.6rem; }
.select2-container .select2-selection--single .select2-selection__arrow { height: 100%; }
.select2-container .select2-selection--single .select2-selection__arrow b {  }
.select2-container--open .select2-dropdown { border-color: rgb(var(--wpb-border-color)); overflow: hidden;}
.select2-container--open .select2-dropdown--top { border-radius: var(--border-radius) var(--border-radius) 0 0; }
.select2-container--open .select2-dropdown--below { border-radius: 0 0 var(--border-radius) var(--border-radius); }
.select2-container--open .select2-dropdown--below .select2-search__field, .select2-container--open .select2-dropdown--above .select2-search__field { border-color: rgb(var(--wpb-border-color)); border-radius: var(--border-radius); font-size: 1.4rem; height: auto; padding: 0 0.8rem; }
.select2-container .select2-results__option { font-size: 1.6rem; }
.select2-container .select2-results__option[data-selected=true] { background-color: rgba(var(--hover-bg)); color: rgba(var(--hover-color)); }
.select2-container .select2-results__option.select2-results__option--highlighted { background-color: rgba(var(--highlighted-bg)); color: rgba(var(--highlighted-color)); }
