/* Gedeeld contactformulier (alle varianten). Kleuren via tokens met fallback. */
.cform { --cf-accent: var(--deep, #2D76BA); --cf-ink: var(--ink, #17263A); --cf-line: #C9D6E6; --cf-bg: #fff; --cf-muted: #5B6B80;
  margin-top: 32px; padding: clamp(20px, 3vw, 32px); border-radius: 18px; background: var(--cf-bg); color: var(--cf-ink); border: 1px solid var(--cf-line); max-width: 720px; }
.cform h3 { margin: 0 0 6px; font-size: 1.25rem; }
.cform > p { margin: 0 0 18px; color: var(--cf-muted); font-size: .95rem; }
.cform .row { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }
.cform .field { display: grid; gap: 6px; }
.cform .field.full { grid-column: 1 / -1; }
.cform label { font-weight: 700; font-size: .92rem; }
.cform label small { font-weight: 400; color: var(--cf-muted); }
.cform input, .cform select, .cform textarea { font: inherit; color: inherit; width: 100%; padding: 12px 14px; border: 1.5px solid var(--cf-line); border-radius: 10px; background: #fff; min-height: 48px; }
.cform textarea { min-height: 130px; resize: vertical; }
.cform input:focus, .cform select:focus, .cform textarea:focus { outline: 3px solid #FFD100; outline-offset: 2px; border-color: var(--cf-accent); }
.cform .hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cform .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 18px; }
.cform button { font: inherit; font-weight: 800; padding: 13px 22px; border-radius: 999px; border: 0; background: var(--cf-accent); color: #fff; cursor: pointer; min-height: 48px; }
.cform button:hover { filter: brightness(1.08); }
.cform button[disabled] { opacity: .65; cursor: wait; }
.cform .status { margin: 0; font-size: .95rem; }
.cform .status[data-state="error"] { color: #B42318; font-weight: 600; }
.cform .status[data-state="ok"] { color: #067647; font-weight: 600; }
.cform .privacy { font-size: .82rem; color: var(--cf-muted); margin: 14px 0 0; }
.cform .cf-turnstile { margin-top: 14px; }
@media (max-width: 560px) { .cform .row { grid-template-columns: 1fr; } .cform button { width: 100%; } }
