/* ─────────────────────────────────────────────────────
   CSM Form — Unified Validation Styles v3
   Covers: Both forms, error states, char-blocked flash,
           CF7 override, loading button
───────────────────────────────────────────────────── */

/* 1. Kill ALL CF7 default error tips — we use ours */
.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
  display: none !important;
}

/* Show CF7 success message with our styling */
.wpcf7-response-output.wpcf7-mail-sent-ok {
  display: block !important;
  background: #f0fdf4;
  border: 1px solid #86efac;
  color: #166534;
  border-radius: 6px;
  padding: 12px 16px;
  font-size: 14px;
  margin-top: 12px;
}

/* 2. Error border on input/select/textarea */
.cu-field-error,
.cu-field .cu-field-error,
.cu-field textarea.cu-field-error {
  border-color: #e53e3e !important;
  box-shadow: 0 0 0 2px rgba(229, 62, 62, 0.12) !important;
  outline: none;
}

/* 3. Error message text */
.cu-field-msg--error {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.4;
  color: #e53e3e;
  font-weight: 500;
  animation: cuShake 0.3s ease;
}

@keyframes cuShake {
  0%, 100% { transform: translateX(0); }
  20%       { transform: translateX(-5px); }
  60%       { transform: translateX(5px); }
}

/* 4. Invalid char flash — brief red tint when blocked key pressed */
.cu-char-blocked {
  background-color: rgba(229, 62, 62, 0.08) !important;
  transition: background-color 0.3s ease;
}

/* 5. Submit button loading state */
#cu-submit:disabled,
.cu-submit:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  pointer-events: none;
}

.submit-loading {
  display: none;
}