@charset "UTF-8";
/* ==========================================================================
   DİKKAT SÜRÜCÜ KURSU — TASARIM SİSTEMİ v2 (B2)
   Dosya yolu : generatepress-child/assets/css/tasarim-v2.css
   Kaynak     : TALIMAT-v10 Bölüm 9 · Referans: dikkat-anasayfa-onizleme-B2.html
   Açık iş    : #81 · Sürüm 2.0 · 26.07.2026

   KAPSAM KURALI
   -------------
   Bileşen kurallarının tamamı ".dsk" sarmalayıcısının ALTINDA tanımlıdır.
   Sarmalayıcıyı taşımayan hiçbir sayfa bu dosyadan etkilenmez.
   Eski paletli 30+ sayfa olduğu gibi çalışmaya devam eder.

   TEK İSTİSNA
   -----------
   Dosya sonundaki "KABUK KATMANI" bölümü .dsk dışındadır. Üst bar ve mobil
   çubuk tema hook'undan basılacağı için (#86) sarmalayıcı içinde olamazlar.
   Sınıf adları benzersiz olduğundan bugün hiçbir sayfayı etkilemezler.
   ========================================================================== */


/* ==========================================================================
   1. DEĞİŞKENLER
   :root globaldir ama custom property tanımı tek başına görsel etki üretmez.
   ========================================================================== */

:root{

  /* --- Renk: zemin --- */
  --dsk-kagit:#FBFAF7;          /* sayfa zemini, sıcak beyaz */
  --dsk-kum:#F1ECE3;            /* dönüşümlü bölüm zemini */
  --dsk-beyaz:#FFFFFF;          /* kart yüzeyi */
  --dsk-murekkep:#14202A;       /* ana metin VE koyu bölüm zemini */
  --dsk-murekkep-2:#1D2C38;     /* koyu zeminde yükseltilmiş yüzey */

  /* --- Renk: metin --- */
  --dsk-gri:#5A6873;            /* ikincil metin (açık zemin) */
  --dsk-gri-2:#5F6972;          /* üçüncül metin, etiket, eyebrow-sessiz
                                   NOT: B2'deki #8D98A2 kontrast testinde
                                   2,9:1 çıktı (min 4,5:1). Koyulaştırıldı. */
  --dsk-gri-dekor:#8D98A2;      /* YALNIZCA metin olmayan dekor (ok işareti) */
  --dsk-gri-ters:#9DAAB5;       /* koyu zeminde ikincil metin — 6,5:1 ✅ */
  --dsk-metin-2:#3F4E5A;        /* uzun metin gövdesi (SEO blok, SSS cevap) */

  /* --- Renk: aksan --- */
  --dsk-kirmizi:#BE1B32;        /* TEK aksan. Telefon CTA, vurgu, iç link */
  --dsk-kirmizi-koyu:#9C1429;   /* hover */
  --dsk-kirmizi-fon:#FBF0F1;    /* ikon arka planı */
  --dsk-yesil:#0F9D63;          /* yalnızca WhatsApp */
  --dsk-yildiz:#E0A42B;         /* yalnızca yıldız derecelendirme (dekoratif) */

  /* --- Renk: ayraç --- */
  --dsk-cizgi:#E8E2D8;                    /* açık zemin */
  --dsk-cizgi-ters:rgba(255,255,255,.14); /* koyu zemin */

  /* --- Ölçü --- */
  --dsk-kenar:22px;             /* yatay güvenli alan */
  --dsk-genis:1160px;           /* genel container */
  --dsk-dar:730px;              /* metin, SSS, Final CTA */
  --dsk-ust:62px;               /* sabit üst bar yüksekliği */

  /* --- Izgara minimumları (B2'deki 5 farklı değer 3'e indirildi) --- */
  --dsk-iz-sm:150px;            /* dar öğe: güven rakamları */
  --dsk-iz-md:272px;            /* kart ızgarası: araçlar, yorumlar, neden biz */
  --dsk-iz-lg:288px;            /* iki sütunlu geniş blok: iletişim */

  /* --- Tipografi ölçeği --- */
  --dsk-h3:1.08rem;             /* varsayılan H3 */
  --dsk-h3-md:1.14rem;          /* süreç rayı, neden biz */
  --dsk-h3-lg:1.2rem;           /* araç kartı */

  /* --- Köşe --- */
  --dsk-r:16px;                 /* kart, kutu */
  --dsk-r-sm:12px;              /* küçük öğe, rozet */
  --dsk-r-foto:24px;            /* hero fotoğrafı */

  /* --- Gölge --- */
  --dsk-golge-hafif:0 1px 2px rgba(20,32,42,.03), 0 4px 16px rgba(20,32,42,.04);
  --dsk-golge:0 1px 2px rgba(20,32,42,.04), 0 10px 30px rgba(20,32,42,.06);
  --dsk-golge-kalk:0 2px 4px rgba(20,32,42,.05), 0 16px 40px rgba(20,32,42,.09);

  /* --- Hareket --- */
  --dsk-yay:cubic-bezier(.22,1,.36,1);
}


/* ==========================================================================
   2. TEMEL — .dsk sarmalayıcısı
   B2'deki body kuralları buraya taşındı. Global reset YOK.
   ========================================================================== */

.dsk,
.dsk *,
.dsk *::before,
.dsk *::after{ box-sizing:border-box }

.dsk{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.7;
  color:var(--dsk-murekkep);
  background:var(--dsk-kagit);
  -webkit-font-smoothing:antialiased;
  font-variant-numeric:tabular-nums;
}

/* Seçici sıfırlama — liste madde işaretleri ve Gutenberg yapısı korunur */
.dsk p,
.dsk h1,.dsk h2,.dsk h3,.dsk h4,
.dsk figure,
.dsk ul,.dsk ol{ margin:0 }

.dsk img{ max-width:100%; display:block; height:auto }
.dsk a{ color:inherit; text-decoration:none }

/* Klavye odağı — kapsam içinde, eski sayfalara dokunmaz */
.dsk :focus-visible{
  outline:3px solid var(--dsk-kirmizi);
  outline-offset:3px;
}


/* ==========================================================================
   3. TİPOGRAFİ
   ========================================================================== */

.dsk h1,
.dsk h2,
.dsk .dsk-serif,
.dsk .dsk-buyuk-rakam{
  font-family:'Newsreader','Iowan Old Style',Georgia,serif;
  font-weight:500;
  letter-spacing:-.022em;
  line-height:1.1;
  text-wrap:balance;
}

.dsk h1{
  font-size:clamp(2.85rem,9.2vw,4.9rem);
  line-height:1.02;
  letter-spacing:-.032em;
}

.dsk h2{
  font-size:clamp(2rem,5.8vw,3.05rem);
  margin-bottom:16px;
}

.dsk h3{
  font-family:'Manrope',sans-serif;
  font-size:var(--dsk-h3);
  font-weight:600;
  line-height:1.4;
  letter-spacing:-.012em;
}

/* Üst etiket — büyük harf, geniş harf aralığı */
.dsk-eyebrow{
  display:block;
  margin-bottom:16px;
  font-size:.74rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--dsk-kirmizi);
}
.dsk-eyebrow.dsk-sessiz{ color:var(--dsk-gri-2) }

/* Bölüm giriş paragrafı */
.dsk-giris{
  font-size:1.1rem;
  color:var(--dsk-gri);
  max-width:53ch;
  text-wrap:pretty;
}

.dsk-vurgu{ color:var(--dsk-kirmizi) }


/* ==========================================================================
   4. YERLEŞİM
   .dsk-bolum "alignfull" grup üzerine gelir; yatay dolguyu kendisi verir.
   ========================================================================== */

.dsk-bolum{ padding:clamp(66px,13vw,120px) var(--dsk-kenar) }

.dsk-ic{ max-width:var(--dsk-genis); margin:0 auto }
.dsk-ic-dar{ max-width:var(--dsk-dar); margin:0 auto }

/* Dönüşümlü zemin */
.dsk-kum{ background:var(--dsk-kum) }

/* Koyu bölüm */
.dsk-murekkep-bolum{
  background:var(--dsk-murekkep);
  color:var(--dsk-kagit);
}
.dsk-murekkep-bolum h2,
.dsk-murekkep-bolum h3{ color:var(--dsk-kagit) }
.dsk-murekkep-bolum .dsk-giris{ color:var(--dsk-gri-ters) }


/* ==========================================================================
   5. BUTON
   ========================================================================== */

.dsk-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:56px;            /* dokunma hedefi ≥48px */
  padding:18px 30px;
  border:1.5px solid transparent;
  border-radius:100px;
  font-family:'Manrope',sans-serif;
  font-size:1.01rem;
  font-weight:600;
  line-height:1;
  letter-spacing:-.01em;
  cursor:pointer;
  transition:.22s var(--dsk-yay);
}
.dsk-btn svg{ width:18px; height:18px; fill:currentColor; flex:none }

.dsk-btn-tel{
  background:var(--dsk-kirmizi);
  color:#fff;
  box-shadow:0 4px 16px rgba(190,27,50,.22);
}
.dsk-btn-tel:hover{
  background:var(--dsk-kirmizi-koyu);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(190,27,50,.3);
}

.dsk-btn-wa{
  background:var(--dsk-yesil);
  color:#fff;
  box-shadow:0 4px 16px rgba(15,157,99,.2);
}
.dsk-btn-wa:hover{ filter:brightness(.94); transform:translateY(-2px) }

.dsk-btn-sade{
  background:var(--dsk-beyaz);
  color:var(--dsk-murekkep);
  border-color:var(--dsk-cizgi);
  box-shadow:var(--dsk-golge-hafif);
}
.dsk-btn-sade:hover{ border-color:var(--dsk-murekkep); transform:translateY(-2px) }

/* Koyu bölümde sade buton şeffaflaşır */
.dsk-murekkep-bolum .dsk-btn-sade{
  background:transparent;
  color:var(--dsk-kagit);
  border-color:var(--dsk-cizgi-ters);
  box-shadow:none;
}
.dsk-murekkep-bolum .dsk-btn-sade:hover{ border-color:var(--dsk-kagit) }

.dsk-btn-grup{ display:flex; flex-wrap:wrap; gap:12px }
.dsk-btn-grup .dsk-btn{ flex:1 1 auto; min-width:195px }


/* ==========================================================================
   6. HERO
   ========================================================================== */

.dsk-hero{ padding:clamp(40px,8vw,76px) var(--dsk-kenar) 0 }

/* Dönem kaydı rozeti — gerçek mevzuat, sahte aciliyet değil */
.dsk-durum{
  display:inline-flex;
  align-items:center;
  gap:11px;
  margin-bottom:30px;
  padding:9px 18px 9px 14px;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:100px;
  font-size:.85rem;
  font-weight:600;
  box-shadow:var(--dsk-golge-hafif);
}
.dsk-isik{
  position:relative;
  flex:none;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--dsk-yesil);
}
.dsk-isik::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1.5px solid var(--dsk-yesil);
  border-radius:50%;
  opacity:.55;
  animation:dsk-nabiz 2.6s ease-out infinite;
}
@keyframes dsk-nabiz{
  0%  { transform:scale(.55); opacity:.75 }
  70% { transform:scale(1.6);  opacity:0 }
  100%{ opacity:0 }
}

.dsk-hero h1{ max-width:14ch; margin-bottom:22px }
.dsk-hero .dsk-giris{ margin-bottom:34px }

.dsk-hero-foto{
  position:relative;
  margin-top:46px;
  aspect-ratio:16/11;
  border-radius:var(--dsk-r-foto);
  overflow:hidden;
  background:var(--dsk-kum);
  box-shadow:var(--dsk-golge);
}
.dsk-hero-foto img{ width:100%; height:100%; object-fit:cover }

/* Fotoğraf üzeri puan rozeti */
.dsk-foto-rozet{
  position:absolute;
  left:16px; right:16px; bottom:16px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  background:rgba(251,250,247,.9);
  backdrop-filter:blur(10px);
  border-radius:var(--dsk-r-sm);
}
.dsk-foto-rozet .dsk-puan{
  font-family:'Newsreader',Georgia,serif;
  font-size:1.6rem;
  font-weight:600;
  line-height:1;
  color:var(--dsk-murekkep);
}
.dsk-yildizlar{
  display:block;
  margin-bottom:2px;
  color:var(--dsk-yildiz);
  font-size:.8rem;
  letter-spacing:.1em;
}
.dsk-foto-rozet .dsk-aciklama{
  font-size:.82rem;
  line-height:1.35;
  color:var(--dsk-gri);
}


/* ==========================================================================
   7. GÜVEN RAKAMLARI — 28 · 616+ · %97 · 7+
   ========================================================================== */

.dsk-guven{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-sm),1fr));
  gap:1px;
  margin-top:46px;
  background:var(--dsk-cizgi);   /* hücre araları çizgi görevi görür */
  border:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r);
  overflow:hidden;
}
.dsk-guven-h{
  padding:28px 22px;
  background:var(--dsk-kagit);
  transition:background .2s;
}
.dsk-guven-h:hover{ background:var(--dsk-beyaz) }
.dsk-guven-h .dsk-buyuk-rakam{
  display:block;
  margin-bottom:4px;
  font-size:2.85rem;
  line-height:1;
  letter-spacing:-.035em;
  color:var(--dsk-murekkep);
}
.dsk-guven-h .dsk-etiket{
  font-size:.86rem;
  line-height:1.45;
  color:var(--dsk-gri);
}


/* ==========================================================================
   8. HİZMET LİSTESİ — editoryal liste, harf rozeti (emoji ikon YASAK)
   ========================================================================== */

.dsk-hizmet-liste{
  margin-top:44px;
  border-top:1px solid var(--dsk-cizgi);
}
.dsk-hizmet-s{
  position:relative;
  display:flex;
  align-items:center;
  gap:20px;
  margin:0 -18px;
  padding:24px 18px;
  border-bottom:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r-sm);
  transition:.22s var(--dsk-yay);
}
.dsk-hizmet-s::before{
  content:"";
  position:absolute;
  left:0; top:50%;
  width:3px; height:0;
  background:var(--dsk-kirmizi);
  border-radius:3px;
  transform:translateY(-50%);
  transition:height .26s var(--dsk-yay);
}
.dsk-hizmet-s:hover{
  background:var(--dsk-beyaz);
  border-bottom-color:transparent;
  box-shadow:var(--dsk-golge-hafif);
}
.dsk-hizmet-s:hover::before{ height:60% }

/* Ehliyet sınıfı harf rozeti — B, A, C, CE, D, D1, SRC, ÖZEL */
.dsk-sinif-kod{
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:62px;
  height:46px;
  padding:0 13px;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r-sm);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:.01em;
  transition:.22s var(--dsk-yay);
}
.dsk-hizmet-s:hover .dsk-sinif-kod{
  background:var(--dsk-kirmizi);
  border-color:var(--dsk-kirmizi);
  color:#fff;
}

.dsk-hizmet-s .dsk-metin{ flex:1; min-width:0 }
.dsk-hizmet-s h3{ margin-bottom:2px }
.dsk-hizmet-s p{ font-size:.93rem; line-height:1.55; color:var(--dsk-gri) }
.dsk-hizmet-s .dsk-ok{
  flex:none;
  font-size:1.2rem;
  color:var(--dsk-gri-dekor);
  transition:.22s var(--dsk-yay);
}
.dsk-hizmet-s:hover .dsk-ok{
  color:var(--dsk-kirmizi);
  transform:translateX(5px);
}


/* ==========================================================================
   9. SÜREÇ RAYI — 4 adım. Mobilde dikey, masaüstünde yatay.
   Çizgi kaydırmayla kırmızıya dolar (.dsk-gorundu sınıfı JS ile eklenir).
   ========================================================================== */

.dsk-ray{
  position:relative;
  margin-top:50px;
  padding-left:36px;
}
.dsk-ray::before{                       /* boş ray */
  content:"";
  position:absolute;
  left:9px; top:12px; bottom:36px;
  width:2px;
  background:var(--dsk-cizgi-ters);
}
.dsk-ray::after{                        /* dolan ray */
  content:"";
  position:absolute;
  left:9px; top:12px;
  width:2px; height:0;
  background:var(--dsk-kirmizi);
  transition:height 1.5s var(--dsk-yay);
}
.dsk-ray.dsk-gorundu::after{ height:calc(100% - 48px) }

.dsk-ray-a{ position:relative; padding-bottom:38px }
.dsk-ray-a:last-child{ padding-bottom:0 }
.dsk-ray-a::before{                     /* adım noktası */
  content:"";
  position:absolute;
  left:-36px; top:8px;
  width:20px; height:20px;
  background:var(--dsk-murekkep);
  border:2px solid var(--dsk-cizgi-ters);
  border-radius:50%;
  transition:border-color .4s var(--dsk-yay);
}
.dsk-ray-a.dsk-gorundu::before{ border-color:var(--dsk-kirmizi) }

.dsk-ray-a .dsk-sure{
  margin-bottom:6px;
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--dsk-kirmizi);
}
.dsk-ray-a h3{ margin-bottom:5px; font-size:var(--dsk-h3-md) }
.dsk-ray-a p{ font-size:.95rem; color:var(--dsk-gri-ters) }


/* ==========================================================================
   10. ARAÇ KARTLARI — ücretsiz hesaplayıcılar
   ========================================================================== */

.dsk-arac-izgara{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-md),1fr));
  gap:16px;
  margin-top:42px;
}
.dsk-arac{
  padding:32px 28px;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r);
  box-shadow:var(--dsk-golge-hafif);
  transition:.24s var(--dsk-yay);
}
.dsk-arac:hover{ transform:translateY(-4px); box-shadow:var(--dsk-golge-kalk) }
.dsk-arac .dsk-no{
  display:block;
  margin-bottom:14px;
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--dsk-gri-2);
}
.dsk-arac h3{ margin-bottom:8px; font-size:var(--dsk-h3-lg) }
.dsk-arac p{ margin-bottom:22px; font-size:.94rem; color:var(--dsk-gri) }
.dsk-arac .dsk-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.96rem;
  font-weight:600;
  color:var(--dsk-kirmizi);
  transition:gap .22s var(--dsk-yay);
}
.dsk-arac:hover .dsk-link{ gap:13px }


/* ==========================================================================
   11. NEDEN BİZ — koyu bölüm, 4 madde
   ========================================================================== */

.dsk-neden-izgara{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-md),1fr));
  gap:38px 44px;
  margin-top:48px;
}
.dsk-neden-h .dsk-cizgi{
  width:36px; height:2px;
  margin-bottom:18px;
  background:var(--dsk-kirmizi);
}
.dsk-neden-h h3{ margin-bottom:8px; font-size:var(--dsk-h3-md) }
.dsk-neden-h p{ font-size:.96rem; color:var(--dsk-gri-ters) }


/* ==========================================================================
   12. YORUMLAR — statik HTML (Trustindex JS widget'ına bağımlı değil)
   ========================================================================== */

.dsk-yorum-izgara{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-md),1fr));
  gap:16px;
  margin-top:44px;
}
.dsk-yorum{
  display:flex;
  flex-direction:column;
  padding:30px 28px;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r);
  box-shadow:var(--dsk-golge-hafif);
  transition:.24s var(--dsk-yay);
}
.dsk-yorum:hover{ transform:translateY(-3px); box-shadow:var(--dsk-golge-kalk) }

/* Yıldızlar dekoratiftir — aria-hidden="true" verilir, puan metinle yazılır */
.dsk-yildiz{
  margin-bottom:16px;
  color:var(--dsk-yildiz);
  font-size:.9rem;
  letter-spacing:.17em;
}
.dsk-yorum .dsk-soz{
  flex:1;
  margin-bottom:22px;
  font-family:'Newsreader',Georgia,serif;
  font-size:1.16rem;
  line-height:1.5;
  letter-spacing:-.008em;
  color:var(--dsk-murekkep);
}
.dsk-yorum .dsk-kim{ font-size:.86rem; font-weight:600; color:var(--dsk-gri) }

/* Ortalama puan şeridi */
.dsk-puan-serit{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 26px;
  margin-top:38px;
  padding-top:28px;
  border-top:1px solid var(--dsk-cizgi);
}
.dsk-puan-serit .dsk-buyuk-rakam{ font-size:2.6rem; letter-spacing:-.035em }
.dsk-puan-serit .dsk-aciklama{
  max-width:36ch;
  font-size:.95rem;
  color:var(--dsk-gri);
}


/* ==========================================================================
   13. FİNAL CTA — id="kayit"
   ========================================================================== */

.dsk-final{ text-align:center }
.dsk-final h2{ margin-bottom:16px }
.dsk-final .dsk-giris{ margin:0 auto 34px }
.dsk-final .dsk-btn-grup{ justify-content:center }
.dsk-final .dsk-not{
  margin-top:24px;
  font-size:.88rem;
  color:var(--dsk-gri-ters);
}


/* ==========================================================================
   14. SEO METİN BLOĞU
   ========================================================================== */

.dsk-metin-blok h3{ margin:34px 0 8px; font-size:1.12rem }
.dsk-metin-blok p{ margin-bottom:15px; color:var(--dsk-metin-2) }
.dsk-metin-blok a{
  color:var(--dsk-kirmizi);
  font-weight:600;
  border-bottom:1px solid rgba(190,27,50,.3);
}


/* ==========================================================================
   15. SSS — details/summary, artı işareti çarpıya döner
   ========================================================================== */

.dsk-sss{ margin-top:38px }

.dsk-sss details{
  margin-bottom:10px;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r);
  box-shadow:var(--dsk-golge-hafif);
  overflow:hidden;
  transition:.22s var(--dsk-yay);
}
.dsk-sss details[open]{ box-shadow:var(--dsk-golge) }

.dsk-sss summary{
  position:relative;
  padding:24px 60px 24px 26px;
  font-weight:600;
  font-size:1.04rem;
  letter-spacing:-.012em;
  cursor:pointer;
  list-style:none;
}
.dsk-sss summary::-webkit-details-marker{ display:none }

.dsk-sss summary::before,
.dsk-sss summary::after{
  content:"";
  position:absolute;
  right:26px; top:50%;
  background:var(--dsk-kirmizi);
  transition:.26s var(--dsk-yay);
}
.dsk-sss summary::before{ width:13px; height:2px; margin-top:-1px }
.dsk-sss summary::after{ width:2px; height:13px; margin-top:-6.5px; right:31.5px }
.dsk-sss details[open] summary::after{ transform:rotate(90deg); opacity:0 }

.dsk-sss .dsk-cevap{
  padding:0 26px 26px;
  font-size:.99rem;
  color:var(--dsk-metin-2);
}


/* ==========================================================================
   16. İLETİŞİM
   ========================================================================== */

.dsk-iletisim-izgara{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-lg),1fr));
  gap:38px;
  margin-top:40px;
  align-items:start;
}

.dsk-bilgi-s{
  display:flex;
  align-items:flex-start;
  gap:16px;
  margin-bottom:26px;
}
.dsk-bilgi-s .dsk-ikon{
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px; height:42px;
  background:var(--dsk-kirmizi-fon);
  border-radius:50%;
}
.dsk-bilgi-s .dsk-ikon svg{ width:18px; height:18px; fill:var(--dsk-kirmizi) }
.dsk-bilgi-s .dsk-b{
  display:block;
  margin-bottom:4px;
  font-size:.73rem;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--dsk-gri-2);
}
.dsk-bilgi-s .dsk-d{ font-size:1.04rem; line-height:1.5 }

/* Harita kabı — Google Maps iframe'i buraya girer, iframe kodu değiştirilmez */
.dsk-harita{
  min-height:320px;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r);
  box-shadow:var(--dsk-golge-hafif);
  overflow:hidden;
}
.dsk-harita iframe{ display:block; width:100%; height:100%; min-height:320px; border:0 }


/* ==========================================================================
   17. ANİMASYON
   KRİTİK: gizleme yalnızca <html class="dsk-js"> varken devreye girer.
   Animasyon JS'i (#83) yüklenmezse veya hata verirse içerik TAM GÖRÜNÜR kalır.
   B2 gövdesinde 52 elemanın 47'si opacity:0 ile başlıyordu — bu kapı o riski
   tamamen ortadan kaldırır.
   ========================================================================== */

.dsk-js .dsk-gir{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .68s var(--dsk-yay), transform .68s var(--dsk-yay);
}
.dsk-js .dsk-gir.dsk-gorundu{ opacity:1; transform:none }

.dsk-js .dsk-gir[data-gecikme="1"]{ transition-delay:.08s }
.dsk-js .dsk-gir[data-gecikme="2"]{ transition-delay:.16s }
.dsk-js .dsk-gir[data-gecikme="3"]{ transition-delay:.24s }
.dsk-js .dsk-gir[data-gecikme="4"]{ transition-delay:.32s }


/* ==========================================================================
   18. MASAÜSTÜ
   ========================================================================== */

@media (min-width:860px){

  .dsk{ font-size:17px }

  .dsk-btn-grup .dsk-btn{ flex:0 0 auto }

  /* Hero iki sütuna açılır */
  .dsk-hero-ic{
    display:grid;
    grid-template-columns:1.06fr .94fr;
    gap:60px;
    align-items:center;
  }
  .dsk-hero-foto{ margin-top:0; aspect-ratio:4/4.6 }

  /* Süreç rayı yatay olur */
  .dsk-ray{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    padding-left:0;
  }
  .dsk-ray::before{
    left:0; right:0; top:9px; bottom:auto;
    width:auto; height:2px;
  }
  .dsk-ray::after{
    left:0; top:9px;
    width:0; height:2px;
    transition:width 1.5s var(--dsk-yay);
  }
  .dsk-ray.dsk-gorundu::after{ width:100%; height:2px }
  .dsk-ray-a{ padding-top:40px; padding-bottom:0 }
  .dsk-ray-a::before{ left:0; top:0 }
}


/* ==========================================================================
   19. HAREKET AZALTMA — TALIMAT Bölüm 9.5, zorunlu
   ========================================================================== */

@media (prefers-reduced-motion:reduce){
  .dsk *,
  .dsk *::before,
  .dsk *::after{
    transition:none !important;
    animation:none !important;
  }
  .dsk-js .dsk-gir{ opacity:1; transform:none }
  .dsk-ray::after{ height:calc(100% - 48px) }
}


/* ==========================================================================
   20. KABUK KATMANI — #86 ile devreye girer
   .dsk sarmalayıcısının DIŞINDA. Üst bar ve mobil çubuk tema hook'undan
   basılacağı için sarmalayıcı içinde olamazlar.
   Bugün hiçbir sayfada bu sınıflar kullanılmıyor → sıfır etki.
   ========================================================================== */

/* --- Sabit üst bar --- */
.dsk-ust-bar{
  position:sticky;
  top:0;
  z-index:70;
  height:var(--dsk-ust);
  background:rgba(251,250,247,.82);
  backdrop-filter:blur(16px) saturate(1.6);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--dsk-yay);
}
.dsk-ust-bar.dsk-kaydi{ border-bottom-color:var(--dsk-cizgi) }

.dsk-ust-ic{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  max-width:var(--dsk-genis);
  height:100%;
  margin:0 auto;
  padding:0 var(--dsk-kenar);
}
.dsk-marka{
  font-family:'Newsreader',Georgia,serif;
  font-weight:600;
  font-size:1.16rem;
  letter-spacing:-.02em;
  color:var(--dsk-murekkep);
}
.dsk-marka i{ font-style:normal; color:var(--dsk-kirmizi) }

.dsk-ust-tel{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:9px 17px;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:100px;
  font-weight:600;
  font-size:.94rem;
  color:var(--dsk-murekkep);
  box-shadow:var(--dsk-golge-hafif);
  transition:.2s var(--dsk-yay);
}
.dsk-ust-tel:hover{ border-color:var(--dsk-kirmizi); color:var(--dsk-kirmizi) }
.dsk-ust-tel svg{ width:14px; height:14px; fill:var(--dsk-kirmizi); flex:none }

/* --- Mobil sabit çubuk --- */
.dsk-mobil-cubuk{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:80;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:11px 13px calc(11px + env(safe-area-inset-bottom));
  background:rgba(251,250,247,.92);
  backdrop-filter:blur(16px) saturate(1.6);
  border-top:1px solid var(--dsk-cizgi);
  transform:translateY(115%);
  transition:transform .4s var(--dsk-yay);
}
.dsk-mobil-cubuk.dsk-acik{ transform:translateY(0) }
.dsk-mobil-cubuk a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:16px 10px;
  border-radius:100px;
  font-weight:600;
  font-size:.97rem;
  color:#fff;
}
.dsk-mobil-cubuk svg{ width:17px; height:17px; fill:currentColor }
.dsk-mc-tel{ background:var(--dsk-kirmizi) }
.dsk-mc-wa{ background:var(--dsk-yesil) }

@media (min-width:860px){
  .dsk-mobil-cubuk{ display:none }
}

@media (prefers-reduced-motion:reduce){
  .dsk-ust-bar,
  .dsk-mobil-cubuk{ transition:none !important }
  .dsk-mobil-cubuk{ transform:none }
}

/* ========================= DOSYA SONU ==================================== */
/* ==========================================================================
   YAMA 1 — 26.07.2026
   ========================================================================== */

/* --- Başlık rengi: tema çakışması giderildi --------------------------------
   GeneratePress kendi başlık rengini aynı ağırlıkta ve sonra yüklüyordu.
   Seçici ağırlığı .dsk ile artırıldı — artık tasarım sistemi kazanır. */

.dsk h1,
.dsk h2,
.dsk h3,
.dsk h4{ color:var(--dsk-murekkep) }

.dsk .dsk-murekkep-bolum h2,
.dsk .dsk-murekkep-bolum h3,
.dsk .dsk-murekkep-bolum h4{ color:var(--dsk-kagit) }

/* --- Süreç rayı: adım sayısından bağımsız ---------------------------------
   Sabit 4 sütun yerine otomatik. 4, 5 veya 6 adımda da tek sıra kalır. */

@media (min-width:860px){
  .dsk-ray{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:1fr;
    gap:26px;
  }
}

/* --- #88: hareket azaltma modunda süreç rayı ------------------------------
   Ray mobilde dikey (yükseklik), masaüstünde yataydır (genişlik).
   Hareket kapalıyken masaüstünde çizgi hiç görünmüyordu. */

@media (prefers-reduced-motion:reduce){
  .dsk-ray-a::before{ border-color:var(--dsk-kirmizi) }
}

@media (prefers-reduced-motion:reduce) and (min-width:860px){
  .dsk-ray::after{ width:100%; height:2px }
}

/* ========================= YAMA 1 SONU =================================== */
/* ==========================================================================
   YAMA 2 — 26.07.2026
   Sorun: Koyu bölümdeki başlıklar YAMA 1'e rağmen koyu kalmaya devam etti.
   Sebep: Temada veya mevcut özel CSS'te daha yüksek ağırlıklı bir kural var.
   Çözüm: Koyu bölüm başlıkları kesin olarak açık renge sabitleniyor.
   !important yalnızca burada kullanılır — dışarıdan gelen kuralı yenmek için.
   Açık zeminli bölümlere dokunulmaz.
   ========================================================================== */

.dsk .dsk-murekkep-bolum h1,
.dsk .dsk-murekkep-bolum h2,
.dsk .dsk-murekkep-bolum h3,
.dsk .dsk-murekkep-bolum h4,
.dsk .dsk-murekkep-bolum .dsk-serif,
.dsk .dsk-murekkep-bolum .dsk-buyuk-rakam{
  color:var(--dsk-kagit) !important;
}

/* Koyu bölümdeki açıklama metinleri — okunabilirlik güvencesi */
.dsk .dsk-murekkep-bolum p{
  color:var(--dsk-gri-ters);
}

/* ========================= YAMA 2 SONU =================================== */
/* ==========================================================================
   YAMA 3 — 26.07.2026
   Sorun: Başlıklar serif (Newsreader) yerine sans-serif görünüyordu.
   Sebep: Tema, başlıkların yazı tipini de kendi kuralıyla eziyor.
   Çözüm: Tasarım sisteminin tipografisi kesinleştirildi.
   Kapsam .dsk ile sınırlı — eski sayfalar etkilenmez.
   ========================================================================== */

/* Görsel başlıklar ve büyük rakamlar — Newsreader (tırnaklı) */
.dsk h1,
.dsk h2,
.dsk .dsk-serif,
.dsk .dsk-buyuk-rakam,
.dsk .dsk-soz,
.dsk .dsk-marka{
  font-family:'Newsreader','Iowan Old Style',Georgia,serif !important;
}

.dsk h1,
.dsk h2,
.dsk .dsk-serif,
.dsk .dsk-buyuk-rakam{
  font-weight:500 !important;
  letter-spacing:-.025em !important;
}

/* Alt başlıklar ve arayüz — Manrope (düz) */
.dsk h3,
.dsk h4{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif !important;
  font-weight:600 !important;
}

/* Gövde metni — Manrope */
.dsk p,
.dsk li,
.dsk .dsk-btn,
.dsk .dsk-eyebrow{
  font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
}

/* ========================= YAMA 3 SONU =================================== */
/* ==========================================================================
   YAMA 4 — 26.07.2026
   Sorun: Animasyonlar çalışıyor ama algılanmıyordu.
   Sebep: cubic-bezier(.22,1,.36,1) eğrisi mesafenin %90'ını sürenin ilk
   %25'inde alıyor. Süre uzun ama hareket "bitmiş" görünüyor.
   Çözüm: Kaydırma açılışları için ayrı, yumuşak bir eğri tanımlandı.
   Hover efektleri eski hızlı eğriyi kullanmaya devam eder.
   ========================================================================== */

:root{
  --dsk-yay-yumusak:cubic-bezier(.4,0,.2,1);
}

/* --- Süreç rayı: çizgi dolumu yavaşlatıldı --- */

.dsk-ray::after{
  transition:height 2.8s var(--dsk-yay-yumusak);
}

@media (min-width:860px){
  .dsk-ray::after{
    transition:width 2.8s var(--dsk-yay-yumusak);
  }
}

/* --- Adım noktaları --- */

.dsk-ray-a::before{
  transition:border-color .55s var(--dsk-yay-yumusak);
}

/* --- Adım yazıları sırayla belirir (yeni) ---
   Gizleme yalnızca .dsk-js varken. JS çalışmazsa hepsi görünür kalır. */

.dsk-js .dsk-ray-a{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .75s var(--dsk-yay-yumusak),
             transform .75s var(--dsk-yay-yumusak);
}

.dsk-js .dsk-ray-a.dsk-gorundu{
  opacity:1;
  transform:none;
}

/* --- Genel bölüm açılışları --- */

.dsk-js .dsk-gir{
  transition:opacity .85s var(--dsk-yay-yumusak),
             transform .85s var(--dsk-yay-yumusak);
}

.dsk-js .dsk-gir[data-gecikme="1"]{ transition-delay:.12s }
.dsk-js .dsk-gir[data-gecikme="2"]{ transition-delay:.24s }
.dsk-js .dsk-gir[data-gecikme="3"]{ transition-delay:.36s }
.dsk-js .dsk-gir[data-gecikme="4"]{ transition-delay:.48s }

/* --- Hareket azaltma modunda adımlar görünür kalır --- */

@media (prefers-reduced-motion:reduce){
  .dsk-js .dsk-ray-a{ opacity:1; transform:none }
}

/* ========================= YAMA 4 SONU =================================== */
/* ==========================================================================
   YAMA 5 — 26.07.2026 · Animasyon süreleri yavaşlatıldı (Hasan talebi)
   YAMA 4'ten sonra geldiği için süreleri o yamanın üzerine yazar.
   ========================================================================== */

.dsk-ray::after{
  transition:height 3.6s var(--dsk-yay-yumusak);
}

@media (min-width:860px){
  .dsk-ray::after{
    transition:width 3.6s var(--dsk-yay-yumusak);
  }
}

.dsk-js .dsk-ray-a{
  transition:opacity .9s var(--dsk-yay-yumusak),
             transform .9s var(--dsk-yay-yumusak);
}

/* ========================= YAMA 5 SONU =================================== */

/* ==========================================================================
   FOOTER — KABUK KATMANI (#86a) · 27.07.2026
   .dsk sarmalayıcısının DIŞINDADIR: footer tema hook'undan basılıyor.
   Sınıflar dsk-footer- öneklidir, eski sayfalarda karşılığı yok.
   ========================================================================== */

/* GeneratePress varsayılan footer'ı — asıl kaldırma PHP'de remove_action ile.
   Bu satır ikinci güvenlik ağı. !important kullanılmadı (TALIMAT Bölüm 26). */
.site-footer,
.site-info{ display:none; }

.dsk-footer{
  background:var(--dsk-murekkep);
  color:var(--dsk-gri-ters);
  font-family:'Manrope',sans-serif;
  font-size:15px;
  line-height:1.7;
}
.dsk-footer a{
  color:var(--dsk-gri-ters);
  text-decoration:none;
  transition:color .24s var(--dsk-yay), transform .24s var(--dsk-yay);
}
.dsk-footer a:hover{ color:var(--dsk-kagit); }
.dsk-footer a:focus-visible{
  outline:3px solid var(--dsk-kirmizi);
  outline-offset:3px;
  border-radius:4px;
}

/* --- Sütun ızgarası: sabit sütun yok, otomatik --- */
.dsk-footer-ic{
  max-width:var(--dsk-genis);
  margin:0 auto;
  padding:56px var(--dsk-kenar) 34px;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-sm),1fr));
  gap:40px;
}

/* --- Sütun başlıkları --- */
.dsk-footer h4{
  color:var(--dsk-kagit);
  font-family:'Manrope',sans-serif;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin:0 0 18px;
  padding-bottom:10px;
  border-bottom:2px solid var(--dsk-kirmizi);
  display:inline-block;
}

/* --- Listeler --- */
.dsk-footer ul{ list-style:none; margin:0; padding:0; }
.dsk-footer li{ margin-bottom:9px; }
.dsk-footer li a{ display:inline-block; }
.dsk-footer li a:hover{ transform:translateX(3px); }

/* --- İkonlu bilgi satırı (adres, telefon, saat) --- */
.dsk-footer-satir{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:0 0 12px;
}
.dsk-footer-satir svg{
  flex:0 0 18px; width:18px; height:18px;
  margin-top:4px;
  color:var(--dsk-kirmizi);
}

/* --- Sosyal ikonlar --- */
.dsk-footer-sosyal{ display:flex; gap:12px; margin-top:18px; }
.dsk-footer-sosyal a{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  border:1px solid var(--dsk-cizgi-ters);
}
.dsk-footer-sosyal a:hover{
  background:var(--dsk-kirmizi);
  border-color:var(--dsk-kirmizi);
  color:#fff;
  transform:translateY(-2px);
}

/* --- CTA butonları --- */
.dsk-footer-cta{ display:flex; flex-direction:column; gap:10px; margin-top:18px; }
.dsk-footer-btn{
  display:flex; align-items:center; justify-content:center; gap:9px;
  min-height:56px;
  padding:14px 22px;
  border-radius:100px;
  font-size:1.01rem;
  font-weight:600;
  color:#fff;
  transition:transform .24s var(--dsk-yay), background .24s var(--dsk-yay);
}
.dsk-footer-btn svg{ flex:0 0 19px; width:19px; height:19px; }
.dsk-footer-btn:hover{ color:#fff; transform:translateY(-2px); }
.dsk-footer-btn-tel{
  background:var(--dsk-kirmizi);
  box-shadow:0 6px 18px rgba(190,27,50,.22);
}
.dsk-footer-btn-tel:hover{ background:var(--dsk-kirmizi-koyu); }
.dsk-footer-btn-wa{ background:var(--dsk-yesil); }

/* --- Alt satır --- */
.dsk-footer-alt{
  border-top:1px solid var(--dsk-cizgi-ters);
  text-align:center;
  padding:20px var(--dsk-kenar);
  font-size:.86rem;
  color:var(--dsk-gri-ters);
}

/* --- Tablet: iki sütun --- */
@media (max-width:1024px) and (min-width:769px){
  .dsk-footer-ic{ grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-md),1fr)); }
}

/* --- Mobil: tek sütun --- */
@media (max-width:768px){
  .dsk-footer-ic{
    grid-template-columns:1fr;
    gap:32px;
    padding:40px var(--dsk-kenar) 24px;
  }
  .dsk-footer-cta{ flex-direction:row; }
  .dsk-footer-btn{ flex:1; padding:14px 12px; font-size:.95rem; }
  /* Mobil sabit çubuk telif satırını örtmesin */
  .dsk-footer-alt{ padding-bottom:88px; }
}

/* --- Hareket azaltma --- */
@media (prefers-reduced-motion:reduce){
  .dsk-footer a,
  .dsk-footer-btn,
  .dsk-footer-sosyal a{ transition:none; }
  .dsk-footer li a:hover,
  .dsk-footer-btn:hover,
  .dsk-footer-sosyal a:hover{ transform:none; }
}

/* ==========================================================================
   YAMA 6 — 27.07.2026 · Footer başlık ezmesi
   Sorun  : Özelleştirici > Ek CSS içindeki
            h1,h2,h3,h4,h5,h6 { color:var(--dark) !important }
            kuralı footer başlıklarını #0F172A yapıyor.
            Zemin #14202A üzerinde kontrast 1,05:1 — okunmuyor.
   Çözüm  : Yalnızca dsk- kabuk sınıfları içinde, yalnızca renk ve
            yazı tipi için !important. Yerleşim kurallarında kullanılmadı
            (TALIMAT v11 Bölüm 26).
   Kalıcı : Ek CSS emekli edilince (#95) bu yama silinebilir.
   ========================================================================== */
.dsk-footer h1,
.dsk-footer h2,
.dsk-footer h3,
.dsk-footer h4,
.dsk-footer h5,
.dsk-footer h6{
  font-family:'Manrope',sans-serif !important;
  color:var(--dsk-kagit) !important;
  line-height:1.3 !important;
}

/* ==========================================================================
   #86b — ÜST BAR + NAVİGASYON · 28.07.2026
   Karar: Seçenek A — mevcut GeneratePress menüsü yeniden boyanıyor,
   sıfırdan yazılmıyor. Sınıflar GP'nin kendi sınıflarıdır.
   Bu blok .dsk sarmalayıcısının DIŞINDADIR (kabuk katmanı).
   ========================================================================== */

/* --- Üst bar kabuğu --- */
.site-header{
  background:var(--dsk-kagit);
  border-bottom:1px solid var(--dsk-cizgi);
  position:sticky;
  top:0;
  z-index:999;
  padding:0;
  box-shadow:none;
}

.inside-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:var(--dsk-genis);
  margin:0 auto;
  padding:9px var(--dsk-kenar);
  min-height:var(--dsk-ust);
}

/* Site adı yazısı gizli — logo yeterli (ekran okuyucu görmeye devam eder) */
.site-title,
.site-description{
  position:absolute;
  width:1px; height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}
.header-widget{ display:none; }

.site-logo img{ max-width:186px; height:auto; display:block; }

/* Sabit bara çarpmasın — iç bağlantı hedefleri */
html{ scroll-padding-top:calc(var(--dsk-ust) + 14px); }

/* --- Klavye erişimi --- */
.site-header a:focus-visible{
  outline:3px solid var(--dsk-kirmizi);
  outline-offset:3px;
  border-radius:6px;
}

/* ==========================================================================
   MASAÜSTÜ MENÜ (769px ve üzeri)
   Mobil hamburger kuralları şimdilik Ek CSS'te kalıyor — #86c'de taşınacak.
   ========================================================================== */
@media (min-width:769px){

  /* GP menüyü bazı düzenlerde gizliyor — görünür kalması zorunlu */
  #site-navigation{ display:block; position:relative; flex:1 1 auto; }
  #site-navigation .main-nav{ display:block; }
  .main-navigation{ display:flex; justify-content:flex-end; }

  #site-navigation .main-nav > ul{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:2px;
    visibility:visible;
    opacity:1;
    height:auto;
    overflow:visible;
    list-style:none;
    margin:0;
    padding:0;
  }

  #site-navigation .main-nav > ul > li{ display:inline-flex; position:relative; }

  #site-navigation .main-nav > ul > li > a{
    font-family:'Manrope',sans-serif;
    font-size:.9rem;
    font-weight:500;
    color:var(--dsk-murekkep);
    padding:9px 13px;
    border-radius:8px;
    white-space:nowrap;
    transition:color .24s var(--dsk-yay), background .24s var(--dsk-yay);
  }
  #site-navigation .main-nav > ul > li > a:hover{
    color:var(--dsk-kirmizi);
    background:var(--dsk-kirmizi-fon);
  }

  /* --- Telefon butonu: menünün SON öğesi --- */
  #site-navigation .main-nav > ul > li:last-child > a{
    background:var(--dsk-kirmizi);
    color:#fff;
    border-radius:100px;
    padding:11px 20px;
    margin-left:10px;
    font-weight:700;
    box-shadow:0 4px 14px rgba(190,27,50,.22);
    transition:background .24s var(--dsk-yay), transform .24s var(--dsk-yay);
  }
  #site-navigation .main-nav > ul > li:last-child > a:hover{
    background:var(--dsk-kirmizi-koyu);
    color:#fff;
    transform:translateY(-1px);
  }

  /* Telefon ikonu — emoji değil, maskelenmiş SVG (TALIMAT 9.7) */
  #site-navigation .main-nav > ul > li:last-child > a::before{
    content:"";
    display:inline-block;
    width:15px; height:15px;
    margin-right:8px;
    vertical-align:-2px;
    background-color:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }

  /* --- Açılır alt menü --- */
  #site-navigation .main-nav ul ul{
    background:var(--dsk-beyaz);
    border:1px solid var(--dsk-cizgi);
    border-radius:var(--dsk-r-sm);
    box-shadow:var(--dsk-golge);
    padding:8px;
    min-width:252px;
  }
  #site-navigation .main-nav ul ul li a{
    font-family:'Manrope',sans-serif;
    font-size:.88rem;
    font-weight:500;
    color:var(--dsk-murekkep);
    padding:9px 12px;
    border-radius:8px;
    line-height:1.4;
  }
  #site-navigation .main-nav ul ul li a:hover{
    color:var(--dsk-kirmizi);
    background:var(--dsk-kirmizi-fon);
  }

  /* Hamburger masaüstünde görünmez */
  .menu-toggle{ display:none; }
}

/* --- Hareket azaltma --- */
@media (prefers-reduced-motion:reduce){
  .site-header a{ transition:none; }
  #site-navigation .main-nav > ul > li:last-child > a:hover{ transform:none; }
}

/* ==========================================================================
   YAMA 8 — 28.07.2026 · Mobil menü renkleri
   Sorun : #86b CSS'i yalnızca min-width:769px için yazılmıştı. Ek CSS'in
           HEADER bloğu silinince mobilde link rengi tarayıcı varsayılanına
           düştü ("Ehliyet Sınıfları" mavi göründü).
   Kapsam: Yalnızca renk ve yazı tipi. Hamburger yerleşimi Ek CSS'te
           kalmaya devam ediyor — #86c'de devralınacak.
   ========================================================================== */
@media (max-width:768px){

  #site-navigation .main-nav > ul > li > a,
  #site-navigation .main-nav ul ul li a{
    font-family:'Manrope',sans-serif;
    font-weight:500;
    color:var(--dsk-murekkep);
  }

  #site-navigation .main-nav > ul > li > a:hover,
  #site-navigation .main-nav > ul > li > a:focus,
  #site-navigation .main-nav ul ul li a:hover,
  #site-navigation .main-nav ul ul li a:focus{
    color:var(--dsk-kirmizi);
    background:var(--dsk-kirmizi-fon);
  }

  /* Açılır alt menü kutusu */
  #site-navigation .main-nav ul ul{
    background:var(--dsk-kum);
    border-radius:var(--dsk-r-sm);
  }

  /* Hamburger ve kapat ikonu */
  .menu-toggle,
  .menu-toggle:hover{ color:var(--dsk-murekkep); }

  /* Telefon öğesi — menünün son satırı */
  #site-navigation .main-nav > ul > li:last-child > a{
    background:var(--dsk-kirmizi);
    color:#fff;
    border-radius:100px;
    font-weight:700;
    text-align:center;
    min-height:52px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  #site-navigation .main-nav > ul > li:last-child > a::before{
    content:"";
    display:inline-block;
    width:15px; height:15px;
    background-color:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92Z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
}

/* ==========================================================================
   YAMA 9 — 28.07.2026 · Açık menü öğesi rengi
   Sorun : "Ehliyet Sınıfları" mavi görünüyor. Tek farkı açık olması.
           GeneratePress açık/üzerine gelinen öğeye kendi durum sınıfını
           (sfHover / aria-expanded) ve kendi mavi rengini uyguluyor.
           YAMA 8 yalnızca :hover ve :focus kapsıyordu.
   Çözüm : Durum sınıfları da tasarım sistemi renklerine bağlandı.
           Hem mobil hem masaüstü — aynı sorun masaüstünde de vardı.
   ========================================================================== */

#site-navigation .main-nav ul li.sfHover > a,
#site-navigation .main-nav ul li.menu-item-has-children > a[aria-expanded="true"],
#site-navigation .main-nav ul li[class*="current-menu"] > a,
#site-navigation .main-nav ul li[class*="current_page"] > a{
  color:var(--dsk-kirmizi);
  background:var(--dsk-kirmizi-fon);
}

/* Açılır ok işareti — rengini bağlı olduğu linkten alır */
#site-navigation .main-nav .dropdown-menu-toggle{
  color:currentColor;
}

/* Alt menü içindeki açık/geçerli öğe */
#site-navigation .main-nav ul ul li.sfHover > a,
#site-navigation .main-nav ul ul li[class*="current-menu"] > a{
  color:var(--dsk-kirmizi);
  background:var(--dsk-kirmizi-fon);
}

/* Telefon butonu bu kurallardan etkilenmesin — her durumda kırmızı zemin */
#site-navigation .main-nav > ul > li:last-child.sfHover > a,
#site-navigation .main-nav > ul > li:last-child > a[aria-expanded="true"]{
  background:var(--dsk-kirmizi);
  color:#fff;
}

/* ==========================================================================
   YAMA 10 — 28.07.2026 · Üst bar tek satıra sığdırma
   Sorun : Logo (210px) + 7 menü öğesi (832px) + telefon butonu (178px)
           = ~1220px. Kullanılabilir alan 1116px. Telefon butonu alt satıra
           düşüyor, üst bar 62px yerine ~124px oluyor (TALIMAT 9.6 ihlali).
   Çözüm : Etiket kısaltması (İŞ 5A) + dolgu/logo/yazı ölçüsü sıkılaştırma
           + 1180px altı için ikinci kademe. Sarma tamamen kapatıldı.
   ========================================================================== */
@media (min-width:769px){

  /* Satır sarması yasak — taşarsa küçülsün, alta düşmesin */
  .inside-header{ flex-wrap:nowrap; }
  #site-navigation .main-nav > ul{ flex-wrap:nowrap; }

  .site-logo img{ max-width:168px; }

  #site-navigation .main-nav > ul > li > a{
    font-size:.875rem;
    padding:9px 11px;
  }

  #site-navigation .main-nav > ul > li:last-child > a{
    padding:11px 18px;
    margin-left:8px;
  }
}

/* --- İkinci kademe: dar masaüstü ve tablet yatay (769–1180px) --- */
@media (min-width:769px) and (max-width:1180px){

  .site-logo img{ max-width:148px; }

  #site-navigation .main-nav > ul > li > a{
    font-size:.83rem;
    padding:8px 8px;
  }

  #site-navigation .main-nav > ul > li:last-child > a{
    padding:10px 15px;
    margin-left:6px;
    font-size:.85rem;
  }

  /* Telefon ikonu bu genişlikte gizlenir — numara okunurluğu önce gelir */
  #site-navigation .main-nav > ul > li:last-child > a::before{
    display:none;
  }
}

/* ==========================================================================
   YAMA 11 — 28.07.2026 · Üst bar gerçek yüksekliği
   Sorun : --dsk-ust 62px tanımlı, canlı ölçüm 101px (1350×101).
           Yüksekliği logo belirliyor: 168px genişlik → 83px boy + 18px dolgu.
           scroll-padding 76px hesaplanıyordu; sayfa içi bağlantıların hedefi
           barın altında gizli kalıyordu.
   Karar : Seçenek B — logo 140px, bar 87px. Değişken gerçeğe eşitlendi.
   Not   : Logoyu 168px'te tutmak istersen aşağıdaki İKİ sayıyı değiştir:
           max-width 140px → 168px  ve  --dsk-ust 87px → 101px
   ========================================================================== */
@media (min-width:769px){
  :root{ --dsk-ust:72px; }   /* #99 — canlı: logo 51 + dolgu 10+10 + çizgi 1 = 72 */
  .site-logo img{ max-width:140px; }
  .inside-header{ min-height:var(--dsk-ust); }
}

/* Dar masaüstünde oran korunur */
@media (min-width:769px) and (max-width:1180px){
  .site-logo img{ max-width:126px; }
}

/* ==========================================================================
   YAMA 12 — 28.07.2026 · Üst bar yüksekliği (YAMA 11 yetmedi)
   Hata  : Yüksekliğin logodan geldiği varsayıldı. `max-width` yalnızca
           genişliği sınırlar; ayrıca GeneratePress menü linklerine kendi
           satır yüksekliğini (varsayılan ~60px) veriyor. Bar, logo ile menü
           kutusundan hangisi uzunsa onun boyunu alıyor.
   Çözüm : İki kaynak birden kesiliyor — logoya max-height, menü linklerine
           normal satır yüksekliği. Kalan tek belirleyici kendi dolgumuz.
   ========================================================================== */
@media (min-width:769px){

  /* Logo: yüksekliği doğrudan sınırla, oran korunsun */
  .site-logo img{
    max-height:51px;
    width:auto;
    max-width:170px;
  }

  /* GP'nin sabit satır yüksekliğini sıfırla */
  #site-navigation .main-nav > ul > li > a,
  #site-navigation .main-nav > ul > li:last-child > a{
    line-height:1.25;
    height:auto;
  }

  /* Bar yüksekliği artık yalnızca kendi dolgumuzdan gelir */
  .site-header{ padding:0; }
  .inside-header{
    min-height:0;
    padding-top:10px;
    padding-bottom:10px;
    align-items:center;
  }
}

/* ==========================================================================
   YAMA 13 — 29.07.2026 · #97 Üst bar kaydırma alt çizgisi
   Sorun : TALIMAT 9.6 "kaydırınca alt çizgi belirir" diyor, çizgi hep
           görünüyordu. Snippet 756 `.dsk-ust-bar` arıyordu; 86b kararıyla
           canlıda GP'nin kendi `.site-header` öğesi kullanılıyor.
   Çözüm : Snippet 756 artık `.site-header`'a da `dsk-kaydi` sınıfını takıyor.
   Kapı  : Kural yalnızca `.dsk-js` altında. JS yüklenmezse çizgi eskisi gibi
           sabit kalır — hiçbir şey kaybolmaz (TALIMAT 9.5 güvenlik kapısı).
   ========================================================================== */

.dsk-js .site-header{
  border-bottom-color:transparent;
  transition:border-color .3s var(--dsk-yay);
}

.dsk-js .site-header.dsk-kaydi{
  border-bottom-color:var(--dsk-cizgi);
}

@media (prefers-reduced-motion:reduce){
  .dsk-js .site-header{ transition:none; }
}

/* ========================= YAMA 13 SONU ================================== */

/* ==========================================================================
   YAMA 14 — 29.07.2026 · #102 + #105 · Mobil üst bar tek satıra indiriliyor
   Ölçüm (390px) : logo 140px + menü kabı 358px = 498px, yer 358px → sarıyor
                   bar 135px, scroll-padding 76px, hedef 59px altta kalıyor
   Sebep         : Menü kabı kapalıyken de satırın tamamını alıyor
   Karar         : Seçenek A — kurallar kabuk katmanına taşınıyor
   Not           : Ek CSS'teki eski menü bloğu ADIM 2'de sökülecek. Bu blok
                   o blok dururken de kazanır (seçici ağırlığı daha yüksek).
                   `!important` kullanılmadı — TALIMAT Bölüm 26.
   ========================================================================== */

@media (max-width:768px){

  /* --- #102: değişken gerçeğe eşitleniyor -------------------------------
     .inside-header min-height ve html scroll-padding bu değerden beslenir */
  :root{ --dsk-ust:65px; }

  /* --- Satır sarması kapatıldı: hamburger artık alta düşmez --- */
  .site-header .inside-header{
    position:relative;      /* açılan menü panelinin dayanağı */
    flex-wrap:nowrap;
    gap:12px;
  }

  /* --- Logo: yüksekliği sınırlı, oran korunur --- */
  .site-header .site-logo img{ max-height:44px; width:auto; }

  /* --- #105 ÇÖZÜM: menü kabı satırı doldurmayı bırakır, sağa yaslanır --- */
  .site-header #site-navigation{
    position:static;
    flex:0 0 auto;
    width:auto;
    margin-left:auto;
  }

  /* --- Çift hamburger önlemi: yalnızca menü içindeki buton görünür --- */
  .site-header .inside-header .menu-toggle{ display:none; }

  .site-header #site-navigation .menu-toggle{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:48px;         /* dokunma hedefi — TALIMAT 9.10 */
    min-height:48px;
    padding:0;
    background:none;
    border:0;
    line-height:1;
    color:var(--dsk-murekkep);
  }

  /* "Menü" yazısı gizli — ikon yeterli, ekran okuyucu okumaya devam eder */
  .site-header .menu-toggle .mobile-menu{ display:none; }

  /* --- Menü listesi: kapalıyken gizli --- */
  .site-header #site-navigation .main-nav{ display:none; }

  /* --- Açılan menü: barın altında tam genişlik panel --- */
  .site-header #site-navigation.toggled .main-nav{
    display:block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    margin-top:0;
    padding:8px;
    background:var(--dsk-kagit);
    border-top:1px solid var(--dsk-cizgi);
    border-radius:0;
    box-shadow:var(--dsk-golge);
    max-height:calc(100vh - var(--dsk-ust) - 20px);
    overflow-y:auto;
  }

  .site-header #site-navigation.toggled .main-nav > ul{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin:0;
    padding:0;
    list-style:none;
  }
  .site-header #site-navigation.toggled .main-nav > ul > li{
    display:block;
    width:100%;
  }
  .site-header #site-navigation.toggled .main-nav > ul > li > a{
    display:block;
    padding:12px 16px;
    border-radius:8px;
  }
  .site-header #site-navigation.toggled .main-nav > ul > li:last-child > a{
    margin:8px 0 0;
    text-align:center;
  }
}

/* ========================= YAMA 14 SONU ================================== */

/* YAMA 15 — 29.07.2026: panel ataya değil, doğrudan ekrana sabitleniyor.
     Sebep: `absolute` en yakın konumlandırılmış atayı ölçü alıyordu; YAMA 14
     menü kabını daralttığı için panel 48px'lik kutuya sıkıştı.
     `fixed` viewport'u ölçü alır — hiçbir kabın genişliğinden etkilenmez.
     Alt dolgu 88px: sabit çubuk son menü öğesini örtmesin (#107). */
  .site-header #site-navigation.toggled .main-nav{
    display:block;
    position:fixed;
    top:var(--dsk-ust);
    left:0;
    right:0;
    width:auto;
    margin:0;
    padding:8px 8px 16px;
    background:var(--dsk-kagit);
    border-top:1px solid var(--dsk-cizgi);
    border-radius:0;
    box-shadow:var(--dsk-golge);
    max-height:calc(100vh - var(--dsk-ust) - 88px);
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  
  /* ==========================================================================
   YAMA 16 — 29.07.2026 · #89 Mobil sabit çubuk yeniden tasarımı
   Kaynak : TALIMAT-v11 Bölüm 9.6 — düz --dsk-kirmizi zemin (gradient YOK),
            telefon numarası ikon değil YAZIYLA, WhatsApp ayrı yeşil daire
            değil çubuğun içinde, genişlik payı %58 telefon / %42 WhatsApp.
   Not 1  : Bölüm 20'deki B2 dönemi kuralları (krem zemin + iki ayrı hap
            buton) bu blokla eziliyor. Ölü satırların temizliği: #109.
   Not 2  : GÜVENLİK KAPISI (TALIMAT 9.5) — gizleme yalnızca .dsk-js altında.
            JS yüklenmezse çubuk SÜREKLİ GÖRÜNÜR kalır. Telefon butonu
            hiçbir koşulda kaybolmaz (öncelik: dönüşüm > estetik).
   Not 3  : Kesme noktası 860px değil 768px — kabuğun geri kalanıyla aynı.
   ========================================================================== */

.dsk-mobil-cubuk{
  position:fixed;
  left:0; right:0; bottom:0;
  z-index:80;
  display:grid;
  grid-template-columns:58fr 42fr;
  gap:0;
  padding:0 0 env(safe-area-inset-bottom);
  background:var(--dsk-kirmizi);
  backdrop-filter:none;
  border-top:0;
  box-shadow:0 -4px 20px rgba(20,32,42,.16);
  transform:none;                    /* varsayılan: GÖRÜNÜR */
  transition:transform .4s var(--dsk-yay);
}

/* JS yüklendiyse gizlenir; kaydırınca Snippet 756 .dsk-acik ekler */
.dsk-js .dsk-mobil-cubuk{ transform:translateY(115%) }
.dsk-js .dsk-mobil-cubuk.dsk-acik{ transform:none }

.dsk-mobil-cubuk a{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:58px;                   /* dokunma hedefi ≥48px — TALIMAT 9.10 */
  padding:14px 8px;
  border-radius:0;
  font-family:'Manrope',system-ui,-apple-system,sans-serif;
  font-size:1.02rem;
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1;
  color:#fff;
  text-decoration:none;
}
.dsk-mobil-cubuk svg{ width:18px; height:18px; fill:currentColor; flex:none }

.dsk-mc-tel{ background:var(--dsk-kirmizi) }
.dsk-mc-tel:active{ background:var(--dsk-kirmizi-koyu) }
.dsk-mc-wa{ background:var(--dsk-yesil) }
.dsk-mc-wa:active{ filter:brightness(.93) }

/* Çok dar ekranlar (359px altı) — numara taşmasın */
@media (max-width:359px){
  .dsk-mobil-cubuk a{ font-size:.94rem; gap:7px }
  .dsk-mobil-cubuk svg{ width:16px; height:16px }
}

/* Masaüstünde çubuk yok */
@media (min-width:769px){
  .dsk-mobil-cubuk{ display:none }
}

/* Hareket azaltma: kayma yok, çubuk sabit durur */
@media (prefers-reduced-motion:reduce){
  .dsk-mobil-cubuk{ transition:none }
  .dsk-js .dsk-mobil-cubuk,
  .dsk-js .dsk-mobil-cubuk.dsk-acik{ transform:none }
}

/* ========================= YAMA 16 SONU ================================== */

/* ==========================================================================
   YAMA 17 — 29.07.2026 · #89 · WhatsApp dairesi (Karar B)
   Karar : Daire masaüstünde kalır, yeni palete boyanır, mobilde gizlenir.
           Mobilde işini çubuk devralıyor. Ölçüm (#38) kurulunca gözden
           geçirilecek — kaldırma kararı veriye dayanmalı.
   Sınıf : .whatsapp-float → .dsk-wa-float. Ad değiştiği için Ek CSS'teki
           eski kural artık bu öğeye DEĞMEZ — çakışma olmadan devir tamam.
   Renk  : eski #10B981 (emekli palet) → var(--dsk-yesil) #0F9D63
   ========================================================================== */

.dsk-wa-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:75;
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:var(--dsk-yesil);
  box-shadow:0 6px 22px rgba(15,157,99,.32);
  transition:transform .24s var(--dsk-yay), box-shadow .24s var(--dsk-yay);
}
.dsk-wa-float svg{ width:30px; height:30px; fill:#fff }
.dsk-wa-float:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 28px rgba(15,157,99,.4);
}
.dsk-wa-float:focus-visible{
  outline:3px solid var(--dsk-kirmizi);
  outline-offset:3px;
}

/* Mobilde daire yok — çubuk devrede */
@media (max-width:768px){
  .dsk-wa-float{ display:none }
}

@media (prefers-reduced-motion:reduce){
  .dsk-wa-float{ transition:none }
  .dsk-wa-float:hover{ transform:none }
}

/* --- Çubuktaki telefon ikonu: Lucide çizgi seti (TALIMAT 9.7) ------------
   YAMA 16 tüm SVG'lere fill veriyordu; çizgi ikon böyle dolu leke olur. */
.dsk-mc-tel svg{
  fill:none;
  stroke:currentColor;
  stroke-width:2;
}

/* ========================= YAMA 17 SONU ================================== */

/* ==========================================================================
   YAMA 18 — 29.07.2026 · #113 kontrast + ray sonrası boşluk
   #113 : B2'de Final CTA AÇIK zeminde, not metni #8695A1. Değişkene
          çevrilirken --dsk-gri-ters (koyu zemin rengi) yazılmış.
          Açık zeminde kontrast 2,4:1 — TALIMAT 9.10 minimumu 4,5:1.
   ========================================================================== */

.dsk-final .dsk-not{ color:var(--dsk-gri); }

/* Süreç rayının altındaki "tamamını incele" butonu için nefes payı */
.dsk-ray + .dsk-btn-grup{ margin-top:44px; }

/* ========================= YAMA 18 SONU ================================== */

/* ==========================================================================
   YAMA 19 — 29.07.2026 · Koyu bölüm başlıkları görünmüyordu
   Sebep : Bölüm 4, YAMA 1 ve YAMA 2'deki koyu bölüm kuralları
           `.dsk BOŞLUK .dsk-murekkep-bolum` biçiminde yazılmış — yani
           "`.dsk` İÇİNDEKİ koyu bölüm". #82'de Seçenek B seçildi:
           iki sınıf AYNI öğede duruyor. Torun seçicisi eşleşmiyor,
           geriye Ek CSS'in `h1..h6{color:var(--dark)!important}` kuralı
           kalıyor → koyu zeminde koyu yazı.
   Çözüm : Bitişik seçici — `.dsk.dsk-murekkep-bolum`, BOŞLUK YOK.
   !important: Ek CSS'in genel !important kuralını yenmek için zorunlu.
           Yalnızca renk için, yalnızca .dsk kapsamında (TALIMAT Bölüm 26).
   ========================================================================== */

.dsk.dsk-murekkep-bolum h1,
.dsk.dsk-murekkep-bolum h2,
.dsk.dsk-murekkep-bolum h3,
.dsk.dsk-murekkep-bolum h4,
.dsk.dsk-murekkep-bolum .dsk-serif,
.dsk.dsk-murekkep-bolum .dsk-buyuk-rakam{
  color:var(--dsk-kagit) !important;
}

.dsk.dsk-murekkep-bolum p,
.dsk.dsk-murekkep-bolum .dsk-giris{
  color:var(--dsk-gri-ters);
}

/* --- İSTEĞE BAĞLI: Neden Biz ızgarası 3+1 yerine 4 sütun ----------------
   1160px kapta minmax(272px) + 44px boşluk = 4 sütun sığmıyor (1220px),
   4. madde tek başına alt satıra düşüyor. 250px'e inince dördü de sığar.
   Otomatik ızgara korunuyor — sabit sütun sayısı YOK (TALIMAT Bölüm 9).
   3+1 görünümünü tercih edersen bu bloğu silmen yeterli. */

/* Neden Biz: 4 madde → 2×2. 430px minimum, 1160px kapta üçüncü sütun
   sığmaz (3×430+88=1378), ikisi sığar (2×430+44=904). Sabit sütun YOK. */
.dsk-neden-izgara{
  grid-template-columns:repeat(auto-fit,minmax(430px,1fr));
}

/* ========================= YAMA 19 SONU ================================== */

/* ==========================================================================
   YAMA 21 — 29.07.2026 · İletişim ikonları (Faz 2c hazırlığı)
   Bölüm 16'daki `.dsk-bilgi-s .dsk-ikon svg{fill:...}` kuralı dolu ikon
   varsayıyor. TALIMAT 9.7 çizgi ikon (Lucide) şart koşuyor — dolu kuralla
   çizilirse leke olur. Çizgi setine çevriliyor.
   ========================================================================== */

.dsk-bilgi-s .dsk-ikon svg{
  fill:none;
  stroke:var(--dsk-kirmizi);
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* ========================= YAMA 21 SONU ================================== */

/* ================================================
   TRUSTINDEX YORUM IZGARASI  (#117 · 31.07.2026)
   Eklenti ücretsiz modda sütun sınıfı (ti-col-N)
   basmıyor, ızgarayı biz kuruyoruz.
   Hedef: kartların DOĞRUDAN ebeveyni.
   ================================================ */
.dsk .ti-reviews-container-wrapper{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:16px;
}

/* Kartın alt boşluğu ızgara aralığıyla üst üste binmesin */
.dsk .ti-reviews-container-wrapper > .ti-review-item{
  margin-bottom:0;
  display:flex;          /* tek çocuğu (.ti-inner) hücreye yayılsın */
}

/* Beyaz kutu hücrenin tamamını kaplasın → kartlar eşit yükseklikte (#120) */
.dsk .ti-reviews-container-wrapper > .ti-review-item > .ti-inner{
  flex:1;
}

/* ===== YAMA 22 — Vites karşılaştırma kartları (#84 B Sınıfı) ===== */
.dsk-vites-izgara{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(var(--dsk-iz-md),1fr));
  gap:20px;
  margin-top:32px;
}
.dsk-vites-k{
  background:var(--dsk-kagit);
  border:1px solid var(--dsk-cizgi);
  border-radius:16px;
  padding:28px 24px;
}
.dsk-vites-k h3{
  color:var(--dsk-kirmizi);
  margin:0 0 14px;
}
.dsk-vites-k .dsk-liste{
  margin:0;
}

/* ===== YAMA 23 — Teşvik bandı / takvim CTA (#84 B Sınıfı) ===== */
.dsk-tesvik{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:var(--dsk-kum);
  border:1px solid var(--dsk-cizgi);
  border-radius:16px;
  padding:28px 32px;
  margin-top:16px;
}
.dsk-tesvik-metin{
  flex:1;
  min-width:240px;
}
.dsk-tesvik-metin h3{
  margin:0 0 6px;
  color:var(--dsk-murekkep);
}
.dsk-tesvik-metin p{
  margin:0;
  color:var(--dsk-gri);
}
.dsk-tesvik .dsk-btn{
  white-space:nowrap;
}
/* ===== YAMA 24 — Neden ızgarası mobil taşma düzeltmesi (#84) ===== */
@media (max-width:600px){
  .dsk-neden-izgara{
    grid-template-columns:1fr;
  }
}

/* ===== YAMA 25 — .dsk bölüm gövde linkleri (iç + dış) kırmızı + kalın ===== */
/* #137 tamamlayıcı: inline stilsiz yeni sistem linkleri için renk kuralı. */
/* Butonlar (.dsk-btn) ve foto rozet linkleri hariç tutulur. */
.dsk-ic a:not(.dsk-btn),
.dsk-ic-dar a:not(.dsk-btn){
  color:var(--dsk-kirmizi);
  font-weight:600;
  text-decoration:none;
}
.dsk-ic a:not(.dsk-btn):hover,
.dsk-ic-dar a:not(.dsk-btn):hover{
  text-decoration:underline;
}

/* ===== YAMA 26 — Fiyat tablosu + mobil kart görünümü (#146 · #56 · #57 · #58) ===== */
/* Masaüstü: 5 sütunlu tablo. Mobil (≤768px): her satır kart, başlıklar data-etiket'ten basılır. */
/* Toplam sütunu kalın + kırmızı (Bölüm 11). Tabloda buton yok — CTA tablo altında tek. */

/* --- Kapsayıcı --- */
.dsk .dsk-fiyat-kap{
  margin-top:32px;
}

/* --- Tablo iskeleti --- */
.dsk .dsk-fiyat{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--dsk-beyaz);
  border:1px solid var(--dsk-cizgi);
  border-radius:var(--dsk-r);
  overflow:hidden;
  font-variant-numeric:tabular-nums;
  box-shadow:var(--dsk-golge-hafif);
}

/* Caption görsel olarak gizli, ekran okuyucuya açık */
.dsk .dsk-fiyat caption{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

/* --- Başlık satırı --- */
.dsk .dsk-fiyat thead th{
  background:var(--dsk-murekkep);
  color:#fff;
  font-family:'Manrope',sans-serif;
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-align:right;
  padding:14px 16px;
  white-space:nowrap;
}
.dsk .dsk-fiyat thead th:first-child{
  text-align:left;
}

/* --- Gövde hücreleri --- */
.dsk .dsk-fiyat tbody td{
  padding:16px;
  border-bottom:1px solid var(--dsk-cizgi);
  color:var(--dsk-murekkep);
  text-align:right;
  vertical-align:middle;
  font-size:.98rem;
}
.dsk .dsk-fiyat tbody tr:last-child td{
  border-bottom:0;
}
.dsk .dsk-fiyat tbody tr:nth-child(even) td{
  background:var(--dsk-kagit);
}

/* Sınıf hücresi: rozet + ad */
.dsk .dsk-fiyat-sinif{
  text-align:left;
  font-weight:700;
  white-space:nowrap;
}
.dsk .dsk-fiyat-rozet{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:36px;
  padding:0 10px;
  margin-right:12px;
  border-radius:var(--dsk-r-sm);
  background:var(--dsk-kirmizi-fon);
  color:var(--dsk-kirmizi);
  font-family:'Manrope',sans-serif;
  font-size:.86rem;
  font-weight:700;
  letter-spacing:.02em;
  vertical-align:middle;
}
.dsk .dsk-fiyat-sinif-alt{
  display:block;
  margin-top:4px;
  padding-left:56px;
  font-size:.82rem;
  font-weight:400;
  color:var(--dsk-gri);
  white-space:normal;
}

/* Hücre altı açıklama (ör. "1.250 + 2.000", "e-sınav muaf") */
.dsk .dsk-fiyat-alt{
  display:block;
  margin-top:2px;
  font-size:.78rem;
  color:var(--dsk-gri);
  font-weight:400;
}

/* Toplam sütunu — kalın, kırmızı, zemin vurgulu */
.dsk .dsk-fiyat thead th.dsk-fiyat-toplam{
  background:var(--dsk-kirmizi);
}
.dsk .dsk-fiyat tbody td.dsk-fiyat-toplam{
  background:var(--dsk-kirmizi-fon);
  color:var(--dsk-kirmizi);
  font-weight:800;
  font-size:1.12rem;
}
.dsk .dsk-fiyat tbody tr:nth-child(even) td.dsk-fiyat-toplam{
  background:var(--dsk-kirmizi-fon);
}

/* Muaf / boş değer */
.dsk .dsk-fiyat-muaf{
  color:var(--dsk-gri-2);
}

/* --- Tablo altı notlar --- */
.dsk .dsk-fiyat-not{
  margin:14px 0 0;
  font-size:.86rem;
  line-height:1.6;
  color:var(--dsk-gri);
}
.dsk .dsk-fiyat-not + .dsk-fiyat-not{
  margin-top:6px;
}

/* --- Mobil: kart görünümü --- */
@media (max-width:768px){
  .dsk .dsk-fiyat{
    display:block;
    background:transparent;
    border:0;
    box-shadow:none;
    border-radius:0;
    overflow:visible;
  }
  .dsk .dsk-fiyat thead{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .dsk .dsk-fiyat tbody,
  .dsk .dsk-fiyat tr,
  .dsk .dsk-fiyat td{
    display:block;
  }
  .dsk .dsk-fiyat tbody tr{
    background:var(--dsk-beyaz);
    border:1px solid var(--dsk-cizgi);
    border-radius:var(--dsk-r);
    padding:6px 18px 8px;
    margin-bottom:14px;
    box-shadow:var(--dsk-golge-hafif);
  }
  .dsk .dsk-fiyat tbody tr:nth-child(even) td{
    background:transparent;
  }
  .dsk .dsk-fiyat tbody td{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    padding:11px 0;
    text-align:right;
  }
  .dsk .dsk-fiyat tbody tr:last-child td{
    border-bottom:1px solid var(--dsk-cizgi);
  }
  .dsk .dsk-fiyat tbody td:last-child{
    border-bottom:0;
  }
  /* Etiket: sütun başlığı hücrenin solunda */
  .dsk .dsk-fiyat tbody td::before{
    content:attr(data-etiket);
    flex:0 0 auto;
    font-family:'Manrope',sans-serif;
    font-size:.8rem;
    font-weight:600;
    color:var(--dsk-gri);
    text-align:left;
  }
  .dsk .dsk-fiyat tbody td.dsk-fiyat-sinif{
    display:block;
    padding:12px 0 10px;
    text-align:left;
    font-size:1.06rem;
  }
  .dsk .dsk-fiyat tbody td.dsk-fiyat-sinif::before{
    content:none;
  }
  .dsk .dsk-fiyat-sinif-alt{
    padding-left:0;
  }
  .dsk .dsk-fiyat-alt{
    text-align:right;
  }
  .dsk .dsk-fiyat tbody td.dsk-fiyat-toplam{
    margin:8px -18px -8px;
    padding:14px 18px;
    border-radius:0 0 var(--dsk-r) var(--dsk-r);
    font-size:1.2rem;
  }
  .dsk .dsk-fiyat tbody td.dsk-fiyat-toplam::before{
    color:var(--dsk-kirmizi);
  }
}
/* ===== /YAMA 26 ===== */

/* ================================================================
   YAMA 27 — dsk-hesap · Takvim Hesaplayıcı çıktısı (Snippet 700)
   05.09.2026 · #147 · Sarmalayıcı: <div class="dsk dsk-hesap">
   ================================================================ */

/* Sarmalayıcı — gövde tipografisi */
.dsk.dsk-hesap{font-family:'Manrope',system-ui,sans-serif;color:var(--dsk-murekkep);margin-top:20px}
.dsk-hesap p{margin:0;font-size:.95rem;line-height:1.6}
.dsk.dsk-hesap a:not(.dsk-btn){color:var(--dsk-kirmizi);font-weight:600}
.dsk.dsk-hesap svg{width:20px;height:20px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Bilgi satırı (kayıt tarihi) */
.dsk-hesap-not{display:flex;align-items:center;gap:10px;background:var(--dsk-kum);border-radius:var(--dsk-r-sm);padding:12px 16px;margin-bottom:16px;color:var(--dsk-gri)}
.dsk-hesap-not strong{color:var(--dsk-murekkep)}

/* Hata / uyarı kutuları */
.dsk-hesap-hata{display:flex;gap:12px;align-items:flex-start;background:var(--dsk-kirmizi-fon);border-left:4px solid var(--dsk-kirmizi);border-radius:0 var(--dsk-r-sm) var(--dsk-r-sm) 0;padding:16px 20px;color:var(--dsk-murekkep)}
.dsk-hesap-hata p+p{margin-top:8px}
.dsk-hesap-uyari{display:flex;gap:12px;align-items:flex-start;background:var(--dsk-kum);border-radius:var(--dsk-r-sm);padding:16px 20px;margin-top:20px;color:var(--dsk-gri)}
.dsk-hesap-uyari p{font-size:.875rem}

/* Özet — koyu bölüm */
.dsk-hesap-ozet{background:var(--dsk-murekkep);color:#fff;border-radius:var(--dsk-r);padding:26px 28px;margin:0 0 24px;text-align:center}
.dsk-hesap-ozet .dsk-hesap-ust{font-size:.85rem;color:var(--dsk-gri-ters);text-transform:uppercase;letter-spacing:.06em}
.dsk-hesap-ozet .dsk-hesap-ay{font-family:'Newsreader',Georgia,serif;font-weight:500;font-size:clamp(1.9rem,5vw,2.5rem);line-height:1.1;letter-spacing:-.022em;margin:4px 0 14px;font-variant-numeric:tabular-nums}
.dsk-hesap-ozet .dsk-hesap-alt{font-size:.9rem;color:var(--dsk-gri-ters)}
.dsk-hesap-ozet .dsk-hesap-tarih{font-weight:700;font-size:1.05rem;margin:2px 0 10px;color:#fff}
.dsk-hesap-ozet .dsk-hesap-dip{font-size:.82rem;color:var(--dsk-gri-ters);margin-top:6px}

/* Zaman çizelgesi */
.dsk-hesap-zaman{list-style:none;margin:0;padding:0}
.dsk-hesap-zaman li{display:flex;gap:16px;align-items:stretch;margin-bottom:12px}
.dsk-hesap-zaman li:last-child{margin-bottom:0}
.dsk-hesap-ray{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}
.dsk-hesap-no{width:30px;height:30px;border-radius:50%;background:var(--dsk-kirmizi);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.dsk-hesap-cizgi{width:2px;flex:1;min-height:20px;background:var(--dsk-cizgi);margin:4px 0}
.dsk-hesap-kart{flex:1;background:var(--dsk-beyaz);border:1px solid var(--dsk-cizgi);border-radius:var(--dsk-r-sm);padding:14px 18px;box-shadow:var(--dsk-golge-hafif)}
.dsk-hesap-kart h4{font-family:'Manrope',system-ui,sans-serif;font-size:.98rem;font-weight:700;color:var(--dsk-murekkep);margin:0 0 3px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dsk-hesap-kart p{color:var(--dsk-gri);font-size:.875rem}
.dsk-hesap-etiket{display:inline-block;background:var(--dsk-kirmizi-fon);color:var(--dsk-kirmizi);font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:2px 8px;border-radius:4px}

/* CTA satırı */
.dsk-hesap-cta{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap}
.dsk-hesap-cta .dsk-btn{flex:1;min-width:200px;justify-content:center}


/* ===== YAMA 28 — Sora fontunu devre dışı bırak (#155) ===== */
/* 06.09.2026. Ek CSS'teki body{font-family:'Sora'!important} yüzünden
   her sayfada 14 KB'lik Sora dosyası iniyordu. Sora ile basılan tek
   görünür öğe breadcrumb'dı; kalanlar gizli telif çubuğu ve atlama linki.
   Bu kural o öğeleri kabuk fontuna (Manrope) çeker; Sora artık inmez.
   Geri alma: bu blok (YAMA 28 satırından /YAMA 28 satırına kadar) silinir. */
body .dikkat-breadcrumb,
body .dikkat-breadcrumb *,
body .screen-reader-text,
body .site-info,
body .site-info * {
  font-family: Manrope, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}
/* ===== /YAMA 28 ===== */