
/* CDL Pro — Form Styles */
.cdl-form-wrap { width: 100%; }

.cdl-builtin-form, .cdl-form-wrap form {
  background: var(--cdl-white);
  border-radius: var(--cdl-radius-lg);
  padding: 2rem;
  box-shadow: var(--cdl-shadow-lg);
}

.form-title { font-size: 1.375rem; margin-bottom: 0.5rem; color: var(--cdl-primary); }
.form-subtitle { font-size: 0.875rem; color: var(--cdl-text-light); margin-bottom: 1.5rem; }

.form-row { display: grid; gap: 1rem; }
.form-row--2 { grid-template-columns: 1fr 1fr; }

.form-field { display: flex; flex-direction: column; gap: 0.4rem; margin-bottom: 1rem; }
.form-field label { font-size: 0.875rem; font-weight: 600; color: var(--cdl-primary); }
.form-field label span { color: var(--cdl-accent); }

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid var(--cdl-border);
  border-radius: var(--cdl-radius);
  font-family: var(--cdl-font-body);
  font-size: 0.9375rem;
  color: var(--cdl-text);
  background: var(--cdl-white);
  transition: border-color var(--cdl-transition), box-shadow var(--cdl-transition);
  appearance: none;
}
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--cdl-accent);
  box-shadow: 0 0 0 3px rgba(230,51,41,0.12);
  outline: none;
}
.form-field input.error,
.form-field select.error,
.form-field textarea.error { border-color: #e53e3e; }

.form-field--consent { flex-direction: row; align-items: flex-start; gap: 0.75rem; }
.form-field--consent label { display: flex; gap: 0.75rem; align-items: flex-start; cursor: pointer; font-weight: 400; font-size: 0.8rem; color: var(--cdl-dark-gray); }
.form-field--consent input[type="checkbox"] { width: 18px; height: 18px; flex-shrink: 0; margin-top: 0.1rem; accent-color: var(--cdl-accent); }

.form-disclaimer { font-size: 0.75rem; color: var(--cdl-text-light); text-align: center; margin-top: 0.75rem; }

.form-messages { margin-top: 1rem; }
.form-messages .success { background: #f0fff4; border: 1px solid #9ae6b4; color: #276749; padding: 1rem; border-radius: var(--cdl-radius); }
.form-messages .error   { background: #fff5f5; border: 1px solid #feb2b2; color: #c53030; padding: 1rem; border-radius: var(--cdl-radius); }

.form-notice { background: var(--cdl-off-white); border: 2px dashed var(--cdl-border); padding: 1.5rem; border-radius: var(--cdl-radius); color: var(--cdl-text-light); font-size: 0.875rem; text-align: center; }

/* Hero form (dark background variant) */
.hero-form-wrap .cdl-builtin-form,
.hero-form-wrap .cdl-form-wrap form { background: rgba(255,255,255,0.97); }

/* Sidebar form */
.cdl-form-wrap--sidebar .cdl-builtin-form { padding: 1.5rem; }
.cdl-form-wrap--sidebar .form-title { font-size: 1.125rem; }

@media (max-width: 600px) {
  .form-row--2 { grid-template-columns: 1fr; }
  .cdl-builtin-form, .cdl-form-wrap form { padding: 1.5rem; }
}
