/* A Form's public page (/f/FRM00001) and its embed. Stands alone: the CRM's
   stylesheet is not loaded on public pages. */
:root { --vf-ink: #1f2a24; --vf-muted: #5c6b63; --vf-line: #d6ddd8; --vf-brand: #1e6f4e; --vf-bg: #f4f7f5; --vf-error: #b42318; --vf-ok-bg: #e6f4ec; --vf-ok: #135c3c; }
* { box-sizing: border-box; }
.vf-body { margin: 0; background: var(--vf-bg); color: var(--vf-ink); font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; padding: 32px 16px; }
.vf-body--embed { background: transparent; padding: 0; }
.vf-card { max-width: 640px; margin: 0 auto; background: #fff; border: 1px solid var(--vf-line); border-radius: 12px; padding: 28px; }
.vf-body--embed .vf-card { border: 0; border-radius: 0; padding: 4px; }
.vf-org { margin: 0 0 4px; color: var(--vf-muted); font-size: 14px; }
.vf-logo { display: block; max-height: 72px; max-width: 220px; margin: 0 auto 16px; }
.vf-title { margin: 0 0 8px; font-size: 26px; line-height: 1.25; }
.vf-intro { margin: 0 0 20px; color: var(--vf-muted); white-space: pre-line; }
.vf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vf-field { grid-column: 1 / -1; }
.vf-field--half { grid-column: auto; }
@media (max-width: 560px) { .vf-grid { grid-template-columns: 1fr; } .vf-field--half { grid-column: 1 / -1; } }
.vf-field[hidden] { display: none; }
.vf-label { display: block; font-weight: 600; font-size: 14px; margin-bottom: 6px; }
.vf-req { color: var(--vf-error); }
.vf-input { width: 100%; font: inherit; color: inherit; padding: 10px 12px; border: 1px solid var(--vf-line); border-radius: 8px; background: #fff; }
.vf-input:focus { outline: 2px solid var(--vf-brand); outline-offset: 1px; border-color: var(--vf-brand); }
.vf-choices { border: 0; margin: 0; padding: 0; }
.vf-choice { display: flex; gap: 8px; align-items: center; padding: 4px 0; }
.vf-error { margin: 4px 0 0; min-height: 0; color: var(--vf-error); font-size: 13px; }
.vf-error:empty { display: none; }
.vf-alert { margin: 0 0 16px; padding: 10px 12px; border-radius: 8px; background: #fdecea; color: var(--vf-error); }
.vf-alert[hidden] { display: none; }
.vf-done { padding: 16px; border-radius: 8px; background: var(--vf-ok-bg); color: var(--vf-ok); font-weight: 600; white-space: pre-line; }
.vf-done[hidden] { display: none; }
.vf-submit { margin-top: 20px; width: 100%; padding: 12px 16px; font: inherit; font-weight: 600; color: var(--vf-on-brand, #fff); background: var(--vf-brand); border: 0; border-radius: 8px; cursor: pointer; }
.vf-submit:disabled { opacity: .6; cursor: default; }
.cf-turnstile { margin-top: 16px; }
.vf-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.vf-powered { margin: 20px 0 0; text-align: center; color: var(--vf-muted); font-size: 12px; }
