.elementor-1847 .elementor-element.elementor-element-a31c346{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-1847 .elementor-element.elementor-element-a31c346:not(.elementor-motion-effects-element-type-background), .elementor-1847 .elementor-element.elementor-element-a31c346 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-astglobalcolor5 );}.elementor-1847 .elementor-element.elementor-element-3e804d9{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1847 .elementor-element.elementor-element-a31c346{--content-width:100%;}}/* Start custom CSS for html, class: .elementor-element-3e804d9 */Claro! Aqui está o código CSS completo e final (form.css), que inclui todas as otimizações que fizemos (compactação, campos sem caixa, correção de quebra de página) e a nova estilização para o botão de imprimir.

Código CSS Completo (form.css)
Salve este código em um arquivo chamado form.css. Ele está pronto para uso.

CSS

/*
 * ARQUIVO: form.css
 * VERSÃO FINAL COM FLEXBOX, COMPACTAÇÃO E ESTILIZAÇÃO DO BOTÃO
 */

/* ========================================================== */
/* ESTILOS DO BOTÃO DE IMPRIMIR (APARECE SOMENTE NA TELA) */
/* ========================================================== */

#form button {
    /* Centraliza e define tamanho */
    display: block;
    margin: 20px auto; 
    padding: 12px 25px;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    cursor: pointer;
    
    /* Cores e Aparência */
    background-color: #00497c; /* Azul escuro principal */
    color: #ffffff; /* Texto branco */
    border: none;
    border-radius: 5px;
    
    /* Efeitos */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

#form button:hover {
    background-color: #00609b; /* Azul ligeiramente mais claro */
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

#form button:active {
    background-color: #003666; 
    box-shadow: none;
    transform: translateY(1px);
}

/* ========================================================== */
/* REGRAS DE LAYOUT GERAL (TELA) */
/* ========================================================== */

body {
    background-color: #f4f4f4;
    padding: 20px;
}

#form {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    max-width: 950px !important; 
    margin: 20px auto !important; 
    padding: 10px;
    background-color: #fff;
}

.cabecalho-sindicato, .rodape-sindicato {
    text-align: center;
}

.cabecalho-sindicato p {
    font-size: 10px !important; 
    line-height: 1.2 !important;
    margin: 2px 0 !important;
}

.grupo {
    border-radius: 5px !important;
    border: 2px solid #00497c !important;
    padding: 15px !important;
    margin-bottom: 25px !important;
    font-size: 11px !important;
}

.grupo legend {
    font-size: 13px !important;
    font-weight: bold !important;
    color: #00497c !important;
}

/* Flexbox para alinhamento na TELA */
.linha-campos {
    display: flex;
    flex-wrap: wrap; 
    align-items: center;
    margin-bottom: 8px; 
}

/* Estilos de inputs na TELA */
#form input[type="text"], 
#form input[type="email"], 
#form input[type="number"], 
#form input[type="tel"],
#form input[type="date"],
#form select {
    height: 14px !important; 
    padding: 2px 6px !important; 
    line-height: 14px !important; 
    width: auto !important; 
    font-size: 10px !important;
    border: 1px solid #ccc !important; 
    border-radius: 3px !important;
    box-sizing: content-box !important;
    margin-right: 15px;
}

/* ========================================================== */
/* REGRAS DE IMPRESSÃO (@media print) - SOLUÇÃO FINAL */
/* ========================================================== */

/* 1. CONTROLE DE PÁGINA E MARGENS */
@page {
    margin: 0.5cm !important; 
}

@media print {
    
    /* Regras de ocultação (seus elementos) */
    button, header, footer {
        display: none !important;
    }
    
    /* Oculta o rodapé de contato, mas MANTÉM a assinatura */
    #form > .rodape-sindicato,
    p:not(.cabecalho-sindicato p) { 
        display: none !important;
    }
    
    /* 2. REINICIALIZAÇÃO DO CORPO E CONTAINER */
    html, body {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 8pt !important; 
        -webkit-print-color-adjust: exact !important; 
        print-color-adjust: exact !important;
    }
    
    #form {
        margin: 0 !important; 
        padding: 0 !important;
        border: none !important;
    }
    
    /* 3. ESTILO DE INPUTS (APENAS DADOS, SEM CAIXA) */
    input, select {
        /* Remove a aparência de caixa */
        border: none !important; 
        outline: none !important;
        box-shadow: none !important; 
        -webkit-appearance: none !important;
        appearance: none !important;
        
        /* Compactação e texto */
        background-color: transparent !important;
        color: #000 !important;
        height: auto !important; 
        padding: 0 !important;
        margin: 0 !important;
        font-size: 8pt !important;
    }
    
    /* 4. COMPACTAÇÃO MÁXIMA (Flexbox e Grupos) */
    .linha-campos {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-end !important;
        margin-bottom: 2px !important; 
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1.1 !important;
    }

    .grupo {
        /* Regra padrão de quebra */
        page-break-inside: avoid !important;
        border: 1px solid #000 !important;
        margin-bottom: 3px !important; 
        padding: 5px !important; 
    }

    /* 5. SOLUÇÃO FINAL PARA O BLOCO "AUTORIZAÇÃO" (Inquebrável) */
    #frm fieldset:last-of-type {
        /* Força a quebra para a próxima página se não houver espaço suficiente */
        page-break-before: auto !important; 
        page-break-inside: avoid !important; 
        margin: 0 0 5px 0 !important;
        padding: 5px !important;
        display: block !important;
    }
    
    /* Garante que o conteúdo interno da autorização e assinatura não sejam quebrados */
    #autori, 
    .grupo > .rodape-sindicato {
        page-break-inside: avoid !important;
        display: block !important;
        line-height: 1.1 !important;
    }
    
    br {
        line-height: 0.5em !important;
    }
}/* End custom CSS */