/* ---------- Film & TV page ---------- */
.page-hero--film .media-fade {
  --fade-h: linear-gradient(90deg, rgba(15,15,15,.8) 0%, rgba(15,15,15,.15) 42.5%, rgba(15,15,15,.05) 54.4%, rgba(15,15,15,.15) 67.6%, rgba(15,15,15,.8) 100%);
  --fade-v: linear-gradient(0deg, rgba(15,15,15,.8) 0%, rgba(15,15,15,.1) 49.5%);
}

.films { padding-block: var(--section-y); }
.film-card { display: flex; align-items: flex-start; gap: 60px; padding: 60px; }
.film-card + .film-card { border-top: 1px solid var(--border); }

.film-card__cues {
  flex: 1 1 0; min-width: 0; align-self: stretch;
  display: flex; flex-direction: column; align-items: flex-end; justify-content: center; gap: 16px;
}
.film-card__cues .track { width: 100%; }
.track--cue { box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.film-card__clip { display: inline-flex; align-items: center; justify-content: center; gap: 4px; color: var(--accent); text-decoration: underline; text-underline-position: from-font; }
.film-card__clip:hover { filter: brightness(1.2); }
.film-card__clip svg { width: 18px; height: 18px; flex: none; }

.lightbox--film .lightbox__media {
  width: min(92vw, 1400px, calc((100dvh - 96px) * 16 / 9));
  aspect-ratio: 16 / 9;
  max-height: calc(100dvh - 96px);
  background: #000;
  border-radius: 4px;
  overflow: hidden;
}
.lightbox--film .lightbox__media video,
.lightbox--film .lightbox__media iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  object-fit: contain;
}

.film-card__info { flex: 1 1 0; min-width: 0; align-self: stretch; display: flex; gap: 60px; }
.film-card__poster {
  flex: none; width: 135px; height: 200px; margin: 0;
  border: 1px solid var(--border-secondary); border-radius: 4px; overflow: hidden;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25); background: var(--bg-card);
}
.film-card__poster img { width: 100%; height: 100%; object-fit: cover; }
.film-card__text { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.film-card__meta { color: var(--text-muted); }
.film-card__title { font-size: var(--fs-h3); line-height: 1.1; }
.btn--outline-light { border-color: var(--border-secondary); }
.btn--outline-light:hover { border-color: var(--text); }
.btn svg { width: 16px; height: 16px; flex: none; }

@media (max-width: 900px) {
  .film-card { flex-direction: column-reverse; gap: 28px; padding: 40px 0; }
  .film-card__cues { align-self: stretch; align-items: stretch; }
  .film-card__clip { align-self: flex-start; }
  .film-card__info { gap: 24px; }
}
@media (max-width: 480px) {
  .film-card__poster { width: 105px; height: 156px; }
}
.film-card__cues .track-list { gap: 16px; }
