/* assets/css/print.css */
/* Etiqueta física: 60x60mm */
/* Driver Elgin L42 Pro: 6.00x6.00" (tamanho do rolo — sensor de gap corta em 60mm) */

@media print {

    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    @page {
        size: 60mm 60mm;
        margin: 0;
    }

    html, body {
        margin: 0 !important;
        padding: 0 !important;
        width: 60mm !important;
        height: 60mm !important;
        background: white !important;
        color: black !important;
        font-family: Arial, Helvetica, sans-serif !important;
        overflow: hidden !important;
    }

    /* Esconde toda interface */
    .no-print,
    .class-no-print,
    .sidebar,
    .topbar,
    .main-content > .no-print,
    .navbar,
    nav,
    header,
    footer,
    .card,
    .container,
    .alert,
    .btn,
    .breadcrumb,
    .sidebar-overlay {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    .main-content {
        margin: 0 !important;
        padding: 0 !important;
        width: 60mm !important;
        height: 60mm !important;
        overflow: hidden !important;
    }

    .main-content > * {
        display: none !important;
    }

    /* Área gerada pelo JS */
    #area-impressao-navegador {
        display: block !important;
        position: static !important;
        width: 60mm !important;
        margin: 0 !important;
        padding: 0 !important;
        background: white !important;
    }

    /* Impressão única */
    #etiqueta_termica {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 60mm !important;
        height: 60mm !important;
        padding: 2.5mm !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 7pt !important;
        line-height: 1.35 !important;
        background: white !important;
        color: black !important;
        overflow: hidden !important;
        visibility: visible !important;
    }

    #etiqueta_termica * {
        visibility: visible !important;
        color: black !important;
    }

    /* Impressão múltipla */
    .etiqueta-impressao {
        width: 60mm !important;
        height: 60mm !important;
        padding: 2.5mm !important;
        margin: 0 !important;
        font-family: Arial, Helvetica, sans-serif !important;
        font-size: 7pt !important;
        line-height: 1.35 !important;
        background: white !important;
        color: black !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        page-break-after: always !important;
        page-break-inside: avoid !important;
        display: block !important;
        visibility: visible !important;
    }

    .etiqueta-impressao:last-child {
        page-break-after: auto !important;
    }

    .etiqueta-impressao *,
    .etiqueta-impressao table,
    .etiqueta-impressao td,
    .etiqueta-impressao tr,
    .etiqueta-impressao b,
    .etiqueta-impressao strong,
    .etiqueta-impressao span,
    .etiqueta-impressao div {
        visibility: visible !important;
        color: black !important;
        background: white !important;
    }

    .etiqueta-impressao table { display: table !important; width: 100% !important; border-collapse: collapse !important; }
    .etiqueta-impressao tr { display: table-row !important; }
    .etiqueta-impressao td { display: table-cell !important; padding: 0 !important; }
    .etiqueta-impressao img { display: inline-block !important; visibility: visible !important; }

    /* Classes de texto — fontes para 60mm */
    .print-titulo {
        font-size: 11pt !important;
        font-weight: bold !important;
        text-transform: uppercase !important;
        line-height: 1.2 !important;
        margin-bottom: 1mm !important;
    }

    .print-texto {
        font-size: 8pt !important;
        margin-bottom: 0.5mm !important;
        line-height: 1.3 !important;
    }

    .print-destaque {
        font-size: 8pt !important;
        font-weight: bold !important;
    }

    .print-qrcode {
        width: 14mm !important;
        height: 14mm !important;
        display: block !important;
    }

    .et-header {
        font-size: 8pt !important;
        font-weight: bold !important;
        text-align: center !important;
        border-bottom: 0.5pt solid #000 !important;
        padding-bottom: 0.8mm !important;
        margin-bottom: 0.5mm !important;
    }

    .et-produto {
        font-size: 11pt !important;
        font-weight: bold !important;
        line-height: 1.2 !important;
    }

    .et-tipo {
        font-size: 7pt !important;
        color: #555 !important;
        margin-bottom: 0.5mm !important;
    }

    .et-linha {
        border-top: 0.5pt solid #000 !important;
        margin: 0.8mm 0 !important;
    }

    .et-linha-dotted {
        border-top: 0.3pt dotted #999 !important;
        margin: 0.5mm 0 !important;
    }

    .et-campo {
        font-size: 7pt !important;
        line-height: 1.3 !important;
    }

    .et-validade {
        font-size: 8pt !important;
        font-weight: bold !important;
    }

    .et-campo-sm {
        font-size: 6.5pt !important;
        line-height: 1.2 !important;
    }

    .et-campo-xs {
        font-size: 5.5pt !important;
        color: #666 !important;
        line-height: 1.2 !important;
    }

    .et-footer {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-end !important;
        margin-top: 0.5mm !important;
    }

    .et-lote {
        font-size: 7pt !important;
        font-weight: bold !important;
    }

    .et-qr {
        width: 14mm !important;
        height: 14mm !important;
        display: block !important;
    }
}