/* npo4me POS — talão de impressão, partilhado por /pos e /pos-movel.
   O markup do talão é gerado em pos-core.js (ticketHTML / billHTML).
   Mantido em ficheiro próprio para os dois POS nunca imprimirem diferente.

   LARGURA DO PAPEL
   ----------------
   Está configurado para rolo de 80 mm (área imprimível 72 mm), que é o
   formato mais comum nas impressoras térmicas de talão.
   Se o rolo for de 58 mm (área imprimível ~48 mm), troca os DOIS valores
   marcados com "LARGURA" abaixo, de 72mm para 48mm. Mais nada é preciso.

   SEM ISTO A FOLHA SAI EM A4
   --------------------------
   A regra @page é o que diz ao browser que a folha tem a largura do rolo e
   altura contínua. Sem ela o Chrome assume A4 e imprime o talão a um canto
   de uma folha inteira. Não a retires.                                     */

@page {
  size: 72mm auto;   /* LARGURA (1 de 2) · "auto" = rolo contínuo, sem altura fixa */
  margin: 0;
}

#ticket { display: none; }

@media print {
  html, body { margin: 0 !important; padding: 0 !important; }
  body > *:not(#ticket) { display: none !important; }
  body { height: auto; overflow: visible; background: #fff; }

  #ticket {
    display: block !important;
    font-family: monospace;
    width: 72mm;     /* LARGURA (2 de 2) */
    box-sizing: border-box;
    /* MARGEM ESQUERDA REGULÁVEL — ⋯ Menu → Impressão → Margem do talão.
       Uma térmica não começa a imprimir na borda do papel: o primeiro
       milímetro cai fora do alcance da cabeça e os caracteres encostados à
       esquerda saem cortados (foi o que aconteceu a 20/08/2026). O desvio
       muda de impressora para impressora, por isso NÃO se fixa aqui um
       número: regula-se no posto e fica guardado nessa máquina, em
       localStorage npo4me_talao_esq. O 2mm é só o ponto de partida.
       A folga em baixo evita que o corte coma a última linha: 5mm chegam,
       os 8mm iniciais eram medo a mais. Em cima 1mm — o branco do topo que
       se vê no papel NÃO vem daqui, vem do driver (Paper Conservation). */
    padding: 1mm 3mm 5mm calc(3mm + var(--talao-esq, 2mm));
    margin: 0;
    color: #000;
    font-size: 13px;
    line-height: 1.25;
    /* o térmico só imprime a preto: garante que nada sai cinzento claro */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* nada de quebras de página a meio de um talão */
  #ticket, #ticket * { page-break-inside: avoid; break-inside: avoid; }

  #ticket .tno { font-size: 30px; font-weight: 800; text-align: center; margin: 2px 0; }
  #ticket .tit { text-align: center; font-weight: 700; }
  #ticket hr { border: none; border-top: 1px dashed #000; margin: 4px 0; }
  #ticket .it { display: flex; justify-content: space-between; font-size: 15px; padding: 1px 0; }
  #ticket .meta { text-align: center; font-size: 11px; }

  /* ---------------------------------------------------------------------
     TALAO DA COZINHA (2.o talao) - markup em kitchenTicketHTML (pos-core.js).
     Tudo maior do que no talao do cliente: e lido de relance, de longe e com
     as maos ocupadas. Nao ha precos nem totais neste talao.               */
  #ticket .kmark { text-align: center; font-size: 19px; font-weight: 800;
                   letter-spacing: .12em; border: 2px solid #000;
                   padding: 1px 0; margin: 0 0 3px; }
  /* 40px em vez de 46: continua a ler-se do outro lado da grelha, e são
     menos 6mm de papel em CADA pedido de cozinha da noite toda. */
  #ticket .knum  { font-size: 40px; font-weight: 800; text-align: center;
                   line-height: 1; margin: 3px 0; word-break: break-word; }
  #ticket .kit   { display: flex; gap: 3mm; align-items: flex-start;
                   font-size: 20px; font-weight: 700; padding: 3px 0;
                   border-bottom: 1px dotted #000; }
  #ticket .kqty  { font-size: 26px; font-weight: 800; min-width: 13mm; }
  #ticket .kmod  { font-size: 18px; font-weight: 800; text-decoration: underline;
                   margin: 2px 0 0; }
}
