.provider-player { display:flex; flex-direction:column; height:440px; width:100%; background:#000; }
.detail-banner .provider-player { position:absolute; inset:44px 0 0; height:auto; }
.provider-player iframe { flex:1; min-height:0; width:100%; border:0; }
.provider-player-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 12px; padding:8px 12px; color:#ddd; font-size:12px; }
.provider-player-footer a { color:var(--accent, #c8ff00); text-decoration:underline; }
.detail-play-btn:disabled { opacity:.6; cursor:default; }
.vpm-box:has(.provider-player) { aspect-ratio:auto; height:min(70vh, 560px); }
.vpm-box .provider-player { height:100%; }
.vpm-box:has(.provider-player) + .vpm-controls-bar .vpm-progress-row,
.vpm-box:has(.provider-player) + .vpm-controls-bar .vpm-play-btn,
.vpm-box:has(.provider-player) + .vpm-controls-bar [title="Mute"],
.detail-banner:has(.provider-player) .clip-btn { display:none; }

/* Episode picker: Episodes / Next buttons in both players, and the episode panel. */
.player-ep-bar { position:absolute; top:10px; left:140px; z-index:20; display:flex; gap:6px; }
.player-ep-btn,.vpm-text-btn { background:rgba(0,0,0,0.75); border:1px solid rgba(255,255,255,0.25); color:#fff; padding:6px 12px; border-radius:8px; cursor:pointer; font-size:12px; font-weight:600; white-space:nowrap; }
.player-ep-btn:hover,.vpm-text-btn:hover { background:rgba(255,255,255,0.14); }
.player-ep-btn:focus-visible,.vpm-text-btn:focus-visible,.epk-item:focus-visible,.epk-close:focus-visible,.epk-season:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.vpm-eps-controls { display:inline-flex; gap:6px; margin-right:4px; }
.vpm-eps-controls[hidden],.vpm-text-btn[hidden] { display:none; }
.vpm-text-btn { background:rgba(255,255,255,0.06); }

#ep-picker { position:fixed; inset:0; z-index:2100; display:none; justify-content:flex-end; background:rgba(0,0,0,0.45); }
#ep-picker.open { display:flex; }
.epk-panel { width:min(380px,100%); height:100%; display:flex; flex-direction:column; background:var(--surface,#1a1a28); border-left:1px solid var(--border2); color:var(--text); }
.epk-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 18px 12px; }
.epk-head small { display:block; font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.epk-head b { display:block; font-size:16px; margin-top:2px; }
.epk-close { width:36px; height:36px; flex-shrink:0; border-radius:50%; border:1px solid var(--border2); background:transparent; color:var(--text); cursor:pointer; }
.epk-seasons { display:flex; gap:6px; padding:0 18px 12px; overflow-x:auto; }
.epk-season { padding:6px 12px; border-radius:999px; border:1px solid var(--border2); background:transparent; color:var(--text); font-size:12px; font-weight:600; cursor:pointer; white-space:nowrap; }
.epk-season[aria-pressed="true"] { background:var(--text); color:var(--bg); }
.epk-list { list-style:none; margin:0; padding:0 10px 18px; overflow-y:auto; flex:1; }
.epk-item { width:100%; display:flex; align-items:center; gap:12px; padding:12px 10px; border:0; border-radius:10px; background:transparent; color:var(--text); text-align:left; cursor:pointer; font:inherit; }
.epk-item:hover:not([disabled]) { background:rgba(255,255,255,0.06); }
.epk-item[disabled] { cursor:default; }
.epk-item[disabled]:not(.is-current) { opacity:.5; }
.epk-item.is-current { background:rgba(255,255,255,0.08); }
.epk-n { width:24px; flex-shrink:0; text-align:center; font-weight:700; color:var(--muted); font-variant-numeric:tabular-nums; }
.epk-t { flex:1; min-width:0; font-size:14px; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.epk-s { flex-shrink:0; font-size:11px; color:var(--muted); }
.epk-item.is-current .epk-s { color:var(--text); font-weight:700; }

@media (max-width:768px) {
  #ep-picker { align-items:flex-end; }
  .epk-panel { width:100%; height:auto; max-height:72vh; border-left:0; border-top:1px solid var(--border2); border-radius:18px 18px 0 0; padding-bottom:env(safe-area-inset-bottom,0px); }
}
@media (max-width:480px) {
  .player-ep-bar { top:62px; left:10px; }
  .vpm-text-btn { padding:6px 9px; }
}
