/* Remove built-in form styles */

button,
fieldset,
input,
legend,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    padding: 0;
    margin: 0;
}

input,
select,
textarea {
    background-color: var(--wp--preset--color--background);
}

input[type="button"],
input[type="email"],
input[type="file"],
input[type="reset"],
input[type="submit"],
input[type="text"],
select,
textarea {
    border-radius: 23px;
    color: var(--wp--preset--color--foreground);
    font: inherit;
    padding: 10px 20px;
    width: 100%;
}

input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="file"] {
    background-color: var(--wp--preset--color--tertiary);
    color: var(--wp--preset--color--background);
    cursor: pointer;
    font-weight: 700;
}

input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="file"]:focus {
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: 2px;
}

input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="file"]:hover {
    background-color: var(--wp--preset--color--primary);
}

input[type="button"]:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="file"]:active {
    background-color: var(--wp--preset--color--secondary);
}

input[type="text"],
input[type="email"],
select,
textarea {
    width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
select:focus,
textarea:focus {
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: 2px;
}

select {
    background-image: url('../img/filters/filter.svg');
    background-position: center right 20px;
    background-repeat: no-repeat;
    background-size: 24px;
    cursor: pointer;
    padding-right: calc(20px + 24px + 20px);
}

select:focus {
    background-image: url('../img/filters/filter_active.svg');
}

select::-ms-expand {
    display: none;
}

label {
    display: block;
}

/* Gravity Forms */

/* Labels */

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
    color: var(--wp--preset--color--primary);
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.1667;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_complex label {
    font-size: 0.875rem;
    line-height: 1.215;
}

/* Required * */

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_label .gfield_required {
    color: var(--wp--preset--color--tertiary);
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.1667;
}

/* Inputs */

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
body .gform_wrapper .gform_body .gform_fields .gfield select,
body .gform_wrapper .gform_body .gform_fields .gfield textarea,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url] {
    background-color: var(--wp--custom--color--neutral-100);
    border: 1px solid var(--wp--preset--color--primary);
    border-radius: 5px;
    transition: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield select {
    background-image: url('../img/filters/filter.svg');
    background-position: center right 12px;
    background-repeat: no-repeat;
    background-size: 24px;
    cursor: pointer;
    padding-right: calc(12px + 24px + 12px);
}

body .gform_wrapper .gform_body .gform_fields .gfield select:focus {
    background-image: url('../img/filters/filter_active.svg');
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield textarea:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield input[type=url]:focus {
    box-shadow: none;
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: 2px;
}

/* Checkboxes and radio buttons */

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_checkbox input[type=checkbox]:focus,
body .gform_wrapper .gform_body .gform_fields .gfield .gfield_radio input[type=radio]:focus {
    accent-color: var(--wp--preset--color--tertiary) !important;
    box-shadow: none;
    outline: 2px solid var(--wp--preset--color--primary);
    outline-offset: 2px;
}

/* Submit button */

body .gform_wrapper button,
body .gform_wrapper .gform_footer input[type=submit] {
    background-color: var(--wp--preset--color--tertiary) !important;
    border-radius: 500px !important;
    color: var(--wp--preset--color--background) !important;
    display: inline-block !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.3125 !important;
    padding: 12px 25px !important;
    transition: none !important;
}

body .gform_wrapper button:focus,
body .gform_wrapper .gform_footer input[type=submit]:focus {
    box-shadow: none !important;
    outline: 2px solid var(--wp--preset--color--primary) !important;
    outline-offset: 2px !important;
}

body .gform_wrapper button:hover,
body .gform_wrapper .gform_footer input[type=submit]:hover {
    background-color: var(--wp--preset--color--primary) !important;
}

body .gform_wrapper .gform_footer input[type=submit]:active {
    background-color: var(--wp--preset--color--secondary) !important;
}

/* Messages */

body .gform_wrapper .gform_validation_errors,
body .gform_wrapper .gform_body .gform_fields .gfield_error .validation_message {
    background-color: var(--wp--custom--color--neutral-100);
    border: 0;
    border-radius: 5px;
    box-shadow: none;
    color: var(--wp--preset--color--primary);
    font-weight: 700;
    padding: 15px;
}

body .gform_wrapper .gform_validation_errors .gform-icon,
body .gform_wrapper .gform_validation_errors .gform_submission_error::after {
    display: none;
}

body .gform_wrapper .gform_validation_errors .gform-icon,
body .gform_wrapper .gform_validation_errors .gform_submission_error {
    color: var(--wp--preset--color--primary);
    font-weight: 700;
}