/* VISQO görsel iskeleti: afiş kutuları görsel inene kadar parlar, sonra görsel yumuşakça belirir.
   .vq-skel sınıfını js/skeleton-v1.js ekler/kaldırır; JS çalışmazsa hiçbir şey gizlenmez. */
:is(.vq-poster-media,.vq-rich-poster,.vq-random-poster,.vq-vibe-poster,.vq-movie-poster,.vq-personal-shelf-poster,.vqcw-image) img{
  transition:opacity .4s ease
}
:is(.vq-poster-media,.vq-rich-poster,.vq-random-poster,.vq-vibe-poster,.vq-movie-poster,.vq-personal-shelf-poster,.vqcw-image).vq-skel{
  background-color:#121829!important;
  background-image:linear-gradient(100deg,transparent 30%,rgba(167,139,250,.13) 50%,transparent 70%)!important;
  background-size:220% 100%!important;
  background-repeat:no-repeat!important;
  animation:vqSkelShimmer 1.4s ease-in-out infinite;
}
:is(.vq-poster-media,.vq-rich-poster,.vq-random-poster,.vq-vibe-poster,.vq-movie-poster,.vq-personal-shelf-poster,.vqcw-image).vq-skel img{
  opacity:0!important
}
@keyframes vqSkelShimmer{
  from{background-position:120% 0}
  to{background-position:-120% 0}
}
@media (prefers-reduced-motion:reduce){
  .vq-skel{animation:none!important}
  :is(.vq-poster-media,.vq-rich-poster,.vq-random-poster,.vq-vibe-poster,.vq-movie-poster,.vq-personal-shelf-poster,.vqcw-image) img{transition:none}
}

/* ---- Sayfa açılış iskeleti: her tür gerçek sayfanın ilk ekranı ölçülerek çizildi ----
   Ölçüler 1382px genişlikte alındı; içerik header hizasında (50px / maks. 1940px). */
.vq-pskel{--pk:max(50px,calc((100% - 1940px) / 2));position:fixed;inset:0;z-index:2000000000;overflow:hidden;background:#090e17;
  animation:vqPSkelOut .3s ease 3s forwards}
.vq-pskel.is-done{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility 0s linear .35s}
.vq-pskel *{box-sizing:border-box}
.vq-pskel-b{display:block;flex:0 0 auto;position:relative;overflow:hidden;border-radius:8px;background:#18213a;max-width:100%}
.vq-pskel-b:after{content:"";position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(100deg,transparent 25%,rgba(167,139,250,.22) 50%,transparent 75%);animation:vqPSkelShimmer 1.4s ease-in-out infinite}
.vq-pskel-page{padding-left:var(--pk);padding-right:var(--pk)}
.vq-pskel-col{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.vq-pskel-row{display:flex;flex-wrap:nowrap;gap:12px;min-width:0}
.vq-pskel-wrap{display:flex;flex-wrap:wrap;gap:7px}
.vq-pskel-box{display:block;border:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.025);border-radius:18px}
.vq-pskel-poster23{aspect-ratio:2/3;width:100%;height:auto;border-radius:12px}
.vq-pskel-pcard{display:block;min-width:0}
.vq-pskel-grid{display:grid;gap:12px}
.vq-pskel-divider{display:block;height:1px;margin:28px 0 35px;background:rgba(255,255,255,.07)}

/* Sahne (hero) alanları: koyu arka plan + yumuşak geçiş, içerik alttan hizalı */
.vq-pskel-stage{position:relative;background:linear-gradient(180deg,#0e1526 0%,#0b1120 70%,#090e17 100%)}
.vq-pskel-stage--hero{display:flex;flex-direction:column;justify-content:flex-end;min-height:100vh}
.vq-pskel-stage--home{display:block;min-height:min(calc(100vh + 91px),995px);padding-top:clamp(232px,calc(232px + (100vh - 704px) * .44),332px)}
.vq-pskel-stage--home.is-member{padding-top:clamp(150px,calc(100vh - 661px),260px)}
.vq-pskel-stage--catalog{padding:106px 0 76px}
.vq-pskel-stage--detail{justify-content:flex-start;min-height:0;padding:190px 0 121px}

/* Katalog (Filmler / Diziler) */
.vq-pskel-catalog{display:flex;gap:28px;padding-top:42px}
.vq-pskel-aside{flex:0 0 300px;height:574px;padding:19px}
.vq-pskel-results{flex:1;min-width:0}
.vq-pskel-results-head{display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 15px 0 18px}
.vq-pskel-grid--catalog{margin-top:18px;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 15px}

/* Film / dizi detayı */
.vq-pskel-moodbox{width:min(760px,100%);min-height:87px;margin-top:19px;padding:17px}
.vq-pskel-desk,.vq-pskel-mob{display:block;width:100%}
.vq-pskel-mob{display:none}
.vq-pskel-grid--info{margin-top:18px;grid-template-columns:repeat(4,minmax(0,1fr))}
.vq-pskel-infocard{height:70px;padding:16px 18px;border-radius:14px}

/* Üstten başlayan sayfalar */
.vq-pskel-top{padding-top:110px}
.vq-pskel-top--profile{padding-top:130px}
.vq-pskel-top--grid,.vq-pskel-top--list{padding-top:150px}

/* Oyuncu */
.vq-pskel-personcard{display:flex;align-items:center;gap:62px;padding:43px;border-radius:28px;background:linear-gradient(120deg,rgba(124,58,237,.10),rgba(255,255,255,.02))}
.vq-pskel-personinfo{flex:1}
.vq-pskel-grid--stats3{width:100%;margin-top:49px;grid-template-columns:repeat(3,minmax(0,1fr))}
.vq-pskel-stat{height:71px;padding:15px 17px;border-radius:16px}
.vq-pskel-grid--posters6{margin-top:18px;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px 12px}
.vq-pskel-top--grid .vq-pskel-grid--posters6{margin-top:0}

/* Profil */
.vq-pskel-profilecard{display:flex;justify-content:space-between;gap:24px;margin-top:26px;height:364px;padding:29px;border-radius:28px;background:linear-gradient(120deg,rgba(124,58,237,.10),rgba(255,255,255,.02))}
.vq-pskel-identity{gap:26px;align-items:flex-start;padding:8px 0 0 6px}
.vq-pskel-rankbox{flex:0 0 326px;height:306px;padding:21px;border-radius:22px}
.vq-pskel-librarycard{margin-top:22px;padding:21px;border-radius:24px}
.vq-pskel-grid--libstats{margin-top:16px;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.vq-pskel-libstat{height:56px;padding:13px;border-radius:12px}

/* Türler (yatay kartlar) */
.vq-pskel-grid--genres{margin-top:30px;grid-template-columns:repeat(4,minmax(0,1fr))}
.vq-pskel-genrecard{display:flex;align-items:center;gap:14px;height:92px;padding:0 20px 0 17px}

@keyframes vqPSkelOut{to{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes vqPSkelShimmer{to{transform:translateX(100%)}}

@media(max-width:1400px){
  .vq-pskel-grid--catalog{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:1180px){
  .vq-pskel-aside{display:none}
  .vq-pskel-grid--catalog,.vq-pskel-grid--posters6{grid-template-columns:repeat(4,minmax(0,1fr))}
  .vq-pskel-grid--genres{grid-template-columns:repeat(3,minmax(0,1fr))}
  .vq-pskel-rankbox{display:none}
  .vq-pskel-grid--libstats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .vq-pskel-grid--genres{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vq-pskel-grid--info{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .vq-pskel{--pk:16px}
  .vq-pskel-stage--home,.vq-pskel-stage--home.is-member{min-height:0;padding-top:120px;padding-bottom:40px}
  .vq-pskel-hero-posters>.vq-pskel-b:first-child{width:150px!important;height:225px!important}
  .vq-pskel-hero-posters>.vq-pskel-b:nth-child(n+2){width:96px!important;height:142px!important}
  .vq-pskel-hero-posters>.vq-pskel-b:nth-child(n+4){display:none}
  .vq-pskel-stage--catalog{padding:96px 0 40px}
  .vq-pskel-stage--detail{padding:188px 0 60px}
  .vq-pskel-desk{display:none}
  .vq-pskel-mob{display:block}
  .vq-pskel-moodbox{padding:14px}
  .vq-pskel-grid--catalog,.vq-pskel-grid--posters6{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vq-pskel-grid--catalog>.vq-pskel-pcard:nth-child(n+5),.vq-pskel-grid--posters6>.vq-pskel-pcard:nth-child(n+5){display:none}
  .vq-pskel-personcard{flex-direction:column;align-items:flex-start;gap:24px;padding:20px}
  .vq-pskel-personcard>.vq-pskel-b:first-child{width:160px!important;height:220px!important}
  .vq-pskel-grid--stats3{margin-top:24px;gap:8px}
  .vq-pskel-profilecard{height:auto;padding:20px}
  .vq-pskel-identity{flex-direction:column;gap:12px}
  .vq-pskel-identity>.vq-pskel-b:first-child{margin-top:0!important;width:110px!important;height:110px!important}
  .vq-pskel-grid--libstats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vq-pskel-grid--genres{grid-template-columns:minmax(0,1fr)}
  .vq-pskel-top,.vq-pskel-top--profile{padding-top:92px}
  .vq-pskel-top--grid,.vq-pskel-top--list{padding-top:96px}
}
@media(prefers-reduced-motion:reduce){.vq-pskel-b:after{animation:none}}

/* ---- Sezon tıklanınca bölüm listesi iskeleti (dizi detayı) ----
   Gerçek bölüm carousel'i: 1200px+ 4 kart, 760-1199px 2, altı 1 kart (yanlarda 30px).
   Kart: 194px (üst 154px: %57 görsel + %43 metin, alt 40px). */
.vq-ep-skel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.vq-ep-skel-card{display:flex;flex-direction:column;height:194px;margin:0 6px;overflow:hidden;border:1px solid rgba(148,163,184,.16);border-radius:15px;background:#0c1420}
.vq-ep-skel-top{display:grid;grid-template-columns:57% 43%;height:154px;flex:0 0 154px}
.vq-ep-skel-img{width:100%!important;height:154px!important;border-radius:0!important;max-width:none}
.vq-ep-skel-copy{display:flex;flex-direction:column;align-items:flex-start;padding:13px 12px;min-width:0}
.vq-ep-skel-row{display:flex;gap:6px}
.vq-ep-skel-foot{display:flex;align-items:center;gap:9px;height:40px;padding:0 12px;border-top:1px solid rgba(148,163,184,.08)}
@media(max-width:1199px){
  .vq-ep-skel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vq-ep-skel-card:nth-child(n+3){display:none}
}
@media(max-width:759px){
  .vq-ep-skel{grid-template-columns:minmax(0,1fr);padding:0 30px}
  .vq-ep-skel-card:nth-child(n+2){display:none}
  .vq-ep-skel-card{height:190px}
  .vq-ep-skel-top{height:150px;flex-basis:150px}
  .vq-ep-skel-img{height:150px!important}
}
