/* Estilos dos modelos de orçamento (LASA / SEMEANTES / FGL).
   Fonte única usada pelo preview, pela impressão e pelo PDF baixado. */

* { box-sizing: border-box; }

.modelo-pdf {
    width: 210mm;
    min-height: 297mm;
    padding: 20mm;
    background: white;
    box-shadow: 0 5px 20px rgba(0,0,0,0.2);
    font-family: 'Times New Roman', Times, serif;
    color: #333;
    position: relative;
}

/* MODELO 1 - LASA */
.modelo1 .logo-lasa {
    margin-bottom: 5px;
}
.modelo1 .logo-lasa img {
    height: 120px;
}
.modelo1 .header-titulo {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    margin: 15px 0;
    text-transform: uppercase;
}
.modelo1 .empresa-info {
    text-align: center;
    font-size: 12px;
    line-height: 1.6;
    margin-bottom: 20px;
    border-bottom: 1px solid #333;
    padding-bottom: 15px;
}
.modelo1 .data-campo {
    text-align: right;
    font-size: 12px;
    margin-bottom: 20px;
}
.modelo1 .section-title {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top: 20px;
}
.modelo1 .cliente-campos {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
    font-size: 12px;
}
.modelo1 .cliente-campos div {
    width: 48%;
}
.modelo1 .cliente-campos label {
    display: block;
    font-weight: bold;
    margin-bottom: 3px;
}
.modelo1 .cliente-campos .campo {
    padding-bottom: 2px;
    min-height: 20px;
}
.modelo1 .valido-campo {
    text-align: right;
    font-size: 12px;
    margin-bottom: 20px;
}
.modelo1 .valido-campo .campo {
    display: inline-block;
    width: 100px;
    text-align: center;
}
.modelo1 .pdf-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
}
.modelo1 .pdf-table th {
    background: #fff;
    color: #333;
    padding: 8px;
    text-align: left;
    font-weight: bold;
    border-bottom: 2px solid #333;
    font-size: 12px;
}
.modelo1 .pdf-table td {
    padding: 8px;
    border-bottom: 1px dotted #999;
    font-size: 12px;
}
.modelo1 .pdf-table .numero {
    width: 30px;
    text-align: center;
}
.modelo1 .pdf-table .descricao-col {
    width: auto;
}
.modelo1 .pdf-table .qtd-col, 
.modelo1 .pdf-table .unit-col, 
.modelo1 .pdf-table .total-col {
    width: 80px;
    text-align: right;
}
.modelo1 .footer-info {
    margin-top: 30px;
    font-size: 12px;
    line-height: 1.8;
}
.modelo1 .footer-info .total-pedido {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
}
.modelo1 .footer-info .condicoes {
    margin-top: 20px;
}

/* MODELO 2 - SEMEANTES */
.modelo2 .empresa-nome {
    font-size: 18px;
    font-weight: bold;
    font-family: 'Courier New', Courier, monospace;
}
.modelo2 .empresa-cnpj {
    font-size: 12px;
    font-family: 'Courier New', Courier, monospace;
    margin-bottom: 5px;
}
.modelo2 .empresa-endereco {
    font-size: 11px;
    font-family: 'Courier New', Courier, monospace;
    margin-bottom: 20px;
}
.modelo2 .titulo-proposta {
    text-align: center;
    font-size: 16px;
    margin: 20px 0;
    text-transform: uppercase;
}
.modelo2 .pdf-table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #333;
}
.modelo2 .pdf-table th {
    background: #fff;
    color: #333;
    padding: 10px;
    text-align: center;
    font-weight: bold;
    border: 1px solid #333;
    font-size: 12px;
}
.modelo2 .pdf-table td {
    padding: 10px;
    border: 1px solid #333;
    font-size: 12px;
    font-family: 'Courier New', Courier, monospace;
}
.modelo2 .pdf-table .mercadoria {
    text-align: left;
}
.modelo2 .pdf-table .numero {
    width: 30px;
    text-align: center;
}
.modelo2 .pdf-table .quant-col, 
.modelo2 .pdf-table .unit-col, 
.modelo2 .pdf-table .total-col {
    width: 80px;
    text-align: right;
}
.modelo2 .footer-info {
    margin-top: 30px;
    font-size: 12px;
    line-height: 1.8;
}
.modelo2 .footer-info .total-produtos {
    font-size: 14px;
    margin-bottom: 10px;
}

/* MODELO 3 - FGL */
.modelo3 .header-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    border-bottom: 3px solid #333;
    padding-bottom: 15px;
}
.modelo3 .logo-fgl {
    font-size: 36px;
    font-weight: bold;
    color: #333;
}
.modelo3 .header-info {
    text-align: right;
    font-size: 12px;
}
.modelo3 .header-titulo {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin: 15px 0;
    text-transform: uppercase;
}
.modelo3 .empresa-nome {
    text-align: center;
    font-size: 14px;
    margin-bottom: 20px;
}
.modelo3 .destinatario-box {
    border: 2px solid #333;
    padding: 15px;
    margin-bottom: 20px;
}
.modelo3 .destinatario-box .linha {
    display: flex;
    margin-bottom: 8px;
    font-size: 12px;
}
.modelo3 .destinatario-box .linha label {
    font-weight: bold;
    width: 200px;
}
.modelo3 .destinatario-box .linha .campo {
    flex: 1;
}
.modelo3 .material-title {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    background: #f0f0f0;
    padding: 8px;
}
.modelo3 .pdf-table {
    width: 100%;
    border-collapse: collapse;
    border: 2px solid #333;
}
.modelo3 .pdf-table th {
    background: #f5f5f5;
    color: #333;
    padding: 10px;
    text-align: center;
    font-weight: bold;
    border: 1px solid #333;
    font-size: 12px;
}
.modelo3 .pdf-table td {
    padding: 10px;
    border: 1px solid #333;
    font-size: 12px;
}
.modelo3 .pdf-table .descricao-col {
    text-align: left;
}
.modelo3 .pdf-table .qtd-col, 
.modelo3 .pdf-table .valor-col, 
.modelo3 .pdf-table .total-col {
    width: 80px;
    text-align: right;
}
.modelo3 .footer-total {
    margin-top: 30px;
    border: 3px solid #333;
    padding: 15px;
    text-align: right;
}
.modelo3 .footer-total .label {
    font-size: 14px;
    font-weight: bold;
}
.modelo3 .footer-total .valor {
    font-size: 20px;
    font-weight: bold;
    margin-top: 5px;
}
.modelo3 .footer-info {
    margin-top: 30px;
    font-size: 12px;
    line-height: 1.8;
}

/* Várias páginas no preview (modo "3 modelos juntos") */
.paginas-orcamento {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

/* Evita cortar uma linha de item no meio entre duas folhas */
.pdf-table tr { page-break-inside: avoid; break-inside: avoid; }
.pdf-table thead { display: table-header-group; }

/* Documento de impressão / exportação: uma folha A4 por modelo */
.doc-impressao { margin: 0; padding: 0; background: #fff; }
.doc-impressao .paginas-orcamento { display: block; }
.doc-impressao .modelo-pdf {
    box-shadow: none;
    min-height: 0;
    margin: 0;
}

/* Simula a largura/padding da impressão para medir a altura de cada modelo */
.doc-impressao .modelo-pdf.medindo-impressao { width: 180mm; padding: 0; }

/* Na impressão a margem vem do @page, assim toda folha (inclusive a
   continuação de uma tabela longa) tem margem e o rodapé não gera folha vazia */
@page { size: A4; margin: 15mm; }

@media print {
    .doc-impressao .modelo-pdf {
        width: auto;
        padding: 0;
        page-break-after: always;
        break-after: page;
    }
    .doc-impressao .modelo-pdf:last-child {
        page-break-after: auto;
        break-after: auto;
    }
}

/* MODELO 4 - D.N (Diniz) */
.modelo4 { font-family: Arial, Helvetica, sans-serif; color: #111; }
.modelo4 .dn-titulo { font-size: 25px; font-weight: bold; margin-left: 32%; padding-bottom: 2px; border-bottom: 2px solid #111; }
.modelo4 .dn-topo { display: flex; align-items: center; gap: 30px; margin: 8px 0 18px; }
.modelo4 .dn-logo { font-family: 'Bahnschrift', 'Arial Narrow', Arial, sans-serif; font-style: italic; font-size: 62px; width: 32%; text-align: center; letter-spacing: 1px; }
.modelo4 .dn-empresa { font-size: 12px; line-height: 1.55; }
.modelo4 .dn-empresa .cidade { font-family: Calibri, Arial, sans-serif; font-size: 15px; }
.modelo4 .dn-secao { display: flex; justify-content: space-between; font-size: 13px; font-weight: bold; border-bottom: 2px solid #111; padding-bottom: 2px; margin-top: 10px; }
.modelo4 .dn-secao .data { margin-right: 26%; font-size: 12px; }
.modelo4 .dn-cliente { font-size: 12px; margin: 4px 0 30px; }
.modelo4 .dn-cliente .linha2 { display: flex; margin-top: 10px; }
.modelo4 .dn-cliente .cnpj { margin-left: 32%; }
.modelo4 .dn-cliente .valido { margin-left: auto; margin-right: 22%; font-weight: bold; }
.modelo4 .pdf-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.modelo4 .pdf-table th { font-weight: bold; text-align: left; padding: 4px 6px 10px; }
.modelo4 .pdf-table td { padding: 12px 6px 6px; border-bottom: 1px dotted #777; }
.modelo4 .pdf-table .qtd-col, .modelo4 .pdf-table .unit-col, .modelo4 .pdf-table .total-col { width: 95px; text-align: right; }
.modelo4 .dn-rodape { margin-top: 26px; font-size: 12px; padding-left: 26px; }
.modelo4 .dn-rodape .total { font-weight: bold; font-size: 13px; }
.modelo4 .dn-rodape .cond { font-family: 'Courier New', Courier, monospace; font-style: italic; font-size: 14px; line-height: 2; }

/* MODELO 5 - JOADI Imprecopy */
.modelo5 { font-family: Arial, Helvetica, sans-serif; color: #000; font-size: 13px; }
.modelo5 .jo-logo { margin: 0 0 22px 12%; }
.modelo5 .jo-logo img { height: 42px; width: 340px; }
.modelo5 .jo-cab { width: 100%; border-collapse: collapse; }
.modelo5 .jo-cab td { border: 1.5px solid #000; padding: 1px 4px; height: 20px; }
.modelo5 .jo-cab .rot { width: 88px; text-align: right; font-weight: bold; border-right: 0; }
.modelo5 .jo-cab .rot + td { border-left: 1.5px solid #000; }
.modelo5 .jo-cab .data-rot { width: 105px; text-align: center; font-weight: bold; }
.modelo5 .jo-cab .data-val { width: 112px; text-align: center; }
.modelo5 .pdf-table { width: 100%; border-collapse: collapse; }
.modelo5 .pdf-table th, .modelo5 .pdf-table td { border: 1.5px solid #000; padding: 2px 5px; height: 22px; font-weight: normal; }
.modelo5 .pdf-table th { text-align: center; }
.modelo5 .pdf-table .qt { width: 44px; text-align: center; }
.modelo5 .pdf-table .un { width: 46px; text-align: center; }
.modelo5 .pdf-table .unit-col, .modelo5 .pdf-table .total-col { width: 107px; text-align: right; }
.modelo5 .jo-total { display: flex; justify-content: flex-end; margin-top: 0; }
.modelo5 .jo-total div { width: 115px; border: 3px solid #000; padding: 5px; text-align: right; font-weight: bold; margin-top: 0; }
.modelo5 .jo-assinatura { display: flex; align-items: flex-end; margin-top: 18px; }
.modelo5 .jo-assinatura .linha { flex: 1; border-top: 1.5px solid #000; }
.modelo5 .jo-assinatura .caixa { width: 115px; height: 24px; border: 3px solid #000; }
.modelo5 .jo-assinatura-rot { margin: 22px 0 0 30%; }
