/**
 * Site-wide CLS rezervleri — sabit çerçeve / min-height / contain
 * Detaydaki mir-tab-stage mantığının tüm sayfalara yayılımı.
 */

:root {
  --cls-card-foot: 2.9rem;
  --cls-chip-row: 1.35rem;
  --cls-hps-row: 3.65rem;
  --cls-hps-gap: 0.4rem;
  --cls-comments-slot: 14rem;
  --cls-grid-stage-sm: clamp(16rem, 42vh, 24rem);
  --cls-grid-stage-md: clamp(20rem, 48vh, 30rem);
  --cls-grid-stage-lg: clamp(24rem, 52vh, 36rem);
}

/* —— Ortak içerik sahnesi (sekme / panel) —— */
.cls-stage {
  position: relative;
  overflow: hidden;
  contain: layout size style;
  min-height: var(--cls-grid-stage-sm);
}

/* —— Anime kartları (home / filtre / az / genre) —— */
.mac__body {
  min-height: var(--cls-card-foot);
  contain: layout;
}
.mac__chips {
  min-height: var(--cls-chip-row);
}

/* Grid sahneleri — sayfa/filtre değişince yükseklik çökmesin */
#recentUpdateGrid.anime-grid-modern,
.recent-update-section .anime-grid-modern {
  min-height: var(--cls-grid-stage-lg);
  contain: layout;
}
#top100Grid.anime-grid-modern {
  min-height: var(--cls-grid-stage-md);
  contain: layout;
}
#archiveGrid.anime-grid-modern,
.filter-results .archive-grid,
.filter-results .anime-grid-modern,
.archive-grid.anime-grid-modern {
  min-height: var(--cls-grid-stage-lg);
  contain: layout;
}
.filter-empty {
  min-height: var(--cls-grid-stage-md);
  display: flex;
  align-items: center;
  justify-content: center;
  contain: layout;
}

/* Mobil kart kaydırıcı — 2×2 sabit viewport */
.mcs__viewport {
  min-height: calc(
    2 * ((100% / 2) * 2.7 / 2) + 2 * var(--cls-card-foot) + 1.2rem
  );
  min-height: clamp(16rem, 52vw, 22rem);
  contain: layout;
}
.mcs-root {
  contain: layout;
}

/* —— Popüler sidebar —— */
.hps__list {
  min-height: calc(5 * var(--cls-hps-row) + 4 * var(--cls-hps-gap));
  contain: layout;
}
.hps__empty {
  min-height: calc(5 * var(--cls-hps-row) + 4 * var(--cls-hps-gap));
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  contain: layout;
}
.hps-skel {
  display: grid;
  gap: var(--cls-hps-gap);
  min-height: calc(5 * var(--cls-hps-row) + 4 * var(--cls-hps-gap));
  contain: layout;
}
.hps-skel__row {
  min-height: var(--cls-hps-row);
  border-radius: 0.55rem;
  border: 1px solid var(--theme-border, rgba(255, 255, 255, 0.08));
  background: color-mix(in srgb, var(--theme-surface, #1a1a22) 70%, transparent);
  opacity: 0.55;
}

/* —— İzleme: yorum sabit çerçeve —— */
.watch-comments-frame {
  min-height: 24rem;
  contain: layout style;
}
.watch-comments-frame > .tc {
  min-height: 24rem;
  box-sizing: border-box;
}
.watch-comments-slot {
  min-height: 24rem;
  border-radius: 0.75rem;
  background: color-mix(in srgb, var(--theme-bg, #0b0b10) 70%, transparent);
  border: 1px solid color-mix(in srgb, var(--theme-text, #fff) 8%, transparent);
  contain: layout;
}
@media (max-width: 700px) {
  .watch-comments-frame,
  .watch-comments-frame > .tc,
  .watch-comments-slot {
    min-height: 18rem;
  }
}
/* Bölüm listeleri doğal yükseklik — sabit sahne yok (detay/izleme) */
.aml-ep-row {
  min-height: 2.75rem;
}

/* —— Takvim —— */
.sch-grid {
  min-height: clamp(12rem, 30vh, 20rem);
  contain: layout;
}

/* —— Haber kartı —— */
.nx-card__body {
  min-height: 4.5rem;
  contain: layout;
}

/* —— Hero slider gövde —— */
.msl-body {
  min-height: clamp(8rem, 22vh, 11rem);
}
.msl-logo {
  min-height: 3.2rem;
}

/* —— Günlük seçim: transform CLS yok —— */
@keyframes dailyPickIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (max-width: 700px) {
  :root {
    --cls-comments-slot: 11rem;
  }
  #recentUpdateGrid.anime-grid-modern,
  .recent-update-section .anime-grid-modern,
  #top100Grid.anime-grid-modern {
    min-height: var(--cls-grid-stage-sm);
  }
  #archiveGrid.anime-grid-modern,
  .filter-results .archive-grid,
  .filter-results .anime-grid-modern {
    min-height: var(--cls-grid-stage-md);
  }
}

@media (prefers-reduced-motion: reduce) {
  @keyframes dailyPickIn {
    from { opacity: 1; }
    to { opacity: 1; }
  }
}
