/* Custom Form 20 only styles its own feedback, spam trap and confirmation modal.
   Custom form field styling is authored in each form's CSS editor. */
.cf20-root, .cf20-root * { box-sizing: border-box; }
.cf20-root .cf20-honeypot { position: absolute !important; left: -9999px !important; top: auto !important; width: 1px !important; height: 1px !important; opacity: 0 !important; overflow: hidden !important; pointer-events: none !important; }
.cf20-root .cf20-feedback, .cf20-root .cf20-server-notice { padding: 12px 15px; margin: 14px 0; border-radius: 8px; font-size: 14px; line-height: 1.5; }
.cf20-root .cf20-error { color: #9c2020; background: #fff0f0; border: 1px solid #f3b2b2; }
.cf20-root .cf20-ok { color: #175b35; background: #eaf8ee; border: 1px solid #b7dfc1; }
.cf20-root .cf20-field-error { color: #b42318; display: block; font-size: 12px; margin-top: 5px; font-weight: 500; }
.cf20-root [data-cf20-invalid] { outline: 2px solid #dc2626 !important; outline-offset: 1px; }
.cf20-root .cf20-is-sending [type="submit"] { cursor: progress; opacity: .7; }
.cf20-root [hidden], .cf20-modal[hidden] { display: none !important; }
.cf20-modal-open { overflow: hidden; }
.cf20-root .cf20-modal { position: fixed; z-index: 2147483000; inset: 0; display: grid; place-items: center; padding: 18px; }
.cf20-root .cf20-modal-backdrop { position: absolute; inset: 0; background: rgba(9, 20, 35, .65); }
.cf20-root .cf20-modal-panel { position: relative; width: min(100%, 480px); background: #fff; color: #172033; border-radius: 18px; padding: 40px 30px 32px; text-align: center; box-shadow: 0 20px 80px rgba(0,0,0,.18); font-family: Arial, sans-serif; }
.cf20-root .cf20-modal-check { margin: 0 auto 18px; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #e8f8ec; color: #127736; font-size: 32px; font-weight: 700; }
.cf20-root .cf20-modal-panel h3 { margin: 0 0 12px; color: #172033; font-size: 28px; line-height: 1.25; font-weight: 700; }
.cf20-root .cf20-modal-panel p { margin: 0 0 24px; color: #526171; font-size: 16px; line-height: 1.6; }
.cf20-root .cf20-modal-close { cursor: pointer; display: inline-block; border: 0; border-radius: 9px; padding: 12px 28px; background: #1d4ed8; color: #fff; font-size: 15px; font-weight: 700; }
.cf20-root .cf20-modal-close:hover { background: #1e40af; }
.cf20-root .cf20-modal-close:focus-visible { outline: 3px solid #93c5fd; outline-offset: 3px; }
@media (max-width: 520px) { .cf20-root .cf20-modal-panel { padding: 30px 18px 24px; } .cf20-root .cf20-modal-panel h3 { font-size: 24px; } }

/* v1.2.2: visible validation feedback for screening submissions. */
.cf20-root .cf20-wizard-notice {
  margin: 0 0 18px; padding: 12px 15px; border: 1px solid #edb2a9;
  border-radius: 7px; background: #fff4f1; color: #912b22;
  font-size: 13px; line-height: 1.65; font-weight: 500;
}
