/* WebPlayer Elite — camada responsiva profissional */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas,iframe{max-width:100%}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}@media(hover:none){a:hover,.poster:hover,.movie-card:hover,.stream-card:hover,.ep:hover{transform:none!important}}

/* Home principal */
@media (min-width:901px) and (max-width:1280px){
  .app{padding-left:78px}.sidebar{width:78px}.side-logo{width:50px;margin-bottom:36px}.nav a{height:52px;font-size:22px}.content{padding:34px 28px}.hero{grid-template-columns:minmax(300px,1fr) minmax(280px,430px);gap:28px}.poster-box{height:245px}.stream-row{grid-template-columns:repeat(3,minmax(130px,1fr));max-width:820px}.cards{gap:20px}
}
@media (max-width:900px){
  .app{padding-left:0;padding-bottom:calc(76px + var(--safe-bottom));background-attachment:scroll;background-position:center top}
  .sidebar{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%!important;height:calc(68px + var(--safe-bottom))!important;padding:6px max(8px,var(--safe-right)) var(--safe-bottom) max(8px,var(--safe-left));z-index:100;background:rgba(4,8,18,.94)!important;backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08);display:flex!important;flex-direction:row!important;justify-content:center!important}
  .side-logo{display:none!important}.sidebar>.nav:not(.bottom){display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));width:min(560px,100%)!important;gap:4px!important}.sidebar .nav a{width:auto!important;height:52px!important;border:0!important;border-radius:14px!important;font-size:20px!important}.sidebar .nav a.active{box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}.sidebar .kids{font-size:11px!important}.sidebar .bottom{display:none!important}
  .content{padding:18px 14px 30px!important}.hero{grid-template-columns:1fr!important;gap:18px!important;min-height:0!important}.poster-box{order:-1;justify-self:stretch!important;width:100%!important;height:auto!important;aspect-ratio:16/9;margin:0!important}.info{padding-top:0!important;max-width:none!important}.info h1{font-size:clamp(24px,8vw,38px)!important;margin-bottom:18px!important}.meta{grid-template-columns:76px minmax(0,1fr)!important;gap:10px 12px!important;font-size:14px!important}.desc{font-size:14px}.stream-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;max-width:none!important}.stream-card{height:64px!important;font-size:16px!important}.rows{margin-top:20px!important}.cards{gap:14px!important;padding-bottom:16px!important;scrollbar-width:none}.cards::-webkit-scrollbar{display:none}.movie-card{flex:0 0 122px!important;height:183px!important}.channel-card{height:104px!important}.rank{font-size:84px!important;left:-22px!important}.row-head{gap:10px}.row-head h2{font-size:14px!important}.row-head a{white-space:nowrap}
}
@media (max-width:420px){.content{padding-left:10px!important;padding-right:10px!important}.stream-row{gap:8px!important}.stream-card{font-size:14px!important}.movie-card{flex-basis:112px!important;height:168px!important}.meta{grid-template-columns:68px minmax(0,1fr)!important}.play-feature{width:100%;justify-content:center}.sidebar>.nav:not(.bottom){gap:2px!important}.sidebar .nav a{font-size:18px!important}.sidebar .kids{font-size:10px!important}}

/* Catálogos/TV que usam tvui.php */
@media (min-width:901px) and (max-width:1180px){
  .layout.has-panel{grid-template-columns:76px 270px minmax(0,1fr)!important}.side{padding-left:8px!important;padding-right:8px!important}.panel{padding-left:8px!important;padding-right:10px!important}.main{padding-left:24px!important;padding-right:24px!important}.grid{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))!important;gap:18px!important}.channels{grid-template-columns:270px minmax(0,1fr)!important}.playerbox video,.playerbox iframe{height:auto!important;aspect-ratio:16/9!important;max-height:65vh}
}
@media (max-width:900px){
  .layout.has-panel{display:flex!important;flex-direction:column!important;min-height:100dvh!important;padding-bottom:calc(70px + var(--safe-bottom))}
  .layout.has-panel>.side{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;height:calc(66px + var(--safe-bottom))!important;padding:6px max(8px,var(--safe-right)) var(--safe-bottom) max(8px,var(--safe-left))!important;z-index:100!important;background:rgba(4,8,18,.94)!important;backdrop-filter:blur(18px);border-top:1px solid rgba(255,255,255,.08);display:flex!important;justify-content:center!important}
  .layout.has-panel>.side .icons{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));width:min(560px,100%)!important;gap:4px!important}.layout.has-panel>.side .icons a{width:auto!important;height:48px!important;border-radius:13px!important;font-size:19px!important}.layout.has-panel>.side .side-bottom,.layout.has-panel>.side .logo{display:none!important}
  .layout.has-panel>.panel{order:1!important;padding:12px 12px 0!important}.layout.has-panel>.panel .panel-card{height:auto!important;max-height:190px!important;border-radius:18px!important;padding:10px!important;overscroll-behavior:contain}.layout.has-panel>.panel .search{padding-bottom:7px!important}.layout.has-panel>.panel .search input{height:42px!important;font-size:14px!important}.layout.has-panel>.panel .cat{padding:10px 8px!important;font-size:13px!important}
  .layout.has-panel>.main{order:2!important;padding:18px 12px 24px!important;min-width:0!important}.layout.has-panel .topline{display:none!important}.layout.has-panel .hero{min-height:auto!important}.layout.has-panel .hero h1{font-size:clamp(28px,9vw,42px)!important}.layout.has-panel .meta{font-size:14px!important}.layout.has-panel .plot{font-size:15px!important;line-height:1.45!important;margin-top:16px!important}.layout.has-panel .cast{font-size:15px!important}.layout.has-panel .actions{gap:8px!important}.layout.has-panel .btn{min-height:44px!important;padding:0 14px!important;font-size:13px!important}
  .layout.has-panel .grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px 10px!important;margin-top:20px!important}.layout.has-panel .poster b{font-size:12px!important}.layout.has-panel .poster small{font-size:11px!important}.layout.has-panel .poster img{border-radius:8px!important}
  .layout.has-panel .channels{display:flex!important;flex-direction:column!important;gap:14px!important}.layout.has-panel .channels>section{order:1!important}.layout.has-panel .chan-list{order:2!important;height:min(42dvh,360px)!important;border-radius:16px!important}.layout.has-panel .playerbox{min-height:0!important;border-radius:16px!important}.layout.has-panel .playerbox video,.layout.has-panel .playerbox iframe{display:block!important;width:100%!important;height:auto!important;aspect-ratio:16/9!important;max-height:60dvh!important;object-fit:contain!important;background:#000}.layout.has-panel .chan-title{font-size:24px!important;margin:14px 0 6px!important}.layout.has-panel .chan{padding:10px 8px!important;font-size:13px!important}
}
@media (max-width:390px){.layout.has-panel .grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px 12px!important}.layout.has-panel>.panel .panel-card{max-height:170px!important}.layout.has-panel>.side .icons{gap:2px!important}.layout.has-panel>.side .icons a{font-size:17px!important}}

/* Player de filmes/séries */
.player-page{padding:max(14px,var(--safe-top)) max(14px,var(--safe-right)) max(14px,var(--safe-bottom)) max(14px,var(--safe-left))!important;min-height:100dvh!important}.player-page .box{width:min(1280px,100%)!important;max-height:calc(100dvh - 28px);aspect-ratio:16/9}.player-page .box>video,.player-page .box>.video-js{display:block!important;width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:16/9!important;object-fit:contain!important}.player-page .video-js .vjs-tech{object-fit:contain}.player-page .top-actions{padding-top:var(--safe-top);padding-left:var(--safe-left)}
@media (max-width:700px){
  .player-page{padding:0!important;align-items:flex-start!important;background:#000!important}.player-page .box{width:100%!important;max-height:none!important;border-radius:0!important;border:0!important;aspect-ratio:auto!important;min-height:100dvh!important;display:flex;align-items:center}.player-page .box>video,.player-page .box>.video-js{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:16/9!important;max-height:100dvh!important}.player-page .top-actions{top:max(8px,var(--safe-top))!important;left:max(8px,var(--safe-left))!important;gap:6px!important}.player-page .back{width:40px!important;height:40px!important;font-size:25px!important}.player-page .home-btn{height:40px!important;padding:0 11px!important;font-size:12px!important}.player-page .logo{top:max(9px,var(--safe-top))!important;right:max(9px,var(--safe-right))!important;max-width:56px!important;max-height:36px!important}.player-page .msg{display:none!important}.player-page .video-js .vjs-control-bar{font-size:11px}.player-page .video-js .vjs-big-play-button{font-size:2.2em}
}
@media (max-width:700px) and (orientation:landscape){
  .player-page,.player-page .box{width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important}.player-page .box>video,.player-page .box>.video-js{width:100vw!important;height:100dvh!important;max-height:100dvh!important;aspect-ratio:auto!important}.player-page .logo{opacity:0}.player-page .top-actions{opacity:0}.player-page .box.controls-on .logo{opacity:1}.player-page .box.controls-on .top-actions{opacity:1}
}

/* Login do assinante */
@media (max-width:720px){
  .login-bg{min-height:100dvh!important;padding:max(14px,var(--safe-top)) max(12px,var(--safe-right)) max(14px,var(--safe-bottom)) max(12px,var(--safe-left))!important;align-items:center!important;overflow:auto!important}.login-bg .panel{width:min(480px,100%)!important;min-height:0!important;padding:24px 18px!important;gap:18px!important;border-radius:20px!important}.login-bg .brand img{width:min(160px,52vw)!important;max-height:90px;object-fit:contain}.login-bg .tabs{margin-bottom:18px!important}.login-bg .tab{height:42px!important;padding:0 12px!important;font-size:11px!important}.login-bg .input-wrap{height:52px!important;border-radius:15px!important}.login-bg .input-wrap input{font-size:16px!important}.login-bg button{height:54px!important}
}
@media (max-height:620px) and (orientation:landscape){.login-bg{align-items:flex-start!important}.login-bg .panel{grid-template-columns:150px 1fr!important;padding:16px 20px!important;gap:20px!important}.login-bg .brand img{width:120px!important}.login-bg .tabs{margin-bottom:10px!important}.login-bg .field{margin-bottom:10px!important}.login-bg .input-wrap{height:46px!important}.login-bg button{height:48px!important}}

/* Detalhes de filme e série */
@media (max-width:760px){
  .wrap{width:100%!important;padding-left:12px!important;padding-right:12px!important}.card{gap:18px!important}.details h1{overflow-wrap:anywhere}.actions{display:flex!important;flex-wrap:wrap!important;gap:10px!important}.actions a,.actions button,.button-primary{min-height:48px;display:inline-flex;align-items:center;justify-content:center}.modal-content{width:100%!important}.modal iframe{height:auto!important;aspect-ratio:16/9!important}.hero{background-position:center!important}.episodes{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ep{min-width:0!important}.ep img{aspect-ratio:16/9!important}.top{padding-left:max(12px,var(--safe-left))!important;padding-right:max(12px,var(--safe-right))!important}.menu{gap:6px!important}.menu a{width:40px!important;height:40px!important}.season-title{margin-top:20px!important}.seasons{justify-content:flex-start!important;overflow-x:auto!important;flex-wrap:nowrap!important;padding-bottom:8px!important;scrollbar-width:none}.seasons::-webkit-scrollbar{display:none}.season-btn{flex:0 0 auto!important}
}
@media (max-width:420px){.episodes{grid-template-columns:1fr 1fr!important;gap:10px!important}.ep b{font-size:12px!important}.ep small{font-size:10px!important}}

/* Header legado e páginas auxiliares do player */
@media (max-width:900px){.main-content{padding-top:68px!important}.search-results{grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:12px!important;gap:12px!important}.result-item img{height:auto!important;aspect-ratio:2/3!important}.section-title{font-size:22px!important;padding:0 12px}.mobile-menu{padding-bottom:calc(20px + var(--safe-bottom))!important}}
@media (max-width:420px){.search-results{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.result-item p{font-size:.9rem!important}}

/* refinamentos de toque, rolagem e telas pequenas */
.cards,.seasons,.chan-list,.panel-card{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.poster,.movie-card,.chan,.cat,.stream-card,.ep{min-width:0}.poster b,.poster small,.card-title,.chan b{overflow:hidden;text-overflow:ellipsis}.chan b{white-space:nowrap}.vjs-fullscreen{padding:0!important}.video-js.vjs-fullscreen{width:100vw!important;height:100dvh!important;max-height:none!important}.video-js .vjs-control-bar{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (pointer:coarse){.cat,.chan,.btn,.season-btn,.menu a{min-height:44px}.video-js .vjs-control{min-width:3.2em}.video-js .vjs-progress-control{min-width:5em}}

/* Player v2026-08-24 v8: fullscreen total sem faixas laterais */
.player-page .video-js,.player-page .video-js .vjs-tech{background:#000!important}
.player-page .video-js .vjs-tech{object-fit:contain!important;object-position:center center!important}
@media (max-width:700px) and (orientation:portrait){
  .player-page{min-height:100dvh!important;align-items:center!important;justify-content:center!important}
  .player-page .box{min-height:0!important;height:auto!important;max-height:none!important;aspect-ratio:16/9!important;display:block!important}
  .player-page .box>video,.player-page .box>.video-js{width:100%!important;height:100%!important;aspect-ratio:16/9!important;max-height:none!important}
}
.player-page .box:fullscreen,.player-page .box:-webkit-full-screen,
body.player-fullscreen .player-page .box{width:100vw!important;height:100vh!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#000!important}
.player-page .box:fullscreen>.video-js,.player-page .box:-webkit-full-screen>.video-js,
body.player-fullscreen .player-page .box>.video-js{width:100vw!important;height:100vh!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important}
.player-page .box:fullscreen .vjs-tech,.player-page .box:-webkit-full-screen .vjs-tech,
body.player-fullscreen .player-page .vjs-tech{width:100%!important;height:100%!important;object-fit:fill!important;object-position:center center!important;background:#000!important}
/* Video.js pode entrar em fullscreen pelo próprio componente em alguns Androids. */
.player-page .video-js.vjs-fullscreen .vjs-tech,
.player-page video:fullscreen,.player-page video:-webkit-full-screen{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;object-fit:fill!important;object-position:center center!important;background:#000!important}

/* Live TV v8 - fullscreen total de ponta a ponta */
body.live-fullscreen-active .layout.has-panel .playerbox.live-playerbox,
body.live-fullscreen-active .layout.has-panel .playerbox.live-playerbox:fullscreen,
body.live-fullscreen-active .layout.has-panel .playerbox.live-playerbox:-webkit-full-screen,
.layout.has-panel .playerbox.live-playerbox.live-pseudo-fullscreen{
  position:fixed!important;inset:0!important;z-index:99999!important;
  width:100vw!important;height:100vh!important;height:100dvh!important;
  min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;border:0!important;border-radius:0!important;margin:0!important;padding:0!important;
  background:#000!important;box-shadow:none!important;overflow:hidden!important;
}
body.live-fullscreen-active .layout.has-panel .playerbox.live-playerbox video,
.layout.has-panel .playerbox.live-playerbox:fullscreen video,
.layout.has-panel .playerbox.live-playerbox:-webkit-full-screen video,
.layout.has-panel .playerbox.live-playerbox.live-pseudo-fullscreen video{
  position:absolute!important;inset:0!important;display:block!important;
  width:100vw!important;height:100vh!important;height:100dvh!important;
  min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;object-fit:fill!important;object-position:center center!important;background:#000!important;
}
body.live-fullscreen-active .side,body.live-fullscreen-active>.layout>.panel{pointer-events:none}
@media(max-width:1000px) and (orientation:landscape){
  .live-playerbox:fullscreen .live-guide-shell,.live-playerbox:-webkit-full-screen .live-guide-shell,.live-playerbox.live-pseudo-fullscreen .live-guide-shell{width:min(78%,760px)!important;height:100%!important;top:0!important;bottom:0!important}
  .live-playerbox:fullscreen .live-guide-body,.live-playerbox:-webkit-full-screen .live-guide-body,.live-playerbox.live-pseudo-fullscreen .live-guide-body{grid-template-columns:38% 62%!important}
}


/* v8 FINAL: vence qualquer regra responsiva antiga no fullscreen.
   Usamos fill para eliminar barras pretas sem recortar conteúdo; fora do fullscreen mantém a proporção original. */
body.player-fullscreen .player-page .box,
.player-page .box:fullscreen,.player-page .box:-webkit-full-screen{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;border-radius:0!important;background:#000!important;overflow:hidden!important}
body.player-fullscreen .player-page .box>.video-js,
.player-page .box:fullscreen>.video-js,.player-page .box:-webkit-full-screen>.video-js,
.video-js.vjs-fullscreen{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important}
body.player-fullscreen .player-page .vjs-tech,
.player-page .box:fullscreen .vjs-tech,.player-page .box:-webkit-full-screen .vjs-tech,
.player-page .video-js.vjs-fullscreen .vjs-tech,
.player-page video:fullscreen,.player-page video:-webkit-full-screen{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill!important;object-position:center center!important;background:#000!important}
body.live-fullscreen-active .layout.has-panel .playerbox.live-playerbox video,
.layout.has-panel .playerbox.live-playerbox:fullscreen video,
.layout.has-panel .playerbox.live-playerbox:-webkit-full-screen video,
.layout.has-panel .playerbox.live-playerbox.live-pseudo-fullscreen video,
#liveVideo:fullscreen,#liveVideo:-webkit-full-screen{position:absolute!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;object-fit:fill!important;object-position:center center!important;background:#000!important}
