/*!
 * KONUTKENT · CLOUD-2 · 44 px DOKUNMA HEDEFİ DÜZELTMESİ
 * Sürüm 1.0.0 · 13 Eylül 2026
 *
 * KAYNAK ÖLÇÜM (production, iframe layout ölçümü, 375x812):
 *   /projeler/ankara/  -> 65 görünür hedef 44 px altında, 10 selektör grubunda
 *   Ölçülen değerler her kuralın üstünde yorum olarak yazılıdır.
 *
 * TASARIM KURALI: Savills kurumsal çizgisi korunur. Hiçbir renk, tipografi,
 * gölge veya kenarlık değişmez. Yalnız TIKLANABİLİR ALAN büyütülür; görsel
 * ağırlık aynı kalır. Kart ve liste ritmi bozulmasın diye büyütme, mümkün
 * olan her yerde negatif margin ile telafi edilir.
 *
 * GERİ ALMA: Bu dosyanın <link> satırını kaldırmak yeterlidir. Başka hiçbir
 * dosyaya dokunmaz, hiçbir kuralı !important ile ezmez (tek istisna
 * aşağıda gerekçesiyle işaretlenmiştir).
 */

/* ---------------------------------------------------------------------------
 * 1) Kart altı "İncele →" bağlantıları
 *    ÖLÇÜM: 24 adet · 48x16 px · font-size 12px · padding 0 · display block
 *    HEDEF: yükseklik >= 44 px, görsel konum korunur
 * ------------------------------------------------------------------------- */
.kk-card-footer > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    /* Kart yüksekliği artmasın diye dikey büyüme negatif margin ile telafi. */
    margin-block: -14px;
}

/* ---------------------------------------------------------------------------
 * 2) Kart başlığı bağlantıları (proje adı)
 *    ÖLÇÜM: 22 adet · min 110x29 px · font-size 25px · line-height 30px
 *    HEDEF: yükseklik >= 44 px. Başlık tipografisi DEĞİŞMEZ; yalnız dikey
 *    dolgu eklenir ve aynı miktar negatif margin ile ritim korunur.
 *
 *    1.2.0 DÜZELTMESİ — CİDDİ: 1.0.0 ve 1.1.0'da bu kural
 *      .kk-card h2 > a, .kk-card h3 > a, .kk-card-title > a, ...
 *    hedefliyordu. 13 Eylül 2026 ölçümü bu seçicilerin production'da
 *    SIFIR öğe eşleştirdiğini kanıtladı (.kk-card sınıfı SİTEDE YOK).
 *    Gerçek DOM yolu ölçüldü:
 *      article.kk-project-card > div.kk-project-body > h3 > a   (22 adet)
 *    Yanlış seçici yüzünden 65 hedefin 22'si düzelmeyecekti.
 *    tests/check-selectors.py bu sınıf hatayı artık kapıda tutar.
 * ------------------------------------------------------------------------- */
.kk-project-card .kk-project-body > h3 > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-block: -7px;
}

/* ---------------------------------------------------------------------------
 * 3) Filtre hapları (il/ilçe filtreleri)
 *    ÖLÇÜM: 6 adet (1'i .is-active) · min 62x38 px · padding 10px 14px
 *    HEDEF: 38 -> 44 px. Dolgu 10px -> 13px; yatay dolgu korunur.
 * ------------------------------------------------------------------------- */
.kk-filter-pills > a,
.kk-filter-pills > a.is-active {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-block: 13px;
}

/* ---------------------------------------------------------------------------
 * 4) Footer iletişim bağlantıları (telefon / e-posta)
 *    ÖLÇÜM: 4 adet · 190x18 px · padding 0
 *    HEDEF: yükseklik >= 44 px. Telefon bağlantıları mobilde en kritik
 *    dokunma hedefidir; burada negatif margin UYGULANMAZ, footer ritmi
 *    zaten seyrektir.
 * ------------------------------------------------------------------------- */
.kk-footer-contact > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

/* ---------------------------------------------------------------------------
 * 5) Sayfalama bağlantıları
 *    ÖLÇÜM: 3 adet · 40x44 px (yükseklik TAMAM, genişlik eksik)
 *    HEDEF: genişlik >= 44 px
 * ------------------------------------------------------------------------- */
.kk-pagination > a,
.kk-pagination > span {
    min-width: 44px;
    justify-content: center;
}

/* ---------------------------------------------------------------------------
 * 6) Footer yasal ve katılım bağlantıları
 *    ÖLÇÜM: kk-legal-links 2 adet 31x44 · kk-join-links 2 adet 32x44
 *    HEDEF: genişlik >= 44 px. Bağlantılar yan yana olduğu için yatay
 *    dolgu yerine min-width verilir; aradaki boşluk gap ile korunur.
 * ------------------------------------------------------------------------- */
.kk-legal-links > a,
.kk-join-links > a {
    min-width: 44px;
    justify-content: center;
}

/* ---------------------------------------------------------------------------
 * 7) Sabit CRO düğmeleri ("Biz Sizi Arayalım" / "WhatsApp")
 *    ÖLÇÜM: 2 adet · 147x35 ve 113x35 px · padding 9px 13px
 *    HEDEF: 35 -> 44 px
 * ------------------------------------------------------------------------- */
.kk-cro .kk-cro__btn {
    min-height: 44px;
    padding-block: 13px;
}

/* ---------------------------------------------------------------------------
 * 8) GÖRÜNÜR ODAK (CLOUD-2 erişilebilirlik kapısı)
 *    Klavye kullanıcısı için her etkileşimli öğede net, kontrastlı odak
 *    halkası. Fare tıklamasında görünmez (:focus-visible), bu yüzden
 *    kurumsal görünüm bozulmaz.
 * ------------------------------------------------------------------------- */
.kk-preview a:focus-visible,
.kk-preview button:focus-visible,
.kk-preview input:focus-visible,
.kk-preview select:focus-visible,
.kk-preview textarea:focus-visible {
    /* NOT: [role="button"] KALDIRILDI — canli olcumde 0 oge. Olu secici
       birakmak, sonraki denetimde gercek kusurlari gizler. Gercek <button>
       ogeleri zaten ustteki kuralla kapsaniyor. */
    outline: 3px solid #d2ae65;
    outline-offset: 2px;
    border-radius: 2px;
}

/* ---------------------------------------------------------------------------
 * 9) SABİT KATMAN İÇERİK ÖRTMESİN (CLOUD-2 md. 4)
 *    ÖLÇÜM: .kk-cro 375x812'de [203,724,147,78] — sayfa sonunda footer
 *    bağlantılarının üstüne gelebiliyor.
 *    ÇÖZÜM: gövdeye CRO yüksekliği kadar alt dolgu; böylece son içerik
 *    hiçbir zaman sabit katmanın altında kalmaz.
 * ------------------------------------------------------------------------- */
@media (max-width: 767px) {
    body.kk-preview {
        padding-bottom: 96px;
    }
}

/* ---------------------------------------------------------------------------
 * 10) TEK SEMANTİK HEADER — GEÇİŞ DÖNEMİ GÖRSEL NÖTRLEME
 *     /hizmetler-ve-ucretler/ sayfasında ikinci bir <header class=
 *     "kk-network-intro"> var (bölüm başlığı, 0 bağlantı).
 *     KALICI ÇÖZÜM php/ altındaki şablon notudur (etiket <div> olmalı).
 *     Bu kural yalnız görsel eşitliği garanti eder; DOM sayımını
 *     DEĞİŞTİRMEZ ve tek başına kabul kapısını geçirmez.
 * ------------------------------------------------------------------------- */
.kk-network-page > header.kk-network-intro {
    display: block;
}

/* ---------------------------------------------------------------------------
 * 11) BREADCRUMB GÖRÜNÜMÜ
 *     php/kk-breadcrumb.php tarafından basılan işaretlemenin Savills
 *     çizgisindeki sunumu. Modül kurulmazsa bu kurallar hiçbir şeyi
 *     etkilemez (eşleşen öğe olmaz).
 * ------------------------------------------------------------------------- */
.kk-breadcrumb {
    max-width: 1180px;
    margin: 0 auto;
    padding: 18px clamp(20px, 5vw, 72px) 0;
    font-size: 14px;
    color: #4a5a6d;
}
.kk-breadcrumb ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}
.kk-breadcrumb li {
    display: flex;
    align-items: center;
    gap: 8px;
}
.kk-breadcrumb li + li::before {
    content: "›";
    color: #9aa7b5;
}
.kk-breadcrumb a {
    color: #0d2d53;
    font-weight: 700;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}
.kk-breadcrumb a:hover {
    text-decoration: underline;
}
.kk-breadcrumb [aria-current="page"] {
    color: #4a5a6d;
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}

/* ---------------------------------------------------------------------------
 * 12) ATLAMA BAĞI (skip link) — CLOUD-2 erişilebilirlik kapısı
 *     ÖLÇÜM: canlı 24 rota ölçümünde skip-link 0/24.
 *     Klavye kullanıcısı, her sayfada gezinme bağlarını tek tek geçmek
 *     zorunda kalıyor. WCAG 2.4.1 (Bypass Blocks) ihlali.
 *
 *     İŞARETLEME (kk-preview şablonuna eklenir, <body>'nin İLK öğesi olarak):
 *       <a class="kk-skip-link" href="#kk-main">İçeriğe atla</a>
 *     ve ana içerik kapsayıcısına id verilir:
 *       <main id="kk-main" tabindex="-1"> ... </main>
 *
 *     Bağ, odaklanana kadar GÖRÜNMEZ; fare kullanıcısı hiç fark etmez,
 *     bu yüzden Savills görünümü hiç değişmez.
 * ------------------------------------------------------------------------- */
.kk-skip-link {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100001;          /* cerez katmani 100000'in USTUNDE olmali */
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 0 20px;
    background: #0d2d53;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
    border-radius: 0 0 4px 0;
}
.kk-skip-link:focus,
.kk-skip-link:focus-visible {
    left: 0;
    outline: 3px solid #d2ae65;
    outline-offset: 2px;
}
#kk-main:focus {
    /* Programatik odakta cirkin bir halka cikmasin; atlama zaten gorunur. */
    outline: none;
}

/* ADIM 168-169 (17 Eylul 2026) - gozle kontrolde bulunan uc kusur. */
/* 1) Site yolunda cift ayirac: konutkent-frontend.css "/" ekliyor, bu dosya "›" ekliyor. Tek ayirac kalir. */
.kk-breadcrumb li:not(:last-child)::after { content: none; }
/* 2) Menude "Hizmetler" digerlerinden 1px kucuktu; mobilde ayrica 12px iceride duruyordu. */
.kk-site-header .kk-main-nav > .kk-nav-sub > summary { font-size: 14px; }
@media (max-width: 900px) {
  .kk-site-header .kk-main-nav > .kk-nav-sub { padding: 0; }
}
/* 3) Menu acikken sabit iletisim dugmeleri menunun ustune biniyordu. */
body:has(.kk-nav-toggle-input:checked) .kk-sb { display: none; }

/* ADIM 173 (17 Eylul 2026): alt bilgi (kk-ftr) baglantilari ve "Cerez tercihlerini yonet" 40px idi. */
.kk-ftr a[href], .kk-ftr button { min-height: 44px !important; min-width: 44px; display: inline-flex; align-items: center; box-sizing: border-box; }
.kk-ftr .kk-ftr-yasal .kk-cookie-manage { min-height: 44px !important; height: auto !important; }

/* ADIM 183 (17 Eylul 2026): KONTRAST. design-polish.css proje sayfasindaki
   "nasil yardimci olabiliriz" bolumunu beyaz zemine ceviriyor; konutkent-frontend.css'in
   koyu zemin icin verdigi acik renkli yazilar okunmuyordu (oran 1.0-1.8). */
html body.single-kk_project .kk-project-intent { color: #10233E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__eyebrow,
html body.single-kk_project .kk-project-intent .kk-project-intent__selected { color: #8A6414; }
html body.single-kk_project .kk-project-intent .kk-project-intent__intro > p:last-child { color: #4A5A6E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__choice { background: #FFFFFF; border-color: #D5DEE8; color: #10233E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__choice:hover,
html body.single-kk_project .kk-project-intent .kk-project-intent__choice.is-active { background: #FBF4E6; border-color: #B8872E; color: #10233E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__choice-label { color: #0A2445; }
html body.single-kk_project .kk-project-intent .kk-project-intent__choice.is-active .kk-project-intent__choice-label { color: #6B4A0F; }
html body.single-kk_project .kk-project-intent .kk-project-intent__choice-question { color: #4A5A6E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__content { background: #F4F7FA; color: #10233E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__content h3 { color: #0A2445; }
html body.single-kk_project .kk-project-intent .kk-project-intent__location { color: #4A5A6E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__notice { background: #FFF6E5; color: #3D2E0A; border-left-color: #B8872E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__eids { color: #10233E; }
html body.single-kk_project .kk-project-intent .kk-project-intent__eids strong { color: #6B4A0F; }
html body.single-kk_project .kk-project-intent .kk-project-intent__eids a { color: #0A2445; }
html body.single-kk_project .kk-project-intent .kk-project-intent__whatsapp { background: #15803D; color: #FFFFFF; }
html body.single-kk_project .kk-project-intent .kk-project-intent__whatsapp:hover,
html body.single-kk_project .kk-project-intent .kk-project-intent__whatsapp:focus-visible { background: #166534; color: #FFFFFF; }
/* Form adim gostergesi: form-flows.css koyu zemin veriyor, design-polish.css koyu yazi. */
html body .kk-lead-progress span,
html body .kk-lead-progress span[aria-current="step"] { background: transparent; }
/* Kucuk altin basliklar acik zeminde okunmuyordu (2.2-2.5); koyu zeminde altin kalir. */
html body .kk-kicker { color: #8A6414; }
html body :is(.kk-catalog-hero, .kk-hero, .kk-contact-panel, .kk-ortaklik-bolum) .kk-kicker { color: var(--kk-gold, #C89C51); }

/* ADIM 185 (17.09.2026): Proje sayfasindaki 'nasil yardimci olabiliriz' bolumu design-polish.css ile
   beyaz, cerceveli bir kart oldu; ama kazanim.css ic boslugu 'padding: 44px 0' birakiyordu. Yazilar ve
   kartlar cerceveye yapisik, sikismis gorunuyordu. Kartin ic boslugu verildi. */
html body.single-kk_project .kk-container > .kk-project-intent,
html .kk-view-proje .kk-container > .kk-project-intent { padding: clamp(24px, 3.2vw, 48px); }
