/* ==========================================================================
   0. GLOBAL OJS CLASSIC THEME 2-FONT SYSTEM (CARDO & MONTSERRAT)
   ========================================================================== */
:root {
    --font-classic-serif: "Cardo", Georgia, serif;
    --font-classic-sans: "Cardo", Georgia, serif;
}

/* 1. Default body, paragraphs, and scholarly prose in Cardo (Classic Theme Serif) */
body,
main.page,
.page,
.pkp_structure_main,
.about_site,
.index-site-journal-description,
.journal_summary,
.description_text,
.cmp_announcement .summary,
.article_abstract_block,
.abstract p {
    font-family: "Cardo", Georgia, serif;
}

/* 2. UI controls, buttons, navigation, and footer in Montserrat (Classic Theme Sans-Serif) */
header.elsevier-style-header,
header.elsevier-style-header nav,
header.elsevier-style-header ul,
header.elsevier-style-header li,
header.elsevier-style-header a:not(.jh-title-link),
header.elsevier-style-header button,
header.elsevier-style-header span:not(.jh-title span),
.site-footer,
.btn,
button,
input,
select,
textarea,
.journals-grid-heading,
.cmp_notification,
.pkp_page_search form,
.pagination {
    font-family: "Cardo", Georgia, serif;
}

/* ==========================================================================
   1. ANNOUNCEMENTS OVERRIDES 
   ========================================================================== */
.cmp_announcements {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
    margin-right: -15px;
    margin-left: -15px;
}
.cmp_announcement {
    flex: 1 0 50%;
    margin-bottom: 60px;
    justify-content: space-between;
    padding: 0 15px;
}
@media (max-width: 767px) {
    .cmp_announcements {
        flex-wrap: nowrap;
        flex-direction: column;
    }
    .cmp_announcement {
        max-width: 100%;
    }
}

/* ==========================================================================
   2. ARTICLE DETAILS & ELSEVIER ARCHITECTURE (UNIFIED CARDO HEADINGS & SIZES)
   ========================================================================== */
/* Force Article Title and ALL Headings inside Single Article Page to use "Cardo" */
html body .obj_article_details h1.page_title.article-full-title,
html body .obj_article_details .article-full-title,
html body .obj_article_details h1,
html body .obj_article_details h2,
html body .obj_article_details h3,
html body .obj_article_details h4,
html body .obj_article_details .article_abstract_block h2,
html body .obj_article_details .article_abstract_block h3,
html body .obj_article_details .abstract h2,
html body .obj_article_details .keywords h2,
html body .obj_article_details .author_bios h2.label,
html body .obj_article_details .dataAvailability h2,
html body .obj_article_details .references h2.label,
html body .obj_article_details .citation_display h2,
html body .obj_article_details .citation_display h3,
html body .obj_article_details .main_entry h2,
html body .obj_article_details .main_entry h3,
html body .obj_article_details .main_entry #articlesBySimilarityList h2.label,
html body .obj_article_details .downloads_chart h2.label,
html body .obj_article_details .categories h2.categories_label {
    font-family: "Cardo", Georgia, serif !important;
    font-weight: 700 !important;
    color: #2e3644 !important;
    text-transform: none !important;
    border-bottom: none !important;
}

/* Desktop (>= 992px) Heading Size Hierarchy:
   Article Title = 36px | Main Section Headings (Abstract, etc.) = 22px | Sidebar Headings = 18px */
html body .obj_article_details h1.page_title.article-full-title,
html body .obj_article_details .article-full-title {
    text-align: left !important;
    font-size: 36px !important;
    line-height: 1.28 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

html body .obj_article_details .article_abstract_block h2,
html body .obj_article_details .article_abstract_block h2.label,
html body .obj_article_details .citation_display h2,
html body .obj_article_details .main_entry #articlesBySimilarityList h2.label {
    font-size: 22px !important;
    line-height: 1.35 !important;
    padding-bottom: 0 !important;
    margin-bottom: 12px !important;
}

html body .obj_article_details .main_entry .downloads_chart h2.label,
html body .obj_article_details .main_entry .categories h2.categories_label,
html body .obj_article_details .citation_display h3.download-cite,
html body .obj_article_details .download-cite {
    font-size: 18px !important;
    line-height: 1.35 !important;
    margin-bottom: 10px !important;
}

/* Tablet (768px - 991px) Heading Size Hierarchy:
   Article Title = 28px | Main Section Headings (Abstract, etc.) = 20px | Sidebar Headings = 17px */
@media (max-width: 991px) {
    html body .obj_article_details h1.page_title.article-full-title,
    html body .obj_article_details .article-full-title {
        font-size: 28px !important;
        line-height: 1.3 !important;
    }

    html body .obj_article_details .article_abstract_block h2,
    html body .obj_article_details .article_abstract_block h2.label,
    html body .obj_article_details .citation_display h2,
    html body .obj_article_details .main_entry #articlesBySimilarityList h2.label {
        font-size: 20px !important;
    }

    html body .obj_article_details .main_entry .downloads_chart h2.label,
    html body .obj_article_details .main_entry .categories h2.categories_label,
    html body .obj_article_details .citation_display h3.download-cite,
    html body .obj_article_details .download-cite {
        font-size: 17px !important;
    }
}

/* Mobile (<= 767px) Heading Size Hierarchy:
   Article Title = 24px | Main Section Headings (Abstract, etc.) = 18px | Sidebar Headings = 16px */
@media (max-width: 767px) {
    html body .obj_article_details h1.page_title.article-full-title,
    html body .obj_article_details .article-full-title {
        font-size: 24px !important;
        line-height: 1.32 !important;
    }

    html body .obj_article_details .article_abstract_block h2,
    html body .obj_article_details .article_abstract_block h2.label,
    html body .obj_article_details .citation_display h2,
    html body .obj_article_details .main_entry #articlesBySimilarityList h2.label {
        font-size: 18px !important;
    }

    html body .obj_article_details .main_entry .downloads_chart h2.label,
    html body .obj_article_details .main_entry .categories h2.categories_label,
    html body .obj_article_details .citation_display h3.download-cite,
    html body .obj_article_details .download-cite {
        font-size: 16px !important;
    }
}

.name_wrapper, .collapse-authors, #authorInfoCollapse, .abstract, .article-history-timeline {
    font-family: "Cardo", Georgia, serif;
}
.article_main_data, .keywords_label, #more_keywords, #less_keywords, .copyright, .abstract_label, .action-links {
    font-family: "Cardo", Georgia, serif;
}
.copyright {
    font-size: 16px;
}
@media (max-width: 767px) {
    .article_cover_wrapper {
        display: none !important;
    }
}
.references-list {
    list-style: none !important;
    list-style-type: none !important; 
    padding-left: 0 !important; 
    font-family: "Cardo", Georgia, serif;
}
.references-list li {
    list-style: none !important;
    list-style-type: none !important; 
    margin-bottom: 16px;
    padding-left: 36px; 
    text-indent: -36px; 
}
.references-list li::before {
    content: none !important;
    display: none !important;
}
.references-list li::marker {
    content: "" !important;
    color: transparent !important;
    font-size: 0 !important;
    display: none !important;
}
.references-list a {
    word-wrap: break-word;
}
.references-list i, .references-list em {
    font-family: "Cardo", Georgia, serif !important;
    font-style: italic !important;
}
.references-list b, .references-list strong {
    font-family: "Cardo", Georgia, serif !important;
    font-weight: 700 !important;
}
.author-group {
    display: inline-block;
    white-space: nowrap;
    font-family: "Cardo", Georgia, serif;
}
.authors-inline {
    line-height: 1.8; 
}
a.galley-link, .action-links a, .orcid-link, .ror-link, .share-options a {
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}
.article-meta-extras {
    background-color: transparent !important; 
    padding: 0 !important;
    border-radius: 0 !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #e0e0e0;
}
.article-history-timeline {
    font-family: "Cardo", Georgia, serif;
    color: #555555;
    font-size: 0.9em;
    padding-bottom: 0px;
    border-bottom: none !important; 
}
.article-citation-block {
    background: transparent !important;
    border-left: none !important;
    padding: 0 !important;
    color: #2e3644;
    font-family: "Cardo", Georgia, serif;
}
.action-links .galley-link {
    margin-left: 0 !important;            
    background-color: #004b79 !important; 
    color: #ffffff !important;            
    padding: 8px 16px !important;
    border-radius: 4px;                  
    font-weight: 600;
    font-size: 0.9em;
    text-transform: uppercase;
    border: none !important;              
    text-decoration: none !important;
    box-shadow: none !important;
    display: inline-flex;
    align-items: center;
    gap: 8px;                             
    transition: background-color 0.2s ease-in-out;
    font-family: "Cardo", Georgia, serif;
}
.action-links .galley-link:hover {
    background-color: #003355 !important; 
    color: #ffffff !important;
}
.action-links .galley-link::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 16px;
    background-color: #ffffff; 
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM261.6 288c16.3 3.3 31.1 9.8 45.4 9.8 8.1 0 10.9-4.2 10.9-8.4 0-10.2-22.3-15.6-56.3-1.4zM384 121.9v358.1c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0h224.1c8.5 0 16.7 3.4 22.6 9.4l95.9 95.9c6 6 9.4 14.1 9.4 22.6zM352 128h-96V32L352 128zM307.6 274.1c-16.7-1.4-38.3-3.6-58.8-10.4-15.5-22.1-29.1-50-38.5-74.9-4-10.4-7.2-20.2-9-27.1-1.3-4.6-1.7-8.3-1.7-10.6 0-32-10.8-62.9-38.6-62.9-10.8 0-19.4 4.5-24 13.2-4.9 9.3-5 24.3-1.6 47.6 2.3 16 7.6 34.5 13.5 53 14.9 46.2 34.8 96.6 42.5 116.1-14.7 26.3-38.6 57.5-61.9 76-13.6 10.9-38.6 27.6-47.5 39.5-6.6 8.9-10.7 18.2-10.7 27.6 0 19.3 15 35 34.2 35 15.6 0 31.9-12.7 51.5-38.2 21.6-28.1 36.1-61.6 43.1-81 21.1-6.1 44.5-12.4 66.8-15.3 26.5 25.1 56 36.3 75.9 36.3 22 0 38.2-12.9 38.2-31.5.1-15.3-13.4-25.1-34.9-25.1z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.citation_display {
    margin-top: 35px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}
#citationOutput, .csl-bib-body {
    font-family: "Cardo", Georgia, serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #555555;
    margin-bottom: 15px;
}
.citation_formats.dropdown #dropdownMenuButton {
    background-color: #f8f9fa !important;
    color: #2e3644 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px;
    padding: 6px 12px;
    font-family: "Cardo", Georgia, serif;
    font-size: 0.9em;
    font-weight: bold;
    box-shadow: none !important;
}
.citation_formats.dropdown #dropdownMenuButton:hover {
    background-color: #e2e6ea !important;
}

/* SIMILAR ARTICLES (FOOTER HOOK BLOCK) INSIDE MAIN_ENTRY */
.main_entry .footer-hook-block {
    margin-top: 35px !important;
    padding-top: 20px !important;
    border-top: 1px solid #e0e0e0;
}
.main_entry #articlesBySimilarityList ul {
    padding-left: 18px;
    font-family: "Cardo", Georgia, serif;
    font-size: 16px;
    line-height: 1.6;
    color: #555555;
}
.main_entry #articlesBySimilarityList ul li {
    margin-bottom: 12px;
}
.main_entry #articlesBySimilarityList i,
.main_entry #articlesBySimilarityList em {
    font-family: "Cardo", Georgia, serif !important;
    font-style: italic !important;
}
.main_entry #articlesBySimilaritySearch {
    font-family: "Cardo", Georgia, serif;
    font-size: 15px;
    line-height: 1.5;
    color: #555555;
    margin-top: 15px;
}

.author_bios {
    margin-top: 35px;
    padding-top: 20px;
    border-top: 1px solid #e0e0e0;
}
.author_bios ul.authors {
    list-style: none;
    padding: 0;
    margin: 0;
}
.author_bios .sub_item { margin-bottom: 25px; }
.author_bios .sub_item .label {
    font-family: "Cardo", Georgia, serif;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #2e3644;
}
.author_bios .value {
    font-family: "Cardo", Georgia, serif;
    font-size: 16px;
    line-height: 1.6;
    color: #555555;
}
.author_bios .userGroup {
    list-style: none !important;
    padding: 0 !important;
    margin: 5px 0 0 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.author_bios .userGroup .creditRole {
    font-family: "Cardo", Georgia, serif;
    font-size: 14px;
    font-style: italic;
    color: #666;
    list-style: none !important;
}
.author_bios .userGroup .creditRole::after { content: ","; }
.author_bios .userGroup .creditRole:last-child::after { content: ""; }

.pkp_structure_page, .pkp_structure_content, .pkp_structure_main, .container-page, .container-fluid.container-page {
    padding-top: 25px !important; 
    margin-top: 0 !important;
}
.obj_article_details { margin-top: 0 !important; padding-top: 0 !important; }
.article_main_data { padding-top: 20px !important; }
.main_entry > div:not(:last-child), .main_entry .item { margin-bottom: 20px !important; }
.article_abstract_block .item, .article_abstract_block > div:not(:first-child),
.article_abstract_block > section:not(:first-child) { margin-top: 20px !important; padding-top: 15px !important; }
.item.authors, .item.article-meta-extras { margin-bottom: 15px !important; }
.item.article-meta-extras { margin-top: 15px !important; padding-top: 15px !important; }
@media (max-width: 991px) {
    .pkp_structure_page, .pkp_structure_content, .pkp_structure_main, .container-page, .container-fluid.container-page { padding-top: 15px !important; }
    .article_main_data { padding-top: 15px !important; }
    .article_main_data > * { margin-bottom: 15px !important; }
    .main_entry > div:not(:last-child), .main_entry .item, .article_abstract_block .item, .article_abstract_block > div:not(:first-child), .article_abstract_block > section:not(:first-child) {
        margin-top: 15px !important; margin-bottom: 15px !important; padding-top: 15px !important;
    }
}

/* LOCK ARTICLE CONTAINER ORDER & FLUSH VERTICAL ALIGNMENT WITH HEADER/FOOTER */
.obj_article_details .article_header_wrapper > .row,
.obj_article_details .row.article_main_data {
    margin-left: -15px !important;
    margin-right: -15px !important;
}

@media (min-width: 768px) {
    .article_main_data .article_abstract_block {
        padding-left: 15px !important;
        padding-right: 4% !important;
    }
    .article_main_data .main_entry {
        padding-left: 4% !important;
        padding-right: 15px !important;
    }
}

@media (max-width: 767px) {
    .obj_article_details .article_header_wrapper,
    .obj_article_details .article_header_wrapper > .row,
    .obj_article_details .row.article_main_data {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        width: 100% !important;
    }

    .obj_article_details .article_header_wrapper > .row > [class*="col-"],
    .article_main_data .article_abstract_block,
    .article_main_data .main_entry {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        order: unset !important;
    }

    /* Prevent the fixed-width <canvas> in Downloads chart from overflowing on small mobile screens */
    .article_main_data .downloads_chart canvas.usageStatsGraph {
        max-width: 100% !important;
        height: auto !important;
    }

    .article_main_data .doi,
    .article_main_data .published_date,
    .article_main_data .categories,
    .article_main_data .abstract,
    .article_main_data .for-mobile-view,
    .article_main_data .keywords,
    .article_main_data .citation,
    .article_main_data .references,
    .article_main_data .copyright,
    .article_main_data .article-block,
    .article_main_data .footer-hook-block,
    .article_main_data > * {
        order: unset !important;
    }
}

/* ==========================================================================
   3. FOOTER GRID OVERRIDE & DARK STYLING
   ========================================================================== */
.site-footer {
    background-color: #0f172a; 
    color: #e2e8f0; 
    padding: 60px 0; 
    margin-top: 60px; 
    border-top: 4px solid #1e293b; 
}
.site-footer h1, 
.site-footer h2, 
.site-footer h3, 
.site-footer h4, 
.site-footer strong {
    color: #ffffff; 
}
.site-footer a {
    color: #93c5fd; 
    text-decoration: none;
    transition: color 0.2s ease;
}
.site-footer a:hover, 
.site-footer a:focus {
    color: #ffffff;
    text-decoration: underline;
}
.site-footer .pkpbrand-wrapper {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #334155; 
}
.site-footer .footer-brand-text {
    color: #94a3b8; 
    font-size: 0.85rem;
}
.nusaxis-footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 30px; 
}
@media (max-width: 767px) {
    .nusaxis-footer-grid { 
        grid-template-columns: 1fr; 
        gap: 20px; 
    }
}

/* ==========================================================================
   4. COMPILER-SAFE HEADER OVERRIDES & UNIFIED .gh-right TYPOGRAPHY
   ========================================================================== */
.elsevier-style-header { width: 100%; font-family: "Cardo", Georgia, serif; }
.elsevier-style-header a { text-decoration: none; }
.elsevier-style-header ul { list-style: none; margin: 0; padding: 0; }

/* Remove Bootstrap container-fluid ::before/::after pseudo-elements so they never break Flexbox */
.global-utility-bar::before,
.global-utility-bar::after,
.journal-hero-banner .jh-container::before,
.journal-hero-banner .jh-container::after,
.journal-hero-banner .jh-info::before,
.journal-hero-banner .jh-info::after,
.journal-action-nav .jan-container::before,
.journal-action-nav .jan-container::after {
    display: none !important;
    content: none !important;
}

body header.elsevier-style-header .global-utility-bar {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    min-height: 60px;
    padding: 10px 30px;
}
body header.elsevier-style-header .global-utility-bar .gh-network-brand {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    border: none !important;
}
body header.elsevier-style-header .global-utility-bar .gh-network-brand:hover,
body header.elsevier-style-header .global-utility-bar .gh-network-brand:focus,
body header.elsevier-style-header .global-utility-bar .gh-network-brand:active {
    text-decoration: none !important;
    border: none !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
}
body header.elsevier-style-header .global-utility-bar .gh-network-logo {
    max-height: 45px;
    width: auto;
    display: block;
    border: none !important;
}

/* Unified Font Family (Montserrat), Font Size, Weight & Spacing for everything inside .gh-right */
body header.elsevier-style-header .global-utility-bar .gh-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 14px !important;
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Hide empty .gh-language div so it doesn't add an extra phantom flex gap */
body header.elsevier-style-header .global-utility-bar .gh-language:empty {
    display: none !important;
}

/* Enforce identical font-family, font-size (14px), and font-weight (600) across Search, User Nav, Language & Menu */
body header.elsevier-style-header .global-utility-bar .gh-right .btn-icon,
body header.elsevier-style-header .global-utility-bar .gh-right .gh-search-label,
body header.elsevier-style-header .global-utility-bar .gh-right #navigationUser > li > a,
body header.elsevier-style-header .global-utility-bar .gh-right #navigationUser > li > a.nav-link,
body header.elsevier-style-header .global-utility-bar .gh-right .gh-language a,
body header.elsevier-style-header .global-utility-bar .gh-right .mobile-menu-toggle,
body header.elsevier-style-header .global-utility-bar .gh-right .mobile-menu-toggle .menu-text {
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

body header.elsevier-style-header .global-utility-bar .btn-icon {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #334155 !important;
    padding: 6px 8px !important;
    white-space: nowrap !important;
}
body header.elsevier-style-header .global-utility-bar .btn-icon:hover {
    color: #005599 !important;
}
body header.elsevier-style-header .global-utility-bar .gh-icon-svg {
    flex-shrink: 0 !important;
    display: inline-block !important;
    vertical-align: middle !important;
}

body header.elsevier-style-header .global-utility-bar #navigationUser {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
}
body header.elsevier-style-header .global-utility-bar #navigationUser > li,
body header.elsevier-style-header .global-utility-bar #navigationUser > li.nav-item {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}
body header.elsevier-style-header .global-utility-bar #navigationUser > li + li {
    margin-left: 4px !important;
}
body header.elsevier-style-header .global-utility-bar #navigationUser > li > a,
body header.elsevier-style-header .global-utility-bar #navigationUser > li > a.nav-link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #334155 !important;
    padding: 6px 10px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 4px !important;
    white-space: nowrap !important;
    background: transparent !important;
}
body header.elsevier-style-header .global-utility-bar #navigationUser > li > a:hover,
body header.elsevier-style-header .global-utility-bar #navigationUser > li > a:focus {
    color: #005599 !important;
    background-color: rgba(0, 85, 153, 0.06) !important;
}

/* Fix Top User Navigation Dropdown Dead Space on Desktop & Mobile */
body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu {
    position: absolute !important;
    top: calc(100% + 4px) !important;
    right: 0 !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    float: none !important;
    width: max-content !important;
    min-width: 170px !important;
    max-width: 260px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12) !important;
    z-index: 2000 !important;
}

body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu li,
body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu .nav-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    line-height: 1.2 !important;
}

body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu li.dropdown-item {
    padding: 0 !important;
}

body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu a,
body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu a.dropdown-item,
body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu a.nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 9px 16px !important;
    margin: 0 !important;
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #334155 !important;
    text-align: left !important;
    text-transform: none !important;
    white-space: nowrap !important;
    border: none !important;
    box-sizing: border-box !important;
}

body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu a:hover,
body header.elsevier-style-header .global-utility-bar #navigationUser .dropdown-menu a:focus {
    background-color: #f1f5f9 !important;
    color: #005599 !important;
}

/* TIER 2: Journal Hero Banner */
.journal-hero-banner { background-color: #0b223c; color: #ffffff; position: relative; padding: 10px 0; }
.journal-hero-banner .jh-container { display: flex; align-items: center; gap: 40px; }
.journal-hero-banner .jh-cover { flex-shrink: 0; position: relative; z-index: 10; margin-top: 0px; align-self: flex-start; }
.journal-hero-banner .jh-cover:empty { display: none !important; }
.journal-hero-banner .cover-image { max-width: 150px; box-shadow: 0 4px 12px rgba(0,0,0,0.5); border-radius: 2px; background-color: #ffffff; border: 2px solid #ffffff; }
.journal-hero-banner .jh-info { display: flex; flex-direction: row; justify-content: space-between; align-items: flex-start; width: 100%; gap: 20px; }
.journal-hero-banner .jh-title { margin: 0 !important; line-height: 1.1 !important; background: transparent !important; }
.journal-hero-banner .jh-title-link, .header .jh-title-link {
	font-family: "Cardo", Georgia, serif !important; 
	font-size: 4.0rem !important; font-weight: 700 !important;
	color: #ffffff !important; background-color: transparent !important;
	text-decoration: none !important; border-bottom: none !important; 
	box-shadow: none !important; transition: color 0.2s ease-in-out;
	line-height: 1.2 !important; display: inline-block !important;
}
.journal-hero-banner .jh-title-link:hover, .header .jh-title-link:hover,
.journal-hero-banner .jh-title-link:focus, .header .jh-title-link:focus {
	color: #facc15 !important; text-decoration: none !important; background-color: transparent !important;
}
.journal-hero-banner .jh-badges { display: flex; flex-wrap: wrap; gap: 10px; }
.journal-hero-banner .badge-open-access, .journal-hero-banner .badge-issn { display: inline-block; padding: 4px 12px; font-size: 12px; border-radius: 4px; }
.journal-hero-banner .badge-open-access { border: 1px solid rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.5px; }
.journal-hero-banner .badge-issn { opacity: 0.8; }

/* Hero Banner Action Buttons (Unified Sleek Style) */
.journal-hero-banner .jh-action-buttons {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}
.journal-hero-banner .btn-cta {
    flex: 0 1 auto !important;
    width: auto !important;
    padding: 6px 12px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.3px;
    border-radius: 4px;
    white-space: nowrap !important;
    text-decoration: none !important;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.2s ease-in-out;
    box-sizing: border-box;
}
.journal-hero-banner .btn-submit {
    background-color: #facc15 !important; 
    color: #0b223c !important;
    border: 1.5px solid #facc15 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
}
.journal-hero-banner .btn-submit:hover,
.journal-hero-banner .btn-submit:focus { 
    background-color: #fde047 !important; 
    border-color: #fde047 !important;
    color: #0b223c !important;
    transform: translateY(-1px);
}
.journal-hero-banner .btn-guide {
    background-color: rgba(255, 255, 255, 0.10) !important;
    border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
    color: #ffffff !important;
}
.journal-hero-banner .btn-guide:hover,
.journal-hero-banner .btn-guide:focus { 
    background-color: rgba(255, 255, 255, 0.22) !important; 
    border-color: #ffffff !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* Metrics */
.journal-hero-banner .jh-info-right { display: flex; flex-direction: column; align-items: flex-end !important; gap: 15px; }
.journal-hero-banner .jh-metrics-line {
	display: flex !important; flex-wrap: wrap !important; justify-content: flex-end !important; 
	gap: 30px !important; margin: 0 !important; padding: 0 !important;
	list-style: none !important; background: transparent !important;
}
.journal-hero-banner .jh-metrics-line .metric {
	display: flex !important; flex-direction: column !important; align-items: flex-end !important; 
	background-color: transparent !important; border: none !important; padding: 0 !important; margin: 0 !important;
}
.journal-hero-banner .jh-metrics-line .metric .metric-button {
	background-color: transparent !important; background: transparent !important; border: none !important;
	box-shadow: none !important; padding: 0 !important; margin: 0 !important; text-align: right !important; outline: none !important;
}
.journal-hero-banner .jh-metrics-line .metric .metric-button:hover, .journal-hero-banner .jh-metrics-line .metric .metric-button:focus {
	background-color: transparent !important; outline: none !important;
}
.journal-hero-banner .jh-metrics-line .metric .metric-button .val { 
	font-size: 24px !important; font-family: "Cardo", Georgia, serif !important; font-weight: 700 !important; 
	line-height: 1 !important; color: #ffffff !important; background-color: transparent !important; margin: 0 !important; display: block !important;
	white-space: nowrap !important;
}
.journal-hero-banner .jh-metrics-line .metric .metric-button .lbl { 
	font-size: 12px !important; font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; opacity: 0.8 !important; text-transform: uppercase !important; 
	margin-top: 4px !important; color: #ffffff !important; font-weight: normal !important; background-color: transparent !important;
	padding: 0 !important; display: block !important;
	white-space: nowrap !important;
}

/* TIER 3: Action Navigation & In-Flow Mobile Push-Down Menu */
.journal-action-nav { background-color: #ffffff; border-bottom: 1px solid #ddd; box-shadow: 0 2px 4px rgba(0,0,0,0.05); position: relative; z-index: 100; }
.journal-action-nav .jan-container { display: flex; justify-content: space-between; align-items: center; min-height: 40px; }
.jan-primary-menu { flex-grow: 1; }

@media (max-width: 991px) {
	.journal-action-nav .jan-container { padding: 0 15px !important; display: flex !important; flex-direction: column !important; height: auto !important; }
	.journal-action-nav .jan-mobile-top { display: flex; justify-content: space-between; align-items: center; width: 100%; gap: 15px; }
    .elsevier-style-header .mobile-menu-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #f8f9fa; border: 1px solid #cbd5e1; padding: 0 12px; border-radius: 4px; font-size: 14px; font-weight: 600; color: #334155; cursor: pointer; }
	
    /* Force mobile menu & submenus to stay in normal document flow so opening pushes content down instead of overlapping */
    body header.elsevier-style-header .jan-primary-menu,
    body header.elsevier-style-header .jan-primary-menu #primaryMobileNav,
    body header.elsevier-style-header .jan-primary-menu #primary-nav-wraper {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        background-color: #ffffff !important;
        box-shadow: none !important;
        transform: none !important;
        float: none !important;
        z-index: auto !important;
    }
    body header.elsevier-style-header .jan-primary-menu #primaryMobileNav:not(.show):not(.in) {
        display: none !important;
    }
    body header.elsevier-style-header .jan-primary-menu #primaryMobileNav.show,
    body header.elsevier-style-header .jan-primary-menu #primaryMobileNav.in {
        display: block !important;
        margin-top: 6px !important;
        padding-bottom: 8px !important;
        border-top: 1px solid #e2e8f0 !important;
        background-color: #ffffff !important;
    }
	body header.elsevier-style-header .jan-primary-menu #navigationPrimary {
        position: static !important;
        display: block !important;
        width: 100% !important;
        gap: 0 !important;
        border-bottom: 0 !important;
        background-color: #ffffff !important;
    }
	body header.elsevier-style-header .jan-primary-menu #navigationPrimary > li {
        position: static !important;
        display: block !important;
        width: 100% !important;
        background-color: #ffffff !important;
    }
	body header.elsevier-style-header .jan-primary-menu #navigationPrimary > li > a {
        padding: 12px 15px !important;
        border-bottom: 1px solid #f0f0f0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        color: #1e293b !important;
        background-color: #ffffff !important;
        font-weight: 600 !important;
    }
    /* Sub-dropdowns on mobile also push items down cleanly with solid background */
	body header.elsevier-style-header .jan-primary-menu #navigationPrimary .dropdown-menu {
        position: static !important;
        transform: none !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        float: none !important;
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        background-color: #f8fafc !important;
        border: none !important;
        box-shadow: none !important;
    }
	body header.elsevier-style-header .jan-primary-menu #navigationPrimary .dropdown-item,
    body header.elsevier-style-header .jan-primary-menu #navigationPrimary .dropdown-menu a {
        display: block !important;
        width: 100% !important;
        padding: 10px 15px 10px 30px !important;
        font-size: 14px !important;
        color: #334155 !important;
        background-color: #f8fafc !important;
        border-bottom: 1px solid #e2e8f0 !important;
        white-space: normal !important;
        box-sizing: border-box !important;
    }
}

@media (min-width: 992px) {
	.journal-action-nav .jan-container { display: flex; flex-direction: row; justify-content: space-between; }
	.elsevier-style-header .mobile-menu-toggle, .journal-action-nav #close-small-modal { display: none !important; }
	.journal-action-nav .jan-mobile-top { display: flex; order: 2; }
	.jan-primary-menu { display: block !important; order: 1; flex-grow: 1; }
	.jan-primary-menu #primaryMobileNav, .jan-primary-menu #modal-on-small { display: block !important; }
	.jan-primary-menu #navigationPrimary { display: flex !important; flex-direction: row; align-items: center; gap: 25px; border: none !important; }
	.jan-primary-menu #navigationPrimary > li { display: inline-block; position: relative; }
	.jan-primary-menu #navigationPrimary > li > a { color: #333; font-weight: 600; font-size: 15px; padding: 12px 0 !important; border: none !important; background: transparent; }
	.jan-primary-menu #navigationPrimary > li > a:hover, .jan-primary-menu #navigationPrimary > li > a:focus { color: #005599; }
	.jan-primary-menu .dropdown-menu { position: absolute !important; top: 100% !important; left: 0 !important; transform: none !important; background-color: #ffffff !important; border: 1px solid #ddd !important; box-shadow: 0 4px 12px rgba(0,0,0,0.12) !important; min-width: 210px !important; padding: 6px 0 !important; z-index: 1050 !important; }
	.jan-primary-menu .dropdown-item, .jan-primary-menu .dropdown-menu a { display: block !important; padding: 10px 20px !important; font-size: 14px !important; color: #334155 !important; background-color: #ffffff !important; }
	.jan-primary-menu .dropdown-item:hover, .jan-primary-menu .dropdown-menu a:hover { background-color: #005599 !important; color: #ffffff !important; }
}

/* ==========================================================================
   5. HOMEPAGE / INDEX JOURNAL 
   ========================================================================== */
.current_issue header {
    margin-bottom: 50px; 
}
.additional_content {
    padding-top: 20px;
    border-top: 1px solid rgba(0, 0, 0, 0.15);
}
.announcements {
    margin: 20px 0; 
    padding-top: 0px !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
a.galley-link, a.obj_galley_link {
    margin-left: 0 !important;            
    background-color: #004b79 !important; 
    color: #ffffff !important;            
    padding: 8px 16px !important;
    border-radius: 4px !important;                  
    font-weight: 600 !important;
    font-size: 0.9em !important;
    text-transform: uppercase !important;
    border: none !important;              
    text-decoration: none !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;                              
    transition: background-color 0.2s ease-in-out !important;
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}
a.galley-link:hover, a.obj_galley_link:hover {
    background-color: #003355 !important; 
    color: #ffffff !important;
}
a.galley-link::before, a.obj_galley_link::before {
    content: "" !important;
    display: inline-block !important;
    width: 14px !important;
    height: 16px !important;
    background-color: #ffffff !important; 
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M181.9 256.1c-5-16-4.9-46.9-2-46.9 8.4 0 7.6 36.9 2 46.9zm-1.7 47.2c-7.7 20.2-17.3 43.3-28.4 62.7 18.3-7 39-17.2 62.9-21.9-12.7-9.6-24.9-23.4-34.5-40.8zM86.1 428.1c0 .8 13.2-5.4 34.9-40.2-6.7 6.3-29.1 24.5-34.9 40.2zM261.6 288c16.3 3.3 31.1 9.8 45.4 9.8 8.1 0 10.9-4.2 10.9-8.4 0-10.2-22.3-15.6-56.3-1.4zM384 121.9v358.1c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V32C0 14.3 14.3 0 32 0h224.1c8.5 0 16.7 3.4 22.6 9.4l95.9 95.9c6 6 9.4 14.1 9.4 22.6zM352 128h-96V32L352 128zM307.6 274.1c-16.7-1.4-38.3-3.6-58.8-10.4-15.5-22.1-29.1-50-38.5-74.9-4-10.4-7.2-20.2-9-27.1-1.3-4.6-1.7-8.3-1.7-10.6 0-32-10.8-62.9-38.6-62.9-10.8 0-19.4 4.5-24 13.2-4.9 9.3-5 24.3-1.6 47.6 2.3 16 7.6 34.5 13.5 53 14.9 46.2 34.8 96.6 42.5 116.1-14.7 26.3-38.6 57.5-61.9 76-13.6 10.9-38.6 27.6-47.5 39.5-6.6 8.9-10.7 18.2-10.7 27.6 0 19.3 15 35 34.2 35 15.6 0 31.9-12.7 51.5-38.2 21.6-28.1 36.1-61.6 43.1-81 21.1-6.1 44.5-12.4 66.8-15.3 26.5 25.1 56 36.3 75.9 36.3 22 0 38.2-12.9 38.2-31.5.1-15.3-13.4-25.1-34.9-25.1z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}
ul.galleys_links {
    list-style: none !important;
    padding-left: 0 !important;
    margin-top: 15px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}
ul.galleys_links li { list-style: none !important; }
@media (min-width: 768px) {
    .description_cover { display: flex !important; flex-wrap: nowrap !important; align-items: flex-start !important; justify-content: space-between !important; gap: 30px !important; }
    .description_cover .description { flex: 1 1 auto !important; width: 100% !important; }
    .description_cover .description_text { column-count: 1 !important; }
    .description_cover .issue_cover_block { flex: 0 0 auto !important; width: auto !important; text-align: right !important; }
    .description_cover .cover_image { width: 100% !important; max-width: 180px !important; height: auto !important; }
}
@media (max-width: 767px) {
    .description_cover { display: block !important; }
    .description_cover .description { width: 100% !important; }
    .description_cover .issue_cover_block { display: none !important; }
}

/* ==========================================================================
   6. SITE INDEX / JOURNAL LIST (EDGE-TO-EDGE 4:2 THUMB, NO TOP NAVY BORDER, 5-LINE CLAMP)
   ========================================================================== */
body:has(main.page_index_site) .journal-hero-banner {
    display: none !important;
}

.about_site { 
    font-size: 28px !important; 
}

.journals-grid-heading { 
    font-family: "Cardo", Georgia, serif !important;
    font-weight: 700 !important;
    font-size: 2.2rem !important;
    color: #0b223c !important;
    text-align: center !important; 
    margin-bottom: 40px !important; 
}

.journals-grid { 
    display: grid !important; 
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important; 
    gap: 30px !important; 
    margin-top: 20px !important; 
    align-items: stretch !important;
}

/* 1. Single Clean Card Container (Top dark blue border removed) */
html body .journals-grid .index-site-journal {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-self: stretch !important;
    background: #ffffff !important; 
    border: 1px solid #e2e8f0 !important; 
    border-radius: 8px !important; 
    padding: 28px 24px 24px 24px !important; 
    margin: 0 !important;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05) !important; 
    text-align: left !important;
    overflow: hidden !important;
    transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

html body .journals-grid .index-site-journal:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.10) !important;
}

/* 2. Cover Image: Edge-to-edge full card width banner (4:2 ratio) */
html body .journals-grid .index-site-journal-thumb { 
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: -28px -24px 20px -24px !important; 
    display: block !important;
    width: calc(100% + 48px) !important;
    max-width: calc(100% + 48px) !important;
    overflow: hidden !important;
}

html body .journals-grid .index-site-journal-thumb a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

html body .journals-grid .index-site-journal img { 
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: 4 / 2 !important;
    object-fit: cover !important; 
    margin: 0 !important; 
    display: block !important;
    border-radius: 0 !important;
    border: none !important;
    box-shadow: none !important;
    transition: transform 0.25s ease !important;
}

html body .journals-grid .index-site-journal:hover img {
    transform: scale(1.03) !important;
}

/* 3. Left-Aligned Journal Title & Strictly 5-Line Clamped Description */
html body .journals-grid .index-site-journal h2,
html body .journals-grid .index-site-journal h3,
html body .journals-grid .index-site-journal h4,
html body .journals-grid .index-site-journal .journal-title,
html body .journals-grid .index-site-journal a:not(.btn):not(:has(img)) {
    font-family: "Cardo", Georgia, serif !important;
    font-size: 1.45rem !important;
    font-weight: 700 !important;
    color: #0b223c !important;
    text-align: left !important;
    margin: 0 0 10px 0 !important;
    line-height: 1.3 !important;
    display: block !important;
}

html body .journals-grid .index-site-journal-description,
html body .journals-grid .index-site-journal-description *,
html body .journals-grid .index-site-journal-description p {
    text-align: left !important;
    font-family: "Cardo", Georgia, serif !important;
    font-size: 1.02rem !important;
    line-height: 1.6 !important;
    color: #475569 !important;
}

html body .journals-grid .index-site-journal-description {
    flex-grow: 0 !important; 
    display: -webkit-box !important; 
    -webkit-line-clamp: 5 !important; 
    line-clamp: 5 !important;
    -webkit-box-orient: vertical !important; 
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-height: calc(1.6em * 5) !important;
    margin: 0 0 20px 0 !important;
}

html body .journals-grid .index-site-journal-description p { 
    display: inline !important; 
    margin: 0 !important; 
}

html body .journals-grid .index-site-journal-description br { 
    display: none !important; 
}

html body .journals-grid .index-site-journal-description strong,
html body .journals-grid .index-site-journal-description b {
    font-weight: 400 !important;
    font-style: italic !important;
}

/* 4. Bottom Action Buttons: Pinned to Bottom & Side-by-Side on 1 Row */
html body .journals-grid .index-site-journal > div:last-child,
html body .journals-grid .index-site-journal .index-site-journal-links,
html body .journals-grid .index-site-journal ul.nav,
html body .journals-grid .index-site-journal .journal-links {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-top: 1px solid #e2e8f0 !important;
    padding: 16px 0 0 0 !important;
    margin-top: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
}

html body .journals-grid .index-site-journal > div:last-child a,
html body .journals-grid .index-site-journal a.btn,
html body .journals-grid .index-site-journal ul li a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
    transition: all 0.2s ease !important;
}

/* Left Button: Solid Elsevier Navy */
html body .journals-grid .index-site-journal > div:last-child a:first-of-type,
html body .journals-grid .index-site-journal a.btn:first-of-type,
html body .journals-grid .index-site-journal ul li:first-child a {
    background-color: #0b223c !important;
    color: #ffffff !important;
    border: 1.5px solid #0b223c !important;
}

html body .journals-grid .index-site-journal > div:last-child a:first-of-type:hover,
html body .journals-grid .index-site-journal a.btn:first-of-type:hover,
html body .journals-grid .index-site-journal ul li:first-child a:hover {
    background-color: #004b79 !important;
    border-color: #004b79 !important;
    color: #ffffff !important;
}

/* Right Button: Crisp Outlined Slate */
html body .journals-grid .index-site-journal > div:last-child a:last-of-type,
html body .journals-grid .index-site-journal a.btn:last-of-type,
html body .journals-grid .index-site-journal ul li:last-child a {
    background-color: #ffffff !important;
    color: #0b223c !important;
    border: 1.5px solid #cbd5e1 !important;
}

html body .journals-grid .index-site-journal > div:last-child a:last-of-type:hover,
html body .journals-grid .index-site-journal a.btn:last-of-type:hover,
html body .journals-grid .index-site-journal ul li:last-child a:hover {
    background-color: #f1f5f9 !important;
    border-color: #0b223c !important;
    color: #0b223c !important;
}

/* ==========================================================================
   7. ISSUE TOC OVERRIDES & ARTICLE GRID (The Master CSS Override)
   ========================================================================== */
.published { font-size: small; font-family: "Cardo", Georgia, serif; }
.full_issue_label { border-top: 2px solid #bcbcbc; font-size: 18px; font-family: "Cardo", Georgia, serif; margin-top: 57px; padding-top: 39px; }
.full_issue_label span { display: inline-block; border-bottom: 3px solid #005599; }
@media (min-width: 992px) { .full_issue_label { max-width: 50%; } }

.sections {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 30px !important;
    width: 100% !important;
    margin-top: 20px !important;
}

.sections .section,
.sections .section_content {
    display: contents !important;
}

.sections .section_title,
.sections > h3,
.sections .section::before,
.sections .section::after,
.sections .section_content::before,
.sections .section_content::after {
    display: none !important;
    content: none !important;
}

.sections .article_summary {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 4px solid #1e293b !important;
    border-radius: 6px !important;
    padding: 24px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
}

.sections .article_summary_body {
    flex-grow: 1 !important;
    margin-bottom: 20px !important;
}

.sections .summary_title_wrapper {
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    line-height: 1.3 !important;
}
.sections .summary_title {
    font-family: "Cardo", Georgia, serif !important;
    font-size: 1.15rem !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    line-height: 1.4 !important;
    text-decoration: none !important;
    display: block !important;
}
.sections .summary_title:hover {
    color: #2563eb !important;
}
.sections .summary_meta {
    margin-top: 15px !important;
    font-size: 0.9rem !important;
    color: #475569 !important;
}
.sections .authors {
    margin-bottom: 10px !important;
    line-height: 1.5 !important;
}

@media (max-width: 767px) {
    .sections {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   8. GLOBAL LAYOUT MAX-WIDTH ALIGNMENT & BALANCED READING WIDTH
   ========================================================================== */
.jh-container,
.jan-container,
.container-page,
.container-footer {
    width: 100% !important;
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
}

.pkp_structure_main, 
.obj_article_details,
main.page {
    width: 100% !important;
    max-width: 100% !important;
}

/* ==========================================================================
   9. NAVIGATION TEXT CASE FIX
   ========================================================================== */
#navigationPrimary a.nav-link,
#navigationPrimary > li > a,
#navigationPrimary .dropdown-item {
    text-transform: none !important;
}

/* ==========================================================================
   10. NAVIGATION ALIGNMENT FIX
   ========================================================================== */
.jan-primary-menu #navigationPrimary .nav-item .nav-link {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
}
.jan-primary-menu #navigationPrimary {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* ==========================================================================
   11. MOBILE MENU PADDING & DROPDOWN ALIGNMENT
   ========================================================================== */
#navigationPrimary .dropdown-menu .dropdown-item {
    text-align: left !important;
}
@media (max-width: 991px) {
    .jan-primary-menu #navigationPrimary .nav-item .nav-link {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    #navigationPrimary .dropdown-menu .dropdown-item {
        padding-left: 30px !important;
    }
}

/* ==========================================================================
   12. MENU VERTICAL ALIGNMENT (RESPONSIVE FLEXBOX CENTERING)
   ========================================================================== */
.jan-primary-menu #navigationPrimary,
.jan-primary-menu #navigationPrimary > li,
.jan-primary-menu #navigationPrimary .nav-item {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

@media (min-width: 992px) {
    .journal-action-nav .jan-container {
        min-height: 48px !important;
    }
    .jan-primary-menu #navigationPrimary > li {
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        height: 48px !important;
    }
    .jan-primary-menu #navigationPrimary > li > a.nav-link {
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1 !important; 
        border: none !important;
        display: flex !important;
        align-items: center !important;
        height: 100% !important; 
    }
}

@media (max-width: 991px) {
    .jan-primary-menu #navigationPrimary > li {
        display: block !important; 
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #f0f0f0 !important;
    }
    .jan-primary-menu #navigationPrimary > li > a.nav-link,
    .jan-primary-menu #navigationPrimary > li > a.dropdown-toggle {
        display: flex !important;
        align-items: center !important;
        padding: 0 15px !important;
        margin: 0 !important;
        line-height: 1 !important;
        min-height: 48px !important;
        width: 100% !important;
        border: none !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   13. MOBILE HAMBURGER BUTTON CENTERING
   ========================================================================== */
@media (max-width: 991px) {
    .journal-action-nav .jan-container { 
        padding: 0 15px !important; 
        min-height: 48px !important;
        justify-content: center !important;
    }

    .elsevier-style-header .mobile-menu-toggle { 
        display: inline-flex !important; 
        align-items: center !important; 
        justify-content: center !important; 
        gap: 8px !important; 
        padding: 0 12px !important;
        height: 36px !important;
        line-height: 1 !important;
        margin: auto 0 !important;
    }
}

/* ==========================================================================
   14. VIEW ALL ISSUES BUTTON SPACING
   ========================================================================== */
a.read_more.btn.btn-secondary {
    display: inline-block !important;
    margin-top: 40px !important;
    margin-bottom: 20px !important;
}

/* ==========================================================================
   15. JOURNAL SUMMARY CARD ACCENTS
   ========================================================================== */
main.page_index_journal div.col-md-8 > section.journal_summary {
    background-color: #edf7fc !important;
    border: 1px solid #e2e8f0 !important;
    border-top: 4px solid #1e293b !important; 
    border-radius: 6px !important;
    padding: 24px !important;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05) !important;
    margin-top: 0 !important;
    flex-grow: 1 !important;
    display: block !important;
}

/* ==========================================================================
   16. MOBILE MENU HAMBURGER & "CLOSE" UX OVERRIDE (PURE CSS BARS -> X)
   ========================================================================== */
/* 1. Completely hide Classic theme's native hamburger buttons & non-standard children */
html body header.elsevier-style-header #show-modal,
html body header.elsevier-style-header #close-small-modal,
html body header.elsevier-style-header .navbar-toggler,
html body header.elsevier-style-header .jan-primary-menu > button,
html body header.elsevier-style-header #primary-nav-wraper > button,
html body header.elsevier-style-header #primaryMobileNav > button,
html body header.elsevier-style-header .jan-primary-menu ion-icon,
html body header.elsevier-style-header button.mobile-menu-toggle > :not(.menu-icon-bars):not(.menu-text) {
    display: none !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}

/* 2. Ensure button & container have zero extra left offset on mobile, and HIDE on desktop */
@media (min-width: 992px) {
    html body header.elsevier-style-header button.mobile-menu-toggle,
    html body header.elsevier-style-header button.mobile-menu-toggle.collapsed,
    html body header.elsevier-style-header .journal-action-nav .jan-mobile-top {
        display: none !important;
    }
}

@media (max-width: 991px) {
    html body header.elsevier-style-header .journal-action-nav .jan-mobile-top {
        justify-content: space-between !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
    }

    html body header.elsevier-style-header button.mobile-menu-toggle,
    html body header.elsevier-style-header button.mobile-menu-toggle.collapsed,
    html body header.elsevier-style-header button.mobile-menu-toggle:hover,
    html body header.elsevier-style-header button.mobile-menu-toggle:focus {
        background-image: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;
        padding: 0 10px !important;
        margin-left: 0 !important;
        text-indent: 0 !important;
    }
}

/* 3. Strip all legacy pseudo-elements, SVGs, or FontAwesome icons inside the button */
html body header.elsevier-style-header button.mobile-menu-toggle::before,
html body header.elsevier-style-header button.mobile-menu-toggle::after,
html body header.elsevier-style-header button.mobile-menu-toggle.collapsed::before,
html body header.elsevier-style-header button.mobile-menu-toggle.collapsed::after,
html body header.elsevier-style-header button.mobile-menu-toggle .menu-text::before,
html body header.elsevier-style-header button.mobile-menu-toggle .menu-text::after,
html body header.elsevier-style-header button.mobile-menu-toggle[aria-expanded="true"] .menu-text::after,
html body header.elsevier-style-header button.mobile-menu-toggle .fa-bars,
html body header.elsevier-style-header button.mobile-menu-toggle .fa,
html body header.elsevier-style-header button.mobile-menu-toggle svg,
html body header.elsevier-style-header button.mobile-menu-toggle i,
html body header.elsevier-style-header button.mobile-menu-toggle ion-icon {
    display: none !important;
    content: none !important;
    background: none !important;
    background-image: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* 4. Single <span class="menu-icon-bars"> that morphs from 3 bars into an X */
html body header.elsevier-style-header button.mobile-menu-toggle .menu-icon-bars {
    position: relative !important;
    display: inline-block !important;
    width: 16px !important;
    height: 2px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    background-color: currentColor !important;
    border-radius: 2px !important;
    vertical-align: middle !important;
    flex-shrink: 0 !important;
    transition: background-color 0.15s ease !important;
}

html body header.elsevier-style-header button.mobile-menu-toggle .menu-icon-bars::before,
html body header.elsevier-style-header button.mobile-menu-toggle .menu-icon-bars::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    width: 16px !important;
    height: 2px !important;
    background: none !important;
    background-color: currentColor !important;
    border-radius: 2px !important;
    transition: transform 0.2s ease, top 0.2s ease !important;
}

html body header.elsevier-style-header button.mobile-menu-toggle .menu-icon-bars::before {
    top: -5px !important;
}

html body header.elsevier-style-header button.mobile-menu-toggle .menu-icon-bars::after {
    top: 5px !important;
}

/* 5. When menu is expanded: Morph the 3 bars into a single crisp X */
html body header.elsevier-style-header button.mobile-menu-toggle[aria-expanded="true"] .menu-icon-bars {
    background-color: transparent !important;
}

html body header.elsevier-style-header button.mobile-menu-toggle[aria-expanded="true"] .menu-icon-bars::before {
    top: 0 !important;
    transform: rotate(45deg) !important;
}

html body header.elsevier-style-header button.mobile-menu-toggle[aria-expanded="true"] .menu-icon-bars::after {
    top: 0 !important;
    transform: rotate(-45deg) !important;
}

html body header.elsevier-style-header button.mobile-menu-toggle .menu-text,
html body header.elsevier-style-header .global-utility-bar .gh-right .mobile-menu-toggle .menu-text {
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-block !important;
}

/* ==========================================================================
   17. GLOBAL IMAGE & ICON LINK HOVER BACKGROUND REMOVAL
   ========================================================================== */
a:has(img),
a:has(svg),
a:has(ion-icon),
a:has(.fa),
a:has([class*="fa-"]),
a:has(i[class]),
a.orcid-link,
a.ror-link,
a.orcid-image-url,
a.ror-image-url,
.share-options a,
.article_cover_wrapper a,
.issue_cover_block a,
.index-site-journal-thumb a,
.pkpbrand-wrapper a,
.gh-network-brand,
.btn-icon {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    text-decoration: none !important;
}

a:has(img):hover,
a:has(img):focus,
a:has(img):active,
a:has(svg):hover,
a:has(svg):focus,
a:has(svg):active,
a:has(ion-icon):hover,
a:has(ion-icon):focus,
a:has(.fa):hover,
a:has(.fa):focus,
a:has([class*="fa-"]):hover,
a:has([class*="fa-"]):focus,
a:has(i[class]):hover,
a:has(i[class]):focus,
a.orcid-link:hover,
a.orcid-link:focus,
a.ror-link:hover,
a.ror-link:focus,
a.orcid-image-url:hover,
a.ror-image-url:hover,
.share-options a:hover,
.share-options a:focus,
.article_cover_wrapper a:hover,
.issue_cover_block a:hover,
.index-site-journal-thumb a:hover,
.pkpbrand-wrapper a:hover,
.gh-network-brand:hover,
.btn-icon:hover {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom: none !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    text-decoration: none !important;
    outline: none !important;
}

/* ==========================================================================
   18. INLINE ACTION BUTTONS NEXT TO HAMBURGER MENU ON MOBILE (<= 991px)
   ========================================================================== */
@media (max-width: 991px) {
    .journal-action-nav .jan-mobile-top {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        min-height: 48px !important;
        height: auto !important;
        margin: 0 !important;
        padding: 6px 0 !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
    }

    .journal-action-nav .jan-mobile-top .jh-action-buttons {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 6px !important;
        margin: 0 !important;
        padding: 0 !important;
        width: auto !important;
        flex-wrap: nowrap !important;
    }

    .journal-action-nav .jan-mobile-top .btn-cta {
        height: 36px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        line-height: 1 !important;
        border-radius: 4px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: nowrap !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    .journal-action-nav .jan-mobile-top .btn-submit {
        background-color: #0b223c !important;
        color: #ffffff !important;
        border: 1.5px solid #0b223c !important;
        box-shadow: none !important;
    }
    .journal-action-nav .jan-mobile-top .btn-submit:hover,
    .journal-action-nav .jan-mobile-top .btn-submit:focus {
        background-color: #1e3a5f !important;
        border-color: #1e3a5f !important;
        color: #ffffff !important;
    }

    .journal-action-nav .jan-mobile-top .btn-guide {
        background-color: #f8f9fa !important;
        color: #0b223c !important;
        border: 1px solid #cbd5e1 !important;
    }
    .journal-action-nav .jan-mobile-top .btn-guide:hover,
    .journal-action-nav .jan-mobile-top .btn-guide:focus {
        background-color: #e2e8f0 !important;
        color: #0b223c !important;
    }

    .journal-action-nav .jan-mobile-top .btn-cta .fa-external-link {
        display: none !important;
    }
}

/* ==========================================================================
   19. COMPACT NAVY HEADER FOR ALL SUBPAGES (.is-article-banner) & MOBILE FIX
   ========================================================================== */
/* 1. Compact Navy Publication Strip on all pages except IndexSite/IndexJournal */
body header.elsevier-style-header .journal-hero-banner.is-article-banner {
    background-color: #0b223c !important;
    color: #ffffff !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #1e293b !important;
}

@media (min-width: 992px) {
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-container {
        gap: 18px !important;
        align-items: center !important;
    }

    body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-info {
        align-items: center !important;
    }
}

/* 2. Shrink cover image to a sleek ScienceDirect 56px thumbnail on Desktop */
body header.elsevier-style-header .journal-hero-banner.is-article-banner .cover-image {
    max-width: 56px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
    border: 1.5px solid #ffffff !important;
}

/* 3. Scale down Journal Title in crisp white so Page/Article H1 remains dominant */
body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-title-link {
    font-size: 1.5rem !important;
    color: #ffffff !important;
    line-height: 1.2 !important;
}
body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-title-link:hover,
body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-title-link:focus {
    color: #facc15 !important;
    text-decoration: none !important;
}

/* 4. Compact Volume/Issue or Open Access line under Journal Title */
.sd-publication-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    font-family: "Cardo", Georgia, serif;
    font-size: 0.9rem;
    color: #cbd5e1;
}
.sd-publication-meta .sd-issue-link {
    color: #93c5fd !important;
    font-weight: 500;
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
}
.sd-publication-meta .sd-issue-link:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}
.sd-publication-meta .sd-oa-sublabel {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #cbd5e1;
    opacity: 0.9;
}

/* 5. Balance the Top-Right Space on Desktop Subpages (ISSN + Sleek Action Pills) */
body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-info-right {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 20px !important;
}

/* Style ISSN / Metrics in crisp white for the compact navy header */
body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-metrics-line .metric .metric-button .val {
    font-size: 15px !important;
    color: #ffffff !important;
    font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 700 !important;
}
body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-metrics-line .metric .metric-button .lbl {
    font-size: 11px !important;
    color: #cbd5e1 !important;
    opacity: 0.85 !important;
    margin-top: 2px !important;
}

/* Subtle translucent vertical divider & Gold/White Action Buttons on Desktop */
@media (min-width: 992px) {
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .sd-article-header-actions {
        margin: 0 !important;
        padding-left: 20px !important;
        border-left: 1px solid rgba(255, 255, 255, 0.2) !important;
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .sd-article-header-actions .btn-submit {
        background-color: #facc15 !important;
        color: #0b223c !important;
        border: 1.5px solid #facc15 !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
    }
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .sd-article-header-actions .btn-submit:hover,
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .sd-article-header-actions .btn-submit:focus {
        background-color: #fde047 !important;
        border-color: #fde047 !important;
        color: #0b223c !important;
    }
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .sd-article-header-actions .btn-guide {
        background-color: rgba(255, 255, 255, 0.10) !important;
        color: #ffffff !important;
        border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
    }
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .sd-article-header-actions .btn-guide:hover,
    body header.elsevier-style-header .journal-hero-banner.is-article-banner .sd-article-header-actions .btn-guide:focus {
        background-color: rgba(255, 255, 255, 0.22) !important;
        border-color: #ffffff !important;
        color: #ffffff !important;
    }
}

/* 6. Mobile & Tablet (<= 991px): Kill Phantom Logo Space, Lock Title Flush-Left & ISSN Flush-Right */
@media (max-width: 991px) {
    html body header.elsevier-style-header .journal-hero-banner,
    html body header.elsevier-style-header .journal-hero-banner.is-article-banner {
        padding: 16px 0 !important;
    }

    /* Collapse .jh-cover completely so it never indents or leaves the title hanging */
    html body header.elsevier-style-header .journal-hero-banner .jh-cover,
    html body header.elsevier-style-header .journal-hero-banner .cover-image {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 0px !important;
        border: none !important;
        overflow: hidden !important;
        position: absolute !important;
    }

    /* Make .jh-container a zero-gap block wrapper with 15px side padding matching the Menu bar */
    html body header.elsevier-style-header .journal-hero-banner .jh-container,
    html body header.elsevier-style-header .journal-hero-banner .container-fluid.jh-container {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        margin: 0 !important;
        gap: 0 !important;
        box-sizing: border-box !important;
        text-align: left !important;
    }

    /* Force .jh-info to span 100% width with Title on Left and ISSN on Right */
    html body header.elsevier-style-header .journal-hero-banner .jh-info {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 12px !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-info-left {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: center !important;
        text-align: left !important;
        flex: 1 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-title,
    html body header.elsevier-style-header .journal-hero-banner .jh-title-link {
        display: block !important;
        width: 100% !important;
        text-align: left !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-title-link {
        font-size: 1.6rem !important;
    }

    html body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-title-link {
        font-size: 1.35rem !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-badges,
    html body header.elsevier-style-header .journal-hero-banner .sd-publication-meta {
        display: flex !important;
        justify-content: flex-start !important;
        align-items: center !important;
        text-align: left !important;
        margin: 4px 0 0 0 !important;
        padding: 0 !important;
        width: 100% !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-info-right,
    html body header.elsevier-style-header .journal-hero-banner.is-article-banner .jh-info-right {
        display: flex !important;
        flex-direction: column !important;
        flex: 0 0 auto !important;
        width: auto !important;
        align-items: flex-end !important;
        justify-content: center !important;
        text-align: right !important;
        margin: 0 0 0 auto !important;
        padding: 0 !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-metrics-line {
        display: flex !important;
        flex-direction: row !important;
        justify-content: flex-end !important;
        align-items: center !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        gap: 12px !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-metrics-line .metric {
        align-items: flex-end !important;
        text-align: right !important;
        margin: 0 !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-metrics-line .metric .metric-button {
        text-align: right !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-metrics-line .metric .metric-button .val {
        font-size: 15px !important;
        text-align: right !important;
    }

    html body header.elsevier-style-header .journal-hero-banner .jh-metrics-line .metric .metric-button .lbl {
        font-size: 11px !important;
        text-align: right !important;
    }
}

/* 7. ScienceDirect-style "Review article | Open access" labels right above Article H1 */
.sd-content-meta-labels {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    font-family: "Cardo", Georgia, serif;
}
.sd-content-meta-labels .article_section_title {
    padding-bottom: 0 !important;
    font-size: 0.85rem !important;
    font-weight: 600;
    color: #475569;
    text-transform: none !important;
}
.sd-content-meta-labels .sd-access-label {
    font-size: 0.82rem;
    font-weight: 600;
    color: #b45309;
    background-color: #fef3c7;
    padding: 2px 8px;
    border-radius: 3px;
}

/* ==========================================================================
   20. COMBINED TOP & PRIMARY NAVIGATION ON INDEXSITE (.is-site-header)
   ========================================================================== */
body header.elsevier-style-header.is-site-header .global-utility-bar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
}

@media (min-width: 992px) {
    body header.elsevier-style-header.is-site-header .global-utility-bar {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        min-height: 64px !important;
        padding: 0 30px !important;
        gap: 32px !important;
    }
    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-left {
        order: 1 !important;
        flex: 0 0 auto !important;
    }
    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-site-primary-menu {
        order: 2 !important;
        flex: 1 1 auto !important;
        display: flex !important;
        align-items: center !important;
        margin: 0 !important;
    }
    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-right {
        order: 3 !important;
        flex: 0 0 auto !important;
    }
    body header.elsevier-style-header.is-site-header .gh-site-mobile-toggle {
        display: none !important;
    }
}

@media (max-width: 991px) {
    body header.elsevier-style-header .global-utility-bar {
        padding: 8px 12px !important;
        height: auto !important;
        min-height: 52px !important;
    }

    /* Allow logo container to sit cleanly on the left without forcing a wrap */
    body header.elsevier-style-header.is-site-header .global-utility-bar {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 6px !important;
        height: auto !important;
    }

    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-left {
        order: 1 !important;
        flex: 0 1 auto !important;
        min-width: 0 !important;
    }

    body header.elsevier-style-header .global-utility-bar .gh-network-logo {
        max-height: 32px !important;
        width: auto !important;
        max-width: 140px !important;
        object-fit: contain !important;
    }

    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-right {
        order: 2 !important;
        flex: 0 0 auto !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 4px !important;
        margin-left: auto !important;
    }

    body header.elsevier-style-header .global-utility-bar #navigationUser {
        gap: 2px !important;
        flex-wrap: nowrap !important;
    }

    body header.elsevier-style-header .global-utility-bar #navigationUser > li + li {
        margin-left: 0 !important;
    }

    /* Hide "Search" text label on mobile/tablet so only the magnifying glass icon shows */
    body header.elsevier-style-header .global-utility-bar .gh-search-label {
        display: none !important;
    }

    /* Compact touch-friendly sizing for Search, Register/Login, and Menu */
    body header.elsevier-style-header .global-utility-bar .gh-right .btn-icon,
    body header.elsevier-style-header .global-utility-bar .gh-right #navigationUser > li > a,
    body header.elsevier-style-header .global-utility-bar .gh-right #navigationUser > li > a.nav-link {
        padding: 0 6px !important;
        height: 34px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        display: inline-flex !important;
        align-items: center !important;
        white-space: nowrap !important;
    }

    body header.elsevier-style-header .global-utility-bar .gh-right .mobile-menu-toggle {
        height: 34px !important;
        padding: 0 9px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        gap: 6px !important;
    }

    /* Row 2: Collapsible Primary Menu stays 100% width below the top bar when opened */
    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-site-primary-menu {
        order: 3 !important;
        position: static !important;
        width: 100% !important;
        flex: 0 0 100% !important;
        margin: 0 !important;
        height: auto !important;
        background-color: #ffffff !important;
    }

    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-site-primary-menu #primaryMobileNav.show,
    body header.elsevier-style-header.is-site-header .global-utility-bar .gh-site-primary-menu #primaryMobileNav.in {
        position: static !important;
        display: block !important;
        width: 100% !important;
        margin-top: 8px !important;
        border-top: 1px solid #e2e8f0 !important;
        background-color: #ffffff !important;
    }
}

/* Extra-compact mode for narrow phones (<= 575px): Icon-only Hamburger & slightly smaller logo */
@media (max-width: 575px) {
    body header.elsevier-style-header .global-utility-bar .gh-network-logo {
        max-height: 28px !important;
        max-width: 115px !important;
    }

    /* Hide the word "Menu" on narrow phones so the 3-bars/X icon is a sleek square button */
    html body header.elsevier-style-header .global-utility-bar .gh-right button.mobile-menu-toggle .menu-text {
        display: none !important;
    }

    html body header.elsevier-style-header .global-utility-bar .gh-right button.mobile-menu-toggle {
        padding: 0 8px !important;
        justify-content: center !important;
    }
}

/* ==========================================================================
   21. AUTO LEFT TABLE OF CONTENTS (TOC) FOR STATIC & JOURNAL CONTENT PAGES
   ========================================================================== */
.static-page-layout.has-toc {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 48px;
    align-items: start;
    width: 100%;
    margin-top: 10px;
}

/* Sticky Left ToC Box */
.static-page-toc-sidebar {
    position: sticky;
    top: 28px;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    border-left: 4px solid #0b223c;
    border-radius: 6px;
    padding: 20px 18px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}

.static-toc-title {
    font-family: "Cardo", Georgia, serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #0b223c;
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e2e8f0;
}

.static-toc-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.static-toc-item {
    margin: 0 0 6px 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

/* Indent H3 subheadings inside the ToC */
.static-toc-item.toc-h3 {
    padding-left: 14px !important;
}

.static-toc-link {
    display: block;
    font-family: "Cardo", Georgia, serif;
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.4;
    color: #475569 !important;
    text-decoration: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    padding: 6px 8px;
    border-radius: 4px;
    transition: all 0.15s ease;
}

.static-toc-item.toc-h3 .static-toc-link {
    font-size: 12.5px;
}

.static-toc-link:hover,
.static-toc-link:focus,
.static-toc-link.is-active {
    background-color: #e2e8f0 !important;
    color: #0b223c !important;
    font-weight: 600;
    text-decoration: none !important;
}

/* Right Main Content Column Typography & Heading Spacing */
.static-page-main {
    min-width: 0;
    font-family: "Cardo", Georgia, serif;
    font-size: 18px;
    line-height: 1.65;
    color: #2e3644;
}

.static-page-main h1,
.static-page-main .page_title {
    font-family: "Cardo", Georgia, serif !important;
    font-size: 36px !important;
    font-weight: 700 !important;
    color: #0b223c !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

.static-page-main h2,
.static-page-main h3 {
    font-family: "Cardo", Georgia, serif !important;
    font-weight: 700 !important;
    color: #0b223c !important;
    scroll-margin-top: 28px;
}

.static-page-main h2 {
    font-size: 24px !important;
    margin-top: 36px !important;
    margin-bottom: 14px !important;
    padding-bottom: 6px;
    border-bottom: 1px solid #e2e8f0;
}

.static-page-main h3 {
    font-size: 20px !important;
    margin-top: 26px !important;
    margin-bottom: 10px !important;
}

/* Responsive: Stack ToC cleanly at the top on Tablet & Mobile (<= 991px) */
@media (max-width: 991px) {
    .static-page-layout.has-toc {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .static-page-toc-sidebar {
        position: static;
        width: 100%;
        box-sizing: border-box;
    }

    .static-page-main h1,
    .static-page-main .page_title {
        font-size: 28px !important;
    }
}