.mono-season-details { display: flex; align-items: flex-start; gap: 24px; }
.mono-season-details .ep-specs { flex: 1; min-width: 0; }
.mono-season-poster { width: 160px; height: auto; flex: 0 0 160px; border-radius: var(--radius-md); }
.mono-season-details dd { overflow-wrap: anywhere; }
.ep-head__poster.mono-landscape { aspect-ratio: 16 / 9; height: auto; }
.ep-head__poster.mono-landscape img { width: 100%; height: 100%; object-fit: contain; }
.mono-tmdb-gallery > .tmdb-gallery { margin: 0; }
.mono-tmdb-gallery > .tmdb-gallery > h2 { display: none; }
.mono-tmdb-gallery .tmdb-stills { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.mono-tmdb-gallery .still img { width: 100%; height: 100%; object-fit: cover; }
.mono-episode-cast > .tmdb-extra { grid-column: 1 / -1; }
.mono-episode-cast > .tmdb-extra > h2 { display: none; }
.mono-person-placeholder { aspect-ratio: 3 / 4; background: var(--bg-soft); }
.mono-tmdb-crew > .tmdb-extra, .mono-tmdb-trailers > .tmdb-extra { margin: 0; }
.mono-tmdb-crew .tmdb-cast-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 16px; }
.mono-tmdb-crew .tmdb-cast-item { min-width: 0; text-align: center; }
.mono-tmdb-crew .tmdb-cast-item img, .mono-tmdb-crew .tmdb-cast-ph {
  display: block; width: 100%; aspect-ratio: 2 / 3; object-fit: cover;
  background: var(--bg-soft); border-radius: var(--radius-md);
}
.mono-tmdb-crew .tmdb-cast-name { display: block; margin-top: 8px; font-weight: 600; color: var(--navy); overflow-wrap: anywhere; }
.mono-tmdb-crew .tmdb-cast-role { display: block; color: var(--text-2); font-size: 13px; overflow-wrap: anywhere; }
.mono-tmdb-trailers .tmdb-trailer-frame { position: relative; aspect-ratio: 16 / 9; padding: 0; background: #111; border-radius: var(--radius-md); overflow: hidden; margin: 12px 0 24px; }
.mono-tmdb-trailers iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mono-tmdb-trailers .tmdb-trailer-name { color: var(--navy); }
[data-tmdb-posters] .posters-block__cover { max-height: none; }
[data-tmdb-posters] img { object-fit: contain; }
.show-head__subtitle:empty { display: none; }
@media (max-width: 768px) {
  .mono-tmdb-gallery .tmdb-stills { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .mono-season-details { flex-direction: column; gap: 16px; }
  .mono-season-poster { width: 130px; flex: none; }
  .mono-season-details .ep-specs { width: 100%; }
  .mono-tmdb-crew .tmdb-cast-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .posters-block__list { --posters-visible: 2; }
  .posters-block__cover { max-height: none; }
  .posters-block__cover img { object-fit: contain; }
}

/* Reuse compact gallery/card proportions without rebuilding engine markup. */
.mono-tmdb-gallery .stills.tmdb-stills {
 display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 14px;
}
.mono-tmdb-gallery .stills.tmdb-stills > .still {
 width: 100%; max-width: none; aspect-ratio: 16 / 9; height: auto;
}
.mono-tmdb-gallery .stills.tmdb-stills > .still img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mono-tmdb-crew .tmdb-cast-grid {
 display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 170px;
 gap: 16px; overflow-x: auto; padding: 2px 2px 12px; scroll-snap-type: x proximity;
}
.mono-tmdb-crew .tmdb-cast-item {
 align-self: start; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-md);
 background: var(--surface); text-align: left; scroll-snap-align: start;
}
.mono-tmdb-crew .tmdb-cast-item img, .mono-tmdb-crew .tmdb-cast-ph {
 width: 100%; height: auto; aspect-ratio: 3 / 4; border-radius: 0; object-fit: cover;
}
.mono-tmdb-crew .tmdb-cast-name { margin: 10px 12px 4px; font-size: 14px; line-height: 1.4; }
.mono-tmdb-crew .tmdb-cast-role { margin: 0 12px 12px; font-size: 12px; line-height: 1.4; }
@media (max-width: 768px) {
 .mono-tmdb-gallery .stills.tmdb-stills { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .mono-tmdb-crew .tmdb-cast-grid { grid-auto-columns: 145px; gap: 12px; }
}

.show-head__subtitle { margin: 8px 0 0; font-size: 1.05rem; font-weight: 600; line-height: 1.35; text-transform: none; }
