/* ============================================================
   Akademik tema katmanı — custom.css'in ÜZERİNE yüklenir
   Palet: lacivert #0C447C / koyu #042C53 / bağlantı #185FA5
   Logo mavisi (#378ADD) yalnızca logoda kalır.
   ============================================================ */

:root {
  --zc-navy: #0C447C;
  --zc-navy-dark: #042C53;
  --zc-link: #185FA5;
  --zc-light: #E6F1FB;
  --zc-serif: Georgia, 'Palatino Linotype', 'Times New Roman', serif;
  /* Gövde yazısı: uygulamalarla aynı (Source Sans 3). Yüklenemezse
     işletim sisteminin kendi arayüz yazısına düşer. */
  --zc-sans: 'Source Sans 3', -apple-system, BlinkMacSystemFont, 'Segoe UI',
             Roboto, 'Helvetica Neue', Arial, sans-serif;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Yazı tipi tutarlılığı — 24.08.2026
   Ölçümde sayfada üç ayrı gövde yazısı çıkıyordu. Sebebi temanın yazı
   listesindeki iki yazım hatasıydı: "BlinkMaxSystemFont" (doğrusu
   BlinkMacSystemFont) ve "Seoge UI" (doğrusu Segoe UI). Windows'ta Segoe UI
   hiç eşleşmiyor, sıra Arial'e düşüyordu; Mac'te -apple-system tuttuğu için
   San Francisco geliyordu. Benim eklediğim bölümler ise Source Sans 3
   istiyordu ama yazı hiçbir sayfada yüklenmiyordu.
   Artık tek kaynak var: gövde --zc-sans, başlıklar --zc-serif. Aşağıdaki
   kural gövdeyi kurar; başlıkların serif kuralları bundan SONRA geldiği
   için onlar bozulmaz. Simge yazıları (FontAwesome) dışarıda bırakıldı.
   ═══════════════════════════════════════════════════════════════════════════ */
body,
.ed-element,
.ed-text, .ed-text p, .ed-text span, .ed-text li, .ed-text td, .ed-text th,
.ed-headline, .ed-menu, .ed-menu a, .ed-button, .button,
input, select, textarea, button, table, blockquote {
  font-family: var(--zc-sans);
}
/* Menü bağlantıları tema önayarında daha özgül bir kuralla geliyor;
   ölçümde tek başlarına eski yazıda kalmışlardı. */
.ed-menu a.button, .ed-menu a, a.button { font-family: var(--zc-sans) !important; }

/* Simge yazı tipleri kendi ailelerinde kalmalı. */
.ed-icon, .ed-icon *, [class*="fa-"], [class^="icon-"], .zc-rozet svg {
  font-family: inherit;
}

/* --- Ana renk: parlak mavi -> lacivert --- */
.bg-primary { background: var(--zc-navy-dark) !important; }

/* --- Başlıklar: serifli, lacivert --- */
.ed-headline h1, .ed-headline h2, .ed-headline h3,
.ed-text h1, .ed-text h2, .ed-text h3, .ed-text h4 {
  font-family: var(--zc-serif);
  letter-spacing: 0.01em;
}
.ed-headline h1, .ed-headline h2, .ed-headline h3 { color: var(--zc-navy); }

/* Sayfa başlığı ortalansın.
   Editör her sayfaya "#ed-XXXXXXXXX h2 { text-align: center; }" yazıyor, ama
   başlık <h1 class="h2"> olarak çıktığı için seçici hiç eşleşmiyordu. Kuralı
   burada bir kez, sınıf üzerinden veriyoruz. */
.ed-headline h1.h2 { text-align: center; }

/* --- Menü: hap butonlar yerine düz metin + aktifte alt çizgi --- */
.ed-menu.wv-custom a.button,
.ed-element.ed-menu.wv-custom button a.button {
  background: transparent !important;
  color: var(--zc-navy) !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-weight: 500;
}
.ed-menu.wv-custom a.button:hover,
.ed-menu.wv-custom a.button.active,
.ed-element.ed-menu.wv-custom button a.button:hover,
.ed-element.ed-menu.wv-custom button a.button.active {
  background: transparent !important;
  color: var(--zc-navy-dark) !important;
  border-bottom-color: var(--zc-navy-dark) !important;
}

/* Açılır menüler: beyaz zemin, lacivert bağlantı */
.ed-menu .menu-sub .sub,
.ed-menu .sub ul,
.ed-menu ul.sub {
  background: #ffffff !important;
  border: 1px solid #dfe5ec;
  box-shadow: 0 4px 14px rgba(4, 44, 83, 0.10);
}
.ed-menu .sub a,
.ed-menu .sub a.button,
.ed-menu .menu-sub .menu-level-1 a:not(.button) {
  color: var(--zc-navy) !important;
  background: transparent !important;
}
.ed-menu .sub a:hover,
.ed-menu .sub a.button:hover {
  background: var(--zc-light) !important;
  color: var(--zc-navy-dark) !important;
  border-bottom-color: transparent !important;
}

/* Açılır menüler klavyeyle de açılsın (WCAG 2.1.1, Seviye A).
   Tema alt menüyü yalnızca ":hover" ile açıyordu; fare kullanamayan
   ziyaretçi menü altındaki 15 sayfaya hiç ulaşamıyordu. Aşağıdaki kural
   temanın açma kuralının birebir eşi, yalnızca ":focus-within" ile —
   aynı özgüllükte ve daha sonra yüklendiği için kapalı durumu yener. */
.ed-element.preset-menu-v2-default .ed-menu .menu-sub:focus-within > .sub > ul,
.ed-element.preset-menu-v2-border .ed-menu .menu-sub:focus-within > .sub > ul {
  visibility: visible;
  opacity: 1;
  transform: translate3d(0, 0, 0);
  pointer-events: all;
}

/* Klavyeyle gezerken odağın nerede olduğu görünsün. */
.ed-menu a:focus-visible,
.ed-menu .sub a:focus-visible,
.ed-language a:focus-visible {
  outline: 2px solid var(--zc-link);
  outline-offset: 2px;
  border-radius: 2px;
}

/* Üst bardaki dil seçici: beyaz kutu yerine şeffaf zemin */
.ed-container.preset-language-v2-default,
.ed-container.preset-language-v2-default > .inner,
.ed-container.preset-language-v2-default .inner { background: transparent !important; }
.ed-language a.language { color: #cfe3f7; }
.ed-language a.language.active { color: #ffffff; font-weight: 500; }

/* Mobil menü düğmesinin dokunma alanı — 18.08.2026.
   Kutu 30x25px ama asıl tıklanabilir öğe (button.menu-trigger-inner)
   yalnızca 30x3px'lik orta çizgiydi; çizgilerin arasına basınca menü
   açılmıyordu. Kutuya görünmez 44x44'lük bir dokunma alanı seriliyor
   (WCAG 2.5.5 önerisi) ve tıklama işleyicisi custom.js'te kutuya taşındı.
   Kutunun kendi ölçüsü değişmediği için başlık düzeni aynı kalıyor. */
.menu-trigger .menu-trigger-box { cursor: pointer; }
.menu-trigger .menu-trigger-box::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
}

/* Menü ayraç çizgisi ince kalsın */
.ed-separator hr.bg-primary { height: 2px !important; }

/* --- Gövde metni: iki yana yaslı yerine sola hizalı --- */
.ed-text p[style*="justify"],
.ed-text div[style*="justify"] { text-align: left !important; }

/* --- Bağlantı rengi --- */
.ed-text a { color: var(--zc-link); }

/* --- Haber/Duyuru tabloları: ağır çerçeve yerine sade liste görünümü --- */
.ed-text table thead th { background: var(--zc-navy) !important; }
.ed-text table thead h4 { color: #ffffff; margin: 0; }
.preset-table-v3-border-full .ed-text table,
.preset-table-v3-border-full .ed-text table td,
.preset-table-v3-border-full .ed-text table th {
  border-color: #dfe5ec !important;
}

/* --- Tüm içerik görselleri: yumuşak köşe, hale ve gölge --- */
.ed-image img,
.ed-text img {
  border-radius: 14px;
  box-shadow: 0 0 0 5px var(--zc-light), 0 8px 22px rgba(4, 44, 83, 0.16);
}
/* Akordeon (kitap kapağı vb.) görselleri: tema border-radius:0 dayatmasını ez */
/* --- Özgeçmiş fotoğrafı: yumuşak köşe, hale ve gölge (TR + EN) --- */
.float-container-image {
  text-shadow: none !important;
  width: fit-content !important;
  max-width: 48%;
}
.float-container-image img {
  border: none !important;
  border-radius: 14px;
  box-shadow: 0 0 0 5px var(--zc-light), 0 8px 22px rgba(4, 44, 83, 0.16);
  margin: 8px 22px 14px 8px;
}

/* ============================================================
   Ana sayfa tanıtım bölümü (zc-hero)
   ============================================================ */
.zc-hero {
  max-width: 1080px;
  margin: 28px auto 4px;
  padding: 0 20px;
}
.zc-hero-inner {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.zc-hero-photo {
  /* Arapça ana sayfadaki kırpma daha iyi duruyordu: object-position top
     yüzünü üst kenara yapıştırıyor, ortalanınca daha dengeli. Ölçü de
     oradaki gibi 118 px. */
  width: 118px;
  height: 118px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}
.zc-hero-text { flex: 1; min-width: 260px; }
.zc-hero-name-row {
  display: flex;
  align-items: center;
  gap: 12px;
}
/* Monogram kaldırıldı — 19.08.2026
   Hero'da fotoğrafın yanında bir "ZCA" monogramı duruyordu. İki sebeple
   gitti: (1) monogram adın yerine geçen bir işarettir, oysa adın kendisi
   hemen yanında H1 olarak yazılı ve yüz de zaten orada — üçü aynı şeyi
   söylüyordu; (2) açık mavisi sitenin lacivert paletine (#042C53, #0C447C,
   #185FA5) uymuyordu. Kuralın içindeki `opacity:.95; filter:saturate(.85)`
   bunu bastırma denemesiydi; uymayan rengi kısmak yerine öğe kaldırıldı.
   Aynı monogram ar/ ve fa/ ana sayfalarından da alındı. */
.zc-hero-name {
  font-family: var(--zc-serif);
  font-size: 1.7rem;
  color: var(--zc-navy-dark);
  margin: 0;
  line-height: 1.2;
  text-decoration: none;
  border-bottom: none;
}
.zc-hero-subtitle {
  font-size: 0.9rem;
  color: #5f6b78;
  margin: 4px 0 10px;
}
.zc-hero-intro {
  font-size: 0.95rem;
  color: #333;
  line-height: 1.6;
  margin: 0 0 12px;
}
.zc-hero-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.zc-hero-badges a {
  font-size: 0.78rem;
  background: var(--zc-light);
  color: var(--zc-navy) !important;
  padding: 4px 14px;
  border-radius: 12px;
  text-decoration: none;
  transition: background 0.15s;
}
.zc-hero-badges a:hover { background: #d2e6f9; }

@media screen and (max-width: 575px) {
  .zc-hero-inner { justify-content: center; text-align: center; }
  .zc-hero-name-row { justify-content: center; }
  .zc-hero-badges { justify-content: center; }
}

/* ============================================================
   DERS SAYFASI — 19.08.2026
   Ders sayfaları "dokümanlar" adını taşıyordu ama içlerinde tek bir doküman
   yoktu: üçü de yalnızca uygulama bağlantısı listeliyordu. Uygulamalar
   portala taşınınca liste iyice anlamsız kaldı. Sayfa artık dersin kendi
   bilgisini taşıyor: değerlendirme sistemi tabloyla açık açık, uygulamalar
   ise tıklanabilir kartlarla.

   Doldurulamayan bölüm SAYFAYA HİÇ KONMUYOR. "İzlence hazırlanıyor" yazan
   bir başlık, öğrenciye bilgi vermeyip yalnızca eksiği duyurur.
   ============================================================ */
.ders-ust { margin-bottom: 28px; }
.ders-ad {
  font-family: var(--zc-serif); font-size: 1.9rem; color: var(--zc-navy-dark);
  margin: 0; line-height: 1.15;
}
.ders-bolum { margin-top: 34px; }
.ders-bolum h2 {
  font-family: var(--zc-serif); font-size: 1.15rem; color: var(--zc-navy-dark);
  margin: 0 0 6px; padding-bottom: 8px; border-bottom: 1px solid #dfe5ec;
}
.ders-aciklama { font-size: 0.92rem; color: #4f5b68; margin: 10px 0 16px; max-width: 62ch; }

/* Değerlendirme tablosu */
.ders-not { color: #6b7787; font-weight: 400; }
.ders-gizli { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* Uygulama kartları — portaldaki kartın aynı mantığı: kartın tamamı bağlantı */
.ders-tumu { margin-top: 14px; font-size: 0.88rem; }

@media (max-width: 560px) {
  .ders-ad { font-size: 1.5rem; }
  }

/* ═══════════════════════════════════════════════════════════════════════════
   Canlı sayfa ölçümünden çıkan düzeltmeler — 23.08.2026
   Aşağıdaki üç madde tarayıcıda ölçülerek bulundu, kaynak okunarak değil.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Menü şeridi. İKİ SORUN: (1) Şerit sayfayla birlikte kayıp gidiyordu; 80 px
   yer kaplayan gezinme, ilk ekrandan sonra tamamen kayboluyordu. (2) Şeridin
   iç genişliği 960 px, içeriğinki 976 px'ti; menü içeriğe göre 8 px kayıktı.
   Göz bunu "biraz eğri" diye okur, sebebini bulamaz. İkisi de burada. */
.ed-element.menu-wrapper {
  position: sticky;
  top: 0;
  z-index: 50;
  background: #ffffff;
  box-shadow: 0 1px 0 rgba(12, 68, 124, 0.12);
}
.ed-element.menu-wrapper > .inner {
  max-width: 976px;
  padding-left: 16px;
  padding-right: 16px;
}

/* Haber/Duyuru panel başlıkları. Dolu lacivert zemin + 24 px serif + harf
   aralığı ile sayfanın en ağır iki öğesiydiler; işaretlemede h4, ekranda ise
   27 px'lik H1 ile yarışıyorlardı. Ziyaretçinin gözü önce "HABERLER"e, sonra
   sayfa sahibinin adına gidiyordu — akademik bir sayfada olması gerekenin
   tersi. Şerit kaldırıldı, yerine lacivert metin + ince alt çizgi. */
.ed-text table thead th {
  background: transparent !important;
  border-bottom: 2px solid var(--zc-navy) !important;
  padding: 0 0 8px !important;
}
.ed-text table thead h4 {
  color: var(--zc-navy) !important;
  font-size: 18px !important;
  font-weight: 600;
  letter-spacing: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Telefon düzeltmeleri — 23.08.2026, canlı sayfa 375 px'te ölçülerek
   Öğrenciler ve ziyaretçiler siteye ağırlıkla telefondan giriyor.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 975px) {
  /* Menü şeridi 80 px'ti ve yapışkan olduğu için bu yükseklik kalıcıydı —
     812 px'lik bir ekranın onda biri. İçinde de yalnızca sağdaki hamburger
     vardı; sol taraf bomboştu. Yüksekliği sayfa içi tema stili kimlik
     seçicisiyle (#ed-… { height: 80px }) dayatıyor, o yüzden !important
     gerekiyor. */
  .menu-wrapper { height: auto !important; }
  /* Dolgu !important olmadan yazilinca temanin 16 px'lik kurali kazaniyor ve
     serit yine 80 px'e cikiyor (48 px icerik + 16 + 16). */
  .menu-wrapper > .inner {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  /* Boş sol tarafa ad geliyor: şerit yapışkan olduğu için sayfa kaydıkça
     kullanıcı nerede olduğunu görmeye devam ediyor. */
  .menu-wrapper .mobile-cont::before {
    content: "Zeynep Cevahir Altıntaş";
    margin-right: auto;
    align-self: center;
    font-family: var(--zc-serif);
    font-size: 15px;
    font-weight: 600;
    color: var(--zc-navy);
    white-space: nowrap;
  }

  /* Ayraç çizgisi şeridin ortasından geçiyor ve hiçbir şeyi ayırmıyordu. */
  .menu-wrapper .ed-separator { display: none; }

  /* Hamburger 30×3 px'lik bir dokunma alanıydı. Dikkat: düğmenin KENDİSİ
     ortadaki çizgi (background ile çiziliyor); büyütünce koyu bir bloğa
     dönüşüyor. Zemin şeffaflaşıyor, üç çizgi tek sözde öğeyle çiziliyor.
     Seçici .menu-trigger-box ile başlıyor: temanın kuralı daha özgül ve
     tek sınıfla yazılan kuralı eziyordu. */
  .menu-trigger-box .menu-trigger-inner {
    min-width: 44px !important;
    min-height: 44px !important;
    background: transparent !important;
    position: relative !important;
    border: 0 !important;
    padding: 0 !important;
  }
  .menu-trigger-box .menu-trigger-inner::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    width: 26px !important;
    height: 3px !important;
    margin: -1.5px 0 0 -13px !important;
    background: var(--zc-navy-dark) !important;
    border-radius: 2px !important;
    box-shadow: 0 -8px 0 var(--zc-navy-dark), 0 8px 0 var(--zc-navy-dark) !important;
  }
  .menu-trigger-box .menu-trigger-inner::after { display: none !important; }
  .menu-trigger-box { display: flex; align-items: center; justify-content: flex-end; }

  /* Açılan menü tam ekranı kaplıyor ve temanın varsayılan gök mavisiyle
     (#3A9BD5) geliyordu — sitede hiçbir yerde kullanılmayan bir renk.
     Denetim raporunun "dördüncü mavi" dediği ton tam olarak burada
     görünüyordu. Menü artık sitenin laciverti, yazılar beyaz. */
  .ed-element.preset-menu-v2-default .ed-menu.wv-custom {
    background: var(--zc-navy-dark) !important;
  }
  .ed-element.preset-menu-v2-default .ed-menu.wv-custom a.button {
    color: #ffffff !important;
  }
  .ed-element.preset-menu-v2-default .ed-menu.wv-custom .sub {
    background: transparent !important;
    border-color: rgba(255, 255, 255, 0.28) !important;
  }
  .ed-element.preset-menu-v2-default .ed-menu.wv-custom .sub a.button {
    color: rgba(255, 255, 255, 0.82) !important;
  }
  .ed-language a.language { min-width: 44px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Birleştirilmiş sayfalar — 23.08.2026
   Yayınlar, Akademik Faaliyetler ve Ders Materyalleri artık tek sayfa; alt
   sayfalar bölüm oldu. Menüdeki üç açılır liste (4+7+3 madde) kalktı.
   NEDEN: Telefonda açılır menü iki dokunuş istiyor ve yedi maddelik liste tek
   ekrana sığmıyordu; masaüstünde de menü gereksiz derinleşmişti.
   ═══════════════════════════════════════════════════════════════════════════ */

/* Bölüm şeridi: sayfa kaydıkça üstte kalır, hangi bölümde olunduğunu ve
   nereye geçilebileceğini gösterir. Menü şeridi 64 px olduğu için altına
   yapışıyor. */
.zc-bolum-serit {
  position: sticky;
  top: 64px;
  z-index: 40;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  max-width: 976px;
  margin: 0 auto 32px;
  padding: 10px 16px;
  background: #F7FAFD;
  border: 1px solid #E6F1FB;
  border-radius: 10px;
}
.zc-bolum-serit a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--zc-light);
  color: var(--zc-navy);
  font-size: 14px;
  text-decoration: none;
}
.zc-bolum-serit a:hover,
.zc-bolum-serit a:focus-visible {
  background: var(--zc-link);
  color: #ffffff;
}

.zc-bolum { scroll-margin-top: 124px; }   /* menü + bölüm şeridi kadar */
.zc-bolum-baslik {
  max-width: 976px;
  margin: 44px auto 4px;
  padding: 0 16px;
  font-family: var(--zc-serif);
  font-size: 21px;
  font-weight: 600;
  color: var(--zc-navy);
}
.zc-bolum-baslik::after {
  content: "";
  display: block;
  height: 2px;
  background: var(--zc-light);
  margin-top: 10px;
}
.zc-basa-don {
  max-width: 976px;
  margin: 8px auto 0;
  padding: 0 16px;
  text-align: right;
  font-size: 13px;
}

@media (max-width: 975px) {
  /* Dar ekranda şerit yatay kayar; sarmalanıp üç satır olmasındansa tek
     satırda kalıp kaydırmak daha derli toplu duruyor. */
  .zc-bolum-serit {
    top: 56px;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-radius: 0;
    border-left: 0;
    border-right: 0;
    margin-bottom: 24px;
  }
  .zc-bolum-serit a { white-space: nowrap; min-height: 44px; }
  .zc-bolum { scroll-margin-top: 116px; }
  .zc-bolum-baslik { margin-top: 32px; font-size: 19px; }
}

/* Süreklilik taşıyan görevler tek kayıt. Dergi editörlüğü her sayı için ayrı
   satır olarak yazılıyordu (beş kez "Dergiabant – Alan Editörü, Cilt …");
   görev sürekli, her sayı ayrı bir başarı değil. Sayı bağlantıları korunuyor
   ki erişim kaybolmasın. */
.zc-gorev {
  max-width: 976px;
  margin: 0 auto;
  padding: 20px 16px;
  border: 1px solid var(--zc-light);
  border-radius: 10px;
}
.zc-gorev-ad {
  margin: 0 0 6px;
  font-family: var(--zc-serif);
  font-size: 19px;
  font-weight: 600;
  color: var(--zc-navy-dark);
}
.zc-gorev-rol { margin: 0 0 8px; font-size: 16px; color: #1B2A4A; }
.zc-gorev-not { margin: 0 0 12px; font-size: 14px; line-height: 1.6; color: #5A6C86; }
.zc-gorev-sayilar { margin: 0; font-size: 14px; color: #5A6C86; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.zc-gorev-sayilar a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 4px 12px;
  border-radius: 6px;
  background: var(--zc-light);
  color: var(--zc-navy);
  text-decoration: none;
}
.zc-gorev-sayilar a:hover { background: var(--zc-link); color: #ffffff; }

/* Kitap tanıtım videoları. Sayfanın yarısını kaplıyorlardı; oysa kayıt
   künyesi asıl içerik, video ek. Küçük ve 16:9 oranında duruyor, oynatıcının
   kendi tam ekran düğmesi isteyene büyütüyor. */
.zc-bolum .ed-youtube {
  max-width: 320px;
  margin-left: 0;
}
.zc-bolum .ed-youtube .iframe-holder,
.zc-bolum .ed-youtube iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border-radius: 6px;
}
@media (max-width: 560px) {
  /* Telefonda 320 px zaten ekranın büyük kısmı; tam genişlik daha okunaklı. */
  .zc-bolum .ed-youtube { max-width: 100%; }
}

/* Her hesabın küçük bir harf rozeti var: iD, GS, RG, GH, DP, YÖK…
   NEDEN HARF, MARKA İKONU DEĞİL: ORCID, ResearchGate, GitHub ve Google
   Scholar'ın hazır ikonları var; YÖK Akademik, BAİBÜ, DergiPark, Zenodo ve
   Academia'nınkiler yok. Karışık kullanmak, denetimde "tek altbilgide dört
   ikon ailesi" diye işaretlenen duruma geri dönmek olurdu. Tek sistem: aynı
   boyut, aynı biçim, aynı renk. */
.zc-rozet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 20px;
  margin-right: 8px;
  padding: 0 5px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Yayın kartları ve atıf kutusu — 23.08.2026
   Liste yayinlar.bib'ten üretiliyor; künye, atıf biçimleri ve liste tek
   kaynaktan geliyor. Atıf kutusu <details> öğesi: JavaScript çalışmasa da
   açılıp kapanıyor, kopyalama düğmesi ek kolaylık.
   ═══════════════════════════════════════════════════════════════════════════ */
.zc-yayin-listesi { max-width: 976px; margin: 0 auto; padding: 0 16px; display: flex; flex-direction: column; gap: 14px; }
.zc-yayin {
  border: 1px solid var(--zc-light);
  border-radius: 10px;
  padding: 18px 20px;
}
.zc-yayin-baslik {
  margin: 0 0 8px;
  font-family: var(--zc-serif);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--zc-navy-dark);
}
.zc-yayin-kunye { margin: 0 0 10px; font-size: 14px; line-height: 1.65; color: #5A6C86; }
.zc-yayin-baglantilar { margin: 0 0 10px; display: flex; flex-wrap: wrap; gap: 8px; }
.zc-yayin-baglantilar a,
.zc-kunye-etiket {
  display: inline-flex; align-items: center; min-height: 32px;
  padding: 4px 12px; border-radius: 6px;
  background: var(--zc-light); color: var(--zc-navy);
  font-size: 13px; text-decoration: none;
}
.zc-yayin-baglantilar a:hover { background: var(--zc-link); color: #fff; }

/* "Atıf" düğmesi kendi satırında ve komşu etiketlerden bir ölçü büyük
   duruyordu; künye etiketleriyle aynı satıra ve aynı ölçüye alındı.
   Kutu açılınca tam satıra geçiyor, böylece metin daralmıyor. */
.zc-yayin-eylem { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.zc-yayin-eylem .zc-yayin-baglantilar { display: contents; }
.zc-atif { flex: 0 0 auto; }
.zc-atif[open] { flex: 1 0 100%; }
.zc-atif > summary {
  /* summary temada content-box: min-height 32'ye 8 dolgu + 2 kenarlık
     ekleniyor, düğme 42 px oluyordu; etiketler 32 px. Aynı ölçü için
     kutu modeli eşitlendi. */
  box-sizing: border-box;
  display: inline-flex; align-items: center; min-height: 32px;
  padding: 4px 12px; border-radius: 6px;
  background: #ffffff; border: 1px solid #CFE1F5;
  color: var(--zc-navy); font-size: 13px; font-weight: 600;
  cursor: pointer; list-style: none;
}
.zc-atif > summary::-webkit-details-marker { display: none; }
.zc-atif > summary::before { content: "❞"; margin-right: 6px; opacity: .7; }
.zc-atif[open] > summary { background: var(--zc-light); }
.zc-atif-ic { margin-top: 12px; display: flex; flex-direction: column; gap: 12px; }
.zc-atif-ust { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.zc-atif-ad { font-size: 13px; font-weight: 600; color: var(--zc-navy); letter-spacing: .02em; }
.zc-kopyala {
  min-height: 32px; padding: 4px 12px;
  border: 1px solid #CFE1F5; border-radius: 6px;
  background: #fff; color: var(--zc-link);
  font-family: inherit; font-size: 13px; cursor: pointer;
}
.zc-kopyala:hover { background: var(--zc-link); color: #fff; border-color: var(--zc-link); }
.zc-kopyala[data-kopyalandi] { background: #F0FAF3; color: #14532D; border-color: #16A34A; }
.zc-atif-metin {
  margin: 0; padding: 12px 14px;
  background: #F7FAFD; border: 1px solid var(--zc-light); border-radius: 6px;
  font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  font-size: 12.5px; line-height: 1.6; color: #1B2A4A;
  white-space: pre-wrap; word-break: break-word;
}
.zc-bib-indir { max-width: 976px; margin: -20px auto 28px; padding: 0 16px; font-size: 13px; }

@media (max-width: 560px) {
  .zc-yayin { padding: 14px 16px; }
  .zc-yayin-baslik { font-size: 17px; }
  .zc-atif-metin { font-size: 12px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Özgeçmiş: iki görünüm — 24.08.2026
   Aynı bilgi iki biçimde: ANLATI okunmak, KRONOLOJİ taranmak için. Seçim
   radio + CSS ile yapılıyor; JavaScript kapalı olsa da çalışır.
   ═══════════════════════════════════════════════════════════════════════════ */
.zc-ozgecmis { max-width: 976px; margin: 0 auto; padding: 0 16px; }
.zc-gorunum-secim {
  display: inline-flex;
  gap: 4px;
  margin: 0 0 28px;
  padding: 4px;
  background: #F7FAFD;
  border: 1px solid var(--zc-light);
  border-radius: 999px;
}
.zc-ozgecmis > input[name="zc-gorunum"] { position: absolute; opacity: 0; pointer-events: none; }
.zc-gorunum-secim label {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 40px; padding: 6px 20px;
  border-radius: 999px;
  font-size: 15px; color: var(--zc-navy); cursor: pointer;
}
#zc-gorunum-anlati:checked ~ .zc-gorunum-secim label[for="zc-gorunum-anlati"],
#zc-gorunum-kronoloji:checked ~ .zc-gorunum-secim label[for="zc-gorunum-kronoloji"] {
  background: var(--zc-link);
  color: #ffffff;
  font-weight: 600;
}
#zc-gorunum-anlati:focus-visible ~ .zc-gorunum-secim label[for="zc-gorunum-anlati"],
#zc-gorunum-kronoloji:focus-visible ~ .zc-gorunum-secim label[for="zc-gorunum-kronoloji"] {
  outline: 2px solid var(--zc-navy);
  outline-offset: 2px;
}

/* Profil fotoğrafı eski metin bloğundaydı; blok silinince anlatının başına
   taşındı. Metnin yanında, sağa yaslı duruyor; dar ekranda üste geçiyor. */
/* Fotoğraf anlatının içinde: metnin başında, sola yaslı, yazı etrafından
   akıyor. Kronoloji görünümünde anlatı gizlendiği için fotoğraf da
   kendiliğinden kalkıyor — zaman çizgisinin yanında asılı kalmıyor. */

.zc-ozgecmis-foto img { width: 100%; height: auto; border-radius: 10px; display: block; }
.zc-kron-sarmal { display: none; }
#zc-gorunum-kronoloji:checked ~ .zc-kron-sarmal { display: block; }
#zc-gorunum-kronoloji:checked ~ .zc-anlati { display: none; }

/* 24.08.2026 — fotoğraf metnin içinde: ızgara denendi ama fotoğrafın
   altındaki sütun boş kalıyordu ve metin sağda dar bir blok gibi
   duruyordu. Akışa dönüldü: fotoğraf sola yaslı, metin etrafından dönüp
   altından devam ediyor. Ölçü 820 px'te tutuluyor — 944 px'lik sütunun
   tamamı satır başına 100 karaktere çıkıyor, okuması yoruyor. */
.zc-anlati { max-width: 830px; }
.zc-anlati p { margin: 0 0 18px; font-size: 17px; line-height: 1.8; color: #1B2A4A; }
.zc-ozgecmis-foto {
  float: left;
  width: 196px;
  margin: 4px 26px 14px 0;
  shape-outside: inset(0 round 10px);
}
@media (max-width: 620px) {
  .zc-ozgecmis-foto { width: 140px; margin: 0 18px 10px 0; }
}
.zc-anlati em { font-style: italic; }

.zc-kronoloji { list-style: none; margin: 0; padding: 0; position: relative; }
/* Dikey ray: yıl işaretlerinin ortasından geçer. */
.zc-kronoloji::before {
  content: "";
  position: absolute;
  left: 43px; top: 8px; bottom: 8px;
  width: 2px;
  background: linear-gradient(180deg, var(--zc-light), #CFE1F5 40%, var(--zc-light));
}
.zc-kron-yil { position: relative; display: grid; grid-template-columns: 88px 1fr; gap: 24px; padding: 0 0 26px; }
.zc-kron-isaret { position: relative; display: flex; justify-content: center; }
.zc-kron-yil-ad {
  position: relative; z-index: 1;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 68px; height: 34px;
  border-radius: 999px;
  background: var(--zc-navy-dark); color: #ffffff;
  font-family: var(--zc-serif); font-size: 16px; font-weight: 600;
  box-shadow: 0 0 0 5px #ffffff;
}
.zc-kron-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.zc-kron-oge {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px 16px;
  border: 1px solid var(--zc-light);
  border-radius: 10px;
  background: #ffffff;
}

/* Beliriş animasyonu OPT-IN: kartlar varsayılan olarak görünür. Saydamlığı
   yalnızca JavaScript .zc-animasyonlu sınıfını ekleyince başlatıyoruz.
   NEDEN: ilk sürümde kartlar CSS'te opacity:0 ile başlıyordu ve görünür
   olmaları JavaScript'e bağlıydı; betik çalışmazsa kronoloji bomboş
   görünüyordu. Süs, içeriğin önüne geçmemeli. */
.zc-kronoloji.zc-animasyonlu .zc-kron-oge {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s ease, transform .5s ease;
}
.zc-kronoloji.zc-animasyonlu .zc-kron-oge.zc-gorunur { opacity: 1; transform: none; }
.zc-kron-tur {
  flex-shrink: 0;
  display: inline-flex; align-items: center; gap: 6px;
  /* "Bilimsel Etkinlik" en uzun etiket; hepsi aynı genişlikte dursun diye
     ölçü ona göre. Dar ekranda etiket üste geçtiği için orada serbest. */
  min-width: 142px;
  padding: 4px 10px;
  border-radius: 6px;
  background: var(--zc-light); color: var(--zc-navy);
  font-size: 12px; font-weight: 600;
}
.zc-kron-ikon { display: inline-flex; }
.zc-kron-ikon svg { width: 15px; height: 15px; }
.zc-kron-metin { font-size: 15px; line-height: 1.6; color: #1B2A4A; padding-top: 2px; }

/* Tür renkleri: aynı ailenin tonları, birbirini bastırmadan ayrışsın. */
.zc-tur-yayin .zc-kron-tur { background: #DCE9F8; }
.zc-tur-gorev .zc-kron-tur { background: var(--zc-navy-dark); color: #ffffff; }
.zc-tur-ogretim .zc-kron-tur { background: #EFF5FB; }
.zc-tur-etkinlik .zc-kron-tur { background: #F2F7FC; }

@media (prefers-reduced-motion: reduce) {
  .zc-kronoloji.zc-animasyonlu .zc-kron-oge { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 560px) {
  .zc-anlati p { font-size: 16px; line-height: 1.7; }
  /* Dar ekranda ray sola yapışır, yıl rozetiyle hizalanır. */
  .zc-kronoloji::before { left: 15px; }
  .zc-kron-yil { grid-template-columns: 1fr; gap: 12px; padding-bottom: 20px; }
  .zc-kron-isaret { justify-content: flex-start; }
  .zc-kron-yil-ad { min-width: 60px; height: 30px; font-size: 15px; }
  .zc-kron-liste { padding-left: 4px; }
  .zc-kron-oge { flex-direction: column; gap: 8px; padding: 12px 14px; }
  .zc-kron-tur { align-self: flex-start; }
}

/* Hesap işaretleri — 24.08.2026
   ORCID, GitHub, ResearchGate, Google Scholar, Academia ve Zenodo'nun RESMÎ
   marka işaretleri kullanılıyor (tek renkli, 24×24 çerçeve; simple-icons).
   YÖK Akademik, BAİBÜ ve DergiPark'ın böyle bir tek renkli işareti olmadığı
   için onlar harf rozetinde kalıyor. İkisi de aynı kutunun içinde durduğu
   için sıra tek sistem gibi okunuyor: aynı ölçü, aynı köşe, aynı hiza. */
.zc-rozet-ikon { padding: 0; min-width: 24px; }
.zc-rozet svg { width: 14px; height: 14px; fill: currentColor; display: block; }

/* YÖK Akademik, BAİBÜ ve DergiPark'ın tek renkli vektör işareti yok; resmî
   site simgeleri (favicon) kullanılıyor. Renkli oldukları için lacivert
   zeminde beyaz bir daire içine alınıyorlar — böylece diğer işaretlerle
   aynı ağırlıkta duruyorlar. */
.zc-rozet-gorsel {
  padding: 0;
  min-width: 22px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #ffffff;
}
.zc-rozet-gorsel img { width: 16px; height: 16px; object-fit: contain; display: block; }

/* Ana sayfa haber paneli — 24.08.2026
   Duyurular paneli kaldırılınca yanındaki Haberler paneli 928 px'e
   yayıldı; tek başına bu genişlikte satırlar okumak için fazla uzun ve
   bölüm "yarısı eksik kalmış" gibi duruyordu. Panel ortalanıp okunaklı
   bir ölçüye çekildi. */
/* ═══════════════════════════════════════════════════════════════════════════
   ALTBİLGİ — 24.08.2026, sıfırdan
   Tema altbilgisi dört kat sarmalayıcı, sayfaya gömülü kimlik kuralları
   (#ed-… > .inner{align-items:flex-end}) ve sıra numarasına bağlı
   seçicilerle geliyordu; her düzeltme başka bir yeri bozuyordu. Bütün
   işaretleme atıldı, yerine tek bir <footer class="zc-alt"> kondu.
   Düzeni yalnızca buradaki kurallar belirliyor; temanın tutunabileceği
   hiçbir sınıf kalmadı.
   Üç sütun: marka | iletişim | akademik hesaplar. Üçü de aynı çizgiden
   başlar (align-items: start), başlıkların altında aynı ince çizgi vardır,
   satır yükseklikleri aynıdır. Altta ince bir şerit: telif ve künye
   dosyası.
   ═══════════════════════════════════════════════════════════════════════════ */
.zc-alt {
  background: #042C53;
  color: #ffffff;
  font-family: var(--zc-sans);
  font-size: 14px;
  line-height: 1.55;
}
.zc-alt-ic {
  max-width: 1040px;
  margin: 0 auto;
  padding: 52px 24px 34px;
  display: grid;
  /* Sol sütunda yalnızca logo var; ad ve unvan zaten sayfanın başlığında
     yazıyor, altbilgide tekrarlamaya gerek yok. O yüzden bu sütun dar. */
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 48px;
}
.zc-alt a { color: #ffffff; text-decoration: none; }
.zc-alt a:hover,
.zc-alt a:focus-visible { text-decoration: underline; }
.zc-alt a:focus-visible { outline: 2px solid #ffffff; outline-offset: 3px; border-radius: 3px; }

/* Marka sütunu */
.zc-alt-logo { width: 84px; height: auto; display: block; }
/* Logo sütununda tek bir öğe var; sütun boyunca dikeyde ortalanınca
   altbilgi tek blok gibi okunuyor. Diğer iki sütun başlıkla başladığı
   için onlar üstten hizalı kalıyor. */
.zc-alt-marka { align-self: center; }
.zc-alt-sosyal { display: flex; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.zc-alt-sosyal a {
  width: 36px; height: 36px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.10);
}
.zc-alt-sosyal a:hover { background: rgba(255, 255, 255, 0.22); text-decoration: none; }
/* Daire 36px'lik tasarımını koruyor; dokunma alanı görünmeden 44px'e çıkıyor
   (WCAG 2.5.8 — 24.08.2026). */
.zc-alt-sosyal a { position: relative; }
.zc-alt-sosyal a::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; }
.zc-alt-sosyal svg { width: 15px; height: 15px; fill: currentColor; }

/* Başlıklar: üç sütunda da aynı çizgi */
.zc-alt-baslik {
  /* Rengi açıkça yazmak şart: yazılmazsa temanın h2 kuralı devralıyor ve
     başlıklar lacivert zeminde açık maviye dönüyor (kontrast 4,2:1). */
  color: #ffffff;
  margin: 0 0 14px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.20);
  font-family: var(--zc-serif);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.zc-alt-liste, .zc-alt-hesap { margin: 0; padding: 0; list-style: none; }
.zc-alt-liste li,
.zc-alt-hesap a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 32px;
}
.zc-alt-liste svg { width: 14px; height: 14px; fill: rgba(255, 255, 255, 0.60); flex-shrink: 0; }
.zc-alt-hesap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 24px;
}

/* Hesap rozetleri: ORCID, GitHub, ResearchGate, Google Scholar, Academia ve
   Zenodo'nun resmî tek renkli işaretleri; YÖK Akademik, BAİBÜ ve DergiPark'ın
   böyle bir işareti olmadığı için onlar site simgesiyle duruyor. Ölçü, köşe
   ve hiza üçünde de aynı. */
.zc-rozet {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 22px;
  padding: 0 5px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
  font-size: 11px;
  font-weight: 600;
  flex-shrink: 0;
}
.zc-alt-hesap a:hover .zc-rozet { background: rgba(255, 255, 255, 0.26); }
.zc-rozet-ikon { padding: 0; min-width: 24px; }
.zc-rozet svg { width: 14px; height: 14px; fill: currentColor; display: block; }
.zc-rozet-gorsel {
  padding: 0;
  min-width: 22px; width: 22px; height: 22px;
  border-radius: 50%;
  background: #ffffff;
}
.zc-rozet-gorsel img { width: 16px; height: 16px; object-fit: contain; display: block; }

/* Alt şerit */
.zc-alt-serit {
  max-width: 1040px;
  margin: 0 auto;
  padding: 15px 24px 30px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 20px;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.68);
}
.zc-alt-serit p { margin: 0; }

@media (max-width: 900px) {
  /* Üç sütun sığmıyor: marka üstte tam genişlik, altında iki sütun. */
  .zc-alt-ic { grid-template-columns: auto minmax(0, 1fr); gap: 28px 32px; padding: 40px 20px 28px; }
  .zc-alt-hesaplar { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  /* Telefon: her şey tek sütun, dokunma hedefleri 44 px. */
  .zc-alt-ic { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .zc-alt-hesaplar { grid-column: 1; }
  .zc-alt-hesap { grid-template-columns: minmax(0, 1fr); }
  .zc-alt-liste li, .zc-alt-hesap a { min-height: 44px; }
  .zc-alt-serit { padding-bottom: 34px; }
}

/* Üst şerit adı — 24.08.2026
   Ad, ana sayfada hem şeritte hem büyük başlıkta yazıyordu. Şeritteki
   kaldı (her sayfada site kimliği), ana sayfadaki büyük başlık görsel
   olarak kaldırıldı; H1 olarak yapıda duruyor çünkü ekran okuyucular ve
   arama motorları için sayfanın başlığı odur. */
.zc-ust-ad { margin: 0; font-family: var(--zc-serif); font-size: 15px; line-height: 1.2; }
.zc-ust-ad a { color: #ffffff; text-decoration: none; }
.zc-ust-ad a:hover, .zc-ust-ad a:focus-visible { text-decoration: underline; }
.zc-gizli {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 575px) {
  /* Dar ekranda şerit yalnızca dil seçimini taşıyor; ad menünün altındaki
     başlıkta zaten görünüyor. */
  .zc-ust-ad { font-size: 14px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ANA SAYFA BÖLÜMLERİ — 24.08.2026
   Ana sayfa bir haber tablosundan ibaretti. Şimdi dört bölüm var: öne çıkan
   yayınlar, bu dönemin dersleri, dijital uygulamalar ve üç satırlık son
   gelişmeler. Hepsi aynı kalıpta: solda başlık, sağda "hepsini gör"
   bağlantısı, altında liste.
   ═══════════════════════════════════════════════════════════════════════════ */
.zc-ana { max-width: 1040px; margin: 0 auto; padding: 8px 24px 48px; }
.zc-ana-bolum { margin-top: 40px; }
.zc-ana-bolum:first-child { margin-top: 24px; }
.zc-ana-baslik {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #DCE6F1;
  margin-bottom: 18px;
}
.zc-ana-baslik h2 {
  margin: 0;
  font-family: var(--zc-serif);
  font-size: 20px;
  color: var(--zc-navy-dark);
}
.zc-ana-baslik a { font-size: 14px; color: var(--zc-link); text-decoration: none; white-space: nowrap; }
.zc-ana-baslik a:hover, .zc-ana-baslik a:focus-visible { text-decoration: underline; }
.zc-ana-not { margin: 12px 0 0; font-size: 13px; color: #5B6B7C; }

/* Öne çıkan yayınlar */
.zc-one-liste { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.zc-one-kart {
  border: 1px solid #E3EAF2;
  border-radius: 10px;
  padding: 16px 18px;
  background: #FFFFFF;
}
.zc-one-kart h3 {
  margin: 0 0 6px;
  font-family: var(--zc-serif);
  font-size: 16px;
  line-height: 1.35;
  color: var(--zc-navy-dark);
}
.zc-one-kunye { margin: 0 0 10px; font-size: 13px; line-height: 1.5; color: #5B6B7C; }
.zc-one-bag { margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.zc-one-bag a, .zc-uyg-kart, .zc-haber-liste a { text-decoration: none; }
.zc-one-bag a {
  font-size: 13px;
  padding: 5px 11px;
  border-radius: 999px;
  background: var(--zc-light);
  color: var(--zc-navy);
}
.zc-one-bag a:hover, .zc-one-bag a:focus-visible { background: #D3E4F6; }

/* Dersler */
.zc-ders-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 24px; }
.zc-ders-liste li { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-bottom: 1px solid #EEF3F8; }
.zc-ders-ad { font-size: 15px; color: #1A2733; }
.zc-ders-yer { font-size: 13px; color: #5F6B78; }

/* Uygulamalar */
.zc-uyg-liste { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.zc-uyg-kart {
  display: flex; flex-direction: column; gap: 6px;
  padding: 16px 18px;
  border: 1px solid #E3EAF2;
  border-radius: 10px;
  background: #FFFFFF;
  color: inherit;
}
.zc-uyg-kart:hover, .zc-uyg-kart:focus-visible { border-color: var(--zc-navy); background: #FAFCFF; }
.zc-uyg-ad { font-family: var(--zc-serif); font-size: 15px; color: var(--zc-navy-dark); }
.zc-uyg-aciklama { font-size: 13px; line-height: 1.5; color: #5B6B7C; }

/* Son gelişmeler */
.zc-haber-liste { list-style: none; margin: 0; padding: 0; }
.zc-haber-liste li { display: flex; gap: 14px; padding: 11px 0; border-bottom: 1px solid #EEF3F8; font-size: 14px; }
.zc-haber-tarih { flex: 0 0 108px; color: #5F6B78; font-size: 13px; }
.zc-haber-liste a { color: var(--zc-link); }
.zc-haber-liste a:hover, .zc-haber-liste a:focus-visible { text-decoration: underline; }

@media (max-width: 820px) {
  .zc-uyg-liste { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  /* Telefon: her şey tek sütun, tarih satırın üstüne geçer. */
  .zc-ana { padding: 4px 16px 36px; }
  .zc-one-liste, .zc-ders-liste, .zc-uyg-liste { grid-template-columns: minmax(0, 1fr); }
  .zc-haber-liste li { flex-direction: column; gap: 3px; }
  .zc-haber-tarih { flex: none; }
  .zc-ana-baslik { flex-wrap: wrap; gap: 4px 12px; }
}

/* Atıf kutusundaki indirme satırı — 24.08.2026
   Künye biçimleri artık ekranda uzun metin olarak durmuyor; kaynakça
   programlarının tanıdığı dosyalar olarak iniyor. Ekranda kalan iki biçim
   ISNAD ve APA 7: ilki alanın standardı, ikincisi en sık istenen. */
.zc-atif-indir {
  margin: 12px 0 0;
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  font-size: 13px; color: #5B6B7C;
}
.zc-atif-indir a {
  padding: 6px 12px;
  border: 1px solid #D6E2EF;
  border-radius: 999px;
  background: #FFFFFF;
  color: var(--zc-navy);
  text-decoration: none;
}
.zc-atif-indir a:hover, .zc-atif-indir a:focus-visible { background: var(--zc-light); border-color: var(--zc-navy); }
@media (max-width: 560px) {
  .zc-atif-indir a { padding: 9px 14px; }
}

/* Kapaklı yayın kartı — 24.08.2026
   Kitapların ve bildiri özeti kitaplarının kapakları Kitaplar/Bildiri
   Özetleri sayfalarında duruyordu; Yayınlar sayfasına da alındı. Kapağı
   olmayan kayıt kapaksız görünür — yer tutucu koymuyoruz, boş çerçeve
   listeyi dağıtıyor. */
.zc-yayin-kapakli { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 18px; align-items: start; }
.zc-yayin-kapak {
  width: 92px; height: auto;
  border-radius: 4px;
  border: 1px solid #C2D2E4;   /* açık kapaklar beyaz kartta kaybolmasın */
  box-shadow: 0 1px 3px rgba(4, 44, 83, 0.12);
  display: block;
}
.zc-one-kapakli { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 14px; align-items: start; }
.zc-one-kapak {
  width: 72px; height: auto;
  border-radius: 3px;
  border: 1px solid #C2D2E4;   /* açık kapaklar beyaz kartta kaybolmasın */
  box-shadow: 0 1px 3px rgba(4, 44, 83, 0.12);
  display: block;
}
@media (max-width: 560px) {
  /* Telefonda kapak daha küçük; metnin genişliği okumaya yetsin. */
  .zc-yayin-kapakli { grid-template-columns: 68px minmax(0, 1fr); gap: 14px; }
  .zc-yayin-kapak { width: 68px; }
  .zc-one-kapakli { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; }
  .zc-one-kapak { width: 60px; }
}

/* Tipografik kart — 24.08.2026
   Makale ve ansiklopedi maddelerinde yayıncının kapağını kullanmıyoruz:
   dergi kapağı ve dizgili ilk sayfa yayıncının eseri, lisansı da belli
   değil. Yerine sitenin kendi diliyle kart: tür · kaynak · yıl. Görsel
   olmadığı için her ekranda net, dosya da yüklenmiyor. */
.zc-kapak-tipo {
  width: 92px;
  aspect-ratio: 420 / 618;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
  padding: 10px 9px;
  border-radius: 4px;
  background: linear-gradient(160deg, var(--zc-tur, #0C447C) 0%, var(--zc-tur-alt, #042C53) 100%);
  color: #ffffff;
  box-shadow: 0 1px 3px rgba(4, 44, 83, 0.18);
}
.zc-kapak-tur {
  font-size: 8px;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}
.zc-kapak-kaynak {
  font-family: var(--zc-serif);
  font-size: 11px;
  line-height: 1.25;
  hyphens: auto;
}
.zc-kapak-yil { font-size: 9px; color: rgba(255, 255, 255, 0.72); }
@media (max-width: 560px) {
  .zc-kapak-tipo { width: 68px; padding: 8px 7px; }
  .zc-kapak-kaynak { font-size: 10px; }
}

/* Ders satırında düzey etiketi (Lisans / Yüksek lisans) — 24.08.2026 */
.zc-ders-duzey {
  display: inline-block;
  margin-right: 8px;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--zc-light);
  color: var(--zc-navy);
  font-size: 11px;
}

/* Tema h4–h6'ya kendi yazı listesini yazıyor; başlık kutusunun kendisi
   düzelse de içindeki h6 eski yazıda kalıyordu (İngilizce yayın
   sayfalarında künye satırları böyleydi). h1–h3 serifli kalır. */
.ed-headline h4, .ed-headline h5, .ed-headline h6,
.ed-text h5, .ed-text h6 { font-family: var(--zc-sans); }

/* Gömülü araç sayfalarındaki serbest başlıklar (Not Hesaplama gibi) tema
   kutularının dışında durduğu için eski yazıda kalıyordu; site başlıkları
   Georgia olduğuna göre onlar da öyle. */
h1, h2, h3 { font-family: var(--zc-serif); }

/* Tür rengi — 24.08.2026
   Dört tür dört ayrı renkte: liste hızlı taranırken makale mi madde mi
   bildiri mi olduğu tek bakışta anlaşılıyor. Renkler sitenin lacivertiyle
   aynı koyulukta seçildi; beyaz metin hepsinde 7:1'in üstünde okunuyor.

   Renk KARTIN üzerinde tanımlı, tipografik kapağın değil: kapak görseli
   olan kayıtlarda (kitaplar, iki bildiri) tipografik kapak üretilmiyor ve
   tür rengi hiç görünmüyordu. Artık her kartın sol kenarında ince bir
   şerit var; kapaklı kapaksız fark etmiyor. Şerit de kapak zemini de aynı
   değişkenden besleniyor, renk tek yerde duruyor.

   Varsayılan lacivert: makalelerin rengi de o, listede olmayan bir tür
   çıkarsa da kenar boş kalmıyor. */
.zc-yayin { --zc-tur: #0C447C; --zc-tur-alt: #042C53; }
.zc-yayin[data-tur="incollection"]  { --zc-tur: #6A3A1E; --zc-tur-alt: #46240F; }
.zc-yayin[data-tur="inproceedings"] { --zc-tur: #14524A; --zc-tur-alt: #0A3B35; }
.zc-yayin[data-tur="book"]          { --zc-tur: #5A2B45; --zc-tur-alt: #3B1A2C; }

/* 1 px'lik açık kenarlığın yerine 4 px renkli; sol dolgu 3 px azaltıldı ki
   metin başlangıcı eskisiyle aynı hizada kalsın (4+17 = 1+20). */
.zc-yayin { border-left: 4px solid var(--zc-tur); padding-left: 17px; }

/* Ana sayfadaki öne çıkan yayın kartları da aynı şeridi taşıyor: ziyaretçinin
   ilk gördüğü yer orası ve dördü karışık türde (üç kitap, bir makale).
   Dolgusu 18 px olduğu için sol dolgu 15'e iniyor (4+15 = 1+18). */
.zc-one-kart { --zc-tur: #0C447C; }
.zc-one-kart[data-tur="incollection"]  { --zc-tur: #6A3A1E; }
.zc-one-kart[data-tur="inproceedings"] { --zc-tur: #14524A; }
.zc-one-kart[data-tur="book"]          { --zc-tur: #5A2B45; }
.zc-one-kart { border-left: 4px solid var(--zc-tur); padding-left: 15px; }


/* ─────────────────────────────────────────────────────────────────────────
   Akademik faaliyet kartları — 24.08.2026

   Sayfa tema bileşenleriyle kurulmuştu: bildiriler ve dersler düz <ul>,
   seminerler ve kurslar tema açılırı (accordion). Afişler ham hâlleriyle,
   her biri başka en-boy oranında alt alta diziliyordu; 431x537, 437x782,
   437x246... Sayfa bu yüzden derli toplu durmuyordu.

   Yeni düzen sitenin kendi diliyle: yayın kartıyla aynı kabuk (1 px açık
   kenarlık, 10 px yuvarlaklık), solda sabit ölçüde afiş karesi, yanında
   tür etiketi ve künye. Afişin oranı ne olursa olsun kart aynı boyda.

   Şerit YOK: sol renkli şerit yayınlar sayfasında TÜR anlamı taşıyor
   (makale/ansiklopedi/bildiri/kitap). Burada tür ayrımını bölüm başlıkları
   ve etiket yapıyor; şeridi burada da kullanmak onun anlamını sulandırırdı.
   ───────────────────────────────────────────────────────────────────────── */
.zc-etkinlik-liste { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.zc-etkinlik {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
  padding: 16px 18px;
  border: 1px solid var(--zc-light);
  border-radius: 10px;
  background: #FFFFFF;
}
/* Afişi olmayan kayıt yer tutucu göstermiyor; kart tek sütuna iniyor. */
.zc-etkinlik-afissiz { grid-template-columns: minmax(0, 1fr); }

/* Afiş karesi: en-boy oranı ne olursa olsun 92x92. object-position top,
   çünkü afişlerin başlığı ve kurum işareti üstte duruyor. */
.zc-etkinlik-afis {
  display: block;
  width: 92px;
  /* height:auto şart: img'nin height="92" niteliği sunum ipucu olarak
     yüksekliği sabitliyor ve aspect-ratio'yu eziyordu; dar ekranda kart
     68 px'e inince afiş 68x92'ye çarpılıyordu. */
  height: auto;
  aspect-ratio: 1;
  /* contain, cover değil: afişlerin doğal oranı 326x95 banner'dan 405x725
     dikey afişe kadar gidiyor. Kare kırpma banner'lardan ortadaki anlamsız
     bir şeridi gösteriyordu. contain ile hepsi bütün görünüyor, kare ayak
     izi aynı kalıyor; artan yer açık zeminle doluyor. */
  object-fit: contain;
  padding: 3px;
  border-radius: 6px;
  border: 1px solid #E3EAF2;
  background: #F7F9FC;
  box-shadow: 0 1px 3px rgba(4, 44, 83, 0.12);
}
.zc-etkinlik-afis-bag { display: block; text-decoration: none; }
.zc-etkinlik-afis-bag:hover .zc-etkinlik-afis,
.zc-etkinlik-afis-bag:focus-visible .zc-etkinlik-afis { border-color: var(--zc-navy); }
.zc-etkinlik-afis-not { display: block; margin-top: 5px; font-size: 11px; line-height: 1.3; color: #6B7787; text-align: center; }

.zc-etkinlik-govde { display: flex; flex-direction: column; gap: 6px; }
.zc-etkinlik-tur {
  align-self: flex-start;
  display: inline-flex; align-items: center;
  padding: 3px 9px;
  border-radius: 6px;
  background: var(--zc-light); color: var(--zc-navy);
  font-size: 12px; font-weight: 600;
}
.zc-etkinlik-tur-koyu { background: var(--zc-navy-dark); color: #FFFFFF; }
.zc-etkinlik-ad {
  margin: 0;
  font-family: var(--zc-serif);
  font-size: 16px; line-height: 1.35; font-weight: 600;
  color: var(--zc-navy-dark);
}
.zc-etkinlik-yer { margin: 0; font-size: 13px; line-height: 1.5; color: #5F6B78; }
.zc-etkinlik-not { margin: 0; font-size: 14px; line-height: 1.55; color: #3D4C5A; }

/* Bildiri ve görev künyeleri: afişsiz, tek sütun, künye tipografisi
   yayın kartlarındakiyle aynı olsun ki iki sayfa aynı sesle konussun. */
.zc-kunye-kart { padding: 14px 18px; }
.zc-kunye-metin { margin: 0; font-size: 14px; line-height: 1.6; color: #3D4C5A; }

/* Bildiri yayım durumu — 24.08.2026
   Beş bildirinin ikisinin özeti bildiri özetleri kitabında çıktı, üçü
   yalnızca sunuldu. Yayımlanan atıf alabilir ve dizinlenir; sunulan
   akademik olarak farklı ağırlıkta. Künyeden anlaşılmadığı için her
   kartta açıkça yazıyor. Yayımlanmış olan Yayınlar sayfasındaki künyeye
   bağlanıyor, oradan İSNAD/APA kopyalanabiliyor. */
.zc-bildiri-durum { margin: 8px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.zc-durum {
  display: inline-flex; align-items: center;
  padding: 2px 8px;
  border-radius: 4px;
  background: #EEF3F8; color: #5F6B78;
  font-size: 11.5px; font-weight: 600;
}
.zc-durum-yayin { background: #E2EFEA; color: #1F5A4C; }
.zc-durum-bag { font-size: 12.5px; color: var(--zc-navy); }

/* Dersler dönem dönem gruplanıyor; liste bileşeni ana sayfadakiyle aynı. */
.zc-donem { margin: 0 0 18px; }
.zc-donem:last-child { margin-bottom: 0; }
.zc-donem-baslik {
  margin: 0 0 8px;
  padding-bottom: 6px;
  border-bottom: 2px solid var(--zc-light);
  font-family: var(--zc-serif);
  font-size: 15px; font-weight: 600;
  color: var(--zc-navy-dark);
}
.zc-donem-sayi { margin-left: 8px; font-family: var(--zc-sans); font-size: 12px; font-weight: 400; color: #6B7787; }

@media (max-width: 560px) {
  .zc-etkinlik { grid-template-columns: 68px minmax(0, 1fr); gap: 12px; padding: 14px; }
  .zc-etkinlik-afis { width: 68px; }
  .zc-ders-liste { grid-template-columns: minmax(0, 1fr); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   DERS MATERYALLERİ SEKMELERİ — 24.08.2026
   Her ders bir sekme. Özgeçmişteki görünüm değiştirici radyo düğmesiyle
   çalışıyordu; burada :target kullanılıyor, çünkü her dersin kendi adresi
   olmalı: öğrenci "#farsca" bağlantısını paylaşabilsin, eski sayfalardan
   gelen 301 yönlendirmeleri (/tr/farsca → …#farsca) doğrudan o sekmeyi
   açsın. JavaScript yok.
   ═══════════════════════════════════════════════════════════════════════════ */
.zc-ders-sekmeler { max-width: 1040px; margin: 0 auto; padding: 0 24px 40px; }
.zc-sekme-serit {
  display: flex; flex-direction: column; gap: 10px;
  padding: 14px 0 18px;
  border-bottom: 1px solid #DCE6F1;
  margin-bottom: 22px;
}
/* Sekmeler artık <a> değil <label>: gizli radyo düğmesini işaretliyorlar.
   Bkz. scripts/ders-materyalleri.js — sayfanın kıpırdamaması için. */
.zc-sekme-serit label {
  display: inline-flex; align-items: center; min-height: 36px;
  padding: 4px 14px;
  border: 1px solid #D6E2EF; border-radius: 999px;
  background: #ffffff; color: var(--zc-navy);
  cursor: pointer;
  font-size: 14px; text-decoration: none;
}
.zc-sekme-serit label:hover { background: var(--zc-light); }

/* Şerit düğmesindeki materyal sayısı — 24.08.2026
   Yedi dersin ikisinde henüz materyal yok; ziyaretçi bunu ancak sekmeye
   tıklayıp boş kutuyu görünce anlıyordu. Sayı tıklamadan söylüyor.
   Etkin sekmede düğme lacivert zemine geçiyor, baloncuk açık kalıyor —
   kontrast iki durumda da yeterli. */
.zc-sekme-sayi {
  margin-left: 8px;
  min-width: 19px; height: 19px;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--zc-light); color: var(--zc-navy);
  font-size: 11px; font-weight: 600;
}
.zc-sekme-serit label.zc-sekme-dugme-bos { color: #5B6B7C; border-style: dashed; }
.zc-sekme-serit label.zc-sekme-dugme-bos .zc-sekme-sayi { background: #F1F5F9; color: #5B6B7C; }

/* Sekme paneli: yalnızca hedef olan görünür; hedef yoksa ilk ders açık.
   :has() desteklemeyen tarayıcıda hepsi alt alta görünür — bilgi kaybolmaz. */
.zc-ders-sekmeler > input[name="zc-ders"] { position: absolute; opacity: 0; pointer-events: none; }
.zc-sekme { display: none; }
/* Öncelik sırası: seçilmiş radyo (kuralları betik üretiyor) > adresteki
   hash (derin bağlantı) > ilk ders. Radyoların hiçbiri başlangıçta seçili
   olmadığı için /tr/farsca yönlendirmesi hâlâ doğru sekmeyi açıyor. */
body:not(:has(.zc-ders-sekmeler input:checked)) .zc-sekme:target { display: block; }
body:not(:has(.zc-ders-sekmeler input:checked)):not(:has(.zc-sekme:target)) .zc-sekme:first-of-type { display: block; }
/* Klavye: radyo gizli ama odaklanabilir; odak halkası etiketin üzerinde
   görünsün, yoksa sekmede gezinen kullanıcı nerede olduğunu göremez. */
/* Radyo gizli; odak halkasını BAĞLI OLDUĞU etiketin üzerinde gösteriyoruz.
   Önceki sürüm "outline: none" yazıp yerine bir şey koymuyordu; klavyeyle
   gezen kullanıcı hangi sekmede olduğunu göremiyordu (24.08.2026). */
.zc-ders-sekmeler > input[name="zc-ders"]:focus-visible + .zc-sekme-serit label,
.zc-ders-sekmeler > input[name="zc-ders"]:focus-visible ~ .zc-sekme-serit label { outline: none; }
#s-osmanli-turkcesi:focus-visible ~ .zc-sekme-serit label[for="s-osmanli-turkcesi"],
#s-diksiyon:focus-visible ~ .zc-sekme-serit label[for="s-diksiyon"],
#s-farsca:focus-visible ~ .zc-sekme-serit label[for="s-farsca"],
#s-klasik-metinler:focus-visible ~ .zc-sekme-serit label[for="s-klasik-metinler"],
#s-arastirma-teknikleri:focus-visible ~ .zc-sekme-serit label[for="s-arastirma-teknikleri"],
#s-ottoman-turkish:focus-visible ~ .zc-sekme-serit label[for="s-ottoman-turkish"],
#s-diction:focus-visible ~ .zc-sekme-serit label[for="s-diction"],
#s-persian:focus-visible ~ .zc-sekme-serit label[for="s-persian"] {
  outline: 3px solid var(--zc-navy);
  outline-offset: 2px;
}
@supports not selector(:has(*)) {
  .zc-sekme { display: block; border-top: 1px solid #EEF3F8; padding-top: 12px; }
}

.zc-sekme-baslik {
  margin: 0 0 16px;
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 10px;
  font-family: var(--zc-serif); font-size: 22px; color: var(--zc-navy-dark);
}
.zc-sekme-duzey {
  padding: 2px 9px; border-radius: 999px;
  background: var(--zc-light); color: var(--zc-navy);
  font-family: var(--zc-sans); font-size: 12px;
}
.zc-materyal-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.zc-materyal-liste a {
  display: flex; flex-direction: column; gap: 4px;
  height: 100%;
  padding: 14px 16px;
  border: 1px solid #E3EAF2; border-radius: 10px;
  background: #ffffff; color: inherit; text-decoration: none;
}
.zc-materyal-liste a:hover, .zc-materyal-liste a:focus-visible { border-color: var(--zc-navy); background: #FAFCFF; }
.zc-materyal-ad { font-family: var(--zc-serif); font-size: 15px; color: var(--zc-navy-dark); }
.zc-materyal-aciklama { font-size: 13px; line-height: 1.5; color: #5B6B7C; }
/* Şeritte düzey grupları — 24.08.2026
   Yedi ders tek sırada dizilince lisans dersiyle yüksek lisans dersi ayırt
   edilemiyordu. Artık iki satır: her satırın başında düzey adı, içinde o
   düzeyin dersleri alfabetik. */
.zc-sekme-grup { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.zc-sekme-grup-ad {
  min-width: 92px;
  font-family: "IBM Plex Mono", ui-monospace, monospace;
  font-size: 11px; letter-spacing: 0.07em; text-transform: uppercase;
  color: #6B7787;
}
@media (max-width: 700px) {
  .zc-sekme-grup-ad { min-width: 100%; }
}

.zc-materyal-yok { margin: 0; padding: 16px; border: 1px dashed #D6E2EF; border-radius: 10px; color: #5B6B7C; font-size: 14px; }

@media (max-width: 700px) {
  .zc-ders-sekmeler { padding: 0 16px 32px; }
  .zc-materyal-liste { grid-template-columns: minmax(0, 1fr); }
  .zc-sekme-serit { gap: 6px; }
  .zc-sekme-serit label { min-height: 44px; font-size: 13.5px; }
}

/* Akademik Faaliyetler — hizalama ve ders listesi, 24.08.2026
   (a) Bölüm başlıkları 976 px'lik sütuna hizalıyken kart listeleri sayfa
       genişliğine yayılıyordu: başlık içeride, kartlar dışarıda kalıyor,
       "taşmış" görünüyordu. Listeler de aynı sütuna alındı.
   (b) Ders listesi kart yüksekliğindeydi; 17 ders sayfanın yarısını
       kaplıyordu. Satırlar tek satıra indi: düzey rozeti + ders adı solda,
       yer bilgisi sağda, ikisi aynı çizgide. */
.zc-etkinlik-liste,
.zc-donem { max-width: 976px; margin-left: auto; margin-right: auto; padding: 0 16px; }
.zc-bolum > .zc-basa-don { max-width: 976px; margin-left: auto; margin-right: auto; padding: 0 16px; }

.zc-donem .zc-ders-liste { grid-template-columns: minmax(0, 1fr); gap: 0; }
.zc-donem .zc-ders-liste li {
  flex-direction: row;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 0;
}
.zc-donem .zc-ders-ad { font-size: 14.5px; }
.zc-donem .zc-ders-yer { flex-shrink: 0; text-align: right; font-size: 12.5px; }
@media (max-width: 760px) {
  /* Dar ekranda yer bilgisi alta geçer; satır iki satıra düşer ama
     ders adı kırılmaz. */
  .zc-donem .zc-ders-liste li { flex-direction: column; gap: 2px; padding: 8px 0; }
  .zc-donem .zc-ders-yer { text-align: left; }
}

/* Önceki dönemler açılırı — 24.08.2026 */
.zc-onceki-donemler { max-width: 976px; margin: 6px auto 0; padding: 0 16px; }
.zc-onceki-donemler > summary {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 34px; padding: 4px 14px;
  border: 1px solid #D6E2EF; border-radius: 999px;
  background: #ffffff; color: var(--zc-navy);
  font-size: 13.5px; cursor: pointer; list-style: none;
}
.zc-onceki-donemler > summary::-webkit-details-marker { display: none; }
.zc-onceki-donemler > summary::before { content: "＋"; font-size: 12px; opacity: .7; }
.zc-onceki-donemler[open] > summary::before { content: "−"; }
.zc-onceki-donemler[open] > summary { background: var(--zc-light); }
/* Açılırın içindeki dönem kutuları bir kez daha ortalanınca 16 px içeri
   kayıyordu; sütun sınırı dıştaki kutuda, içeridekiler serbest. */
.zc-onceki-donemler .zc-donem { max-width: none; margin: 18px 0 0; padding: 0; }

/* Faaliyet kartlarında tutarlılık — 24.08.2026
   Sayfada üç ayrı kart anatomisi vardı: afişli kart (92 px görsel + metin),
   afişsiz kart (tam genişlik metin) ve Dergi Editörlüğü'ne özel bir kutu.
   Hepsi aynı bileşene alındı. Bir bölümde herhangi bir kartın görseli varsa
   o bölümdeki bütün kartlar aynı ızgarayı kullanır: görselsiz kartın metni
   de aynı çizgiden başlar, satırlar kaymaz. */
.zc-etkinlik-liste:has(.zc-etkinlik-afis) .zc-etkinlik-afissiz {
  grid-template-columns: 92px minmax(0, 1fr);
}
.zc-etkinlik-liste:has(.zc-etkinlik-afis) .zc-etkinlik-afissiz::before {
  content: "";
  display: block;
  width: 92px;
}
@supports not selector(:has(*)) {
  .zc-etkinlik-afissiz { grid-template-columns: minmax(0, 1fr); }
}

/* Dergi sayıları gibi ek bağlantılar */
.zc-etkinlik-baglantilar {
  margin: 10px 0 0;
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  font-size: 13px; color: #5B6B7C;
}
.zc-etkinlik-baglantilar a {
  display: inline-flex; align-items: center; min-height: 30px;
  padding: 3px 11px;
  border-radius: 999px;
  background: var(--zc-light);
  color: var(--zc-navy);
  text-decoration: none;
}
.zc-etkinlik-baglantilar a:hover, .zc-etkinlik-baglantilar a:focus-visible { background: #D3E4F6; }
@media (max-width: 620px) {
  .zc-etkinlik-liste:has(.zc-etkinlik-afis) .zc-etkinlik-afissiz { grid-template-columns: minmax(0, 1fr); }
  .zc-etkinlik-liste:has(.zc-etkinlik-afis) .zc-etkinlik-afissiz::before { display: none; }
}

/* Özgeçmiş sütunu — 24.08.2026
   Blok, temanın esnek kutusunun içinde "içerik kadar" genişlikte kalıyordu
   (607 px): sayfanın geri kalanı 976 px'lik sütunu kullanırken özgeçmiş dar
   ve ortada asılı duruyordu. Blok satırı doldurur, sütun ölçüsü sitenin
   standardına eşitlenir. */
.zc-ozgecmis { flex: 1 1 auto; width: 100%; }
.ed-container > .inner:has(> .zc-ozgecmis) { max-width: 976px; }

/* Ana sayfadaki öne çıkan kartlarda kapağı olmayan kayıt için tipografik
   kart — Yayınlar sayfasındakiyle aynı, kart ölçüsüne göre küçültülmüş. */
.zc-one-tipo { width: 72px; }
@media (max-width: 560px) { .zc-one-tipo { width: 60px; } }

/* Kronoloji kaydından ilgili sayfaya gitme — 24.08.2026
   Bağlantısı olan kayıtlar tıklanabilir; renk değişmiyor, altı noktalı
   çizgiyle işaretleniyor: listenin taranabilirliği bozulmasın diye. */
.zc-kron-bag {
  color: inherit;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--zc-link);   /* 6,52:1 — 2,09:1'lik #9FB6CC yerine */
  text-underline-offset: 3px;
}
.zc-kron-bag:hover, .zc-kron-bag:focus-visible { color: var(--zc-link); border-bottom-color: var(--zc-link); }

/* Görselsiz faaliyet kartları için tipografik kart — 24.08.2026
   Yayınlar sayfasındaki sistemin aynısı: tür · kurum · yıl, türe göre
   renk. Listede boş kutu kalmıyor, satırlar aynı ızgarada duruyor. */
.zc-etkinlik-tipo {
  width: 92px;
  aspect-ratio: 1;
  display: flex; flex-direction: column; justify-content: space-between;
  gap: 6px; padding: 10px 9px;
  border-radius: 6px;
  background: linear-gradient(160deg, #0C447C 0%, #042C53 100%);
  color: #fff;
}
.zc-etkinlik-tipo[data-tur="bildiri"] { background: linear-gradient(160deg, #6A3A1E, #46240F); }
.zc-etkinlik-tipo[data-tur="proje"] { background: linear-gradient(160deg, #14524A, #0A3B35); }
.zc-etkinlik-tipo[data-tur="editor"] { background: linear-gradient(160deg, #5A2B45, #3B1A2C); }
.zc-etkinlik-tipo[data-tur="seminer"] { background: linear-gradient(160deg, #2A4C7A, #16304F); }
.zc-etkinlik-tipo[data-tur="kurs"] { background: linear-gradient(160deg, #3E5B7C, #22384F); }
.zc-etkinlik-tipo[data-tur="sertifika"] { background: linear-gradient(160deg, #4A4C6A, #2A2C45); }
.zc-tipo-tur { font-size: 8px; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.zc-tipo-kurum { font-family: var(--zc-serif); font-size: 10.5px; line-height: 1.25; overflow: hidden; }
.zc-tipo-yil { font-size: 11px; color: rgba(255,255,255,.78); }
@media (max-width: 620px) {
  .zc-etkinlik-tipo { width: 68px; padding: 8px 7px; }
  .zc-tipo-kurum { font-size: 9.5px; }
}

/* Tipografik kart kare kalsın: uzun kurum adı kutuyu uzatıyordu. */
.zc-etkinlik-tipo { height: 92px; aspect-ratio: auto; overflow: hidden; }
.zc-tipo-kurum { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; }
@media (max-width: 620px) { .zc-etkinlik-tipo { height: 68px; } .zc-tipo-kurum { -webkit-line-clamp: 3; } }

/* Kart başlığı bir siteye bağlanıyorsa: renk aynı, altı noktalı çizgi. */
.zc-etkinlik-ad a {
  color: inherit;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--zc-link);
  text-underline-offset: 3px;
}
.zc-etkinlik-ad a:hover, .zc-etkinlik-ad a:focus-visible { color: var(--zc-link); border-bottom-color: var(--zc-link); }

/* ═══════════════════════════════════════════════════════════════════════════
   ERİŞİLEBİLİRLİK — 24.08.2026 denetimi
   Beş hakem raporundan erişilebilirlik olanının bıraktığı işler. Ortak
   örüntü: bir çözüm bir yerde uygulanmış, ikizine taşınmamıştı (dokunma
   hedefi altbilgide 44px, başka yerde 19px; odak halkası Türkçe özgeçmişte
   var, RTL'de yok; <main> ar/fa'da var, tr/en'de yok).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── "İçeriğe atla" (WCAG 2.4.1) ──────────────────────────────────────────
   Tema kendi bağlantısını gök mavisi (#3A9BD5) üzerine beyazla, yani 3,08:1
   ile çiziyordu ve hedefi menüden ÖNCE duruyordu — bağlantı hiçbir şeyi
   atlamıyordu. Hedef artık <main id="zc-ana-icerik">, zemin 14,09:1. */
.zc-atla {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
  padding: 12px 20px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  background: var(--zc-navy-dark);
  color: #ffffff !important;
  font-family: var(--zc-sans);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 6px 0;
}
.zc-atla:focus {
  left: 0;
  outline: 3px solid #ffffff;
  outline-offset: -6px;
}
#zc-ana-icerik:focus { outline: none; }   /* hedefe atlayınca çerçeve çizilmesin */

/* ── Bulunduğun sayfa (WCAG 2.4.4 / 2.4.8) ───────────────────────────────
   Tema yalnızca kendi ürettiği iki sayfayı "active" işaretliyordu; Yayınlar,
   Akademik Faaliyetler, Ders Materyalleri hiç işaretlenmiyordu. Artık
   aria-current="page" hem ekran okuyucuya söylüyor hem alt çizgiyi çiziyor. */
.ed-menu.wv-custom a.button[aria-current="page"],
.ed-element.ed-menu.wv-custom button a.button[aria-current="page"] {
  background: transparent !important;
  color: var(--zc-navy-dark) !important;
  border-bottom-color: var(--zc-navy-dark) !important;
  font-weight: 600;
}

/* ── JavaScript kapalıyken menü (WCAG 2.4.1 · yalnızca telefon) ───────────
   Tema menüyü body.open-menu sınıfıyla açıyor; sınıf yoksa .ed-menu
   visibility:hidden kalıyor ve 975px altında gezinmenin tamamı kayboluyordu.
   Masaüstünde menü zaten görünür, orada yedeği göstermiyoruz. */
.zc-js-yok { display: none; }
@media (max-width: 974px) {
  .zc-js-yok { display: block; background: #ffffff; border-bottom: 1px solid #DCE6F1; }
  .zc-js-yok ul { display: flex; flex-wrap: wrap; gap: 2px; margin: 0; padding: 6px 12px; list-style: none; }
  .zc-js-yok a {
    display: flex; align-items: center; min-height: 44px; padding: 0 12px;
    color: var(--zc-navy-dark); font-family: var(--zc-sans); font-size: 15px; text-decoration: none;
  }
}

/* ── Dokunma hedefleri (WCAG 2.5.8) ──────────────────────────────────────
   375px'te ana sayfada 44px'in altında 29 hedef vardı; dil seçici 44×18,
   sosyal simgeler 36×36, rozetler 104×27. Altbilgide çözüm zaten yazılmıştı
   (bkz. yukarıdaki .zc-alt kuralı), buraya genişletildi. */
@media (max-width: 620px) {
  .ed-language a.language,
  .zc-hero-badges a,
  .zc-ana-baslik a,
  .zc-one-bag a,
  .zc-haber-liste a,
  .zc-alt-liste a,
  .zc-alt-hesap a,
  .zc-yayin-baglantilar a,
  .zc-yayin-baglantilar summary,
  .zc-gorev-sayilar a,
  .zc-etkinlik-baglantilar a,
  .zc-bolum-serit a,
  .zc-atif-indir a,
  .zc-bib-indir a,
  .zc-atif summary,
  .zc-basa-don a,
  .zc-durum-bag,
  .zc-gorunum-secim label,
  .zc-kopyala {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  /* Dokunma alanı büyürken satırlar birbirine girmesin. */
  .zc-hero-badges { gap: 8px; }
  .zc-yayin-baglantilar { gap: 8px; }
  .zc-one-bag { gap: 8px; }
  /* Altbilgide hedef <li>'ye değil bağlantının kendisine gerekiyordu:
     satır 44px'ti ama tıklanan <a> 22px kalıyordu. */
  .zc-alt-liste a, .zc-alt-hesap a { display: inline-flex; align-items: center; }
  .zc-atif-indir { gap: 8px; }
  /* Cümle içindeki bağlantılar BİLEREK dışarıda: WCAG 2.5.8, metin akışının
     içindeki hedefleri kuralın dışında tutuyor. 44px'e zorlamak satır
     aralığını bozar, kazandırmaz. */
}

/* Ad varyantları notu — Arapça/Farsça özgeçmişte baştan vardı, Türkçe ve
   İngilizcede yoktu. Ad üç biçimde basıldı; okuyucunun üçünü aynı kişide
   birleştirebilmesi için künye listelerinden önce duruyor. */
.zc-ad-notu {
  margin: 0 0 22px;
  padding: 14px 16px;
  background: #F7FAFD;
  border: 1px solid #DCE6F1;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.7;
  color: #3D4C5A;
}

/* ═══════════════════════════════════════════════════════════════════════════
   Dil şeridi — 24.08.2026
   Dört bağlantı üst şeritte dağınık duruyordu. Açılır menü yerine görünür
   şerit korundu: Arapça okuyan biri Türkçe sayfaya düştüğünde "العربية"yi
   anında görmeli, menünün arkasında aramamalı. Açılır menü sekiz-on dilden
   sonra kazandırıyor, dörtte kaybettiriyor.
   ═══════════════════════════════════════════════════════════════════════════ */
.ed-language.language-item {
  display: flex;
  align-items: center;
  gap: 0;
}
.ed-language a.language {
  padding: 4px 10px;
  font-size: 13.5px;
  line-height: 1.4;
  border-radius: 4px;
  white-space: nowrap;
}
/* Ayraç: bağlantının kendisine değil, aralarına. */
.ed-language a.language + a.language { border-inline-start: 1px solid rgba(255, 255, 255, 0.22); }
.ed-language a.language:hover { color: #ffffff; text-decoration: none; }
.ed-language a.language.active {
  color: #ffffff;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
}

/* Tema, dil bağlantısının metnini font-size:0 ile gizleyip yerine
   data-lang'ı ("tr", "en", "ar", "fa") yazıyordu. Arapça ve Farsça
   sayfalarda ise dillerin kendi adları görünüyordu — aynı sitede iki ayrı
   şerit. Adlar her yerde açık yazılıyor: dilini arayan kişi "ar" değil,
   "العربية" arıyor. */
.ed-element.preset-language-v2-default .language::before { content: none !important; }
.ed-element.preset-language-v2-default .language,
.ed-language a.language { font-size: 13.5px !important; }

/* Ders adı → materyal sekmesi. Kronoloji bağlantılarıyla aynı dil: renk
   metinden ayrılmıyor, altında link mavisi noktalı çizgi. Liste tarandığında
   göze batmıyor, tıklanabilir olduğu ise belli. */
.zc-ders-bag {
  color: inherit;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--zc-link);
  text-underline-offset: 3px;
}
.zc-ders-bag:hover, .zc-ders-bag:focus-visible { color: var(--zc-link); }
