/* Scope every rule to the theme quote section. Ninja Forms owns all behavior. */
.home-quote .legacy-quote-form { max-width:940px; min-width:0; margin:auto; text-align:left; overflow-wrap:anywhere; }
.home-quote .legacy-quote-form .nf-form-content { max-width:none; padding:0; }
.home-quote .legacy-quote-form .nf-form-content > nf-fields-wrap { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 20px; }
.home-quote .legacy-quote-form nf-fields-wrap > nf-field { display:block; grid-column:1 / -1; min-width:0; }
.home-quote .legacy-quote-form nf-fields-wrap > nf-field:has(.firstname-container, .lastname-container, .textbox-container, .email-container, .phone-container):not(:has(.submit-container)) { grid-column:auto; }
.home-quote .legacy-quote-form .nf-field-container { width:100%; min-width:0; margin:0; float:none; clear:none; }
.home-quote .legacy-quote-form .nf-field, .home-quote .legacy-quote-form .nf-field-element { min-width:0; max-width:100%; }
.home-quote .legacy-quote-form .nf-field-label { margin-bottom:8px; }
.home-quote .legacy-quote-form .nf-field-label label { font-size:1rem; font-weight:600; line-height:1.5; }
.home-quote .legacy-quote-form .nf-form-content .ninja-forms-field:not([type=submit]):not([type=button]):not([type=checkbox]):not([type=radio]):not([type=hidden]) { width:100%; max-width:100%; min-width:0; height:58px; border:1px solid #bfc0c2; border-radius:2px; background:#fff; color:#17191a; padding:14px 16px; font:400 1.1rem/1.45 Arial,Helvetica,sans-serif; box-shadow:none; }
.home-quote .legacy-quote-form .nf-form-content textarea.ninja-forms-field { height:128px !important; min-height:128px; resize:vertical; }
.home-quote .legacy-quote-form .ninja-forms-field::placeholder { color:#75777a; opacity:1; }
.home-quote .legacy-quote-form .ninja-forms-field:focus-visible { outline:2px solid var(--color-champagne); outline-offset:3px; }
.home-quote .legacy-quote-form .listcheckbox-wrap .nf-field-element ul { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 20px; padding:22px 20px !important; margin:0; border:1px solid #bfc0c2; border-radius:2px; }
.home-quote .legacy-quote-form .listcheckbox-wrap .nf-field-element li { display:flex; align-items:flex-start; gap:12px; min-width:0; margin:0 !important; padding:0 !important; }
.home-quote .legacy-quote-form .listcheckbox-wrap .nf-field-element input[type=checkbox] { appearance:auto; position:static; opacity:1; flex:0 0 22px; width:22px; height:22px; margin:2px 0 0; accent-color:var(--color-champagne); cursor:pointer; }
.home-quote .legacy-quote-form .listcheckbox-wrap .nf-field-element label { float:none; width:auto; margin:0; padding:0; font-size:1rem; font-weight:400; line-height:1.5; cursor:pointer; }
.home-quote .legacy-quote-form .listcheckbox-wrap .nf-field-element label::before,
.home-quote .legacy-quote-form .listcheckbox-wrap .nf-field-element label::after { display:none; }
.home-quote .legacy-quote-form .submit-wrap .nf-field-element { position:relative; width:min(100%,470px); margin:0 auto; float:none; }
.home-quote .legacy-quote-form .submit-wrap .nf-field-element::after { content:""; position:absolute; top:50%; right:24px; width:28px; height:28px; transform:translateY(-50%); pointer-events:none; background:center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2317191a' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16m-6-6 6 6-6 6'/%3E%3C/svg%3E"); }
.home-quote .legacy-quote-form .nf-form-content .submit-wrap .ninja-forms-field { display:block; width:100%; max-width:100%; height:auto; min-height:70px; padding:18px 64px 18px 28px; border:0; border-radius:0; background:var(--color-champagne); color:#17191a; font:800 1.25rem/1.4 var(--font-sans); letter-spacing:.025em; text-transform:uppercase; white-space:normal; cursor:pointer; clip-path:polygon(0 0,calc(100% - 24px) 0,100% 24px,100% 100%,0 100%); }
.home-quote .legacy-quote-form .submit-wrap .nf-field-element:focus-within { outline:2px solid #17191a; outline-offset:4px; }
.home-quote .legacy-quote-form .submit-wrap .ninja-forms-field:hover { background:var(--color-accent-soft); }
.home-quote .legacy-quote-form .submit-wrap .ninja-forms-field:disabled { opacity:.65; cursor:wait; }
.home-quote .legacy-quote-form .nf-form-fields-required { font-size:.8rem; margin-bottom:24px; }
.home-quote .legacy-quote-form .nf-error-msg, .home-quote .legacy-quote-form .ninja-forms-req-symbol { color:#a62d20; }
.home-quote .legacy-quote-form .nf-error .ninja-forms-field { border-color:#a62d20 !important; }
.home-quote .legacy-quote-form .nf-response-msg:not(:empty) { padding:24px; border-left:3px solid var(--color-champagne); background:#f5f4f0; }
@media(max-width:700px) {
 .home-quote .legacy-quote-form .nf-form-content > nf-fields-wrap { grid-template-columns:minmax(0,1fr); }
 .home-quote .legacy-quote-form .listcheckbox-wrap .nf-field-element ul { grid-template-columns:minmax(0,1fr); padding:18px 14px !important; }
 .home-quote .legacy-quote-form .nf-form-content .submit-wrap .ninja-forms-field { min-height:60px; font-size:1rem; padding-left:16px; padding-right:52px; }
 .home-quote .legacy-quote-form .submit-wrap .nf-field-element::after { right:16px; width:24px; height:24px; }
}


/* The section already supplies the public heading. */
.home-quote .legacy-quote-form .nf-form-title { display:none; }
