@media print {
    @page {
        margin: 1cm;
    }

    body {
        font-size: 0.85rem;
    }

    /* Hide header, footer, navigation, sidebar, pagination, and action buttons */
    header,
    footer,
    nav,
    .sidebar,
    .widget,
    .elementor-location-header,
    .elementor-location-footer,
    .elementor-location-archive,
    .cza-filter-remove-container,
    .cza-weiterlesen,
    .cza-vt-close,
    .cza-firma-btn-link,
    .elementor-button-wrapper,
    .jet-filters-pagination,
    .no-print {
        display: none !important;
    }

    /* Reset backgrounds and enforce high-contrast text color for ink saving */
    body,
    html,
    main,
    #page,
    .elementor,
    .e-con,
    .elementor-widget {
        background: #fff !important;
        background-image: none !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    /* Ensure text containers use the full printed page width */
    .elementor-section,
    .elementor-container,
    .elementor-column,
    .elementor-widget-wrap,
    .e-con,
    .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        float: none !important;
        background: transparent !important;
        flex-direction: column !important;
    }

    /* Optimize typography for paper printing */
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        color: #000 !important;
        page-break-after: avoid;
    }

    h1 {
        font-size: 30px !important;
    }

    h2,
    .print-subline a {
        font-size: 22px !important;
    }

    h3 {
        font-size: 18px !important;
    }

    p,
    p *,
    span,
    li,
    ol,
    em,
    strong,
    b,
    i,
    .print-text,
    .print-text *,
    .elementor-text-editor,
    .elementor-text-editor *,
    .cza-icon-list-text,
    .elementor-icon-list-text,
    .cza-contact-detail a {
        font-size: 16px !important;
    }

    .cza-icon-list-icon svg,
    .elementor-icon-list-icon svg,
    .cza-contact-icon {
        width: 17px !important;
        height: 17px !important;
    }

    svg {
        fill: #000 !important;
    }

    a {
        color: #000 !important;
    }

    a:link:after,
    a:visited:after {
        content: "";
    }

    /* Force Vorstellungstext to be fully expanded in print view */
    .cza-vt-preview {
        display: none !important;
    }

    .cza-vt-full,
    .cza-vt-full[hidden] {
        display: block !important;
    }

    .print-order-2 {
        order: 2 !important;
    }

    .print-title.elementor-element,
    .elementor-element.print-title {
        margin-bottom: 60px !important;
        border: 0 !important;
        background: #fff !important;
        background-color: #fff !important;
        background-image: none !important;
    }

    .bg-color {
        background: #fff !important;
        background-color: #fff !important;
        background-image: none !important;
    }

    .print-bar-left {
        gap: 50px !important;
        margin-bottom: 50px !important;
    }

    .print-bar-right {
        gap: 50px !important;
    }

    .print-mb-20 {
        margin-bottom: 20px !important;
    }

    .print-gap-0 {
        gap: 0 !important;
    }

    .print-gap-5 {
        gap: 5px !important;
    }

    .print-gap-15 {
        gap: 15px !important;
    }

    .cza-icon-list-wrapper {
        margin-bottom: 10px;
    }

    /* Force all benefits to display and hide the "Show More" button */
    .tc-benefits-wrapper .tc-benefit-hidden {
        display: inline-flex !important;
    }

    .tc-benefits-wrapper .tc-benefits-more {
        display: none !important;
    }

    /* Preserve Custom Bullet List Markers for Print */
    .elementor-widget-text-editor ul {
        list-style: none !important;
        padding-left: 0 !important;
    }

    .elementor-widget-text-editor ul > li {
        position: relative !important;
        list-style-type: none !important;
        padding-left: 25px !important;
        margin-bottom: 0px !important;
    }

    .elementor-widget-text-editor ul > li::before {
        content: "" !important;
        display: inline-block !important;
        position: absolute !important;
        left: 11px !important;
        top: 0.5em !important;
        width: 8px !important;
        height: 12px !important;
        background-color: black !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        -webkit-mask-image: url('data:image/svg+xml;utf8,<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 500"><path d="M12.93,500c-5.75,0-9.58-1.67-11.5-5.02-1.91-3.35-1.43-7.42,1.44-12.21l150.87-228.45c1.91-2.87,1.91-5.75,0-8.63L2.87,17.24,0,10.06C0,3.35,4.31,0,12.93,0h64.66C85.25,0,90.99,2.87,94.83,8.62l152.3,231.33c1.92,2.87,2.88,6.23,2.88,10.06s-.96,7.18-2.88,10.06l-152.3,231.32c-3.83,5.75-9.58,8.62-17.24,8.62H12.93Z"/></svg>') !important;
        mask-image: url('data:image/svg+xml;utf8,<svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250 500"><path d="M12.93,500c-5.75,0-9.58-1.67-11.5-5.02-1.91-3.35-1.43-7.42,1.44-12.21l150.87-228.45c1.91-2.87,1.91-5.75,0-8.63L2.87,17.24,0,10.06C0,3.35,4.31,0,12.93,0h64.66C85.25,0,90.99,2.87,94.83,8.62l152.3,231.33c1.92,2.87,2.88,6.23,2.88,10.06s-.96,7.18-2.88,10.06l-152.3,231.32c-3.83,5.75-9.58,8.62-17.24,8.62H12.93Z"/></svg>') !important;
        -webkit-mask-repeat: no-repeat !important;
        mask-repeat: no-repeat !important;
        -webkit-mask-size: contain !important;
        mask-size: contain !important;
        -webkit-mask-position: center !important;
        mask-position: center !important;
    }
}
