/* forms.css */
.form-group  { display: flex; flex-direction: column; gap: var(--sp-2); }
.form-row    { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4); }
@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }

.form-label  { font-size: var(--text-sm); font-weight: 600; color: var(--gray-700); }
.required    { color: var(--error); }

.form-input, .form-select, .form-textarea {
  width: 100%;
  padding: 10px 14px;
  border: 1.5px solid var(--gray-200);
  border-radius: var(--r-md);
  font-size: var(--text-sm);
  font-family: var(--font-body);
  color: var(--black);
  background: var(--white);
  transition: border-color var(--ease), box-shadow var(--ease);
  outline: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-10);
}
.form-input::placeholder, .form-textarea::placeholder { color: var(--gray-400); }
.form-input.error  { border-color: var(--error) !important; box-shadow: 0 0 0 3px rgba(239,68,68,.1); }
.form-input.valid  { border-color: #22c55e !important; box-shadow: 0 0 0 3px rgba(34,197,94,.08); }
.form-group .field-error {
  font-size: 12px;
  color: var(--error);
  margin-top: -2px;
  display: none;
}
.form-group.has-error .field-error { display: block; }
.form-group.has-error .form-input  { border-color: var(--error) !important; box-shadow: 0 0 0 3px rgba(239,68,68,.1); }
.form-group.has-valid  .form-input  { border-color: #22c55e !important; box-shadow: 0 0 0 3px rgba(34,197,94,.08); }
.form-textarea { resize: vertical; min-height: 100px; }
.form-select   { cursor: pointer; }

.form-input-group { position: relative; display: flex; align-items: center; }
.form-input-group .form-input { flex: 1; min-width: 0; padding-left: 38px; }
.form-input-group .form-input.has-right-icon { padding-left: 14px; padding-right: 44px; }
.input-icon {
  position: absolute;
  left: 12px; top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  color: var(--gray-400);
  pointer-events: none;
  z-index: 2;
}
.input-icon-right {
  position: absolute;
  right: 10px; top: 50%;
  transform: translateY(-50%);
  font-size: 15px;
  color: var(--gray-400);
  pointer-events: auto;
  z-index: 2;
  line-height: 1;
  user-select: none;
  cursor: pointer;
  padding: 4px;
  background: white;
}

.form-check { display: flex; align-items: flex-start; gap: var(--sp-2); cursor: pointer; }
.form-check-input { width: 16px; height: 16px; margin-top: 1px; accent-color: var(--primary); cursor: pointer; flex-shrink: 0; }
.form-check-label { font-size: var(--text-sm); color: var(--gray-600); line-height: 1.5; }
.form-check-label a { color: var(--primary); }

.form-hint  { font-size: var(--text-xs); color: var(--gray-400); }
.form-error { font-size: var(--text-xs); color: var(--error); }

/* ── Form Mobil Düzeltmeleri ─────────────────────────────────── */
@media (max-width: 600px) {
  .form-row { grid-template-columns: 1fr; gap: var(--sp-3); }
}

@media (max-width: 480px) {
  .form-input,
  .form-select,
  .form-textarea {
    font-size: 16px; /* iOS zoom engellemek için min 16px */
    padding: 11px 14px;
  }

  .form-input-group .form-input { padding-left: 38px; }
}