/* Stylish player container with shadowed background */
.hls-tv-player-wrap {
  position: relative;
  width: 100%;
  background: #000;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(0,0,0,0.35);
}
.hls-tv-player-wrap:after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(0,0,0,0.15), rgba(0,0,0,0));
  mix-blend-mode: multiply;
}
.aspect-16-9::before { content: ""; display: block; padding-top: 56.25%; }
.aspect-4-3::before  { content: ""; display: block; padding-top: 75%; }
.aspect-21-9::before { content: ""; display: block; padding-top: 42.85%; }
.aspect-1-1::before  { content: ""; display: block; padding-top: 100%; }

.hls-tv-player-wrap > video,
.hls-tv-player-wrap > .hls-tv-player-error {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.hls-tv-player { background: #000; }

.hls-tv-player-error {
  display: grid;
  place-items: center;
  color: #fff;
  font: 500 16px/1.4 system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  padding: 24px;
  text-align: center;
  background: radial-gradient(80% 80% at 50% 20%, rgba(255,255,255,0.06), rgba(0,0,0,0.6) 60%), #000;
}

.shadowed { filter: drop-shadow(0 10px 25px rgba(0,0,0,0.45)); }
