/**
 * CVGHR - Impressão: mostrar APENAS o conteúdo do documento
 * Técnica "visibility": esconde tudo e torna visível só o container do documento.
 * Inclui correções para Safari (impressão em branco) e layout (evitar textos sobrepostos).
 */
@media print {
    /* Safari: garantir que o body imprime e não fica em branco */
    html, body {
        background: #fff !important;
        color: #000 !important;
        height: auto !important;
        overflow: visible !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* 1. Esconder todo o conteúdo; só o container do documento fica visível (ver passo 2) */
    body * {
        visibility: hidden !important;
    }

    /* 2. Mostrar apenas os containers de documento e todo o seu conteúdo */
    .payslip-container,
    .payslip-container *,
    .certificate-container,
    .certificate-container *,
    .contract-container,
    .contract-container *,
    .document-container,
    .document-container *,
    .print-content,
    .print-content * {
        visibility: visible !important;
    }

    /* 3. Posicionar o container de documento no topo (evita página em branco) */
    .payslip-container,
    .certificate-container,
    .contract-container,
    .document-container,
    .print-content {
        position: absolute !important;
        left: 0 !important;
        top: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 15pt !important;
        background: #fff !important;
        color: #000 !important;
        box-shadow: none !important;
        border: none !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        min-height: 0 !important;
        overflow: visible !important;
    }

    /* Evitar sobreposição: blocos de assinatura e rodapé no fluxo, não fixos no fundo */
    .signature-block,
    .certificate-footer {
        position: static !important;
        margin-top: 25pt !important;
        page-break-inside: avoid !important;
    }

    /* Preservar layout do cabeçalho na impressão (logo em cima, centrado) */
    .contract-header-top,
    .certificate-header-top {
        display: grid !important;
        grid-template-columns: 1fr auto 1fr !important;
    }
    .contract-logo-block,
    .certificate-logo-block {
        display: flex !important;
        justify-content: center !important;
    }
    .certificate-header {
        display: block !important;
        text-align: center !important;
    }
    .certificate-header img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    @page {
        size: A4;
        margin: 15mm;
    }
}
