/* Herkese açık talep formlarının ortak tasarım dili (ABU Etkinlik Talep Formu'ndan birebir; kullanıcı isteği 15.10.2026).
   Tasarım Talep Formu bu dosyayı kullanır; satır içi stil yoktur (V-171 md. 3). */
.form-bg { background: linear-gradient(135deg, #f0f4f8 0%, #e2e8f0 100%); min-height: 100vh; }
.form-card { max-width: 1032px; margin: 0 auto; }
@media (max-width: 1100px) { .form-card { max-width: 90%; } }
@media (max-width: 768px)  { .form-card { max-width: 100%; padding-left: 10px; padding-right: 10px; } }
.section-title { font-size: 1rem; font-weight: 700; color: #1e3a5f; border-bottom: 2px solid #2563eb; padding-bottom: .4rem; margin-bottom: 1rem; }
.section-title .opsiyonel { font-size: .8rem; font-weight: 400; color: #64748b; }
.form-label.required::after { content: ' *'; color: #e53e3e; }
.abu-header { background: linear-gradient(135deg, #1e3a5f 0%, #2563eb 100%); color: #fff; }
.abu-header h1 { font-size: 1.6rem; }

/* Üst gezinti */
.ust-nav { background: #fff; border-bottom: 1px solid #e2e8f0; padding: 8px 0; }
.ust-nav a { color: #475569; font-size: .82rem; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 6px; transition: all .2s; }
.ust-nav a:hover { background: #f1f5f9; color: #1e3a5f; }

/* Başlık aksiyon butonları */
.btn-header-sorgula { display: inline-flex; align-items: center; gap: 6px; padding: 9px 22px; font-size: .875rem; font-weight: 600; border-radius: 10px; text-decoration: none; transition: all .22s ease; border: 2px solid rgba(255,255,255,.85); background: rgba(255,255,255,.12); color: #fff; backdrop-filter: blur(4px); box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.btn-header-sorgula:hover, .btn-header-sorgula:focus { background: rgba(255,255,255,.25); border-color: #fff; color: #fff; transform: translateY(-1px); box-shadow: 0 6px 18px rgba(0,0,0,.18); outline: none; }
.header-buton-grubu { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 14px; }
@media (max-width: 576px) { .header-buton-grubu { flex-direction: column; align-items: center; } .btn-header-sorgula { width: 100%; max-width: 300px; justify-content: center; } }

/* İlerleme çubuğu */
.progress-wrapper { background: #fff; border-bottom: 1px solid #e2e8f0; z-index: 1030; box-shadow: 0 2px 8px rgba(0,0,0,.06); transition: box-shadow .3s; }
.progress-wrapper.stuck { position: fixed; top: 0; left: 0; right: 0; }
.progress-steps { display: flex; justify-content: space-between; max-width: 1032px; margin: 0 auto; padding: 10px 16px; gap: 4px; overflow-x: auto; }
@media (max-width: 1100px) { .progress-steps { max-width: 90%; } }
@media (max-width: 768px)  { .progress-steps { max-width: 100%; } }
.progress-step { display: flex; align-items: center; gap: 6px; font-size: .72rem; color: #94a3b8; white-space: nowrap; transition: all .3s; cursor: pointer; text-decoration: none; }
.progress-step .step-num { width: 22px; height: 22px; border-radius: 50%; background: #e2e8f0; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: .7rem; transition: all .3s; flex-shrink: 0; }
.progress-step.active { color: #1e3a5f; font-weight: 600; }
.progress-step.active .step-num { background: #2563eb; color: #fff; }
.progress-step.completed .step-num { background: #059669; color: #fff; }
.progress-step.completed { color: #059669; }
@media (max-width: 768px) { .progress-step span:not(.step-num) { display: none; } .progress-steps { justify-content: center; } }

/* Karakter sayacı */
.char-counter { font-size: .75rem; color: #94a3b8; text-align: right; margin-top: 2px; transition: color .3s; }
.char-counter.warn { color: #f59e0b; }
.char-counter.full { color: #ef4444; font-weight: 600; }

/* Mobilde yapışkan gönder */
@media (max-width: 768px) {
    .sticky-submit { position: fixed; bottom: 0; left: 0; right: 0; z-index: 1020; background: #fff; padding: 10px 16px; border-top: 2px solid #2563eb; box-shadow: 0 -4px 12px rgba(0,0,0,.1); }
    .sticky-submit .btn { width: 100%; }
    body.form-bg { padding-bottom: 70px; }
}

/* Seçim kartları (etkinlik formundaki .cb-pill renk ve durum dili) */
.secim-kart { display: block; height: 100%; border: 1px solid #cbd5e1; background: #fff; border-radius: 12px; padding: 12px 14px; cursor: pointer; transition: all .2s; user-select: none; }
.secim-kart:hover { border-color: #2563eb; background: #eff6ff; }
.secim-kart input[type="checkbox"], .secim-kart input[type="radio"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.secim-kart .secim-ust { display: flex; align-items: center; gap: 8px; color: #1e3a5f; font-weight: 600; font-size: .9rem; }
.secim-kart .secim-oran { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 20px; background: #e2e8f0; color: #1e3a5f; font-size: .72rem; font-weight: 700; }
.secim-kart .secim-yer { display: block; color: #64748b; font-size: .8rem; margin-top: 4px; }
.secim-kart .secim-olcu { display: block; color: #94a3b8; font-size: .75rem; margin-top: 2px; }
.secim-kart .cb-check { margin-left: auto; color: #2563eb; display: none; }
.secim-kart.checked { border-color: #2563eb; background: #dbeafe; }
.secim-kart.checked .secim-oran { background: #2563eb; color: #fff; }
.secim-kart.checked .cb-check { display: inline; }
.secim-kart:focus-within { outline: 2px solid #2563eb; outline-offset: 2px; }

/* Çoklu seçim hap düğmeleri (etkinlik formundaki .cb-pill) */
.cb-group { display: flex; flex-wrap: wrap; gap: 8px; }
.cb-pill { display: inline-flex; align-items: center; gap: 4px; padding: 6px 14px; border-radius: 20px; border: 1px solid #cbd5e1; background: #fff; font-size: .82rem; color: #475569; cursor: pointer; transition: all .2s; user-select: none; }
.cb-pill:hover { border-color: #2563eb; background: #eff6ff; }
.cb-pill input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cb-pill.checked { border-color: #2563eb; background: #dbeafe; color: #1e3a5f; font-weight: 600; }
.cb-pill .cb-check { display: none; }
.cb-pill.checked .cb-check { display: inline; }
.cb-pill:focus-within { outline: 2px solid #2563eb; outline-offset: 2px; }
/* Pencere açıkken arka plan güçlü bulanık (bokeh); boş alana tıklama pencereyi kapatır (Bootstrap varsayılanı) */
.modal-backdrop.show { opacity: 1; background: rgba(15, 23, 42, .38); -webkit-backdrop-filter: blur(40px) saturate(160%); backdrop-filter: blur(40px) saturate(160%); }

/* Örnek görünüm (göz) düğmesi: kartın sağ üstünde, kartın dışında olduğu için seçimi değiştirmez */
.ornek-goz { position: absolute; top: 8px; right: 14px; z-index: 2; width: 30px; height: 30px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #cbd5e1; border-radius: 50%; background: #fff; color: #2563eb; cursor: pointer; transition: all .2s; }
.ornek-goz:hover, .ornek-goz:focus-visible { background: #2563eb; color: #fff; border-color: #2563eb; outline: none; }
.ornek-goz .ti { font-size: 1.05rem; }
.secim-kart-ornekli .secim-ust { padding-right: 34px; }
/* Örnek penceresi kalem penceresinin üstünden açılabilir (iki pencere üst üste; Bootstrap ikisine de aynı katmanı verir) */
#ornekModal { z-index: 1070; }
.ornek-gorsel { display: block; width: 100%; max-width: 460px; height: auto; margin: 0 auto; border-radius: 10px; }
/* Sepet: her kalem bir özet satırı (ad, ölçü, ayrıntı) + Düzenle / Kopyala / Sil; ayrıntılar kalem penceresinde girilir */
.sepet-kalem { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border: 1px solid #e2e8f0; border-left: 3px solid #2563eb; border-radius: 10px; background: #fff; margin: 0 0 8px; }
.sepet-bilgi { flex: 1 1 auto; min-width: 0; }
.sepet-ad { font-weight: 600; color: #1e3a5f; font-size: .9rem; }
.sepet-olcu { color: #94a3b8; font-size: .75rem; }
.sepet-ayrinti { color: #475569; font-size: .8rem; margin-top: 2px; }
.sepet-not { color: #64748b; font-size: .78rem; font-style: italic; margin-top: 2px; }
.sepet-islem { display: flex; flex-wrap: wrap; gap: 6px; flex: 0 0 auto; }
.sepet-bos { padding: 14px; border: 1px dashed #cbd5e1; border-radius: 10px; color: #64748b; font-size: .85rem; background: #f8fafc; margin-bottom: 10px; }
.sepet-bos[hidden] { display: none; }
@media (max-width: 576px) { .sepet-kalem { flex-direction: column; } }
.diger-olcu-kutu { height: 100%; border: 1px dashed #2563eb; background: #f8fafc; border-radius: 12px; padding: 8px 12px; }
.diger-olcu-kutu .diger-olcu-birim { flex: 0 0 4.5rem; }
.bicim-grup-baslik { font-size: .78rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: .04em; margin: .75rem 0 .4rem; }
.alt-baslik { font-size: .9rem; font-weight: 700; color: #1e3a5f; margin: .5rem 0 .75rem; }

/* Diğer birim alanı */
.cb-ek-alan { margin-top: 8px; display: none; }
.cb-ek-alan.visible { display: block; }

/* KVKK penceresi */
.kvkk-govde { max-height: 65vh; overflow-y: auto; text-align: justify; }
.kvkk-alt { justify-content: flex-start; }
.kvkk-okudum { transition: all .3s ease; }

/* Bal küpü */
.tt-gizli-not { display: none; }
.tt-gizli-not.visible { display: block; }
.tt-gizli {position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* Başarı kartı */
.basari-sticky-kart { background: linear-gradient(135deg, #ecfdf5, #d1fae5); border: 2px solid #34d399; border-radius: 14px; padding: 20px 24px; box-shadow: 0 4px 20px rgba(5,150,105,0.15); }
.basari-sticky-kart h2 { color: #065f46; font-size: 1.1rem; }
.basari-ikon-wrap { width: 48px; height: 48px; border-radius: 50%; background: #059669; color: #fff; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.basari-ikon-wrap i { font-size: 1.6rem; }
.takip-kutusu { background: linear-gradient(135deg, #e8f4fd, #dbeafe); border: 2px dashed #3b82f6; border-radius: 10px; padding: 14px; margin-top: 12px; }
.takip-numara { font-size: 1.6rem; font-weight: 800; letter-spacing: 2px; color: #1e3a5f; }
.basari-butonlar { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.basari-btn-yeni, .basari-btn-sorgula { display: inline-flex; align-items: center; justify-content: center; padding: 11px 28px; font-size: .92rem; font-weight: 600; border-radius: 10px; border: none; text-decoration: none; transition: all .25s ease; color: #fff; }
.basari-btn-yeni { background: linear-gradient(135deg, #059669, #047857); box-shadow: 0 4px 16px rgba(5,150,105,0.35); }
.basari-btn-yeni:hover { background: linear-gradient(135deg, #047857, #065f46); color: #fff; transform: translateY(-1px); }
.basari-btn-sorgula { background: linear-gradient(135deg, #3b82f6, #1d4ed8); box-shadow: 0 4px 16px rgba(37,99,235,0.35); }
.basari-btn-sorgula:hover { background: linear-gradient(135deg, #2563eb, #1e40af); color: #fff; transform: translateY(-1px); }
@media (max-width: 576px) { .basari-butonlar { flex-direction: column; } .basari-btn-yeni, .basari-btn-sorgula { width: 100%; } }

.form-alt { line-height: 1.8; }

/* UNI500 formu resmî bilgilendirme kutuları (V-198): paragraf ve liste aralıkları sıkı */
.uni500-metin p { margin-bottom: .4rem; }
.uni500-metin p:last-child, .uni500-metin ul:last-child { margin-bottom: 0; }
.uni500-metin ul { margin-bottom: .4rem; padding-left: 1.2rem; }
