/* Layout final para TVs LG: ocupa sempre toda a tela e neutraliza regras antigas. */
html,body{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;background:#020805!important;overflow:hidden!important}
.hidden{display:none!important}
.focusable{outline:none!important;border-radius:12px!important}
.focusable:focus,.focusable.active{border-radius:12px!important;outline:none!important;border-color:#e066ff!important;box-shadow:inset 0 0 0 3px #c13cff,0 0 22px rgba(193,60,255,.48)!important}

/* Navegador ao vivo */
.browser-view{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;background:#020805!important}
.browser-top{height:9.5vh!important;width:100%!important;display:grid!important;grid-template-columns:auto auto auto auto minmax(220px,22vw) 1fr!important;align-items:center!important;padding:0 2.2vw!important;gap:.8vw!important;border-bottom:2px solid #4a6154!important}
.browser-top .brand{justify-self:end!important}.browser-top .brand-mark{width:5vw!important;height:5vw!important;background:url('zenix-logo.svg') center/contain no-repeat!important;font-size:0!important}
.browser-back,.browser-tab{height:5.7vh!important;padding:0 1.5vw!important;font-size:1.2vw!important;border-radius:12px!important}
.browser-search{width:100%!important;max-width:430px!important;height:5vh!important;border-radius:2.5vh!important}
.browser-body{width:100%!important;height:90.5vh!important;display:grid!important;grid-template-columns:22% 27% 51%!important;overflow:hidden!important}
.group-column,.items-column,.preview-column{width:auto!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
.group-column,.items-column{padding:.55vh .45vw!important;border-right:1px solid #52655a!important}
.group-column h2,.items-heading{height:4.1vh!important;margin:.2vh .7vw!important;display:flex!important;align-items:center!important}
.group-column h2,.items-heading h2{font-size:1.15vw!important}.items-heading span{font-size:.84vw!important}
.group-list,.channel-list{height:calc(100% - 4.6vh)!important;display:block!important;overflow-y:auto!important;padding:0 .2vw 3vh!important}
.group-button,.browser-channel{width:100%!important;height:6.15vh!important;min-height:6.15vh!important;margin:.3vh 0!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;background:linear-gradient(90deg,#303a36,#25302c)!important;color:#fff!important}
.group-button{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:0 1.1vw!important;font-size:1.02vw!important}
.browser-channel{display:grid!important;grid-template-columns:2.2vw 3.1vw minmax(0,1fr)!important;align-items:center!important;gap:.7vw!important;padding:0 .8vw!important;text-align:left!important;font-size:1.02vw!important}
.browser-channel>span{display:block!important;color:#fff!important}.browser-channel img{display:block!important;width:2.65vw!important;height:2.65vw!important;object-fit:contain!important;border:0!important;background:transparent!important}.browser-channel strong{display:block!important;min-width:0!important;color:#fff!important;font-size:1.02vw!important;font-weight:800!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;opacity:1!important;visibility:visible!important}
.browser-channel:focus strong,.browser-channel.active strong{color:#df55ff!important}
.preview-column{display:grid!important;grid-template-rows:57% 43%!important;background:#010403!important}
.mini-player{position:relative!important;width:100%!important;height:100%!important;background:#000!important;overflow:hidden!important}
.mini-player>video{display:none!important}.mini-player #previewPlaceholder{position:absolute!important;inset:0!important;display:grid;place-items:center;color:#b6c8bc;font-size:1vw!important}
.channel-info{height:100%!important;padding:1.5vh 1.4vw!important;background:linear-gradient(120deg,#082213,#07130d)!important;overflow:hidden!important}
.channel-identity{display:grid!important;grid-template-columns:5vw minmax(0,1fr) 13vw!important;align-items:center!important;gap:1vw!important}.channel-identity img{width:4.5vw!important;height:4.5vw!important;object-fit:contain!important;background:transparent!important}.channel-identity h2{margin:0!important;font-size:1.45vw!important}.channel-identity span{font-size:.82vw!important}.preview-favorite{grid-column:auto!important;width:12vw!important;min-width:0!important;height:5vh!important;margin:0!important;justify-self:end!important;font-size:.9vw!important;border-radius:2.5vh!important}.epg{margin-top:1.2vh!important}.epg p{display:grid!important;grid-template-columns:4.3vw 1fr 6vw!important;gap:.7vw!important;padding:1vh 0!important}.epg strong{font-size:.93vw!important}.preview-help{text-align:right!important;font-size:.72vw!important;color:#9cff5e!important}

/* Um único player. No primeiro OK ele ocupa exatamente o mini-player. */
.player-modal.open{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;display:flex!important;z-index:90!important;background:#000!important;overflow:hidden!important}
.player-modal.open.mini-mode{inset:auto!important;left:var(--mini-left)!important;top:var(--mini-top)!important;right:auto!important;bottom:auto!important;width:var(--mini-width)!important;height:var(--mini-height)!important;max-width:none!important;max-height:none!important;z-index:18!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.player-modal.open>video{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;background:#000!important}
.player-modal.mini-mode .player-heading,.player-modal.mini-mode .player-epg,.player-modal.mini-mode .vod-controls,.player-modal.mini-mode .player-close{display:none!important}
.player-modal:not(.mini-mode) .vod-controls{left:50%!important;bottom:4vh!important;transform:translateX(-50%)!important;width:min(900px,76vw)!important;border-radius:18px!important}

/* Filmes e séries no catálogo */
.browser-body.vod{grid-template-columns:23% 77%!important}.browser-body.vod .preview-column{display:none!important}
.poster-grid{height:calc(100% - 4.6vh)!important;display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:39vh!important;gap:1.4vh 1vw!important;padding:.8vh 1.2vw 5vh!important;overflow-y:auto!important;align-content:start!important}
.poster-grid .media-card{width:100%!important;height:37vh!important;min-width:0!important;border-radius:12px!important;overflow:hidden!important;transform:none!important}.poster-grid .media-card:focus{transform:none!important}.poster-grid .media-card img,.poster-grid .fallback-art{height:31.5vh!important;width:100%!important;object-fit:cover!important}.poster-grid .card-copy{height:5.5vh!important;padding:1vh .65vw!important;font-size:.9vw!important}

/* Tela de informações: área larga, texto legível e recomendações dentro da tela. */
.media-detail{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden!important;background:#071016!important}
.detail-backdrop{inset:0!important;background-position:center!important;background-size:cover!important}.detail-shade{background:linear-gradient(90deg,rgba(3,8,13,.9) 0,rgba(3,8,13,.5) 55%,rgba(3,8,13,.78) 100%),linear-gradient(0deg,#050914 0,transparent 56%)!important}
.detail-back{left:2.2vw!important;top:3vh!important;width:4.4vw!important;height:6vh!important;padding:0!important;font-size:2.2vw!important;border-radius:12px!important}
.detail-poster{left:7vw!important;top:10vh!important;width:17vw!important;height:46vh!important;border-radius:14px!important;box-shadow:0 1.5vh 4vh #000!important}
.detail-actions{left:28vw!important;top:27vh!important;gap:1vw!important}.detail-actions button{height:6vh!important;min-width:12vw!important;padding:0 1.7vw!important;border-radius:3vh!important;font-size:1.08vw!important}
.detail-copy{left:28vw!important;right:4vw!important;top:36vh!important;height:auto!important}.detail-copy h1{font-size:2.05vw!important;line-height:1.15!important;margin:0 0 1vh!important}.detail-copy>p{font-size:1vw!important;line-height:1.45!important;margin:.7vh 0!important}.detail-copy #detailOverview{max-width:66vw!important;max-height:10vh!important;overflow:hidden!important}
.similar-block,.similar-block[data-media-type="movies"]{position:fixed!important;left:7vw!important;right:4vw!important;top:61vh!important;width:auto!important;margin:0!important;height:35vh!important;overflow:hidden!important}.similar-block h2{font-size:1.5vw!important;margin:0 0 1vh!important}.similar-block #similarMovies{width:100%!important;max-width:none!important;height:30vh!important;display:grid!important;grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:.8vw!important;padding:1vh .25vw 2vh!important;overflow:hidden!important}.similar-card{width:100%!important;height:27vh!important;min-width:0!important;flex:none!important;border-radius:12px!important;transform:none!important}.similar-card:focus{transform:none!important}.similar-card>span:last-child{font-size:.72vw!important;padding:3vh .5vw .8vh!important}

/* Temporadas e episódios */
.seasons-view{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;display:grid!important;grid-template-columns:25% 75%!important;padding:10vh 2vw 3vh!important;overflow:hidden!important}.seasons-view.hidden{display:none!important}.seasons-back{left:2vw!important;top:2.5vh!important;width:4.5vw!important;height:6vh!important;padding:0!important;border-radius:12px!important}.seasons-view aside{height:87vh!important;padding:1.5vh 1.5vw!important;overflow:hidden!important}.seasons-view aside h1{font-size:1.8vw!important;margin:0 0 2vh!important}.season-button{height:7vh!important;margin:.7vh 0!important;padding:0 1.2vw!important;border-radius:12px!important;font-size:1.12vw!important}.seasons-view>section{height:87vh!important;padding:0 1.5vw!important;overflow:hidden!important}.seasons-view section>h2{height:4vh!important;margin:0 0 1vh!important;font-size:1.55vw!important}#episodeList{height:81vh!important;max-height:none!important;display:grid!important;grid-template-columns:1fr 1fr!important;grid-auto-rows:16.2vh!important;gap:1.1vh .9vw!important;overflow-y:auto!important;padding:0 .2vw 3vh!important}.episode-card{width:100%!important;height:15.2vh!important;display:grid!important;grid-template-columns:12vw minmax(0,1fr)!important;gap:1vw!important;padding:.55vw!important;border-radius:12px!important;overflow:hidden!important}.episode-card img{width:12vw!important;height:13.6vh!important;border-radius:9px!important}.episode-card strong{font-size:1vw!important}.episode-card small{font-size:.75vw!important;margin-top:.6vh!important}.episode-card em{font-size:.68vw!important}

/* Esportes sempre em tela completa. */
.sports-webview{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;overflow:hidden!important}
.sports-header{width:100%!important;height:13vh!important;grid-template-columns:13vw 1fr 16vw!important;padding:2vh 2.3vw!important}.sports-header h1{font-size:2.1vw!important}.sports-header>strong{font-size:.9vw!important}
.sports-layout{width:100%!important;height:87vh!important;grid-template-columns:19% 81%!important;gap:1vw!important;padding:1.5vh 1.3vw 2vh!important}.sports-competitions,.sports-content{height:100%!important;min-width:0!important;overflow:hidden!important}.sports-filter{min-height:8.4vh!important;border-radius:12px!important}.sports-games{width:100%!important;height:100%!important;overflow-y:auto!important;padding-right:.4vw!important}.sports-game{width:100%!important;min-height:11vh!important;grid-template-columns:8vw 7vw minmax(7vw,1fr) 4vw 6vw 4vw minmax(7vw,1fr) 11vw!important;border-radius:14px!important;padding:.8vh .7vw!important}.sports-game,.sports-team,.sports-time{font-size:.9vw!important}.sports-watch{height:6vh!important;border-radius:12px!important}

/* Carregamento e diálogos dentro dos limites físicos. */
.catalog-loading{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;transform:none!important;overflow:hidden!important}.dialog,.channels-modal,.exit-confirm{position:fixed!important;inset:0!important;max-width:none!important;max-height:none!important}.dialog-box{width:58vw!important;max-width:660px!important;border-radius:18px!important}.channels-box{width:76vw!important;border-radius:18px!important}.channel-option{border-radius:14px!important}

@media(max-width:1400px),(max-height:760px){
  .browser-top{grid-template-columns:auto auto auto auto minmax(200px,22vw) 1fr!important}.browser-back,.browser-tab{font-size:16px!important}.browser-body{grid-template-columns:23% 28% 49%!important}.group-button,.browser-channel{height:6.05vh!important;min-height:6.05vh!important}.browser-channel strong,.group-button{font-size:14px!important}
  .poster-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-auto-rows:39vh!important}.poster-grid .card-copy{font-size:13px!important}
  .detail-copy h1{font-size:28px!important}.detail-copy>p{font-size:14px!important}.detail-actions button{font-size:15px!important}.similar-block h2{font-size:21px!important}.similar-card>span:last-child{font-size:11px!important}
  .season-button{font-size:16px!important}.episode-card strong{font-size:14px!important}.episode-card small{font-size:11px!important}
  .sports-game,.sports-team,.sports-time{font-size:12px!important}
}
