/****************************
 * 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 {
    display:flex; flex-wrap:wrap;
    margin-left:calc(var(--woo-gap-field) * -1); margin-right:calc(var(--woo-gap-field) * -1);
}


/* FORM > Fields */
.woocommerce form .form-row {padding:0 var(--woo-gap-field); width:100%; margin-bottom:var(--twc-spacing-20);}
.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:var(--twc-spacing-10);
}
.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 {text-decoration:underline;}
.woocommerce form .form-row label a:hover,
.woocommerce form .form-row label a:focus {color:var(--twc-color-primary);}


/* 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(--twc-icon-down-arrow); font-family:var(--twc-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;}
.select2-container--default .select2-results > .select2-results__options li {padding:5px;}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
    background:var(--twc-color-primary); color:var(--twc-color-on-primary);
}


/* FORM > Input */
.woocommerce-input-wrapper {display:block;}
.woocommerce .select2-container .select2-selection--single,
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]),
.woocommerce form .form-row textarea,
.woocommerce .shop_table.cart .coupon input {
    border:var(--woo-border); border-radius:var(--woo-radius);
    background:var(--woo-field-bg); color:var(--woo-field-color);
    font-size:var(--woo-field-size); font-family:var(--woo-field-font);
    width:100%; height:50px; padding:5px 20px; display:block;
    transition:all .3s ease;
}
.woocommerce form .form-row textarea {height:160px; padding:15px 20px;}


/* 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,
.woocommerce table.shop_table.cart .coupon input:hover,
.woocommerce table.shop_table.cart .coupon input:focus {
    background:var(--woo-field-bg-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 {
    border-color:var(--woo-color-error);
}


/* FORM > Input description */
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]) + span {
    font-size:14px; color:var(--twc-color-gray); padding-top:5px; display:block;
}
.woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]) + span em {font-style:normal;}


/* FORM > Fieldset */
.woocommerce form fieldset {
    padding:0 var(--woo-gap-field); margin:0 0 var(--twc-spacing-20);
    width:100%; border:none;
}
.woocommerce form fieldset legend {position:relative; font-weight:700; margin-bottom:var(--twc-spacing-10);}
.woocommerce form fieldset legend:after {
    content:"\e92d"; font-family:var(--twc-font-icomoon); font-size:.8em;
    margin-left:10px;
}
.woocommerce form fieldset .form-row {padding:0;}
.woocommerce form fieldset .show-password-input {display:none !important;}


/* 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);}


/****************************
 * Misc
*****************************/
/* Mailchimp checkbox */
body.woocommerce-checkout .woocommerce form .form-row.mailchimp-newsletter {padding:0;}
.woocommerce form .form-row.mailchimp-newsletter label {display:inline-block;}


/****************************
 * Woo Forms Responsive
*****************************/
@media only screen and (max-width:767px) {
    /* FORM > Input */
    .woocommerce form .form-row input:not([type="checkbox"]):not([type="radio"]),
    .woocommerce form .form-row textarea {
        height:47px; padding:5px 15px;
    }
    .woocommerce form .form-row textarea {height:140px; padding:15px;}
}