/* Applied only to inputs enhanced by password-validation.js */
.pv-input.is-valid {
  border-color: #036441 !important;
  padding-right: 2.5rem !important;
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1.25rem 1.25rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%23036441' d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e");
}

.pv-input.is-invalid {
  border-color: #dc3545 !important;
  padding-right: 2.5rem !important;
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1.25rem 1.25rem;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%23dc3545' d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.pv-hint {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.3;
  color: #6b7280;
}

.pv-feedback {
  font-size: 13px;
  line-height: 1.35;
  font-weight: 500;
}

/* Force consistent 5alas colors for the messages regardless of page theme */
.pv-feedback .text-success {
  color: #036441 !important;
}
.pv-feedback .text-danger {
  color: #dc3545 !important;
}
.pv-feedback i {
  margin-right: 0.35rem;
  vertical-align: -1px;
}

/* Make form error messages (e.g. "Required") match the same sleek style site-wide */
.error-message {
  display: block;
  margin-top: 6px;
  font-size: 13px !important;
  line-height: 1.35;
  font-weight: 500 !important;
}

/* Many forms use strong-600/strong-500 on error spans; keep errors sleek */
.error-message.strong-600,
.error-message.strong-500 {
  font-weight: 500 !important;
}

.error-message.text-danger {
  color: #dc3545 !important;
}


