/* Direct quotes: one horizontal rhythm and the same financial columns everywhere. */
.eko-opening-control {display:flex;flex-direction:column;gap:5px;margin-top:10px;max-width:290px;font-size:12px;font-weight:650;color:#004747}
.eko-opening-control select {width:100%;padding:8px 10px;border:1px solid #b8cbc7;border-radius:6px;background:#fff;color:#153b37;font:inherit}
.eko-opening-label {font-weight:700;color:#004747}
.quote-product-section,.quote-services {margin:3mm 0 4mm;color:#193d39;font-family:Arial,sans-serif}
.quote-columns,.quote-product-heading {display:grid;grid-template-columns:66% 10% 12% 12%;align-items:start}
.quote-columns {border-bottom:.45mm solid #004747;padding:0 0 1.8mm;break-after:avoid;page-break-after:avoid}
.print-page .quote-columns h3 {margin:0;padding:0 2mm 0 0;font-size:10pt;line-height:1.2;color:#004747}
.quote-columns>span {text-align:right;font-size:7pt;color:#4e6662;white-space:nowrap;padding-top:.5mm}
.quote-columns>span:nth-child(2),.quote-product-heading>span:nth-child(2) {text-align:center}
.quote-product-card {padding:2.5mm 0 3mm;border-bottom:.2mm solid #c9d8d3;break-inside:avoid;page-break-inside:avoid}
.quote-product-heading {font-size:8.4pt;line-height:1.3;margin-bottom:2.5mm;font-variant-numeric:tabular-nums}
.quote-product-heading>div {display:flex;align-items:baseline;gap:2mm;padding-right:3mm}
.quote-product-heading>div>strong {font-size:9pt;color:#004747;overflow-wrap:anywhere}
.quote-product-reference {display:inline-block;color:#004747;min-width:6mm;font-size:9pt}
.quote-product-heading>span,.quote-product-heading>strong {text-align:right;white-space:nowrap}
.quote-product-body {display:grid;grid-template-columns:27% 73%;align-items:start}
.quote-product-body>figure {margin:0;padding:0 4mm 0 0;text-align:center}
.quote-product-body>figure>img {display:block;width:auto;height:auto;max-width:46mm;max-height:48mm;object-fit:contain;margin:0 auto}
.quote-product-body>figure>svg {display:block;width:100%;height:auto;max-height:45mm;margin:0 auto}
.quote-product-body>figure>small,.quote-product-body figcaption {display:block;margin-top:1.5mm;font-size:6.8pt;line-height:1.3;color:#657a75}
.quote-product-specs {font-size:8pt;line-height:1.35;overflow-wrap:anywhere}
.quote-product-specs>div {margin:0 0 1mm}
.quote-product-specs b {color:#34564f;font-weight:600}
.quote-product-specs .quote-opening {margin-bottom:1.8mm;padding:1.3mm 2mm;background:#eef4f1;color:#004747;font-weight:700}
.quote-product-specs .quote-opening b {color:inherit}
.quote-technical-specs {display:grid;grid-template-columns:1fr 1fr;gap:.7mm 5mm;border-top:.2mm solid #e0e8e4;margin-top:2.5mm;padding-top:2mm;font-size:7.7pt;line-height:1.3}
.quote-technical-specs>div {margin:0}
.quote-product-note {margin-top:2mm;font-size:8pt;line-height:1.35;overflow-wrap:anywhere}
.quote-product-commercial {margin-top:2mm;padding-top:1.8mm;border-top:.2mm solid #e0e8e4;font-size:8pt;line-height:1.4;color:#294b45;overflow-wrap:anywhere}
.quote-product-commercial b {color:#004747}
.quote-product-commercial p {margin:.8mm 0 0}
.quote-services-table {width:100%;table-layout:fixed;border-collapse:collapse;font-size:8pt;line-height:1.35;color:#193d39}
.quote-services-table td {padding:2mm 0;border-bottom:.2mm solid #d5e0dc;vertical-align:top;text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.quote-services-table td:first-child {text-align:left;padding-right:4mm;white-space:normal;overflow-wrap:anywhere}
.quote-services-table td:nth-child(2) {text-align:center;font-size:7.5pt;white-space:normal}
.quote-services-table td:last-child {font-weight:700}
.quote-services-table small {display:block;margin-top:.7mm;color:#61766f;font-size:7.4pt}
.quote-services-table tr {break-inside:avoid;page-break-inside:avoid}
@media print {
 .direct-client-quote .print-meta {table-layout:fixed;margin-top:3mm}
 .direct-client-quote .print-meta th {width:15%;padding:1.2mm 2mm 1.2mm 0;color:#004747}
 .direct-client-quote .print-meta td {width:35%;padding:1.2mm 2mm 1.2mm 0;font-size:8pt;overflow-wrap:anywhere}
 .direct-client-quote .print-summary {display:flex;gap:0;margin:3mm 0 4mm;background:#f0f5f2}
 .direct-client-quote .print-summary>div {flex:1;border:0;padding:2mm 3mm;text-align:left}
 .direct-client-quote .print-summary>div:last-child {text-align:right}
 .direct-client-quote .print-summary small {font-size:6.8pt}
 .direct-client-quote .print-summary strong {font-size:8.5pt}
 .direct-client-quote .print-total {margin-top:4mm;background:#004747;font-size:10pt;padding:2.5mm 3mm;break-inside:avoid}
 .direct-client-quote .print-conditions {font-size:8pt;line-height:1.4}
 .direct-client-quote .print-signatures {margin-top:10mm}
}
@media print {
 .client-print-page.mixed-cass-print {min-height:276mm;padding-bottom:14mm}
 .client-print-page.client-cass-portrait {padding-bottom:9mm}
 .client-cass-portrait .print-brand-mark {height:48px}
 .client-cass-portrait>p {margin:2mm 0;font-size:8pt}
 .client-cass-portrait .mixed-cass-drawing {margin:1mm 0 0}
 .client-print-page.client-cass-portrait .mixed-cass-drawing svg {display:block;width:100%;height:auto;max-height:none}
}
@media print {
 .print-page.measured-page {box-sizing:border-box;width:190mm;height:276mm;min-height:276mm;padding:0;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto}
 .measured-content {display:flow-root;min-height:0}
 .measured-page .print-footer {position:static;margin-top:2mm}
 .measured-page .co-page-signatures {position:static;box-sizing:border-box;min-height:18mm;padding-top:3mm}
 .measured-page .quote-product-section,.measured-page .quote-services {margin:2mm 0}
 .measured-page .quote-product-card {padding:2mm 0}
 .measured-page .quote-product-heading {margin-bottom:2mm}
}

@media print {
 .direct-client-quote .print-conditions,.print-condition-article {border:0;padding:0;margin:1.5mm 0;font-size:8pt;line-height:1.35}
 .print-condition-article strong {display:inline-block;margin-bottom:.5mm}
 .co-page-signatures {position:absolute;left:0;right:0;bottom:7mm;display:grid;grid-template-columns:1fr 1fr;gap:8mm;font-size:7pt;line-height:1.3;color:#172c29}
 .co-page-signatures>div:last-child {text-align:right}
 .co-acceptance {font-size:8pt;margin-top:2mm}
 .confirmation-print .mixed-cass-drawing svg {max-height:210mm!important}
}

/* Dedicated shutter technical attachment. The approved SVG is scaled only for layout;
   geometry and quoted values are never rewritten. */
@media print {
 .client-shutter-drawing-page.measured-page > .measured-content {display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto auto;min-height:0;height:100%}
 .client-shutter-drawing-page .client-technical-reference {margin:2mm 0 1mm;font-size:8pt;color:#244943}
 .client-shutter-drawing-page .client-shutter-drawing {display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;margin:1mm 0}
 .client-shutter-drawing-page .client-shutter-drawing svg {display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important}
 .client-shutter-drawing-page .client-technical-hardware {margin:1mm 0;font-size:7.4pt;color:#173d38}
 .client-shutter-drawing-page .client-technical-note {margin:1mm 0;padding:2mm 2.5mm;border:.25mm solid #bdd1cc;background:#f3f8f6;font-size:7.2pt;line-height:1.3}
 .client-shutter-drawing-page .client-technical-note strong {display:block;margin-bottom:.6mm;color:#004747}
 .client-shutter-drawing-page .client-technical-acceptance {margin:1mm 0 0;font-size:7.2pt;line-height:1.3}
}
/* Dedicated DeFaveri supplier drawing attachment. Keep the original supplier page
   intact; our header, note and signatures sit outside the original image. */
@media print {
 .client-defaveri-drawing-page.measured-page > .measured-content {display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;min-height:0;height:100%}
 .client-defaveri-drawing-page .client-technical-reference {margin:1.5mm 0 1mm;font-size:7.5pt;color:#244943}
 .client-defaveri-drawing-page .client-defaveri-drawing {display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;margin:.5mm 0}
 .client-defaveri-drawing-page .client-defaveri-drawing img {display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
 .client-defaveri-drawing-page .client-technical-note {margin:1mm 0;padding:1.7mm 2.2mm;border:.25mm solid #bdd1cc;background:#f3f8f6;font-size:6.8pt;line-height:1.25}
 .client-defaveri-drawing-page .client-technical-note strong {display:block;margin-bottom:.5mm;color:#004747}
 .client-defaveri-drawing-page .client-technical-acceptance {margin:1mm 0 0;font-size:6.8pt;line-height:1.25}
}
/* Dedicated Kopen panel attachment. The supplier page is cropped to the final
   exterior/interior panel board during import; no supplier pricing is printed here. */
@media print {
 .client-kopen-drawing-page.measured-page > .measured-content {display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;min-height:0;height:100%}
 .client-kopen-drawing-page .client-technical-reference {margin:2mm 0 1mm;font-size:8pt;color:#244943}
 .client-kopen-drawing-page .client-kopen-drawing {display:grid;place-items:center;min-width:0;min-height:0;width:100%;height:100%;margin:1mm 0}
 .client-kopen-drawing-page .client-kopen-drawing img {display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
 .client-kopen-drawing-page .client-technical-hardware {margin:1mm 0;font-size:7.4pt;color:#173d38}
 .client-kopen-drawing-page .client-technical-note {margin:1mm 0;padding:2mm 2.5mm;border:.25mm solid #bdd1cc;background:#f3f8f6;font-size:7.2pt;line-height:1.3}
 .client-kopen-drawing-page .client-technical-note strong {display:block;margin-bottom:.6mm;color:#004747}
 .client-kopen-drawing-page .client-technical-acceptance {margin:1mm 0 0;font-size:7.2pt;line-height:1.3}
}
/* Dedicated cassamatta attachment: keep original SVG geometry and fit it proportionally
   into the A4 content row. In CO the measured grid automatically reserves signature space. */
@media print {
 .client-print-page.client-cass-portrait.measured-page > .measured-content {
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
  min-height:0;
  height:100%;
 }
 .client-print-page.client-cass-portrait.measured-page > .measured-content > .mixed-cass-drawing {
  display:grid;
  place-items:center;
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  margin:0;
 }
 .client-print-page.client-cass-portrait.measured-page > .measured-content > .mixed-cass-drawing svg {
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
 }
}

@media print {
 .customer-brand {background:#004849;grid-template-columns:52mm 1fr auto;gap:3mm}
 .customer-brand .print-brand-mark {width:52mm;height:18mm;border-radius:0;background:transparent}
 .customer-brand .print-brand-mark img {display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:center;padding:0;border-radius:0;background:transparent}
 .customer-brand .customer-payoff {font-size:8pt;color:#fff;margin-bottom:1mm}
 .print-condition-article[data-keep-intro] {break-inside:avoid;page-break-inside:avoid}
}

/* Final iOS Safari print only. Measurement iframe deliberately has no class.
   Keep the existing 12px content clearance; consume <4px for rounding safety. */
@media print {
 html.ios-safari-print, html.ios-safari-print body {min-height:0;margin:0;padding:0}
 html.ios-safari-print .print-area > .is-client {display:block;margin:0;padding:0}
 html.ios-safari-print .is-client > .print-page.measured-page {
  box-sizing:border-box;height:275mm;min-height:275mm;padding:0;margin:0;
  break-after:auto;page-break-after:auto;
  break-before:auto;page-break-before:auto;
  page-break-inside:avoid;
 }
 html.ios-safari-print .is-client > .measured-page + .measured-page {page-break-before:always}
}

/* Only flowing Admin customer pages: the existing paginator measures this smaller
   header on pages 2+, including when server Chromium rebuilds all physical pages.
   Dedicated technical sheets never receive customer-quote-header. */
.customer-mini-header {display:none}
@media print {
 .is-client > .direct-client-quote:not(:first-child) .customer-quote-header {
  display:block;box-sizing:border-box;min-height:12mm;margin:0 0 2mm;padding:2mm 0;
  background:transparent;color:#173d38;border:0;border-bottom:.25mm solid #bdd1cc;border-radius:0;
 }
 .is-client > .direct-client-quote:not(:first-child) .customer-quote-header > :not(.customer-mini-header) {display:none}
 .is-client > .direct-client-quote:not(:first-child) .customer-quote-header .customer-mini-header {display:flex;flex-wrap:wrap;align-items:center;gap:1mm 3mm;font-size:8pt;line-height:1.3;overflow-wrap:anywhere}
 .is-client > .direct-client-quote:not(:first-child) .customer-mini-header strong {font-size:8pt}
 .is-client > .direct-client-quote:not(:first-child) .customer-quote-header + .print-meta {display:none}
}
