form span.error {
    width: 100%;
    font-size: 0.857rem;
}

form .error:not(input) {
    color: #ea5455;
    margin-top: 2px;
    margin-left: 2px;
}

form input.error,
form input.error:focus {
    border-color: #ea5455 !important;
}

form textarea.error {
    border-color: #ea5455 !important;
}

form .select2.error+.select2-container--classic .select2-selection--single,
form .select2.error+.select2-container--default .select2-selection--single,
form .select2.error+.select2-container--classic .select2-selection--multiple,
form .select2.error+.select2-container--default .select2-selection--multiple {
    border-color: #ea5455 !important;
}

.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size='1'],
.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size='1'] {
    background-position: right 1rem center, center right 2.5rem;
}

#cinsiyet-error {
    display: none !important;
}

#medeni_hali-error {
    display: none !important;
}

#yaka_tipi-error {
    display: none !important;
}

select.form-select.select2-hidden-accessible.error ~ span.select2-container .select2-selection {
    border-color: #ea5455 !important;
}

/* select2, asıl <select>'i gizleyip yanına kendi kutusunu (.select2-container)
   ekliyor; jQuery Validate ise hata etiketini gizli <select>'in hemen ardına
   yerleştirdiği için metin görünen kutunun üstünde/yanında garip bir yerde
   çıkıyor (Bölge, Eğitim, Kan Grubu, Ünvan, Departman, Pozisyon, Görev vb.
   tüm select2 alanlarında). Bunu düzeltmek için ilgili .form-group'u
   flex-column yapıp hata etiketine order:1 veriyoruz; böylece DOM sırası
   değişmeden SADECE görsel sıra, etiketi select2 kutusunun hemen altına alır. */
form.adnan_validate .form-group {
    display: flex;
    flex-direction: column;
}

form.adnan_validate .form-group label.error {
    order: 1;
}

/* select2 (bootstrap5 teması), seçim kutusuna orijinal <select>'in kendi
   class'ını (.form-select) kopyalıyor. .form-select'in line-height'ı (1.5,
   style.bundle.css) .form-control'unkinden (1.3) farklı olduğu için — border
   ve padding zaten eşit olmasına rağmen — select2 kutuları düz input/textarea
   alanlarından ~3px daha uzun render ediliyordu. line-height'ı .form-control
   ile eşitleyip select2'nin gerçek yüksekliğini projedeki tüm input'larla
   birebir aynı yapıyoruz. plugins.bundle.css/style.bundle.css bu dosyadan
   SONRA yüklendiği için (ve içindeki .form-select kuralı zaten aynı özgüllükte
   olduğu için) !important gerekiyor. */
.select2-container--bootstrap5 .select2-selection--single,
.select2-container--bootstrap5 .select2-selection--multiple {
    line-height: 1.3 !important;
}

/* Vendor temasında .select2-selection--single için border:2px solid
   var(--bs-gray-300) tanımlı (plugins.bundle.css) ama --multiple (çoklu
   seçim, örn. Ehliyet Sınıfları) varyantı için hiç border tanımlanmamış —
   bu yüzden diğer input/select2 alanlarından farklı, çerçevesiz görünüyordu.
   Aynı çerçeveyi elle ekleyip birebir aynı stile getiriyoruz. */
.select2-container--bootstrap5 .select2-selection--multiple {
    border: 2px solid var(--bs-gray-300) !important;
}

/* Vendor temasında --multiple varyantı ayrıca kendi min-height:calc(1.5em +
   1.55rem + 2px) ve padding-top/bottom:.575rem değerlerini taşıyor
   (plugins.bundle.css) — bunlar .form-control/.form-select'in ortak
   padding'i olan .775rem'den farklı. Ayrıca --multiple içeriği düz metin
   değil chip/etiket kutucukları olduğu için, container'ın gerçek yüksekliği
   artık kendi line-height'ından değil, chip'lerin kendi iç kutu modelinden
   (padding/margin) belirleniyor — bu yüzden padding'i eşitlemek tek başına
   yetmiyor. min-height'ı, tek satırlık normal durumda .form-control ile
   AYNI toplam yüksekliği (border+padding+line-height) üretecek calc'a
   sabitliyoruz; bu hem piksel-mükemmel hizalama sağlıyor HEM DE çok sayıda
   etiket seçilip ikinci satıra taştığında kutunun serbestçe büyümesine
   (auto-grow) izin vermeye devam ediyor (min-height, height değil). */
.select2-container--bootstrap5 .select2-selection--multiple {
    min-height: calc(1.3em + 1.55rem + 4px) !important;
    padding-top: .775rem !important;
    padding-bottom: .775rem !important;
}

/* =========================================================
   SELECT2 AÇILIR LİSTE TEMASI (proje geneli)
   ========================================================= */
/* Vendor temasında (.select2-container--bootstrap5) seçenekler arasında hiç
   ayırıcı yok, üzerine gelince düz gri (lightgray), seçili olan ise düz siyah
   oluyordu — liste tek bir bulanık blok gibi görünüyordu. Aşağıdaki kurallar
   TÜM projede (admin panel + iş başvurusu sayfası, ikisi de bu dosyayı
   kullanıyor) her select2 açılır listesini aynı, marka renklerine (siyah +
   #f8c301 sarı) uygun temaya kavuşturuyor. Bu dosya plugins.bundle.css'ten
   ÖNCE yüklendiği için (hem admin panelde hem isbasvurusu.php'de) ve vendor
   kuralları aynı özgüllükte olduğu için !important gerekiyor. */
.select2-container--bootstrap5 .select2-dropdown {
    border: none !important;
    border-radius: .75rem !important;
    box-shadow: 0 16px 40px -16px rgba(8, 8, 10, .35), 0 0 0 1px #e4e6ef !important;
    padding: .5rem 0 !important;
    overflow: hidden;
}

/* Seçenekleri birbirinden ayıran ince çizgi (son elemanda yok) — böylece liste
   tek bir blok değil, alt alta dizilmiş ayrı satırlar gibi görünür. */
.select2-container--bootstrap5 .select2-dropdown .select2-results__option {
    padding: .8rem 1.25rem !important;
    margin: 0 !important;
    font-weight: 500;
    transition: background-color .15s ease, color .15s ease;
}

.select2-container--bootstrap5 .select2-dropdown .select2-results__option:not(:last-child) {
    border-bottom: 1px solid #d7dae2;
}

/* Üzerine gelince / klavyeyle odaklanınca: marka sarısının açık tonu */
.select2-container--bootstrap5 .select2-dropdown .select2-results__option.select2-results__option--highlighted {
    background-color: rgba(248, 195, 1, .2) !important;
    color: #181c32 !important;
}

/* Seçili seçenek: dolgun marka sarısı, koyu metin, belirgin kontrast */
.select2-container--bootstrap5 .select2-dropdown .select2-results__option.select2-results__option--selected {
    background-color: #f8c301 !important;
    color: #08080a !important;
    font-weight: 700;
}

.select2-container--bootstrap5 .select2-dropdown .select2-results__option.select2-results__option--selected:after {
    background-color: #08080a !important;
}

/* Zaten seçili olan seçeneğin üzerine tekrar gelinirse, biraz daha koyu bir
   sarıyla ayırt edilsin (düz sarıyla karışmasın). */
.select2-container--bootstrap5 .select2-dropdown .select2-results__option.select2-results__option--selected.select2-results__option--highlighted {
    background-color: #dba900 !important;
    color: #08080a !important;
}

/* Arama kutusu odaklanınca marka rengiyle uyumlu ince bir vurgu halkası alsın */
.select2-container--bootstrap5 .select2-dropdown .select2-search .select2-search__field:focus,
.select2-container--bootstrap5 .select2-dropdown .select2-search .select2-search__field:active {
    border-color: #f8c301 !important;
    box-shadow: 0 0 0 .2rem rgba(248, 195, 1, .18) !important;
}