/*
 * jQuery Validation Engine — projeye özel, estetik görünüm.
 * Baloncuk prompt'u yumuşak bir "alan altı" satıra çevirir: uyarı ikonu + ince
 * kırmızı metin + hafif giriş animasyonu; hatalı alanda yumuşak kırmızı halka.
 */

/* ---- Hatalı alan: yumuşak kırmızı kenarlık + hafif halka, geçişli ---- */
.fr-auth-input,
.fr-form-input,
.fr-form-textarea,
.fr-form-select {
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.ve-invalid,
input.ve-invalid,
textarea.ve-invalid,
select.ve-invalid {
  border-color: #ef4444 !important;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}

/* Auth alanlarındaki sol ikon da hatada kırmızıya döner */
.fr-auth-input-wrap .ve-invalid ~ .fr-auth-input-icon {
  color: #ef4444;
}

/* ---- Prompt: input'tan hemen sonra, akış içinde (inline) alan-altı satır ---- */
.formError,
.formError.inline {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: block;
  width: 100%;
  /* Üstte input'un kırmızı halkasından net ayrılsın, altta bir sonraki elemandan
     nefes alsın diye ferah boşluk */
  margin: 11px 0 4px;
  cursor: default;
}

/* Baloncuk oku gizli */
.formError .formErrorArrow {
  display: none !important;
}

/* Mesaj: uyarı ikonu + ince kırmızı metin + hafif slide-in */
.formError .formErrorContent {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  background: transparent;
  color: #ef4444;
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.1px;
  padding: 0;
  border: none;
  box-shadow: none;
  border-radius: 0;
  min-width: 0;
  white-space: normal;
  animation: veErrorIn 0.2s ease-out;
}

/* "*" yerine düzgün uyarı ikonu (SVG — ikon fontuna bağımlı değil) */
.formError .formErrorContent::before {
  content: "";
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-top: 1px;
  background: no-repeat center / 14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ef4444'%3E%3Cpath d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zM8 4c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 4.995A.905.905 0 0 1 8 4zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z'/%3E%3C/svg%3E");
}

@keyframes veErrorIn {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Checkbox/radio hatasında etiket metnini kırmızıya çal */
.ve-invalid + span,
label.ve-invalid {
  color: #ef4444;
}

/* ---- Hata yuvası: input sarmalayıcısının (ikon burada) DIŞINDA, hemen altında.
   Prompt buraya basılır (data-prompt-target) → ikon kaymaz, boşluk net. ---- */
.ve-error-slot .formError,
.ve-error-slot .formError.inline {
  margin: 0;
}
.ve-error-slot:not(:empty) {
  margin: 10px 0 4px;
}
