/* VFCC Form Management — v1.0.1
   Break out of narrow Elementor section while keeping viewport safe. */
.vfcc-fm-form-wrap {
  --vfcc-green:#12663d;
  --vfcc-teal:#087c78;
  --vfcc-border:#dce9e3;
  width:min(1060px,calc(100vw - 48px));
  max-width:none;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin:20px 0 45px;
  color:#183529;
  font-family:Arial,Helvetica,sans-serif;
  box-sizing:border-box;
}
.vfcc-fm-form-wrap *{box-sizing:border-box}
.vfcc-fm-hero{background:linear-gradient(115deg,var(--vfcc-green),var(--vfcc-teal));border-radius:16px 16px 0 0;color:#fff;padding:32px 40px}
.vfcc-fm-hero h2{margin:9px 0 14px;color:#fff;font-size:clamp(25px,3vw,36px);line-height:1.25;font-weight:750}
.vfcc-fm-kicker{font-size:12px;font-weight:700;letter-spacing:.12em;color:#d9f3e2}
.vfcc-fm-description{color:#fff;font-size:16px;line-height:1.65;max-width:900px}
.vfcc-fm-description p{color:#fff;font-size:inherit;line-height:inherit;margin:0 0 9px}
.vfcc-fm-description p:last-child{margin-bottom:0}
.vfcc-fm-description strong,.vfcc-fm-description b{color:#fff}
.vfcc-fm-panel{background:#fff;border:1px solid var(--vfcc-border);border-top:0;padding:35px 40px 40px;border-radius:0 0 16px 16px;box-shadow:0 10px 32px rgba(8,61,45,.07)}
.vfcc-fm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:25px 28px}
.vfcc-fm-field{display:flex;flex-direction:column;gap:10px;min-width:0}
.vfcc-fm-field .vfcc-fm-question{display:flex;align-items:baseline;gap:8px;font-size:15px;font-weight:700;color:#17452f;line-height:1.55;max-width:100%}
.vfcc-fm-number{color:#137146;font-weight:800;flex:0 0 auto;font-variant-numeric:tabular-nums}
.vfcc-fm-label-text{flex:1;min-width:0}
.vfcc-fm-field strong{color:#bc2b47}
.vfcc-fm-field input:not([type=radio]):not([type=checkbox]),.vfcc-fm-field textarea,.vfcc-fm-field select{width:100%;min-width:0;max-width:100%;padding:12px 14px;font-family:inherit;font-size:15px;color:#20362e;background:#fff;border:1px solid #cbded4;border-radius:9px;min-height:47px;box-shadow:none}
.vfcc-fm-field textarea{min-height:118px;resize:vertical}
.vfcc-fm-field input:focus,.vfcc-fm-field select:focus,.vfcc-fm-field textarea:focus{outline:2px solid rgba(24,153,96,.22);border-color:#218b64}
.vfcc-fm-full{grid-column:1/-1}
.vfcc-fm-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin-top:2px;max-width:100%}
.vfcc-fm-choice{display:flex!important;align-items:center;gap:11px;padding:12px 14px;border:1px solid #dce8e0;border-radius:10px;background:#f8fbf9;cursor:pointer;font-size:14px!important;font-weight:500!important;line-height:1.45;color:#204b36!important;transition:background .12s,border-color .12s}
.vfcc-fm-choice:has(input:checked){border-color:#14834e;background:#e9f7ef}
.vfcc-fm-choice input[type=radio],.vfcc-fm-choice input[type=checkbox]{width:19px;height:19px;margin:0;flex:0 0 19px;accent-color:#12663d;cursor:pointer}
.vfcc-fm-choice span{flex:1;min-width:0}
.vfcc-fm-other{margin-top:6px;max-width:100%;padding:15px 16px;border-radius:10px;background:#f2f9f4;border:1px solid #c8e8d1}
.vfcc-fm-other[hidden]{display:none!important}
.vfcc-fm-other label{display:block;margin-bottom:9px;font-size:14px;font-weight:600;color:#1a5035}
.vfcc-fm-consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.6;margin-top:26px;color:#37584b;cursor:pointer}
.vfcc-fm-consent input{margin-top:5px;accent-color:#12663d}
.vfcc-fm-button{margin-top:24px;display:inline-block;background:#12663d;border:0;border-radius:10px;padding:14px 32px;font-weight:700;color:#fff;cursor:pointer;font-size:16px;transition:background .15s}
.vfcc-fm-button:hover{background:#08462a;color:#fff}
.vfcc-fm-alert{padding:14px 18px;background:#eef8f0;border-left:4px solid #16834b;color:#164a31;margin:0 0 20px;line-height:1.6;border-radius:6px}
.vfcc-fm-hp{position:absolute;left:-99999px;height:0;overflow:hidden}
@media(max-width:700px){
  .vfcc-fm-form-wrap{width:calc(100vw - 24px);margin:15px 0 30px}
  .vfcc-fm-hero{padding:25px 20px}
  .vfcc-fm-panel{padding:24px 20px}
  .vfcc-fm-grid{grid-template-columns:minmax(0,1fr);gap:20px}
  .vfcc-fm-full{grid-column:auto}
  .vfcc-fm-choices{grid-template-columns:minmax(0,1fr)}
  .vfcc-fm-button{width:100%}
}
