/* ==========================================================================
   Quote form (Gravity Forms) styled like the mockup. GF's own CSS is switched off
   (functions: gform_disable_form_theme_css), everything here is scoped to .sw-quote.
   ========================================================================== */
.sw-form{display:block}
.sw-hide{display:none}
.sw-form .gform_anchor{display:block;height:0;overflow:hidden}
.sw-quote{display:flex;flex-direction:column;gap:18px;margin:0}
.sw-quote .gform_body,.sw-quote .gform-body{display:block}
.sw-quote .gform_fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px 12px;margin:0;padding:0;list-style:none}
.sw-quote .gfield{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;padding:0;border:0}
.sw-quote .gfield--type-hidden,.sw-quote .gform_hidden,.sw-quote .gform_validation_container,.sw-quote .gfield_visibility_hidden{display:none!important}
.sw-quote .sw-wide,.sw-quote .gfield--type-captcha{grid-column:1 / -1}
.sw-quote .sw-wide{margin-top:4px}
.sw-quote .gfield_label{display:block;margin:0;padding:0;font-size:14px;font-weight:600;color:var(--ink-2)}
.sw-quote .gfield_required{margin-left:2px;color:var(--blue-600);font-weight:inherit}
.sw-quote .gfield_required .gfield_required{margin-left:0}
.sw-quote .sw-optional-tag{font-weight:500;color:var(--ink-4);margin-left:4px}
.sw-quote .ginput_container{margin:0;padding:0}
.sw-quote input[type="text"],.sw-quote input[type="email"],.sw-quote input[type="tel"],.sw-quote input[type="url"],.sw-quote input[type="number"]{display:block;height:48px;width:100%;margin:0;border:1px solid var(--line-field);border-radius:4px;padding:0 14px;font-size:16px;line-height:normal;color:var(--ink);background:var(--bg-field);box-shadow:none}
.sw-quote textarea{display:block;width:100%;margin:0;border:1px solid var(--line-field);border-radius:4px;padding:12px 14px;font-size:16px;line-height:normal;color:var(--ink);background:var(--bg-field);resize:vertical;box-shadow:none}
.sw-quote .gfield_error input[type="text"],.sw-quote .gfield_error input[type="email"],.sw-quote .gfield_error input[type="tel"],.sw-quote .gfield_error textarea,.sw-quote [aria-invalid="true"]{border-color:var(--err)}
.sw-quote .gfield_description{margin:0;padding:0;font-size:14px;color:var(--ink-4)}
.sw-quote .gfield_validation_message,.sw-quote .validation_message,.sw-quote .gfield_description.validation_message{margin:0;padding:0;border:0;background:none;font-size:14px;font-weight:600;line-height:normal;color:var(--err)}
.sw-quote .gform_validation_errors,.sw-quote .gform_required_legend{display:none}
.sw-quote .sw-captcha .gfield_label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sw-quote .gform-footer,.sw-quote .gform_footer{display:flex;flex-direction:column;gap:18px;margin:0;padding:0}
.sw-quote__submit{height:56px;border:0;border-radius:4px;background:var(--yellow);color:var(--blue-700);font-weight:800;font-size:17px;cursor:pointer;padding:0 16px}
.sw-quote__submit:hover{background:var(--yellow-hover)}
.sw-quote__foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--ink-4)}
.sw-quote__call{font-weight:700;color:var(--blue-700)}
.sw-quote .gform_ajax_spinner,.sw-quote .gform-loader{width:20px;height:20px;margin:0 0 0 8px}
.sw-quote .ginput_recaptcha{width:304px;height:var(--sw-rc-h,78px);transform:scale(var(--sw-rc,1));transform-origin:0 0}
.sw-form-missing{margin:0;padding:12px 16px;background:var(--warn-bg);border-radius:6px;font-size:14px;color:var(--ink-2)}

/* confirmation card */
.sw-done{display:flex;flex-direction:column;gap:12px;padding:8px 0}
.sw-done__tick{width:44px;height:44px;border-radius:50%;background:var(--bg-tint);color:var(--blue-600);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px}
.sw-done__title{font-family:var(--font-c);font-weight:700;font-size:28px;color:var(--blue-700)}
.sw-done__text{font-size:16px;color:var(--ink-3);line-height:1.5}
.sw-done__text a{font-weight:700}
