/*
 * Gravity Forms pieces the original CSS doesn't cover (forms with the "state48-form" class).
 * Field layout/look comes from the original CSS via the markup in inc/forms.php.
 */
.state48-form_wrapper form{margin:0;}
/* Label font: original rule is "fieldset li label"; GF fields are divs. */
.state48-form_wrapper .gfield label:not([class*="fnt_"]){font-family:var(--fnt-frm-ff);letter-spacing:var(--fnt-frm-ls);line-height:var(--fnt-frm-lh);font-weight:var(--fnt-frm-w);text-transform:var(--fnt-frm-tt);display:block;}
.state48-form_wrapper .gfield{list-style:none;margin:0;padding:0;border:0;min-width:0;}
.state48-form_wrapper .gfield_required,
.state48-form_wrapper .gform_heading,
.state48-form_wrapper .gform_validation_container,
.state48-form_wrapper .gform_hidden,
.state48-form_wrapper .gfield--type-honeypot,
.state48-form_wrapper .gfield_visibility_hidden,
.state48-form_wrapper .gform_ajax_spinner,
.state48-form_wrapper .gf_page_steps,
.state48-form_wrapper .gform_page_footer .gform_button + .gform_ajax_spinner{display:none !important;}
.state48-form_wrapper .ginput_container{position:relative;}
.state48-form_wrapper .gfield--type-select .input-text > svg{position:absolute;right:1em;bottom:1.1em;width:1em;height:1em;pointer-events:none;}
.state48-form_wrapper select{appearance:none;cursor:pointer;}
.state48-form_wrapper textarea{min-height:4.5rem;height:auto;}
.state48-form_wrapper .gfield--type-html small{text-wrap:balance;}
.state48-form_wrapper button.btn{cursor:pointer;}
.state48-form_wrapper .gform_footer{display:block;}
/* File upload: plain input styled like the others. */
.state48-form_wrapper input[type="file"]{cursor:pointer;}
.state48-form_wrapper .gform_fileupload_rules,.state48-form_wrapper .gfield_description{display:block;font-size:.8rem;margin-top:.5em;opacity:.8;}
/* Validation */
.state48-form_wrapper .gfield_error .input-text :is(input,select,textarea){border-color:var(--invalid-color) !important;}
.state48-form_wrapper .validation_message{color:var(--invalid-color);font-size:.85rem;margin-top:.5em;text-align:left;}
.state48-form_wrapper .gform_validation_errors{color:var(--invalid-color);margin-bottom:1.5rem;font-weight:700;}
.state48-form_wrapper .gform_validation_errors h2{font:inherit;color:inherit;margin:0;}
.gform_confirmation_message{padding:1.5rem 0;font-size:1.1rem;}
/* Two-step estimate form */
.state48-steps-form_wrapper .gform_page_footer .step-two,.state48-steps-form_wrapper .gform_page_footer > div{min-width:0;}
/* Review form */
.state48-review-form_wrapper .str-rtng{list-style:none;padding:0;}
.state48-review-form_wrapper .str-rtng .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
