/* GüzelX form control katmanı */

.form-label, .form-check-label { color: var(--gx-text); font-weight: var(--gx-font-weight-semibold); }
.app-required-marker { color: var(--bs-danger); }
.form-text { color: var(--gx-text-muted); }
.form-control, .form-select { min-height: 42px; color: var(--gx-text); border-color: var(--gx-border); background-color: var(--gx-surface); }
textarea.form-control { min-height: 104px; }
.form-control::placeholder { color: var(--gx-text-muted); opacity: .8; }
.form-control:hover, .form-select:hover { border-color: var(--gx-accent); }
.form-control:focus, .form-select:focus, .form-check-input:focus { color: var(--gx-text); border-color: var(--gx-accent); box-shadow: 0 0 0 .25rem var(--gx-focus-ring); background-color: var(--gx-surface); }
.form-control:disabled, .form-select:disabled, .form-control[readonly] { color: var(--gx-text-muted); border-color: var(--gx-border); background-color: var(--gx-surface-secondary); opacity: .75; }
.form-control.is-valid, .form-select.is-valid { border-color: var(--bs-success); }
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--bs-danger); }
.valid-feedback { color: var(--bs-success); }
.invalid-feedback { color: var(--bs-danger); }
.form-check-input { border-color: var(--gx-border); background-color: var(--gx-surface); }
.form-check-input:checked { border-color: var(--gx-accent); background-color: var(--gx-accent); }
.form-switch .form-check-input { width: 2.5em; }
