/**
 * ====================================================================
 * MEGA TV PRO — TV Navigation & D-Pad Focus Engine Styles
 * Otimizado para Smart TV (Tizen, webOS, Media Station X, Android TV)
 * ====================================================================
 */

/* Todos os elementos focáveis possuem transição rápida e aceleração por GPU */
.focusable {
  outline: none;
  transition: transform 0.18s cubic-bezier(0.16, 1, 0.3, 1),
              background 0.18s ease,
              border-color 0.18s ease,
              box-shadow 0.18s ease;
  will-change: transform;
  position: relative;
}

/* Foco nos Botões da Sidebar Vertical */
.side-btn.focused,
.side-btn:focus-visible,
.sidebar-avatar-wrap.focused,
.sidebar-avatar-wrap:focus-visible {
  transform: scale(1.05);
  background: rgba(255, 255, 255, 0.22) !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 2.5px #FFFFFF, 0 8px 24px rgba(0, 0, 0, 0.8) !important;
  border-radius: 12px;
  z-index: 100;
}

.side-btn.focused .side-svg,
.side-btn:focus-visible .side-svg {
  stroke: #FFFFFF !important;
  transform: scale(1.08);
}

.side-btn.active.focused,
.side-btn.active:focus-visible {
  background: var(--pv-red) !important;
  color: #FFFFFF !important;
  border-color: var(--pv-red) !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 10px 28px rgba(229, 9, 20, 0.85) !important;
}

.side-btn.active.focused .side-svg,
.side-btn.active:focus-visible .side-svg {
  stroke: #FFFFFF !important;
}

/* Foco no Botão Principal de Assistir do Hero */
.pv-btn-play.focused,
.pv-btn-play:focus-visible {
  transform: scale(1.06);
  background: #FF1E27 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 14px 36px rgba(0, 0, 0, 0.85) !important;
  z-index: 50;
}

/* Foco nos Botões de Ação Secundários do Hero (+ e i) */
.pv-btn-icon.focused,
.pv-btn-icon:focus-visible {
  transform: scale(1.12);
  background: rgba(255, 255, 255, 0.3) !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 8px 24px rgba(0, 0, 0, 0.8) !important;
  z-index: 50;
}

/* Foco nos Filtros Sub-Nav (Todos, Filmes, Séries, Ao Vivo) */
.pv-filter-pill.focused,
.pv-filter-pill:focus-visible {
  transform: scale(1.08);
  background: rgba(255, 255, 255, 0.22) !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 8px 24px rgba(0, 0, 0, 0.8) !important;
  z-index: 30;
}

.pv-filter-pill.active.focused {
  background: #E50914 !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3.5px #FFFFFF, 0 10px 26px rgba(229, 9, 20, 0.7) !important;
}

/* Foco nos Cards 16:9 Widescreen dos Carrosséis */
.pv-card-16-9.focused,
.pv-card-16-9:focus-visible {
  transform: scale(1.08) translateY(-6px);
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3.5px #FFFFFF, 0 20px 48px rgba(0, 0, 0, 0.95) !important;
  z-index: 60;
}

.pv-card-16-9.focused .pv-card-title,
.pv-card-16-9:focus-visible .pv-card-title {
  color: #FFFFFF !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.9);
}

/* Foco nos Posters Verticais VOD */
.poster-card.focused,
.poster-card:focus-visible {
  transform: scale(1.08) translateY(-6px);
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3.5px #FFFFFF, 0 20px 45px rgba(0, 0, 0, 0.95) !important;
  z-index: 50;
}

/* Foco nos Canais da Grade */
.channel-card.focused,
.channel-card:focus-visible {
  transform: scale(1.05);
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3.5px #FFFFFF, 0 14px 34px rgba(0, 0, 0, 0.95) !important;
  z-index: 25;
}

.channel-card.is-playing.focused {
  background: rgba(229, 9, 20, 0.32) !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3.5px #FFFFFF, 0 14px 34px rgba(229, 9, 20, 0.8) !important;
  transform: scale(1.06);
  z-index: 30;
}

/* Foco nas Categorias de TV e Pílulas VOD / Séries / Temporadas */
.cat-item.focused,
.cat-item:focus-visible,
.cat-pill.focused,
.cat-pill:focus-visible {
  transform: scale(1.04);
  background: rgba(255, 255, 255, 0.2) !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 8px 24px rgba(0, 0, 0, 0.85) !important;
  z-index: 40;
}

.cat-item.active.focused,
.cat-pill.active.focused {
  background: #E50914 !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3.5px #FFFFFF, 0 10px 28px rgba(229, 9, 20, 0.75) !important;
  transform: scale(1.05);
  z-index: 45;
}

/* Foco nos Itens de Episódio da Série */
.episode-card-tv.focused,
.episode-card-tv:focus-visible,
.episode-item.focused,
.episode-item:focus-visible {
  transform: scale(1.03);
  background: rgba(255, 255, 255, 0.18) !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 12px 30px rgba(0, 0, 0, 0.9) !important;
}

.episode-card-tv.focused .ep-play-circle {
  background: #FF1E27;
  transform: scale(1.1);
}

.episode-item.focused .pv-play-badge {
  background: #E50914;
  color: #FFFFFF;
}

/* Foco nas Teclas do Teclado Virtual de TV */
.tvk-key.focused,
.tvk-key:focus-visible {
  background: #FFFFFF !important;
  color: #000000 !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 4px 14px rgba(0, 0, 0, 0.85) !important;
  transform: scale(1.05) !important;
  z-index: 100;
}

.tvk-action-key.focused,
.tvk-action-key:focus-visible {
  background: #FF1E27 !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
}

/* Foco no Botão Voltar da Tela de Séries */
.btn-series-back.focused,
.btn-series-back:focus-visible,
.btn-input-osk.focused,
.btn-input-osk:focus-visible {
  transform: scale(1.06);
  background: #E50914 !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 8px 24px rgba(0, 0, 0, 0.85) !important;
}

/* Foco nas Abas de Temporada da Série */
.season-tab-btn.focused,
.season-tab-btn:focus-visible {
  transform: scale(1.06);
  background: #E50914 !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 8px 24px rgba(0, 0, 0, 0.85) !important;
}

/* Foco nos Chips de Busca Rápida */
.chip-item.focused,
.chip-item:focus-visible {
  transform: scale(1.08);
  background: #E50914 !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 2.5px #FFFFFF, 0 8px 20px rgba(0, 0, 0, 0.85) !important;
}

/* Foco no Botão Fechar de Modais */
.modal-close-btn.focused,
.modal-close-btn:focus-visible,
.tvk-modal-close.focused,
.tvk-modal-close:focus-visible {
  transform: scale(1.08);
  background: #E50914 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 8px 24px rgba(0, 0, 0, 0.8) !important;
}

/* Foco no Seletor de Servidor / DNS */
.server-selector-pill.focused,
.server-selector-pill:focus-visible {
  transform: scale(1.03);
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 10px 30px rgba(0, 0, 0, 0.85) !important;
  background: rgba(18, 18, 26, 0.98) !important;
}

.server-selector-pill.focused .arrow-btn {
  background: #E50914;
  color: #FFFFFF;
}

.remember-label.focused,
.remember-label:focus-visible {
  outline: none;
  color: #FFFFFF !important;
  transform: scale(1.03);
}

.remember-label.focused input[type="checkbox"] {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

/* Foco em Inputs da TV */
.search-large-bar:has(input.focused),
.search-large-bar:has(input:focus-visible),
.search-box:has(input.focused),
.search-box:has(input:focus-visible),
.input-wrap:has(input.focused),
.input-wrap:has(input:focus-visible) {
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 10px 30px rgba(0, 0, 0, 0.85) !important;
  background: rgba(18, 18, 26, 0.98) !important;
}

input[readonly] {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
}

/* Foco nos Controles do Player */
.osd-ctrl-btn.focused,
.osd-ctrl-btn:focus-visible,
.osd-btn-back.focused,
.osd-btn-back:focus-visible {
  transform: scale(1.15);
  background: #E50914 !important;
  color: #FFFFFF !important;
  border-color: #FFFFFF !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 10px 30px rgba(0, 0, 0, 0.9) !important;
  z-index: 50;
}

.osd-ctrl-btn.focused svg,
.osd-btn-back.focused svg {
  stroke: #FFFFFF !important;
}

.osd-progress-bar.focused,
.osd-progress-bar:focus-visible {
  height: 12px;
  box-shadow: 0 0 0 2.5px #FFFFFF, 0 6px 18px rgba(0, 0, 0, 0.8);
}

/* Foco nos Botões de Ação de Login */
.btn-primary-action.focused,
.btn-primary-action:focus-visible {
  transform: scale(1.04);
  background: #FF1E27 !important;
  box-shadow: 0 0 0 3px #FFFFFF, 0 14px 36px rgba(0, 0, 0, 0.9) !important;
}

/* Scroll suave na TV */
.pv-main-scroll,
.row-cards-slider,
.live-cats-scroll,
.live-channels-grid,
.category-pills-row,
.vod-posters-grid,
.episodes-list {
  scroll-behavior: smooth;
  scrollbar-width: none;
}

.pv-main-scroll::-webkit-scrollbar,
.row-cards-slider::-webkit-scrollbar {
  display: none;
}
