@page {
    size: auto;
    margin: 12mm;
}

@media print {
    body {
        background: #fff !important;
        color: #000 !important;
        font: 14pt/1.4 Arial, Helvetica, sans-serif !important;
    }

    a,
    a:visited {
        color: #000 !important;
        text-decoration: none !important;
    }

    .modern-product-wrapper {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        color: #000 !important;
        font: inherit !important;
    }

    .modern-product-wrapper *,
    .modern-product-wrapper *:before,
    .modern-product-wrapper *:after {
        box-shadow: none !important;
        text-shadow: none !important;
        border-radius: 0 !important;
        color: inherit !important;
        background: transparent !important;
    }

    .breadcrumbs {
        display: block !important;
        margin: 0 0 8mm !important;
        padding: 0 0 4mm !important;
        border-bottom: 1px solid #999 !important;
        font-size: 11pt !important;
    }

    .breadcrumbs .separator {
        padding: 0 4px !important;
    }

    .product-grid {
        display: table !important;
        width: 100% !important;
        table-layout: fixed !important;
        margin: 0 0 8mm !important;
    }

    .col-gallery,
    .col-details,
    .col-buybox {
        display: table-cell !important;
        vertical-align: top !important;
        float: none !important;
        width: auto !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .col-gallery {
        width: 28% !important;
        padding-right: 8mm !important;
    }

    .col-details {
        width: 44% !important;
        padding-right: 8mm !important;
    }

    .col-buybox {
        width: 28% !important;
    }

    .main-image-wrapper {
        margin: 0 !important;
        text-align: left !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    #ctl00_ContentPlaceHolder1_imgprodotto,
    .main-product-img {
        display: block !important;
        width: 100% !important;
        max-width: 65mm !important;
        max-height: 65mm !important;
        height: auto !important;
        object-fit: contain !important;
        margin: 0 !important;
        border: 1px solid #cfcfcf !important;
        padding: 3mm !important;
    }

    .thumbnails-gallery,
    .product-options,
    .quantity-wrapper,
    .cart-btn-wrapper,
    .promo-box,
    .alert-box,
    .ui-dialog,
    .ui-widget-overlay,
    .validatorCallout,
    .ajax__validatorcallout_popup_table {
        display: none !important;
    }

    .product-header-modern h1 {
        margin: 0 0 4mm !important;
        font-size: 20pt !important;
        line-height: 1.15 !important;
        font-weight: 700 !important;
        color: #000 !important;
    }

    .product-meta-data {
        margin: 0 !important;
        font-size: 14pt !important;
    }

    .meta-row {
        margin: 0 0 3mm !important;
        padding: 0 !important;
        line-height: 1.35 !important;
    }

    .product-code {
        display: inline-block !important;
        font-size: 14pt !important;
        font-weight: 700 !important;
        padding: 0 !important;
    }

    .product-meta-data a[href]:after,
    .tab-content a[href]:after {
        content: " (" attr(href) ")";
        font-size: 10pt;
        word-break: break-all;
    }

    .product-price-section,
    .product-controls-box,
    .modern-table-panel,
    .info-tabs-container {
        display: block !important;
        margin: 0 0 6mm !important;
        padding: 4mm !important;
        border: 1px solid #bfbfbf !important;
    }

    .product-controls-box {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        border-top: 0 !important;
    }

    .price-box {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .price-row {
        display: block !important;
        margin: 0 0 3mm !important;
    }

    .old-price-display,
    .price-tax-info,
    .availability-box,
    .min-qty-info,
    #LabelDispGima,
    #LabelMessDisp {
        font-size: 13pt !important;
        line-height: 1.3 !important;
    }

    .main-price-display {
        display: block !important;
        margin: 1mm 0 2mm !important;
        font-size: 22pt !important;
        font-weight: 700 !important;
    }

    .discount-badge {
        display: inline-block !important;
        margin-top: 2mm !important;
        font-size: 11pt !important;
        font-weight: 700 !important;
        border: 1px solid #999 !important;
        padding: 1mm 2mm !important;
    }

    .threshold-container .h2,
    .tab-header {
        display: block !important;
        margin: 0 0 3mm !important;
        padding: 0 !important;
        font-size: 15pt !important;
        font-weight: 700 !important;
        border: 0 !important;
    }

    #tabellaSoglie {
        width: 100% !important;
        table-layout: fixed !important;
        border-collapse: collapse !important;
        margin: 0 !important;
    }

    #tabellaSoglie > tbody > tr > td {
        padding: 0 2mm 0 0 !important;
        border: 0 !important;
        vertical-align: top !important;
    }

    .datatable_opt {
        width: 100% !important;
        border-collapse: collapse !important;
        border-spacing: 0 !important;
        border: 1px solid #bfbfbf !important;
        font-size: 12pt !important;
    }

    .datatable_opt th,
    .datatable_opt td {
        padding: 1.5mm !important;
        border: 1px solid #d4d4d4 !important;
        text-align: center !important;
        vertical-align: middle !important;
        line-height: 1.2 !important;
    }

    .tab-content,
    #DescrizioneLabel {
        font-size: 14pt !important;
        line-height: 1.5 !important;
        page-break-inside: auto !important;
        break-inside: auto !important;
    }

    .ricambi-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4mm !important;
    }

    .celleofferte {
        border: 1px solid #d4d4d4 !important;
        padding: 3mm !important;
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .celleofferte img {
        max-width: 28mm !important;
        height: auto !important;
    }

    img[src*='load'],
    #loadimg,
    #ImageDispo {
        display: none !important;
    }

    img,
    .meta-row,
    .price-box {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }

    .info-tabs-container,
    .modern-table-panel,
    .threshold-container,
    #tabellaSoglie,
    .datatable_opt {
        page-break-inside: auto !important;
        break-inside: auto !important;
    }

    tr,
    td {
        page-break-inside: avoid !important;
        break-inside: avoid !important;
    }
}

@media print and (max-width: 900px), print and (orientation: portrait) {
    .product-grid {
        display: block !important;
    }

    .col-gallery,
    .col-details,
    .col-buybox {
        display: block !important;
        width: 100% !important;
        padding-right: 0 !important;
    }

    .col-gallery,
    .col-details {
        margin-bottom: 5mm !important;
    }

    #ctl00_ContentPlaceHolder1_imgprodotto,
    .main-product-img {
        max-width: 52mm !important;
        max-height: 52mm !important;
    }

    .product-header-modern h1 {
        font-size: 18pt !important;
    }

    .modern-table-panel,
    .info-tabs-container,
    .product-price-section {
        margin-bottom: 5mm !important;
    }
}
