/* Print a copy of the native rendered quote, with no theme navigation or layout constraints. */
.tp-print-btn { position:fixed; bottom:24px; left:24px; z-index:9999; display:inline-flex; align-items:center; gap:8px; padding:12px 18px; background:#1d2327; color:#fff; border:0; border-radius:6px; font-family:inherit; font-size:14px; font-weight:600; line-height:1.4; cursor:pointer; box-shadow:0 2px 8px #0003; }
.tp-print-btn:focus-visible { outline:3px solid #72aee6; outline-offset:3px; }
#tp-print-document { display:none; }
@media screen and (max-width:600px) { .tp-print-btn { position:static; display:flex; width:max-content; max-width:calc(100% - 32px); margin:16px auto; } }
@media print {
    @page { size:A4 portrait; margin:16mm 14mm 18mm; }
    html:has(body.tp-print-ready), body.tp-print-ready { margin:0 !important; padding:0 !important; width:auto !important; height:auto !important; min-height:0 !important; background:white !important; }
    body.tp-print-ready > :not(#tp-print-document) { display:none !important; }
    body.tp-print-ready > #tp-print-document { display:block !important; position:static !important; width:100% !important; margin:0 !important; padding:0 !important; color:#17202b !important; background:#fff !important; font:10pt/1.5 Arial, Helvetica, sans-serif !important; }
    #tp-print-document *, #tp-print-document *::before, #tp-print-document *::after { box-sizing:border-box !important; text-shadow:none !important; box-shadow:none !important; transform:none !important; animation:none !important; transition:none !important; float:none !important; }
    #tp-print-document * { color:inherit !important; font-family:inherit !important; position:static !important; overflow:visible !important; max-width:100% !important; min-width:0 !important; }
    #tp-print-document .tp-print-heading { display:flex !important; align-items:center; gap:12pt; flex-wrap:wrap; border-bottom:2pt solid var(--tp-print-brand,#1d2327); margin:0 0 16pt !important; padding:0 0 10pt !important; break-inside:avoid; }
    #tp-print-document .tp-print-heading img { display:block; width:auto; max-width:110pt !important; max-height:36pt !important; margin:0; }
    #tp-print-document .tp-print-brand { margin:0 !important; font-size:9pt; text-transform:uppercase; letter-spacing:1pt; }
    #tp-print-document .tp-print-heading h1 { flex-basis:100%; margin:0 !important; }
    #tp-print-document h1 { font-size:24pt !important; line-height:1.15 !important; margin:0 0 10pt !important; }
    #tp-print-document h2 { font-size:16pt !important; margin:16pt 0 8pt !important; }
    #tp-print-document h3 { font-size:12pt !important; margin:12pt 0 6pt !important; }
    #tp-print-document h4, #tp-print-document h5, #tp-print-document h6 { font-size:11pt !important; }
    #tp-print-document h1, #tp-print-document h2, #tp-print-document h3, #tp-print-document h4 { break-after:avoid-page; }
    #tp-print-document p { margin:0 0 9pt !important; orphans:3; widows:3; }
    #tp-print-document ul, #tp-print-document ol { padding-left:18pt !important; margin:0 0 10pt !important; }
    #tp-print-document a { text-decoration:none !important; overflow-wrap:anywhere; }
    #tp-print-document a::after { content:none !important; }
    #tp-print-document .tp-quote-document, #tp-print-document .wp-block-group, #tp-print-document .wp-block-cover, #tp-print-document .wp-block-cover__inner-container, #tp-print-document .wp-block-columns, #tp-print-document .wp-block-column, #tp-print-document .kt-row-column-wrap, #tp-print-document .kt-inside-inner-col, #tp-print-document .wp-block-kadence-rowlayout, #tp-print-document .wp-block-kadence-column { display:block !important; width:auto !important; height:auto !important; min-height:0 !important; margin:0 0 10pt !important; padding:0 !important; background:transparent !important; border:0 !important; }
    #tp-print-document .wp-block-cover__background, #tp-print-document .wp-block-cover__image-background { display:none !important; }
    #tp-print-document .wp-block-tarjouspaja-asiakas-tiedot, #tp-print-document .wp-block-tarjouspaja-palveluntarjoaja, #tp-print-document .wp-block-tarjouspaja-osapuolet { display:block !important; width:auto !important; margin:0 0 12pt !important; padding:10pt !important; border:1px solid #d8dee6 !important; border-radius:0 !important; break-inside:avoid-page; }
    #tp-print-document .wp-block-columns.tp-print-parties { display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12pt; break-inside:avoid-page; }
    #tp-print-document .tp-print-parties > .wp-block-column { margin:0 !important; }
    #tp-print-document .tp-block-label { font-size:9pt !important; line-height:1.3 !important; text-transform:uppercase; letter-spacing:.3pt; margin:0 0 6pt !important; }
    #tp-print-document .wp-block-tarjouspaja-asiakas-tiedot ul, #tp-print-document .wp-block-tarjouspaja-palveluntarjoaja ul { padding:0 !important; margin:0 !important; list-style:none; }
    #tp-print-document .wp-block-tarjouspaja-asiakas-tiedot li, #tp-print-document .wp-block-tarjouspaja-palveluntarjoaja li { padding:2pt 0 !important; }
    #tp-print-document .tp-asiakas-row, #tp-print-document .tp-osapuoli-card li, #tp-print-document .tarjouspaja-ehdot-wrapper label { display:block !important; }
    #tp-print-document .tarjouspaja-hinnoittelu { break-inside:auto !important; margin:14pt 0 !important; }
    #tp-print-document table { display:table !important; width:100% !important; table-layout:fixed !important; border-collapse:collapse !important; margin:10pt 0 14pt !important; font-size:8.5pt !important; line-height:1.35 !important; break-inside:auto !important; }
    #tp-print-document thead { display:table-header-group !important; }
    #tp-print-document tbody { display:table-row-group !important; }
    #tp-print-document tfoot { display:table-row-group !important; break-inside:avoid-page; }
    #tp-print-document tr { break-inside:avoid-page; }
    #tp-print-document .tarjouspaja-rivit-table tbody tr:last-child { break-after:avoid-page; }
    #tp-print-document th, #tp-print-document td { padding:6pt 4pt !important; vertical-align:top !important; border:0 !important; border-bottom:0.5pt solid #d8dee6 !important; white-space:normal !important; overflow-wrap:anywhere; }
    #tp-print-document th { background:#edf1f5 !important; font-size:8pt !important; font-weight:bold; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
    #tp-print-document .tarjouspaja-rivit-table th:first-child { width:42% !important; }
    #tp-print-document .tarjouspaja-rivit-table th:nth-child(2) { width:8% !important; }
    #tp-print-document .tarjouspaja-rivit-table th:nth-child(3) { width:15% !important; }
    #tp-print-document .tarjouspaja-rivit-table th:nth-child(4) { width:16% !important; }
    #tp-print-document .tarjouspaja-rivit-table th:nth-child(5) { width:11% !important; }
    #tp-print-document .tarjouspaja-rivit-table th:nth-child(6) { width:8% !important; }
    #tp-print-document tfoot td { font-weight:bold !important; }
    #tp-print-document .tarjouspaja-signed-notice { display:block !important; padding:12pt !important; margin:16pt 0 !important; border:1pt solid #94a3b8 !important; background:#f8fafc !important; break-inside:avoid-page; break-before:avoid-page; }
    #tp-print-document .tarjouspaja-signed-notice img { max-width:180pt !important; max-height:65pt !important; width:auto !important; height:auto !important; }
    #tp-print-document img { max-width:100% !important; height:auto; break-inside:avoid-page; }
    #tp-print-document .tarjouspaja-ehdot-wrapper { display:block !important; padding:8pt 0 !important; font-size:9pt !important; }
    #tp-print-document input, #tp-print-document textarea, #tp-print-document select { display:none !important; }
}
