/* CAD – Forms UX | scope: .elementor-widget-form */

@keyframes cad-shake {
  0%   { transform: translateX(0); }
  20%  { transform: translateX(-4px); }
  40%  { transform: translateX(4px); }
  60%  { transform: translateX(-4px); }
  80%  { transform: translateX(4px); }
  100% { transform: translateX(0); }
}

/* Champ en erreur */
.elementor-widget-form .elementor-field-group.elementor-error .elementor-field-textual,
.elementor-widget-form .elementor-field-group.elementor-error .elementor-acceptance-field {
  border: 2px solid #d32f2f !important;
  background-color: #fff5f5 !important;
  transition: border-color 0.2s ease;
}

/* Label en erreur */
.elementor-widget-form .elementor-field-group.elementor-error .elementor-field-label {
  color: #d32f2f;
  font-weight: 600;
}

/* Message d'erreur */
.elementor-widget-form .elementor-field-group.elementor-error .elementor-message {
  color: #d32f2f;
  font-size: 0.85em;
  font-weight: 500;
}

.elementor-widget-form .elementor-field-group.elementor-error .elementor-message::before {
  content: "\26A0\A0"; /* ⚠ + espace insécable */
}

/* Animation shake déclenchée par JS */
.elementor-widget-form .elementor-field-group .elementor-field-textual.cad-shake,
.elementor-widget-form .elementor-field-group .elementor-acceptance-field.cad-shake {
  animation: cad-shake 0.4s ease;
}
