/* ============================================================================
   ag-orcamento-print-a4.css — 07/10/2026
   Orçamento Formal → "Imprimir / PDF" numa A4 legível e bem distribuída.
   Mesmo caminho da impressão do Pedido (24/09/2026, PROJETO.md): um CSS
   carregado por ÚLTIMO, que só vale em @media print com body.printing-formal
   (o clone em #formalPrintRoot). A TELA do Orçamento Formal não muda.
   Antes: textos de 6,5–8 px, cartões com alturas fixas (sobrava espaço em
   branco no meio e embaixo), termos com espaçamento enorme e o link
   "+ Adicionar preço anterior" saindo no PDF.
   Folha: 202 × 289 mm (A4 com a margem de 4 mm do @page já existente).
   ========================================================================== */
@media print{
  /* 08/10/2026 (orc2): formal-quote.css põe html/body com 210mm de largura e
     297mm de altura, mas a área útil (A4 − margem de 4mm do @page) é 202×289mm.
     O Chrome então ENCOLHIA a folha inteira para caber (~96%): sobrava margem
     branca dos lados e ~2cm embaixo. Aqui a página tem exatamente a área útil. */
  html:has(body.printing-formal),
  html body.printing-formal{
    width:202mm !important; min-height:0 !important; height:289mm !important; max-height:289mm !important;
    overflow:hidden !important; margin:0 !important; padding:0 !important;
  }
  html body.printing-formal #formalPrintRoot,
  html body.printing-formal #formalPrintRoot .formal-quote-wrap{
    width:202mm !important; max-width:202mm !important; margin:0 !important; padding:0 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-paper{
    width:202mm !important; max-width:202mm !important;
    height:289mm !important; min-height:289mm !important;
    font-family:"Plus Jakarta Sans","Inter",Arial,sans-serif !important;
    color:#202124 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-paper::before{ height:34mm !important; }
  html body.printing-formal #formalPrintRoot .formal-inner{
    display:flex !important; flex-direction:column !important;
    height:289mm !important; min-height:289mm !important;
  }

  /* ── Cabeçalho azul ── */
  html body.printing-formal #formalPrintRoot .formal-header-row{
    flex:0 0 34mm !important; height:34mm !important; box-sizing:border-box !important;
    display:grid !important; grid-template-columns:52mm 1fr !important; grid-template-rows:auto 1fr !important;
    column-gap:8mm !important; row-gap:2mm !important; align-items:center !important;
    padding:5.5mm 7mm 5mm !important; position:relative !important;
  }
  html body.printing-formal #formalPrintRoot .formal-brand{ grid-row:1 / span 2 !important; align-self:center !important; }
  html body.printing-formal #formalPrintRoot .formal-brand-title{ font-size:44px !important; line-height:.95 !important; color:#fff !important; }
  html body.printing-formal #formalPrintRoot .formal-brand-sub{ font-size:9px !important; letter-spacing:.32em !important; color:rgba(255,255,255,.85) !important; margin-top:1mm !important; }
  html body.printing-formal #formalPrintRoot .formal-topbar-badge{
    grid-column:2 !important; grid-row:1 !important; justify-self:end !important;
    font-size:9px !important; letter-spacing:.14em !important; padding:3px 10px !important;
  }
  html body.printing-formal #formalPrintRoot .formal-company-inline{
    grid-column:2 !important; grid-row:2 !important;
    display:grid !important; grid-template-columns:auto 1fr !important; gap:1.4mm 6mm !important; align-content:center !important;
  }
  html body.printing-formal #formalPrintRoot .formal-company-inline-item{ display:flex !important; gap:2mm !important; align-items:baseline !important; }
  html body.printing-formal #formalPrintRoot .formal-company-inline-item:nth-child(2){ grid-column:1 / -1 !important; order:-1 !important; }
  html body.printing-formal #formalPrintRoot .formal-company-inline-label{ font-size:9px !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:rgba(255,255,255,.75) !important; }
  html body.printing-formal #formalPrintRoot .formal-company-inline-value{ font-size:12px !important; font-weight:700 !important; color:#fff !important; }

  /* ── Corpo: blocos com altura natural; o produto absorve a sobra ── */
  html body.printing-formal #formalPrintRoot .formal-body-area{
    flex:1 1 auto !important; height:auto !important; min-height:0 !important;
    display:flex !important; flex-direction:column !important; gap:4mm !important;
    padding:5mm 7mm 5mm !important; box-sizing:border-box !important; overflow:hidden !important;
  }
  html body.printing-formal #formalPrintRoot .formal-row1,
  html body.printing-formal #formalPrintRoot .formal-row2,
  html body.printing-formal #formalPrintRoot .formal-bottom{
    display:grid !important; gap:4mm !important; height:auto !important; min-height:0 !important; margin:0 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-row1{ grid-template-columns:1fr 60mm !important; flex:0 0 auto !important; }
  html body.printing-formal #formalPrintRoot .formal-row2{ grid-template-columns:1fr 80mm !important; flex:1 0 auto !important; align-items:stretch !important; }
  html body.printing-formal #formalPrintRoot .formal-bottom{ grid-template-columns:1.15fr 1fr !important; flex:0 0 auto !important; }

  /* cartões: borda leve, sem sombra, padding confortável */
  html body.printing-formal #formalPrintRoot .formal-client-meta,
  html body.printing-formal #formalPrintRoot .formal-doc-card,
  html body.printing-formal #formalPrintRoot .formal-body,
  html body.printing-formal #formalPrintRoot .formal-center-note,
  html body.printing-formal #formalPrintRoot .formal-pricing,
  html body.printing-formal #formalPrintRoot .formal-bank,
  html body.printing-formal #formalPrintRoot .formal-terms{
    border:1px solid #dadce0 !important; border-radius:4mm !important; box-shadow:none !important;
    padding:5mm 5.5mm !important; height:auto !important; min-height:0 !important; box-sizing:border-box !important;
    background:#fff !important;
  }

  /* títulos de seção */
  html body.printing-formal #formalPrintRoot .formal-kicker,
  html body.printing-formal #formalPrintRoot .formal-note-label,
  html body.printing-formal #formalPrintRoot .formal-pricing-title,
  html body.printing-formal #formalPrintRoot .formal-section-title,
  html body.printing-formal #formalPrintRoot .formal-payment-title{
    font-size:10.5px !important; font-weight:800 !important; letter-spacing:.14em !important;
    text-transform:uppercase !important; color:#1a73e8 !important; margin:0 0 2.5mm !important;
  }

  /* Cliente */
  html body.printing-formal #formalPrintRoot .formal-client-name{ font-size:24px !important; font-weight:800 !important; line-height:1.15 !important; letter-spacing:-.01em !important; }
  html body.printing-formal #formalPrintRoot .formal-client-extra{ font-size:14px !important; color:#5f6368 !important; margin-top:1.5mm !important; border:none !important; }

  /* Documento */
  html body.printing-formal #formalPrintRoot .formal-doc-card{ display:flex !important; flex-direction:column !important; justify-content:center !important; align-items:center !important; text-align:center !important; background:#f8fbff !important; border-color:#d2e3fc !important; }
  html body.printing-formal #formalPrintRoot .formal-doc-tag{ font-size:8.5px !important; padding:2px 8px !important; letter-spacing:.12em !important; }
  html body.printing-formal #formalPrintRoot .formal-doc-title{ font-size:27px !important; letter-spacing:.06em !important; margin:1.5mm 0 1mm !important; color:#1a73e8 !important; font-weight:300 !important; }
  html body.printing-formal #formalPrintRoot .formal-doc-sub{ font-size:10.5px !important; line-height:1.35 !important; color:#5f6368 !important; }

  /* Produto */
  html body.printing-formal #formalPrintRoot .formal-body{ display:flex !important; flex-direction:column !important; overflow:hidden !important; }
  html body.printing-formal #formalPrintRoot .formal-product-chip{ font-size:9px !important; padding:2px 9px !important; letter-spacing:.12em !important; align-self:flex-start !important; }
  html body.printing-formal #formalPrintRoot .formal-product-title{
    font-size:22px !important; font-weight:800 !important; line-height:1.2 !important;
    margin:2.5mm 0 3mm !important; padding-bottom:2.5mm !important;
    border:none !important; border-bottom:1px solid #e8eaed !important;
  }
  html body.printing-formal #formalPrintRoot .formal-desc{
    font-size:14px !important; line-height:1.6 !important; color:#3c4043 !important; white-space:pre-line !important;
    max-height:none !important; height:auto !important; overflow:visible !important; /* o CSS antigo cortava em 88 mm */
  }

  /* Coluna direita: garantia + resumo financeiro (o resumo cresce e fica em destaque) */
  html body.printing-formal #formalPrintRoot .formal-aside-stack{ display:flex !important; flex-direction:column !important; gap:4.5mm !important; height:auto !important; }
  html body.printing-formal #formalPrintRoot .formal-center-note p{ font-size:13.5px !important; line-height:1.5 !important; margin:0 !important; color:#3c4043 !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing{
    flex:1 1 auto !important; display:flex !important; flex-direction:column !important;
    background:#f8fbff !important; border-color:#c6dafc !important;
  }
  html body.printing-formal #formalPrintRoot .formal-pricing-head{ display:flex !important; justify-content:space-between !important; align-items:center !important; margin-bottom:2mm !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-head .formal-pricing-title{ margin:0 !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-badge{ font-size:9.5px !important; padding:2px 8px !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-line{
    display:flex !important; justify-content:space-between !important; align-items:baseline !important; gap:3mm !important;
    font-size:13.5px !important; padding:2.2mm 0 !important; border-bottom:1px solid #e8eaed !important; margin:0 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-pricing-line span{ color:#5f6368 !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-line strong{ font-size:14.5px !important; font-weight:800 !important; border:none !important; text-align:right !important; }
  html body.printing-formal #formalPrintRoot #formalAddDiscountRow{ display:none !important; }   /* link de tela, não sai no PDF */
  /* "Valor unitário" riscado (preço anterior): só aparece se foi ativado na tela */
  html body.printing-formal #formalPrintRoot #formalOriginalRow[style*="display:none"],
  html body.printing-formal #formalPrintRoot #formalOriginalRow[style*="display: none"]{ display:none !important; }
  html body.printing-formal #formalPrintRoot #formalOldPriceInput{
    width:auto !important; max-width:30mm !important; background:transparent !important; border:none !important;
    font-size:13px !important; color:#d93025 !important; text-decoration:line-through !important; padding:0 !important; text-align:right !important;
  }
  html body.printing-formal #formalPrintRoot .formal-pricing-total{
    margin-top:auto !important; padding-top:4mm !important; border-top:none !important;
    font-size:11px !important; font-weight:800 !important; letter-spacing:.12em !important; text-transform:uppercase !important; color:#5f6368 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-pricing-total strong{
    display:block !important; margin-top:1mm !important; font-size:26px !important; line-height:1.15 !important; white-space:normal !important;
    letter-spacing:-.01em !important; text-transform:none !important; color:#1a73e8 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-pricing-total strong span{ border:none !important; }

  /* Rodapé: dados bancários | condições comerciais */
  html body.printing-formal #formalPrintRoot .formal-bank-grid{ display:grid !important; gap:1.8mm !important; }
  html body.printing-formal #formalPrintRoot .formal-bank-row{ display:grid !important; grid-template-columns:25mm 1fr !important; gap:3mm !important; align-items:baseline !important; }
  html body.printing-formal #formalPrintRoot .formal-bank-label{ font-size:12px !important; color:#5f6368 !important; font-weight:700 !important; }
  html body.printing-formal #formalPrintRoot .formal-bank-value{ font-size:12.5px !important; line-height:1.35 !important; color:#202124 !important; }
  html body.printing-formal #formalPrintRoot .formal-payment-box{
    margin-top:3.5mm !important; padding:3.5mm 4mm !important; border-radius:3mm !important;
    background:#f1f6fe !important; border:1px solid #d2e3fc !important;
  }
  html body.printing-formal #formalPrintRoot .formal-payment-title{ margin-bottom:1.5mm !important; }
  html body.printing-formal #formalPrintRoot .formal-payment-methods{ font-size:13.5px !important; font-weight:800 !important; }
  html body.printing-formal #formalPrintRoot .formal-payment-note{ font-size:12.5px !important; margin-top:1mm !important; color:#3c4043 !important; }
  html body.printing-formal #formalPrintRoot .formal-bank,
  html body.printing-formal #formalPrintRoot .formal-terms{ display:flex !important; flex-direction:column !important; justify-content:flex-start !important; }
  html body.printing-formal #formalPrintRoot .formal-terms-list{ display:grid !important; gap:2.8mm !important; align-content:start !important; height:auto !important; }
  html body.printing-formal #formalPrintRoot .formal-terms-list p{
    position:relative !important; margin:0 !important; padding:0 0 0 4mm !important;
    font-size:13px !important; line-height:1.45 !important; color:#3c4043 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-terms-list p::before{
    content:"" !important; position:absolute !important; left:0 !important; top:2.1mm !important;
    width:1.6mm !important; height:1.6mm !important; border-radius:50% !important; background:#1a73e8 !important;
  }

  /* Linha "Nota fiscal — impostos inclusos" (07/10/2026) */
  html body.printing-formal #formalPrintRoot .formal-nota-line strong{ color:#188038 !important; }

  /* sublinhados tracejados de campos editáveis não aparecem no papel */
  html body.printing-formal #formalPrintRoot [contenteditable]{ border-bottom:none !important; }

  /* ══════════════════════════════════════════════════════════════════════
     08/10/2026 (orc3) — acabamento visual: fundo levemente acinzentado com
     cartões brancos "flutuando" (sombra suave), cartões da 1ª linha subindo
     sobre a faixa azul, resumo financeiro em destaque azul, títulos com
     marcador, condições com ícone de check. Só cores/sombras/raios — a
     distribuição (orc2) é a mesma.
     ══════════════════════════════════════════════════════════════════════ */
  html body.printing-formal #formalPrintRoot .formal-paper,
  html body.printing-formal #formalPrintRoot .formal-paper *{
    -webkit-print-color-adjust:exact !important; print-color-adjust:exact !important;
  }
  html body.printing-formal #formalPrintRoot .formal-paper{ background:#f4f6fa !important; }
  html body.printing-formal #formalPrintRoot .formal-paper::before{
    height:50mm !important;
    background:
      radial-gradient(circle at 92% -30%, rgba(255,255,255,.16) 0, rgba(255,255,255,0) 42%),
      radial-gradient(circle at 8% 140%, rgba(255,255,255,.10) 0, rgba(255,255,255,0) 38%),
      linear-gradient(120deg,#1a73e8 0%,#1765d8 45%,#0f4fb3 100%) !important;
  }
  /* corpo começa mais alto: a 1ª linha de cartões "sobe" sobre a faixa azul */
  html body.printing-formal #formalPrintRoot .formal-body-area{ padding-top:1mm !important; }

  /* cartões: brancos, borda fina, sombra em duas camadas */
  html body.printing-formal #formalPrintRoot .formal-client-meta,
  html body.printing-formal #formalPrintRoot .formal-doc-card,
  html body.printing-formal #formalPrintRoot .formal-body,
  html body.printing-formal #formalPrintRoot .formal-center-note,
  html body.printing-formal #formalPrintRoot .formal-bank,
  html body.printing-formal #formalPrintRoot .formal-terms{
    background:#fff !important; border:1px solid #e3e8ef !important; border-radius:3.5mm !important;
    box-shadow:0 .3mm .9mm rgba(16,24,40,.06), 0 1.6mm 4.5mm rgba(16,24,40,.07) !important;
  }

  /* títulos de seção com marcador azul */
  html body.printing-formal #formalPrintRoot .formal-kicker,
  html body.printing-formal #formalPrintRoot .formal-note-label,
  html body.printing-formal #formalPrintRoot .formal-section-title{
    display:flex !important; align-items:center !important; gap:2mm !important; color:#1a73e8 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-kicker::before,
  html body.printing-formal #formalPrintRoot .formal-note-label::before,
  html body.printing-formal #formalPrintRoot .formal-section-title::before{
    content:"" !important; flex:0 0 auto !important; width:3.2mm !important; height:.9mm !important; border-radius:1mm !important;
    background:linear-gradient(90deg,#1a73e8,#69a1f5) !important;
  }

  /* cliente: filete azul à esquerda */
  html body.printing-formal #formalPrintRoot .formal-client-meta{ position:relative !important; overflow:hidden !important; padding-left:7mm !important; }
  html body.printing-formal #formalPrintRoot .formal-client-meta::after{
    content:"" !important; position:absolute !important; left:0 !important; top:0 !important; bottom:0 !important; width:1.4mm !important;
    background:linear-gradient(180deg,#1a73e8,#0f4fb3) !important;
  }
  html body.printing-formal #formalPrintRoot .formal-client-name{ color:#101828 !important; }
  html body.printing-formal #formalPrintRoot .formal-client-extra{ color:#475467 !important; }

  /* documento */
  html body.printing-formal #formalPrintRoot .formal-doc-card{
    background:linear-gradient(160deg,#ffffff 0%,#f2f7ff 100%) !important; border-color:#d6e4fb !important;
  }
  html body.printing-formal #formalPrintRoot .formal-doc-tag{
    background:#e8f0fe !important; color:#1a73e8 !important; border:none !important; border-radius:99px !important; font-weight:800 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-doc-title{ color:#1a73e8 !important; font-weight:300 !important; letter-spacing:.09em !important; }
  html body.printing-formal #formalPrintRoot .formal-doc-sub{ color:#667085 !important; }

  /* produto: chip, título com sublinhado curto em degradê */
  html body.printing-formal #formalPrintRoot .formal-product-chip{
    background:#e8f0fe !important; color:#1a73e8 !important; border:none !important; border-radius:99px !important; font-weight:800 !important;
  }
  html body.printing-formal #formalPrintRoot .formal-product-title{
    color:#101828 !important; border-bottom:none !important; position:relative !important; padding-bottom:3mm !important;
  }
  html body.printing-formal #formalPrintRoot .formal-product-title::after{
    content:"" !important; position:absolute !important; left:0 !important; bottom:0 !important; width:16mm !important; height:.9mm !important;
    border-radius:1mm !important; background:linear-gradient(90deg,#1a73e8,#69a1f5) !important;
  }
  html body.printing-formal #formalPrintRoot .formal-desc{ color:#344054 !important; }

  /* garantia: selo verde discreto */
  html body.printing-formal #formalPrintRoot .formal-center-note p{ position:relative !important; padding-left:6mm !important; color:#344054 !important; }
  html body.printing-formal #formalPrintRoot .formal-center-note p::before{
    content:"✓" !important; position:absolute !important; left:0 !important; top:.2mm !important;
    width:4mm !important; height:4mm !important; border-radius:50% !important; background:#e6f4ea !important; color:#188038 !important;
    font-size:10px !important; font-weight:900 !important; line-height:4mm !important; text-align:center !important;
  }

  /* resumo financeiro: cartão azul em destaque */
  html body.printing-formal #formalPrintRoot .formal-pricing{
    background:
      radial-gradient(circle at 100% 0%, rgba(255,255,255,.18) 0, rgba(255,255,255,0) 45%),
      linear-gradient(150deg,#1a73e8 0%,#1460cf 55%,#0f4fb3 100%) !important;
    border:none !important; border-radius:3.5mm !important; color:#fff !important;
    box-shadow:0 .5mm 1.2mm rgba(15,79,179,.25), 0 2.5mm 6mm rgba(15,79,179,.22) !important;
  }
  html body.printing-formal #formalPrintRoot .formal-pricing .formal-pricing-title{ color:rgba(255,255,255,.85) !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-badge{ background:rgba(255,255,255,.95) !important; color:#1a73e8 !important; border:none !important; border-radius:99px !important; font-weight:800 !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-line{ border-bottom:1px solid rgba(255,255,255,.18) !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-line span{ color:rgba(255,255,255,.78) !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-line strong,
  html body.printing-formal #formalPrintRoot .formal-pricing-line strong *{ color:#fff !important; }
  html body.printing-formal #formalPrintRoot #formalOldPriceInput{ color:rgba(255,255,255,.7) !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-total{ color:rgba(255,255,255,.78) !important; }
  html body.printing-formal #formalPrintRoot .formal-pricing-total strong,
  html body.printing-formal #formalPrintRoot .formal-pricing-total strong *{ color:#fff !important; }
  html body.printing-formal #formalPrintRoot .formal-nota-line strong{ color:#b7f5c8 !important; }

  /* dados bancários: linhas com fio pontilhado; caixa de pagamento com filete */
  html body.printing-formal #formalPrintRoot .formal-bank-row{ padding-bottom:1.6mm !important; border-bottom:1px dashed #e4e7ec !important; }
  html body.printing-formal #formalPrintRoot .formal-bank-row:last-child{ border-bottom:none !important; padding-bottom:0 !important; }
  html body.printing-formal #formalPrintRoot .formal-bank-label{ color:#667085 !important; }
  html body.printing-formal #formalPrintRoot .formal-bank-value{ color:#101828 !important; }
  html body.printing-formal #formalPrintRoot .formal-payment-box{
    background:linear-gradient(160deg,#f5f9ff,#eaf2fe) !important; border:1px solid #d6e4fb !important;
    border-left:1.2mm solid #1a73e8 !important; border-radius:2.5mm !important;
  }

  /* condições comerciais: ícone de check no lugar da bolinha */
  html body.printing-formal #formalPrintRoot .formal-terms-list p{ padding-left:6.5mm !important; color:#344054 !important; }
  html body.printing-formal #formalPrintRoot .formal-terms-list p strong{ color:#101828 !important; }
  html body.printing-formal #formalPrintRoot .formal-terms-list p::before{
    content:"✓" !important; top:.3mm !important; width:4mm !important; height:4mm !important;
    background:#e8f0fe !important; color:#1a73e8 !important; border-radius:50% !important;
    font-size:10px !important; font-weight:900 !important; line-height:4mm !important; text-align:center !important;
  }
}
