/* Compact A4 output, independent of screen breakpoints. */
.calculator-print-value { display:none; }
@layer reset {
@media print {
    .site-container:has(.calculator-print-page, .renovation-print-page, .renovation-result-print) {
        padding:8mm!important; margin:0!important; width:auto!important; max-width:none!important;
    }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) {
        padding:0!important; margin:0!important; width:100%!important; max-width:none!important;
        font-size:9pt!important; line-height:1.25!important; color:#000!important;
    }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) * {
        box-sizing:border-box!important; text-shadow:none!important; animation:none!important;
    }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) :is(h1,h2,h3,h4,h5,h6) {
        font-size:11pt!important; line-height:1.2!important; margin:0 0 5px!important; break-after:avoid;
    }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) h1 { font-size:14pt!important; }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) :is(p,label,small,.text-muted) {
        font-size:9pt!important; line-height:1.25!important;
    }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) :is([class*="mb-"],[class*="my-"]) { margin-bottom:6px!important; }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) :is([class*="mt-"],[class*="my-"]) { margin-top:6px!important; }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) :is([class*="p-"],[class*="py-"]) { padding:6px!important; }
    .calculator-print-page > .row {
        display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;
        align-items:start!important; gap:6mm!important; margin:0!important;
    }
    .calculator-print-page > .row > div { width:auto!important; max-width:none!important; min-width:0!important; padding:0!important; margin:0!important; }
    .calculator-print-page .calculator-form-card,
    .calculator-print-page #results, .calculator-print-page #results-container {
        padding:0!important; border:0!important; border-radius:0!important; box-shadow:none!important; position:static!important;
    }
    .calculator-print-page input[type="hidden"],
    .calculator-print-page i,
    .calculator-print-page .materials-info,
    .calculator-print-page .calculator-heading-icon,
    .calculator-print-page #placeholder, .calculator-print-page #results-placeholder { display:none!important; }
    .calculator-print-page input, .calculator-print-page select {
        font-size:9pt!important; padding:3px!important; height:auto!important; min-height:0!important;
    }
    .calculator-print-page [data-calculator-print-control] { display:none!important; }
    .calculator-print-page .calculator-print-value {
        display:block!important; padding:3px 5px; min-height:18px; border:1px solid #ccc; border-radius:3px;
        font-size:9pt!important; white-space:normal!important; overflow-wrap:anywhere!important;
    }
    .calculator-print-page .form-label { margin-bottom:3px!important; }
    .calculator-print-page .row { --bs-gutter-x:8px; --bs-gutter-y:0; }
    .calculator-print-page :is(.result-card,.material-card,.mat-row) {
        padding:5px 7px!important; margin:0 0 4px!important; break-inside:avoid;
        border-radius:3px!important; box-shadow:none!important; background:#fff!important;
        font-size:9pt!important; line-height:1.25!important;
    }
    .calculator-print-page #results-content [style*="font-size"] { font-size:9pt!important; line-height:1.25!important; }
    .calculator-print-page #results-content :is(.value,.mat-qty,strong) { font-size:10pt!important; }
    .calculator-print-page #results-content .value .unit { font-size:9pt!important; }
    .calculator-print-page hr { margin:6px 0!important; }
    .renovation-print-page :is(.calculator-header,.calculator-body,.summary-box),
    .renovation-result-print :is(.result-card,.room-detail,.total-cost-box) { padding:6px!important; margin-bottom:8px!important; }
    .renovation-print-page #total-cost, .renovation-result-print .total-cost-box h1 { font-size:18pt!important; margin:0!important; }
    .renovation-print-page .summary-box p { font-size:9pt!important; margin:0!important; }
    .renovation-print-page .row { display:flex!important; flex-wrap:wrap!important; margin:0!important; }
    .renovation-print-page .row > div { width:50%!important; padding:4px!important; }
    :is(.calculator-print-page, .renovation-print-page, .renovation-result-print) input[type="hidden"],
    .calculator-print-decoration { display:none!important; }
    .calculator-print-duplicate, .renovation-result-print .result-card:has(.action-buttons) { display:none!important; }
    .renovation-result-print .room-detail .row { display:flex!important; flex-wrap:wrap!important; }
    .renovation-result-print .room-detail .row > div { width:33.333%!important; padding:0 4px!important; }
    .renovation-result-print .room-detail { break-inside:auto!important; }
    .renovation-estimate-print { margin:8px 0!important; }
    :is(.renovation-estimate-print,.renovation-result-print) :is(th,td) { padding:4px!important; font-size:9pt!important; line-height:1.25!important; }
    :is(.renovation-print-page, .renovation-result-print) [class*="fs-"] { font-size:11pt!important; }
    .renovation-result-print .work-item { padding:4px 0!important; break-inside:avoid; }
    .result-header:has(+ .renovation-result-print) { padding:0 8mm 4px!important; margin:0!important; }
    .result-header:has(+ .renovation-result-print) h1 { font-size:14pt!important; margin:0 0 4px!important; }
    .result-header:has(+ .renovation-result-print) p { font-size:9pt!important; margin:0!important; }
}
}
