/*** ---------- Gravity Form ---------- ***/
.gform_wrapper .gform_required_legend { display: none; }
.gform_wrapper .gform_validation_errors { margin: 0 0 1.6rem 0!important; box-shadow: 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 var(--clr-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) { --padding: 1.2rem 1.6rem; --border-radius: .6rem; --border: 1px solid var(--clr-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; 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) { border: var(--focus-border); }
.gform_wrapper .gfield :is(input:not([type=checkbox], [type=radio]):focus, textarea:focus, select:focus) { border: var(--focus-border)!important; }

.gform_wrapper .gfield_label { display: block!important;  color: var(--clr-headings); margin-bottom: .5rem; font-weight: 700;}
.gform_wrapper .gform_fields { --gap: 2.2rem; gap: var(--gap)!important; }
.gform_wrapper .ginput_container_textarea { display: -webkit-box; display: -ms-flexbox; display: flex; } 

/* Gravity Form : footer */
.gform_wrapper .gform_footer { margin: 0!important; padding-bottom: 0!important; }
.gform_wrapper .gform_footer [type="submit"] { margin: 0!important; }

label { display: inline-block; }

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

.form-check, .woocommerce-form__label { display: block; min-height: 1.5rem; padding-left: 1.5em; margin-bottom: 0.5rem; }
.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, .woocommerce-shipping-methods input { width: 1em; min-width: 1em; height: 1em; min-height: 1em; margin-top: 0.15em!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, .woocommerce-shipping-methods input[type=radio] { border-radius: 50%; }
.form-check-input:checked, .gfield_radio input:checked, .gfield_checkbox input:checked, .woocommerce-form__label input:checked, .woocommerce-shipping-methods 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, .woocommerce-shipping-methods input:checked[type=radio] { 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-label abbr { text-decoration: none; }
.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: 0 1.6rem; --border-radius: .6rem; --hover-color: #ffffff; --hover-bg: rgba(0, 0, 0, .5); --highlighted-color: #ffffff; --highlighted-bg: var(--clr-blue); }
.select2-container .select2-selection--single { border-color: var(--clr-border); border-radius: var(--border-radius); margin: 0; }
.select2-container .select2-selection--single { height: auto; height: 4rem; padding: var(--padding); }
.select2-container .select2-selection--single .select2-selection__rendered { padding-left: 0; font-size: 1.4rem; min-height: 4rem; line-height: 4rem; }

.select2-container .select2-selection--single .select2-selection__arrow { height: 100%; }
.select2-container .select2-selection--single .select2-selection__arrow b { --src: url('/app/themes/transoplast-core/public/icons/chevron-down.svg'); border: none; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: 2rem; height: 1.6rem; background-color: var(--clr-headings); transition: background-color var(--ts-15) ease; transform: translateY(-50%); left: auto; right: 1.6rem; }

.select2-container--open .select2-dropdown { border-color: var(--clr-border); 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--default .select2-search--dropdown .select2-search__field { border-color: var(--clr-border); }
.select2-container--open .select2-dropdown--below .select2-search__field, .select2-container--open .select2-dropdown--above .select2-search__field { border-color: var(--clr-border); border-radius: var(--border-radius); font-size: 1.4rem; height: auto; padding: 0 0.8rem; min-height: 4rem; }
.select2-container .select2-results__option { font-size: 1.6rem; }
.select2-container .select2-results__option[data-selected=true] { background-color: var(--highlighted-bg); color: var(--hover-color); }
.select2-container .select2-results__option.select2-results__option--highlighted { background-color: var(--highlighted-bg); color: var(--highlighted-color); }

@media (min-width: 992px) {
    .select2-container .select2-selection--single {height: 5rem; }
    .select2-container .select2-selection--single .select2-selection__rendered { min-height: 5rem; line-height: 5rem; font-size: 1.6rem; }
}



.form-control { min-height: 4rem; --border: 1px solid var(--clr-border); --padding: 0 1.6rem; --border-radius: 0.6rem; }
.form-select { font-weight: 600; --padding: 0 .9rem; }
.form-select__small { min-height: 3.6rem; font-size: 1.4rem; }
.form-select:focus { outline: .1rem solid rgba(0,0,0,.5); }
.form-select__wrapper .form-select { -webkit-appearance: none; appearance: none; }
.form-select__wrapper { position: relative; }
.form-select__wrapper::after { content: ''; position: absolute; top: 50%; transform: translateY(-50%); right: 1.6rem; pointer-events: none; --src: url('/app/themes/transoplast-core/public/icons/chevron-down.svg'); -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: 1.2rem; height: 1.2rem; background-color: var(--clr-headings); }
textarea.form-control { --padding: 1rem 1.6rem; }

.has-floating-label { background-color: #fff; border-radius: .5rem; display: flex; flex-direction: column; overflow: hidden; }
.has-floating-label label { font-size: 1rem; line-height: 1; text-transform: uppercase; padding: .7rem 1rem 0 1rem; }
.has-floating-label :is(select, input) { min-height: 3rem; font-weight: 400; padding: 0 1rem; } 
.has-floating-label :is(select, input):focus { outline: none; }

.gform_wrapper:not(#gform_wrapper_2) .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select) { --border: .1rem solid var(--clr-border); padding: 0 1.6rem!important; --border-radius: 0.6rem; min-height: 4rem!important; }
.gform_wrapper .textarea { padding: 1.6rem!important; }

.gform_wrapper.gravity-theme .gfield_validation_message, .gform_wrapper.gravity-theme .validation_message { background: transparent!important; border: none!important; padding: 0!important; margin: 0!important; }

.form-check-input:checked, .gfield_radio input:checked, .gfield_checkbox input:checked, .woocommerce-form__label input:checked, .woocommerce-shipping-methods input:checked { --check-bg-color: var(--clr-blue); --check-border-color: var(--clr-blue); }

/* Gravity Form : Errors */
.gform_wrapper.gravity-theme .gfield_description { display: none; }
.gform_wrapper.gravity-theme .gform_validation_errors { background-color: #c02b0a; padding: 1.6rem 2rem; } 
.gform_wrapper.gravity-theme .gform_validation_errors h2 { color: #fff; }
.gform_confirmation_message { background-color: var(--clr-green); padding: 1.6rem 2rem; border-radius: 0.8rem; color: #fff; }

@media (min-width: 992px) {
    .form-control { min-height: 5rem; } 
    .gform_wrapper:not(#gform_wrapper_2) .gfield :is(input:not([type=checkbox], [type=radio]), textarea, select) { min-height: 5rem!important; } 
}