/* ==========================================================================
   Gummersta – gravity-forms.css
   Styles Gravity Forms ("Gravity Forms 2.5" theme markup) to match the original
   contact form. Loaded only when a form is rendered.
   ========================================================================== */

.contact-form .gform_wrapper.gravity-theme{margin:0}
.contact-form .gform_wrapper.gravity-theme .gform_fields{grid-column-gap:14px;grid-row-gap:14px}
.contact-form .gform_wrapper.gravity-theme .gfield{position:relative}

/* all fields are required in this form; the browser and screen readers still get aria-required */
.contact-form .gform_wrapper.gravity-theme .gform_required_legend,
.contact-form .gform_wrapper.gravity-theme .gfield_required{display:none}

/* text fields */
.contact-form .gform_wrapper.gravity-theme :is(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=url],textarea,select){width:100%;margin:0;border:1px solid rgba(0,0,0,.07);background:#fff;border-radius:10px;padding:22px 16px 8px;font:inherit;font-size:15px;line-height:1.65;color:var(--ink);transition:border-color .3s,box-shadow .3s}
.contact-form .gform_wrapper.gravity-theme textarea{height:130px;min-height:130px;resize:vertical}
.contact-form .gform_wrapper.gravity-theme :is(input,textarea,select):focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 4px rgba(13,58,187,.08)}

/* floating labels (state toggled by main.js) */
.contact-form .gform_wrapper.gravity-theme :is(.gfield--type-text,.gfield--type-email,.gfield--type-phone,.gfield--type-textarea,.gfield--type-number,.gfield--type-website) .gfield_label{position:absolute;left:17px;top:15px;z-index:1;margin:0;padding:0;font-size:15px;font-weight:400;line-height:1.65;color:var(--muted);pointer-events:none;transition:.25s var(--ease)}
.contact-form .gform_wrapper.gravity-theme .gfield.is-active .gfield_label{top:7px;font-size:11.5px;line-height:1.4;letter-spacing:.04em}

/* consent checkbox (the original's 6px top margin collapsed into the 14px field gap) */
.contact-form .gform_wrapper.gravity-theme .ginput_container_consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--muted)}
.contact-form .gform_wrapper.gravity-theme .ginput_container_consent input{margin:4px 0 0;accent-color:var(--blue)}
.contact-form .gform_wrapper.gravity-theme .gfield_consent_label{font-size:13.5px;font-weight:400;color:var(--muted);padding:0}
.contact-form .gform_wrapper.gravity-theme .gfield_consent_label a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

/* submit */
.contact-form .gform_wrapper.gravity-theme .gform_footer{margin:24px 0 0;padding:0}
.contact-form .gform_wrapper.gravity-theme .gform_footer .btn{margin:0;padding:0 24px;font-size:14.5px;line-height:normal}
.contact-form .gform_wrapper.gravity-theme .gform_ajax_spinner{margin-left:12px}

/* validation and confirmation */
.contact-form .gform_wrapper.gravity-theme .gfield_validation_message{margin-top:6px;padding:6px 12px;font-size:13px;border-radius:8px}
.contact-form .gform_wrapper.gravity-theme .gform_validation_errors{border-radius:10px;margin-bottom:18px}
.contact-form .gform_confirmation_message{font-size:14px;color:var(--blue);font-weight:500}
