/* Сообщение остаётся внутри того же полноэкранного контейнера видео. */
.player-failure {
  position: absolute;
  inset: 0;
  z-index: 8;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(108px, calc(96px + env(safe-area-inset-bottom))) max(16px, env(safe-area-inset-left));
  overflow: auto;
  color: #fff;
  background: rgba(12, 12, 12, .94);
  text-align: center;
}
.player-failure__title { margin: 0; font-size: 18px; }
.player-failure__text { max-width: 480px; margin: 0; font-size: 13px; line-height: 1.5; color: #d2d2d2; }
.player-failure__retry { min-height: 44px; padding: 10px 18px; border: 0; border-radius: 6px; background: #ff5500; color: #fff; font: inherit; cursor: pointer; }
.player-failure__retry:disabled { opacity: .65; cursor: wait; }
.player-failure__retry:focus-visible, .player-failure summary:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.player-failure details { max-width: 100%; font-size: 12px; color: #bcbcbc; }
.player-failure summary { cursor: pointer; padding: 6px; }
.player-failure pre { max-height: 140px; overflow: auto; text-align: left; font-size: 11px; white-space: pre-wrap; overflow-wrap: anywhere; }
.custom-video-wrapper[data-player-failure="true"] .player-controls { z-index: 9; opacity: 1; pointer-events: auto; }
.custom-video-wrapper[data-player-failure="true"] [data-player-control="play"],
.custom-video-wrapper[data-player-failure="true"] [data-player-control="seek"] { visibility: hidden; }
@media (max-height: 420px) {
  .player-failure { gap: 7px; justify-content: flex-start; }
  .player-failure__title { font-size: 15px; }
  .player-failure__text { font-size: 12px; }
}
