.cfs-form-wrap {
  --cfs-form-bg:#ffffff;
  --cfs-form-border:#e5e7eb;
  --cfs-input-bg:#ffffff;
  --cfs-input-text:#0f172a;
  --cfs-button-bg:#2563eb;
  --cfs-button-text:#ffffff;
  --cfs-button-hover:#1d4ed8;
  --cfs-message-bg:#ecfdf5;
  --cfs-message-text:#166534;
  --cfs-message-border:#bbf7d0;
  --cfs-form-text:#0f172a;
  --cfs-heading-text:#0f172a;
  --cfs-muted-text:#475569;
  --cfs-radius:18px;
  max-width:820px;
  margin:24px 0;
  color:var(--cfs-form-text);
}
.cfs-form,
.cfs-form-wrap .cfs-intro,
.cfs-form-wrap .cfs-html-block,
.cfs-form-wrap .cfs-step-heading,
.cfs-form-wrap .cfs-help,
.cfs-form-wrap .cfs-notice {
  color:var(--cfs-form-text);
}
.cfs-form {
  background:var(--cfs-form-bg);
  border:1px solid var(--cfs-form-border);
  border-radius:var(--cfs-radius);
  padding:24px;
  box-shadow:0 10px 30px rgba(2,6,23,.05);
}
.cfs-form-wrap .cfs-intro,
.cfs-form-wrap .cfs-html-block,
.cfs-form-wrap .cfs-intro p,
.cfs-form-wrap .cfs-html-block p,
.cfs-form-wrap .cfs-intro li,
.cfs-form-wrap .cfs-html-block li,
.cfs-form-wrap .cfs-intro span,
.cfs-form-wrap .cfs-html-block span {
  color:var(--cfs-form-text);
}
.cfs-form-wrap .cfs-intro h1,
.cfs-form-wrap .cfs-intro h2,
.cfs-form-wrap .cfs-intro h3,
.cfs-form-wrap .cfs-intro h4,
.cfs-form-wrap .cfs-intro h5,
.cfs-form-wrap .cfs-intro h6,
.cfs-form-wrap .cfs-html-block h1,
.cfs-form-wrap .cfs-html-block h2,
.cfs-form-wrap .cfs-html-block h3,
.cfs-form-wrap .cfs-html-block h4,
.cfs-form-wrap .cfs-html-block h5,
.cfs-form-wrap .cfs-html-block h6,
.cfs-step-heading h3 {
  color:var(--cfs-heading-text);
}
.cfs-intro { margin-bottom:18px; }
.cfs-progress { height:10px; background:#e2e8f0; border-radius:999px; overflow:hidden; margin-bottom:8px; }
.cfs-progress-bar { height:100%; width:0; background:var(--cfs-button-bg); transition:width .2s ease; }
.cfs-progress-text,
.cfs-step-heading p,
.cfs-help { font-size:13px; color:var(--cfs-muted-text); }
.cfs-progress-text { margin-bottom:18px; }
.cfs-step-heading { margin-bottom:14px; }
.cfs-step-heading h3 { margin:0 0 4px; font-size:20px; }
.cfs-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.cfs-col-full { grid-column:1 / -1; }
.cfs-col-half { grid-column:auto; }
.cfs-label { display:block; margin:0 0 8px; font-weight:600; color:var(--cfs-heading-text); }
.cfs-label span { color:#dc2626; }
.cfs-field input[type="text"], .cfs-field input[type="email"], .cfs-field input[type="date"], .cfs-field input[type="url"], .cfs-field textarea, .cfs-field select {
  width:100%;
  border:1px solid var(--cfs-form-border);
  border-radius:calc(var(--cfs-radius) - 6px);
  padding:12px 14px;
  background:var(--cfs-input-bg);
  color:var(--cfs-input-text);
  min-height:48px;
  box-sizing:border-box;
}
.cfs-field input::placeholder,
.cfs-field textarea::placeholder { color:var(--cfs-muted-text); opacity:1; }
.cfs-field textarea { min-height:120px; resize:vertical; }
.cfs-choice-group {
  display:grid;
  gap:10px;
  border:1px solid var(--cfs-form-border);
  border-radius:calc(var(--cfs-radius) - 6px);
  padding:14px;
  background:var(--cfs-input-bg);
  color:var(--cfs-input-text);
}
.cfs-choice-group label { display:flex; align-items:center; gap:10px; color:var(--cfs-input-text); }
.cfs-html-block { padding:4px 0 10px; }
.cfs-step-actions { margin-top:20px; display:flex; gap:12px; justify-content:flex-end; }
.cfs-step-actions.is-multistep { justify-content:space-between; }
.cfs-submit-btn, .cfs-secondary-btn {
  border:none;
  border-radius:calc(var(--cfs-radius) - 6px);
  padding:14px 22px;
  font-weight:600;
  cursor:pointer;
}
.cfs-submit-btn { background:var(--cfs-button-bg); color:var(--cfs-button-text); }
.cfs-submit-btn:hover { background:var(--cfs-button-hover); }
.cfs-secondary-btn { background:#e2e8f0; color:#0f172a; }
.cfs-notice { border-radius:calc(var(--cfs-radius) - 6px); padding:14px 16px; margin-bottom:14px; }
.cfs-notice-success { background:var(--cfs-message-bg); color:var(--cfs-message-text); border:1px solid var(--cfs-message-border); }
.cfs-notice-error { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
@media (max-width: 768px) {
  .cfs-grid { grid-template-columns:1fr; }
  .cfs-col-half, .cfs-col-full { grid-column:auto; }
  .cfs-form { padding:18px; }
}

.cfs-choice-fieldset{border:0;padding:0;margin:0;}
.cfs-choice-fieldset .cfs-label{margin-bottom:12px;}
