/**
 * Печать страницы калькулятора. Подключается только при body.kalkulyator-print-page.
 */
@media print {
    @page {
        size: A4 portrait;
        margin: 5mm;
    }

    body.kalkulyator-print-page {
        background: #fff !important;
        font-size: 8.5pt;
        line-height: 1.15;
        width: 100% !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    /* Прямые потомки body, кроме main */
    body.kalkulyator-print-page > *:not(main) {
        display: none !important;
    }

    /* Дублируем явно — если структура HTML с обёртками */
    body.kalkulyator-print-page header.header,
    body.kalkulyator-print-page footer.footer,
    body.kalkulyator-print-page .mobmenu,
    body.kalkulyator-print-page .site-overlay,
    body.kalkulyator-print-page #modal,
    body.kalkulyator-print-page #modal-thanks {
        display: none !important;
    }

    body.kalkulyator-print-page .kalkulyator-page-title,
    body.kalkulyator-print-page .calculator-section .row > .col-lg-4 {
        display: none !important;
    }

    body.kalkulyator-print-page main {
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
        width: 100% !important;
    }

    body.kalkulyator-print-page .calculator-section {
        background: #fff !important;
        padding: 0 !important;
    }

    body.kalkulyator-print-page .calculator-section .container {
        max-width: 100% !important;
        padding: 0 !important;
    }

    body.kalkulyator-print-page .calculator-section .row.g-4 {
        margin: 0 !important;
        --bs-gutter-x: 0;
        --bs-gutter-y: 0;
    }

    body.kalkulyator-print-page .kalkulyator-print {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .mb-4 {
        margin-bottom: 0.25rem !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .diagram-container {
        margin-bottom: 4px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .diagram-container img {
        max-height: 90px !important;
        padding: 0 !important;
        box-shadow: none !important;
        border-radius: 3px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-card {
        box-shadow: none !important;
        border: 1px solid #999 !important;
        border-radius: 2px !important;
        margin-bottom: 0.2rem !important;
        page-break-inside: avoid;
        break-inside: avoid;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-header,
    body.kalkulyator-print-page .kalkulyator-print .results-header {
        padding: 3px 6px !important;
        font-size: 9pt !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-body {
        padding: 4px 6px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .results-section {
        border-left-width: 3px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-row {
        flex-direction: row !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        padding: 0 !important;
        gap: 3px !important;
        font-size: 7.5pt !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-label {
        min-width: 0 !important;
        font-size: 7.5pt !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-range {
        font-size: 7pt !important;
        min-width: 0 !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-input {
        width: auto !important;
        min-width: 58px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-input input {
        font-size: 7.5pt !important;
        padding: 1px 3px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .material-radio {
        gap: 4px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .material-radio label {
        padding: 2px 4px !important;
        font-size: 7.5pt !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .gost-hints,
    body.kalkulyator-print-page .kalkulyator-print .calc-buttons {
        display: none !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .note-text {
        font-size: 6.5pt !important;
        margin-top: 2px !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .price-highlight {
        font-size: 11pt !important;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-print-contact {
        margin-top: 0.25rem !important;
        padding-top: 0.25rem !important;
        border-top: 1px solid #333 !important;
        font-size: 7.5pt !important;
        line-height: 1.3;
    }

    body.kalkulyator-print-page .kalkulyator-print .calc-print-contact a {
        color: #000 !important;
        text-decoration: none !important;
    }
}
