/* =============================================================================
   Ekran denetimi düzeltmeleri (2026-10-24): 20 sayfa x 13 ekran genişliği (320–2560) ölçümünden.
   Var olan dosyalara dokunmadan üstüne yazar: seçiciler "html body" ile daha özgül, sayfa içi <style> bloklarını da geçer.
   Geri almak için includes/cdn.php'deki ks-duzen.css bağlantısını kaldırmak yeter.
   ============================================================================= */

/* 1) Telefonda tek kenar boşluğu. Üst menü, alt bilgi ve ana sayfa bölümleri 16 px; iç sayfaların .container'ı 12 px'ti.
      Satırların eksi boşluğu ve sütun dolguları aynı kaldığı için içerik bütünüyle 4 px içeri kayar. */
@media (max-width: 575.98px) {
  html body .container, html body .container-sm { padding-left: 16px; padding-right: 16px; }
}

/* 2) 12 px altı yazılar */
html body .ks-muhtar-title { font-size: 12px; }
html body .ks-muhtar-name { font-size: 14px; }          /* ad, unvan ve açıklamadan büyük kalsın */
html body .ks-muhtar-desc { font-size: 12px; }
html body .ihale-badge, html body .ks-gomulu--ihale-list .ihale-badge { font-size: 12px; }   /* sayfanın kendi kuralı önekli (2 sınıf) */
html body .ihale-no, html body .ks-gomulu--ihale-list .ihale-no { font-size: 12px; }
html body .ks-gomulu--ihale-list .ihale-card-date span { font-size: 12px; }
html body .ks-asfalt-card-status { font-size: 12px; }
html body .kk-card-yas, html body .ks-gomulu--guncel_kultur .kk-card-yas { font-size: 12px; }
html body .ks-gomulu--guncel_kultur .kk-cat em { font-size: 12px; }
html body .ks-news-acard-date { font-size: 12px; }
html body .ks-mobile-phone-yazi small { font-size: 12px; }
html body .kcw-head-txt small { font-size: 12px; }
html body .ksvt-brandrow span span { font-size: 12px; letter-spacing: 2px; }

/* 3) Dokunma alanı en az 24 px (WCAG 2.5.8) */
html body .ks-footer ul li a { padding-top: 3px; padding-bottom: 3px; }   /* 21 -> 27 px */
html body .kd-tumu { padding-top: 4px; padding-bottom: 4px; }              /* 22 -> 30 px */
html body .ks-kora-balon-x { min-width: 24px; min-height: 24px; display: inline-flex; align-items: center; justify-content: center; }
/* kaydırıcı noktaları: görünüş 5 px kalır, dokunma alanı görünmez dolguyla 25 px */
html body .ksvt-slider-dots button { position: relative; }
html body .ksvt-slider-dots button::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; bottom: -10px; }

/* 4) Açılışta kayma (CLS). Liste/form JavaScript ile sonradan doluyor; ilk anda sayfa kısa kalınca alt bilgi ekrana girip
      aşağı fırlıyordu (kurslar, asfalt CLS 0,2–0,29). Yer yalnız yüklenirken ayrılır; dolunca liste zaten ekran boyundan uzun. */
html body #gkCardsContainer:has(> .kk-loading) { min-height: 100vh; }
html body #calismalar:empty { min-height: 100vh; }
/* Turnstile kutusu (300x65) sonradan çizilince altındaki düğme kayıyordu. Yalnız Turnstile açıkken (ks-turnstile.js
   html'e ks-ts-acik ekler) yer ayrılır; kapalıyken boşluk kalmaz. */
html.ks-ts-acik body .ks-gomulu--crm-durum .ts-turnstile { min-height: 65px; }
/* Vatandaş Paneli: içerik JavaScript ile çiziliyor; yüklenirken son yüksekliği kadar yer (alt bilgi ekrana girip fırlamasın).
   Turnstile kutusuna ayrıca yer ayrılmadı: form dikeyde ortalandığı için formu oynatıyordu. */
html body #ksvt:empty, html body #ksvt:has(.ksvt-loading) { min-height: 960px; }
@media (max-width: 575.98px) { html body #ksvt:empty, html body #ksvt:has(.ksvt-loading) { min-height: 1000px; } }
@media (min-width: 992px) { html body #ksvt:empty, html body #ksvt:has(.ksvt-loading) { min-height: 680px; } }
