.elementor-33892 .elementor-element.elementor-element-80eb737{--display:flex;--min-height:21vh;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--margin-top:-12%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;overflow:visible;}.elementor-33892 .elementor-element.elementor-element-80eb737:not(.elementor-motion-effects-element-type-background), .elementor-33892 .elementor-element.elementor-element-80eb737 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#1F1F1F;}.elementor-33892 .elementor-element.elementor-element-80eb737.e-con{--align-self:flex-start;}.elementor-33892 .elementor-element.elementor-element-a2ac404{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:9%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;overflow:visible;}.elementor-33892 .elementor-element.elementor-element-5889630{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}.elementor-33892 .elementor-element.elementor-element-5889630.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-33892 .elementor-element.elementor-element-8fe80b2{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}.elementor-33892 .elementor-element.elementor-element-8fe80b2.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-33892 .elementor-element.elementor-element-445c35c{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;overflow:visible;}@media(min-width:768px){.elementor-33892 .elementor-element.elementor-element-5889630{--width:5%;}.elementor-33892 .elementor-element.elementor-element-8fe80b2{--width:80%;}.elementor-33892 .elementor-element.elementor-element-445c35c{--width:5%;}}/* Start custom CSS for wp-widget-gform_widget, class: .elementor-element-cf335fc *//* ===================================================================
   GRAVITY FORMS — Refined Professional Styling
   Brand palette: Forest #1C3A2E · Terracotta #E97133
   =================================================================== */

/* ── Design tokens (used as reference; values inlined below) ──
   --forest:        #1C3A2E
   --forest-soft:   #2E5142
   --terracotta:    #E97133
   --terracotta-dk: #D0622A
   --ink:           #1A1A1A
   --slate:         #5A7080
   --line:          #D8E4EE
   --line-soft:     #E8EDF3
   --bg-card:       #FFFFFF
   --radius:        12px
   --ease:          cubic-bezier(0.4, 0, 0.2, 1)
*/

/* ── Wrapper / card container ── */
.gform_wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif !important;
    max-width: 900px !important;   /* ← form width. Increase/decrease this one number.
                                       Use 100% to fill the page container completely. */
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #EAF0F5 !important;
    border-radius: 18px !important;
    padding: 40px 38px !important;
    box-shadow:
        0 1px 2px rgba(28, 58, 46, 0.04),
        0 12px 32px rgba(28, 58, 46, 0.07) !important;
    -webkit-font-smoothing: antialiased !important;
    text-rendering: optimizeLegibility !important;
}

/* ── Labels ── */
.gform_wrapper label,
.gform_wrapper .gfield_label,
.gform_wrapper legend,
.gform_wrapper .gform-field-label {
    color: #1C3A2E !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
    margin-bottom: 8px !important;
    display: block !important;
}

/* ── Inputs, Textareas, Selects ── */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper input[type="password"],
.gform_wrapper input[type="date"],
.gform_wrapper input[type="time"],
.gform_wrapper textarea,
.gform_wrapper select {
    background: #ffffff !important;
    color: #1A1A1A !important;
    border: 1.5px solid #1C3A2E !important;   /* brand green by default */
    border-radius: 12px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    font-family: inherit !important;
    line-height: 1.5 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    outline: none !important;
    box-shadow: inset 0 1px 2px rgba(28, 58, 46, 0.03) !important;
    transition:
        border-color 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        background 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* ── Hover (pre-focus affordance) ── */
.gform_wrapper input[type="text"]:hover,
.gform_wrapper input[type="email"]:hover,
.gform_wrapper input[type="tel"]:hover,
.gform_wrapper input[type="number"]:hover,
.gform_wrapper input[type="url"]:hover,
.gform_wrapper input[type="password"]:hover,
.gform_wrapper input[type="date"]:hover,
.gform_wrapper input[type="time"]:hover,
.gform_wrapper textarea:hover,
.gform_wrapper select:hover {
    border-color: #2E5142 !important;   /* slightly lighter green on hover */
    background: #ffffff !important;
}

/* ── Focus state ── */
.gform_wrapper input[type="text"]:focus,
.gform_wrapper input[type="email"]:focus,
.gform_wrapper input[type="tel"]:focus,
.gform_wrapper input[type="number"]:focus,
.gform_wrapper input[type="url"]:focus,
.gform_wrapper input[type="password"]:focus,
.gform_wrapper input[type="date"]:focus,
.gform_wrapper input[type="time"]:focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
    background: #ffffff !important;
    border-color: #E97133 !important;
    box-shadow:
        0 0 0 4px rgba(233, 113, 51, 0.13),
        0 2px 8px rgba(233, 113, 51, 0.08) !important;
}

/* ── Placeholders ── */
.gform_wrapper input::placeholder,
.gform_wrapper textarea::placeholder {
    color: #A6B5C2 !important;
    font-size: 14px !important;
    font-style: normal !important;
}

/* ── Textarea specific ── */
.gform_wrapper textarea {
    min-height: 140px !important;
    resize: vertical !important;
    line-height: 1.65 !important;
}

/* ── Select arrow ── */
.gform_wrapper select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E97133' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 44px !important;
    cursor: pointer !important;
}

/* ── Field containers ── */
.gform_wrapper .gfield {
    padding: 0 !important;
}

/* ── Section titles ── */
.gform_wrapper .gsection_title {
    color: #1C3A2E !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 4px !important;
    padding-bottom: 12px !important;
    position: relative !important;
    border-bottom: 1px solid #EAF0F5 !important;
}

/* accent underline on section titles */
.gform_wrapper .gsection_title::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    bottom: -1px !important;
    width: 44px !important;
    height: 3px !important;
    border-radius: 3px !important;
    background: #E97133 !important;
}

.gform_wrapper .gsection_description {
    color: #5A7080 !important;
    font-size: 13px !important;
    margin-top: 10px !important;
    margin-bottom: 22px !important;
    line-height: 1.65 !important;
}

/* ── Remove fieldset border around radio/checkbox groups ── */
.gform_wrapper fieldset,
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    outline: none !important;
}

.gform_wrapper legend {
    border: none !important;
    padding: 0 !important;
    margin-bottom: 10px !important;
}

/* ===================================================================
   RADIO / CHECKBOX OPTION ROWS
   -------------------------------------------------------------------
   Each option is one tidy box: the circle on the left and its label
   right beside it, INSIDE the box. Covers every Gravity Forms markup
   (.gchoice div rows AND older <li> list rows).
   =================================================================== */

/* the option ROW / box */
.gform_wrapper .gfield_radio .gchoice,
.gform_wrapper .gfield_checkbox .gchoice,
.gform_wrapper ul.gfield_radio > li,
.gform_wrapper ul.gfield_checkbox > li {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
    padding: 12px 16px !important;
    margin: 0 0 8px 0 !important;
    background: #FBFCFD !important;
    border: 1.5px solid #1C3A2E !important;   /* prominent brand-green border, matches fields */
    border-radius: 10px !important;
    list-style: none !important;
    box-sizing: border-box !important;
    transition: border-color 0.15s ease, background 0.15s ease !important;
}

.gform_wrapper .gfield_radio .gchoice:hover,
.gform_wrapper .gfield_checkbox .gchoice:hover,
.gform_wrapper ul.gfield_radio > li:hover,
.gform_wrapper ul.gfield_checkbox > li:hover {
    border-color: #2E5142 !important;   /* lighter green on hover, matches fields */
    background: #F5F9F6 !important;
}

/* SELECTED option → orange border + soft orange tint (matches focus accent) */
.gform_wrapper .gfield_radio .gchoice:has(input:checked),
.gform_wrapper .gfield_checkbox .gchoice:has(input:checked),
.gform_wrapper ul.gfield_radio > li:has(input:checked),
.gform_wrapper ul.gfield_checkbox > li:has(input:checked) {
    border-color: #E97133 !important;
    background: #FFF6F0 !important;
    box-shadow: 0 0 0 3px rgba(233, 113, 51, 0.10) !important;
}

/* the CIRCLE — small, fixed, pinned to the left, never centered/floated */
.gform_wrapper .gfield_radio input[type="radio"],
.gform_wrapper .gfield_checkbox input[type="checkbox"] {
    position: static !important;
    order: 0 !important;
    flex: 0 0 auto !important;
    width: 19px !important;
    height: 19px !important;
    min-width: 19px !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    border: none !important;
    box-shadow: none !important;
    accent-color: #E97133 !important;
    cursor: pointer !important;
}

/* the LABEL — sits right after the circle, inside the box, wraps cleanly */
.gform_wrapper .gfield_radio label,
.gform_wrapper .gfield_checkbox label,
.gform_wrapper .gfield_radio .gchoice label,
.gform_wrapper .gfield_checkbox .gchoice label {
    position: static !important;
    order: 1 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;          /* lets long text wrap instead of overflowing */
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    line-height: 1.4 !important;
    color: #2A2A2A !important;
    cursor: pointer !important;
}

/* ── Required asterisk ── */
.gform_wrapper .gfield_required {
    color: #E97133 !important;
    font-size: 14px !important;
    margin-left: 3px !important;
}

/* ── Sub-labels (e.g. name fields) ── */
.gform_wrapper .gfield_sublabel {
    color: #93A4B3 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0.01em !important;
    margin-top: 5px !important;
}

/* ── Description text ── */
.gform_wrapper .gfield_description {
    color: #6B8A7A !important;
    font-size: 12px !important;
    margin-top: 6px !important;
    line-height: 1.55 !important;
}

/* ── Validation / Error states ── */
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select {
    border-color: #C0392B !important;
    background: #FFFBFB !important;
    box-shadow: 0 0 0 4px rgba(192, 57, 43, 0.1) !important;
}

.gform_wrapper .validation_message,
.gform_wrapper .gfield_description.validation_message {
    color: #C0392B !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    margin-top: 6px !important;
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.gform_wrapper .gform_validation_errors {
    background: #FFF5F5 !important;
    border: 1px solid #F5C6C6 !important;
    border-left: 4px solid #C0392B !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    color: #C0392B !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-bottom: 24px !important;
}

/* ── Form title & description ── */
.gform_wrapper .gform_title {
    color: #1C3A2E !important;
    font-size: 26px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 8px !important;
}

.gform_wrapper .gform_description {
    color: #5A7080 !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
    display: block !important;
}

/* ── Footer layout ── */
.gform_wrapper .gform_footer {
    text-align: center !important;
    margin-top: 30px !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* page footer holds Previous + Next/Submit — space them out neatly */
.gform_wrapper .gform_page_footer {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 16px !important;
    flex-wrap: wrap !important;
    margin-top: 30px !important;
    padding-top: 0 !important;
    border-top: none !important;
}

/* shared button shape (submit + next + previous) */
.gform_wrapper .gform_button,
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_footer input[type="submit"],
.gform_wrapper .gform_footer button[type="submit"] {
    border: none !important;
    padding: 16px 48px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    font-family: inherit !important;
    letter-spacing: 0.03em !important;
    border-radius: 50px !important;
    cursor: pointer !important;
    display: inline-block !important;
    min-width: 180px !important;
    color: #ffffff !important;
    transition:
        transform 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.18s cubic-bezier(0.4, 0, 0.2, 1),
        filter 0.18s cubic-bezier(0.4, 0, 0.2, 1) !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* ── SUBMIT button → ORANGE ──
   (targets the real submit; excludes Next/Previous nav buttons) */
.gform_wrapper .gform_button,
.gform_wrapper .gform_footer input[type="submit"]:not(.gform_next_button):not(.gform_previous_button),
.gform_wrapper .gform_footer button[type="submit"]:not(.gform_next_button):not(.gform_previous_button),
.gform_wrapper .gform_page_footer input[type="submit"]:not(.gform_next_button):not(.gform_previous_button),
.gform_wrapper .gform_page_footer button[type="submit"]:not(.gform_next_button):not(.gform_previous_button) {
    background: linear-gradient(135deg, #F07C3D 0%, #E97133 55%, #D9652C 100%) !important;
    box-shadow:
        0 4px 14px rgba(233, 113, 51, 0.32),
        inset 0 1px 0 rgba(255, 255, 255, 0.18) !important;
}
.gform_wrapper .gform_button:hover,
.gform_wrapper .gform_footer input[type="submit"]:not(.gform_next_button):not(.gform_previous_button):hover,
.gform_wrapper .gform_footer button[type="submit"]:not(.gform_next_button):not(.gform_previous_button):hover,
.gform_wrapper .gform_page_footer input[type="submit"]:not(.gform_next_button):not(.gform_previous_button):hover,
.gform_wrapper .gform_page_footer button[type="submit"]:not(.gform_next_button):not(.gform_previous_button):hover {
    filter: brightness(1.04) !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 10px 26px rgba(233, 113, 51, 0.4),
        inset 0 1px 0 rgba(255, 255, 255, 0.22) !important;
}

/* ── NEXT & PREVIOUS buttons → BRAND GREEN ── */
.gform_wrapper .gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper .gform_page_footer .gform_next_button,
.gform_wrapper .gform_page_footer .gform_previous_button {
    background: linear-gradient(135deg, #2E5142 0%, #1C3A2E 60%, #14271E 100%) !important;
    box-shadow:
        0 4px 14px rgba(28, 58, 46, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.12) !important;
}
.gform_wrapper .gform_next_button:hover,
.gform_wrapper .gform_previous_button:hover,
.gform_wrapper .gform_page_footer .gform_next_button:hover,
.gform_wrapper .gform_page_footer .gform_previous_button:hover {
    filter: brightness(1.10) !important;
    transform: translateY(-2px) !important;
    box-shadow:
        0 10px 26px rgba(28, 58, 46, 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.16) !important;
}

/* shared active / focus for all three buttons */
.gform_wrapper .gform_button:active,
.gform_wrapper .gform_next_button:active,
.gform_wrapper .gform_previous_button:active,
.gform_wrapper .gform_footer input[type="submit"]:active {
    transform: translateY(0) !important;
}
.gform_wrapper .gform_button:focus-visible,
.gform_wrapper .gform_next_button:focus-visible,
.gform_wrapper .gform_previous_button:focus-visible,
.gform_wrapper .gform_footer input[type="submit"]:focus-visible {
    outline: 3px solid rgba(233, 113, 51, 0.4) !important;
    outline-offset: 3px !important;
}
.gform_wrapper .gform_next_button:focus-visible,
.gform_wrapper .gform_previous_button:focus-visible {
    outline-color: rgba(28, 58, 46, 0.45) !important;
}

/* ── Confirmation message ── */
.gform_confirmation_wrapper {
    background: linear-gradient(135deg, #F1F8F4 0%, #EAF4EE 100%) !important;
    border: 1.5px solid #B3D9C5 !important;
    border-radius: 14px !important;
    padding: 26px 30px !important;
    color: #1C3A2E !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    text-align: center !important;
}

/* ── Multi-page progress ── */
.gform_wrapper .gf_progressbar_wrapper {
    margin-bottom: 28px !important;
}

.gform_wrapper .gf_progressbar {
    background: #EBF0F5 !important;
    border-radius: 50px !important;
    height: 9px !important;
    overflow: hidden !important;
}

.gform_wrapper .gf_progressbar_percentage {
    background: linear-gradient(90deg, #F07C3D, #E97133) !important;
    border-radius: 50px !important;
    height: 100% !important;
    transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ── File upload ── */
.gform_wrapper input[type="file"] {
    background: #FBFCFD !important;
    border: 1.5px dashed #CBDAE7 !important;
    border-radius: 12px !important;
    padding: 18px !important;
    font-size: 13px !important;
    color: #5A7080 !important;
    cursor: pointer !important;
    width: 100% !important;
    transition: border-color 0.18s ease, background 0.18s ease !important;
}

.gform_wrapper input[type="file"]:hover {
    border-color: #E97133 !important;
    background: #FFF8F4 !important;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .gform_wrapper {
        padding: 28px 20px !important;
        border-radius: 14px !important;
    }

    .gform_wrapper .gform_title {
        font-size: 22px !important;
    }

    .gform_wrapper .gform_footer input[type="submit"],
    .gform_wrapper .gform_footer button[type="submit"],
    .gform_wrapper .gform_page_footer input[type="submit"],
    .gform_wrapper .gform_page_footer button[type="submit"] {
        width: 100% !important;
        padding: 16px 24px !important;
    }

    .gform_wrapper input[type="text"],
    .gform_wrapper input[type="email"],
    .gform_wrapper input[type="tel"],
    .gform_wrapper textarea,
    .gform_wrapper select {
        font-size: 16px !important; /* prevents iOS zoom */
    }
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
    .gform_wrapper *,
    .gform_wrapper *::before,
    .gform_wrapper *::after {
        transition-duration: 0.01ms !important;
    }
}

/* ===================================================================
   MULTI-COLUMN LAYOUT — selected field pairs share one line (desktop)
   -------------------------------------------------------------------
   All fields are full-width by default. The pairs listed below sit
   side by side, and only on desktop (screens wider than 600px). On
   phones everything stacks one per line.

   IMPORTANT: CSS pairs two half-width fields in the ORDER they appear
   in the form. So for each pair below, the two fields must be placed
   NEXT TO EACH OTHER in the Gravity Forms editor. If a pair looks
   wrong, check that those two fields are adjacent in the form layout.

   The [id$='_NN'] match targets the field id and works for any form
   id (e.g. field_2_11). For two forms on one page, swap to exact ids
   like #field_2_11.
   =================================================================== */

/* 12-column grid container */
.gform_wrapper .gform_fields {
    display: grid !important;
    grid-template-columns: repeat(12, 1fr) !important;
    column-gap: 20px !important;
    row-gap: 22px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* DEFAULT: every field takes the full line */
.gform_wrapper .gfield {
    grid-column: span 12 !important;
    margin-bottom: 0 !important;   /* spacing handled by grid row-gap */
}

/* DESKTOP ONLY: each listed field becomes half-width so it pairs with
   its neighbour on one line. Two half-width fields share a row in the
   order they appear in the form, so the two fields of each pair below
   must sit NEXT TO EACH OTHER in the form editor.
   Pairs: 4+5 · 11+12 · 14+15 · 16+17 · 18+19 · 20+21 · 25+31 · 26+27
          24+32 · 42+34 · 36+37 · 43+39                                */
@media (min-width: 601px) {
    .gform_wrapper .gfield[id$='_4'],
    .gform_wrapper .gfield[id$='_5'],
    .gform_wrapper .gfield[id$='_11'],
    .gform_wrapper .gfield[id$='_12'],
    .gform_wrapper .gfield[id$='_14'],
    .gform_wrapper .gfield[id$='_15'],
    .gform_wrapper .gfield[id$='_16'],
    .gform_wrapper .gfield[id$='_17'],
    .gform_wrapper .gfield[id$='_18'],
    .gform_wrapper .gfield[id$='_19'],
    .gform_wrapper .gfield[id$='_20'],
    .gform_wrapper .gfield[id$='_21'],
    .gform_wrapper .gfield[id$='_24'],
    .gform_wrapper .gfield[id$='_25'],
    .gform_wrapper .gfield[id$='_26'],
    .gform_wrapper .gfield[id$='_27'],
    .gform_wrapper .gfield[id$='_31'],
    .gform_wrapper .gfield[id$='_32'],
    .gform_wrapper .gfield[id$='_34'],
    .gform_wrapper .gfield[id$='_36'],
    .gform_wrapper .gfield[id$='_37'],
    .gform_wrapper .gfield[id$='_39'],
    .gform_wrapper .gfield[id$='_42'],
    .gform_wrapper .gfield[id$='_43'] {
        grid-column: span 6 !important;
    }
}

/* OPTIONAL manual overrides — add as a "Custom CSS Class" on any field
   in the editor if you ever want to pair other fields too.             */
.gform_wrapper .gfield.gf_full   { grid-column: span 12 !important; }
.gform_wrapper .gfield.gf_half   { grid-column: span 6  !important; }
.gform_wrapper .gfield.gf_third  { grid-column: span 4  !important; }
.gform_wrapper .gfield.gf_quarter{ grid-column: span 3  !important; }

@media (max-width: 600px) {
    .gform_wrapper .gfield.gf_half,
    .gform_wrapper .gfield.gf_third,
    .gform_wrapper .gfield.gf_quarter {
        grid-column: span 12 !important;
    }
}

/* make sure inputs fill their column */
.gform_wrapper .gfield input,
.gform_wrapper .gfield select,
.gform_wrapper .gfield textarea {
    width: 100% !important;
}

/* ===================================================================
   ADDRESS FIELD (id 8) — lay sub-fields out two per row
   -------------------------------------------------------------------
   Pairs the six address sub-fields into rows of two:
     Street Address | Address Line 2
     City           | State / Province
     ZIP / Postal   | Country
   Scoped to field id 8 only (the [id$='_8'] match works for any form
   id, e.g. field_2_8). On phones the sub-fields stack one per row.
   =================================================================== */

.gform_wrapper .gfield[id$='_8'] .ginput_container_address {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    column-gap: 20px !important;
    row-gap: 16px !important;
}

/* reset GF's built-in float/width so the grid controls the layout */
.gform_wrapper .gfield[id$='_8'] .ginput_container_address > span {
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: none !important;
}

/* inputs / selects fill their cell */
.gform_wrapper .gfield[id$='_8'] .ginput_container_address input,
.gform_wrapper .gfield[id$='_8'] .ginput_container_address select {
    width: 100% !important;
}

/* stack the address sub-fields on phones */
@media (max-width: 600px) {
    .gform_wrapper .gfield[id$='_8'] .ginput_container_address {
        grid-template-columns: 1fr !important;
    }
}

/* ===================================================================
   HIDE PRODUCT FIELD (id 1) — visually only
   -------------------------------------------------------------------
   Removes the field from view (and leaves no empty grid cell) while
   keeping it in the form, so its product/price value still submits
   with the entry. Scoped to field id 1 on any form (field_<id>_1).
   =================================================================== */

.gform_wrapper .gfield[id$='_1'] {
    display: none !important;
}/* End custom CSS */