﻿/* Página y márgenes: reglas de impresión para que la tabla quepa en horizontal */
@media print {
    /* Página por defecto en A4 landscape; si necesitas más ancho usa A3 (ver nota) */
    @page {
        size: A4 landscape;
        margin: 10mm;
    }

    #catalogo-print,
    #catalogo-print table {
        display: table !important;
        width: 100% !important;
        table-layout: auto !important; /* auto permite que columnas se ajusten según contenido */
        border-collapse: collapse !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 9px !important; /* compacta texto */
    }

        /* Cabecera como primera fila (no repetir) */
        #catalogo-print thead {
            display: table-row-group !important;
        }

        #catalogo-print tbody {
            display: table-row-group !important;
        }

        #catalogo-print tfoot {
            display: table-footer-group !important;
        }

        /* Filas/celdas */
        #catalogo-print tr {
            display: table-row !important;
            page-break-inside: avoid !important;
        }

        #catalogo-print th, #catalogo-print td {
            display: table-cell !important;
            vertical-align: top !important;
            white-space: nowrap !important; /* fuerza columnas en horizontal, evita stack */
            overflow: hidden !important;
            text-overflow: ellipsis !important; /* trunca largas entradas */
            padding: 3px 6px !important; /* padding reducido */
            font-size: 9px !important;
            border: 1px solid #e0e0e0 !important;
        }

            /* Si quieres contenido con wrap en celdas concretas, añade la clase .wrap a esa celda */
            #catalogo-print td.wrap {
                white-space: normal !important;
                word-break: break-word !important;
            }

        /* Anular utilidades flex/block que rompan la tabla */
        #catalogo-print .flex,
        #catalogo-print .block,
        #catalogo-print .inline-block,
        #catalogo-print .grid,
        #catalogo-print .w-full {
            display: revert !important;
        }

        /* Opcional: cabeceras verticales para ahorrar ancho (activar añadiendo class="rotate-headers" al wrapper o table) */
        #catalogo-print.rotate-headers th,
        #catalogo-print .rotate-headers th {
            writing-mode: vertical-rl !important;
            transform: rotate(180deg) !important;
            white-space: normal !important;
            padding: 6px 4px !important;
            font-size: 9px !important;
            height: 100px !important; /* ajusta según necesidad */
        }

        /* Escalar para forzar ajuste (usar sólo si otras opciones no bastan) */
        #catalogo-print.scale-fit,
        #catalogo-print .scale-fit {
            transform-origin: left top;
            transform: scale(0.92); /* ajustar factor: 0.8..1.0 */
        }

        /* Reglas para evitar saltos raros */
        #catalogo-print table {
            page-break-inside: auto !important;
        }

        #catalogo-print tr {
            page-break-inside: avoid !important;
            page-break-after: auto !important;
        }
}
