@media print {

    /* =========================================================
       GLOBAL PRINT RULES ALREADY USED BY THE SITE
       ========================================================= */

    .page-footer,
    footer,
    #panel,
    .page-contacts__map,
    .page-contacts__nav-line-inner,
    .page-contacts__print-edition,
    .page-contacts__callback-form,
    .callback-form__submit-button,
    .label_c1cd {
        display: none !important;
    }

    .page-contacts__info-block-footer {
        padding: 0 !important;
    }

    .page-contacts__info-block-header {
        padding: 0 !important;
    }

    .page-contacts__heading--big {
        font-size: 20px !important;
    }

    .page-contacts__info-block-wrapper {
        padding-top: 0 !important;
    }


    /* =========================================================
       BASKET / PRODUCT SPECIFICATION
       Everything below is scoped to pages containing #basket-root
       ========================================================= */

    body:has(#basket-root) {
        min-width: 0 !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;

        background: #fff !important;
        color: #252a2e !important;

        font-family: Arial, Helvetica, sans-serif !important;

        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }


    /* =========================================================
       BRAND HEADER
       Reuse the real logo + slogan already present in site header
       ========================================================= */

    body:has(#basket-root) .page-header {
        display: block !important;
        visibility: visible !important;

        position: relative !important;

        height: 54px !important;
        min-height: 54px !important;

        margin: 0 0 20px !important;
        padding: 0 !important;

        overflow: hidden !important;

        border: 0 !important;
        background: #fff !important;
    }

    body:has(#basket-root) .page-header * {
        visibility: hidden !important;
    }

    body:has(#basket-root) .page-header__logo,
    body:has(#basket-root) .page-header__logo * {
        visibility: visible !important;
    }

    body:has(#basket-root) .page-header__logo {
        display: block !important;

        position: absolute !important;
        top: 0 !important;
        left: 0 !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#basket-root) .logo_desctop {
        display: block !important;
    }

    body:has(#basket-root) .page-header__logo .logo {
        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#basket-root) .page-header__logo .logo__link {
        display: flex !important;
        align-items: center !important;

        gap: 16px !important;

        margin: 0 !important;
        padding: 0 !important;

        color: #252a2e !important;
        text-decoration: none !important;
    }

    body:has(#basket-root) .page-header__logo .logo__img {
        display: block !important;

        width: 138px !important;
        max-width: 138px !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#basket-root) .page-header__logo .logo__text {
        display: block !important;

        width: auto !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        white-space: nowrap !important;

        color: #667078 !important;

        font-size: 8pt !important;
        font-weight: 400 !important;
        line-height: 1.2 !important;
    }

    body:has(#basket-root) .page-header::after {
        content: "";

        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;

        height: 1px;

        background: #d8dde1 !important;
    }

    body:has(#basket-root) .page-header::before {
        content: "";

        position: absolute;
        z-index: 2;
        left: 0;
        bottom: 0;

        width: 74px;
        height: 3px;

        background: #f7ad2b !important;
    }


    /* =========================================================
       DOCUMENT TITLE
       Hide breadcrumbs and visually replace "Моя корзина"
       ========================================================= */

    body:has(#basket-root) .nav-line {
        display: none !important;
    }

    body:has(#basket-root) main > div:has(.nav-line) {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#basket-root) main > div:has(.nav-line) > h1 {
        margin: 0 0 18px !important;
        padding: 0 !important;

        color: transparent !important;

        font-size: 0 !important;
        line-height: 0 !important;
    }

    body:has(#basket-root) main > div:has(.nav-line) > h1::before {
        content: "Спецификация товаров";

        display: block !important;

        color: #23282c !important;

        font-size: 20pt !important;
        font-weight: 700 !important;
        line-height: 1.08 !important;

        letter-spacing: -0.02em !important;
    }

    body:has(#basket-root) main > div:has(.nav-line) > h1::after {
        content: "Перечень выбранных товаров и расчёт стоимости";

        display: block !important;

        margin-top: 5px !important;

        color: #737b82 !important;

        font-size: 8.2pt !important;
        font-weight: 400 !important;
        line-height: 1.3 !important;
    }


    /* =========================================================
       BASKET CONTAINERS
       ========================================================= */

    body:has(#basket-root) main > div:has(#basket-root),
    body:has(#basket-root) #basket-root,
    body:has(#basket-root) .page-bucket__my-bucket,
    body:has(#basket-root) .page-bucket__my-bucket-inner {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
        padding: 0 !important;

        overflow: visible !important;
    }

    body:has(#basket-root) #basket-root {
        display: block !important;
        opacity: 1 !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket,
    body:has(#basket-root) .page-bucket__my-bucket-inner {
        background: #fff !important;
    }

    body:has(#basket-root) .page-bucket__actions {
        display: none !important;
    }


    /* =========================================================
       REAL TABLE GEOMETRY
       Override Bitrix mobile flex/block rules during printing
       ========================================================= */

    body:has(#basket-root) .page-bucket__my-bucket-table {
        display: table !important;

        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;

        table-layout: fixed !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;

        box-sizing: border-box !important;

        color: #252a2e !important;

        font-size: 9pt !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket-table thead {
        display: table-header-group !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket-table tbody,
    body:has(#basket-root) #basket-item-table {
        display: table-row-group !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket-table tr,
    body:has(#basket-root) tr.basket-items-list-item-container,
    body:has(#basket-root) .basket-items-list-item-container {
        display: table-row !important;

        width: auto !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket-table th,
    body:has(#basket-root) .page-bucket__my-bucket-table td,
    body:has(#basket-root) td.basket-items-list-item-descriptions,
    body:has(#basket-root) td.basket-items-list-item-amount,
    body:has(#basket-root) td.basket-items-list-item-price {
        display: table-cell !important;

        min-width: 0 !important;
        max-width: none !important;

        float: none !important;
        flex: none !important;

        box-sizing: border-box !important;
    }

    body:has(#basket-root) .basket-item-name-col,
    body:has(#basket-root) .basket-item-count-col,
    body:has(#basket-root) .basket-item-price-col {
        min-width: 0 !important;
        max-width: none !important;
    }


    /* =========================================================
       TABLE HEADER
       ========================================================= */

    body:has(#basket-root) .page-bucket__my-bucket-table th {
        padding: 7px 10px !important;

        border: 0 !important;
        border-bottom: 1px solid #cbd1d5 !important;

        background: #f4f5f6 !important;

        color: #5f686f !important;

        font-size: 7.9pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;

        text-align: left !important;
        text-transform: none !important;
        letter-spacing: 0 !important;

        vertical-align: middle !important;
    }


    /* =========================================================
       PRODUCT ROWS
       Compact, one clean separator only
       ========================================================= */

    body:has(#basket-root) .page-bucket__my-bucket-table td,
    body:has(#basket-root) .basket-items-list-wrapper-compact
    .basket-items-list-item-container > td,
    body:has(#basket-root) .basket-items-list-item-descriptions,
    body:has(#basket-root) .basket-items-list-item-amount,
    body:has(#basket-root) .basket-items-list-item-price {
        padding: 7px 10px !important;

        border: 0 !important;
        border-bottom: 1px solid #e5e8ea !important;

        background: #fff !important;

        vertical-align: middle !important;
    }

    body:has(#basket-root) .basket-items-list-wrapper-compact
    .basket-items-list-item-container {
        padding: 0 !important;
    }


    /* =========================================================
       COLUMN WIDTHS
       ========================================================= */

    body:has(#basket-root) .page-bucket__my-bucket-table th:nth-child(1),
    body:has(#basket-root) .page-bucket__my-bucket-table td:nth-child(1) {
        width: 58% !important;
        text-align: left !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket-table th:nth-child(2),
    body:has(#basket-root) .page-bucket__my-bucket-table td:nth-child(2) {
        width: 17% !important;
        text-align: center !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket-table th:nth-child(3),
    body:has(#basket-root) .page-bucket__my-bucket-table td:nth-child(3) {
        width: 25% !important;
        text-align: right !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket-table th:nth-child(4),
    body:has(#basket-root) .page-bucket__my-bucket-table td:nth-child(4) {
        display: none !important;
    }


    /* =========================================================
       PRODUCT NAME / ARTICLE
       ========================================================= */

    body:has(#basket-root) .basket-item-name-container {
        display: block !important;

        min-width: 0 !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#basket-root) .basket-item-name-container > .basket-item-image-link {
        display: none !important;
    }

    body:has(#basket-root) .basket-item-name-container > div {
        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#basket-root) .table__table-item-text {
        margin: 0 !important;
        padding: 0 !important;

        color: #22282c !important;

        font-size: 9.4pt !important;
        font-weight: 700 !important;
        line-height: 1.22 !important;

        white-space: normal !important;

        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    body:has(#basket-root) .basket-item-artnumber {
        display: block !important;

        margin: 3px 0 0 !important;
        padding: 0 !important;

        color: #7b848a !important;

        font-size: 7.7pt !important;
        font-weight: 400 !important;
        line-height: 1.18 !important;

        cursor: default !important;
    }

    body:has(#basket-root) .basket-item-artnumber::before {
        content: "Артикул: ";

        color: #5c656b !important;

        font-weight: 600 !important;
    }

    body:has(#basket-root) .basket-item-artnumber img,
    body:has(#basket-root) .basket-item-artnumber .cbd,
    body:has(#basket-root) .basket-item-artnumber .cbm {
        display: none !important;
    }


    /* =========================================================
       LINKS
       Do not print product URLs
       ========================================================= */

    body:has(#basket-root) a {
        color: inherit !important;
        text-decoration: none !important;
        cursor: default !important;
    }

    body:has(#basket-root) a[href]::after {
        content: none !important;
        display: none !important;
    }


    /* =========================================================
       QUANTITY
       Render the existing input as plain text
       ========================================================= */

    body:has(#basket-root) .basket-item-block-amount {
        display: block !important;

        position: static !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;

        text-align: center !important;
    }

    body:has(#basket-root) .basket-item-amount-btn-minus,
    body:has(#basket-root) .basket-item-amount-btn-plus,
    body:has(#basket-root) .btn-decrease,
    body:has(#basket-root) .btn-increase {
        display: none !important;
    }

    body:has(#basket-root) .basket-item-amount-filed-block {
        display: block !important;

        position: static !important;

        width: auto !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;
    }

    body:has(#basket-root) .basket-item-block-amount::before,
    body:has(#basket-root) .basket-item-block-amount::after,
    body:has(#basket-root) .basket-item-amount-filed-block::before,
    body:has(#basket-root) .basket-item-amount-filed-block::after,
    body:has(#basket-root) .basket-item-amount-btn-minus::before,
    body:has(#basket-root) .basket-item-amount-btn-minus::after,
    body:has(#basket-root) .basket-item-amount-btn-plus::before,
    body:has(#basket-root) .basket-item-amount-btn-plus::after {
        content: none !important;
        display: none !important;
    }

    body:has(#basket-root) .basket-item-amount-filed {
        display: inline-block !important;

        width: auto !important;
        min-width: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;
        border-radius: 0 !important;

        outline: 0 !important;

        appearance: none !important;
        -webkit-appearance: none !important;

        background: transparent !important;

        box-shadow: none !important;

        color: #22282c !important;

        font-family: inherit !important;
        font-size: 9.3pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;

        text-align: center !important;
    }

    body:has(#basket-root)
    .page-bucket__my-bucket-table td:nth-child(2) > p {
        margin: 3px 0 0 !important;
        padding: 0 !important;

        border: 0 !important;

        color: #8a9298 !important;

        font-size: 7.3pt !important;
        font-weight: 400 !important;
        line-height: 1.15 !important;

        white-space: nowrap !important;
        text-align: center !important;
    }


    /* =========================================================
       PRICE
       ========================================================= */

    body:has(#basket-root)
    .page-bucket__my-bucket-table td:nth-child(3) .text-bold {
        color: #22282c !important;

        font-size: 9.4pt !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;

        white-space: nowrap !important;
    }

    body:has(#basket-root) .table__delete-trigger,
    body:has(#basket-root) .basket-item-actions-remove,
    body:has(#basket-root) .basket-item-block-actions {
        display: none !important;
    }


    /* =========================================================
       TOTAL
       Clean summary, no card, no dotted "accounting" lines
       ========================================================= */

    body:has(#basket-root) .page-bucket__final-cost {
        width: 330px !important;
        max-width: 68% !important;

        margin: 20px 0 0 auto !important;
        padding: 0 !important;

        break-inside: avoid !important;
        page-break-inside: avoid !important;
    }

    body:has(#basket-root) .basket-form {
        margin: 0 !important;
        padding: 11px 0 0 !important;

        border: 0 !important;
        border-top: 2px solid #252a2e !important;
        border-radius: 0 !important;

        background: transparent !important;

        box-shadow: none !important;
    }

    body:has(#basket-root) .basket-form__header {
        display: flex !important;
        align-items: baseline !important;
        justify-content: space-between !important;

        gap: 20px !important;

        margin: 0 !important;
        padding: 0 0 9px !important;

        border: 0 !important;
        border-bottom: 1px solid #e0e4e6 !important;
    }

    body:has(#basket-root) .basket-form__title {
        margin: 0 !important;

        font-size: 0 !important;
        line-height: 0 !important;
    }

    body:has(#basket-root) .basket-form__title::before {
        content: "Итого";

        color: #252a2e !important;

        font-size: 11pt !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }

    body:has(#basket-root) .basket-form__total {
        margin: 0 !important;

        color: #202529 !important;

        font-size: 13pt !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;

        letter-spacing: -0.015em !important;

        white-space: nowrap !important;
    }

    body:has(#basket-root) .basket-form__details {
        margin: 0 !important;
        padding: 7px 0 0 !important;

        border: 0 !important;

        font-size: 8pt !important;
    }

    body:has(#basket-root) .basket-form__row {
        display: grid !important;

        grid-template-columns: 1fr auto !important;
        gap: 16px !important;

        align-items: baseline !important;

        padding: 2px 0 !important;
    }

    body:has(#basket-root) .basket-form__row::before {
        content: none !important;
        display: none !important;
    }

    body:has(#basket-root) .basket-form__label,
    body:has(#basket-root) .basket-form__value {
        order: initial !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    body:has(#basket-root) .basket-form__label {
        color: #747d83 !important;

        font-weight: 400 !important;

        white-space: nowrap !important;
    }

    body:has(#basket-root) .basket-form__value {
        color: #30363a !important;

        font-weight: 600 !important;

        white-space: nowrap !important;
        text-align: right !important;
    }

    body:has(#basket-root)
    .basket-form__details .basket-form__row:last-child {
        display: none !important;
    }

    body:has(#basket-root) .basket-form__button,
    body:has(#basket-root) .basket-form__consent,
    body:has(#basket-root) .basket-form__form {
        display: none !important;
    }


    /* =========================================================
       FINAL POLISH: centered quantity + no outer table outline
       ========================================================= */

    body:has(#basket-root)
    .page-bucket__my-bucket-table td:nth-child(2) {
        text-align: center !important;
    }

    body:has(#basket-root) .basket-item-block-amount,
    body:has(#basket-root) .basket-item-amount-filed-block {
        width: 100% !important;
        text-align: center !important;
    }

    body:has(#basket-root) .basket-item-amount-filed {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        text-align: center !important;
    }

    body:has(#basket-root) .page-bucket__my-bucket,
    body:has(#basket-root) .page-bucket__my-bucket-inner,
    body:has(#basket-root) .page-bucket__my-bucket-table,
    body:has(#basket-root) .page-bucket__my-bucket-table thead,
    body:has(#basket-root) .page-bucket__my-bucket-table tbody {
        border: 0 !important;
        outline: 0 !important;
        box-shadow: none !important;
    }

}