/*
 * BBBPOS Invoice Print Fix
 * Keeps invoice branding predictable in browser print/PDF output.
 */

:root {
    --bbbpos-print-logo-max-width: 38mm;
    --bbbpos-print-logo-max-height: 15mm;
}

.bbbpos-print-logo {
    display: block;
    width: auto;
    height: auto;
    max-width: 150px;
    max-height: 60px;
    object-fit: contain;
}

@media print {
    .bbbpos-print-emoji,
    .bbbpos-print-hide,
    [data-bbbpos-print-hide="1"] {
        display: none !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    .bbbpos-print-logo,
    img.bbbpos-print-logo,
    svg.bbbpos-print-logo {
        display: block !important;
        width: auto !important;
        height: auto !important;
        max-width: var(--bbbpos-print-logo-max-width) !important;
        max-height: var(--bbbpos-print-logo-max-height) !important;
        object-fit: contain !important;
        transform: none !important;
        zoom: 1 !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .bbbpos-print-duplicate-logo {
        display: none !important;
    }

    /*
     * Safe logo constraints for common BBBPOS/invoice class names.
     * These rules intentionally avoid applying to QR codes.
     */
    .bbbpos-invoice img[class*="logo"]:not([class*="qr"]),
    .bbbpos-invoice svg[class*="logo"]:not([class*="qr"]),
    .invoice-wrap img[class*="logo"]:not([class*="qr"]),
    .invoice-wrap svg[class*="logo"]:not([class*="qr"]),
    .invoice-container img[class*="logo"]:not([class*="qr"]),
    .invoice-container svg[class*="logo"]:not([class*="qr"]),
    [class*="invoice"] img[class*="brand"]:not([class*="qr"]),
    [class*="invoice"] svg[class*="brand"]:not([class*="qr"]) {
        width: auto !important;
        height: auto !important;
        max-width: var(--bbbpos-print-logo-max-width) !important;
        max-height: var(--bbbpos-print-logo-max-height) !important;
        object-fit: contain !important;
        transform: none !important;
    }

    img,
    svg,
    table,
    .invoice-company-brand,
    .invoice-header,
    .bbbpos-invoice-header {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
}
