/*
 * Ajustes responsivos unificados — 2026-08-16
 * Carregado por último para corrigir regras legadas que ampliavam demais a
 * barra lateral em tablets. Não altera a lógica do player ou do catálogo.
 */

@media (min-width: 769px) and (max-width: 1100px) {
  /* Em tablet, a grade de canais continua visível sem comprimir o player. */
  body.bz-tv-grid-mode:not(.mobile-fullscreen) #sidebar {
    width: clamp(292px, 36vw, 382px) !important;
    min-width: clamp(292px, 36vw, 382px) !important;
    max-width: clamp(292px, 36vw, 382px) !important;
    flex-basis: clamp(292px, 36vw, 382px) !important;
  }

  body.bz-tv-grid-mode #bz-tv-grid-root {
    grid-template-columns: minmax(132px, 40%) minmax(0, 60%) !important;
  }

  body.bz-tv-grid-mode .video-container,
  body.bz-tv-grid-mode #player-container,
  body.bz-tv-grid-mode .main-content {
    min-width: 0 !important;
  }

  .row.catalog-grid,
  .catalog-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .player-modal { padding: 18px; }
  .player-box { width: min(920px, 100%); }
  .details-info { grid-template-columns: 164px minmax(0, 1fr); gap: 20px; }
}

@media (max-width: 768px) {
  /* Os controles do player ficam roláveis em vez de invadir o título do canal. */
  body.tv-active:not(.mobile-fullscreen) .epg-actions .secondary-quality-select {
    box-sizing: border-box !important;
    min-width: 98px !important;
    max-width: 126px !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 26px 0 9px !important;
    font-size: 11px !important;
    flex: 0 0 auto !important;
  }

  body.tv-active:not(.mobile-fullscreen) #liveSourceSelect {
    min-width: 92px !important;
    max-width: 110px !important;
  }

  body.bz-tv-grid-mode.tv-active:not(.mobile-fullscreen) #sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-basis: auto !important;
  }

  body.bz-tv-grid-mode #bz-tv-grid-root {
    grid-template-columns: 1fr !important;
    min-width: 0 !important;
  }

  body.bz-tv-grid-mode .bz-tv-folders {
    max-height: 42dvh !important;
    overflow-y: auto !important;
  }

  body.bz-tv-grid-mode .bz-tv-channels {
    max-height: none !important;
    overflow: visible !important;
  }
}

@media (max-width: 390px) {
  .row.catalog-grid,
  .catalog-filter-grid { gap: 10px; }
  .details-info { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
}
