/* Captions are presentational; player controls and linked video cards own input. */
.wpf-caption-overlay,
.wpf-caption-overlay * {
  pointer-events: none !important;
}

/* The vendor wildcard restores pointer handling on buffering descendants. */
.fts-nextgen-player-ui .wpf-buffering-overlay,
.fts-nextgen-player-ui .wpf-buffering-overlay * {
  pointer-events: none !important;
}

/* FTS: keep stacked caption cues from overlapping in live embeds. */
.wpf-caption-overlay {
  gap: 0.2em;
}

.wpf-caption-overlay .wpf-caption-label:not(.wpf-caption-label--grid) {
  line-height: 1.45 !important;
  margin: 0.18em 0 !important;
}

.wpf-caption-overlay .wpf-caption-label--cea608,
.wpf-caption-overlay .wpf-caption-label--grid.wpf-caption-label--cea608 {
  line-height: 1.3 !important;
  padding: 0.08em 0.22em !important;
}

/* Keep the custom live title in the same auto-hide lifecycle as Next Gen controls. */
.wpf-live-title {
  opacity: 0;
  transition: opacity var(--wpf-transition-speed) ease;
}

.wpf-player-ui.wpf-controls-visible .wpf-live-title {
  opacity: 1;
}

.fts-nextgen-player-ui[data-layout='fts-live-title-small'] .wpf-live-title,
.fts-nextgen-player-ui[data-layout='fts-live-title-micro'] .wpf-live-title {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .wpf-live-title {
    transition: none;
  }
}
