/* Detail pages: consistent rounded rectangles and softer text hierarchy. */
.detail-page { --detail-copy:#b9bec7; --detail-strong:#d8dce2; }
.detail-page button,
.detail-page .detail-play-button,
.detail-page .detail-action-button,
.detail-page .back-link,
.detail-page .genre-list a,
.detail-page .season-tab,
.detail-page .episode-pagination a {
  border-radius:16px;
}
.detail-page .detail-play-button,
.detail-page .detail-action-button {
  min-height:50px; height:50px; gap:10px; padding-inline:20px;
  font-size:13px; font-weight:700; letter-spacing:0;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.detail-page .detail-play-button {
  color:#13161b; background:#e8eaee; border-color:#e8eaee;
  box-shadow:0 6px 18px #0003;
}
.detail-page .detail-play-button:hover { color:#0c0e12; background:#fff; border-color:#fff; transform:none; }
.detail-page .detail-action-button {
  color:#c8cdd5; background:rgba(22,24,29,.82); border-color:rgba(255,255,255,.18);
  box-shadow:none; backdrop-filter:none;
}
.detail-page .detail-action-button:hover { color:#f0f2f5; background:rgba(40,43,49,.95); border-color:rgba(255,255,255,.32); transform:none; box-shadow:none; }
.detail-page .detail-synopsis p { color:var(--detail-copy); font-weight:500; line-height:1.65; text-shadow:0 1px 3px #0008; }
.detail-page .detail-banner-facts dd,
.detail-page .detail-facts dd,
.detail-page .cast-card strong,
.detail-page .episode-card h3 { color:var(--detail-strong); }
.detail-page .detail-banner-facts dt,
.detail-page .detail-facts dt { color:#858b96; }
.detail-page .detail-meta-line,.detail-page .genre-list a,.detail-page .genre-list button { color:#bbc1ca; }
.detail-page .genre-list a,.detail-page .genre-list button { border-radius:10px; }
.detail-page .info-main p { color:var(--detail-copy); }
.detail-page .season-tab { color:#b9bec7; }
.detail-page .season-tab.is-active,.detail-page .season-tab.active { color:#f0f2f5; }
.detail-page button:focus-visible,.detail-page .detail-actions a:focus-visible { outline:2px solid #d8dce2; outline-offset:3px; }
/* Visible portrait-led cast rail, rather than tiny circular avatars. */
.detail-page .cast-grid {
  display:grid; grid-template-columns:none; grid-template-rows:none;
  grid-auto-flow:column; grid-auto-columns:148px; gap:16px;
  overflow-x:auto; overflow-y:hidden; padding:2px 0 14px;
  scroll-snap-type:x proximity; scroll-padding-inline:0;
  overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#ffffff30 transparent;
}
.detail-page .cast-card {
  display:block; min-height:0; padding:0; border:0; border-radius:10px;
  background:transparent; scroll-snap-align:start; content-visibility:visible;
}
.detail-page .cast-card:hover { transform:none; border:0; background:transparent; }
.detail-page .cast-card img,.detail-page .cast-avatar {
  display:block; width:100%; height:200px; margin:0 0 9px;
  object-fit:cover; object-position:center 25%; border:1px solid #ffffff1f;
  border-radius:10px; box-shadow:0 4px 12px #0003;
}
.detail-page .cast-avatar { display:grid; place-items:center; background:#171b22; color:#79818e; font-size:42px; font-weight:500; }
.detail-page .cast-card>div { padding:0 1px; }
.detail-page .cast-card strong {
  display:-webkit-box; overflow:hidden; white-space:normal;
  -webkit-box-orient:vertical; -webkit-line-clamp:2;
  color:#e4e7ec; font-size:13px; font-weight:700; line-height:1.4;
}
.detail-page .cast-card small {
  display:-webkit-box; overflow:hidden; white-space:normal; margin-top:3px;
  -webkit-box-orient:vertical; -webkit-line-clamp:2;
  color:#9da5b1; font-size:12px; font-weight:500; line-height:1.4;
}
@media(max-width:640px) {
  .detail-page .cast-grid { grid-auto-columns:138px; gap:12px; }
  .detail-page .cast-card img,.detail-page .cast-avatar { height:184px; }
  .detail-page .detail-play-button,.detail-page .detail-action-button { min-height:50px; height:50px; border-radius:16px; }
  .detail-page .detail-play-button { font-size:13px; }
  .detail-page .detail-action-button { font-size:10px; padding-inline:6px; }
}
@media(prefers-reduced-motion:reduce) {
  .detail-page .detail-play-button,.detail-page .detail-action-button { transition:none; }
}
