/* Gravity Forms variables (Default styles) */
.gform_wrapper.gform-theme {
    --theme--gf-progressbar-colour: var(--theme-color-primary) !important;
    --gf-color-primary: var(--theme-color-secondary);
    --gf-color-secondary: var(--theme-color-primary);
    --gf-ctrl-btn-bg-color-ctrl: var(--theme-color-secondary);
    --gf-ctrl-btn-bg-color-hover-ctrl: var(--theme-color-primary);
    --gf-ctrl-btn-bg-color-hover-primary: var(--theme-color-primary);
    --gf-ctrl-btn-color-ctrl: var(--theme-color-light);
    --gf-ctrl-btn-color-hover-ctrl: var(--gf-ctrl-btn-color-hover-primary);
    --gf-ctrl-btn-font-style: var(--wp--preset--font-family--montserrat);
    --gf-ctrl-btn-font-size: var(--wp--preset--font-size--tiny) !important;
    --gf-ctrl-btn-line-height: 1.2;
    --gf-ctrl-btn-radius: 6.25rem;
    --gf-ctrl-btn-text-transform: uppercase;
    --gf-ctrl-border-color: var(--theme-color-secondary);
    --gf-ctrl-outline-color-focus: var(--theme-color-light);
    --gf-ctrl-shadow: var(--theme-color-secondary);
}

/* Section Style (Forms): Cool Light */
.is-style-section-cool-light .gform_wrapper.gform-theme {
    --gf-ctrl-btn-bg-color-primary: var(--theme-color-primary) !important;
    --gf-ctrl-btn-bg-color-hover-primary: var(--theme-color-secondary) !important;
    --gf-ctrl-btn-bg-color-ctrl: var(--theme-color-primary) !important;
    --gf-ctrl-btn-bg-color-hover-ctrl: var(--theme-color-secondary) !important;
    --gf-ctrl-btn-color-hover-primary: var(--theme-color-light) !important;
    --gf-ctrl-btn-border-color-primary: var(--theme-color-light);
    --gf-ctrl-btn-border-color-hover-primary: var(--theme-color-light) !important;
    --gf-ctrl-border-color: var(--wp--preset--color--accent-2);
    --gf-ctrl-border-color-error: var(--theme--error) !important;
    --gf-ctrl-color-focus: var(--theme-color-secondary) !important;
    --gf-ctrl-border-color-focus: var(--theme-color-primary) !important;
    --gf-ctrl-label-color-primary: var(--theme-color-dark) !important;
    --gf-ctrl-label-color-secondary: var(--theme-color-dark) !important;
    --gf-form-validation-border-color: rgba(var(--gf-color-danger-rgb), 0.75);
    --gf-ctrl-choice-check-color: var(--theme-color-accent);
    --gf-ctrl-btn-bg-color-focus-primary: var(--theme-color-secondary);
}

/* Section Style (Forms): Cool Dark */
.is-style-section-cool-dark .gform_wrapper.gform-theme {
    --gf-ctrl-btn-bg-color-primary: var(--theme-color-primary) !important;
    --gf-ctrl-btn-bg-color-hover-primary: var(--theme-color-secondary) !important;
    --gf-ctrl-btn-bg-color-ctrl: var(--theme-color-primary) !important;
    --gf-ctrl-btn-bg-color-hover-ctrl: var(--theme-color-secondary) !important;
    --gf-ctrl-btn-bg-color-focus-primary: var(--theme-color-secondary);
    --gf-ctrl-btn-border-color-primary: var(--theme-color-light);
    --gf-ctrl-btn-border-color-hover-primary: var(--theme-color-light) !important;
    --gf-ctrl-btn-color-hover-primary: var(--theme-color-dark-snow-blue-ice) !important;
    --gf-ctrl-btn-color-hover-ctrl: var(--theme-color-dark-snow-blue-ice) !important;
    --gf-ctrl-btn-color-focus-ctrl: var(--theme-color-accent) !important;
    --gf-ctrl-border-color: var(--wp--preset--color--accent-2);
    --gf-ctrl-border-color-error: var(--theme--error) !important;
    --gf-ctrl-border-color-focus: var(--theme-color-accent) !important;
    --gf-ctrl-outline-color-focus: var(--theme-color-accent);
    --gf-ctrl-color-focus: var(--theme-color-dark-snow-blue-ice);
    --gf-ctrl-label-color-primary: var(--theme-color-light) !important;
    --gf-ctrl-label-color-secondary: var(--theme-color-light) !important;
    --gf-ctrl-label-color-tertiary: var(--theme-color-accent);
    --gf-ctrl-choice-check-color: var(--theme-color-accent);
    --gf-ctrl-desc-color: var(--theme-color-light) !important;
    --gf-ctrl-label-color-req: var(--theme-color-dark-accent);
    --gf-form-validation-border-color: rgba(var(--gf-color-danger-rgb), 0.75);
}

/* Section Style (Forms): Warm Dark */
.is-style-section-warm-dark .gform_wrapper.gform-theme {
    --gf-ctrl-btn-bg-color-primary: var(--theme-color-secondary) !important;
    --gf-ctrl-btn-bg-color-hover-primary: var(--theme-color-grey) !important;
    --gf-ctrl-btn-bg-color-hover-ctrl: var(--theme-color-grey) !important;
    --gf-ctrl-btn-bg-color-focus-primary: var(--theme-color-dark);
    --gf-ctrl-btn-bg-color-ctrl: var(--theme-color-secondary) !important;
    --gf-ctrl-btn-border-color-primary: var(--theme-color-light);
    --gf-ctrl-btn-border-color-hover-primary: var(--theme-color-light) !important;
    --gf-ctrl-btn-color-hover-primary: var(--theme-color-base) !important;
    --gf-ctrl-btn-color-hover-ctrl: var(--theme-color-base) !important;
    --gf-ctrl-btn-color-focus-ctrl: var(--theme-color-base) !important;
    --gf-ctrl-border-color: var(--theme-color-accent);
    --gf-ctrl-border-color-error: var(--theme--error) !important;
    --gf-ctrl-border-color-focus: var(--theme-color-accent) !important;
    --gf-ctrl-outline-color-focus: var(--theme-color-accent);
    --gf-ctrl-color-focus: var(--theme-color-grey);
    --gf-ctrl-label-color-primary: var(--theme-color-lighter) !important;
    --gf-ctrl-label-color-secondary: var(--theme-color-light) !important;
    --gf-ctrl-label-color-tertiary: var(--theme-color-light);
    --gf-ctrl-label-color-req: var(--theme-color-accent);
    --gf-ctrl-choice-check-color: var(--theme-color-grey);
    --gf-ctrl-desc-color: var(--theme-color-light) !important;
    --gf-form-validation-border-color: rgba(var(--gf-color-danger-rgb), 0.75);
}

.gform_wrapper.gform-theme form.footer-form input {
    background-color: var(--theme-color-base);
    border-color: var(--theme-color-primary);
}

.gform_wrapper.gform-theme form.footer-form input[type=submit] {
    background-color: var(--theme-color-secondary) !important;
}

.is-style-section-cool-light .gform_wrapper.gform-theme form.footer-form input {
    background-color: var(--theme-color-light);
    border-color: var(--wp--preset--color--accent-2);
}

.is-style-section-cool-light .gform_wrapper.gform-theme form.footer-form input[type=submit] {
    background-color: var(--theme-color-primary) !important;
}

.is-style-section-cool-dark .gform_wrapper.gform-theme form.footer-form input {
    background-color: var(--theme-color-base);
    border-color: var(--wp--preset--color--accent-2);
}

.is-style-section-cool-dark .gform_wrapper.gform-theme form.footer-form input[type=submit] {
    background-color: var(--theme-color-primary) !important;
}

.is-style-section-warm-dark .gform_wrapper.gform-theme form.footer-form input {
    background-color: var(--theme-color-base);
    border-color: var(--wp--preset--color--accent);
}

.is-style-section-warm-dark .gform_wrapper.gform-theme form.footer-form input[type=submit] {
    background-color: var(--theme-color-secondary) !important;
}

/* Hover states */
.gform_wrapper.gform-theme form.footer-form input[type=submit]:hover {
    background-color: var(--theme-color-primary) !important;
}

.is-style-section-cool-light .gform_wrapper.gform-theme form.footer-form input[type=submit]:hover {
    background-color: var(--theme-color-dark-snow-blue-ice) !important;
}

.is-style-section-cool-dark .gform_wrapper.gform-theme form.footer-form input[type=submit]:hover {
    background-color: var(--theme-color-secondary) !important;
    color: var(--theme-color-dark-snow-blue-ice);
}

.is-style-section-warm-dark .gform_wrapper.gform-theme form.footer-form input[type=submit]:hover {
    background-color: var(--theme-color-grey) !important;
    color: var(--theme-color-base);
}

/* Section Style (Forms): Warm Light (Default) */
.is-style-section-warm-light .gform_wrapper.gform-theme form.footer-form input {
    background-color: var(--wp--preset--color--white);
}

/* Form fields */
.gform_wrapper.gform-theme .gform_body .gform_fields .gfield {
    .ginput_container input:not([type=checkbox], [type=radio]),
    .ginput_container input[type=text],
    .ginput_container_select .gfield_select,
    .ginput_container_textarea .textarea,
    .ginput_container_address select {
        border-bottom-width: 0.125rem;
        border-color: var(--gf-ctrl-border-color);
        border-left: 0;
        border-radius: 0.75rem 0.75rem 0 0;
        border-right: 0;
        border-top: 0;
        font-weight: 300;
        line-height: 1.6;
        min-height: 3rem;
        padding-block: 0.75rem;

        &:focus {
            border-bottom: 3px solid var(--theme-color-primary);
            box-shadow: var(--theme-color-primary);
        }
    }

    .ginput_container.ginput_container_fileupload {
        & input[type=file] {
            border-radius: 0.75rem;
            height: 2.5rem !important;
            line-height: 1 !important;
            min-height: 100%;
            padding-block: 0 !important;
            width: 100%;

            &::file-selector-button {
                background-color: var(--gf-ctrl-btn-bg-color-ctrl);
                border: none;
                color: var(--gf-ctrl-btn-color-ctrl);
                cursor: pointer;
                height: 2.5rem !important;
                line-height: 1 !important;
                margin-right: 1rem;
                padding: 0.5rem 1rem;
            }

            &:hover {
                &::file-selector-button {
                    background-color: var(--gf-ctrl-btn-bg-color-hover-ctrl);
                    color: var(--gf-ctrl-btn-color-hover-primary);
                }
            }
        }
    }
}

@media (min-width: 640px) {
    .gform-theme--foundation .ginput_address_country {
        inline-size: 100% !important;
    }
}

/* Buttons */
.gform_wrapper.gform-theme .gform_footer input[type=submit].button {
    block-size: unset;
    font-size: 0.875rem !important;
    padding: 1rem 2rem !important;
    text-wrap: nowrap;
}

/* Page Footer Buttons */
.gform_wrapper.gform-theme .gform_page_footer {
    input[type=button].button {
        background-color: var(--gf-ctrl-btn-bg-color-ctrl, --theme-color-secondary) !important;
        block-size: unset;
        font-size: 0.875rem !important;
        padding-inline: 2rem !important;

        &:hover {
            background-color: var(--gf-ctrl-btn-bg-color-hover-primary, --theme-color-primary) !important;
        }
    }

    input[type=button].gform_previous_button {
        --gf-local-border-color: transparent;
        --gf-local-border-width: 0px !important;
        --gf-local-color: var(--theme-color-light, #fff) !important;
    }
}
