/* Opt in per shortcode with dark="true". No background is added to the module. */
.fe-gravity-form--dark {
    color: #fff;
}

.fe-gravity-form--dark .gform_wrapper {
    --gf-ctrl-placeholder-color: #184b3f;
    --gf-ctrl-placeholder-opacity: 1;
    --gf-ctrl-label-color-req: #ffb4ab;
}

.fe-gravity-form--dark .gform_title,
.fe-gravity-form--dark .gform_description,
.fe-gravity-form--dark .gform_required_legend,
.fe-gravity-form--dark .gfield_label,
.fe-gravity-form--dark .gfield_description,
.fe-gravity-form--dark .ginput_complex label,
.fe-gravity-form--dark .gfield_checkbox label,
.fe-gravity-form--dark .gfield_radio label,
.fe-gravity-form--dark .gfield_consent_label,
.fe-gravity-form--dark .gfield_html,
.fe-gravity-form--dark .gsection_title,
.fe-gravity-form--dark .gsection_description,
.fe-gravity-form--dark .gform_confirmation_message {
    color: #fff;
}

.fe-gravity-form--dark :is(.gfield_html, .gfield_description, .gfield_consent_label, .gform_confirmation_message) a {
    color: inherit;
    text-decoration: underline;
}

/* Also support forms that still use the older Gravity Forms markup. */
.fe-gravity-form--dark .gform_wrapper :is(input:not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), textarea, select) {
    color: #12382f;
    background-color: #fff;
    border-color: #fff;
    color-scheme: light;
}

.fe-gravity-form--dark .gform_wrapper :is(input, textarea)::placeholder {
    color: #184b3f;
    opacity: 1 !important;
}

/* The parent theme gives submit buttons explicit colors with high specificity. */
.fe-gravity-form--dark .gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button, .gform_save_link) {
    color: #184b3f !important;
    background-color: #fff !important;
    border: 1px solid #fff !important;
}

.fe-gravity-form--dark .gform_wrapper :is(.gform_button, .gform_next_button, .gform_previous_button, .gform_save_link):hover {
    color: #184b3f !important;
    background-color: #e4ebe1 !important;
    border-color: #e4ebe1 !important;
}

.fe-gravity-form--dark .gform_wrapper :is(input, textarea, select, button, a):focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 3px;
}

.fe-gravity-form--dark .gform_wrapper .gfield_required {
    color: #ffb4ab;
}

/* Keep validation readable on the plugin's light error panels. */
.fe-gravity-form--dark .gfield_validation_message,
.fe-gravity-form--dark .validation_message {
    color: #8b1b22;
    background-color: #fff1f1;
    border: 1px solid #f5b9bc;
    padding: 0.75rem;
    border-radius: 5px;
}
