/**
 * Gravity Forms integration
 *
 * Primary actions: Submit, Send and Next.
 * Secondary actions: Previous and Save and Continue.
 */

/* Field labels */
body .gform_wrapper .gfield_label,
body .gform_wrapper .gform-field-label,
body .gform-theme--framework .gform-field-label {
    margin-left: 0 !important;
    color: var(--rightair-form-label-color) !important;
    font-family: var(--ra-font-family) !important;
    font-weight: var(--ra-weight-label) !important;
}

/* Inputs, selects and textareas across legacy and current Gravity Forms markup. */
body .gform_wrapper input[type='text'],
body .gform_wrapper input[type='email'],
body .gform_wrapper input[type='tel'],
body .gform_wrapper input[type='url'],
body .gform_wrapper input[type='number'],
body .gform_wrapper input[type='password'],
body .gform_wrapper input[type='search'],
body .gform_wrapper input[type='date'],
body .gform_wrapper input[type='time'],
body .gform_wrapper select,
body .gform_wrapper textarea,
body .gform-theme--framework input:not([type='submit']):not([type='button']):not([type='reset']):not([type='checkbox']):not([type='radio']):not([type='file']):not([type='image']),
body .gform-theme--framework select,
body .gform-theme--framework textarea {
    width: 100%;
    padding: var(--rightair-form-field-padding) !important;
    border: 1px solid var(--rightair-form-field-border) !important;
    border-radius: var(--rightair-form-field-radius) !important;
    background: var(--rightair-form-field-bg) !important;
    color: var(--rightair-form-field-text) !important;
    box-shadow: none !important;
}

body .gform_wrapper input:focus,
body .gform_wrapper select:focus,
body .gform_wrapper textarea:focus {
    outline: 2px solid color-mix(in srgb, var(--rightair-form-primary-bg) 25%, transparent);
    outline-offset: 1px;
}

/* Footer geometry for single-page and multi-page forms. */
body .gform_wrapper .gform_footer,
body .gform_wrapper .gform_page_footer,
body .gform-theme--framework .gform_footer,
body .gform-theme--framework .gform_page_footer {
    display: flex !important;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--ra-button-gap) !important;
    margin: 16px 0 0 !important;
    padding: 0 !important;
}

/* Shared geometry for all main form actions, regardless of input/button markup. */
body .gform_wrapper .gform_footer .gform_button,
body .gform_wrapper .gform_footer input[type='submit'],
body .gform_wrapper .gform_footer button[type='submit'],
body .gform_wrapper .gform_page_footer .gform_next_button,
body .gform_wrapper .gform_page_footer .gform_previous_button,
body .gform_wrapper .gform_page_footer .gform_save_link,
body .gform_wrapper .gform_page_footer input[type='button'],
body .gform_wrapper .gform_page_footer input[type='submit'],
body .gform_wrapper .gform_page_footer button,
body .gform_wrapper .gform-theme-button,
body .gform-theme--framework .gform_button,
body .gform-theme--framework .gform_next_button,
body .gform-theme--framework .gform_previous_button,
body .gform-theme--framework .gform_save_link {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
    height: var(--ra-button-height) !important;
    min-height: var(--ra-button-height) !important;
    margin: 0 !important;
    padding: 0 var(--ra-button-padding-x) !important;
    border-width: 0 !important;
    border-style: solid !important;
    border-radius: var(--ra-button-radius) !important;
    box-shadow: none !important;
    font-family: var(--ra-font-family) !important;
    font-size: var(--ra-button-font-size) !important;
    font-weight: var(--ra-weight-button) !important;
    line-height: 1 !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center;
    text-decoration: none !important;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, opacity .18s ease !important;
    transform: none !important;
    filter: none !important;
}

/* Primary: Submit, Send and Next. */
body .gform_wrapper .gform_footer .gform_button,
body .gform_wrapper .gform_footer input[type='submit'],
body .gform_wrapper .gform_footer button[type='submit'],
body .gform_wrapper .gform_page_footer .gform_next_button,
body .gform_wrapper .gform_page_footer input[type='submit'],
body .gform-theme--framework .gform_button,
body .gform-theme--framework .gform_next_button {
    border-color: var(--rightair-form-primary-border) !important;
    background: var(--rightair-form-primary-bg) !important;
    color: var(--rightair-form-primary-text) !important;
}

body .gform_wrapper .gform_footer .gform_button:hover,
body .gform_wrapper .gform_footer .gform_button:focus-visible,
body .gform_wrapper .gform_footer input[type='submit']:hover,
body .gform_wrapper .gform_footer input[type='submit']:focus-visible,
body .gform_wrapper .gform_footer button[type='submit']:hover,
body .gform_wrapper .gform_footer button[type='submit']:focus-visible,
body .gform_wrapper .gform_page_footer .gform_next_button:hover,
body .gform_wrapper .gform_page_footer .gform_next_button:focus-visible,
body .gform-theme--framework .gform_button:hover,
body .gform-theme--framework .gform_button:focus-visible,
body .gform-theme--framework .gform_next_button:hover,
body .gform-theme--framework .gform_next_button:focus-visible,
body .gform_wrapper .gform_footer .gform_button:active,
body .gform_wrapper .gform_footer input[type='submit']:active,
body .gform_wrapper .gform_footer button[type='submit']:active,
body .gform_wrapper .gform_page_footer .gform_next_button:active,
body .gform-theme--framework .gform_button:active,
body .gform-theme--framework .gform_next_button:active {
    border-color: var(--rightair-form-primary-hover-border) !important;
    background: var(--rightair-form-primary-hover-bg) !important;
    color: var(--rightair-form-primary-hover-text) !important;
}

/* Secondary: Previous and Save and Continue. */
body .gform_wrapper .gform_page_footer .gform_previous_button,
body .gform_wrapper .gform_page_footer .gform_save_link,
body .gform-theme--framework .gform_previous_button,
body .gform-theme--framework .gform_save_link {
    border-color: var(--rightair-form-secondary-border) !important;
    background: var(--rightair-form-secondary-bg) !important;
    color: var(--rightair-form-secondary-text) !important;
}

body .gform_wrapper .gform_page_footer .gform_previous_button:hover,
body .gform_wrapper .gform_page_footer .gform_previous_button:focus-visible,
body .gform_wrapper .gform_page_footer .gform_save_link:hover,
body .gform_wrapper .gform_page_footer .gform_save_link:focus-visible,
body .gform-theme--framework .gform_previous_button:hover,
body .gform-theme--framework .gform_previous_button:focus-visible,
body .gform-theme--framework .gform_save_link:hover,
body .gform-theme--framework .gform_save_link:focus-visible,
body .gform_wrapper .gform_page_footer .gform_previous_button:active,
body .gform_wrapper .gform_page_footer .gform_save_link:active,
body .gform-theme--framework .gform_previous_button:active,
body .gform-theme--framework .gform_save_link:active {
    border-color: var(--rightair-form-secondary-hover-border) !important;
    background: var(--rightair-form-secondary-hover-bg) !important;
    color: var(--rightair-form-secondary-hover-text) !important;
}

body .gform_wrapper button:disabled,
body .gform_wrapper input:disabled,
body .gform-theme--framework button:disabled,
body .gform-theme--framework input:disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
}

/* Utility buttons are intentionally quieter than form navigation. */
body .gform_wrapper .gform_button_select_files,
body .gform_wrapper button.add_list_item,
body .gform_wrapper button.delete_list_item {
    border-radius: calc(var(--ra-button-radius) * .65) !important;
}

body .gform_wrapper .gform_ajax_spinner {
    align-self: center;
    margin: 0 0 0 4px !important;
}

.gform_required_legend { padding-bottom: 25px !important; }
.gform_wrapper.gravity-theme .gf_progressbar { margin-bottom: 35px !important; }

.formHead {
    display: block;
    width: 100% !important;
    padding: 5px 0 5px 10px !important;
    border-radius: 8px;
    background-image: linear-gradient(to right, var(--rightair-blue), var(--rightair-blue-light));
    color: var(--rightair-form-primary-text);
    font-size: 16px;
    font-weight: 600 !important;
    text-transform: uppercase !important;
}

body #gform_wrapper_1 .gform_body .gform_legacy_markup_wrapper .description,
.gform_legacy_markup_wrapper .gfield_description,
.gform_legacy_markup_wrapper .gsection_description { margin: 0 0 0 10px !important; }
body #gform_wrapper_4 .gform_body .gfield_description,
body #gform_wrapper_4 .gform_body .gform_fileupload_rules { padding-left: 10px !important; }
body #gform_wrapper_4 .gform_body .gform_fileupload_rules { font-size: 12px; }
.gform_legacy_markup_wrapper .gform_fileupload_multifile .gform_drop_area { margin-bottom: 0 !important; }

@media (max-width: 767px) {
    /* Match the approved one-column Product Card action row on mobile. */
    body .gform_wrapper .gform_page_footer {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
        gap: var(--ra-button-gap) !important;
    }

    body .gform_wrapper .gform_page_footer .gform_next_button,
    body .gform_wrapper .gform_page_footer .gform_previous_button {
        width: 100% !important;
        min-width: 0 !important;
    }

    /* Save and Continue is supporting content and may occupy its own row. */
    body .gform_wrapper .gform_page_footer .gform_save_link {
        grid-column: 1 / -1;
        justify-self: start;
    }

    /* A single Submit/Send action keeps its natural content width. */
    body .gform_wrapper .gform_footer {
        align-items: center;
        gap: var(--ra-button-gap) !important;
    }
}
