/*
 * Form parçaları: tanıtım sitesindeki başvuru formu ve portalın hesap sayfaları ortak kullanır. Görünüm prototipteki
 * giriş penceresinden gelir (etiket, kutu, düğme). Beyaz zemin üzerinde çalışır.
 */

.form-stack { display: grid; gap: 14px; }
.form-field { display: grid; gap: 7px; }
.form-field label { font: 600 12.5px/1.2 var(--sp-font-body); color: #4B5F80; }
.form-input { width: 100%; border: 1px solid var(--sp-line-strong); border-radius: 12px; padding: 14px 15px; font: 400 15px/1.2 var(--sp-font-body); color: var(--sp-ink); background: #fff; outline: none; }
.form-input:focus { border-color: #16469B; box-shadow: 0 0 0 3px rgba(22,70,155,.15); }
.form-input[aria-invalid="true"], .form-input.input-validation-error { border-color: #B42B2B; }
.form-hint { font-size: 12.5px; line-height: 1.4; color: var(--sp-slate-500); }
.form-error { font-size: 12.5px; line-height: 1.4; color: #B42B2B; }
.form-error:empty { display: none; }
.form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-check { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 13.5px; line-height: 1.5; color: #4B5F80; }
.form-check input { width: 18px; height: 18px; margin: 1px 0 0; accent-color: #16469B; }
.form-check a, .form-check a:hover { color: #16469B; text-decoration: underline; }
.form-summary { border-radius: 12px; background: #FBEAEA; color: #8F1F1F; padding: 12px 14px; font-size: 13.5px; line-height: 1.5; }
/* Hata özetine odak sunucudan gelen yanıtta otomatik verilir (_ModelErrors); nerede olduğu görünsün. */
.form-summary:focus { outline: 2px solid currentColor; outline-offset: 3px; }
.form-summary ul { margin: 6px 0 0; padding-left: 18px; }
.form-status { border-radius: 12px; background: #EEF3FA; color: #16469B; padding: 12px 14px; font-size: 13.5px; line-height: 1.5; }
.form-warning { border-radius: 12px; background: #FFF4EA; color: #7A4A12; padding: 12px 14px; font-size: 13.5px; line-height: 1.5; }
.form-submit { margin-top: 4px; border: 0; background: linear-gradient(120deg, #16469B, #0C2E69); color: #fff; font: 700 15.5px/1 var(--sp-font-body); padding: 17px; border-radius: 999px; cursor: pointer; text-align: center; }
.form-submit:hover { box-shadow: 0 14px 34px rgba(22,70,155,.4); color: #fff; }
/* Gönderilmiş form ikinci kez gönderilmez (js/tek-gonderim.js); düğme beklendiğini gösterir. */
form[aria-busy="true"] .form-submit { opacity: .6; cursor: progress; box-shadow: none; }
.form-button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--sp-line-strong); background: #fff; color: var(--sp-ink); font: 600 14px/1 var(--sp-font-body); padding: 13px 18px; border-radius: 999px; cursor: pointer; white-space: nowrap; }
.form-button:hover { border-color: #16469B; color: var(--sp-ink); }
.form-button--danger { color: #B42B2B; border-color: var(--sp-danger-line); }
.form-button--danger:hover { border-color: #B42B2B; color: #B42B2B; }
.form-button--primary { border: 0; background: linear-gradient(120deg, #16469B, #0C2E69); color: #fff; }
.form-button--primary:hover { box-shadow: 0 14px 34px rgba(22,70,155,.4); color: #fff; }
/* Botların doldurduğu tuzak alanı: ekran dışında, klavye sırasında yok. */
.form-trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 560px) {
  .form-row { grid-template-columns: minmax(0, 1fr); }
}
