/* Form Error Styling */
.error-message {
  display: block;
  color: #dc3545;
  font-size: 0.9em;
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}

/* Input field styling for invalid states */
input.invalid,
textarea.invalid,
select.invalid {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.15) !important;
}

/* Focus styling for invalid fields */
input.invalid:focus,
textarea.invalid:focus,
select.invalid:focus {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 4px rgba(220, 53, 69, 0.15) !important;
  outline: none;
}

/* Success message styling */
.form-status.success {
  display: block;
  background: #d4edda;
  color: #155724;
  border: 2px solid #28a745;
  padding: 1rem;
  border-radius: 4px;
  margin-top: 1rem;
}

/* Error message styling */
.form-status.error {
  display: block;
  background: #f8d7da;
  color: #721c24;
  border: 2px solid #dc3545;
  padding: 1rem;
  border-radius: 4px;
  margin-top: 1rem;
}

/* Form validation feedback */
.validation-feedback {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.25rem;
}

.validation-feedback.error {
  color: #dc3545;
}

.validation-feedback.success {
  color: #155724;
}

.validation-icon {
  font-size: 1.2em;
  font-weight: bold;
}

.validation-icon.error {
  color: #dc3545;
}

.validation-icon.success {
  color: #28a745;
}