/* Helper classes for print */
@media print {
    body * {
        visibility: hidden;
    }

    #printcontent,
    #printcontent * {
        visibility: visible;
    }

    #printcontent {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        display: block !important;
        /* Ensure it's displayed */
        background: white;
        padding: 20px;
    }

    /* Style enhancements for print */
    .printtitle {
        border-bottom: 1px solid #333;
        margin-bottom: 10px;
        padding-bottom: 5px;
    }

    .printtitle h2 {
        margin-top: 0;
        font-size: 18pt;
        /* Reduced from 24pt */
    }

    .printtitle h4 {
        margin: 2px 0;
        font-size: 12pt;
        /* Reduced from 14pt */
        color: #555;
    }

    .qrcode {
        float: right;
        width: 80px;
        /* Reduced from 100px */
        height: 80px;
        margin-left: 15px;
    }

    .breadcrumb {
        background: none;
        padding: 0;
        font-size: 9pt;
        /* Reduced from 10pt */
        color: #666;
        margin-bottom: 5px;
    }

    .breadcrumb li {
        display: inline;
    }

    .breadcrumb li+li:before {
        content: " / ";
        padding: 0 5px;
    }

    .printinfos {
        font-size: 10pt;
        /* Reduced to fit more content */
        line-height: 1.3;
        text-align: justify;
    }

    .printmedia img {
        max-width: 100%;
        max-height: 300px;
        /* Limit image height */
        width: auto;
        height: auto;
        margin-bottom: 10px;
        page-break-inside: avoid;
    }
}

/* Hide print content on screen */
@media screen {
    #printcontent {
        display: none;
    }
}