/* ==========================================
   1. IMPORT FONTS (MUST BE AT VERY TOP)
   ========================================== */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400;1,700&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap'); 

/* ==========================================
   2. GLOBAL TYPOGRAPHY 
   ========================================== */
/* UI Elements & Body Text (Lato - Sans Serif) */
body,
.pkp_structure_page,
.pkp_navigation_primary a,
.pkp_navigation_user a,
.pkp_structure_sidebar,
.cmp_breadcrumbs,
.btn,
button,
.obj_article_details .entry_details {
    font-family: 'Lato', sans-serif !important;
}

/* All Headings (Merriweather - Serif) */
h1, h2, h3, h4, h5, h6,
.page_title,
.title,
.editorial-section-title {
    font-family: 'Merriweather', serif !important;
}

/* ==========================================
   3. ACADEMIC TEXT (MERRIWEATHER - SERIF)
   ========================================== */
.obj_article_details .abstract,
.obj_article_details .abstract p,
.obj_article_details .main_entry .item.authors,
.obj_article_details .item.keywords .value,
.obj_article_details .item.references .value,
.obj_article_details .item.references p,
.obj_article_details .item.references li {
    font-family: 'Merriweather', serif !important;
    font-size: 1.05rem !important; 
    line-height: 1.8 !important; 
    color: #222222 !important; 
}

/* Ensure subheadings inside the article text are Merriweather */
.obj_article_details .main_entry h2,
.obj_article_details .main_entry h3 {
    font-family: 'Merriweather', serif !important;
}

/* ==========================================
   ARTICLE PAGE STYLES (Desktop)
   ========================================== */
@media screen and (min-width: 992px) {
    body.pkp_page_article .pkp_structure_content.has_sidebar {
        display: flex !important;
        flex-direction: column !important;
        background: none !important;
        border-left: 1px solid #e0e0e0 !important;
        border-right: 1px solid #e0e0e0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important; 
    }

    body.pkp_page_article .pkp_structure_page::before,
    body.pkp_page_article .pkp_structure_page::after,
    body.pkp_page_article .pkp_structure_content::before,
    body.pkp_page_article .pkp_structure_content::after,
    body.pkp_page_article .pkp_structure_main::before,
    body.pkp_page_article .pkp_structure_main::after,
    body.pkp_page_article .page::before,
    body.pkp_page_article .page::after {
        display: none !important;
        content: none !important;
    }

    body.pkp_page_article .pkp_structure_main {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        border-bottom: 1px solid #e0e0e0 !important; 
    }

    body.pkp_page_article .page {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.pkp_page_article .page_title {
        margin-bottom: 20px !important; 
        padding-left: 30px !important;
        padding-right: 20px !important;
    }
    
    body.pkp_page_article .cmp_breadcrumbs {
        padding-left: 30px !important;
        padding-right: 20px !important;
    }

    body.pkp_page_article .obj_article_details .row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        border: none !important;
    }

    body.pkp_page_article .obj_article_details .main_entry {
        flex: 0 0 65% !important;
        max-width: 65% !important;
        padding: 0 !important; 
        margin: 0 !important;
        border-right: 1px solid #e0e0e0 !important;
        border-left: none !important;
        border-top: 1px solid #e0e0e0 !important;
        border-bottom: none !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    body.pkp_page_article .obj_article_details .main_entry .item {
        padding-left: 30px !important;
        margin-left: 0 !important;
    }

    body.pkp_page_article .obj_article_details .entry_details {
        flex: 1 !important;
        max-width: 35% !important;
        padding: 0 !important; 
        margin: 0 !important;
        border: none !important;
        border-top: 1px solid #e0e0e0 !important;
        box-sizing: border-box !important;
        float: none !important;
    }

    body.pkp_page_article .obj_article_details .entry_details .item {
        padding-right: 30px !important;
        padding-left: 30px !important;
        padding-top: 30px !important;
        margin-right: 0px !important;
    }

    body.pkp_page_article .pkp_structure_sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-top: 0px !important;
        float: none !important;
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
        gap: 30px !important;
        border: none !important;
        border-top: 0px solid #e0e0e0 !important;
        padding: 30px !important; 
        box-sizing: border-box !important;
    }

    body.pkp_page_article .pkp_structure_sidebar .pkp_block {
        margin-bottom: 0 !important;
        border: 0px solid #eaeaea !important;
        padding: 0px !important;
        border-radius: 4px !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================
   MOBILE & TABLET STYLES (Under 992px)
   ========================================== */
@media screen and (max-width: 991px) {
    body.pkp_page_article .obj_article_details .entry_details {
        padding-left: 30px !important;
        padding-right: 30px !important;
        box-sizing: border-box !important;
    }
    
    body.pkp_page_article .obj_article_details .entry_details .item {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.pkp_page_article .obj_article_details .main_entry {
        border-top: 1px solid #e0e0e0 !important;
        padding-top: 0px !important; 
        margin-top: 0px !important; 
    }
}

/* =========================================================
   CUSTOM HOMEPAGE & METRICS STYLES
   ========================================================= */
.pkp_structure_main .page_index_journal .homepage_about,
.pkp_structure_main .page_index_journal .homepage_about p:last-child {
    margin-bottom: 0 !important; 
    padding-bottom: 0 !important;
}

.metrics_wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.5rem;
    align-items: start;
}

@media (min-width: 768px) {
    .metrics_wrapper {
        grid-template-columns: repeat(4, 1fr);
    }
}

.metric_number {
    font-size: 1.6rem;
    font-weight: 700;
    color: #0056b3;
    line-height: 1.2;
}

.metric_tooltip {
    position: relative;
    display: inline-block;
    cursor: pointer;
    margin-left: 4px;
    vertical-align: super;
    outline: none;
}

.metric_tooltip .info_icon {
    display: inline-block;
    width: 14px; 
    height: 14px;
    border-radius: 50%;
    background-color: #0056b3;
    color: #ffffff;
    text-align: center;
    font-size: 10px;
    line-height: 14px;
    font-weight: bold;
    font-style: italic;
    font-family: serif;
}

.metric_tooltip .tooltip_text {
    visibility: hidden;
    width: 220px;
    background-color: #333;
    color: #fff;
    text-align: left;
    border-radius: 6px;
    padding: 10px 14px;
    position: absolute;
    z-index: 100;
    bottom: 150%;
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    font-size: 0.85rem;
    line-height: 1.4;
    font-weight: normal;
    box-shadow: 0px 4px 8px rgba(0,0,0,0.2);
    pointer-events: none;
}

.metric_tooltip .tooltip_text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    border-width: 6px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}

@media (max-width: 767px) {
    .metric_item:nth-child(even) .metric_tooltip .tooltip_text {
        left: auto;
        right: -20px;
        transform: none;
    }
    .metric_item:nth-child(even) .metric_tooltip .tooltip_text::after {
        left: auto;
        right: 24px;
    }
}

.metric_tooltip:hover .tooltip_text,
.metric_tooltip:focus .tooltip_text {
    visibility: visible;
    opacity: 1;
}

/* =========================================================
   HIGHLIGHTS & RECENT ARTICLES
   ========================================================= */
.page_index_journal > .highlights {
    margin: 3rem 0 !important; 
    border-radius: 8px; 
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); 
}

.page_index_journal > .highlights .swiper-slide-image {
    object-fit: cover !important; 
    height: 100%;
    width: 100%;
}

@media (min-width: 992px) {
    .page_index_journal > .highlights .swiper-slide {
        min-height: 300px;
        max-height: 400px; 
    }
}

.pkp_structure_main .recent_articles .obj_article_summary .pages {
    display: none !important;
}

.pkp_structure_main .recent_articles .cmp_article_list .obj_article_summary {
    margin-bottom: 3rem !important; 
    padding-bottom: 1.5rem !important;
    border-bottom: 1px solid #eaeaea !important; 
}

.pkp_structure_main .recent_articles .cmp_article_list .obj_article_summary:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

.pkp_structure_main .recent_articles .obj_article_summary .obj_galley_link {
    padding: 0.3rem 0.8rem !important; 
    font-size: 0.8rem !important; 
    line-height: 1.5 !important; 
    font-weight: normal !important;
    min-height: auto !important; 
    display: inline-block !important;
    border-radius: 4px !important; 
}

.page_index_journal {
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
}

.page_index_journal .recent_articles .obj_article_summary .title {
    font-size: 1.1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 0.5rem !important;
}

.page_index_journal .recent_articles .obj_article_summary .authors {
    font-size: 1rem !important;
    line-height: 1.7 !important;
}

.page_index_journal > h2 {
    font-size: 1.1rem !important;
    margin-bottom: 1.5rem !important;
}

/* ==========================================
   EDITORIAL TEAM PAGE LAYOUT
   ========================================== */
@media screen and (min-width: 992px) {
    body.pkp_page_editorial-team .pkp_structure_content.has_sidebar {
        display: flex !important;
        flex-direction: column !important;
        background: none !important;
        border-left: 1px solid #e0e0e0 !important;
        border-right: 1px solid #e0e0e0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important; 
    }

    body.pkp_page_editorial-team .pkp_structure_page::before,
    body.pkp_page_editorial-team .pkp_structure_page::after,
    body.pkp_page_editorial-team .pkp_structure_content::before,
    body.pkp_page_editorial-team .pkp_structure_content::after,
    body.pkp_page_editorial-team .pkp_structure_main::before,
    body.pkp_page_editorial-team .pkp_structure_main::after,
    body.pkp_page_editorial-team .page::before,
    body.pkp_page_editorial-team .page::after {
        display: none !important;
        content: none !important;
    }

    body.pkp_page_editorial-team .pkp_structure_main {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.pkp_page_editorial-team .page {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.pkp_page_editorial-team .page_title {
        margin-bottom: 20px !important; 
        padding-left: 30px !important;
        padding-right: 20px !important;
    }
    
    body.pkp_page_editorial-team .cmp_breadcrumbs {
        padding-left: 30px !important;
        padding-right: 20px !important;
    }

    body.pkp_page_editorial-team .pkp_structure_sidebar {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-top: 40px !important;
        float: none !important;
        display: grid !important;
        grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
        gap: 30px !important;
        border: none !important;
        border-top: 1px solid #e0e0e0 !important;
        padding: 40px 30px 30px 30px !important; 
        box-sizing: border-box !important;
    }

    body.pkp_page_editorial-team .pkp_structure_sidebar .pkp_block {
        margin-bottom: 0 !important;
        border: 1px solid #eaeaea !important;
        padding: 20px !important;
        background: #fafafa !important;
        border-radius: 4px !important;
        box-sizing: border-box !important;
    }
}

.editorial-team-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin-top: 30px !important;
    margin-bottom: 50px !important;
}

@media screen and (min-width: 992px) {
    .editorial-team-grid {
        padding-left: 30px !important;
        padding-right: 20px !important;
    }
}

@media screen and (max-width: 991px) {
    .editorial-team-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

.editor-profile {
    background: #ffffff !important;
    border: 1px solid #eaeaea !important;
    padding: 20px !important;
    text-align: center !important;
    border-radius: 6px !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02) !important;
}

.editor-profile img.photo {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    margin: 0 auto 15px auto !important;
    display: block !important;
}

.editor-profile h3 {
    font-size: 1.1em !important;
    margin: 0 0 5px 0 !important;
    color: #33 !important;
    line-height: 1.3 !important;
}

.editor-profile .role {
    font-weight: bold !important;
    color: #0056b3 !important;
    font-size: 0.85em !important;
    margin: 0 0 10px 0 !important;
    text-transform: uppercase !important;
}

.editor-profile .affiliation {
    font-size: 0.85em !important;
    color: #555 !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.4 !important;
}

.editor-profile .expertise {
    font-size: 0.8rem !important;
    color: #666 !important;
    border-top: 1px solid #eee !important;
    padding-top: 15px !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

.editor-profile .social {
    margin-top: auto !important; 
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
}

.editor-profile .social a {
    display: inline-block !important;
}

.editor-profile .social img {
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}

@media screen and (max-width: 767px) {
    .editorial-team-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
    }
    .editor-profile {
        padding: 15px 10px !important;
    }
    .editor-profile img.photo {
        width: 70px !important;
        height: 70px !important;
        margin-bottom: 10px !important;
    }
    .editor-profile h3 {
        font-size: 0.95em !important;
    }
    .editor-profile .role,
    .editor-profile .affiliation,
    .editor-profile .expertise {
        font-size: 0.75em !important;
    }
}

body.pkp_page_editorial-team .editorial-section-title {
    font-size: 1.5rem !important;
    color: #333 !important;
    border-bottom: 2px solid #eaeaea !important;
    padding-bottom: 10px !important;
    margin: 40px 20px 20px 30px !important; 
}

@media screen and (max-width: 991px) {
    body.pkp_page_editorial-team .editorial-section-title {
        margin: 30px 15px 15px 15px !important; 
    }
}

/* ==========================================
   AUTHOR & AFFILIATION STYLES (CLEANED)
   ========================================== */
.obj_article_details .item.authors {
    margin-bottom: 10px !important; /* CHANGED: Reduced from 30px */
    border-bottom: none !important;
    padding-bottom: 0px !important; /* CHANGED: Reduced from 20px */
}

.obj_article_details .authors-inline .author-group {
    white-space: nowrap !important;
}

.obj_article_details .authors-inline .name {
    font-size: 1rem !important; 
    color: inherit !important; 
    font-weight: 700 !important;
    display: inline !important;
    font-family: 'Merriweather', serif !important; 
}

.obj_article_details .authors-inline .author-superscript {
    color: #4b4b4b !important;
    font-size: 0.75rem !important;
    margin-left: 2px !important;
}

.obj_article_details .authors-inline .author-separator {
    color: #4b4b4b !important;
    margin-right: 4px !important;
}

.obj_article_details .authors-inline .orcid-link {
    margin-left: 4px !important;
    text-decoration: none !important;
    display: inline-block !important;
}

.obj_article_details .authors-inline .orcid-icon {
    height: 14px !important;
    vertical-align: baseline !important;
    opacity: 0.8 !important;
}

.obj_article_details .affiliations-block {
    font-size: 0.85rem !important;
    color: #555555 !important;
    line-height: 1.6 !important;
    margin-top: 15px !important;
}

.obj_article_details .affiliation-item {
    margin-bottom: 4px !important;
    display: block !important;
    padding-left: 0.8rem !important;
    text-indent: -0.8rem !important;
}

.obj_article_details .affiliation-item sup {
    margin-right: 2px !important;
    font-weight: bold !important;
}

.obj_article_details .affiliation-item .ror-link {
    margin-left: 6px !important;
    text-decoration: none !important;
    display: inline-block !important;
    vertical-align: middle !important;
    opacity: 0.85 !important;
}

.obj_article_details .corresponding-author {
    font-size: 0.85rem !important;
    color: #555555 !important;
    line-height: 1.6 !important;
    margin-top: 10px !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #eaeaea !important; 
}

.obj_article_details .corresponding-author sup {
    margin-right: 2px !important;
    font-weight: bold !important;
}

.obj_article_details .corresponding-author .corr-email-wrapper {
    margin-left: 8px !important;
}

.obj_article_details .corresponding-author .corr-icon {
    margin-right: 4px !important;
    color: #4b4b4b !important;
}

.obj_article_details .corresponding-author .corr-email-link {
    color: #005ea5 !important;
    text-decoration: none !important;
}

/* ==========================================
   REFERENCES EXPAND BUTTON
   ========================================== */
.reference-hidden {
    display: none !important;
}

.show-all-references-btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #0056b3; 
    color: #ffffff;
    font-size: 0.9rem;
    font-weight: bold;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.show-all-references-btn:hover,
.show-all-references-btn:focus {
    background-color: #004494;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    outline: none;
}

/* ==========================================
   ARTICLE META EXTRAS WRAPPER
   ========================================== */
.obj_article_details .article-meta-extras {
    margin-top: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 25px !important; 
    margin-bottom: 25px !important; 
    border-bottom: 0px solid #e0e0e0 !important; 
}

.obj_article_details .article-history-timeline {
    font-family: 'Merriweather', serif !important;
    font-size: 0.85rem !important;
    color: #555555 !important;
    line-height: 1.5 !important;
    margin-top: 0 !important; 
    padding-top: 5px !important; /* CHANGED: Reduced from 20px */
    border-top: none !important; /* CHANGED: Removes the double line */
}

.obj_article_details .article-citation-block {
    font-family: 'Merriweather', serif !important;
    font-size: 0.85rem !important;
    font-weight: normal !important;
    color: inherit !important;
    margin-top: 15px !important; 
    margin-bottom: 15px !important; 
}

.obj_article_details .article-actions-inline {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 25px !important;
    margin-top: 15px !important;
    font-family: 'Merriweather', serif !important;
    font-size: 0.9rem !important;
    padding-bottom: 20px !important;
    border-bottom: 1px solid #e0e0e0 !important; 
}

.obj_article_details .action-link,
.obj_article_details .share-trigger {
    color: #0056b3 !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    transition: color 0.2s ease !important;
}

.obj_article_details .action-link svg,
.obj_article_details .share-trigger svg {
    display: block !important;
}

.obj_article_details .action-share-wrapper {
    position: relative !important;
}

.obj_article_details .share-options {
    display: flex !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    background: #ffffff !important;
    border: 1px solid #eaeaea !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.08) !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    gap: 15px !important;
    margin-top: 8px !important;
    z-index: 100 !important;
    transition: opacity 0.2s ease, visibility 0.2s ease !important;
}

.obj_article_details .action-share-wrapper:hover .share-options {
    visibility: visible !important;
    opacity: 1 !important;
}

.obj_article_details .share-options a {
    color: #555555 !important;
    font-size: 1.1rem !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.obj_article_details .share-options a:hover {
    color: #0056b3 !important;
}

.obj_article_details .pdf-link {
    background: #0056b3 !important;
    color: #ffffff !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
}

.obj_article_details .pdf-link:hover {
    background: #004494 !important;
    color: #ffffff !important;
}

html {
    scroll-behavior: smooth !important;
}

/* ==========================================
   ARTICLE BADGES (OPEN ACCESS & SECTION)
   ========================================== */
.obj_article_details .article-badges-container {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-bottom: 15px !important;
    padding-bottom: 20px !important;
}

.obj_article_details .open-access-badge,
.obj_article_details .article-section-label {
    display: inline-flex !important;
    align-items: center !important;
    font-family: 'Merriweather', serif !important;
    font-size: 0.85rem !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    padding: 5px 10px !important;
    border-radius: 4px !important;
    text-transform: none;
    letter-spacing: 0.5px !important;
    margin-bottom: 0 !important; 
}

.obj_article_details .open-access-badge {
    background-color: #e67e22 !important; 
}

.obj_article_details .article-section-label {
    background-color: #0056b3 !important; 
}

body.pkp_page_article .article-badges-container {
    margin-left: 0 !important; 
}

@media screen and (min-width: 992px) {
    body.pkp_page_article .article-badges-container {
        margin-left: 30px !important;
    }
}

/* ==========================================
   SIDEBAR & BUTTON OVERRIDES
   ========================================== */
.pkp_block .sidebar-submit-btn {
    display: inline-block !important;
    background-color: #0056b3 !important;
    color: #ffffff !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 0.9rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    padding: 10px 20px !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
    margin-top: 5px !important;
}

.pkp_block .sidebar-submit-btn:hover,
.pkp_block .sidebar-submit-btn:focus {
    background-color: #004494 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
    text-decoration: none !important;
}

.obj_article_details .sidebar-issue-block {
    display: flex !important;
    flex-direction: row !important;
    gap: 15px !important;
    align-items: flex-start !important;
    padding-bottom: 20px !important;
}

.obj_article_details .sidebar-issue-thumbnail {
    flex: 0 0 35% !important;
    max-width: 35% !important;
}

.obj_article_details .sidebar-issue-thumbnail img {
    width: 100% !important;
    height: auto !important;
    border-radius: 4px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}

.obj_article_details .sidebar-issue-details {
    flex: 0 0 65% !important;
    max-width: 65% !important;
    display: flex !important;
    flex-direction: column !important;
}

.obj_article_details .sidebar-issue-desc {
    font-family: 'Lato', sans-serif !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    color: #555555 !important;
    margin-bottom: 12px !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 4 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.obj_article_details .sidebar-explore-btn {
    display: inline-block !important;
    background-color: #0056b3 !important;
    color: #ffffff !important;
    font-family: 'Lato', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-decoration: none !important;
    padding: 8px 12px !important;
    border-radius: 4px !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
    align-self: flex-start !important;
}

.obj_article_details .sidebar-explore-btn:hover,
.obj_article_details .sidebar-explore-btn:focus {
    background-color: #004494 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
    text-decoration: none !important;
}

.pkp_structure_sidebar #articlesBySimilarityList {
    display: none !important;
}

#article-sidebar-similar-articles #articlesBySimilarityList {
    display: block !important;
    margin-top: 30px !important;
    padding-top: 0px !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
    border-top: 1px solid #eaeaea !important; 
    box-sizing: border-box !important;
}

@media screen and (max-width: 991px) {
    #article-sidebar-similar-articles #articlesBySimilarityList {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

#article-sidebar-similar-articles #articlesBySimilarityList ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#article-sidebar-similar-articles #articlesBySimilarityList li {
    margin-bottom: 12px !important;
    padding-bottom: 12px !important;
    border-bottom: 1px dashed #eaeaea !important;
    font-size: 1.0rem !important; 
    line-height: 1.5 !important; 
    color: #333333 !important; 
}

#article-sidebar-similar-articles #articlesBySimilarityList li:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
}

#article-sidebar-similar-articles #articlesBySimilarityList a {
    font-family: 'Lato', sans-serif !important;
    font-size: 1.0rem !important;
    color: #0056b3 !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
    display: inline !important; 
}

#article-sidebar-similar-articles #articlesBySimilarityList a:hover,
#article-sidebar-similar-articles #articlesBySimilarityList a:focus {
    color: #004494 !important;
    text-decoration: underline !important;
}

#article-sidebar-similar-articles #articlesBySimilaritySearch {
    margin-top: 15px !important;
    font-size: 1.0rem !important;
    color: #555555 !important;
    font-style: italic !important;
}

.obj_article_details .main_entry .item.abstract {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.obj_article_details .main_entry .item.keywords {
    margin-bottom: 8px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
}

.obj_article_details .main_entry .item.references {
    margin-top: 20px !important;
    padding-top: 0 !important;
}

/* Bulletproof way to hide the OJS/PKP logo in the footer */
.pkp_brand_footer,
a[href*="aboutThisPublishingSystem"],
img[src*="ojs_brand.png"],
div[role="contentinfo"] div[role="complementary"] {
    display: none !important;
}

/* Style sidebar block titles: normal text and new background */
.pkp_structure_sidebar .pkp_block .title,
.pkp_structure_sidebar .pkp_block h2 {
    text-transform: none !important; 
    background-color: #e2e8f0 !important; 
    color: #004B87 !important; 
    padding: 10px 15px !important;
    margin-bottom: 15px !important;
    border-radius: 4px;
    font-size: 16px !important;
    font-weight: 700 !important;
    border-left: 5px solid #004B87 !important; 
    display: block; 
}

/* PDF Buttons */
.obj_galley_link {
    background-color: #ffffff !important;
    color: #004B87 !important; 
    border: 1px solid #004B87 !important;
    padding: 6px 14px !important;
    margin-top: 20px !important;
    border-radius: 3px !important; 
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: none !important;
}

.obj_galley_link:hover {
    background-color: #004B87 !important;
    color: #ffffff !important;
}

/* =========================================================
   CUSTOM 3-COLUMN FOOTER FOR DEFAULT THEME
   ========================================================= */
.trophos-3-column {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1fr; /* CHANGED: 1st col gets 2 parts, the next three get 1 part each */
    gap: 40px;
    padding: 30px 0;
    text-align: left;
    border-top: 1px solid #dcdcdc;
    margin-top: 10px;
    font-size: 0.95rem;
}

.trophos-footer-col h4 {
    color: #004d80 !important; 
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: 15px;
    border-bottom: none;
}

.trophos-footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.trophos-footer-col li {
    margin-bottom: 10px;
}

/* =======================================================
   SWIPER SLIDER - THUMBNAIL SPANS ALONGSIDE ALL TEXT
   ======================================================= */
.swiper-slide {
    display: grid !important;
    grid-template-columns: 1fr auto !important; 
    gap: 10px 25px !important; 
    padding: 20px 30px !important; 
    box-sizing: border-box !important;
    align-items: start !important; 
}

.swiper-slide .swiper-slide-content {
    display: contents !important; 
}

.swiper-slide .swiper-slide-content .swiper-slide-title,
.swiper-slide .swiper-slide-content .swiper-slide-title a {
    grid-column: 1 !important; 
    grid-row: 1 !important; 
    margin: 0 !important;
    padding-top: 20px !important;
    text-align: left !important;
    font-size: 1.5rem !important; 
    line-height: 1.3 !important;
    color: #004B87 !important; 
}

.swiper-slide .swiper-slide-content .swiper-slide-title a:hover {
    color: #00335e !important; 
}

.swiper-slide > :not(.swiper-slide-content) {
    grid-column: 2 !important; 
    grid-row: 1 / 4 !important; 
    margin-top: 30px !important; 
    display: flex !important;
    justify-content: flex-end !important; 
}

.swiper-slide img {
    width: 150px !important; 
    height: auto !important; 
    object-fit: cover !important; 
    border-radius: 4px;
    margin: 0 !important;
}

.swiper-slide .swiper-slide-content > *:not(.swiper-slide-title):not(a):not(.cmp_button):not(.read-more) {
    grid-column: 1 !important; 
    grid-row: 2 !important;
    margin: 0 !important;
    text-align: left !important;
}

.swiper-slide .swiper-slide-content p {
    margin-bottom: 0 !important;
}

.swiper-slide .swiper-slide-content > a,
.swiper-slide .swiper-slide-content .cmp_button,
.swiper-slide .swiper-slide-content .read-more {
    grid-column: 1 !important; 
    grid-row: 3 !important; 
    justify-self: start !important; 
    width: max-content !important;  
    display: inline-block !important;
    margin-top: 5px !important; 
    margin-bottom: 0 !important; 
}

/* =======================================================
   MOBILE LAYOUT COMBINED (Under 768px)
   ======================================================= */
@media (max-width: 768px) {
    .trophos-3-column {
        grid-template-columns: 1fr;
    }

    /* CURRENT ISSUE MOBILE FIX */
    .current_issue .cover {
        float: left !important;
        width: 110px !important; 
        margin-right: 15px !important; 
        margin-bottom: 10px !important; 
        margin-top: 5px !important;
    }

    .current_issue .cover img {
        width: 100% !important;
        height: auto !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important; 
    }

    .current_issue::after {
        content: "" !important;
        display: table !important;
        clear: both !important;
    }

    /* SWIPER MOBILE FIX */
    .swiper-slide {
        padding: 15px !important; 
        gap: 10px 15px !important; 
    }
    
    .swiper-slide .swiper-slide-content .swiper-slide-title,
    .swiper-slide .swiper-slide-content .swiper-slide-title a {
        font-size: 1.4rem !important; 
        padding-top: 0px !important;
    }
    
    .swiper-slide > :not(.swiper-slide-content) {
        margin-top: 20px !important; 
    }
    
    .swiper-slide img {
        width: 100px !important; 
    }
}

/* ==========================================
   OJS EDITORIAL BOARD RESPONSIVE LAYOUT
   ========================================== */
.editor-directory {
  display: flex;
  flex-direction: column;
  gap: 25px;
  font-family: sans-serif;
}

.editor-card {
  display: flex;
  flex-direction: row;
  gap: 20px;
  padding-bottom: 25px;
  border-bottom: 1px solid #eeeeee;
  align-items: flex-start;
}

.editor-photo {
  flex: 0 0 125px !important;
  width: 125px !important;
  max-width: 125px !important;
}

.editor-directory .editor-photo img {
  width: 125px !important;
  height: 125px !important;
  max-width: 125px !important;
  min-width: 125px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
  margin: 0 !important;
  display: block !important;
}

.editor-info {
  flex: 1 1 auto;
}

.editor-info h3 {
  margin: 0 0 5px 0 !important;
  font-size: 1.15em !important;
  color: #333333 !important;
}

.editor-role {
  margin: 0 0 8px 0 !important;
  font-weight: bold !important;
  font-size: 0.9em !important;
  color: #555555 !important;
}

.editor-affiliation, .editor-expertise {
  margin: 0 0 12px 0 !important;
  color: #666666 !important;
  font-size: 0.85em !important;
  line-height: 1.5 !important;
}

.editor-badges {
  margin: 0 !important;
  font-size: 0.8em !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 15px !important;
}

.editor-badges a {
  text-decoration: none !important;
  color: #000 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.editor-badges img {
  margin-right: 5px !important;
  width: 14px !important;
  height: 14px !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

@media (max-width: 650px) {
  .editor-card {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .editor-badges {
    justify-content: center !important;
  }
}

/* ==========================================
   ISSUES ARCHIVE GRID
   ========================================== */
.obj_issue_summary .description {
    display: none !important;
}

.issues_archive {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 30px;
    padding: 0;
    margin: 0;
    list-style: none;
}

.issues_archive > li {
    margin-bottom: 0 !important;
}

.obj_issue_summary {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    height: 100%; 
}

.obj_issue_summary .cover {
    display: block;
    margin-bottom: 12px;
    width: 100%;
}

.obj_issue_summary .cover img {
    width: 100%;
    height: 280px; 
    object-fit: cover; 
    object-position: top; 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); 
    border-radius: 6px; 
    transition: transform 0.3s ease, box-shadow 0.3s ease; 
}

.obj_issue_summary .cover:hover img {
    transform: translateY(-6px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.obj_issue_summary h2 {
    font-size: 1.1rem;
    margin: 0 0 5px 0;
    line-height: 1.3;
}

.obj_issue_summary .series {
    font-size: 0.9rem;
    color: #666;
    font-weight: 500;
}

/* =========================================================
   ISSUE PAGE (TABLE OF CONTENTS) CLEANUP
   ========================================================= */

/* 1. Reduce the size of the Galley/PDF buttons */
.page_issue .obj_galley_link {
    padding: 5px 12px !important;
    font-size: 0.85rem !important;
    line-height: 1.2 !important;
    border-radius: 3px !important;
}

/* 2. Strip ALL massive default gaps from the sections */
.obj_issue_toc .sections {
    margin-top: 1rem !important; /* Space below the issue description */
}

.obj_issue_toc .section {
    margin-top: 0 !important;
    margin-bottom: 1.5rem !important; /* The single gap between sections */
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 3. Tighten the space around the section headings (e.g., Editorial) */
.obj_issue_toc .section h2 {
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important; 
}

/* 4. Kill the invisible margins on the article lists */
.obj_issue_toc .cmp_article_list {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

/* 5. Tighten the gap between individual articles */
.obj_issue_toc .cmp_article_list > li {
    margin-top: 0 !important;
    margin-bottom: 1rem !important; 
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* 6. Completely remove ALL default horizontal lines and dividers */
.page_issue .obj_issue_toc .sections,
.page_issue .obj_issue_toc .section,
.page_issue .obj_issue_toc .section h2,
.page_issue .obj_issue_toc .cmp_article_list,
.page_issue .obj_issue_toc .cmp_article_list li,
.page_issue .obj_article_summary {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    box-shadow: none !important;
    outline: none !important;
    background-image: none !important; /* Some themes use 1px gradients as lines */
}

/* Kill any invisible pseudo-elements creating lines */
.page_issue .obj_issue_toc .section::before,
.page_issue .obj_issue_toc .section::after,
.page_issue .obj_issue_toc h2::before,
.page_issue .obj_issue_toc h2::after,
.page_issue .obj_article_summary::before,
.page_issue .obj_article_summary::after {
    display: none !important;
    content: none !important;
}

/* =========================================================
   ISSUE PAGE: COVER IMAGE RIGHT-ALIGN & TEXT WRAP
   ========================================================= */

/* 1. Force the heading area into a block layout so text wrapping works */
.page_issue .obj_issue_toc .heading {
    display: block !important;
}

/* 2. Float the cover to the right and control its size */
.page_issue .obj_issue_toc .cover {
    float: right !important; /* Pushes the image to the right edge */
    margin: 5px 0 15px 20px !important; /* Adds space: top, right, bottom, left (pushes text away from image) */
    width: 35% !important; /* Makes it exactly 35% on mobile */
    max-width: 250px !important; /* Prevents it from getting massively oversized on huge desktop monitors */
}

/* 3. Ensure the image itself scales perfectly inside its new container */
.page_issue .obj_issue_toc .cover img {
    width: 100% !important;
    height: auto !important;
    border-radius: 4px !important; /* Softens the corners of the book cover */
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important; /* Adds a professional soft shadow */
}

/* 4. "Clearfix" - Ensures the container doesn't collapse if the text is shorter than the image */
.page_issue .obj_issue_toc .heading::after {
    content: "" !important;
    display: table !important;
    clear: both !important;
}

/* =========================================================
   HOMEPAGE RECENT ARTICLES: TOP MARGIN FIX
   ========================================================= */

/* 1. Kill the massive default space above the article title */
.page_index_journal .recent_articles .obj_article_summary .title,
.page_index_journal .recent_articles .obj_article_summary h3 {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 2. Ensure the summary container itself isn't adding top spacing */
.page_index_journal .recent_articles .obj_article_summary {
    margin-top: 0 !important;
    padding-top: 0 !important;
    margin-bottom: 0 !important; /* Now this will be the ONLY space that controls the gap! */
}