/* 
   GRAVITY FORMS THEME — driven by CSS Custom Properties.
   
   Values in :root are DEFAULT FALLBACKS only.
   The Customizer (via AQS_GF_Style_Manager) overrides individual
   properties by injecting a separate :root { } block of just the
   changed values.
 */

:root {

    /* Global Palette  */
    --aqs-primary-color:           #0f3d6c;
    --aqs-text-color:              #323b44;

    /*  Form Wrapper */
    --aqs-wrapper-width:           940px;
    --aqs-wrapper-bg:              #ffffff;
    --aqs-wrapper-border-width:    0;
    --aqs-wrapper-border-style:    solid;
    --aqs-wrapper-border-color:    transparent;
    --aqs-wrapper-radius:          0;
    --aqs-wrapper-padding:         0;
    --aqs-wrapper-margin:          0;

    /* Form Body  */
    --aqs-body-bg:                 #ffffff;
    --aqs-body-border-width:       0;
    --aqs-body-border-style:       solid;
    --aqs-body-border-color:       transparent;
    --aqs-body-radius:             0;
    --aqs-body-padding:            0px 0px;
    --aqs-body-margin:             0;

    /*  Grid (form columns)  */
    --aqs-fields-cols:             9;
    --aqs-faq-cols:                3;

    /*  Form Items (.gfield) */
    --aqs-field-bg:                transparent;
    --aqs-field-border-width:      0;
    --aqs-field-border-style:      solid;
    --aqs-field-border-color:      transparent;
    --aqs-field-radius:            0;
    --aqs-field-padding:           0;
    --aqs-field-margin:            0;
}


/* FORM WRAPPER */

.gform-theme--framework {
    width:            var(--aqs-wrapper-width);
    max-width:        100%;
    background-color: var(--aqs-wrapper-bg);
    border-width:     var(--aqs-wrapper-border-width);
    border-style:     var(--aqs-wrapper-border-style);
    border-color:     var(--aqs-wrapper-border-color);
    border-radius:    var(--aqs-wrapper-radius);
    padding:          var(--aqs-wrapper-padding);
    margin:           var(--aqs-wrapper-margin);
    box-sizing:       border-box;
}


/* FORM BODY (the GF native .gform_body) */

.gform-theme--framework .gform_body {
    background-color: var(--aqs-body-bg);
    border-width:     var(--aqs-body-border-width);
    border-style:     var(--aqs-body-border-style);
    border-color:     var(--aqs-body-border-color);
    border-radius:    var(--aqs-body-radius);
    padding:          var(--aqs-body-padding);
    margin:           var(--aqs-body-margin);
    box-sizing:       border-box;
}


/* 
   FORM ITEMS (.gfield) — excludes Section & FAQ fields
   (those carry .aqs-gf-faq-field instead of .aqs-gf-none-faq)
 */
.gform-theme--framework .gform_fields .aqs-gf-none-faq.gfield:not(.gfield--type-section):not(.gfield--type-html) {
    background-color: var(--aqs-field-bg);
    border-width:     var(--aqs-field-border-width);
    border-style:     var(--aqs-field-border-style);
    border-color:     var(--aqs-field-border-color);
    border-radius:    var(--aqs-field-radius);
    padding:          var(--aqs-field-padding);
    margin:           var(--aqs-field-margin);
    box-sizing:       border-box;
}

.gform-theme.gform-theme--framework.gform_wrapper .gform_fields .aqs-gf-none-faq.gfield > .gfield_label {
    color:          var(--aqs-form-items-label-color, var(--aqs-text-color, #323b44));
    font-family:    var(--aqs-form-items-label-font-family);
    font-size:      var(--aqs-form-items-label-font-size, 14px);
    font-weight:    var(--aqs-form-items-label-font-weight, 600);
    font-style:     var(--aqs-form-items-label-font-style);
    line-height:    var(--aqs-form-items-label-line-height, 1.4);
    letter-spacing: var(--aqs-form-items-label-letter-spacing);
    text-align:     var(--aqs-form-items-label-text-align);
    text-transform: var(--aqs-form-items-label-text-transform);
}

/* Odd / Even alternating backgrounds */
.gform-theme--framework .gform_fields .aqs-gf-none-faq.gfield:not(.gfield--type-section):not(.gfield--type-html):nth-child(odd of .aqs-gf-none-faq.gfield:not(.gfield--type-section):not(.gfield--type-html)) {
    background-color: var(--aqs-field-odd-bg, var(--aqs-field-bg));
}

.gform-theme--framework .gform_fields .aqs-gf-none-faq.gfield:not(.gfield--type-section):not(.gfield--type-html):nth-child(even of .aqs-gf-none-faq.gfield:not(.gfield--type-section):not(.gfield--type-html)) {
    background-color: var(--aqs-field-even-bg, var(--aqs-field-bg));
}

/* ═══════════════════════════════════════════════════════════
   SECTION FIELD (.gfield--type-section)
═══════════════════════════════════════════════════════════ */

/* Container */
.gform-theme--framework .gform_fields .gfield--type-section {
    background-color: var(--aqs-section-bg);
    border-width:     var(--aqs-section-border-width, 0);
    border-style:     var(--aqs-section-border-style, solid);
    border-color:     var(--aqs-section-border-color, transparent);
    border-radius:    var(--aqs-section-radius, 0);
    padding:          var(--aqs-section-padding, 0);
    margin:           var(--aqs-section-margin, 0);
    box-sizing:       border-box;
}

/* Title (.gsection_title) */
.gform-theme--framework .gform_fields .gfield--type-section .gsection_title {
    background-color: var(--aqs-section-title-bg);
    border-width:     var(--aqs-section-title-border-width, 0);
    border-style:     var(--aqs-section-title-border-style, solid);
    border-color:     var(--aqs-section-title-border-color, transparent);
    border-radius:    var(--aqs-section-title-radius, 0);
    padding:          var(--aqs-section-title-padding, 0);
    margin:           var(--aqs-section-title-margin, 0);

    color:            var(--aqs-section-title-color, var(--aqs-text-color, #323b44));
    font-family:      var(--aqs-section-title-font-family);
    font-size:        var(--aqs-section-title-font-size, 18px);
    font-weight:      var(--aqs-section-title-font-weight, 600);
    font-style:       var(--aqs-section-title-font-style);
    line-height:      var(--aqs-section-title-line-height, 1.4);
    letter-spacing:   var(--aqs-section-title-letter-spacing);
    text-align:       var(--aqs-section-title-text-align);
    text-transform:   var(--aqs-section-title-text-transform);
}

/* Description (.gsection_description) */
.gform-theme--framework .gform_fields .gfield--type-section .gsection_description {
    background-color: var(--aqs-section-description-bg);
    border-width:     var(--aqs-section-description-border-width, 0);
    border-style:     var(--aqs-section-description-border-style, solid);
    border-color:     var(--aqs-section-description-border-color, transparent);
    border-radius:    var(--aqs-section-description-radius, 0);
    padding:          var(--aqs-section-description-padding, 0);
    margin:           var(--aqs-section-description-margin, 0);

    color:            var(--aqs-section-description-color, var(--aqs-text-color, #323b44));
    font-family:      var(--aqs-section-description-font-family);
    font-size:        var(--aqs-section-description-font-size, 14px);
    font-weight:      var(--aqs-section-description-font-weight);
    font-style:       var(--aqs-section-description-font-style);
    line-height:      var(--aqs-section-description-line-height, 1.5);
    letter-spacing:   var(--aqs-section-description-letter-spacing);
    text-align:       var(--aqs-section-description-text-align);
    text-transform:   var(--aqs-section-description-text-transform);
}


/* ═══════════════════════════════════════════════════════════
   HTML FIELD (.gfield--type-html)
═══════════════════════════════════════════════════════════ */

.gform-theme--framework .gform_fields .gfield--type-html {
    background-color: var(--aqs-html-bg);
    border-width:     var(--aqs-html-border-width, 0);
    border-style:     var(--aqs-html-border-style, solid);
    border-color:     var(--aqs-html-border-color, transparent);
    border-radius:    var(--aqs-html-radius, 0);
    padding:          var(--aqs-html-padding, 0);
    margin:           var(--aqs-html-margin, 0);
    box-sizing:       border-box;
}

.gform-theme--framework .gform_fields .gfield--type-html,
.gform-theme--framework .gform_fields .gfield--type-html .gfield_html {
    color:          var(--aqs-html-color, var(--aqs-text-color, #323b44));
    font-family:    var(--aqs-html-font-family);
    font-size:      var(--aqs-html-font-size, 14px);
    font-weight:    var(--aqs-html-font-weight);
    font-style:     var(--aqs-html-font-style);
    line-height:    var(--aqs-html-line-height, 1.5);
    letter-spacing: var(--aqs-html-letter-spacing);
    text-align:     var(--aqs-html-text-align);
    text-transform: var(--aqs-html-text-transform);
}

/* ═══════════════════════════════════════════════════════════
   FIELD INPUT — Base
   Applies to text-input-like elements (text/email/tel/number/url/
   password/date/time/search/textarea/select).
   Excludes: radio, checkbox, file, submit, button, hidden, image.
═══════════════════════════════════════════════════════════ */

.gform-theme.gform-theme--framework.gform_wrapper .ginput_container input:where(:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="image"])),
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container textarea,
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container select {
    width:            var(--aqs-input-width, 100%);
    background-color: var(--aqs-input-bg, #ffffff);

    --gf-local-border-width: var(--aqs-input-border-width, 1px);
    border-width:     var(--aqs-input-border-width, 1px);
    --gf-local-border-style: var(--aqs-input-border-style, solid);
    border-style:     var(--aqs-input-border-style, solid);
    --gf-local-border-color: var(--aqs-input-border-color, #e5e5e5);
    border-color:     var(--aqs-input-border-color, #e5e5e5);
    --gf-local-radius: var(--aqs-input-radius, 4px);
    border-radius:    var(--aqs-input-radius, 4px);

    box-sizing:       border-box;

    color:            var(--aqs-input-color, var(--aqs-text-color, #323b44));
    font-family:      var(--aqs-input-font-family);
    font-size:        var(--aqs-input-font-size, 16px);
    font-weight:      var(--aqs-input-font-weight, 400);
    font-style:       var(--aqs-input-font-style);
    letter-spacing:   var(--aqs-input-letter-spacing);
    text-align:       var(--aqs-input-text-align);
    text-transform:   var(--aqs-input-text-transform);
}


.gform-theme.gform-theme--framework.gform_wrapper .ginput_container input:where(:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="image"])),
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container textarea {
    line-height:      var(--aqs-input-line-height, 1.5);
    padding: var(--aqs-input-padding, 10px 14px);
}

/* Height — applies ONLY to single-line inputs (not textarea, not select).
   When input_height = 0, the int handler skips the var so calc() fails
   and height falls back to its CSS initial (auto). */
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container input:where(:not([type="radio"]):not([type="checkbox"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="image"])) {
    height: calc(var(--aqs-input-height) * 1px);
}


/* ═══════════════════════════════════════════════════════════
   FIELD INPUT — Focus State
   Applies to ALL inputs except radio and checkbox.
═══════════════════════════════════════════════════════════ */

.gform-theme.gform-theme--framework.gform_wrapper .ginput_container input:where(:not([type="radio"]):not([type="checkbox"])):focus,
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container textarea:focus,
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container select:focus {
    background-color: var(--aqs-input-focus-bg, var(--aqs-input-bg, #ffffff));
    color:            var(--aqs-input-focus-color, var(--aqs-input-color, #323b44));
    border-color:     var(--aqs-input-focus-border-color, var(--aqs-input-border-color, #e5e5e5));

    outline-color:    var(--aqs-input-focus-outline-color, transparent);
    outline-width:    var(--aqs-input-focus-outline-width, 0px);
    outline-style:    var(--aqs-input-focus-outline-style, solid);
    outline-offset:   var(--aqs-input-focus-outline-offset, 0px);

    box-shadow:       var(--aqs-input-focus-shadow, none);
}

/* ═══════════════════════════════════════════════════════════
   FIELD TEXTAREA
═══════════════════════════════════════════════════════════ */
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container textarea {
    min-height: calc(var(--aqs-textarea-rows, 4) * 1.5em);
    max-width:  calc(var(--aqs-textarea-cols, 40) * 1ch);
}


/* ═══════════════════════════════════════════════════════════
   FIELD SELECT
═══════════════════════════════════════════════════════════ */
.gform-theme.gform-theme--framework.gform_wrapper .ginput_container select {
    height:      calc(var(--aqs-select-height) * 1px);
    line-height: var(--aqs-select-line-height, 34px);
}

/* ═══════════════════════════════════════════════════════════
   RADIO & CHECKBOX — Unified .gchoice styling
═══════════════════════════════════════════════════════════ */

/* ── Choice card (base) ──────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gchoice {
    background-color: var(--aqs-choice-bg);
    border-width:     var(--aqs-choice-border-width, 0);
    border-style:     var(--aqs-choice-border-style, solid);
    border-color:     var(--aqs-choice-border-color, transparent);
    border-radius:    var(--aqs-choice-radius, 0);
    padding:          var(--aqs-choice-padding, 0);
    margin:           var(--aqs-choice-margin, 0);
    box-sizing:       border-box;
    transition:       background-color 0.2s ease, border-color 0.2s ease;
}

/* ── Label typography ────────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gchoice > label {
    color:          var(--aqs-choice-color, var(--aqs-text-color, #323b44));
    font-family:    var(--aqs-choice-font-family);
    font-size:      var(--aqs-choice-font-size, 15px);
    font-weight:    var(--aqs-choice-font-weight, 400);
    font-style:     var(--aqs-choice-font-style);
    line-height:    var(--aqs-choice-line-height, 1.5);
    letter-spacing: var(--aqs-choice-letter-spacing);
    text-align:     var(--aqs-choice-text-align);
    text-transform: var(--aqs-choice-text-transform);
    cursor:         pointer;
}

.gform-theme.gform-theme--framework.gform_wrapper .gchoice > input[type="radio"],
.gform-theme.gform-theme--framework.gform_wrapper .gchoice > input[type="checkbox"] {
    --gf-ctrl-choice-check-color: var(--aqs-choice-accent);
    accent-color:                 var(--aqs-choice-accent);
    cursor:                       pointer;

        /* Native border (unchecked state) */
    border-width: var(--aqs-choice-input-border-width, 1px);
    border-style: var(--aqs-choice-input-border-style, solid);
    border-color: var(--aqs-choice-input-border-color, #c0c0c0);
}

/* ── Checked state (parent .gchoice when input is checked) ─ */
.gform-theme.gform-theme--framework.gform_wrapper .gchoice:has(> input:checked) {
    background-color: var(--aqs-choice-checked-bg, var(--aqs-choice-bg));
    border-color:     var(--aqs-choice-checked-border-color, var(--aqs-choice-border-color, transparent));
    box-shadow:       var(--aqs-choice-checked-shadow, none);
}

.gform-theme.gform-theme--framework.gform_wrapper .gchoice:has(> input:checked) > label {
    color:       var(--aqs-choice-checked-color, var(--aqs-choice-color, var(--aqs-text-color, #323b44)));
    font-weight: var(--aqs-choice-checked-font-weight, var(--aqs-choice-font-weight, 400));
}

/* ── Focus state (when input inside .gchoice is focused) ──── */
.gform-theme.gform-theme--framework.gform_wrapper .gchoice input[type="radio"]:focus,
.gform-theme.gform-theme--framework.gform_wrapper .gchoice input[type="checkbox"]:focus {
    background-color: var(--aqs-choice-focus-bg, var(--aqs-choice-bg));
    border-color:     var(--aqs-choice-focus-border-color, var(--aqs-choice-border-color, transparent));

    outline-color:    var(--aqs-choice-focus-outline-color, transparent);
    outline-width:    var(--aqs-choice-focus-outline-width, 0px);
    outline-style:    var(--aqs-choice-focus-outline-style, solid);
    outline-offset:   var(--aqs-choice-focus-outline-offset, 0px);

    box-shadow:       var(--aqs-choice-focus-shadow, none);
}


/* ═══════════════════════════════════════════════════════════
   FORM HEADING (.gform_heading)
═══════════════════════════════════════════════════════════ */

/* Container */
.gform-theme.gform-theme--framework.gform_wrapper .gform_heading {
    background-color: var(--aqs-form-heading-bg);
    border-width:     var(--aqs-form-heading-border-width, 0);
    border-style:     var(--aqs-form-heading-border-style, solid);
    border-color:     var(--aqs-form-heading-border-color, transparent);
    border-radius:    var(--aqs-form-heading-radius, 0);
    padding:          var(--aqs-form-heading-padding, 0);
    margin:           var(--aqs-form-heading-margin, 0);
    box-sizing:       border-box;
}

/* Title typography */
.gform-theme.gform-theme--framework.gform_wrapper .gform_heading {
    color:          var(--aqs-form-heading-color, var(--aqs-text-color, #323b44));
    font-family:    var(--aqs-form-heading-font-family);
    font-size:      var(--aqs-form-heading-font-size, 22px);
    font-weight:    var(--aqs-form-heading-font-weight, 700);
    font-style:     var(--aqs-form-heading-font-style);
    line-height:    var(--aqs-form-heading-line-height, 1.3);
    letter-spacing: var(--aqs-form-heading-letter-spacing);
    text-align:     var(--aqs-form-heading-text-align);
    text-transform: var(--aqs-form-heading-text-transform);
}
.gform-theme.gform-theme--framework.gform_wrapper .gform_heading p {
    margin: 0;
}

/* Hide heading when disabled (class added server-side) */
.gform-theme.gform-theme--framework.gform_wrapper.aqs-form-heading-hidden .gform_heading {
    display: none;
}

.gform-theme.gform-theme--framework.gform_wrapper .gf_progressbar_wrapper {
    background-color: var(--aqs-progress-bar-cont-bg);
    border-width:     var(--aqs-progress-bar-cont-border-width, 0);
    border-style:     var(--aqs-progress-bar-cont-border-style, solid);
    border-color:     var(--aqs-progress-bar-cont-border-color, transparent);
    border-radius:    var(--aqs-progress-bar-cont-radius, 0);
    padding:          var(--aqs-progress-bar-cont-padding, 0);
    margin:           var(--aqs-progress-bar-cont-margin, 0);
    margin-block-end: var(--gf-field-pg-prog-margin-y-end);
    box-sizing:       border-box;
}

/* ═══════════════════════════════════════════════════════════
   PROGRESS BAR TITLE (.gf_progressbar_title)
═══════════════════════════════════════════════════════════ */

.gform-theme.gform-theme--framework.gform_wrapper .gf_progressbar_title {
    background-color: var(--aqs-progress-bar-title-bg);
    border-width:     var(--aqs-progress-bar-title-border-width, 0);
    border-style:     var(--aqs-progress-bar-title-border-style, solid);
    border-color:     var(--aqs-progress-bar-title-border-color, transparent);
    border-radius:    var(--aqs-progress-bar-title-radius, 0);
    padding:          var(--aqs-progress-bar-title-padding, 0);
    margin:           var(--aqs-progress-bar-title-margin, 0);
    margin-block-end: var(--gf-field-pg-prog-title-margin-y-end);
    box-sizing:       border-box;

    color:          var(--aqs-progress-bar-title-color, var(--aqs-text-color, #323b44));
    font-family:    var(--aqs-progress-bar-title-font-family);
    font-size:      var(--aqs-progress-bar-title-font-size, 14px);
    font-weight:    var(--aqs-progress-bar-title-font-weight, 400);
    font-style:     var(--aqs-progress-bar-title-font-style);
    line-height:    var(--aqs-progress-bar-title-line-height, 1.4);
    letter-spacing: var(--aqs-progress-bar-title-letter-spacing);
    text-align:     var(--aqs-progress-bar-title-text-align);
    text-transform: var(--aqs-progress-bar-title-text-transform);
}

/* ═══════════════════════════════════════════════════════════
   PROGRESS BAR — Track & Fill
═══════════════════════════════════════════════════════════ */

/* Track (.gf_progressbar) */
.gform-theme.gform-theme--framework.gform_wrapper .gf_progressbar {
    background-color: var(--aqs-progress-bar-track-bg, var(--gf-field-pg-prog-bar-bg-color));

    /* Override GF's height var — when ours is unset, calc fails →
       var becomes invalid → GF's default value inherits down. */
    --gf-field-pg-prog-bar-height: calc(var(--aqs-progress-bar-track-height, 10) * 1px);

    border-width:  var(--aqs-progress-bar-track-border-width, 0);
    border-style:  var(--aqs-progress-bar-track-border-style, solid);
    border-color:  var(--aqs-progress-bar-track-border-color, transparent);
    border-radius: var(--aqs-progress-bar-track-radius, var(--gf-field-pg-prog-bar-radius));
    box-sizing:    border-box;
}

/* Fill (.gf_progressbar_percentage) */
.gform-theme.gform-theme--framework.gform_wrapper .gf_progressbar .gf_progressbar_percentage {
    background-color: var(--aqs-progress-bar-fill-bg, var(--gf-field-pg-prog-bar-bg-color-blue)) !important;
    
    border-width:  var(--aqs-progress-bar-fill-border-width, 0);
    border-style:  var(--aqs-progress-bar-fill-border-style, solid);
    border-color:  var(--aqs-progress-bar-fill-border-color, transparent);
    border-radius: var(--aqs-progress-bar-fill-radius, var(--gf-field-pg-prog-bar-radius));
    box-sizing:    border-box;
}

/* ── Progress bar visibility toggles ─────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper.aqs-progress-bar-wrapper-hidden .gf_progressbar_wrapper {
    display: none;
}

.gform-theme.gform-theme--framework.gform_wrapper.aqs-progress-bar-title-hidden .gf_progressbar_title {
    display: none;
}

.gform-theme.gform-theme--framework.gform_wrapper.aqs-progress-bar-hidden .gf_progressbar {
    display: none;
}

/* ═══════════════════════════════════════════════════════════
   FORM FOOTER CONTAINER (.gform_page_footer)
═══════════════════════════════════════════════════════════ */

.gform-theme.gform-theme--framework.gform_wrapper .gform_page_footer {
    background-color: var(--aqs-footer-cont-bg);
    border-width:     var(--aqs-footer-cont-border-width, 0);
    border-style:     var(--aqs-footer-cont-border-style, solid);
    border-color:     var(--aqs-footer-cont-border-color, transparent);
    border-radius:    var(--aqs-footer-cont-radius, 0);
    padding:          var(--aqs-footer-cont-padding, 0);
    margin:           var(--aqs-footer-cont-margin, 0);
    margin-block-start: var(--gf-form-footer-margin-y-start);
    box-sizing:       border-box;

    /* Flex controls */
    justify-content:  var(--aqs-footer-cont-justify, flex-start);
    gap:              var(--aqs-footer-cont-gap, 0px);
}

/* ═══════════════════════════════════════════════════════════
   FORM BUTTONS — Submit / Next / Previous
   Selectors use triple-class chains to beat GF's (0,5,1)
   compound :where()/:not() patterns. Each triple chain = (0,6,0).
═══════════════════════════════════════════════════════════ */

/* ── Submit (.gform_button OR .gform-button[type="submit"]) ── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_button.gform_button.gform_button,
.gform-theme.gform-theme--framework.gform_wrapper .gform-button.gform-button.gform-button[type="submit"],
.gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button.gform-theme-button.gform-theme-button{
    background-color: var(--aqs-submit-btn-bg, var(--gf-ctrl-btn-bg-color-primary));
    padding:          var(--aqs-submit-btn-padding, 10px 20px);

    border-width:     var(--aqs-submit-btn-border-width, 0);
    border-style:     var(--aqs-submit-btn-border-style, solid);
    border-color:     var(--aqs-submit-btn-border-color, transparent);
    border-radius:    var(--aqs-submit-btn-radius, 4px);

    color:            var(--aqs-submit-btn-color, #ffffff);
    font-family:      var(--aqs-submit-btn-font-family);
    font-size:        var(--aqs-submit-btn-font-size, 15px);
    font-weight:      var(--aqs-submit-btn-font-weight, 600);
    font-style:       var(--aqs-submit-btn-font-style);
    line-height:      var(--aqs-submit-btn-line-height, 1.4);
    letter-spacing:   var(--aqs-submit-btn-letter-spacing);
    text-align:       var(--aqs-submit-btn-text-align);
    text-transform:   var(--aqs-submit-btn-text-transform);

    box-sizing:       border-box;
    cursor:           pointer;
}
/* ── Submit — Hover ───────────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_button.gform_button.gform_button:hover,
.gform-theme.gform-theme--framework.gform_wrapper .gform-button.gform-button.gform-button[type="submit"]:hover,
.gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button.gform-theme-button.gform-theme-button:hover {
    background-color: var(--aqs-submit-btn-hover-bg, var(--aqs-submit-btn-bg, #000000));
    color:            var(--aqs-submit-btn-hover-color, var(--aqs-submit-btn-color, #ffffff));
    border-color:     var(--aqs-submit-btn-hover-border-color, var(--aqs-submit-btn-border-color, transparent));
}

/* ── Submit — Focus ───────────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_button.gform_button.gform_button:focus,
.gform-theme.gform-theme--framework.gform_wrapper .gform-button.gform-button.gform-button[type="submit"]:focus,
.gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button.gform-theme-button.gform-theme-button:focus {
    background-color: var(--aqs-submit-btn-focus-bg, var(--aqs-submit-btn-bg));
    color:            var(--aqs-submit-btn-focus-color, var(--aqs-submit-btn-color, #ffffff));
    border-color:     var(--aqs-submit-btn-focus-border-color, var(--aqs-submit-btn-border-color, transparent));
    outline-color:    var(--aqs-submit-btn-focus-outline-color, transparent);
    outline-width:    var(--aqs-submit-btn-focus-outline-width, 0px);
    outline-style:    var(--aqs-submit-btn-focus-outline-style, solid);
    outline-offset:   var(--aqs-submit-btn-focus-outline-offset, 0px);
}

/* ── Next (.gform_next_button) ─────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_next_button.gform_next_button.gform_next_button {
    background-color: var(--aqs-next-btn-bg, #000000);
    padding:          var(--aqs-next-btn-padding, 10px 20px);

    border-width:     var(--aqs-next-btn-border-width, 0);
    border-style:     var(--aqs-next-btn-border-style, solid);
    border-color:     var(--aqs-next-btn-border-color, transparent);
    border-radius:    var(--aqs-next-btn-radius, 4px);

    color:            var(--aqs-next-btn-color, #ffffff);
    font-family:      var(--aqs-next-btn-font-family);
    font-size:        var(--aqs-next-btn-font-size, 15px);
    font-weight:      var(--aqs-next-btn-font-weight, 600);
    font-style:       var(--aqs-next-btn-font-style);
    line-height:      var(--aqs-next-btn-line-height, 1.4);
    letter-spacing:   var(--aqs-next-btn-letter-spacing);
    text-align:       var(--aqs-next-btn-text-align);
    text-transform:   var(--aqs-next-btn-text-transform);

    box-sizing:       border-box;
    cursor:           pointer;
}

/* ── Next — Hover ─────────────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_next_button.gform_next_button.gform_next_button:hover {
    background-color: var(--aqs-next-btn-hover-bg, var(--aqs-next-btn-bg, #dddddd));
    color:            var(--aqs-next-btn-hover-color, var(--aqs-next-btn-color, #ffffff));
    border-color:     var(--aqs-next-btn-hover-border-color, var(--aqs-next-btn-border-color, transparent));
}

/* ── Next — Focus ─────────────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_next_button.gform_next_button.gform_next_button:focus {
    background-color: var(--aqs-next-btn-focus-bg, var(--aqs-next-btn-bg));
    color:            var(--aqs-next-btn-focus-color, var(--aqs-next-btn-color, #ffffff));
    border-color:     var(--aqs-next-btn-focus-border-color, var(--aqs-next-btn-border-color, transparent));
    outline-color:    var(--aqs-next-btn-focus-outline-color, transparent);
    outline-width:    var(--aqs-next-btn-focus-outline-width, 0px);
    outline-style:    var(--aqs-next-btn-focus-outline-style, solid);
    outline-offset:   var(--aqs-next-btn-focus-outline-offset, 0px);
}


/* ── Previous (.gform_previous_button) ─────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_previous_button.gform_previous_button.gform_previous_button {
    background-color: var(--aqs-prev-btn-bg);
    padding:          var(--aqs-prev-btn-padding, 10px 20px);

    border-width:     var(--aqs-prev-btn-border-width, 0);
    border-style:     var(--aqs-prev-btn-border-style, solid);
    border-color:     var(--aqs-prev-btn-border-color, transparent);
    border-radius:    var(--aqs-prev-btn-radius, 4px);

    color:            var(--aqs-prev-btn-color);
    font-family:      var(--aqs-prev-btn-font-family);
    font-size:        var(--aqs-prev-btn-font-size, 15px);
    font-weight:      var(--aqs-prev-btn-font-weight, 600);
    font-style:       var(--aqs-prev-btn-font-style);
    line-height:      var(--aqs-prev-btn-line-height, 1.4);
    letter-spacing:   var(--aqs-prev-btn-letter-spacing);
    text-align:       var(--aqs-prev-btn-text-align);
    text-transform:   var(--aqs-prev-btn-text-transform);

    box-sizing:       border-box;
    cursor:           pointer;
}

/* ── Previous — Hover ─────────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_previous_button.gform_previous_button.gform_previous_button:hover {
    background-color: var(--aqs-prev-btn-hover-bg, var(--aqs-prev-btn-bg));
    color:            var(--aqs-prev-btn-hover-color, var(--aqs-prev-btn-color));
    border-color:     var(--aqs-prev-btn-hover-border-color, var(--aqs-prev-btn-border-color, transparent));
}

/* ── Previous — Focus ─────────────────────────────────────── */
.gform-theme.gform-theme--framework.gform_wrapper .gform_previous_button.gform_previous_button.gform_previous_button:focus {
    background-color: var(--aqs-prev-btn-focus-bg, var(--aqs-prev-btn-bg));
    color:            var(--aqs-prev-btn-focus-color, var(--aqs-prev-btn-color));
    border-color:     var(--aqs-prev-btn-focus-border-color, var(--aqs-prev-btn-border-color, transparent));
    outline-color:    var(--aqs-prev-btn-focus-outline-color, transparent);
    outline-width:    var(--aqs-prev-btn-focus-outline-width, 0px);
    outline-style:    var(--aqs-prev-btn-focus-outline-style, solid);
    outline-offset:   var(--aqs-prev-btn-focus-outline-offset, 0px);
}