/* ==========================================================================
   print.css — Impressao limpa da grade
   Estrategia: papel nao rola. A grade proporcional (larga e posicionada em
   absoluto) e revertida para um fluxo que QUEBRA LINHA, de modo que cada
   canal imprime todos os seus programas em blocos sequenciais. A regua de
   horas sai de cena — no papel o horario de cada cartao e a referencia.
   Tema invertido para tinta: fundo branco, texto preto, sem sombras.
   Carregar por ULTIMO: as regras vencem por ordem de fonte, sem !important.
   ========================================================================== */

@media print {

  /* ------------------------------------------------------------------------
     1. PAGINA
     ------------------------------------------------------------------------ */

  @page {
    size: A4 landscape;
    margin: 12mm 10mm;
  }

  :root {
    color-scheme: light;

    /* Superficies -> papel */
    --epg-surf-void: #FFFFFF;
    --epg-surf-0: #FFFFFF;
    --epg-surf-1: #FFFFFF;
    --epg-surf-2: #FFFFFF;
    --epg-surf-3: #FFFFFF;
    --epg-surf-4: #F4F5F7;
    --epg-surf-5: #E7E9ED;
    --epg-surf-glass: #FFFFFF;
    --epg-surf-glass-forte: #FFFFFF;

    /* Texto -> tinta */
    --epg-txt: #101418;
    --epg-txt-2: #33393F;
    --epg-txt-3: #5A6169;
    --epg-txt-4: #767D85;
    --epg-txt-inv: #FFFFFF;

    /* Linhas com peso suficiente para sobreviver a impressao */
    --epg-line: #B9BFC6;
    --epg-line-forte: #7C848C;
    --epg-line-suave: #D8DCE0;
    --epg-line-grade: #C6CBD1;
    --epg-line-hora: #9AA1A8;

    /* "No ar" continua legivel em tinta (laranja escurecido) */
    --epg-noar: #9A5B00;
    --epg-noar-claro: #7A4700;
    --epg-noar-fundo: #FFF3E0;
    --epg-noar-fundo-forte: #FFE7C4;
    --epg-noar-borda: #C07A16;
    --epg-noar-linha: #9A5B00;
    --epg-live: #005E70;
    --epg-live-claro: #004854;
    --epg-live-fundo: #E3F5F8;
    --epg-live-borda: #4E96A3;

    /* Sem elevacao nem brilho no papel */
    --epg-elev-1: none;
    --epg-elev-2: none;
    --epg-elev-3: none;
    --epg-elev-4: none;
    --epg-glow-noar: none;
    --epg-glow-live: none;

    --epg-state-hover: transparent;
    --epg-state-press: transparent;
    --epg-state-select: transparent;

    /* Metricas de papel */
    --epg-cartao-fb-w: 44mm;
    --epg-cartao-fb-max-w: 60mm;
    --epg-canal-col-w: 34mm;
    --epg-linha-h: auto;
  }

  body {
    background-color: #FFFFFF;
    color: var(--epg-txt);
    font-size: 8.5pt;
    line-height: 1.35;
  }

  /* ------------------------------------------------------------------------
     2. O QUE NAO SE IMPRIME
     ------------------------------------------------------------------------ */

  .epg-app::before,
  .epg-app::after,          /* mesh e grain: nao se imprime atmosfera */
  .epg-topbar__actions,
  .epg-topbar__row--filters,
  .epg-toolbar,
  .epg-viewswitch,
  .epg-footer__links,
  .epg-skip-link,
  .epg-toasts,
  .epg-loader,
  .epg-skeleton,
  .epg-modal,
  .epg-nowline,
  .epg-regua,
  .epg-search,
  .epg-btn,
  .epg-switch,
  .epg-tooltip::after,
  .epg-cartao__progresso,
  .epg-item__progresso,
  .epg-lista__hora-regua {
    display: none;
  }

  /* ------------------------------------------------------------------------
     3. SHELL
     ------------------------------------------------------------------------ */

  .epg-app {
    display: block;
    min-height: 0;
    background: none;
  }

  .epg-app__main {
    display: block;
    padding: 0;
  }

  .epg-container,
  .epg-section__head,
  .epg-topbar__inner,
  .epg-footer__inner {
    max-width: none;
    padding-inline: 0;
  }

  /* Cabecalho impresso uma vez, no topo do documento */
  .epg-topbar {
    position: static;
    background: none;
    border-bottom: 1pt solid var(--epg-line-forte);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .epg-topbar::after {
    display: none;
  }

  .epg-topbar__inner {
    min-height: 0;
    padding-block: 0 2mm;
  }

  .epg-topbar__logo {
    border-color: var(--epg-line-forte);
  }

  .epg-topbar__logo::after {
    display: none;
  }

  .epg-topbar__clock {
    border: none;
    padding: 0;
  }

  .epg-footer {
    background: none;
    border-top: 1pt solid var(--epg-line);
  }

  .epg-footer__inner {
    padding-block: 2mm 0;
  }

  .epg-section__title {
    font-size: 12pt;
  }

  /* ------------------------------------------------------------------------
     4. GRADE — de timeline rolavel para blocos que quebram linha
     ------------------------------------------------------------------------ */

  .epg-grade {
    border: none;
    background: none;
  }

  .epg-grade__scroll {
    overflow: visible;
    max-height: none;
  }

  .epg-grade__corpo,
  .epg-grade__linhas {
    display: block;
    width: auto;
    min-width: 0;
  }

  /* Cada canal = um bloco que nao se parte entre paginas quando possivel */
  .epg-linha {
    display: block;
    width: auto;
    min-width: 0;
    min-height: 0;
    padding-block: 2mm;
    border-bottom: 0.5pt solid var(--epg-line-grade);
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .epg-linha:nth-child(even) {
    background: none;
  }

  /* Nome do canal como titulo do bloco (nao mais coluna fixa) */
  .epg-linha__canal {
    position: static;
    display: block;
    width: auto;
    padding: 0 0 1mm;
    background: none;
    border-right: none;
    box-shadow: none;
  }

  .epg-linha--agora .epg-linha__canal {
    border-inline-start: none;
    padding-inline-start: 0;
  }

  .epg-canal__nome {
    font-size: 10pt;
    font-weight: 700;
  }

  .epg-canal__num {
    color: var(--epg-txt-3);
  }

  /* Logos de canal nao valem tinta */
  .epg-avatar {
    display: none;
  }

  /* Trilha: flex com quebra de linha — o ponto central desta folha.
     Vence .epg-grade--proporcional .epg-linha__faixa por ordem de fonte. */
  .epg-linha__faixa,
  .epg-grade--proporcional .epg-linha__faixa {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5mm;
    width: auto;
    padding: 0;
    background-image: none;
  }

  /* Cartoes voltam ao fluxo, com largura fixa de papel */
  .epg-cartao,
  .epg-grade--proporcional .epg-cartao {
    position: static;
    top: auto;
    bottom: auto;
    left: auto;
    width: var(--epg-cartao-fb-w);
    max-width: var(--epg-cartao-fb-max-w);
    min-height: 0;
    gap: 0.5mm;
    padding: 1.5mm 2mm 1.5mm 3mm;
    background: none;
    background-image: none;
    border: 0.5pt solid var(--epg-line);
    border-radius: 1mm;
    box-shadow: none;
    /* Anula a cascata de entrada */
    animation: none;
    opacity: 1;
    transform: none;
    break-inside: avoid;
    page-break-inside: avoid;
    /* Container queries nao devem esconder conteudo no papel */
    container-type: normal;
  }

  .epg-cartao::after {
    display: none;
  }

  /* Barra de genero: mantida, e a unica cor util na leitura impressa */
  .epg-cartao::before,
  .epg-item::before {
    width: 1.5mm;
    opacity: 1;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Programa no ar: destacado por peso e moldura, nao por glow */
  .epg-cartao--agora,
  .epg-grade--proporcional .epg-cartao--agora {
    border: 1pt solid var(--epg-noar-borda);
    background-color: var(--epg-noar-fundo);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .epg-cartao--passado {
    border-color: var(--epg-line-suave);
  }

  .epg-cartao__hora,
  .epg-item__hora-inicio {
    font-size: 8pt;
    font-weight: 600;
    color: var(--epg-txt);
  }

  .epg-cartao__titulo {
    font-size: 8.5pt;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  .epg-cartao__sub {
    font-size: 7.5pt;
    white-space: normal;
  }

  .epg-cartao__meta {
    display: none;
  }

  /* ------------------------------------------------------------------------
     5. LISTA
     ------------------------------------------------------------------------ */

  .epg-lista {
    border: none;
    border-radius: 0;
    overflow: visible;
  }

  .epg-lista__hora {
    position: static;
    padding: 2mm 0 1mm;
    background: none;
    border-block: none;
    border-bottom: 0.5pt solid var(--epg-line-forte);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    break-after: avoid;
    page-break-after: avoid;
  }

  .epg-lista__hora-valor {
    font-size: 10pt;
    font-weight: 700;
  }

  .epg-item {
    gap: 2mm;
    padding: 1.5mm 0 1.5mm 3mm;
    border-bottom: 0.25pt solid var(--epg-line-suave);
    background-image: none;
    box-shadow: none;
    animation: none;
    opacity: 1;
    transform: none;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .epg-item::after {
    display: none;
  }

  .epg-item--agora {
    background-color: var(--epg-noar-fundo);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .epg-item__titulo {
    font-size: 9pt;
  }

  .epg-item__sub {
    font-size: 7.5pt;
  }

  .epg-item__acao {
    display: none;
  }

  .epg-item mark {
    background: none;
    color: inherit;
    font-weight: 700;
  }

  /* ------------------------------------------------------------------------
     6. BADGES E SELOS
     Classificacao indicativa mantem as cores oficiais (print-color-adjust:
     exact), porque a cor E a informacao. Os demais badges viram contorno.
     ------------------------------------------------------------------------ */

  .epg-rating {
    width: 4mm;
    height: 4mm;
    font-size: 6.5pt;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .epg-badge {
    height: auto;
    padding: 0.2mm 1mm;
    font-size: 6pt;
    color: var(--epg-txt-2);
    background: none;
    border: 0.25pt solid var(--epg-line-forte);
  }

  .epg-badge--noar,
  .epg-badge--aovivo {
    color: var(--epg-txt);
    font-weight: 700;
  }

  .epg-badge__ponto {
    display: none;
  }

  .epg-stars__trilha {
    background-color: var(--epg-surf-5);
  }

  .epg-stars__fill {
    background-image: none;
    background-color: var(--epg-noar);
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ------------------------------------------------------------------------
     7. GERAL
     ------------------------------------------------------------------------ */

  /* Nada de animacao no papel */
  *,
  *::before,
  *::after {
    animation: none;
    transition: none;
    text-shadow: none;
  }

  /* Sombras de caixa removidas de forma ampla (a coluna sticky tinha uma) */
  .epg-linha__canal,
  .epg-cartao,
  .epg-item,
  .epg-chip,
  .epg-toast {
    box-shadow: none;
  }

  a {
    color: var(--epg-txt);
    text-decoration: none;
  }

  h1, h2, h3, h4, h5, h6 {
    break-after: avoid;
    page-break-after: avoid;
  }

  /* Conteudo escondido do fluxo continua escondido */
  [hidden] {
    display: none;
  }
}
