/* Base champ DSJ */
.dsj-field-group {
  margin-bottom: 0.9rem;
}

.dsj-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 500;
  color: #374151; /* slate-700 */
  margin-bottom: 0.25rem;
}

.dsj-input-wrapper {
  position: relative;
}

.dsj-input {
  width: 100%;
  border-radius: 0.75rem;
  border: 1px solid #d1d5db; /* slate-300 */
  padding: 0.6rem 0.85rem;
  font-size: 0.875rem;
  outline: none;
  background-color: #fff;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.dsj-input:focus {
  border-color: #4F46E5;
  box-shadow: 0 0 0 1px rgba(79, 70, 229, 0.25);
}

/* États validation */
.dsj-input.is-valid {
  border-color: #4F46E5;
  background: #F5F3FF;
}

.dsj-input.is-invalid {
  border-color: #DC2626;
  background: #FEF2F2;
}

/* Message d’aide / d’erreur */
.dsj-helper {
  margin-top: 0.25rem;
  font-size: 0.7rem;
  color: #6b7280; /* slate-500 */
}

.dsj-helper.error {
  color: #DC2626;
}

.dsj-helper.success {
  color: #4F46E5;
}
