/* PobreFlix 10.12: correção da área de vídeo para iPhone/Android.
 * Carregado APÓS o bundle legado; só ativa no modo MegaFilmes.
 * Não altera as APIs, os links, as fontes nem o player original.
 */
@media (max-width: 900px) {
  html.nixplay-lock,
  html.nixplay-lock body { overflow: hidden !important; overscroll-behavior: none !important; }

  /* A barra inferior/header não devem cobrir o player/modal no iOS. */
  body.pf-mega-playing #header { visibility: hidden !important; pointer-events: none !important; }

  html body #player.nix-open {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483647 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    box-sizing: border-box !important;
    padding: max(30px, env(safe-area-inset-top))
             max(12px, env(safe-area-inset-right))
             max(16px, env(safe-area-inset-bottom))
             max(12px, env(safe-area-inset-left)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    background: #05060b !important;
  }

  /* Evita o margin:auto vertical herdado: causava o grande vazio acima. */
  html body #player.nix-open > .box {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: min(100%, 700px) !important;
    max-width: 700px !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    transform: none !important;
    overflow: visible !important;
    border-radius: 14px !important;
    box-sizing: border-box !important;
  }

  html body #player.nix-open > .box > .content {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 14px !important;
    background: #000 !important;
    box-shadow: 0 12px 38px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.10) !important;
    box-sizing: border-box !important;
  }

  html body #player.nix-open .vizer-player-shell,
  html body #player.nix-open .vizer-embed-shell {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    border-radius: inherit !important;
    overflow: hidden !important;
    background: #000 !important;
    box-sizing: border-box !important;
  }

  html body #player.nix-open .vizer-embed-frame,
  html body #player.nix-open .vizer-video {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }
  html body #player.nix-open .vizer-video {
    object-fit: contain !important;
    object-position: center center !important;
  }

  /* Cabeçalho interno com 3 colunas fixas, sem logo sobre os ícones. */
  html body #player.nix-open .vizer-embed-topbar {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 15 !important;
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 76px !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 3px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 7px 9px 22px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    pointer-events: none;
  }
  html body #player.nix-open .vizer-embed-topbar > .vizer-loading-close {
    position: relative !important;
    inset: auto !important;
    width: 33px !important;
    min-width: 33px !important;
    height: 33px !important;
    padding: 0 !important;
    justify-self: start !important;
    pointer-events: auto !important;
  }
  html body #player.nix-open .vizer-embed-meta {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  html body #player.nix-open .vizer-embed-meta .vizer-brand-image {
    width: min(111px, 100%) !important;
    max-width: 100% !important;
    height: 27px !important;
    min-height: 0 !important;
  }
  html body #player.nix-open .vizer-embed-meta .vizer-brand-image img {
    object-fit: contain !important;
    max-width: 100% !important;
  }
  html body #player.nix-open .vizer-embed-actions {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 5px !important;
    min-width: 0 !important;
    pointer-events: auto !important;
  }
  html body #player.nix-open .vizer-embed-actions .vizer-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 33px !important;
    width: 33px !important;
    min-width: 33px !important;
    height: 33px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Mesmo tratamento para o player de vídeo próprio, quando usado. */
  html body #player.nix-open .vizer-topbar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    width: 100% !important;
    padding: 7px 9px 25px !important;
    box-sizing: border-box !important;
  }
  html body #player.nix-open .vizer-top-actions {
    flex: 0 0 auto !important;
    display: flex !important;
    gap: 4px !important;
    align-items: center !important;
  }
  html body #player.nix-open .vizer-top-actions .vizer-icon-btn {
    width: 32px !important;
    min-width: 32px !important;
    height: 32px !important;
  }
  html body #player.nix-open .vizer-state {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
  }

  /* Botões sempre EMBAIXO do vídeo e sem sobreposição. */
  html body #player.nix-open .pf-mega-sources {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: stretch !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 16px 2px 8px !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }
  html body #player.nix-open .pf-mega-sources-label {
    grid-column: 1 / -1 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  html body #player.nix-open .pf-mega-source-btn {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    font-size: 13px !important;
    line-height: 1.3 !important;
    text-align: center !important;
    touch-action: manipulation;
  }
}

/* Em telas muito estreitas, priorizar expandir, que é o botão essencial. */
@media (max-width: 350px) and (orientation: portrait) {
  html body #player.nix-open .vizer-embed-actions .vizer-embed-cast { display: none !important; }
  html body #player.nix-open .vizer-embed-topbar { grid-template-columns: 36px minmax(0, 1fr) 36px !important; }
}

/* Paisagem: coloca vídeo e fontes dentro da altura disponível. */
@media (max-width: 900px) and (orientation: landscape) {
  html body #player.nix-open {
    padding: max(6px, env(safe-area-inset-top))
             max(10px, env(safe-area-inset-right))
             max(6px, env(safe-area-inset-bottom))
             max(10px, env(safe-area-inset-left)) !important;
  }
  html body #player.nix-open > .box {
    width: min(100%, 700px, max(220px, calc((100dvh - 100px) * 1.777778))) !important;
    max-width: 100% !important;
  }
  html body #player.nix-open .pf-mega-sources { padding: 6px 0 0 !important; gap: 4px 8px !important; }
  html body #player.nix-open .pf-mega-source-btn { min-height: 36px !important; padding: 4px 8px !important; }
}
