 
            main .container {
                width: 100%;
                max-width: 1200px;
                margin: 0 auto;
                padding-left: 12px;
                padding-right: 12px;
            }
            main .row {
                display: flex;
                flex-wrap: wrap;
                margin-left: -12px;
                margin-right: -12px;
            }
            main .row > [class*="col-"] {
                padding-left: 12px;
                padding-right: 12px;
                box-sizing: border-box;
            }
            main .col-lg-8 { flex: 0 0 66.666%; max-width: 66.666%; }
            main .col-lg-4 { flex: 0 0 33.333%; max-width: 33.333%; }
            @media (max-width: 991px) {
                main .col-lg-8,
                main .col-lg-4 { flex: 0 0 100%; max-width: 100%; }
            }

            /* ── Article layout spacing ──────────────────────────── */
            .article-layout {
                padding-top: 2rem;
            }

            /* ── Article card base ────────────────────────────────── */
            .article-card {
                background: #fff;
                border-radius: 0.75rem;
                box-shadow: 0 1px 6px rgba(0,0,0,0.08);
            }
            .article-card .card-body {
                padding: 2rem 2.5rem;
            }
            @media (max-width: 991px) {
                .article-card .card-body { padding: 1.25rem; }
            }

            /* ── Article heading typography (proportional scale) ─── */
            .article-card h1, .article-body-jats h1 { font-size: 1.45rem; margin: 2rem 0 0.75rem; }
            .article-card h2, .article-body-jats h2 { font-size: 1.25rem; margin: 1.75rem 0 0.65rem; }
            .article-card h3, .article-body-jats h3 { font-size: 1.1rem;  margin: 1.5rem 0 0.5rem; }
            .article-card h4, .article-body-jats h4 { font-size: 1rem;    margin: 1.25rem 0 0.5rem; }
            .article-card h5, .article-body-jats h5 { font-size: 0.92rem; margin: 1rem 0 0.4rem; }
            .article-card h6, .article-body-jats h6 { font-size: 0.875rem; margin: 1rem 0 0.4rem; }
            .article-card h1, .article-card h2, .article-card h3,
            .article-card h4, .article-card h5, .article-card h6,
            .article-body-jats h1, .article-body-jats h2, .article-body-jats h3,
            .article-body-jats h4, .article-body-jats h5, .article-body-jats h6 {
                color: #444;
                font-weight: 600;
                line-height: 1.35;
            }

            /* Title shown above article body */
            .article-title {
                font-size: 1.5rem;
                line-height: 1.35;
                color: #2a2a3a;
                font-weight: 700;
            }
            .article-meta {
                font-size: 0.85rem;
                color: #6c757d;
            }
            .article-meta strong { color: #4a4a5a; }

            /* ── Article body typography ──────────────────────────── */
            .article-body-jats {
                font-size: 0.925rem;
                line-height: 1.8;
                color: #3a3a4a;
            }
            .article-body-jats sup {
                vertical-align: super;
                font-size: 0.7em;
                line-height: 0;
            }
            .article-body-jats sub {
                vertical-align: sub;
                font-size: 0.7em;
                line-height: 0;
            }
            .article-body-jats p { margin-bottom: 1rem; }
            .article-body-jats a { color: #274aab; }

            /* ── Bottom download button ──────────────────────────── */
            .article-download-bottom {
                display: inline-flex;
                align-items: center;
                gap: 0.5rem;
                padding: 0.65rem 1.5rem;
                font-size: 0.95rem;
                font-weight: 600;
                color: #fff;
                background: linear-gradient(135deg, #3b5cc6 0%, #274aab 100%);
                border: none;
                border-radius: 0.5rem;
                text-decoration: none;
                cursor: pointer;
                transition: all 0.2s ease;
                box-shadow: 0 2px 8px rgba(39,74,171,0.2);
            }
            .article-download-bottom:hover {
                background: linear-gradient(135deg, #274aab 0%, #1c3a8a 100%);
                box-shadow: 0 4px 12px rgba(39,74,171,0.3);
                transform: translateY(-1px);
                color: #fff;
            }

            /* ── Breadcrumb fix ──────────────────────────────────── */
            .breadcrumb {
                display: flex;
                flex-wrap: wrap;
                list-style: none;
                padding: 0;
                margin: 0;
                font-size: 0.875rem;
            }
            .breadcrumb-item + .breadcrumb-item::before {
                content: "/";
                display: inline-block;
                padding: 0 0.5rem;
                color: #6c757d;
            }
            .breadcrumb-item a {
                text-decoration: none;
            }
            .breadcrumb-item a:hover {
                text-decoration: underline;
            }
            .breadcrumb-item.active {
                color: #6c757d;
            }

            /* ── Sidebar action buttons ──────────────────────────── */
            .sidebar-actions {
                margin-bottom: 1.5rem;
            }
            .sidebar-actions .btn-download-pdf {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 0.5rem;
                width: 100%;
                padding: 0.85rem 1.5rem;
                font-size: 1.05rem;
                font-weight: 600;
                color: #fff;
                background: linear-gradient(135deg, #3b5cc6 0%, #274aab 100%);
                border: none;
                border-radius: 0.625rem;
                cursor: pointer;
                transition: all 0.2s ease;
                text-decoration: none;
                box-shadow: 0 2px 8px rgba(39, 74, 171, 0.25);
            }
            .sidebar-actions .btn-download-pdf:hover {
                background: linear-gradient(135deg, #274aab 0%, #1c3a8a 100%);
                box-shadow: 0 4px 12px rgba(39, 74, 171, 0.35);
                transform: translateY(-1px);
            }
            .sidebar-actions .btn-download-epub {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 0.5rem;
                width: 100%;
                padding: 0.75rem 1.5rem;
                font-size: 0.95rem;
                font-weight: 600;
                color: #fff;
                background: linear-gradient(135deg, #3ec6d5 0%, #17a2b8 100%);
                border: none;
                border-radius: 0.625rem;
                cursor: pointer;
                transition: all 0.2s ease;
                text-decoration: none;
                margin-top: 0.625rem;
                box-shadow: 0 2px 8px rgba(23, 162, 184, 0.2);
            }
            .sidebar-actions .btn-download-epub:hover {
                background: linear-gradient(135deg, #17a2b8 0%, #128a9e 100%);
                box-shadow: 0 4px 12px rgba(23, 162, 184, 0.3);
                transform: translateY(-1px);
            }
            .sidebar-actions .btn-share-article {
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 0.5rem;
                width: 100%;
                padding: 0.75rem 1.5rem;
                font-size: 0.95rem;
                font-weight: 600;
                color: #17a2b8;
                background: transparent;
                border: 2px solid #17a2b8;
                border-radius: 0.625rem;
                cursor: pointer;
                transition: all 0.2s ease;
                margin-top: 0.625rem;
            }
            .sidebar-actions .btn-share-article:hover {
                background: rgba(23, 162, 184, 0.08);
                border-color: #128a9e;
                color: #128a9e;
            }
 