/* vb-lead4.v1.css: the 4 step lead form (includes/lead-form.php, js/vb-lead4.v1.js), 2026-10-01.
   Main site navy #0F1E2E and gold #BFA15A. Every rule is scoped to form.vb-lf4 with a type selector so the
   WordPress theme reset still loaded on captured pages (button{border:1px solid #c36;color:#c36}, its :hover
   and :focus fills, input borders) cannot win. Works down to 320px wide. */
form.vb-lf4{--n:#0F1E2E;--g:#BFA15A;--line:#D5DAE1;--mut:#5C6672;--err:#B42318;
  margin:0;font-family:"Montserrat","Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--n);text-align:left}
form.vb-lf4 *,form.vb-lf4 *::before,form.vb-lf4 *::after{box-sizing:border-box}
form.vb-lf4 [hidden]{display:none!important}
form.vb-lf4 .vb-lf4__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

form.vb-lf4 .vb-lf4__progress{display:flex;align-items:center;gap:12px;margin:0 0 16px}
form.vb-lf4 .vb-lf4__plabel{flex:0 0 auto;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut)}
form.vb-lf4 .vb-lf4__bar{flex:1 1 auto;height:6px;border-radius:3px;background:#E8EBF0;overflow:hidden}
form.vb-lf4 .vb-lf4__fill{display:block;height:100%;background:var(--g);border-radius:3px;transition:width .25s ease}

form.vb-lf4 fieldset.vb-lf4__step{border:0;margin:0;padding:0;min-width:0}
form.vb-lf4 .vb-lf4__q{display:block;float:none;width:100%;margin:0 0 14px;padding:0;font-size:22px;font-weight:800;line-height:1.25;color:var(--n);outline:none}
form.vb-lf4 .vb-lf4__group{margin:4px 0 8px;font-size:15px;font-weight:700;color:var(--n)}

form.vb-lf4 .vb-lf4__opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 14px}
form.vb-lf4 button.vb-lf4__opt{display:flex;align-items:center;justify-content:center;min-height:52px;margin:0;padding:10px 12px;
  border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--n);font-family:inherit;font-weight:600;font-size:15px;line-height:1.25;
  text-align:center;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none;white-space:normal;transition:border-color .15s,background .15s,color .15s}
form.vb-lf4 button.vb-lf4__opt:hover{border-color:var(--n);background:#F4F6F9;color:var(--n)}
form.vb-lf4 button.vb-lf4__opt:focus{outline:none;background:#fff;color:var(--n)}
form.vb-lf4 button.vb-lf4__opt:focus-visible{outline:3px solid var(--g);outline-offset:2px}
form.vb-lf4 button.vb-lf4__opt.is-selected,form.vb-lf4 button.vb-lf4__opt.is-selected:hover,form.vb-lf4 button.vb-lf4__opt.is-selected:focus{border-color:var(--n);background:var(--n);color:#fff}

form.vb-lf4 .vb-lf4__label{display:block;margin:0 0 6px;font-size:14px;font-weight:700;color:var(--n)}
form.vb-lf4 .vb-lf4__req{color:var(--err)}
form.vb-lf4 .vb-lf4__select{position:relative;margin:0 0 6px}
form.vb-lf4 .vb-lf4__select::after{content:"";position:absolute;right:16px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:2px solid var(--n);border-bottom:2px solid var(--n);transform:rotate(45deg);pointer-events:none}
form.vb-lf4 select,form.vb-lf4 input.vb-lf4__input,form.vb-lf4 textarea.vb-lf4__input{display:block;width:100%;min-height:50px;margin:0;padding:12px 14px;
  border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--n);font-family:inherit;font-weight:500;font-size:16px;line-height:1.4;box-shadow:none;-webkit-appearance:none;appearance:none}
form.vb-lf4 select{padding-right:40px;cursor:pointer}
form.vb-lf4 textarea.vb-lf4__input{min-height:84px;resize:vertical}
form.vb-lf4 select:focus,form.vb-lf4 .vb-lf4__input:focus{outline:none;border-color:var(--n);box-shadow:0 0 0 3px rgba(191,161,90,.35)}
form.vb-lf4 .vb-lf4__input.is-error{border-color:var(--err);box-shadow:0 0 0 3px rgba(180,35,24,.15)}

form.vb-lf4 .vb-lf4__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
form.vb-lf4 .vb-lf4__field,form.vb-lf4 fieldset > .vb-lf4__input,form.vb-lf4 fieldset > textarea{margin-bottom:12px}

/* The WA landing pages' .sbf-consent: directly above the submit button. */
form.vb-lf4 .vb-lf4__consent{display:block;width:100%;margin:0 0 8px;font-size:12.5px;line-height:1.4;color:var(--mut);text-transform:none;letter-spacing:0;text-align:left}
form.vb-lf4 .vb-lf4__consent a,form.vb-lf4 .vb-lf4__call a{color:var(--n);font-weight:700;text-decoration:underline}
form.vb-lf4 .vb-lf4__ts{min-height:0;margin:0 0 10px;max-width:100%;overflow:hidden}
form.vb-lf4 .vb-lf4__alert{margin:10px 0 0;padding:10px 12px;border-radius:8px;background:#FEF3F2;color:var(--err);font-size:14px;line-height:1.45;font-weight:600}

form.vb-lf4 button.vb-lf4__submit,form.vb-lf4 button.vb-lf4__next{display:block;width:100%;min-height:54px;margin:0;padding:14px 18px;border:0;border-radius:10px;
  background:var(--n);color:#fff;font-family:inherit;font-weight:800;font-size:17px;line-height:1.2;letter-spacing:.01em;text-transform:none;cursor:pointer;box-shadow:0 10px 24px rgba(15,30,46,.18)}
form.vb-lf4 button.vb-lf4__next{margin-top:12px}
form.vb-lf4 button.vb-lf4__submit:hover,form.vb-lf4 button.vb-lf4__next:hover,form.vb-lf4 button.vb-lf4__submit:focus,form.vb-lf4 button.vb-lf4__next:focus{background:#1B3048;color:#fff;border:0}
form.vb-lf4 button.vb-lf4__submit:focus-visible,form.vb-lf4 button.vb-lf4__next:focus-visible{outline:3px solid var(--g);outline-offset:2px}
form.vb-lf4 button.vb-lf4__submit[disabled]{opacity:.75;cursor:wait}
form.vb-lf4 button.vb-lf4__submit.is-error,form.vb-lf4 button.vb-lf4__submit.is-error:hover{background:var(--err);color:#fff}
form.vb-lf4 .vb-lf4__call{margin:12px 0 0;text-align:center;font-size:14px;color:var(--mut)}

form.vb-lf4 .vb-lf4__nav{margin:10px 0 0}
form.vb-lf4 button.vb-lf4__back{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0;padding:8px 4px;border:0;background:none;color:var(--n);
  font-family:inherit;font-weight:700;font-size:15px;line-height:1;text-transform:none;letter-spacing:0;cursor:pointer;box-shadow:none}
form.vb-lf4 button.vb-lf4__back::before{content:"";width:8px;height:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
form.vb-lf4 button.vb-lf4__back:hover,form.vb-lf4 button.vb-lf4__back:focus{background:none;color:var(--n);text-decoration:underline;border:0}

form.vb-lf4 .vb-lf4__emerg{margin:0 0 14px;padding:12px 14px;border:2px solid var(--err);border-radius:10px;background:#FEF3F2}
form.vb-lf4 .vb-lf4__emerg-cb{display:flex;gap:10px;align-items:flex-start;margin:0;cursor:pointer;color:var(--n);font-size:15px;line-height:1.45;font-weight:400}
form.vb-lf4 .vb-lf4__emerg-cb input{flex:0 0 auto;width:22px;height:22px;margin:1px 0 0;accent-color:var(--err);cursor:pointer}
form.vb-lf4 .vb-lf4__emerg-cb strong{color:var(--err)}
form.vb-lf4 .vb-lf4__emerg-call{margin:6px 0 0 32px;font-size:14px;line-height:1.4;color:var(--n)}
form.vb-lf4 .vb-lf4__emerg-call a{color:var(--n);font-weight:700;text-decoration:underline}

form.vb-lf4 .vb-lf4__done{padding:18px 4px;text-align:center;outline:none}
form.vb-lf4 .vb-lf4__done-title{margin:0 0 8px;font-size:22px;font-weight:800;color:var(--n)}
form.vb-lf4 .vb-lf4__done-promise{margin:0;font-size:17px;line-height:1.5;color:var(--n)}

@media (max-width:560px){
  form.vb-lf4 .vb-lf4__row{grid-template-columns:1fr;gap:0}
  form.vb-lf4 .vb-lf4__q{font-size:20px}
}
@media (max-width:359px){
  form.vb-lf4 .vb-lf4__opts{gap:8px}
  form.vb-lf4 button.vb-lf4__opt{min-height:48px;padding:8px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){form.vb-lf4 .vb-lf4__fill{transition:none}}
