/****************************
 * Woo Forms
*****************************/
.clear {display:none;}

/* FORM > Fields wrapper */
.woocommerce-address-fields__field-wrapper,
.woocommerce-EditAccountForm.edit-account,
#customer_login .woocommerce-form,
.woocommerce-billing-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
form.checkout .woocommerce-account-fields,
form.woocommerce-ResetPassword,
.shipping-calculator-form,
.woocommerce-form.woocommerce-form-login {
    display:flex; flex-wrap:wrap;
    margin-left:calc(var(--woo-gap-field) * -1); margin-right:calc(var(--woo-gap-field) * -1);
}

/* form without login */
.woocommerce-form.woocommerce-form-login > *:not(.form-row) {padding:0 var(--woo-gap-field);}
.woocommerce form.woocommerce-form-login .form-row:has(.woocommerce-LostPassword) {min-height:unset; margin-bottom:0;}
.woocommerce form.woocommerce-form-login .form-row:has(.woocommerce-LostPassword) label {margin-bottom:0;}
.woocommerce form.woocommerce-form-login .form-row .woocommerce-form-login__submit {margin-top:var(--vii-spacing-8);}

/*login in checkout*/
form.checkout .woocommerce-account-fields .create-account{display:flex; flex-wrap:wrap;}

@media only screen and (max-width:768px) {
    .woocommerce form.woocommerce-form-login .form-row .woocommerce-form-login__submit {width:100%;}
}


/* FORM > Fields */
.woocommerce form .form-row {
    position:relative;
    padding:0 var(--woo-gap-field); width:100%; margin-bottom:var(--vii-spacing-8);
    min-height:var(--form-field-height);
}
.woocommerce form .form-row:last-child {margin-bottom:0;}
.woocommerce form .form-row.hidden {display:none;}
@media only screen and (min-width:768px) {
    .woocommerce form .form-row.form-row-first,
    .woocommerce form .form-row.form-row-last {width:50%;}
}


/* FORM > Labels */
.woocommerce form .form-row label {
    display:block;
    margin-bottom:.4em;
}
.woocommerce form .form-row label.checkbox {margin-bottom:0;}
.woocommerce form .form-row .required {text-decoration:none; border:none; color:var(--woo-color-error);}
.woocommerce form .form-row label a {font-weight:500;}
.woocommerce form .form-row label a:hover,
.woocommerce form .form-row label a:focus {color:var(--vii-color-primary); text-decoration:underline;}


/* FORM > Select 2 */
.woocommerce .select2-container .select2-selection--single {
    display:flex !important; align-items:center;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height:1.2; padding:0; color:inherit;
}
.woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow {display:none;}
.woocommerce .select2-container--default .select2-selection--single:after {
    content:var(--vii-icon-down-arrow); font-family:var(--vii-font-icomoon);
    position:absolute; top:50%; right:15px;
    transform:translateY(-50%); font-size:10px;
}

.select2-dropdown,
.select2-container--default .select2-search--dropdown .select2-search__field {border:var(--woo-border);}
.select2-container--default .select2-search--dropdown .select2-search__field {height:35px;}
.select2-container--default .select2-results > .select2-results__options {margin:0;max-height:288px;}
.select2-container--default .select2-results > .select2-results__options li {
    padding:4px var(--form-field-padding-h);
    min-height:48px;line-height:1.1;
    display:flex;align-items:center;
}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background:var(--vii-color-primary); color:var(--vii-color-on-primary);
}


/* FORM > Input */
.woocommerce-input-wrapper {display:block;}
.woo-form-field,
.woocommerce .select2-container .select2-selection--single,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]),
.woocommerce form .form-row textarea {
    --woo-border:1px solid rgba(0, 0, 0, .2);
    border:var(--woo-border);
    border-radius:var(--form-radius);
    /*background:var(--woo-field-bg);*/
    color:var(--woo-field-color);
    font-size:var(--woo-field-size);
    font-family:var(--woo-field-font), sans-serif;
    width:100%;
    height:var(--form-field-height);
    padding:16px var(--form-field-padding-h) 4px;
    display:block;
    transition:all .3s ease;
}
.woocommerce form .form-row textarea {height:120px; padding-top:20px;}
.woo-form-field::placeholder,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"])::placeholder,
.woocommerce form .form-row textarea::placeholder {color:var(--woo-field-placeholder); transition:var(--vii-transition);}


/* FORM > Input :hover, :focus */
.woocommerce .select2-container .select2-selection--single:hover,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]):hover,
.woocommerce form .form-row textarea:hover,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]):focus,
.woocommerce form .form-row textarea:focus,
.woo-form-field:hover,
.woo-form-field:focus {
    background:var(--woo-field-bg-hover); border-color:var(--vii-color-primary);
    --woo-field-placeholder:var(--woo-field-placeholder-hover);
}


/* FORM > Input invalid, error */
.woocommerce form .form-row.woocommerce-invalid input:not([type="checkbox"]):not([type="radio"]),
.woocommerce form .form-row.woocommerce-invalid textarea,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]).has-error,
.woocommerce .coupon input:not([type="checkbox"]):not([type="radio"]).has-error {
    border-color:var(--woo-color-error);
}
.coupon-error-notice {color:var(--form-color-error);}


/* FORM > Input description */
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]) + span {
    font-size:12px; color:var(--vii-color-black-30); padding-top:2px; display:block;
}
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]) + span em {font-style:normal;}


/* FORM > Fieldset */
.woocommerce form fieldset:not(.gfield) {
    padding:0 var(--woo-gap-field); margin:0 0 var(--vii-spacing-8);
    width:100%; border:none;
}
.woocommerce form fieldset legend {
    position:relative;
    font-weight:500; text-transform:uppercase;
    padding-top:var(--vii-spacing-8);margin-bottom:var(--vii-spacing-10);
}
.woocommerce form fieldset .form-row {padding:0;}
.woocommerce form .form-row span.password-input {display:flex;}
.woocommerce form fieldset .show-password-input {display:none !important;}

/* Select */
.woocommerce .select2-container, .selection {display:block;}
.woocommerce .select2-container .select2-selection--single {position:relative; padding-right:30px;}
.woocommerce .select2-container .select2-selection--single:before {
    position:absolute; top:50%; right:10px; transform:translateY(-50%);
    content:"\e931"; font-size:.8em; font-family:var(--vii-font-icomoon), fantasy;
    transition:transform .3s ease;
    color:var(--vii-color-primary);
}
.woocommerce .select2-container .select2-selection--single[aria-expanded="true"] {border-color:var(--vii-color-primary);}
.woocommerce .select2-container .select2-selection--single[aria-expanded="true"]:before {transform:translateY(-50%) rotate(180deg);}

/* FORM > Input password */
.password-input {display:block;}

/* FORM > Password strength */
.woocommerce-password-strength {font-weight:400; border:none; background:#f3f3f3 !important; position:relative; padding:5px 10px;}
.woocommerce-password-strength.bad {color:var(--woo-color-error);}
.woocommerce-password-strength.good {color:var(--woo-color-message);}
.woocommerce-password-strength.strong {color:var(--woo-color-info);}

/* FORM > link */
.woocommerce form .form-row a:not([class*="btn_"]) {text-decoration:underline; color:var(--vii-color-text); font-weight:500;}

/****************************
 * Misc
*****************************/
/* Mailchimp checkbox */
body.woocommerce-checkout .woocommerce form .form-row.mailchimp-newsletter {padding:0;}
.woocommerce form .form-row.mailchimp-newsletter label {display:inline-block;}


/****************************************************
* Search form
****************************************************/
body.woocommerce .select2-search--dropdown {padding:5px;}
body.woocommerce .select2-container--default .select2-search--dropdown .select2-search__field {
    height:40px; padding:4px calc(var(--form-field-padding-h) - 5px); border-radius:var(--form-radius);
}
body.woocommerce .select2-container--default .select2-search--dropdown .select2-search__field:hover,
body.woocommerce .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color:#000;
}

body.woocommerce .select2-container--default .select2-results__option[data-selected=true] {
    font-weight:500; color:#fff; background:#000;
}