/* =================== ANDROID TV / SMART TV SUPPORT =================== */

/* TV detection: large screens with no fine pointer (remote control) */
@media (min-width: 960px) and (pointer: coarse), 
       (min-width: 960px) and (hover: none),
       (min-width: 1280px) and (any-pointer: coarse) {
  
  /* Larger text for TV viewing distance */
  body { font-size: 18px; }
  
  .header { height: 72px; padding: 0 40px; }
  .logo { font-size: 32px; }
  
  /* Bigger cards */
  .content-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) !important;
    gap: 20px !important;
    padding: 0 40px;
  }
  
  .card {
    min-height: 320px;
  }
  
  .card img {
    height: 280px !important;
  }
  
  .card-title {
    font-size: 16px !important;
    padding: 12px !important;
  }
  
  /* Hero section bigger */
  .hero { min-height: 500px; }
  .hero-title { font-size: 42px !important; }
  .hero-desc { font-size: 18px !important; }
  .hero-btn { 
    padding: 16px 40px !important; 
    font-size: 18px !important;
  }
  
  /* Section titles bigger */
  .section-title {
    font-size: 24px !important;
    padding: 0 40px;
  }
  
  /* Bigger category tabs */
  .category-tabs button,
  .filter-btn {
    padding: 12px 28px !important;
    font-size: 16px !important;
  }
  
  /* Watch page */
  .video-container {
    max-width: 100% !important;
    height: 70vh !important;
  }
  
  /* Server buttons bigger */
  .server-btn {
    padding: 14px 28px !important;
    font-size: 16px !important;
    min-width: 140px;
  }
  
  /* Episode buttons bigger */
  .episode-btn, .ep-btn {
    padding: 12px 20px !important;
    font-size: 15px !important;
    min-width: 80px;
  }
  
  /* Title page details */
  .title-info {
    padding: 40px !important;
  }
  
  .title-name {
    font-size: 36px !important;
  }
  
  .title-desc {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }
  
  /* Hide mobile-only elements */
  .mobile-only { display: none !important; }
  
  /* Scrollbar wider for TV */
  ::-webkit-scrollbar { width: 12px; }
  ::-webkit-scrollbar-thumb { 
    background: var(--gold-dark); 
    border-radius: 6px;
  }
}

/* =================== D-PAD / FOCUS NAVIGATION =================== */

/* Strong focus ring for all interactive elements */
*:focus-visible {
  outline: 3px solid var(--gold) !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 0 6px rgba(232, 182, 0, 0.3) !important;
  transition: outline 0.15s, box-shadow 0.15s !important;
}

/* Cards - focused state */
.card:focus-visible,
.card:focus-within {
  transform: scale(1.05);
  outline: 3px solid var(--gold) !important;
  outline-offset: 4px !important;
  box-shadow: 0 0 20px rgba(232, 182, 0, 0.4) !important;
  z-index: 10;
}

/* Buttons focused */
.hero-btn:focus-visible,
.server-btn:focus-visible,
.episode-btn:focus-visible,
.ep-btn:focus-visible,
.category-tabs button:focus-visible,
.filter-btn:focus-visible {
  background: var(--gold) !important;
  color: #000 !important;
  transform: scale(1.08);
}

/* Search result items */
.search-result-item:focus-visible {
  border-color: var(--gold) !important;
  background: var(--bg-hover) !important;
  transform: scale(1.02);
}

/* Side menu items */
.side-menu a:focus-visible {
  background: rgba(232, 182, 0, 0.15) !important;
  color: var(--gold) !important;
  padding-inline-start: 20px;
}

/* Horizontal scroll sections — snap for TV remote */
.trending-row,
.content-row {
  scroll-snap-type: x mandatory;
}

.trending-row > *,
.content-row > * {
  scroll-snap-align: start;
}
