/* ─────────────────────────────────────────────────────────────
   Yasha Records — css/adminedit.css
   Site içi admin düzenleme modalı ve tetikleyici butonları.
   index.html ve izle.html ortak kullanır (js/adminedit.js).
   ───────────────────────────────────────────────────────────── */

/* Tetikleyici butonlar — admin değilse JS zaten gizler */
.ae-trigger{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px dashed var(--pr);color:var(--pr);
  font-family:inherit;font-size:.68rem;font-weight:800;padding:6px 12px;border-radius:8px;cursor:pointer;
  transition:background .2s,color .2s;min-height:32px}
.ae-trigger:hover{background:var(--pr);color:#fff;border-style:solid}

/* Kart üzerindeki kalem — kartın kendisi link olduğu için tıklama yutulur */
.ae-card-edit{position:absolute;top:8px;right:8px;z-index:3;width:30px;height:30px;border-radius:8px;
  background:rgba(0,0,0,.66);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.7rem;opacity:0;transition:opacity .2s,background .2s}
.ae-card-edit.second{right:44px}
/* .news-card listede yoktu: haber kartlarındaki düzenleme kalemi DOM'a
   çiziliyor ama opacity:0'da kalıp hiç görünmüyordu. */
.pc-card:hover .ae-card-edit,.ep-card:hover .ae-card-edit,.news-card:hover .ae-card-edit,.ae-card-edit:focus-visible{opacity:1}
.ae-card-edit:hover{background:var(--pr)}
@media(hover:none){.ae-card-edit{opacity:1}}

/* Yan yana birkaç admin düğmesi (proje kenar çubuğu) */
.ae-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ae-toolbar .ae-trigger{flex:1 1 calc(50% - 3px);justify-content:center}

/* Kadro kartı üzerindeki kalem */
.cast-card{position:relative}
.cast-card .cast-edit{position:absolute;top:5px;right:5px;width:26px;height:26px;border-radius:7px;
  background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;font-size:.62rem;opacity:0;
  transition:opacity .2s,background .2s}
.cast-card.editable:hover .cast-edit,.cast-card .cast-edit:focus-visible{opacity:1}
.cast-card .cast-edit:hover{background:var(--pr)}
@media(hover:none){.cast-card .cast-edit{opacity:.85}}

/* Kadro ızgarasının sonundaki "ekle" kutusu — kartlarla aynı ölçüde */
.cast-add{background:none;border:1px dashed var(--border-h);border-radius:10px;color:var(--muted);
  cursor:pointer;font-family:inherit;font-size:.7rem;font-weight:700;padding:13px 10px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  min-height:110px;transition:border-color .2s,color .2s,background .2s}
.cast-add i{font-size:1.1rem}
.cast-add:hover{border-color:var(--pr);color:var(--pr);background:var(--pr-s);border-style:solid}

/* Bölüm listesi boşken */
.ep-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
  padding:26px 16px;color:var(--muted);font-size:.76rem;text-align:center}
.ep-list-empty i{font-size:1.5rem;opacity:.35}

/* Görünürlük seçenekleri (radyo kartları) */
.ae-vis-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:6px}
.ae-vis-opt{display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:10px;cursor:pointer;
  background:var(--surf);border:1px solid var(--border);transition:border-color .2s,background .2s}
.ae-vis-opt:hover{border-color:var(--border-h)}
.ae-vis-opt.active{border-color:var(--pr);background:var(--pr-s)}
.ae-vis-opt input{position:absolute;opacity:0;pointer-events:none}
.ae-vis-opt i{font-size:.9rem;width:18px;text-align:center}
.ae-vis-opt span{font-size:.78rem;font-weight:700;color:var(--text)}
.ae-vis-opt.tone-green i{color:var(--green)}
.ae-vis-opt.tone-blue i{color:var(--blue)}
.ae-vis-opt.tone-gold i{color:var(--gold)}
.ae-vis-opt.tone-red i{color:var(--red)}
.ae-vis-opt.tone-muted i{color:var(--muted)}

/* Toplu kadro yapıştırma */
.ae-bulk-preview{margin-top:10px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.ae-bulk-row{display:flex;align-items:center;gap:10px;padding:8px 11px;border-bottom:1px solid var(--border);font-size:.76rem}
.ae-bulk-row:last-child{border-bottom:none}
.ae-bulk-row img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--border);flex-shrink:0}
.ae-bulk-ph{width:32px;height:32px;border-radius:50%;background:var(--card-h);color:var(--muted);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.76rem}
.ae-bulk-char{font-weight:800;color:var(--text)}
.ae-bulk-va{color:var(--text-s)}
.ae-bulk-tag{margin-left:auto;font-size:.6rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;
  padding:3px 8px;border-radius:20px;background:var(--pr-s);color:var(--pr);white-space:nowrap}
.ae-bulk-tag.warn{background:rgba(245,158,11,.14);color:var(--gold)}
.ae-bulk-tag.err{background:rgba(239,68,68,.14);color:var(--red)}
.ae-bulk-row.skip{opacity:.55}
.ae-bulk-hint{font-size:.7rem;color:var(--muted);font-style:italic}

/* Seslendirmen önerisi — yazılmaz, sunulur (seslendirmen değişebiliyor) */
.ae-sug{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px;padding:8px 10px;
  background:var(--surf);border:1px solid var(--border);border-left:3px solid var(--gold);
  border-radius:8px;font-size:.73rem;color:var(--text-s)}
.ae-sug b{color:var(--text)}
.ae-sug small{width:100%;font-size:.65rem;color:var(--muted)}
.ae-sug-use{background:var(--pr);border:none;color:#fff;font-family:inherit;font-size:.68rem;
  font-weight:800;padding:4px 11px;border-radius:6px;cursor:pointer;min-height:26px}
.ae-sug-use:hover{background:var(--pr-d)}

/* ── Çipler: tür / etiket / işaret / oran ──────────────────
   Virgüllü serbest metin yerine tıklanabilir düğmeler. */
.ae-chips{display:flex;flex-wrap:wrap;gap:6px}
.ae-chip{display:inline-flex;align-items:center;gap:6px;background:var(--surf);
  border:1px solid var(--border);color:var(--text-s);font-family:inherit;
  font-size:.75rem;font-weight:700;padding:7px 13px;border-radius:20px;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s;min-height:34px}
.ae-chip i{font-size:.8rem;opacity:.75}
.ae-chip:hover{border-color:var(--border-h);color:var(--text)}
.ae-chip.on{background:var(--pr);border-color:var(--pr);color:#fff}
.ae-chip.on i{opacity:1}
/* Tek seçimli grup (tür, oran) — seçilmiş olan hep biri */
.ae-chips.single .ae-chip.on{box-shadow:0 0 0 3px var(--pr-s)}

/* Gruplu etiket çipleri — 44 tanesi başlıksız okunmuyor */
.ae-chips-grouped{display:flex;flex-direction:column;gap:11px}
.ae-chipgroup-label{display:block;font-size:.6rem;font-weight:800;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--muted);margin-bottom:6px}

/* Tanınmayan etiket uyarısı */
.ae-warn{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:9px 11px;
  background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.28);
  border-radius:9px;font-size:.72rem;line-height:1.5;color:var(--text-s)}
.ae-warn i{color:var(--gold);margin-top:2px;flex-shrink:0}
.ae-warn b{color:var(--text)}

/* ── Görsel alanı: yükle ya da adres yapıştır ──────────── */
.ae-img-row{display:flex;gap:11px;align-items:flex-start}
.ae-img-thumb{width:64px;height:64px;flex:0 0 64px;border-radius:10px;overflow:hidden;
  background:var(--surf);border:1px solid var(--border);
  display:flex;align-items:center;justify-content:center;color:var(--muted)}
.ae-img-thumb img{width:100%;height:100%;object-fit:cover}
.ae-img-thumb i{font-size:1.1rem;opacity:.4}
.ae-img-main{flex:1;min-width:0}
.ae-img-actions{display:flex;align-items:center;gap:8px;margin-top:7px;flex-wrap:wrap}
/* AniList'ten afiş ve banner (js/anilist.js) */
.ae-anilist-satir{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ae-anilist-satir .ae-input{flex:1 1 240px;min-width:0}
.ae-anilist .ae-img-status{display:block;margin-top:6px}
.ae-img-actions .ae-trigger{min-height:30px;padding:5px 11px}
.ae-img-clear{background:none;border:none;color:var(--muted);font-family:inherit;
  font-size:.68rem;font-weight:700;cursor:pointer;padding:0;text-decoration:underline}
.ae-img-clear:hover{color:var(--red)}
.ae-img-status{font-size:.68rem;font-weight:700}
.ae-img-status.busy{color:var(--muted)}
.ae-img-status.ok{color:var(--green)}
.ae-img-status.err{color:var(--red)}

/* Modal */
.ae-box{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.96);width:min(680px,94vw);
  max-height:88vh;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);
  border-radius:18px;z-index:2650;opacity:0;pointer-events:none;
  transition:opacity .22s var(--ease),transform .22s var(--ease)}
.ae-box.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.ae-box.genis{width:min(980px,94vw)}   /* AniList karakter görselleri (YAE.openCastAnilist) */
[data-theme="light"] .ae-box{background:rgba(255,255,255,.98)}
.ae-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}
.ae-head h3{font-size:.98rem;font-weight:800;color:var(--text);flex:1;margin:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ae-head h3 i{color:var(--pr);margin-right:7px}
.ae-close{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.95rem;width:32px;height:32px;
  border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.ae-close:hover{background:var(--card-h);color:var(--text)}
.ae-body{padding:18px 20px;overflow-y:auto;flex:1;-webkit-overflow-scrolling:touch}
.ae-foot{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--border);flex-shrink:0}

.ae-section{font-size:.62rem;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);
  margin:18px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--border)}
.ae-section:first-child{margin-top:0}
.ae-field{margin-bottom:13px}
.ae-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ae-label{display:block;font-size:.66rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:var(--muted);margin-bottom:5px}
.ae-req{color:var(--pr)}
.ae-input{width:100%;background:var(--surf);border:1px solid var(--border);border-radius:9px;padding:10px 12px;
  color:var(--text);font-family:inherit;font-size:.82rem;min-height:40px;transition:border-color .2s}
.ae-input:focus{outline:none;border-color:var(--pr)}
.ae-textarea{min-height:88px;resize:vertical;line-height:1.55}
.ae-hint{display:block;font-size:.65rem;color:var(--muted);margin-top:5px;line-height:1.45}
.ae-check{display:flex;align-items:center;gap:9px;flex-wrap:wrap;background:var(--surf);border:1px solid var(--border);
  border-radius:9px;padding:11px 12px;margin-bottom:13px;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--text)}
.ae-check input{width:16px;height:16px;accent-color:var(--pr);cursor:pointer}
.ae-check small{width:100%;font-size:.65rem;color:var(--muted);font-weight:400}

.ae-btn{background:var(--card-h);border:1px solid var(--border);color:var(--text);font-family:inherit;
  font-size:.78rem;font-weight:700;padding:9px 18px;border-radius:9px;cursor:pointer;min-height:38px;
  display:inline-flex;align-items:center;gap:7px;transition:background .2s,border-color .2s}
.ae-btn:hover{background:var(--border);border-color:var(--border-h)}
.ae-btn.primary{background:var(--pr);border-color:var(--pr);color:#fff}
.ae-btn.primary:hover{background:var(--pr-d);border-color:var(--pr-d)}
.ae-btn.primary:disabled{opacity:.6;cursor:not-allowed}
.ae-btn.danger{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.32);color:var(--red)}
.ae-btn.danger:hover{background:var(--red);color:#fff}

@media(max-width:640px){
  .ae-box{width:100vw;max-width:100vw;max-height:92vh;top:auto;bottom:0;left:0;
    transform:translateY(100%);border-radius:18px 18px 0 0}
  .ae-box.open{transform:translateY(0)}
  .ae-grid{grid-template-columns:1fr;gap:0}
  .ae-body{padding:14px 16px}
  .ae-head,.ae-foot{padding:13px 16px}
}

/* ── KADRO ↔ EKİP BAĞI ──────────────────────────────────────
   Kadroda geçen ama Ekibimiz sayfasında olmayan kişiler gözden
   kaçıyordu. Bu satır yalnız kadro düzenlerken görünür. */
.ae-ekip{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.ae-ekip:empty{display:none}
.ae-ekip-satir{display:flex;align-items:center;gap:8px;font-size:.72rem;line-height:1.4;
  background:var(--hover-bg);border:1px solid var(--border);border-radius:8px;padding:7px 10px}
.ae-ekip-satir > i{flex-shrink:0;font-size:.8rem}
.ae-ekip-satir > span{flex:1;min-width:0;color:var(--text-s)}
.ae-ekip-satir.var > i{color:var(--green)}
.ae-ekip-satir.yok > i{color:var(--gold)}
.ae-ekip-satir.yok{border-color:rgba(245,158,11,.28)}
.ae-ekip-btn{background:var(--input-bg);border:1px solid var(--border);color:var(--text-s);
  border-radius:7px;padding:5px 11px;font-size:.68rem;font-weight:700;cursor:pointer;
  font-family:inherit;white-space:nowrap;flex-shrink:0;transition:all .2s}
.ae-ekip-btn.ekle:hover{background:var(--pr);border-color:var(--pr);color:#fff}
.ae-ekip-btn.cikar:hover{border-color:var(--red);color:var(--red)}

/* Kadro ekleme kutusu: tek kişi ya da toplu. Kutu kartla aynı ölçüde,
   içinde iki küçük düğme. */
.cast-add.cast-add-kutu{cursor:default;gap:6px;padding:11px 10px}
.cast-add.cast-add-kutu:hover{background:none;border-style:dashed;border-color:var(--border-h);color:var(--muted)}
.cast-add-bas{display:flex;align-items:center;justify-content:center;gap:6px;font-size:.68rem;margin-bottom:2px;text-align:center;line-height:1.3}
.cast-add-bas i{font-size:.8rem}
.cast-add-kutu button{
  width:100%;max-width:12rem;display:flex;align-items:center;justify-content:center;gap:6px;
  background:var(--input-bg,rgba(255,255,255,.04));border:1px solid var(--border-h);border-radius:8px;
  color:var(--text-s);font-family:inherit;font-size:.66rem;font-weight:700;padding:7px 8px;cursor:pointer;
  transition:border-color .2s,color .2s,background .2s;
}
.cast-add-kutu button:hover{border-color:var(--pr);color:var(--pr);background:var(--pr-s)}
.cast-add-kutu button i{font-size:.7rem}

/* Üretici paneli: proje önerisi formu */
.ae-bilgi{display:flex;gap:9px;align-items:flex-start;padding:10px 12px;margin-bottom:14px;border-radius:10px;background:rgba(56,189,248,.08);border:1px solid rgba(56,189,248,.25);font-size:.78rem;line-height:1.5;color:var(--text-s)}
.ae-bilgi i{color:#38bdf8;margin-top:3px}
.ae-drive{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.ae-drive:empty{display:none}
.ae-drive-satir{display:grid;grid-template-columns:64px 1fr 1.4fr 32px;gap:6px;align-items:center}
.ae-drive-sil{width:32px;height:36px;border-radius:8px;border:1px solid var(--border);background:none;color:var(--muted);cursor:pointer}
.ae-drive-sil:hover{color:#ef4444;border-color:#ef4444}
@media (max-width:560px){
  .ae-drive-satir{grid-template-columns:56px 1fr 32px;padding-bottom:8px;border-bottom:1px solid var(--border)}
  .ae-drive-satir [data-k=link]{grid-column:1/-1;grid-row:2}
}

/* Kadro sırası: tutamaç, sürüklenen kart ve Kaydet / Vazgeç çubuğu
   (js/adminedit.js kadroSirala). Tutamaçta touch-action kapalı, böylece
   telefonda kartın geri kalanından sayfa yine kaydırılabiliyor. */
.cast-card .cast-tut{position:absolute;top:5px;left:5px;width:26px;height:26px;border-radius:7px;
  background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.18);color:#fff;cursor:grab;touch-action:none;
  display:flex;align-items:center;justify-content:center;font-size:.62rem;opacity:0;transition:opacity .2s,background .2s}
.cast-card.editable:hover .cast-tut,.cast-card .cast-tut:focus-visible{opacity:1}
.cast-card .cast-tut:hover,.cast-card .cast-tut:focus-visible{background:var(--pr)}
@media(hover:none){.cast-card .cast-tut{opacity:.85;width:32px;height:32px}}
.siralaniyor{cursor:grabbing;user-select:none;-webkit-user-select:none}
.siralaniyor .cast-tut{cursor:grabbing}
.cast-card.surukleniyor{opacity:.55;outline:2px dashed var(--pr);outline-offset:2px;transform:scale(.97)}
.cast-card.surukleniyor .cast-tut{opacity:1;background:var(--pr)}
.cast-sira-cubuk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;
  border:1px solid var(--pr);border-radius:10px;background:var(--pr-s);font-size:.76rem;font-weight:700;color:var(--text)}
.cast-sira-cubuk span{flex:1 1 180px;display:flex;align-items:center;gap:7px}
.cast-sira-cubuk span i{color:var(--pr)}
.cast-sira-cubuk button{font-family:inherit;font-size:.72rem;font-weight:800;min-height:34px;padding:6px 14px;border-radius:8px;cursor:pointer}
.cast-sira-vazgec{background:none;border:1px solid var(--border-h);color:var(--text)}
.cast-sira-kaydet{background:var(--pr);border:1px solid var(--pr);color:#fff;display:inline-flex;align-items:center;gap:6px}
.cast-sira-kaydet:disabled{opacity:.6;cursor:default}
@media(max-width:520px){
  .cast-sira-cubuk span{flex-basis:100%}
  .cast-sira-cubuk button{flex:1 1 0;justify-content:center}
}

/* Kadro penceresinde tek karaktere AniList görseli (js/adminedit.js tekAnilist) */
.al1-sonuc{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin:6px 0}
.al1-sonuc:empty{display:none}
.al1-k{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--border);border-radius:10px;background:var(--surf)}
.al1-k.sec{border-color:var(--pr);background:var(--pr-s)}
.al1-g{width:44px;height:60px;flex-shrink:0;border-radius:7px;overflow:hidden;background:rgba(127,127,127,.12);display:grid;place-items:center;color:var(--muted)}
.al1-g img{width:100%;height:100%;object-fit:cover;display:block}
.al1-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.al1-m b{font-size:.8rem;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al1-m small{font-size:.7rem;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al1-m a{font-size:.68rem;color:var(--muted);text-decoration:underline}
.al1-k .ae-trigger{flex-shrink:0;border-style:solid}
.al1-k .ae-trigger:disabled{opacity:.7;cursor:default}
#aeAl1Durum{display:block;margin:4px 0 8px}
