@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700;800&display=swap');

/* =====================================================
   Köşe Yazarları — Frontend CSS v3.0
   Grid + Liste + Carousel | Dark Mode | Animasyonlar
   ===================================================== */
.ky-wrap { --ky-accent:#3bbecb; --ky-accent-dk:#2a9daa; --ky-isim:#1a5f69;
  --ky-text:#444; --ky-tarih:#999; --ky-bg:#f5fcfd; --ky-border:#d6f0f3;
  --ky-r:14px; --ky-ease:cubic-bezier(.34,1.56,.64,1); --ky-foto-size:100px;
  font-family:'Nunito',sans-serif; }

/* ---- DARK MODE ---- */
.ky-wrap.ky-dark { --ky-bg:#1e2a35; --ky-border:#2d4050; --ky-text:#c8d8e4;
  --ky-isim:#7dd3da; --ky-tarih:#64748b; background:#141c24; border-radius:12px; padding:20px; }

/* =====================================================  GRID LAYOUT  */
.ky-wrap.ky-duzen-grid .ky-cards { display:grid; gap:22px 16px; }
.ky-sutun-2{grid-template-columns:repeat(2,1fr)} .ky-sutun-3{grid-template-columns:repeat(3,1fr)}
.ky-sutun-4{grid-template-columns:repeat(4,1fr)} .ky-sutun-5{grid-template-columns:repeat(5,1fr)}
.ky-sutun-6{grid-template-columns:repeat(6,1fr)}

/* =====================================================  LIST LAYOUT  */
.ky-duzen-liste .ky-cards { display:flex; flex-direction:column; gap:12px; }
.ky-duzen-liste .ky-kart {
  flex-direction:row !important; align-items:center !important;
  text-align:left !important; padding:14px 18px !important; gap:16px;
}
.ky-duzen-liste .ky-avatar-wrap { width:calc(var(--ky-foto-size)*0.7) !important; height:calc(var(--ky-foto-size)*0.7) !important; flex-shrink:0; }
.ky-duzen-liste .ky-kart-bilgi { flex:1; min-width:0; }
.ky-duzen-liste .ky-yazi-link { border-top:none; padding-top:0; }
.ky-duzen-liste .ky-yazi-baslik { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

/* =====================================================  CAROUSEL  */
.ky-duzen-carousel .ky-carousel-inner { position:relative; overflow:hidden; }
.ky-duzen-carousel .ky-cards { display:flex; gap:16px; transition:transform .45s cubic-bezier(.25,.46,.45,.94); will-change:transform; }
.ky-duzen-carousel .ky-kart { flex:0 0 calc(20% - 13px); min-width:140px; }
.ky-carousel-nav { display:flex; align-items:center; justify-content:center; gap:16px; margin-top:18px; }
.ky-c-prev, .ky-c-next {
  background:var(--ky-accent); color:#fff; border:none; border-radius:50%;
  width:36px; height:36px; font-size:1.1rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, transform .15s;
}
.ky-c-prev:hover,.ky-c-next:hover { background:var(--ky-accent-dk); transform:scale(1.1); }
.ky-c-dots { display:flex; gap:6px; }
.ky-c-dot { width:8px; height:8px; border-radius:50%; background:var(--ky-border); cursor:pointer; transition:background .2s, transform .2s; }
.ky-c-dot.aktif { background:var(--ky-accent); transform:scale(1.3); }

/* =====================================================  CARD BASE  */
.ky-kart {
  background:var(--ky-bg); border:1.5px solid var(--ky-border); border-radius:var(--ky-r);
  padding:20px 14px 16px; display:flex; flex-direction:column; align-items:center;
  text-align:center; gap:8px;
}

/* Stiller */
.ky-stil-minimal .ky-kart { background:transparent; border-color:transparent; }
.ky-stil-bold    .ky-kart { border-width:2.5px; box-shadow:0 4px 16px rgba(59,190,203,.12); }
.ky-dark.ky-stil-bold .ky-kart { box-shadow:0 4px 16px rgba(0,0,0,.3); }

/* HOVER (sadece ky-nohover sınıfı yoksa) */
.ky-wrap:not(.ky-nohover) .ky-kart { transition:transform .35s var(--ky-ease), box-shadow .3s, border-color .25s; }
.ky-wrap:not(.ky-nohover) .ky-kart:hover { transform:translateY(-7px); box-shadow:0 14px 36px rgba(59,190,203,.2); border-color:var(--ky-accent); }

/* =====================================================  ANIMASYONLAR  */
.ky-anim-fade   .ky-kart { opacity:0; animation:kyFade   .5s ease forwards; }
.ky-anim-slide  .ky-kart { opacity:0; animation:kySlide  .5s ease forwards; }
.ky-anim-zoom   .ky-kart { opacity:0; animation:kyZoom   .5s var(--ky-ease) forwards; }
.ky-anim-bounce .ky-kart { opacity:0; animation:kyBounce .6s var(--ky-ease) forwards; }
.ky-anim-none   .ky-kart { opacity:1; }

@keyframes kyFade   { to{opacity:1;} }
@keyframes kySlide  { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@keyframes kyZoom   { from{opacity:0;transform:scale(.85)} to{opacity:1;transform:scale(1)} }
@keyframes kyBounce { from{opacity:0;transform:scale(.7)} to{opacity:1;transform:scale(1)} }

.ky-kart:nth-child(1){animation-delay:.05s} .ky-kart:nth-child(2){animation-delay:.10s}
.ky-kart:nth-child(3){animation-delay:.15s} .ky-kart:nth-child(4){animation-delay:.20s}
.ky-kart:nth-child(5){animation-delay:.25s} .ky-kart:nth-child(6){animation-delay:.30s}
.ky-kart:nth-child(7){animation-delay:.35s} .ky-kart:nth-child(8){animation-delay:.40s}
.ky-kart:nth-child(9){animation-delay:.45s} .ky-kart:nth-child(10){animation-delay:.50s}

/* =====================================================  AVATAR  */
.ky-avatar-link{display:block;text-decoration:none}
.ky-avatar-wrap{position:relative;width:var(--ky-foto-size);height:var(--ky-foto-size);border-radius:50%;
  outline:3px solid var(--ky-accent);outline-offset:3px;transition:outline-offset .35s var(--ky-ease);overflow:hidden}
.ky-wrap:not(.ky-nohover) .ky-kart:hover .ky-avatar-wrap{outline-offset:7px}
.ky-avatar{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block;transition:transform .4s var(--ky-ease),filter .3s}
.ky-wrap:not(.ky-nohover) .ky-kart:hover .ky-avatar{transform:scale(1.07);filter:brightness(.85)}
.ky-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(59,190,203,.15) 0%,transparent 70%);opacity:0;transition:opacity .3s}
.ky-wrap:not(.ky-nohover) .ky-kart:hover .ky-avatar-overlay{opacity:1}
.ky-sayac{position:absolute;top:-4px;right:-4px;background:var(--ky-accent);color:#fff;
  font-size:9px;font-weight:800;width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.ky-dark .ky-sayac{border-color:#141c24}

/* =====================================================  TEXT ELEMENTS  */
.ky-kart-bilgi{display:contents} /* grid modda şeffaf wrapper */
.ky-duzen-liste .ky-kart-bilgi{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}

.ky-badge{background:var(--ky-accent);color:#fff;font-size:9px;font-weight:700;
  text-transform:uppercase;padding:2px 8px;border-radius:50px;letter-spacing:.05em}
.ky-isim{font-size:.88rem;font-weight:800;margin:0;line-height:1.3;letter-spacing:.04em;text-transform:uppercase}
.ky-isim a{color:var(--ky-isim);text-decoration:none;transition:color .2s}
.ky-isim a:hover{color:var(--ky-accent-dk)}
.ky-bio{font-size:.75rem;color:var(--ky-tarih);font-style:italic;margin:0}
.ky-yazi-link{display:flex;flex-direction:column;gap:3px;text-decoration:none;
  border-top:1px dashed var(--ky-border);padding-top:8px;width:100%;transition:border-color .2s}
.ky-wrap:not(.ky-nohover) .ky-kart:hover .ky-yazi-link{border-color:var(--ky-accent)}
.ky-yazi-baslik{font-size:.78rem;font-weight:700;color:var(--ky-text);line-height:1.45;
  transition:color .2s;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ky-yazi-link:hover .ky-yazi-baslik{color:var(--ky-accent-dk)}
.ky-ozet{font-size:.72rem;color:var(--ky-tarih);font-style:italic;line-height:1.4}
.ky-tarih{font-size:.7rem;color:var(--ky-tarih);font-weight:600}

/* AJAX */
.ky-ajax-wrap{text-align:center;margin-top:24px}
.ky-daha-fazla{background:var(--ky-accent);color:#fff;border:none;padding:10px 28px;
  border-radius:50px;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .2s,transform .15s}
.ky-daha-fazla:hover{background:var(--ky-accent-dk);transform:translateY(-2px)}
.ky-daha-fazla:disabled{opacity:.6;cursor:not-allowed;transform:none}
.ky-bos{text-align:center;color:#aaa;font-style:italic;padding:24px 0}

/* RESPONSIVE */
@media(max-width:1100px){.ky-sutun-6,.ky-sutun-5{grid-template-columns:repeat(4,1fr)}}
@media(max-width:860px){.ky-sutun-4,.ky-sutun-5,.ky-sutun-6{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.ky-sutun-3,.ky-sutun-4,.ky-sutun-5,.ky-sutun-6{grid-template-columns:repeat(2,1fr)}
  .ky-wrap{--ky-foto-size:80px !important}}

/* ====================================================
   v4: Pozisyon, Sosyal İkonlar, Yazı Altı Kutu, A11y
   ==================================================== */
.ky-pozisyon{display:block;font-size:.7rem;font-weight:700;color:var(--ky-accent);text-transform:uppercase;letter-spacing:.06em;margin:-3px 0 3px}

/* Sosyal İkonlar */
.ky-sosyal{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;margin:4px 0}
.ky-sosyal-link{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ky-bg);border:1.5px solid var(--ky-border);text-decoration:none;font-size:.9rem;line-height:1;transition:background .2s,border-color .2s,transform .2s}
.ky-sosyal-link:hover{background:var(--ky-accent);border-color:var(--ky-accent);transform:translateY(-2px)}
.ky-dark .ky-sosyal-link{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.15)}
.ky-dark .ky-sosyal-link:hover{background:var(--ky-accent)}
.ky-duzen-liste .ky-sosyal{justify-content:flex-start}
.ky-duzen-liste .ky-pozisyon{text-align:left}

/* Yazı Altı Yazar Kutusu */
.ky-yazi-alti-kutu{--ky-accent:#3bbecb;display:flex;align-items:flex-start;gap:20px;margin:40px 0 20px;padding:22px 24px;background:#f5fcfd;border:1.5px solid #c8eef1;border-radius:14px;font-family:'Nunito',sans-serif}
.ky-yak-avatar-link{flex-shrink:0;display:block}
.ky-yak-avatar{width:var(--ky-foto-size,90px);height:var(--ky-foto-size,90px);border-radius:50%;object-fit:cover;outline:3px solid var(--ky-accent);outline-offset:3px;transition:outline-offset .3s}
.ky-yak-avatar-link:hover .ky-yak-avatar{outline-offset:6px}
.ky-yak-bilgi{flex:1;min-width:0}
.ky-yak-pozisyon{display:block;font-size:.72rem;font-weight:700;color:var(--ky-accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.ky-yak-isim{margin:0 0 6px;font-size:1rem;font-weight:800}
.ky-yak-isim a{color:#1a5f69;text-decoration:none}
.ky-yak-isim a:hover{color:var(--ky-accent)}
.ky-yak-bio{margin:0 0 10px;font-size:.85rem;color:#555;line-height:1.55}
.ky-yazi-alti-kutu .ky-sosyal{justify-content:flex-start;margin:0}
@media(max-width:500px){.ky-yazi-alti-kutu{flex-direction:column;align-items:center;text-align:center}.ky-yazi-alti-kutu .ky-sosyal,.ky-yak-pozisyon{justify-content:center;text-align:center}}

/* Erişilebilirlik — Focus göstergesi */
.ky-kart a:focus-visible,.ky-sosyal-link:focus-visible,.ky-c-prev:focus-visible,.ky-c-next:focus-visible,.ky-daha-fazla:focus-visible{outline:3px solid var(--ky-accent,#3bbecb);outline-offset:3px;border-radius:4px}
.ky-avatar-link:focus-visible .ky-avatar-wrap{outline:3px solid var(--ky-accent,#3bbecb);outline-offset:5px}
