/* ==========================================================================
   GRAVITY FORMS MATERIAL DESIGN STYLES
   Version: 5.2 (True Notch Edition)
   Description: Applies Material Design floating labels, true transparent notches, 
                and buttonized inputs.
   ========================================================================== */

/* TABLE OF CONTENTS
   1. Global Resets & Structural Layouts
   2. Base Input Styles (Text, Select, Textarea)
   3. Floating Label Logic
   4. Complex Fields (Name, Address)
   5. Buttonized Radio & Checkboxes
   6. Buttonized Fluid (Full Width)
   7. Specialized Fields (Consent, "Other" Inputs)
   8. Form Submission Buttons
   9. Validation & Error States
   10. True Transparent Notched Outlines (The Core Borders)
   11. Filled Variant Overrides
   12. Specialty Field Fixes (Datepicker, Multi-Select, Chained)
   13. Static Label Opt-Out (Long Text Release Valve)
   14. Utilities & Overrides
   15. The Sibling Combinator Patch
   ========================================================================== */


/* ==========================================================================
   1. GLOBAL RESETS & STRUCTURAL LAYOUTS
   ========================================================================== */

.gform_wrapper.materialize_wrapper input:focus,
.gform_wrapper.materialize_wrapper select:focus,
.gform_wrapper.materialize_wrapper textarea:focus {
    outline: none !important;
    box-shadow: none !important;
}

.gform_wrapper.materialize_wrapper .gfield,
.gform_wrapper.materialize_wrapper span,
.gform_wrapper.materialize_wrapper .ginput_container,
.gform_wrapper.materialize_wrapper .ginput_container_textarea {
    position: relative;
}

.gform_wrapper.materialize_wrapper .gfield {
    margin-bottom: 1.25rem !important;
}
.gform_wrapper.materialize_wrapper .gform_fields,
.gform_wrapper.materialize_wrapper .gform-grid-row {
    row-gap: 0 !important;
}
.gform_wrapper.materialize_wrapper fieldset.gform_wrapper .gfield {
    margin-bottom: 1rem;
}

.gform_wrapper.materialize_wrapper .gfield input:not(:focus)::placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:not(:focus)::placeholder,
.gform_wrapper.materialize_wrapper .gfield input:not(:focus)::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:not(:focus)::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield input:not(:focus)::-moz-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:not(:focus)::-moz-placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:not(:focus)::placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:not(:focus)::-webkit-input-placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.gform_wrapper.materialize_wrapper .gfield input:focus::placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:focus::placeholder,
.gform_wrapper.materialize_wrapper .gfield input:focus::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:focus::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield input:focus::-moz-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:focus::-moz-placeholder {
    color: #999999 !important;
    opacity: 1 !important;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.gform_wrapper.materialize_wrapper .gform_title,
.gform_wrapper.materialize_wrapper .gform_description,
.gform_wrapper.materialize_wrapper .gfield_description,
.gform_wrapper.materialize_wrapper .gsection_title,
.gform_wrapper.materialize_wrapper .gsection_description,
.gform_wrapper.materialize_wrapper .gfield_html {
    color: var(--gfm-outside-text) !important;
}

.gform_wrapper.materialize_wrapper .gform-grid-row {
    margin-inline: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    column-gap: 16px !important; 
}
.gform_wrapper.materialize_wrapper .gform-grid-col {
    padding-inline: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ==========================================================================
   2. BASE INPUT STYLES
   ========================================================================== */

.gform_wrapper.materialize_wrapper .gfield input[type="text"],
.gform_wrapper.materialize_wrapper .gfield input[type="email"],
.gform_wrapper.materialize_wrapper .gfield input[type="tel"],
.gform_wrapper.materialize_wrapper .gfield input[type="url"],
.gform_wrapper.materialize_wrapper .gfield input[type="password"],
.gform_wrapper.materialize_wrapper .gfield input[type="number"],
.gform_wrapper.materialize_wrapper .gfield select {
    background: var(--gfm-bg);
    border: 1px solid var(--gfm-outline); 
    border-radius: var(--gfm-radius);
    height: var(--gfm-height) !important;
    padding: 0 0.8em;
    font-size: var(--gfm-font-size);
    width: 100%;
    color: var(--gfm-text);
    line-height: var(--gfm-line-height) !important;
    appearance: none;
    box-sizing: border-box;
    transition: border 0.2s ease, box-shadow 0.2s ease;
}

.gform_wrapper.materialize_wrapper .gfield select {
    background: var(--gfm-bg) var(--gfm-svg-arrow) no-repeat right 0.8em center !important;
    background-size: 10px auto !important; 
    padding: 0 2.5em 0 0.8em !important; 
}
.gform_wrapper.materialize_wrapper .gfield select option {
    color: #000000 !important; 
}
.gform_wrapper.materialize_wrapper .gfield select:not(:focus):not(.has-value) {
    color: transparent !important;
}

.gform_wrapper.materialize_wrapper .gfield textarea {
    background: var(--gfm-bg);
    border: 1px solid var(--gfm-outline);
    border-radius: var(--gfm-radius);
    padding: 1.2em 0.8em 0.6em;
    font-size: var(--gfm-font-size);
    width: 100%;
    color: var(--gfm-text);
    line-height: 1.4;
    min-height: calc(var(--gfm-height) * 2.5);
    appearance: none;
    box-sizing: border-box;
    transition: border 0.2s ease, box-shadow 0.2s ease;
}

.gform_wrapper.materialize_wrapper .gfield input:hover,
.gform_wrapper.materialize_wrapper .gfield select:hover,
.gform_wrapper.materialize_wrapper .gfield textarea:hover {
    border-width: 1px;
    border-color: #888888;
}

.gform_wrapper.materialize_wrapper .gfield input:focus,
.gform_wrapper.materialize_wrapper .gfield select:focus,
.gform_wrapper.materialize_wrapper .gfield textarea:focus {
    border-width: 2px;
    border-color: var(--gfm-accent);
}

.gform_wrapper.materialize_wrapper .ginput_counter {
    font-size: 0.875em;
    color: #666;
    margin-top: 0.25rem;
}

/* ==========================================================================
   3. FLOATING LABEL LOGIC
   ========================================================================== */

.gform_wrapper.materialize_wrapper .ginput_container input + label,
.gform_wrapper.materialize_wrapper .ginput_container select + label,
.gform_wrapper.materialize_wrapper .ginput_complex input + label,
.gform_wrapper.materialize_wrapper .ginput_complex select + label,
.gform_wrapper.materialize_wrapper .ginput_container_textarea label {
    position: absolute;
    left: 0.75rem;
    top: calc(var(--gfm-height) / 2) !important;
    transform: translateY(-50%) !important;
    background: transparent !important; /* CRITICAL for true notch */
    padding: 0 0.25rem;
    font-size: var(--gfm-font-size);
    color: var(--gfm-text) !important;
    font-weight: 400 !important;
    pointer-events: none;
    z-index: 3;
    transition: top 0.2s ease, transform 0.2s ease, font-size 0.2s ease, color 0.2s ease;
    margin-top: 0;
}

.gform_wrapper.materialize_wrapper .ginput_container_textarea label {
    top: 1em !important;
    transform: none !important;
}

.gform_wrapper.materialize_wrapper input:focus + label,
.gform_wrapper.materialize_wrapper select:focus + label,
.gform_wrapper.materialize_wrapper textarea:focus + label,
.gform_wrapper.materialize_wrapper input.has-value + label,
.gform_wrapper.materialize_wrapper select.has-value + label,
.gform_wrapper.materialize_wrapper textarea.has-value + label {
    top: 0em !important;
    transform: none !important;
    left: 0.8rem;
    font-size: 0.75em;
    background: transparent !important; /* CRITICAL for true notch */
    padding: 0 0.25rem;
    z-index: 3 !important; 
    color: color-mix(in srgb, var(--gfm-text) 80%, transparent) !important; 
}

.gform_wrapper.materialize_wrapper textarea:focus + label, 
.gform_wrapper.materialize_wrapper textarea.has-value + label {
    top: -0.5em !important;
}

/* ==========================================================================
   4. COMPLEX FIELDS (Name, Address)
   ========================================================================== */

.gform_wrapper.materialize_wrapper .ginput_complex.gform-grid-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    column-gap: 16px !important;
    row-gap: 1.25rem !important;
    margin: 0 !important;
}

.gform_wrapper.materialize_wrapper .ginput_complex.gform-grid-row > span { 
    flex: 1 1 calc(50% - 8px) !important;
    max-width: calc(50% - 8px) !important;
    margin: 0 !important; 
    padding: 0 !important; 
    position: relative !important; 
    box-sizing: border-box !important;
}

.gform_wrapper.materialize_wrapper .ginput_complex.gform-grid-row > span.ginput_full {
    flex: 1 1 100% !important;
    max-width: 100% !important;
}

.gform_wrapper.materialize_wrapper .ginput_complex input,
.gform_wrapper.materialize_wrapper .ginput_complex select {
    padding: 0 0.8em !important;
    border: 1px solid var(--gfm-outline);
    border-radius: var(--gfm-radius);
    font-size: var(--gfm-font-size);
    background: var(--gfm-bg);
    width: 100%;
    color: var(--gfm-text);
    appearance: none;
    box-sizing: border-box;
    transition: border 0.2s ease, box-shadow 0.2s ease;
    margin-top: 0;
    height: var(--gfm-height) !important;
}
.gform_wrapper.materialize_wrapper .ginput_complex select {
    background-position: right 0.8em center !important;
    padding: 0 2.5em 0 0.8em !important;
}
.gform_wrapper.materialize_wrapper .ginput_complex input + label,
.gform_wrapper.materialize_wrapper .ginput_complex select + label {
    left: 1rem !important;
}

/* ==========================================================================
   5. BUTTONIZED RADIO & CHECKBOXES
   ========================================================================== */

.gform_wrapper.materialize_wrapper .gfield--type-radio > .gform-field-label,
.gform_wrapper.materialize_wrapper .gfield--type-checkbox > .gform-field-label,
.gform_wrapper.materialize_wrapper .gfield--input-type-radio > .gform-field-label,
.gform_wrapper.materialize_wrapper .gfield--type-consent > .gform-field-label {
    position: static !important;
    transform: none !important;
    background: none !important;
    padding: 0 !important;
    font-size: var(--gfm-font-size) !important;
    color: var(--gfm-outside-text) !important;
    pointer-events: auto !important;
    margin-bottom: 8px !important;
    display: block !important;
    font-weight: 600 !important;
}

.gform_wrapper.materialize_wrapper :not(.buttonized) > .ginput_container_radio .gchoice label,
.gform_wrapper.materialize_wrapper :not(.buttonized) > .ginput_container_checkbox .gchoice label,
.gform_wrapper.materialize_wrapper :not(.buttonized) > .ginput_container_consent label {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-top: 2px !important;
}

.gform_wrapper.materialize_wrapper .buttonized input[type="radio"],
.gform_wrapper.materialize_wrapper .buttonized input[type="checkbox"],
.gform_wrapper.materialize_wrapper .buttonized-fluid input[type="radio"],
.gform_wrapper.materialize_wrapper .buttonized-fluid input[type="checkbox"] {
    position: absolute; opacity: 0; pointer-events: none;
}

.gform_wrapper.materialize_wrapper .buttonized .gfield_radio,
.gform_wrapper.materialize_wrapper .buttonized .gfield_checkbox,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gfield_radio,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gfield_checkbox {
    display: flex !important; flex-wrap: wrap !important; gap: 10px !important; align-items: flex-start !important;
}
.gform_wrapper.materialize_wrapper .gfield.gf_list_inline.buttonized .gchoice,
.gform_wrapper.materialize_wrapper .gfield.gf_list_inline.buttonized-fluid .gchoice {
    padding-block-end: 0; padding-inline-end: 0 !important;
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice label,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice label {
    display: inline-flex; align-items: center; justify-content: center;
    padding: 0.6em 1.2em; border: 2px solid var(--gfm-accent); border-radius: var(--gfm-radius);
    cursor: pointer; transition: all 0.2s ease; background-color: var(--gfm-btn-inactive-bg) !important;
    color: var(--gfm-inactive-contrast) !important;
    font-weight: 600; margin-bottom: 0.5rem; text-align: center;
    user-select: none; margin-right: 7px; margin-left: 0; font-size: var(--gfm-font-size) !important;
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice input:focus-visible + label,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice input:focus-visible + label {
    outline: 2px solid var(--gfm-accent); outline-offset: 2px;
}
.gform_wrapper.materialize_wrapper .buttonized .gchoice input:not(:checked) + label:hover,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice input:not(:checked) + label:hover {
    background: color-mix(in srgb, var(--gfm-accent) 12%, var(--gfm-btn-inactive-bg)) !important;
    color: var(--gfm-accent) !important; border-color: var(--gfm-accent) !important;
}
.gform_wrapper.materialize_wrapper .buttonized .gchoice input:checked + label:hover,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice input:checked + label:hover {
    background: color-mix(in srgb, var(--gfm-accent) 80%, black) !important;
    border-color: color-mix(in srgb, var(--gfm-accent) 80%, black) !important; 
    color: var(--gfm-accent-contrast) !important; 
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized .gchoice input:not(:checked) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized .gchoice input.has-value:not(:checked) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized .gchoice input:focus:not(:checked) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized-fluid .gchoice input:not(:checked) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized-fluid .gchoice input.has-value:not(:checked) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized-fluid .gchoice input:focus:not(:checked) + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized .gchoice input:not(:checked) + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized .gchoice input.has-value:not(:checked) + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized .gchoice input:focus:not(:checked) + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gchoice input:not(:checked) + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gchoice input.has-value:not(:checked) + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gchoice input:focus:not(:checked) + label {
    font-size: var(--gfm-font-size) !important; 
    top: auto !important; 
    transform: none !important; 
    position: static !important;
    color: var(--gfm-inactive-contrast) !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized .gchoice input:checked + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized .gchoice input.has-value:checked + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized-fluid .gchoice input:checked + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.buttonized-fluid .gchoice input.has-value:checked + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized .gchoice input:checked + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized .gchoice input.has-value:checked + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gchoice input:checked + label,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gchoice input.has-value:checked + label {
    background: var(--gfm-accent) !important; 
    color: var(--gfm-accent-contrast) !important; 
    border-color: var(--gfm-accent) !important;
    font-size: var(--gfm-font-size) !important; 
    top: auto !important; 
    transform: none !important; 
    position: static !important;
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice input[type="text"].gchoice_other_control {
    display: block !important;
    width: 100% !important;
    margin-top: 8px !important;
    border-radius: var(--gfm-radius) !important;
    border: 1px solid var(--gfm-outline) !important;
    padding: 0.5em 0.8em !important;
    background-color: var(--gfm-bg) !important;
    color: var(--gfm-text) !important;
    font-size: var(--gfm-font-size) !important;
    height: auto !important;
}
.gform_wrapper.materialize_wrapper .buttonized .gchoice {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

/* ==========================================================================
   6. BUTTONIZED FLUID (Full Width Extension)
   ========================================================================== */

.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .ginput_container,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .ginput_container_radio,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gfield_radio,
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gfield_checkbox {
    width: 100% !important; display: flex !important; flex-wrap: nowrap !important;
}
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gchoice {
    flex: 1 1 100% !important; width: 100% !important; min-width: 0 !important; margin: 0 !important; display: block !important;
}
.gform_wrapper.materialize_wrapper .gfield.buttonized-fluid .gchoice label {
    display: flex !important; width: 100% !important; max-width: 100% !important; height: var(--gfm-height) !important;
    margin: 0 !important; justify-content: center !important; align-items: center !important; text-align: center !important; box-sizing: border-box !important;
}

/* ==========================================================================
   7. SPECIALIZED FIELDS (Consent, "Other" Inputs)
   ========================================================================== */

.gform_wrapper.materialize_wrapper .ginput_container_consent { display: flex !important; align-items: center !important; margin-bottom: 12px !important; }
.gform_wrapper.materialize_wrapper .gfield--type-consent .ginput_container input + label {
    position: static !important; transform: none !important; background: transparent !important;
    font-size: var(--gfm-font-size) !important; color: var(--gfm-text) !important; pointer-events: auto !important;
    display: inline-block !important; padding: 0 0 0 10px !important; margin: 0 !important; vertical-align: middle !important;
}
.gform_wrapper.materialize_wrapper .ginput_container_consent input[type="checkbox"] {
    position: static !important; opacity: 1 !important; pointer-events: auto !important; margin: 0 !important; width: auto !important; height: auto !important; appearance: auto !important; 
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice br,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice br { display: none !important; }
.gform_wrapper.materialize_wrapper .buttonized .gchoice_other_control,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice_other_control { margin-top: 12px !important; display: block !important; }
.gform_wrapper.materialize_wrapper .buttonized .gchoice_other_control:disabled,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice_other_control:disabled { display: none !important; }

.gform_wrapper.materialize_wrapper .gf_list_inline.buttonized .gchoice,
.gform_wrapper.materialize_wrapper .gf_list_inline.buttonized-fluid .gchoice { display: flex !important; align-items: center !important; }
.gform_wrapper.materialize_wrapper .gf_list_inline.buttonized .gchoice label,
.gform_wrapper.materialize_wrapper .gf_list_inline.buttonized-fluid .gchoice label { margin-bottom: 0 !important; }
.gform_wrapper.materialize_wrapper .gf_list_inline.buttonized .gchoice_other_control,
.gform_wrapper.materialize_wrapper .gf_list_inline.buttonized-fluid .gchoice_other_control {
    margin-top: 0 !important; margin-left: 10px !important; width: auto !important; min-width: 200px !important;       
}

/* ==========================================================================
   8. FORM SUBMISSION BUTTONS
   ========================================================================== */

.gform_wrapper.materialize_wrapper input[type="button"],
.gform_wrapper.materialize_wrapper input[type="submit"],
.gform_wrapper.materialize_wrapper .gform_button {
    background-color: var(--gfm-submit-bg) !important;
    font-size: var(--gfm-btn-font-size) !important;
    min-height: var(--gfm-height) !important;
    height: auto !important;
    line-height: 1.2 !important;
    border-radius: var(--gfm-radius) !important;
    padding: 0.8em 30px !important;
    color: var(--gfm-submit-contrast) !important; 
    border: none !important;
    cursor: pointer !important;
}

/* ==========================================================================
   9. VALIDATION & ERROR STATES
   ========================================================================== */

.gform_wrapper.materialize_wrapper .gform_required_legend { display: none !important; }
.gform_wrapper.materialize_wrapper .gfield_required { color: #d32f2f !important; margin-left: 2px !important; }

.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield.gfield_error input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']),
.gform_wrapper.materialize_wrapper .gfield.static-label.gfield_error input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']),
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield.gfield_error select,
.gform_wrapper.materialize_wrapper .gfield.static-label.gfield_error select,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield.gfield_error textarea,
.gform_wrapper.materialize_wrapper .gfield.static-label.gfield_error textarea {
    border-color: #d32f2f !important; box-shadow: none !important;
}

.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .gfield.gfield_error:not(.static-label) input:not([type='radio']):not([type='checkbox']):not([type='submit']):not([type='button']),
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .gfield.gfield_error:not(.static-label) select,
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .gfield.gfield_error:not(.static-label) textarea {
    border-color: transparent !important;
    box-shadow: none !important;
}

.gform_wrapper.materialize_wrapper .gfield.gfield_error .ginput_container input + label,
.gform_wrapper.materialize_wrapper .gfield.gfield_error .ginput_container select + label,
.gform_wrapper.materialize_wrapper .gfield.gfield_error .ginput_complex input + label,
.gform_wrapper.materialize_wrapper .gfield.gfield_error .ginput_complex select + label,
.gform_wrapper.materialize_wrapper .gfield.gfield_error .ginput_container_textarea label {
    color: #d32f2f !important;
}

.gform_wrapper.materialize_wrapper .gfield.gfield_error.buttonized .gchoice label,
.gform_wrapper.materialize_wrapper .gfield.gfield_error.buttonized-fluid .gchoice label {
    border-color: #d32f2f !important; color: #d32f2f !important;
}
.gform_wrapper.materialize_wrapper .gfield.gfield_error.buttonized .gchoice input:checked + label,
.gform_wrapper.materialize_wrapper .gfield.gfield_error.buttonized-fluid .gchoice input:checked + label {
    background: #d32f2f !important; border-color: #d32f2f !important; color: white !important;
}

.gform_wrapper.materialize_wrapper .gfield_validation_message,
.gform_wrapper.materialize_wrapper .validation_message {
    color: #d32f2f !important; font-size: 0.75rem !important; margin-top: 4px !important;
    padding-left: 0.8rem !important; font-weight: 500 !important; background: transparent !important; border: none !important;
}

.gform_wrapper.materialize_wrapper .gform_validation_errors {
    background-color: #fdeded !important; border: 1px solid #d32f2f !important; border-radius: var(--gfm-radius) !important;
    padding: 1rem !important; margin-bottom: 1.5rem !important; box-shadow: none !important;
}
.gform_wrapper.materialize_wrapper .gform_validation_errors > h2,
.gform_wrapper.materialize_wrapper .gform_validation_errors > h2.gform_submission_error {
    color: #d32f2f !important; font-size: 1.1rem !important; margin: 0 !important; padding: 0 !important;
    background: transparent !important; border: none !important;
}

/* ==========================================================================
   10. TRUE TRANSPARENT NOTCHED OUTLINES (The Core Borders)
   ========================================================================== */

/* 1. Strip the border from the real inputs (Universally Supported) */
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_container input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_container select,
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_container textarea,
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_complex input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_complex select {
    border: 1px solid transparent !important;
    background-color: var(--gfm-bg) !important; 
    box-shadow: none !important;
    outline: none !important;
    z-index: 1 !important; 
}

/* Strip it on focus as well to kill the blue ghost ring */
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_container input:focus,
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_container select:focus,
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_container textarea:focus,
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_complex input:focus,
.gform_wrapper.materialize_wrapper:not(.is-filled_wrapper) .ginput_complex select:focus {
    border: 1px solid transparent !important;
    box-shadow: none !important;
    outline: none !important;
}

/* 2. Position the Fieldset to act as the new visible border */
.gform_wrapper.materialize_wrapper .fr-notched-outline {
    position: absolute;
    top: -5px;
    bottom: auto !important; 
    height: calc(var(--gfm-height) + 6px) !important; 
    left: 0 !important;
    right: auto !important; 
    width: 100% !important; /* <--- Forces it to match the input width exactly */
    box-sizing: border-box !important;
    margin: 0;
    padding: 0 !important; 
    pointer-events: none; 
    /* CRITICAL: !important forces the border past Orbital's aggressive fieldset reset */
    border: 1px solid var(--gfm-outline) !important; 
    border-radius: var(--gfm-radius) !important;
    box-shadow: var(--gfm-shadow) !important;
    transition: border-color 0.2s ease, border-width 0.2s ease, box-shadow 0.2s ease;
    z-index: 2 !important; 
    display: block !important; /* Overpowers any theme hiding it */
}

/* Let Textareas stretch to the bottom naturally */
.gform_wrapper.materialize_wrapper .ginput_container_textarea .fr-notched-outline {
    height: auto !important;
    bottom: 0 !important;
}

/* 3. Style the Legend (This creates the invisible cutout) */
.gform_wrapper.materialize_wrapper .fr-notched-outline legend {
    display: block;
    width: auto;
    padding: 0;
    height: 11px;
    font-size: 0.75em; 
    visibility: hidden; 
    max-width: 0.01px; 
    transition: max-width 50ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;
    margin-left: 10px !important; /* <--- Starts the cutout just before the text */
}
.gform_wrapper.materialize_wrapper .fr-notched-outline legend span {
    padding-left: 6px !important; /* <--- 10px margin + 6px padding = Exactly 16px */
    padding-right: 8px !important; /* Standard tight gap for non-required fields */
    display: inline-block;
}


/* Widen the gap ONLY for required fields to clear the asterisk */
.gform_wrapper.materialize_wrapper [aria-required="true"] ~ .fr-notched-outline legend span {
    padding-right: 24px !important;
}

/* 4. Open the Notch when the input is focused or has a value (Absolute Sledgehammer) */
.gform_wrapper.materialize_wrapper .has-value ~ .fr-notched-outline legend,
.gform_wrapper.materialize_wrapper input:focus ~ .fr-notched-outline legend,
.gform_wrapper.materialize_wrapper select:focus ~ .fr-notched-outline legend,
.gform_wrapper.materialize_wrapper textarea:focus ~ .fr-notched-outline legend {
    max-width: 100% !important;
    transition: max-width 100ms cubic-bezier(0.0, 0, 0.2, 1) 50ms;
}

/* 5. Make the real label background transparent so the page background shows through */
.gform_wrapper.materialize_wrapper .ginput_container input + label,
.gform_wrapper.materialize_wrapper .ginput_container select + label,
.gform_wrapper.materialize_wrapper .ginput_complex input + label,
.gform_wrapper.materialize_wrapper .ginput_complex select + label,
.gform_wrapper.materialize_wrapper .ginput_container_textarea label {
    background-color: transparent !important;
    z-index: 3 !important; /* Top layer, sitting inside the notch */
}

/* 6. Hover & Focus Colors for the new fieldset border */
.gform_wrapper.materialize_wrapper .ginput_container input:hover ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_container select:hover ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_container textarea:hover ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_complex input:hover ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_complex select:hover ~ .fr-notched-outline {
    border-color: #888888 !important;
}
.gform_wrapper.materialize_wrapper .ginput_container input:focus ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_container select:focus ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_container textarea:focus ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_complex input:focus ~ .fr-notched-outline,
.gform_wrapper.materialize_wrapper .ginput_complex select:focus ~ .fr-notched-outline {
    border-color: var(--gfm-accent) !important;
    border-width: 2px !important;
    box-shadow: none !important; /* Remove shadow on focus */
}

/* 7. Error State Override */
.gform_wrapper.materialize_wrapper .gfield.gfield_error .fr-notched-outline { border-color: #d32f2f !important; }

/* ==========================================================================
   11. FILLED VARIANT OVERRIDES
   ========================================================================== */

.gform_wrapper.materialize_wrapper.is-filled_wrapper .fr-notched-outline { display: none !important; }

.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input[type='text'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input[type='email'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input[type='tel'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input[type='url'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input[type='password'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input[type='number'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield select,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield textarea {
    border: none !important;
    border-bottom: 1px solid var(--gfm-outline) !important;
    border-radius: var(--gfm-radius) var(--gfm-radius) 0 0 !important;
    padding-top: 1.1em !important;
    background-color: var(--gfm-bg) !important; 
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not(:focus),
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield select:not(:focus),
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield textarea:not(:focus) {
    box-shadow: var(--gfm-shadow) !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper .ginput_complex input {
    padding: 1.6em 0.8em 0.2em 0.8em !important; 
}
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield select,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .ginput_complex select {
    padding: 1.2em 2.5em 0 0.8em !important; 
    line-height: 1.2 !important;
    height: var(--gfm-height) !important;
}
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield input:focus,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield select:focus,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .gfield textarea:focus {
    border: none !important; border-bottom: 2px solid var(--gfm-accent) !important; box-shadow: none !important;
}
.gform_wrapper.materialize_wrapper.is-filled_wrapper .ginput_container input + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .ginput_container select + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .ginput_complex input + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .ginput_complex select + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper .ginput_container_textarea label {
    background-color: transparent !important; 
}
.gform_wrapper.materialize_wrapper.is-filled_wrapper input:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper select:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper textarea:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper input.has-value + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper select.has-value + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper textarea.has-value + label {
    top: 0.4em !important; transform: none !important; font-size: 0.7em !important;
    opacity: 1 !important; background-color: transparent !important;
}

/* ==========================================================================
   12. SPECIALTY FIELD FIXES (Datepicker, Multi-Select, Chained)
   ========================================================================== */

.gform_wrapper.materialize_wrapper .ginput_container_date {
    position: relative !important; display: block !important; width: 100% !important;
}
.gform_wrapper.materialize_wrapper .gfield input.datepicker_with_icon {
    width: 100% !important; padding-right: 40px !important; 
}
.gform_wrapper.materialize_wrapper .ginput_container_date img.ui-datepicker-trigger {
    position: absolute !important; right: 12px !important; top: 50% !important;
    transform: translateY(-50%) !important; z-index: 5 !important;
    cursor: pointer !important; margin: 0 !important; padding: 0 !important;
}

.gform_wrapper.materialize_wrapper .gfield--type-multiselect > .gform-field-label {
    position: static !important;
    transform: none !important;
    font-size: var(--gfm-font-size) !important;
    color: var(--gfm-outside-text) !important;
    display: block !important;
    margin-bottom: 8px !important;
}

.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container {
    width: 100% !important; 
    display: block !important;
    border: none !important; 
}
.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-multi .chosen-choices {
    border: 1px solid var(--gfm-outline) !important;
    border-radius: 8px !important; 
    background-color: var(--gfm-bg) !important;
    background-image: none !important;
    padding: 4px 8px !important;
    min-height: var(--gfm-height) !important;
    height: auto !important; 
    box-shadow: none !important;
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-active {
    box-shadow: none !important;
    outline: none !important;
}
.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-active .chosen-choices {
    border: 2px solid var(--gfm-accent) !important;
    box-shadow: none !important;
    outline: none !important;
}

.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-multi .chosen-choices li.search-choice {
    background-image: none !important;
    background-color: #EAEDF1 !important;
    border: none !important;
    border-radius: 16px !important;
    color: #080736 !important;
    padding: 4px 24px 4px 12px !important; 
    margin: 0 !important;
    box-shadow: none !important;
    font-size: 0.85em !important;
    font-weight: 500 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    height: 32px !important; 
}

.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
    position: absolute !important;
    top: 0 !important;
    bottom: 0 !important;
    right: 4px !important;
    background: none !important;
    width: 16px !important;
    height: 100% !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transform: none !important;
}

.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-multi .chosen-choices li.search-choice .search-choice-close::before {
    content: '×' !important; 
    color: #888888 !important; 
    font-size: 16px !important; 
    line-height: 0 !important; 
    font-weight: bold !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
    width: 100% !important;
}

.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover::before {
    color: #d32f2f !important;
}

.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-multi .chosen-choices li.search-field {
    margin: 0 !important;
    padding: 0 !important;
    height: 32px !important; 
    display: flex !important;
    align-items: center !important;
}
.gform_wrapper.materialize_wrapper .ginput_container_multiselect .chosen-container-multi .chosen-choices li.search-field input[type="text"] {
    color: var(--gfm-text) !important;
    font-family: inherit !important;
    font-size: var(--gfm-font-size) !important;
    height: 100% !important; 
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.gform_wrapper.materialize_wrapper .ginput_chained_selects_container select:focus + label,
.gform_wrapper.materialize_wrapper .ginput_chained_selects_container select.has-value + label {
    font-size: 0.75em !important; top: 0em !important; transform: none !important; z-index: 3 !important;
}
.gform_wrapper.materialize_wrapper .ginput_chained_selects_container select:not(:focus):not(.has-value) {
    color: transparent !important;
}

/* ==========================================================================
   13. STATIC LABEL OPT-OUT (Long Text Release Valve)
   ========================================================================== */

.gform_wrapper.materialize_wrapper .gfield.static-label .ginput_container > label,
.gform_wrapper.materialize_wrapper .gfield.static-label .ginput_container_textarea > label {
    position: static !important; transform: none !important; background: transparent !important;
    font-size: var(--gfm-font-size) !important; color: var(--gfm-outside-text) !important; pointer-events: auto !important;
    display: inline-block !important; margin-bottom: 8px !important; padding: 0 !important;
    white-space: normal !important; height: auto !important; line-height: 1.4 !important;
}

.gform_wrapper.materialize_wrapper .gfield.static-label .fr-notched-outline { display: none !important; }

.gform_wrapper.materialize_wrapper .gfield.static-label input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]),
.gform_wrapper.materialize_wrapper .gfield.static-label select,
.gform_wrapper.materialize_wrapper .gfield.static-label textarea {
    border: 1px solid var(--gfm-outline) !important; 
    background-color: var(--gfm-bg) !important; 
    box-shadow: var(--gfm-shadow) !important; 
    z-index: 1 !important;
}
.gform_wrapper.materialize_wrapper .gfield.static-label input:focus,
.gform_wrapper.materialize_wrapper .gfield.static-label select:focus,
.gform_wrapper.materialize_wrapper .gfield.static-label textarea:focus {
    border-width: 2px !important; 
    border-color: var(--gfm-accent) !important;
    box-shadow: none !important;
}

.gform_wrapper.materialize_wrapper .gfield.static-label select { color: var(--gfm-text) !important; }
.gform_wrapper.materialize_wrapper .gfield.static-label input::placeholder,
.gform_wrapper.materialize_wrapper .gfield.static-label textarea::placeholder,
.gform_wrapper.materialize_wrapper .gfield.static-label input::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield.static-label textarea::-webkit-input-placeholder {
    color: #999999 !important; opacity: 1 !important;
}

/* ==========================================================================
   14. UTILITIES & OVERRIDES
   ========================================================================== */

.gform_wrapper.materialize_wrapper .gchoice[style*="display: none"],
.gform_wrapper.materialize_wrapper .gchoice[style*="display:none"] {
    display: none !important;
}

.gform_wrapper.materialize_wrapper .gfield_visibility_hidden {
    display: none !important;
}

/* ==========================================================================
   15. THE SIBLING COMBINATOR PATCH
   ========================================================================== */

.gform_wrapper.materialize_wrapper .ginput_container_date {
    position: relative !important; 
    display: block !important; 
    width: 100% !important;
}
.gform_wrapper.materialize_wrapper .gfield input.datepicker_with_icon {
    width: 100% !important; 
    padding-right: 40px !important; 
    display: block !important;
}
.gform_wrapper.materialize_wrapper .ginput_container_date img.ui-datepicker-trigger {
    position: absolute !important; 
    right: 12px !important; 
    top: 50% !important;
    transform: translateY(-50%) !important; 
    z-index: 5 !important;
    cursor: pointer !important; 
    margin: 0 !important; 
    padding: 0 !important;
    width: 24px !important; 
    height: 24px !important;
    left: auto !important; 
}

.gform_wrapper.materialize_wrapper .ginput_container input ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper .ginput_container select ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper .ginput_complex input ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper .ginput_complex select ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper .ginput_container_textarea textarea ~ label.gf-floating-label {
    position: absolute !important;
    left: 0.75rem !important;
    top: calc(var(--gfm-height) / 2) !important;
    transform: translateY(-50%) !important;
    background: transparent !important; /* MUST be transparent for True Notch */
    padding: 0 0.25rem !important;
    font-size: var(--gfm-font-size) !important;
    color: var(--gfm-text) !important;
    font-weight: 400 !important;
    pointer-events: none !important;
    z-index: 3 !important;
    transition: top 0.2s ease, transform 0.2s ease, font-size 0.2s ease, color 0.2s ease !important;
    margin-top: 0 !important;
}
.gform_wrapper.materialize_wrapper .ginput_container_textarea textarea ~ label.gf-floating-label {
    top: 1em !important;
    transform: none !important;
}

.gform_wrapper.materialize_wrapper input:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper select:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper textarea:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper input.has-value ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper select.has-value ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper textarea.has-value ~ label.gf-floating-label {
    top: -0.6em !important; 
    transform: none !important;
    left: 16px !important; 
    font-size: 0.75em !important;
    z-index: 3 !important;
    color: color-mix(in srgb, var(--gfm-text) 80%, transparent) !important;
    background: transparent !important; /* MUST be transparent for True Notch */
}
.gform_wrapper.materialize_wrapper textarea:focus ~ label.gf-floating-label, 
.gform_wrapper.materialize_wrapper textarea.has-value ~ label.gf-floating-label {
    top: -0.5em !important;
}

.gform_wrapper.materialize_wrapper .ginput_chained_selects_container select:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper .ginput_chained_selects_container select.has-value ~ label.gf-floating-label {
    font-size: 0.75em !important; 
    top: 0em !important; 
    transform: none !important; 
    z-index: 3 !important;
}

/* ==========================================================================
   16. FINAL SPECIALTY FIELD PATCHES
   ========================================================================== */

.gform_wrapper.materialize_wrapper .ginput_container_date {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: var(--gfm-height) !important; 
}
.gform_wrapper.materialize_wrapper .ginput_container_date img.ui-datepicker-trigger {
    position: absolute !important;
    right: 12px !important;
    top: calc(var(--gfm-height) / 2) !important;
    transform: translateY(-50%) !important;
    margin: 0 !important;
    left: auto !important;
    bottom: auto !important;
    width: 24px !important; 
    height: 24px !important;
}

.gform_wrapper.materialize_wrapper .ginput_complex.ginput_chained_selects_container span select:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper .ginput_complex.ginput_chained_selects_container span select.has-value ~ label.gf-floating-label {
    font-size: 0.75em !important;
    top: 0em !important;
    transform: none !important;
    z-index: 4 !important;
    color: color-mix(in srgb, var(--gfm-text) 80%, transparent) !important;
    background: transparent !important;
}

.gform_wrapper.materialize_wrapper .ginput_complex.ginput_chained_selects_container span select:not(:focus):not(.has-value) {
    color: transparent !important;
}

/* =========================================
   PLACEHOLDER FIX (Separated Vendor Prefixes)
   ========================================= */

.gform_wrapper.materialize_wrapper .gfield input:not(:focus)::placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:not(:focus)::placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:not(:focus)::placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.gform_wrapper.materialize_wrapper .gfield input:not(:focus)::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:not(:focus)::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:not(:focus)::-webkit-input-placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.gform_wrapper.materialize_wrapper .gfield input:not(:focus)::-moz-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:not(:focus)::-moz-placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:not(:focus)::-moz-placeholder {
    color: transparent !important;
    opacity: 0 !important;
}

.gform_wrapper.materialize_wrapper .gfield input:focus::placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:focus::placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:focus::placeholder {
    color: #999999 !important;
    opacity: 1 !important;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.gform_wrapper.materialize_wrapper .gfield input:focus::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:focus::-webkit-input-placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:focus::-webkit-input-placeholder {
    color: #999999 !important;
    opacity: 1 !important;
}

.gform_wrapper.materialize_wrapper .gfield input:focus::-moz-placeholder,
.gform_wrapper.materialize_wrapper .gfield textarea:focus::-moz-placeholder,
.gform_wrapper.materialize_wrapper .gfield input.pac-target-input:focus::-moz-placeholder {
    color: #999999 !important;
    opacity: 1 !important;
}

/* =========================================
   FILLED + PILL HYBRID STYLE
   ========================================= */
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='text'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='email'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='tel'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='url'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='password'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='number'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield select,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex input,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex select {
    border-radius: var(--gfm-radius) !important; 
    border: none !important; 
    height: calc(var(--gfm-height) + 4px) !important; 
    padding-top: 1.1em !important; 
    padding-left: 1.5rem !important; 
    padding-right: 1.5rem !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield textarea {
    border-radius: var(--gfm-radius) !important;
    border: none !important;
    padding-top: 2.2em !important; 
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input:focus,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield select:focus,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield textarea:focus {
    border: none !important;
    box-shadow: inset 0 0 0 2px var(--gfm-accent) !important; 
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_container input:not([type='radio']):not([type='checkbox']) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_container select + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex input:not([type='radio']):not([type='checkbox']) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex select + label {
    left: 1.5rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) input:not([type='radio']):not([type='checkbox']):focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) select:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) textarea:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) input:not([type='radio']):not([type='checkbox']).has-value + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) select.has-value + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) textarea.has-value + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) input:not([type='radio']):not([type='checkbox']).has-value:not(:focus) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) select.has-value:not(:focus) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) textarea.has-value:not(:focus) + label {
    top: 0.4em !important; 
    transform: translateY(0) !important; 
    font-size: calc(var(--gfm-font-size) * 0.75) !important; 
    color: color-mix(in srgb, var(--gfm-text) 80%, transparent) !important; 
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label label {
    top: 50% !important;
    transform: translateY(-50%) !important;
    font-size: var(--gfm-font-size) !important;
    color: var(--gfm-outside-text) !important; 
}
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label textarea + label {
    top: 1em !important;
    transform: none !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper textarea:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper textarea.has-value + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper textarea.has-value:not(:focus) + label {
    top: 0.8em !important; 
}

/* =========================================
   FINE-TUNING: ALIGNMENT & BUTTON WRAPPING
   ========================================= */

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_container input:not([type='radio']):not([type='checkbox']) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_container select + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex input:not([type='radio']):not([type='checkbox']) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex select + label {
    display: inline-flex !important; 
    align-items: center !important;
    white-space: nowrap !important; 
    pointer-events: none !important; 
}

.gform_wrapper.materialize_wrapper .gfield_required.gfield_required_text {
    display: inline-block !important; 
    font-weight: normal !important;
    color: #d32f2f !important; 
    font-size: 0.85em !important; 
    margin-left: 6px !important;
    line-height: 1 !important;
}

.gform_wrapper.materialize_wrapper fieldset .gfield_description {
    display: block !important;
    margin-bottom: 12px !important; 
    position: relative !important;
    width: 100% !important;
}
.gform_wrapper.materialize_wrapper .buttonized .ginput_container {
    padding-top: 12px !important; 
    width: 100% !important;
    clear: both !important;
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice label,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice label {
    padding: 8px 24px !important; 
    min-height: var(--gfm-height) !important; 
    height: auto !important; 
    white-space: normal !important; 
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1.3 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    pointer-events: auto !important; 
    cursor: pointer !important;
}

.gform_wrapper.materialize_wrapper .gfield.buttonized.buttonized-fluid .gchoice label {
    min-height: var(--gfm-height) !important;
    height: auto !important;
}

/* =========================================
   RADIO, CHECKBOX & CONSENT ALIGNMENT
   ========================================= */

.gform_wrapper.materialize_wrapper :not(.buttonized):not(.buttonized-fluid) > .ginput_container_radio .gchoice label,
.gform_wrapper.materialize_wrapper :not(.buttonized):not(.buttonized-fluid) > .ginput_container_checkbox .gchoice label,
.gform_wrapper.materialize_wrapper .gfield_consent_label {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: var(--gfm-outside-text) !important;
    font-size: var(--gfm-font-size) !important;
    pointer-events: auto !important;
    line-height: 1.4 !important;
}

.gform_wrapper.materialize_wrapper :not(.buttonized):not(.buttonized-fluid) > .ginput_container_radio .gchoice,
.gform_wrapper.materialize_wrapper :not(.buttonized):not(.buttonized-fluid) > .ginput_container_checkbox .gchoice,
.gform_wrapper.materialize_wrapper .ginput_container_consent {
    display: flex !important;
    align-items: center !important; 
    margin-bottom: 8px !important;
}

.gform_wrapper.materialize_wrapper :not(.buttonized):not(.buttonized-fluid) > .ginput_container_radio input[type="radio"],
.gform_wrapper.materialize_wrapper :not(.buttonized):not(.buttonized-fluid) > .ginput_container_checkbox input[type="checkbox"],
.gform_wrapper.materialize_wrapper .ginput_container_consent input[type="checkbox"] {
    position: static !important;
    appearance: auto !important; 
    -webkit-appearance: auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 10px 0 0 !important; 
    opacity: 1 !important;
    flex-shrink: 0 !important; 
    cursor: pointer !important;
}

.gform_wrapper.materialize_wrapper .buttonized input[type="radio"],
.gform_wrapper.materialize_wrapper .buttonized input[type="checkbox"],
.gform_wrapper.materialize_wrapper .buttonized-fluid input[type="radio"],
.gform_wrapper.materialize_wrapper .buttonized-fluid input[type="checkbox"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: none !important;
}

/* =========================================
   BUTTONIZED "OTHER" OPTION FIXES
   ========================================= */

.gform_wrapper.materialize_wrapper .buttonized .gfield_radio,
.gform_wrapper.materialize_wrapper .buttonized .gfield_checkbox {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
}

.gform_wrapper.materialize_wrapper .buttonized-fluid .gfield_radio,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gfield_checkbox {
    display: flex !important;
    flex-direction: row !important; 
    flex-wrap: nowrap !important; 
    gap: 12px !important;
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice {
    display: inline-flex !important;
    flex-direction: row !important; 
    flex-wrap: nowrap !important; 
    align-items: center !important;
    margin: 0 !important;
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice br,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice br {
    display: none !important; 
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice input[type="text"].gchoice_other_control:disabled,
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice input[type="text"].gchoice_other_control:disabled {
    display: none !important;
}

.gform_wrapper.materialize_wrapper .buttonized .gchoice input[type="text"].gchoice_other_control:not(:disabled),
.gform_wrapper.materialize_wrapper .buttonized-fluid .gchoice input[type="text"].gchoice_other_control:not(:disabled) {
    display: inline-block !important;
    flex: 0 0 auto !important; 
    width: 220px !important; 
    border-radius: var(--gfm-radius) !important;
    border: 1px solid var(--gfm-outline) !important;
    padding: 0 12px !important;
    background-color: var(--gfm-bg) !important;
    color: var(--gfm-text) !important;
    font-size: var(--gfm-font-size) !important;
    height: calc(var(--gfm-height) - 4px) !important;
    box-sizing: border-box !important;
    margin: 0 0 0 12px !important; 
}

/* =========================================
   STATIC LABEL OVERRIDES & SELECT TWEAKS
   ========================================= */

.gform_wrapper.materialize_wrapper .gfield_description {
    color: var(--gfm-outside-text) !important;
}

.gform_wrapper.materialize_wrapper .gfield.static-label > label.gform-field-label,
.gform_wrapper.materialize_wrapper .gfield.static-label .ginput_container > label.gform-field-label {
    position: static !important;
    transform: none !important;
    font-size: var(--gfm-font-size) !important;
    color: var(--gfm-outside-text) !important; 
    margin-bottom: 8px !important;
    display: block !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label input:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label textarea:focus + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label input.has-value + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label textarea.has-value + label {
    color: var(--gfm-outside-text) !important;
    font-size: var(--gfm-font-size) !important;
    top: auto !important; 
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label input[type='text'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label input[type='email'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label input[type='tel'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label input[type='url'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label input[type='number'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label select {
    height: var(--gfm-height) !important; 
    padding-top: 0 !important; 
    padding-bottom: 0 !important;
}
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield.static-label textarea {
    padding-top: 12px !important; 
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield:not(.static-label) select {
    padding-top: 1.4em !important; 
}

.gform_wrapper.materialize_wrapper .gfield.static-label .ginput_container {
    display: flex !important;
    flex-direction: column !important;
}

.gform_wrapper.materialize_wrapper .gfield.static-label .ginput_container > label.gform-field-label {
    order: -1 !important; 
    margin-bottom: 8px !important;
    margin-top: 0 !important;
}

/* =========================================
   UNIFIED ALIGNMENT (Logical Property Fix)
   ========================================= */

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='text'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='email'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='tel'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='url'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='password'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield input[type='number'],
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield select,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex input,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex select,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield textarea {
    padding-left: 16px !important; 
    padding-inline-start: 16px !important; 
    padding-right: 16px !important;
    padding-inline-end: 16px !important;
}

.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_container input:not([type='radio']):not([type='checkbox']) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_container select + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex input:not([type='radio']):not([type='checkbox']) + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .ginput_complex select + label,
.gform_wrapper.materialize_wrapper.is-filled_wrapper.is-pill_wrapper .gfield textarea + label {
    left: 16px !important;
    inset-inline-start: 16px !important; 
}

/* ==========================================================================
   16. OUTLINED PILL ALIGNMENTS (Clearing the Curve)
   ========================================================================== */

/* Shift ONLY the floating label rightwards to clear the pill curve */
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) input:focus + label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) select:focus + label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) textarea:focus + label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) input.has-value + label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) select.has-value + label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) textarea.has-value + label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) input:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) select:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) textarea:focus ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) input.has-value ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) select.has-value ~ label.gf-floating-label,
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) textarea.has-value ~ label.gf-floating-label {
    left: 22px !important; 
}

/* Shift the physical notch cutout rightwards to match the floated label */
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) .fr-notched-outline legend {
    margin-left: 22px !important; 
}

/* Widen the gap slightly to ensure the hidden asterisk doesn't clip for REQUIRED Pill fields */
.gform_wrapper.materialize_wrapper.is-pill_wrapper:not(.is-filled_wrapper) [aria-required="true"] ~ .fr-notched-outline legend span {
    padding-right: 26px !important;
}