.admission-field.has-error .form-control,
.admission-field.has-error .form-select,
.contact-field.has-error .form-control,
.contact-field.has-error .form-select,
.careers-field.has-error .form-control,
.careers-field.has-error .form-select,
.text-captcha.has-error .form-control {
  border-color: #dc2626 !important;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

.admission-field__error,
.contact-field__error,
.careers-field__error,
.text-captcha__error {
  display: block;
  margin: 0.35rem 0 0;
  font-size: 0.78rem;
  line-height: 1.35;
  color: #dc2626;
  min-height: 0;
}

.admission-field__error:empty,
.contact-field__error:empty,
.careers-field__error:empty,
.text-captcha__error:empty {
  display: none;
}

.careers-field.has-error .careers-upload {
  border-color: #dc2626;
}

.careers-declaration.has-error .form-check-label {
  color: #dc2626;
}

.text-captcha {
  margin-top: 0.25rem;
}

.text-captcha__row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.4rem 0 0.55rem;
}

.text-captcha__code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.5rem;
  padding: 0.55rem 0.9rem;
  border-radius: 0.55rem;
  border: 1px dashed rgba(120, 100, 70, 0.45);
  background: #f3efe6;
  color: #2a2418;
  font-family: "Times New Roman", Times, "Liberation Serif", serif;
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1;
  user-select: none;
}

.text-captcha__input {
  letter-spacing: 0.04em;
}

.text-captcha__hint {
  margin: 0.4rem 0 0;
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1.4;
  color: #94a3b8;
}

.text-captcha__refresh {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.4rem;
  height: 2.4rem;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 0.55rem;
  background: #fff;
  color: #4b5563;
  cursor: pointer;
  flex-shrink: 0;
}

.text-captcha__refresh:hover {
  background: rgba(15, 23, 42, 0.04);
  color: var(--brand-primary, #aa222e);
}

.text-captcha__refresh:disabled {
  opacity: 0.6;
  cursor: wait;
}

