/**
 * Furever Friends Invoice Manager — Strict Zero-Margin A4 Print Rules
 * Enforces 1-page A4 output, neutralizes WordPress Admin chrome, and locks sheet height to 296mm.
 */

@media print {
    @page {
        size: A4 portrait;
        margin: 0mm !important;
    }

    html, body {
        margin: 0 !important;
        padding: 0 !important;
        width: 210mm !important;
        height: 100% !important;
        min-height: 100% !important;
        background: transparent !important;
    }

    /* Neutralize WordPress Admin sidebar, wrappers, and unclassed parent padding */
    .ff-admin-builder-wrap, 
    div[style*="padding:10px 0"], 
    .wrap, 
    #wpwrap, 
    #wpcontent, 
    #wpbody, 
    #wpbody-content, 
    .ff-wrapper, 
    #invoiceContainer {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        left: 0 !important;
        top: 0 !important;
        position: static !important;
        float: none !important;
        width: 100% !important;
        background: transparent !important;
    }

    /* Frontend Theme Wrapper Neutralization (strictly scoped to body.ff-portal-page) */
    body.ff-portal-page .wp-site-blocks,
    body.ff-portal-page main,
    body.ff-portal-page .wp-block-group,
    body.ff-portal-page .wp-block-group.alignfull,
    body.ff-portal-page .entry-content,
    body.ff-portal-page .entry-content.alignfull,
    body.ff-portal-page .ff-portal-wrapper {
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        left: 0 !important;
        top: 0 !important;
        position: static !important;
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
    }

    /* Hide non-printable admin UI, controls, and preview bars */
    #adminmenumain, 
    #adminmenuwrap, 
    #wpadminbar, 
    #wpfooter, 
    .notice, 
    .updated, 
    .error, 
    .update-nag,
    .ff-actions-bar, 
    .ff-bottom-action-bar,
    .ff-editing-banner,
    .ff-a4-fit-status,
    .ff-service-select, 
    .ff-client-select, 
    .ff-del-row, 
    .row-actions,
    .ff-portal-top-bar, 
    .ff-modal-overlay,
    .preview-bar,
    .ff-builder-only,
    .ff-add-service-wrap,
    .ff-btn-add-service {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        visibility: hidden !important;
    }

    /* Frontend Staff Invoice Portal Chrome & Theme Suppression (strictly scoped to body.ff-portal-page) */
    body.ff-portal-page header,
    body.ff-portal-page footer,
    body.ff-portal-page nav,
    body.ff-portal-page a.skip-link,
    body.ff-portal-page .skip-link,
    body.ff-portal-page .screen-reader-text,
    body.ff-portal-page .site-header,
    body.ff-portal-page .site-footer,
    body.ff-portal-page .site-navigation,
    body.ff-portal-page .wp-block-template-part,
    body.ff-portal-page .wp-block-post-title,
    body.ff-portal-page .entry-title,
    body.ff-portal-page .entry-header,
    body.ff-portal-page .ff-portal-app-header,
    body.ff-portal-page .ff-portal-lock-screen,
    body.ff-portal-page .ff-bottom-action-bar,
    body.ff-portal-page .ff-a4-fit-status {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    select, 
    .ff-service-select, 
    .ff-client-select, 
    .ff-del-row, 
    .row-actions {
        display: none !important;
    }

    /* Strict 296mm Single-Page A4 Sheet Boundary */
    #invoiceSheet {
        position: relative !important;
        margin: 0 auto !important;
        width: 210mm !important;
        max-width: 210mm !important;
        min-height: 296mm !important;
        height: 296mm !important;
        max-height: 297mm !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        border: none !important;
        background: var(--bg-cream) !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        page-break-after: avoid !important;
        page-break-inside: avoid !important;
        page-break-before: avoid !important;
    }

    [contenteditable="true"]:hover, 
    [contenteditable="true"]:focus { 
        background: transparent !important; 
    }

    [contenteditable] {
        outline: none !important;
    }

    .ff-items-table th {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .ff-balance-banner {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    .ff-footer {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}
