:root .with_frm_style {
    --text-color: var(--wp--custom--form--control-color);
    --bg-color: var(--wp--custom--form--control-bg-color);
    --font-size: var(--wp--preset--font-size--medium);
    --weight: 700;

    --title-size: var(--wp--preset--font-size--fs-2);
    --title-color: currentColor;
    --title-margin-top: var(--wp--style--block-gap);
    --title-margin-bottom: 0;

    --form-desc-size: 1rem;
    --form-desc-color: currentColor;
    --form-desc-margin-top: var(--wp--style--block-gap);
    --form-desc-margin-bottom: 0;

    --border-radius: var(--wp--custom--border--radius);
    --border-color: var(--wp--custom--form--control-border-color);
    --border-color-active: var(--wp--preset--color--primary);
    --border-width-error: .125rem;

    --label-color: currentColor;
    --label-padding: 0 0 .5rem;

    --required-color: var(--wp--custom--color--danger--bg-color);
    --required-weight: 400;

    --auto-width: auto;
    --field-width: auto;
    --fieldset-padding: 0;
    --field-font-size: 1rem;
    --field-pad: var(--wp--custom--form--control-padding-y) var(--wp--custom--form--control-padding-x);
    --field-border-width: var(--wp--custom--border--width);

    --check-font-size: 1rem;
    --check-label-color: currentColor;

    --success-bg-color: var(--wp--custom--color--success--bg-color);
    --success-border-color: var(--wp--custom--color--success--bg-color);
    --success-text-color: var(--wp--custom--color--success--color);
    --success-font-size: var(--wp--preset--font-size--medium);
}

:root .frm_error {
    --form-desc-color: var(--required-color);
}

:root .frm_style_formidable-style.with_frm_style input[type=submit],
:root .frm_style_formidable-style.with_frm_style .frm_submit input[type=button],
:root .frm_style_formidable-style.with_frm_style .frm_submit button,
:root .frm_style_formidable-style.with_frm_style .frm_submit button:focus-visible {
    font-weight: var(--wp--custom--button--font-weight);
    font-size: var(--wp--custom--button--font-size);
    background: var(--wp--custom--button--bg-color);
    border-width: var(--wp--custom--button--border-width);
    border-color: var(--wp--custom--button--border-color);
    color: var(--wp--custom--button--color);
    border-radius: var(--wp--custom--button--border-radius);
    padding: var(--wp--custom--button--padding-y) var(--wp--custom--button--padding-x);
    box-shadow: none;
}

:root .frm_style_formidable-style.with_frm_style input[type=submit]:hover,
:root .frm_style_formidable-style.with_frm_style .frm_submit input[type=button]:hover,
:root .frm_style_formidable-style.with_frm_style .frm_submit button:hover {
    background-color: var(--wp--custom--button--hover-bg-color);
    border-color: var(--wp--custom--button--hover-border-color);
    color: var(--wp--custom--button--hover-color);
}

:root .frm_style_formidable-style.with_frm_style input[type=submit]:active,
:root .frm_style_formidable-style.with_frm_style .frm_submit input[type=button]:active,
:root .frm_style_formidable-style.with_frm_style .frm_submit button:active {
    background-color: var(--wp--custom--button--active-bg-color);
    border-color: var(--wp--custom--button--active-border-color);
    color: var(--wp--custom--button--active-color);
}

.frm_form_field textarea {
    min-height: calc(1.5em + .75rem + calc(var(--wp--custom--border--width) * 2));
}

:root .with_frm_style select {
    padding-right: 2.25rem;
}

:root .frm_required:not(:empty) {
    margin-left: .25rem;
    padding: .25rem;
    background: var(--wp--preset--color--base);
    border-radius: var(--border-radius);
    font-size: .938rem;
}

.with_frm_style .frm_radio input[type="radio"]:checked,
.with_frm_style .frm_checkbox input[type="checkbox"]:checked {
    --border-color: var(--wp--custom--focus--color);
}

.with_frm_style .form-field .frm_description {
    opacity: .75;
}

.frm_form_field:has(.frm_error) {
    padding-left: 1rem;
    border-left: .25rem solid var(--required-color);
}

.frm_error {
    display: flex;
    align-items: center;
    gap: .25rem;
}

.form-message {
    display: flex;
    gap: .75rem;
}

.form-message__errors {
    margin-top: .5rem;
}

.frm_half, .frm6,
.frm_third, .frm4,
.frm_two_thirds,
.frm_fourth, .frm3,
.frm_three_fourths,
.frm_sixth, .frm2,
.frm_full, .frm12 {
    --field-width: 100%;
}


/* FORMIDABLE DEFAULT OVERRIDES FOR SPECIFICITY */
:root .frm_style_formidable-style.with_frm_style .form-field {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

:root .frm_style_formidable-style.with_frm_style p.description,
:root .frm_style_formidable-style.with_frm_style div.description,
:root .frm_style_formidable-style.with_frm_style div.frm_description,
:root .frm_style_formidable-style.with_frm_style .frm-show-form > div.frm_description,
:root .frm_style_formidable-style.with_frm_style .frm_error,
:root .frm_style_formidable-style.with_frm_style .frm_pro_max_limit_desc {
    margin-bottom: .5rem;
    color: var(--form-desc-color);
    font-size: 1rem;
}

:root .frm_style_formidable-style.with_frm_style .frm_error {
    font-weight: 600;
}

:root .frm_style_formidable-style.with_frm_style .form-field .frm_description {
    margin-top: -.33rem;
}

:root .frm_forms.frm_style_formidable-style.with_frm_style {
    max-width: var(--wp--style--global--content-size);
}


:root .frm_style_formidable-style.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]):focus-visible,
:root .frm_style_formidable-style.with_frm_style select:focus-visible,
:root .frm_style_formidable-style.with_frm_style .form-field textarea:focus-visible,
:root .frm_style_formidable-style.with_frm_style .frm_focus_field input[type=text],
:root .frm_style_formidable-style.with_frm_style .frm_focus_field input[type=password],
:root .frm_style_formidable-style.with_frm_style .frm_focus_field input[type=email],
:root .frm_style_formidable-style.with_frm_style .frm_focus_field input[type=number],
:root .frm_style_formidable-style.with_frm_style .frm_focus_field input[type=url],
:root .frm_style_formidable-style.with_frm_style .frm_focus_field input[type=tel],
:root .frm_style_formidable-style.with_frm_style .frm_focus_field input[type=search],
:root .frm_form_fields_active_style,
:root .frm_style_formidable-style.with_frm_style .frm_focus_field .frm-card-element.StripeElement,
:root .frm_style_formidable-style.with_frm_style .frm_submit button:focus-visible {
    outline: var(--wp--custom--focus--width) solid var(--wp--custom--focus--color);
    outline-offset: var(--wp--custom--focus--offset);
    box-shadow: none;
}

:root .frm_style_formidable-style.with_frm_style .form-field input:not([type=file]):not([type=range]):not([readonly]):focus,
:root .frm_style_formidable-style.with_frm_style select:focus,
:root .frm_style_formidable-style.with_frm_style .form-field textarea:focus {
    box-shadow: none;
}

:root .with_frm_style input[type=text], .with_frm_style input[type=password],
:root .with_frm_style input[type=email], .with_frm_style input[type=number],
:root .with_frm_style input[type=url], .with_frm_style input[type=tel],
:root .with_frm_style input[type=file], .with_frm_style input[type=search],
:root .with_frm_style select, .with_frm_style .frm-card-element.StripeElement {
    min-height: auto;
    line-height: var(--wp--custom--form--control-line-height);
}

:root .with_frm_style .frm_radio label,
:root .with_frm_style .frm_checkbox label {
    line-height: var(--wp--custom--form--control-line-height);
}

:root .with_frm_style .frm_radio input[type=radio],
:root .with_frm_style .frm_checkbox input[type=checkbox] {
    width: 1rem !important;
    height: 1rem !important;
    min-width: 1rem !important;
}

:root .with_frm_style .frm_checkbox label input[type=checkbox],
:root .with_frm_style .frm_radio label input[type=radio] {
    --wp--custom--focus--offset: var(--wp--custom--focus--width);

    margin-right: .5rem;
}

:root .with_frm_style .vertical_radio .frm_checkbox,
:root .with_frm_style .vertical_radio .frm_radio,
:root .vertical_radio .frm_catlevel_1 {
    margin-bottom: .5rem;
}

:root .with_frm_style .vertical_radio .frm_checkbox label,
:root .with_frm_style .vertical_radio .frm_radio label {
    display: inline-block;
    width: auto;
}


/* ERRORS */

    :root .frm_style_formidable-style.with_frm_style .frm_error_style {
        background-color: var(--wp--custom--color--danger--bg-color);
        border: 1px solid var(--wp--custom--color--danger--bg-color);
        border-width: var(--wp--custom--border--width);
        border-radius: var(--border-radius);
        padding: .75rem;
        color: var(--wp--custom--color--danger--color);
        font-size: var(--wp--preset--font-size--medium);
        margin-bottom: 0;
    }

    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=text],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=password],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=url],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=tel],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=number],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=email],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=checkbox],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=radio],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field textarea,
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field .mce-edit-area iframe,
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field select:not(.ui-datepicker-month):not(.ui-datepicker-year),
    :root .frm_form_fields_error_style,
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field .frm-g-recaptcha iframe,
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field .g-recaptcha iframe,
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field .frm-card-element.StripeElement,
    :root .frm_style_formidable-style.with_frm_style .frm_form_field :invalid {
        color: var(--text-color);
        background-color: var(--bg-color);
        border-color: var(--required-color);
    }

    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=checkbox],
    :root .frm_style_formidable-style.with_frm_style .frm_blank_field input[type=radio] {
        --border-width-error: var(--field-border-width);

        border-color: var(--border-color);
    }

    :root .with_frm_style .frm_message, .frm_success_style {
        margin: 0;
    }