﻿/* =========================
   POS TICKET (Termica)
   - Centrado
   - Normal / Reventado
   ========================= */

#pos-ticket,
#pos-ticket-parley,
#pos-ticket-monazo,
#pos-ticket-premiados {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
    color: #111;
    /* ✅ ZOOM REAL DE TEXTO (no scale global) */
    font-size: calc(12px * var(--ptFont, 1));
    line-height: calc(1.25 * var(--ptFont, 1));
    /* ✅ scale SOLO para auto-fit cuando algo se sale */
    transform: scale(var(--ptScale, 1));
    transform-origin: top center;
    box-sizing: border-box;
}

.pos-center {
    text-align: center;
}

.pos-hr {
    border: none;
    border-top: 1px dashed #333;
    margin: 8px 0;
}

/* ✅ ahora en "em" para que crezca con --ptFont */
.pos-title {
    font-size: 1.60em;
    font-weight: 900;
    letter-spacing: .3px;
}

.pos-sub {
    font-size: 1.05em;
    font-weight: 700;
    opacity: .9;
    margin-top: 2px;
}

.pos-meta {
    font-size: 1.05em;
    font-weight: 800;
    margin-top: 6px;
}

.pos-lines {
    width: 100%;
    border-collapse: collapse;
    margin-top: 6px;
    font-variant-numeric: tabular-nums;
}

    .pos-lines th {
        font-size: 1.00em;
        font-weight: 900;
        padding: 4px 2px;
        border-bottom: 1px solid #222;
    }

    .pos-lines td {
        font-size: 1.10em;
        font-weight: 800;
        padding: 4px 2px;
    }

    /* columnas base */
    .pos-lines .c-num {
        width: 34%;
        text-align: center;
    }

    .pos-lines .c-m {
        width: 33%;
        text-align: center;
    }

    .pos-lines .c-r {
        width: 33%;
        text-align: center;
    }

.pos-payrow {
    display: flex;
    justify-content: center;
    gap: 10px;
    font-size: 1.00em;
    font-weight: 900;
    margin-top: 6px;
    flex-wrap: wrap;
}

.pos-total-row {
    display: flex;
    justify-content: center;
    gap: 8px;
    align-items: baseline;
    margin-top: 8px;
}

.pos-total-label {
    font-size: 1.10em;
    font-weight: 950;
    letter-spacing: .3px;
}

.pos-total-val {
    font-size: 1.40em;
    font-weight: 950;
}

.pos-msg {
    font-size: 1.00em;
    font-weight: 800;
    text-align: center;
    margin-top: 8px;
    opacity: .95;
    white-space: pre-wrap;
}

.pos-footer {
    text-align: center;
    margin-top: 8px;
    font-size: 1.00em;
    font-weight: 900;
}

.pos-payrow-base {
    font-size: 0.95em; /* un punto menos */
    font-weight: 600;
    margin-top: 6px;
}

.pos-pago {
    font-weight: 700;
    margin-right: 4px;
}

.pos-total-label {
    letter-spacing: .5px;
}

/* Watermark: relativo */
#pos-ticket,
#pos-ticket-parley,
#pos-ticket-monazo,
#pos-ticket-premiados {
    position: relative;
}

/* Watermark base (si lo usas aparte) */
.pos-watermark {
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.80em;
    font-weight: 1000;
    opacity: .16;
    transform: rotate(-28deg);
    pointer-events: none;
    letter-spacing: 2px;
    text-transform: uppercase;
}

/* ✅ Watermark SOLO cuando sea reimpresión */
body.pos-reprint #pos-ticket::before,
body.pos-reprint #pos-ticket-parley::before,
body.pos-reprint #pos-ticket-monazo::before,
body.pos-reprint #pos-ticket-premiados::before {
    content: "REIMPRESIÓN";
    position: absolute;
    inset: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.80em;
    font-weight: 1000;
    opacity: .16;
    transform: rotate(-28deg);
    pointer-events: none;
    letter-spacing: 2px;
    text-transform: uppercase;
    z-index: 50;
}

/* =========================
   MONAZOS (no recortar al agrandar)
   ========================= */

.pos-lines-monazo .c-mod {
    width: 18%;
    text-align: center;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    word-break: break-word;
}

.pos-lines-monazo .c-num {
    width: 34%;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

.pos-lines-monazo .c-m {
    width: 48%;
    text-align: center;
    white-space: normal;
    word-break: break-word;
}

/* Paga centrado (sin afectar Parley) */
.pos-payrow-monazo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}

/* ==========================================
   ✅ PREMIADOS: clases pt-* deben crecer también
   ========================================== */

#pos-ticket-premiados .pt-center {
    text-align: center;
}

#pos-ticket-premiados .pt-bold {
    font-weight: 900;
}

#pos-ticket-premiados .pt-muted {
    opacity: .8;
}

#pos-ticket-premiados .pt-sep {
    border-top: 1px dashed #333;
    margin: 8px 0;
}

    #pos-ticket-premiados .pt-sep.thin {
        margin: 6px 0;
    }

#pos-ticket-premiados .pt-line {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 1.00em; /* crece por --ptFont */
    margin-top: 2px;
}

#pos-ticket-premiados .pt-head {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 0.6fr 1fr 1fr 0.9fr;
    gap: 6px;
    font-size: 0.98em;
}

#pos-ticket-premiados .pt-row {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 0.6fr 1fr 1fr 0.9fr;
    gap: 6px;
    font-size: 1.00em;
}

#pos-ticket-premiados .pt-col,
#pos-ticket-premiados .pt-tcol {
    text-align: right;
    white-space: nowrap;
}

#pos-ticket-premiados .pt-row > div:first-child,
#pos-ticket-premiados .pt-head > div:first-child {
    text-align: left;
    white-space: nowrap;
}

#pos-ticket-premiados .pt-total {
    font-size: 1.05em;
}

/* Si monazos usa "Modo" el grid necesita espacio; el mismo grid ya lo contempla. */

@media print {
    #pos-ticket,
    #pos-ticket-parley,
    #pos-ticket-monazo,
    #pos-ticket-premiados {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform-origin: top center !important;
    }
}

/* =========================
   PREMIADOS (pt-*) - layout limpio
   ========================= */

#pos-ticket-premiados .pt-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
}

#pos-ticket-premiados .pt-meta-row {
    display: flex;
    justify-content: center; /* ✅ todo centrado */
    align-items: baseline;
    gap: 6px; /* ✅ label y valor pegados */
    font-size: 1.05em;
}

#pos-ticket-premiados .pt-meta-label {
    font-weight: 900;
}

#pos-ticket-premiados .pt-meta-value {
    font-weight: 800;
}

/* Totales en 1 fila (2 columnas) */
#pos-ticket-premiados .pt-totals {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
    font-size: 1.08em;
}

#pos-ticket-premiados .pt-tot {
    display: flex;
    align-items: baseline;
    gap: 6px;
}

/* Totales en columna (para Tiempos con bola) */
#pos-ticket-premiados .pt-totals-col {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-top: 6px;
    font-size: 1.08em;
}


/* ==========================================
   ✅ AJUSTE REAL: columnas más juntas (TIEMPOS + PARLEY)
   - Funciona aunque haya otros estilos, por !important
   - No depende de %: usa ancho real (tabla más angosta)
   ========================================== */

/* 1) Hacer la tabla más angosta y centrada => columnas más juntas */
#pos-ticket table.pos-lines,
#pos-ticket-parley table.pos-lines {
    width: 92% !important; /* <- ajusta 88%..96% si querés */
    margin: 0 auto !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
}

    /* 2) Menos padding => menos separación visual */
    #pos-ticket table.pos-lines th,
    #pos-ticket table.pos-lines td,
    #pos-ticket-parley table.pos-lines th,
    #pos-ticket-parley table.pos-lines td {
        padding: 2px 0px !important; /* <- más pegado */
    }

/* 3) Anchos por “caracteres” (más control real) */
#pos-ticket .pos-lines .c-num,
#pos-ticket-parley .pos-lines .c-num {
    width: 7ch !important; /* N° / Comb */
    text-align: center !important;
}

#pos-ticket .pos-lines .c-m,
#pos-ticket-parley .pos-lines .c-m {
    width: 10ch !important; /* Monto */
    text-align: center !important;
}

/* 4) Reventado (3 columnas) */
#pos-ticket .pos-lines .c-r {
    width: 10ch !important; /* Monto R */
    text-align: center !important;
}

