.player-page{padding-top:34px;padding-bottom:40px}.player-heading{margin-bottom:18px}.player-heading a{color:var(--muted);font-size:12px}.player-heading a:hover{color:#fff}.player-heading h1{font-size:24px;margin:10px 0 0}.player-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.player-layout--movie{grid-template-columns:minmax(0,1fr)}.player-main-column{min-width:0}.video-frame{background:#000;border:1px solid #303442;border-radius:12px;overflow:hidden;box-shadow:0 18px 55px #0008}.video-frame iframe{display:block;width:100%;height:100%;border:0;background:#000}.video-frame #bf-main-player{display:block;width:100%;aspect-ratio:16/9;min-height:320px;background:#000}.video-frame #bf-main-player>iframe,.video-frame #bf-main-player>.art-video-player{width:100%;height:100%}

.episode-playlist{display:flex;min-height:0;max-height:550px;flex-direction:column;overflow:hidden;border:1px solid rgba(100,137,255,.14);border-radius:8px;background:#080c14;box-shadow:0 18px 55px #0006}.playlist-head{padding:17px 14px 10px;border-bottom:1px solid rgba(255,255,255,.08);background:#0d121d}.playlist-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.playlist-eyebrow{display:block;margin-bottom:3px;color:#7899ff;font-size:9px;font-weight:800;letter-spacing:1.5px}.episode-playlist h2{margin:0;color:#fff;font-size:18px;line-height:1.2}.playlist-title small{margin-top:8px;color:#7f899e;font-size:10px;white-space:nowrap}.season-tabs{display:flex;gap:6px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:thin;scrollbar-color:#4564bd #111722}.season-tabs a{display:grid;min-width:36px;height:30px;flex:none;place-items:center;padding:0 8px;border:1px solid #354158;border-radius:5px;background:#101722;color:#aab3c5;font-size:10px;font-weight:800;transition:.18s}.season-tabs a.active,.season-tabs a:hover{border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 4px 14px #5c85ff38}

.episode-list{display:grid;gap:5px;overflow:auto;padding:9px 9px 14px;scrollbar-width:thin;scrollbar-color:#4564bd #101621}.episode-list::-webkit-scrollbar{width:6px}.episode-list::-webkit-scrollbar-track{background:#101621}.episode-list::-webkit-scrollbar-thumb{border-radius:10px;background:#4564bd}.episode-list a{display:flex;min-height:53px;align-items:center;gap:9px;margin:0;padding:7px 8px;border:1px solid rgba(100,137,255,.12);border-radius:6px;background:#0d141f;color:#b6becd;font-size:12px;transition:.16s}.episode-list a:hover{border-color:rgba(100,137,255,.48);background:#151e31;color:#fff;transform:translateX(2px)}.episode-list a.active{border-color:var(--accent);background:linear-gradient(90deg,#1f3266,#17223d);color:#fff;box-shadow:inset 3px 0 0 #87a2ff}.episode-play{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:5px;background:#182235;color:#b8c8f7;font-size:10px;font-weight:800}.episode-list a.active .episode-play,.episode-list a:hover .episode-play{background:var(--accent);color:#fff}.episode-name{flex:1;font-weight:650}.episode-arrow{display:grid;width:20px;place-items:center;color:#89a5ff;font-size:10px;line-height:1}.episode-list a.active .episode-arrow{color:#fff}

@media(max-width:700px){.player-layout{grid-template-columns:1fr}.episode-playlist{height:390px;max-height:390px}.player-heading h1{font-size:19px}.playlist-head{padding:13px 12px}.episode-list{padding:8px}.episode-list a{min-height:40px}}
.episode-name{display:flex;min-width:0;flex:1;flex-direction:column}.episode-name small{display:block;margin-top:2px;overflow:hidden;color:#818a9f;font-size:10px;font-weight:500;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.episode-list a:hover .episode-name small,.episode-list a.active .episode-name small{color:#c8d3ef}
.playlist-footer{display:flex;min-height:38px;align-items:center;justify-content:flex-end;padding:0 14px;border-top:1px solid rgba(255,255,255,.08);background:#0d121d;color:#778196;font-size:10px;font-weight:700}
.player-mode-px .playlist-eyebrow::after{content:" X"}.player-mode-flix .playlist-eyebrow::after{content:" FLIX"}.player-mode-pw .playlist-eyebrow::after{content:" W"}
.player-mode-flix .bf-audio-options,.player-mode-pw .bf-audio-options{display:none}
.bf-public-players,.bf-player-select{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}.bf-public-players a,.bf-player-select a{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 14px;border:1px solid rgba(100,137,255,.22);border-radius:7px;background:#111722;color:#cbd5e1;text-decoration:none;font-size:13px;font-weight:700;transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.bf-public-players a:hover,.bf-player-select a:hover{border-color:#7898ff;background:#1c294b;color:#fff}.bf-public-players a.active,.bf-player-select a.active{border-color:#5c85ff;background:#5c85ff;color:#fff;box-shadow:0 3px 12px rgba(92,133,255,.28)}
.playlist-head{position:relative}.bf-audio-options{position:absolute;z-index:2;top:10px;left:122px;display:flex;gap:7px;margin:0}.bf-audio-options a{display:inline-flex;min-height:25px;align-items:center;justify-content:center;padding:4px 9px;border:1px solid #354158;border-radius:5px;background:#101722;color:#aab3c5;font-size:9px;font-weight:800;text-decoration:none;transition:.18s}.bf-audio-options a:hover,.bf-audio-options a.active{border-color:var(--accent);background:var(--accent);color:#fff}@media(max-width:520px){.bf-audio-options{left:110px;gap:5px}.bf-audio-options a{padding:4px 7px;font-size:8px}}
.episode-synopsis{margin-top:20px;padding:20px 22px;border:1px solid #303442;border-radius:12px;background:#181b24;color:#aeb5c5}.episode-synopsis>span{color:#858da2;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.episode-synopsis h2{margin:7px 0 10px;color:#fff;font-size:19px}.episode-synopsis p{max-width:900px;margin:0;line-height:1.7}@media(max-width:700px){.episode-synopsis{padding:16px}}
.season-tabs{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;overflow:visible}.season-tabs a{min-width:0;width:auto;padding:0 4px}
/* Reserva desde o primeiro paint exatamente a altura do vídeo. Evita a
   playlist nascer com 550px e encolher quando player-layout.js iniciar. */
@media(min-width:701px){.episode-playlist{height:clamp(322px,calc((100vw - 452px)*.5625 + 2px),502px);max-height:none}}
