/* Mesajul de confirmare/eroare afisat deasupra formularelor publice. */
.form-status {
  margin: 0 0 18px;
  padding: 12px 16px;
  border-radius: 10px;
  font-size: 0.95rem;
  line-height: 1.5;
  border: 1px solid currentColor;
}
.form-status-succes { color: #0f6b3f; background: #e8f6ee; }
.form-status-eroare { color: #8c1d18; background: #fdecea; }

/* Validarea (formular.js): fiecare camp ramas necompletat isi schimba culoarea chenarului
   (sau a sublinierii, la formularele cu linie) si are mesajul lui dedesubt, in culoarea de
   eroare, ca sa se vada si la campurile fara chenar propriu (CV, bifa de acord). */
.camp-eroare {
  display: block;
  margin-top: 7px;
  color: #a63d2a;
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
  animation: camp-eroare-intra 0.2s ease-out;
}
form.public-form [aria-invalid="true"]:not([type="checkbox"]) { border-color: #c27a5c; }
/* Bifa nu are chenar de colorat: primeste un contur. */
form.public-form input[type="checkbox"][aria-invalid="true"] { outline: 2px solid #c27a5c; outline-offset: 2px; }
/* La CV, input-ul e invizibil peste chenar: se coloreaza chenarul vizibil. */
form.public-form .upload-field:has(input[aria-invalid="true"]) { border-color: #c27a5c; }
@keyframes camp-eroare-intra {
  from { opacity: 0; }
  to { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .camp-eroare { animation: none; }
}
.contact-consent + .camp-eroare,
.request-consent + .camp-eroare,
.consent + .camp-eroare { margin: -4px 0 16px; }
.upload-field + .camp-eroare { margin: -18px 0 22px; }
/* In formularele cu etichete-grila (Pentru companii), mesajul nu are voie sa intinda
   randurile vecinului: continutul etichetei sta lipit sus. */
form.public-form label { align-content: start; }
