/* AnoniPlay — modo de compatibilidade para Smart TVs / navegadores de TV.
   Objetivo: reduzir repaints/composição GPU pesada que causa tela preta/piscadas
   em WebKit/Chromium antigos e manter o layout estável em TVs 720p, 1080p e 4K. */

html.ap-tv-mode,
html.ap-tv-mode body {
  background: #000 !important;
  min-height: 100% !important;
  scroll-behavior: auto !important;
  overscroll-behavior: none;
}

html.ap-tv-mode * {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  filter: none !important;
  will-change: auto !important;
  contain: none !important;
  content-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-backface-visibility: visible !important;
  transition: none !important;
}


/* Cabeçalho: evita camada fixa/translúcida pesada nos browsers de TV antigos. */
html.ap-tv-mode .header {
  position: absolute !important;
  background: rgba(0, 0, 0, .96) !important;
  border-bottom-color: rgba(255,255,255,.06) !important;
  transition: none !important;
}
html.ap-tv-mode .header.scrolled {
  background: rgba(0, 0, 0, .96) !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

/* Hero estável: sem crossfade gigante, zoom contínuo ou filtros. */
html.ap-tv-mode .hero-slide {
  transition: none !important;
}
html.ap-tv-mode .hero-slide:not(.active) {
  display: none !important;
  opacity: 0 !important;
}
html.ap-tv-mode .hero-slide.active {
  display: block !important;
  opacity: 1 !important;
}
html.ap-tv-mode .hero-bg,
html.ap-tv-mode .hero-slide.active .hero-bg {
  animation: none !important;
  transition: none !important;
  transform: none !important;
  filter: none !important;
}
html.ap-tv-mode .hero-info,
html.ap-tv-mode .hero-slide.active .hero-info {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
}

/* Cards: remove entrada/hover com transform que em TVs antigas pode piscar a tela. */
html.ap-tv-mode .card,
html.ap-tv-mode .watch-card,
html.ap-tv-mode .continue-item,
html.ap-tv-mode .ap-genre-card,
html.ap-tv-mode .search-suggestion-card,
html.ap-tv-mode .detail-similar-grid .card {
  animation: none !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
html.ap-tv-mode .card:hover,
html.ap-tv-mode .watch-card:hover,
html.ap-tv-mode .continue-item:hover,
html.ap-tv-mode .ap-genre-card:hover,
html.ap-tv-mode .detail-similar-grid .card:hover {
  transform: none !important;
}
html.ap-tv-mode .card img,
html.ap-tv-mode .watch-card img,
html.ap-tv-mode .continue-item img,
html.ap-tv-mode .ap-genre-card img,
html.ap-tv-mode .detail-similar-grid img {
  transform: none !important;
  transition: none !important;
  filter: none !important;
}

/* Evita efeitos grandes de blur/gradientes animados nos modais. */
html.ap-tv-mode .detail-overlay,
html.ap-tv-mode .modal-overlay,
html.ap-tv-mode .nav-overlay {
  background-color: rgba(0,0,0,.96) !important;
  transition: none !important;
}
html.ap-tv-mode .detail-overlay::before,
html.ap-tv-mode .detail-overlay::after {
  display: none !important;
  animation: none !important;
  filter: none !important;
}
html.ap-tv-mode .detail-modal,
html.ap-tv-mode .modal-box,
html.ap-tv-mode .nav-panel {
  animation: none !important;
  transition: none !important;
  transform: none;
}

/* Player: sem fade/transparência na camada do iframe. */
html.ap-tv-mode .player-overlay {
  display: none !important;
  visibility: hidden !important;
  opacity: 1 !important;
  background: #000 !important;
  transition: none !important;
}
html.ap-tv-mode .player-overlay.active {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}
html.ap-tv-mode .player-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: var(--ap-tv-vh, 100vh) !important;
  min-height: 0 !important;
  display: block !important;
  background: #000 !important;
}
html.ap-tv-mode .player-frame {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  display: block !important;
  background: #000 !important;
  border: 0 !important;
  transform: none !important;
  filter: none !important;
}
html.ap-tv-mode .player-frame.ap-tv-waiting {
  visibility: hidden !important;
}
html.ap-tv-mode .player-frame.ap-tv-ready {
  visibility: visible !important;
}
html.ap-tv-mode .player-back {
  background: rgba(0,0,0,.92) !important;
  transition: none !important;
}

/* Não reproduz previews em cards no modo TV; prioriza estabilidade do player principal. */
html.ap-tv-mode .watch-card-video {
  display: none !important;
}

/* Landing page: TV recebe imagem estática, evitando vídeo de fundo + blur. */
html.ap-tv-mode .hero-video-bg {
  display: none !important;
}
html.ap-tv-mode .hero-image-bg {
  display: block !important;
  animation: none !important;
  transform: none !important;
  filter: none !important;
}

/* Foco visível para controle remoto/teclado da TV. */
html.ap-tv-mode a:focus,
html.ap-tv-mode button:focus,
html.ap-tv-mode [role="button"]:focus,
html.ap-tv-mode input:focus,
html.ap-tv-mode select:focus,
html.ap-tv-mode textarea:focus {
  outline: 3px solid rgba(255,255,255,.92) !important;
  outline-offset: 4px !important;
}

/* 720p / TVs com viewport mais baixo */
@media (min-width: 900px) and (max-height: 760px) {
  html.ap-tv-mode .hero-content {
    padding-bottom: 72px !important;
  }
  html.ap-tv-mode .hero-title {
    font-size: clamp(38px, 5.2vw, 68px) !important;
  }
  html.ap-tv-mode .hero-desc {
    -webkit-line-clamp: 2 !important;
    max-width: 620px !important;
  }
}

/* Grandes camadas visuais não recebem promoção 3D no modo TV. */
html.ap-tv-mode .detail-hero-img,
html.ap-tv-mode .detail-hero,
html.ap-tv-mode .detail-modal::before,
html.ap-tv-mode .detail-modal::after,
html.ap-tv-mode .search-overlay::before,
html.ap-tv-mode .search-overlay::after {
  transform: none !important;
  animation: none !important;
}


/* Revisão V4: evita transições de overlays e animações contínuas adicionais em TVs. */
html.ap-tv-mode .landing-poster-track,
html.ap-tv-mode #partnersOverlay *,
html.ap-tv-mode .ap-support-overlay *{
  animation:none!important;
  transition:none!important;
  transform:none!important;
}
html.ap-tv-mode .landing-poster-marquee{overflow:hidden!important}
