/*
 * AÇIK TEMA — melez şema (24.08.2026, cete61 konsey kararı).
 *
 * KARAR: içerik alanları (liste, kategori, yazı gövdesi, arşiv) açık zemine
 * geçer; manşet şeridi, site başlığı ve altbilgi KOYU kalır — marka bloğu.
 *
 * Konsey gerekçesi: trafiğin çoğu görsel aramadan geliyor ve ürün
 * fotoğrafları açık zeminde kesintisiz duruyor; AdSense kreatifleri beyaz
 * zemine göre tasarlanıyor; Türkiye teknoloji haber pazarının tamamı açık
 * zeminde; uzun metinde pozitif polarite okuma hızını artırıyor.
 *
 * MEKANİZMA: renk tek token katmanından okunur; şablon bölümleri TEK TEK
 * sayılmaz, `[class*="-bolum"]` deseniyle yakalanır. Yarın yeni bir şablon
 * eklendiğinde kendiliğinden açık gelir — koyu istenen yer açık listeye
 * yazılır.
 *
 * TURKUAZ (pazarlıksız): #30cca0'ın beyaz üzerindeki kontrastı ≈2,1:1,
 * WCAG AA'nın (4,5:1) altında. Açık zeminde METİN RENGİ OLAMAZ; dolgu,
 * şerit ve hover olarak yaşar. Metin gerekiyorsa `--iz-vurgu-metin`.
 */

:root {
  --iz-zemin: #ffffff;
  --iz-yuzey: #f6f7f8;
  --iz-cizgi: rgb(0 0 0 / 10%);
  --iz-metin: #12161a;
  --iz-metin-soluk: #5b6570;
  --iz-vurgu: #30cca0;
  --iz-vurgu-metin: #12795e; /* beyaz üzerinde 4,6:1 */
  --iz-koyu-zemin: #000000;
  --iz-koyu-metin: #ffffff;
}

/* ——— 1) Sayfa zemini ——— */
html,
body,
body.iz-sayfa-ana:not(.iz-hareket-zemin) {
  background-color: var(--iz-zemin);
  color: var(--iz-metin);
}

/* ——— 2) Tüm şablon bölümleri açık (desen eşleşmesi) ———
   Özgüllük tema kurallarının (0,3,0) bir tık üstünde tutulur. */
.iz-sablon-ana .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-kategori .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-yazi .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-ust .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-sayfa .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-arama .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-etiket .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-yazar .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.rehber-serit,
.search-page,
.arama-sonuc {
  background-color: var(--iz-zemin);
  color: var(--iz-metin);
}

/* İç sarmallar zemin boyamaz */
.iz-kap,
.iz-sutun,
.iz-parca-sarici,
.iz-parca-kap,
.block-wrap,
.block-inner,
.blog-builder,
.site-wrap,
.site-outer {
  background-color: transparent;
}

/* ——— 3) Koyu kalan marka blokları (açık liste) ——— */
header.header-wrap,
.kategori-basligi,
.iz-sablon-ana .iz-eleman.iz-ana-manset-bolum:not(.iz-hareket-zemin),
.iz-sablon-yazi .iz-eleman.iz-manset-bolum:not(.iz-hareket-zemin),
.iz-sablon-alt .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin) {
  background-color: var(--iz-koyu-zemin);
  color: var(--iz-koyu-metin);
}

/* Başlık şeridinin İÇİNDEKİ bölümler de "-bolum" desenine takılıyordu ve
   koyu şeridi beyaza boyuyordu (ölçüldü). Desen kuralından sonra geri
   koyulaştırılır — aynı özgüllük, sonra gelen kazanır. */
header.header-wrap .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin),
.iz-sablon-alt .iz-eleman[class*="-bolum"]:not(.iz-hareket-zemin) {
  background-color: var(--iz-koyu-zemin);
  color: var(--iz-koyu-metin);
}

/* ——— 3b) Başlık renk ailesi ———
 * `h1..h6` kendi `--hN-fcolor` değişkenlerinden renk alıyor ve tema onları
 * `.light-scheme` altında #fff yapıyor. Bu yüzden `.light-scheme` üzerine
 * yazılan düz `color` yetmiyordu: kart başlıkları beyaz üstüne beyaz
 * kalıyordu (ölçüldü — kontrast oranı 1.00). Aile token'a bağlanır. */
.light-scheme,
[data-theme] .light-scheme {
  --h1-fcolor: var(--iz-metin);
  --h2-fcolor: var(--iz-metin);
  --h3-fcolor: var(--iz-metin);
  --h4-fcolor: var(--iz-metin);
  --h5-fcolor: var(--iz-metin);
  --h6-fcolor: var(--iz-metin);
  --body-fcolor: var(--iz-metin);
  --title-color: var(--iz-metin);
  --awhite: var(--iz-metin);
  /* Özet rengi de değişkenden geliyor (`.p-wrap .entry-summary`); açık
     alanda #eee kalıyordu — kontrast 1,16 ölçüldü. */
  --excerpt-color: var(--iz-metin-soluk);
}

/* Koyu bloklarda başlık ailesi yeniden beyaz */
header.header-wrap :where(.light-scheme, [class*="-bolum"]),
.kategori-basligi,
.kategori-basligi .light-scheme,
.iz-sablon-ana .iz-ana-manset-bolum :where(.light-scheme, [class*="-parca"]),
.iz-sablon-yazi .iz-manset-bolum :where(.light-scheme, [class*="-parca"]),
.iz-sablon-alt [class*="-bolum"] :where(.light-scheme, [class*="-parca"]) {
  --h1-fcolor: var(--iz-koyu-metin);
  --h2-fcolor: var(--iz-koyu-metin);
  --h3-fcolor: var(--iz-koyu-metin);
  --h4-fcolor: var(--iz-koyu-metin);
  --h5-fcolor: var(--iz-koyu-metin);
  --h6-fcolor: var(--iz-koyu-metin);
  --body-fcolor: var(--iz-koyu-metin);
  --title-color: var(--iz-koyu-metin);
  --awhite: var(--iz-koyu-metin);
  --excerpt-color: #dddddd;
}

/* ——— 4) Metin renkleri ———
   `light-scheme` temada "koyu zemin + açık metin" demek; açık alanda metni
   beyaz bırakıp okunmaz yapıyordu. Önce nötrlenir, koyu blokta geri verilir. */
.light-scheme {
  --body-fcolor: var(--iz-metin);
  --heading-color: var(--iz-metin);
  color: var(--iz-metin);
}

.heading-title,
.block-title,
[data-theme] .iz-sablon-ana .iz-eleman.iz-ana-yeni-baslik.iz-parca .heading-title {
  --heading-color: var(--iz-metin);
  color: var(--iz-metin);
}

.entry-summary,
.p-meta,
.meta-inner {
  color: var(--iz-metin-soluk);
}

/* Koyu blokların içi yeniden açık metin */
header.header-wrap,
header.header-wrap a,
header.header-wrap .menu-item,
.kategori-basligi,
.kategori-basligi :where(.heading-title, .entry-title, .entry-summary, p, a),
.iz-sablon-ana .iz-ana-manset-bolum :where(.light-scheme, .heading-title, .entry-title, .entry-summary, .p-meta),
.iz-sablon-yazi .iz-manset-bolum :where(.light-scheme, .heading-title, .entry-title, .entry-summary, .p-meta),
.iz-sablon-alt [class*="-bolum"] :where(.light-scheme, .heading-title, a, p) {
  --body-fcolor: var(--iz-koyu-metin);
  --heading-color: var(--iz-koyu-metin);
  color: var(--iz-koyu-metin);
}

/* Koyu blok içindeki sarmallar zemini tekrar boyamasın */
header.header-wrap :where(.iz-kap, .iz-sutun, .iz-parca-kap, .block-wrap),
.kategori-basligi :where(.iz-kap, .iz-sutun, .iz-parca-kap, .block-wrap),
.iz-sablon-ana .iz-ana-manset-bolum :where(.iz-kap, .iz-sutun, .iz-parca-kap, .block-wrap),
.iz-sablon-yazi .iz-manset-bolum :where(.iz-kap, .iz-sutun, .iz-parca-kap, .block-wrap) {
  background-color: transparent;
}

/* ——— 5) Ayraç ve kenarlıklar ——— */
.p-wrap,
.block-inner > *,
.entry-content hr {
  border-color: var(--iz-cizgi);
}

/* ——— 6) Turkuaz metin kullanımları koyu varyanta ——— */
.p-kategori,
.entry-content a,
.p-url:hover {
  color: var(--iz-vurgu-metin);
}

/* ——— 7) Turkuaz metin kullanımları (kontrast 2,04 ölçüldü) ——— */
.iz-sablon-ust a[href^="/author/"],
.author-list a,
.meta-el a,
.p-categories a,
.entry-meta a {
  color: var(--iz-vurgu-metin);
}

/* ——— 8) Küçük düzeltmeler ——— */
/* Meta etiketleri ("Yazar:") açık zeminde soluk gri kalıyordu (1,92) */
.meta-label,
.meta-el {
  color: var(--iz-metin-soluk);
}

/*
 * ——— 9) RENKLİ KUTULAR: metin BEYAZ kalır (kullanıcı kararı 24.08) ———
 *
 * Popüler kutusu (mavi), vitrin degrade kartı, manşet bindirmesi ve
 * kategori sayfasının degrade kutuları kendi renkli zeminlerini taşıyor.
 * Açık şemada metin koyuya döndüğü için bu kutularda okunmaz oluyordu;
 * renkli zemin üstünde doğru olan beyaz.
 *
 * Liste UYDURULMADI: `tema.css` içinde degrade zemin tanımlayan iz-*
 * elemanları taranarak çıkarıldı (7 kutu). Temaya yeni degrade eklenirse
 * aynı tarama tekrarlanır — komut yorumda:
 *   grep -o "[^{]*iz-[a-z-]*[^{]*{[^}]*gradient[^}]*}" public/tema/css/tema.css
 */
.iz-sablon-ana .iz-eleman.iz-ana-manset-metin > .iz-parca-kap,
.iz-sablon-ana .iz-eleman.iz-ana-populer-liste > .iz-parca-kap,
.iz-sablon-yazi .iz-eleman.iz-manset-bolum,
.iz-sablon-ilgili .iz-eleman.iz-ilgili-vitrin-bolum,
.iz-sablon-kategori .iz-eleman.iz-kat-manset-metin > .iz-parca-kap,
.iz-sablon-kategori .iz-eleman.iz-kat-yan-liste > .iz-parca-kap {
  --h1-fcolor: var(--iz-koyu-metin);
  --h2-fcolor: var(--iz-koyu-metin);
  --h3-fcolor: var(--iz-koyu-metin);
  --h4-fcolor: var(--iz-koyu-metin);
  --body-fcolor: var(--iz-koyu-metin);
  --title-color: var(--iz-koyu-metin);
  --heading-color: var(--iz-koyu-metin);
  --excerpt-color: rgb(255 255 255 / 82%);
  color: var(--iz-koyu-metin);
}

.iz-sablon-ana .iz-eleman.iz-ana-manset-metin > .iz-parca-kap :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time),
.iz-sablon-ana .iz-eleman.iz-ana-populer-liste > .iz-parca-kap :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time),
.iz-sablon-yazi .iz-eleman.iz-manset-bolum :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time),
.iz-sablon-ilgili .iz-eleman.iz-ilgili-vitrin-bolum :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time),
.iz-sablon-kategori .iz-eleman.iz-kat-manset-metin > .iz-parca-kap :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time),
.iz-sablon-kategori .iz-eleman.iz-kat-yan-liste > .iz-parca-kap :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time) {
  color: var(--iz-koyu-metin);
}

/*
 * ——— 10) Vitrin kartı: AÇIK degrade, KOYU metin (kullanıcı kararı) ———
 *
 * Diğer renkli kutular koyu tonlu (mavi, mor, siyah bindirme) ve beyaz metin
 * doğru. Vitrin kartının degradesi ise limon yeşili → turkuaz, yani AÇIK;
 * beyaz yazı üstünde okunmuyordu. Kural zemine göre: açık zeminde koyu metin.
 */
.iz-sablon-ana .iz-eleman.iz-ana-vitrin-kart,
.iz-sablon-ana .iz-eleman.iz-ana-vitrin-kart :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time) {
  --h1-fcolor: var(--iz-metin);
  --h2-fcolor: var(--iz-metin);
  --h3-fcolor: var(--iz-metin);
  --h4-fcolor: var(--iz-metin);
  --body-fcolor: var(--iz-metin);
  --title-color: var(--iz-metin);
  --heading-color: var(--iz-metin);
  --excerpt-color: rgb(18 22 26 / 78%);
  color: var(--iz-metin);
}

/*
 * ——— 11) Mobilde manşet metni: degrade YOK ———
 *
 * Masaüstünde manşet metin bloğu görselin ÜZERİNE biniyor; siyah degrade o
 * bindirmenin okunurluğunu sağlıyor. Mobilde tema bindirmeyi kapatıyor
 * (margin/padding sıfırlanır, metin görselin ALTINA düşer) ama degrade
 * kalıyordu: açık sayfanın ortasında siyah bir levha, üstünde beyaz yazı
 * (kullanıcı bildirdi, ölçüldü 24.08).
 *
 * Bindirme yoksa degrade de yok: kutu açık zemine, metin koyuya döner.
 */
@media (max-width: 767px) {
  .iz-sablon-ana .iz-eleman.iz-ana-manset-metin > .iz-parca-kap,
  .iz-sablon-kategori .iz-eleman.iz-kat-manset-metin > .iz-parca-kap {
    background-image: none;
    background-color: var(--iz-zemin);
    --h1-fcolor: var(--iz-metin);
    --h2-fcolor: var(--iz-metin);
    --h3-fcolor: var(--iz-metin);
    --h4-fcolor: var(--iz-metin);
    --body-fcolor: var(--iz-metin);
    --title-color: var(--iz-metin);
    --heading-color: var(--iz-metin);
    --excerpt-color: var(--iz-metin-soluk);
    color: var(--iz-metin);
  }

  .iz-sablon-ana .iz-eleman.iz-ana-manset-metin > .iz-parca-kap :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time),
  .iz-sablon-kategori .iz-eleman.iz-kat-manset-metin > .iz-parca-kap :where(a, p, span, h1, h2, h3, h4, .entry-title, .p-url, .entry-summary, .meta-el, time) {
    color: var(--iz-metin);
  }

  .iz-sablon-ana .iz-eleman.iz-ana-manset-metin > .iz-parca-kap .entry-summary,
  .iz-sablon-kategori .iz-eleman.iz-kat-manset-metin > .iz-parca-kap .entry-summary {
    color: var(--iz-metin-soluk);
  }
}

/* Mobilde manşet başlığının satırları birbirine değiyordu (satır yüksekliği
   1,02 — Anton'un uzun harfleri alt satıra giriyor). 32px'te 1,1 yeterli. */
@media (max-width: 767px) {
  .iz-sablon-ana .iz-eleman.iz-ana-manset-metin .entry-title,
  .iz-sablon-kategori .iz-eleman.iz-kat-manset-metin .entry-title {
    line-height: 1.1;
  }
}

/*
 * ——— 12) Mobilde manşet BÖLÜMÜ de açık ———
 *
 * Masaüstünde manşet + kenar çubuğu tek KOYU ŞERİT: üstte marka bloğu,
 * altında açık içerik. Mobilde her şey alt alta diziliyor ve o şerit
 * anlamını yitiriyor; ortaya siyah-beyaz-siyah-beyaz zebra çıkıyordu
 * (kullanıcı bildirdi 24.08).
 *
 * Mobilde koyu kalan TEK yüzey site başlığıdır. Görselin ÜZERİNDEKİ
 * kapak metni istisna: orada zemin fotoğraf, beyaz doğru.
 */
@media (max-width: 767px) {
  .iz-sablon-ana .iz-eleman.iz-ana-manset-bolum:not(.iz-hareket-zemin),
  .iz-sablon-ana .iz-ana-manset-bolum :where(.iz-kap, .iz-sutun, .iz-parca-sarici, .iz-parca-kap, .block-wrap, .block-inner) {
    background-color: var(--iz-zemin);
    color: var(--iz-metin);
  }

  .iz-sablon-ana .iz-ana-manset-bolum :where(.light-scheme, .entry-title, .p-url, .entry-summary, .heading-title, .meta-el, time) {
    --h1-fcolor: var(--iz-metin);
    --h2-fcolor: var(--iz-metin);
    --h3-fcolor: var(--iz-metin);
    --h4-fcolor: var(--iz-metin);
    --body-fcolor: var(--iz-metin);
    --title-color: var(--iz-metin);
    --heading-color: var(--iz-metin);
    color: var(--iz-metin);
  }

  /* Görselin üzerine binen kapak metni hariç: zemin fotoğraf, beyaz kalır */
  .iz-sablon-ana .iz-ana-manset-bolum .p-vitrin-kapak > .p-content,
  .iz-sablon-ana .iz-ana-manset-bolum .p-vitrin-kapak > .p-content :where(a, span, h1, h2, h3, h4, .entry-title, .p-url) {
    --title-color: var(--iz-koyu-metin);
    --h3-fcolor: var(--iz-koyu-metin);
    color: var(--iz-koyu-metin);
  }

  .iz-sablon-ana .iz-ana-manset-bolum .p-vitrin-kapak > .p-content .p-kategori {
    color: var(--iz-vurgu);
  }
}
