/* ========== IOMI Print Styles ========== */
/* 
   Print stylesheet for research detail pages and other printable content.
   Optimized for A4 paper printing.
*/

@media print {
    /* === Base Reset for Print === */
    *,
    *::before,
    *::after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    body {
        font-family: 'Noto Sans SC', 'Inter', Georgia, serif;
        font-size: 12pt;
        line-height: 1.6;
        color: #000;
        background: #fff;
    }

    /* === Page Setup === */
    @page {
        size: A4;
        margin: 2cm 2.5cm;
    }

    @page :first {
        margin-top: 3cm;
    }

    /* === Hide Non-Essential Elements === */
    .site-header,
    .site-footer,
    .nav-desktop,
    .nav-mobile,
    .nav-toggle,
    .nav-overlay,
    .btn,
    .carousel-control,
    .carousel-indicators,
    .lightbox,
    [data-animate],
    .contact-link,
    .tags,
    .tag-pill,
    .footer-links {
        display: none !important;
    }

    /* === Layout Adjustments === */
    .app-wrapper {
        max-width: 100%;
        border: none;
        margin: 0;
        padding: 0;
    }

    .container {
        max-width: 100%;
        padding: 0;
        margin: 0;
    }

    /* === Typography for Print === */
    h1, h2, h3, h4, h5, h6 {
        page-break-after: avoid;
        page-break-inside: avoid;
        font-family: 'Noto Sans SC', 'Inter', sans-serif;
    }

    h1 {
        font-size: 24pt;
        margin-bottom: 12pt;
    }

    h2 {
        font-size: 18pt;
        margin-bottom: 10pt;
    }

    h3 {
        font-size: 14pt;
        margin-bottom: 8pt;
    }

    p {
        orphans: 3;
        widows: 3;
    }

    /* === Links === */
    a {
        text-decoration: underline;
        color: #000 !important;
    }

    a[href^="http"]:after {
        content: " (" attr(href) ")";
        font-size: 9pt;
        color: #666 !important;
    }

    a[href^="#"]:after,
    a[href^="javascript"]:after {
        content: "";
    }

    /* === Images === */
    img {
        max-width: 100% !important;
        page-break-inside: avoid;
        filter: none !important;
    }

    figure {
        page-break-inside: avoid;
        margin: 16pt 0;
    }

    figcaption,
    .figure-caption {
        font-size: 10pt;
        color: #666 !important;
        margin-top: 6pt;
    }

    /* === Research Detail Page === */
    .text-display {
        font-size: 22pt;
        line-height: 1.3;
        margin-bottom: 16pt;
    }

    .text-caption {
        font-size: 10pt;
        text-transform: uppercase;
        letter-spacing: 0.5pt;
        margin-bottom: 8pt;
    }

    .article-meta-grid {
        margin-bottom: 16pt;
        font-size: 11pt;
    }

    .article-lead {
        font-size: 13pt;
        line-height: 1.7;
        border-left: 2pt solid #999;
        padding-left: 12pt;
        margin-bottom: 20pt;
        font-style: italic;
    }

    .text-body-lg {
        font-size: 12pt;
        line-height: 1.7;
    }

    /* === Profile Detail Page === */
    .profile-container {
        display: block;
    }

    .profile-sidebar {
        position: static;
        height: auto;
        border: none;
        padding: 0;
        margin-bottom: 24pt;
        page-break-after: avoid;
    }

    .profile-avatar {
        width: 80pt;
        height: 80pt;
        filter: none !important;
        float: left;
        margin-right: 16pt;
        margin-bottom: 8pt;
    }

    .profile-name {
        font-size: 18pt;
        margin-bottom: 4pt;
    }

    .profile-role {
        font-size: 11pt;
        margin-bottom: 12pt;
        border: none;
        padding: 0;
    }

    .profile-content {
        padding: 0;
        background: transparent;
    }

    .content-section {
        margin-bottom: 20pt;
    }

    .section-label {
        font-size: 10pt;
        text-transform: uppercase;
        letter-spacing: 1pt;
        margin-bottom: 8pt;
        border-bottom: 1pt solid #ccc;
        padding-bottom: 4pt;
    }

    .about-text {
        font-size: 12pt;
        line-height: 1.7;
    }

    /* === Publication List === */
    .pub-list {
        page-break-inside: avoid;
    }

    .pub-item {
        padding: 8pt 0;
        border-bottom: 0.5pt solid #ddd;
        page-break-inside: avoid;
    }

    .pub-title {
        font-size: 11pt;
        font-weight: 600;
    }

    .pub-meta {
        font-size: 10pt;
        color: #666 !important;
    }

    /* === Contact List for Print === */
    .contact-list {
        display: block !important;
        list-style: none;
        padding: 0;
        margin: 12pt 0;
    }

    .contact-list li {
        font-size: 10pt;
        margin-bottom: 4pt;
    }

    .contact-list li svg {
        display: none;
    }

    /* === People List Page === */
    .people-grid {
        display: block;
        background: transparent;
        border: none;
    }

    .person-card {
        display: inline-block;
        width: 48%;
        vertical-align: top;
        padding: 12pt;
        border: 0.5pt solid #ddd;
        margin: 4pt 1%;
        page-break-inside: avoid;
    }

    .avatar {
        width: 48pt;
        height: 48pt;
        filter: none !important;
    }

    .person-name {
        font-size: 11pt;
    }

    .person-role {
        font-size: 9pt;
    }

    /* === Research List Page === */
    .research-list {
        background: transparent;
    }

    .research-row {
        display: block;
        padding: 16pt 0;
        border-bottom: 0.5pt solid #ddd;
        page-break-inside: avoid;
    }

    .research-visual {
        display: none;
    }

    .research-content {
        padding: 0;
    }

    .research-meta {
        font-size: 9pt;
        margin-bottom: 4pt;
    }

    .research-title {
        font-size: 13pt;
        margin-bottom: 8pt;
    }

    .research-abstract {
        font-size: 11pt;
        line-height: 1.6;
    }

    /* === Page Breaks === */
    .page-intro {
        page-break-after: avoid;
    }

    .section {
        page-break-before: auto;
    }

    /* === Print Header/Footer === */
    .print-header {
        display: block !important;
        text-align: center;
        font-size: 10pt;
        color: #666 !important;
        margin-bottom: 24pt;
        border-bottom: 1pt solid #ddd;
        padding-bottom: 12pt;
    }

    .print-footer {
        display: block !important;
        text-align: center;
        font-size: 9pt;
        color: #999 !important;
        margin-top: 24pt;
        border-top: 1pt solid #ddd;
        padding-top: 12pt;
    }
}
