/* --- A4 print lock --- */
@page { size: A4; margin: 0; }

@media print {
    html, body { margin: 0 !important; padding: 0 !important; background: #fff !important; }
    /* Hide everything else */
    .no-print { display: none !important; }
    /* Avoid splitting blocks */
    .section, .receipt-header { break-inside: avoid; page-break-inside: avoid; }
}

/* --- Receipt canvas: fixed paper size --- */
.receipt-page {
    width: 210mm;
    min-height: 297mm;
    padding: 14mm;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
}


/* Keep layout stable */
.receipt-page * { box-sizing: border-box; }
.kv { display:flex; }
.kv .k { width: 55mm; }
.kv .v { flex:1; text-align:right; }

/* PRINT RULES */
@media print {
    html, body { height: auto; }
    body { margin: 0; background: #fff; }
    .no-print { display: none !important; }

    /* Force exact page size/margins */
    @page {
        size: A4;
        margin: 0;     /* we control padding inside .receipt-page */
    }

    .receipt-page{
        width: 210mm;
        min-height: 297mm;
        margin: 0;
        border-radius: 0;
        box-shadow: none;
        padding: 14mm;
    }

    /* Avoid cutting blocks */
    .section { break-inside: avoid; page-break-inside: avoid; }
    
}
