
/* V513 - Quote preview / print locked to true A4 portrait */
@media screen{
  .v379-public-quote-page{
    overflow-x:auto!important;
  }
  .v379-a4-paper{
    box-sizing:border-box!important;
    width:210mm!important;
    max-width:calc(100vw - 32px)!important;
    margin:18px auto!important;
  }
}

/* Browser print / Save PDF */
@media print{
  @page{
    size:A4 portrait!important;
    margin:7mm!important;
  }

  html,body,#root{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  body *{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }

  .v372-preview-actions,
  .v373-public-toolbar,
  .v377-mobile-actions,
  .no-print{
    display:none!important;
  }

  .v372-preview-page,
  .v379-public-quote-page{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  .v379-a4-paper,
  .v372-paper.v379-a4-paper{
    box-sizing:border-box!important;
    width:196mm!important;
    min-width:196mm!important;
    max-width:196mm!important;
    margin:0 auto!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:visible!important;
    background:#fff!important;
  }

  /* Header: compact enough to stay inside A4 width */
  .v379-a4-paper .v372-header{
    box-sizing:border-box!important;
    width:100%!important;
    grid-template-columns:82mm 66mm 36mm!important;
    gap:3mm!important;
    padding:4mm 3mm 3mm!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .v379-a4-paper .v372-company{
    min-width:0!important;
    grid-template-columns:22mm minmax(0,1fr)!important;
    gap:2.5mm!important;
  }
  .v379-a4-paper .v372-company img,
  .v379-a4-paper .v372-logo-fallback{
    width:21mm!important;
    height:16mm!important;
    object-fit:contain!important;
  }
  .v379-a4-paper .v372-company h2{
    margin:0 0 1mm!important;
    font-size:9.8pt!important;
    line-height:1.15!important;
  }
  .v379-a4-paper .v372-company p{
    margin:.6mm 0 0!important;
    font-size:6.2pt!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
  }
  .v379-a4-paper .v372-title{
    min-width:0!important;
  }
  .v379-a4-paper .v372-title h1{
    margin:0!important;
    font-size:22pt!important;
    line-height:1!important;
  }
  .v379-a4-paper .v372-title>p{
    font-size:7.5pt!important;
  }
  .v379-a4-paper .v372-date,
  .v379-a4-paper .v372-title small{
    font-size:6pt!important;
    white-space:normal!important;
  }
  .v379-a4-paper .v378-real-qr{
    width:18mm!important;
    height:18mm!important;
  }
  .v379-a4-paper .v372-qr{
    min-width:0!important;
  }
  .v379-a4-paper .v372-qr strong{
    font-size:5.7pt!important;
  }
  .v379-a4-paper .v372-qr small{
    max-width:34mm!important;
    font-size:4.5pt!important;
    overflow-wrap:anywhere!important;
  }

  /* Customer / note block */
  .v379-a4-paper .v372-info{
    box-sizing:border-box!important;
    width:100%!important;
    grid-template-columns:1fr 1fr!important;
    gap:3mm!important;
    padding:2.5mm 3mm!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .v379-a4-paper .v372-info>div{
    min-width:0!important;
    min-height:0!important;
    padding:0 2.5mm 2mm!important;
  }
  .v379-a4-paper .v372-info h3{
    font-size:6.5pt!important;
    padding:1.5mm 2.5mm!important;
  }
  .v379-a4-paper .v372-info p{
    grid-template-columns:27mm minmax(0,1fr)!important;
    gap:1.5mm!important;
    margin-top:1.1mm!important;
    font-size:6.2pt!important;
    line-height:1.3!important;
    overflow-wrap:anywhere!important;
  }

  /* Product table must never overflow A4 */
  .v379-a4-paper .v372-table-wrap{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    padding:0 3mm!important;
    margin:0!important;
    overflow:visible!important;
  }
  .v379-a4-paper .v372-table{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    font-size:6.2pt!important;
  }
  .v379-a4-paper .v372-table thead{
    display:table-header-group!important;
  }
  .v379-a4-paper .v372-table tbody{
    display:table-row-group!important;
  }
  .v379-a4-paper .v372-table tr{
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .v379-a4-paper .v372-table th,
  .v379-a4-paper .v372-table td{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:none!important;
    padding:1.7mm 1mm!important;
    line-height:1.25!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
    vertical-align:middle!important;
  }
  .v379-a4-paper .v372-table th{
    font-size:5.5pt!important;
  }
  .v379-a4-paper .v372-table th:nth-child(1),
  .v379-a4-paper .v372-table td:nth-child(1){width:5%!important;text-align:center!important}
  .v379-a4-paper .v372-table th:nth-child(2),
  .v379-a4-paper .v372-table td:nth-child(2){width:10%!important}
  .v379-a4-paper .v372-table th:nth-child(3),
  .v379-a4-paper .v372-table td:nth-child(3){width:28%!important}
  .v379-a4-paper .v372-table th:nth-child(4),
  .v379-a4-paper .v372-table td:nth-child(4){width:8%!important;text-align:center!important}
  .v379-a4-paper .v372-table th:nth-child(5),
  .v379-a4-paper .v372-table td:nth-child(5){width:9%!important;text-align:right!important}
  .v379-a4-paper .v372-table th:nth-child(6),
  .v379-a4-paper .v372-table td:nth-child(6){width:13%!important;text-align:right!important}
  .v379-a4-paper .v372-table th:nth-child(7),
  .v379-a4-paper .v372-table td:nth-child(7){width:7%!important;text-align:center!important}
  .v379-a4-paper .v372-table th:nth-child(8),
  .v379-a4-paper .v372-table td:nth-child(8){width:20%!important;text-align:right!important}

  /* Totals and signing blocks stay together when possible */
  .v379-a4-paper .v372-summary{
    box-sizing:border-box!important;
    width:100%!important;
    grid-template-columns:minmax(0,1fr) 78mm!important;
    gap:3mm!important;
    padding:2.5mm 3mm!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .v379-a4-paper .v372-thankyou{
    padding:2.5mm!important;
  }
  .v379-a4-paper .v372-thankyou strong{
    font-size:6.8pt!important;
  }
  .v379-a4-paper .v372-thankyou p{
    font-size:5.8pt!important;
    line-height:1.35!important;
  }
  .v379-a4-paper .v372-total>div{
    padding:1.7mm 2.4mm!important;
    font-size:6.2pt!important;
  }
  .v379-a4-paper .v372-total>div b{
    font-size:6.8pt!important;
  }
  .v379-a4-paper .v372-total .grand{
    font-size:7.8pt!important;
  }

  .v379-a4-paper .v372-footer{
    box-sizing:border-box!important;
    width:100%!important;
    grid-template-columns:1fr 1fr 1fr!important;
    gap:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .v379-a4-paper .v372-footer>div{
    min-width:0!important;
    min-height:27mm!important;
    padding:2.5mm 3mm!important;
  }
  .v379-a4-paper .v372-footer h4,
  .v379-a4-paper .v372-footer strong{
    font-size:6.4pt!important;
  }
  .v379-a4-paper .v372-footer p{
    font-size:5.8pt!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
  }

  .v379-a4-paper .v374-contact-strip{
    box-sizing:border-box!important;
    width:100%!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:0!important;
    padding:1.8mm 3mm!important;
    font-size:5.7pt!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  .v379-a4-paper .v374-contact-strip span{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
  .v379-a4-paper .v374-brand-footer{
    padding:1.8mm 3mm!important;
    font-size:5.8pt!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  .v390-config-logo-watermark{
    max-width:72mm!important;
    opacity:.035!important;
  }
}
