@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

@font-face {
    font-family: 'WhyteInktrap';
    src: url('../fonts/WhyteInktrap-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'WhyteInktrap';
    src: url('../fonts/WhyteInktrap-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

body, p, li, td, th, label, input, select, textarea,
.pkp_structure_main, .pkp_block, .cmp_breadcrumbs {
    font-family: 'Source Sans 3', sans-serif !important;
}

h1, h2, .page_title, .pkp_structure_main > h1,
.issue_toc h2, .section_title, .pkp_block h2 {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 700 !important;
}

h3, .obj_article_summary .title, .obj_article_summary h3.title,
.issue_toc .title, .pkp_structure_main h3 {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400 !important;
}

body { margin: 0; padding: 0; }

.pkp_structure_head {
    background-color: #ffffff !important;
    border-bottom: 1px solid #979694;
}

.pkp_site_nav_menu {
    background: #ffffff !important;
}

.pkp_site_name .is_text { color: #2E2D29 !important; }

.pkp_navigation_primary > li > a {
    color: #2E2D29 !important;
    font-family: 'Source Sans 3', sans-serif !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
    color: #2E2D29 !important;
    border-bottom: none !important;
    background: transparent !important;
}

.pkp_site_nav_menu a { color: #2E2D29 !important; }

.pkp_navigation_search_wrapper a {
    color: #2E2D29 !important;
    font-family: 'Source Sans 3', sans-serif !important;
}

.pkp_navigation_search_wrapper a:hover,
.pkp_navigation_search_wrapper a:focus {
    color: #2E2D29 !important;
    border: none !important;
    border-color: transparent !important;
    background: transparent !important;
}

.pkp_navigation_user a {
    color: #2E2D29 !important;
    font-family: 'Source Sans 3', sans-serif !important;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
    color: #2E2D29 !important;
    border-bottom: 2px solid #006CB8 !important;
    background: transparent !important;
    outline: 0;
}

.pkp_navigation_user.pkp_navigation_user { border-top-color: #979694 !important; }

.pkp_site_nav_toggle { color: #2E2D29; background: transparent; }

.pkp_structure_page { padding: 0; margin: 0; }





.sup_topbar {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid #979694;
    height: 4rem;
    width: 100%;
    box-sizing: border-box;
}

.sup_topbar > a {
    background-color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0.75rem 1.5rem;
    border-right: 1px solid #979694;
    flex: 0 0 auto;
    min-width: 5rem;
    box-sizing: border-box;
}

.sup_topbar img {
    height: 2.5rem;
    width: auto;
    max-width: 100%;
}

@media (min-width: 768px) {
    .sup_topbar > a {
        flex: 0 0 calc((100% - 728px) / 2);
    }
}

@media (min-width: 992px) {
    .sup_topbar > a {
        flex: 0 0 calc((100% - 952px) / 2);
    }
}

@media (min-width: 1200px) {
    .sup_topbar > a {
        flex: 0 0 calc((100% - 1160px) / 2);
    }
}

.sup_topbar .sup_topbar_right {
    flex: 1;
    background-color: #EAEAEA;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 1.25rem;
    gap: 1.5rem;
}

.sup_topbar_right a {
    background: none;
    border: none;
    color: #2E2D29;
    text-decoration: none;
    font-size: 0.875rem;
    padding: 0;
}

.sup_topbar_right a:hover {
    border-bottom: 2px solid #006CB8 !important;
    text-decoration: none;
}

/* Current Issue meta line */
.current_issue_meta {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.875rem;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: #2E2D29;
    margin-bottom: 0.4rem;
}

.current_issue_meta .ci_sep {
    margin: 0 0.3rem;
    color: #999;
}

.current_issue_meta .ci_label {
    margin-left: 0;
    background-color: #006CB8;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.2rem 0.65rem;
    border-radius: 4px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.current_issue .current_issue_title {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: #2E2D29;
    margin: 0 0 1rem 0;
}

/* Remove the old current_issue_title div from default theme */
.current_issue > .current_issue_title:not(h2) {
    display: none;
}

.current_issue_meta .ci_volume,
.current_issue_meta .ci_number,
.current_issue_meta .ci_year {
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
}

.current_issue_meta .ci_volume,
.current_issue_meta .ci_number,
.current_issue_meta .ci_year,
.current_issue_meta .ci_sep {
    color: #6D6C69;
}



.current_issue_meta .ci_volume,
.current_issue_meta .ci_number,
.current_issue_meta .ci_year {
    font-size: 1rem;
}

/* === TOPBAR: login/register align with container right edge (= search end) === */
@media (min-width: 768px) {
    .sup_topbar .sup_topbar_right {
        padding-right: calc((100% - 728px) / 2);
        padding-left: 1.5rem;
    }
}
@media (min-width: 992px) {
    .sup_topbar .sup_topbar_right {
        padding-right: calc((100% - 952px) / 2);
    }
}
@media (min-width: 1200px) {
    .sup_topbar .sup_topbar_right {
        padding-right: calc((100% - 1160px) / 2);
    }
}

/* === CONTENT: full container width, aligned with nav bar (menu start → search end) === */
@media (min-width: 992px) {
    .pkp_structure_main {
        float: none !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    .pkp_structure_main:before,
    .pkp_structure_main:after {
        display: none !important;
    }
    .pkp_structure_sidebar {
        float: none !important;
        width: 100% !important;
    }
}


/* ============================================================
   LAYOUT: zero gaps between nav → issue → articles
   ============================================================ */

.pkp_structure_content {
    width: 100% !important;
    max-width: none !important;
    padding-top: 0 !important;
}

.pkp_structure_main,
.pkp_structure_main:first-child:last-child {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.pkp_structure_main::before,
.pkp_structure_main::after {
    display: none !important;
}

.page_index_journal,
.current_issue {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* ============================================================
   SUP_ISSUE_INFO_BLOCK: white sides, full-width top+bottom strokes
   ============================================================ */

.sup_issue_info_block {
    display: block !important;
    width: 100% !important;
    background-color: #ffffff;
    border-bottom: 1px solid #979694;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box;
}

.sup_issue_info_inner {
    display: block;
    margin: 0 auto;
    padding: 4.8rem 2.75rem;
    box-sizing: border-box;
    border-left: 1px solid #979694;
    border-right: 1px solid #979694;
    background-color: #ffffff;
    width: 100%;
}

@media (min-width: 768px)  { .sup_issue_info_inner { width: 728px;  } }
@media (min-width: 992px)  { .sup_issue_info_inner { width: 952px;  } }
@media (min-width: 1200px) { .sup_issue_info_inner { width: 1160px; } }

.sup_issue_description {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    color: #2E2D29;
    margin: 0.75rem 0;
    max-width: 52rem;
}

.sup_issue_info_inner .published {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: #6D6C69;
    margin-top: 0.75rem;
}

/* ============================================================
   OBJ_ISSUE_TOC: F2F2F2 background, no outer strokes, full-width
   ============================================================ */

.obj_issue_toc,
.obj_issue_toc .sections,
.obj_issue_toc .section,
.obj_issue_toc .cmp_article_list {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    background-color: #F2F2F2;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
}

/* Remove section divider pseudo-element */
.obj_issue_toc .section::before {
    display: none !important;
    content: none !important;
}

/* Hide section title (e.g. "Articles") */
.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3 {
    display: none !important;
}

/* ============================================================
   ARTICLE ROWS: full-width strokes, F2F2F2 sides
   ============================================================ */

.sup_article_item {
    display: block !important;
    width: 100% !important;
    background-color: #F2F2F2;
    margin: 0 !important;
    box-sizing: border-box;
}

/* Lines between articles */
.sup_article_item + .sup_article_item {
    border-top: 1px solid #979694;
}

/* Bottom stroke on last article */
.sup_article_item:last-child {
    border-bottom: 1px solid #979694;
}

/* Article inner box: white, container-width, side strokes */
.sup_article_item .obj_article_summary {
    display: block;
    margin: 0 auto;
    padding: 1.5rem 2.75rem;
    box-sizing: border-box;
    background-color: #ffffff;
    border-left: 1px solid #979694;
    border-right: 1px solid #979694;
    width: 100%;
}

@media (min-width: 768px)  { .sup_article_item .obj_article_summary { width: 728px;  } }
@media (min-width: 992px)  { .sup_article_item .obj_article_summary { width: 952px;  } }
@media (min-width: 1200px) { .sup_article_item .obj_article_summary { width: 1160px; } }

/* Limit text width inside articles */
.sup_article_item .obj_article_summary .title,
.sup_article_item .obj_article_summary .meta,
.sup_article_item .obj_article_summary .authors {
    max-width: 48rem;
}

.sup_article_item .obj_article_summary .meta {
    padding-top: 0;
    line-height: 1.4;
    margin-top: 0.2rem;
    margin-bottom: 0;
}

/* Top stroke on issue block (full-width) */
.sup_issue_info_block {
    border-top: 1px solid #979694 !important;
}

/* Last article: remove full-width bottom stroke */
.sup_article_item:last-child {
    border-bottom: none !important;
}

/* Last article: container-width bottom stroke (completes the box) */
.sup_article_item:last-child .obj_article_summary {
    border-bottom: 1px solid #979694;
}

/* Issue title: 32px */
.current_issue .current_issue_title {
    font-size: 2rem !important;
}

/* Remove | separators between Vol / No / Year */
.current_issue_meta .ci_sep {
    display: none !important;
}

/* Spacing between Vol / No / Year items */
.current_issue_meta .ci_volume,
.current_issue_meta .ci_number {
    margin-right: 0.5rem;
}

/* Article title: 28px */
.sup_article_item .obj_article_summary .title {
    font-size: 2rem;
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    color: #2E2D29;
    margin-top: 0;
    line-height: 2.5rem;
}

/* Section label rendered via span.sup_section_label in template */
.sup_article_item .sup_section_label {
    display: block;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    font-weight: 400;
    color: #006CB8;
    margin-bottom: 0.875rem;
}

/* Gap between last article and footer (F2F2F2 background) */
.obj_issue_toc {
    padding-bottom: 64px !important;
}

/* Label "Article": mais afastada do título — gap 0.5rem (8px) */

/* Título do artigo: WhyteInktrap Regular, cor 2E2D29 */
.sup_article_item .obj_article_summary .title,
.sup_article_item .obj_article_summary .title a {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 400 !important;
    color: #2E2D29 !important;
    line-height: 2.5rem !important;
}


/* Gap título → autores */
.sup_article_item .obj_article_summary .title {
    margin-bottom: 0.75rem;
}

/* Subtítulo do artigo na homepage */
.sup_article_item .obj_article_summary .title .subtitle {
    display: block;
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.5rem;
    color: #4a4946;
    margin-top: 0.5rem;
}

/* === Galley download buttons === */

.sup_article_item .galleys_links {
    list-style: none;
    padding: 0;
    margin: 24px 0 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.625rem;
}

.sup_article_item .galleys_links li {
    margin: 0;
    padding: 0;
}

.sup_article_item .obj_galley_link {
    display: inline-flex;
    align-items: center;
    padding: 4px 20px;
    border: 1px solid #006CB8;
    color: #2E2D29 !important;
    background: transparent;
    text-decoration: none !important;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    transition: background 0.15s, color 0.15s;
}

.sup_article_item .obj_galley_link::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-image: url('../images/download.svg');
    mask-image: url('../images/download.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    flex-shrink: 0;
    margin-right: 0.5rem;
}

.sup_article_item .obj_galley_link:hover {
    background: #2E2D29;
    color: #ffffff !important;
}

/* Article page: align content with nav container (menu start → search end) */

/* Lines between articles: container-width only (not full-width) */
.sup_article_item + .sup_article_item {
    border-top: none !important;
}

.sup_article_item + .sup_article_item .obj_article_summary {
    border-top: 1px solid #979694;
}

}

.sup_article_item + .sup_article_item .obj_article_summary {
    border-top: 1px solid #979694;
}

/* ============================================================
   FOOTER: accent bar + dark background
   ============================================================ */

.sup_footer_accent {
    display: block;
    width: 100%;
    height: 6px;
    background-color: #4298B5;
    margin: 0;
    padding: 0;
    line-height: 0;
    font-size: 0;
}

.sup_footer_wrapper,
.sup_footer_wrapper .pkp_structure_footer {
    background-color: #2D2D2D !important;
}

.sup_footer_wrapper .pkp_footer_content,
.sup_footer_wrapper .pkp_footer_content * {
    color: #ffffff !important;
}

.sup_footer_wrapper .pkp_footer_content {
    padding: 0 !important;
}

.sup_footer_wrapper .pkp_brand_footer a img {
    filter: brightness(0) invert(1);
    opacity: 0.5;
}

/* ============================================================
   FOOTER: inner container alinhado com o conteúdo
   ============================================================ */

.sup_footer_inner {
    display: block;
    margin: 0 auto;
    padding: 2.5rem 0;
    box-sizing: border-box;
    width: 100%;
}

@media (min-width: 768px)  { .sup_footer_inner { width: 728px;  } }
@media (min-width: 992px)  { .sup_footer_inner { width: 952px;  } }
@media (min-width: 1200px) { .sup_footer_inner { width: 1160px; } }

/* Logo do journal: branco via filter */
.sup_footer_logo {
    margin-bottom: 1.5rem;
}

/* ============================================================
   SUBMIT BUTTON — homepage
   ============================================================ */

.sup_submit_wrap {
    margin-top: 1.5rem;
}

.sup_submit_btn {
    display: inline-flex;
    align-items: center;
    padding: 0.875rem 1.25rem;
    background-color: #006CB8;
    color: #ffffff !important;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-decoration: none !important;
    border: 1px solid #006CB8;
    transition: background 0.15s;
}

.sup_submit_btn:hover {
    background-color: #00548F;
    border-color: #00548F;
    color: #ffffff !important;
}

/* ============================================================
   TOPBAR: user menu (login/register ou nome+dropdown)
   ============================================================ */

.sup_topbar_user_menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 1.5rem;
    height: 100%;
}

.sup_topbar_user_menu li {
    margin: 0;
    padding: 0;
    position: relative;
}

/* Links de login/register e nome de utilizador */
.sup_topbar_user_menu a,
.sup_topbar_user_menu button {
    background: none;
    border: none;
    color: #2E2D29 !important;
    text-decoration: none;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    padding: 0;
    cursor: pointer;
}

.sup_topbar_user_menu a:hover,
.sup_topbar_user_menu button:hover {
    border-bottom: 2px solid #006CB8 !important;
    text-decoration: none;
}

/* Dropdown submenu */
.sup_topbar_user_menu .pkp_navigation_user_account + ul,
.sup_topbar_user_menu li ul {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    background: #ffffff;
    border: 1px solid #979694;
    min-width: 160px;
    z-index: 1000;
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
}

.sup_topbar_user_menu li:hover > ul,
.sup_topbar_user_menu li:focus-within > ul {
    display: block;
}

.sup_topbar_user_menu li ul li a {
    display: block;
    padding: 0.5rem 1rem;
    white-space: nowrap;
    color: #2E2D29 !important;
    font-size: 0.875rem;
}

.sup_topbar_user_menu li ul li a:hover {
    background: #f5f5f5;
    border-bottom: none !important;
}

/* Dropdown caret after user name when submenu exists */
.sup_topbar_user_menu li:has(> ul) > a::after {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    margin-left: 0.35rem;
    vertical-align: middle;
}

/* ============================================================
   COVER LINK — card inteiro clicável (WCAG cover-link pattern)
   ============================================================ */

/* Card container: relative para o ::after funcionar */
.sup_article_item {
    position: relative;
}

/* O link do título expande-se para cobrir todo o card */
.sup_article_item .obj_article_summary .title a.sup_card_link::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
}

/* Galley links ficam acima do overlay */
.sup_article_item .galleys_links,
.sup_article_item .galleys_links li,
.sup_article_item .obj_galley_link {
    position: relative;
    z-index: 1;
}

/* Hover visual no card inteiro */
.sup_article_item:hover .obj_article_summary {
    background-color: #f9f9f9;
}

/* ============================================================
   NAV ROW: layout principal
   ============================================================ */

.pkp_navigation_primary_row {
    display: flex;
    align-items: stretch;
    min-height: 3.5rem;
    margin-top: 0.875rem;
}

.pkp_navigation_primary_wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex: 1;
    gap: 0;
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.pkp_navigation_primary_wrapper::before,
.pkp_navigation_primary_wrapper::after {
    display: none !important;
    content: none !important;
}

/* ============================================================
   SUP PRIMARY NAV: itens, dropdowns, search
   ============================================================ */

.sup_nav_primary {
    display: flex !important;
    align-items: stretch !important;
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
}

/* Item base — todos os itens com estilos identicos, sem excepcao */
.sup_nav_primary .sup_nav_item,
.sup_nav_primary .sup_has_dropdown {
    position: relative;
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sup_nav_primary .sup_nav_item > .sup_nav_link {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    padding: 0.75rem 1rem;
    margin: 0;
    color: #2E2D29 !important;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1;
}

.sup_nav_primary .sup_nav_item > .sup_nav_link:hover {
    color: #006CB8 !important;
}

.sup_nav_primary > li:first-child > .sup_nav_link {
    padding-left: 0 !important;
}



/* Caret arrow */
.sup_caret {
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    margin-top: 1px;
}

/* Dropdown */
.sup_has_dropdown .sup_dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    background: #ffffff;
    border: 1px solid #979694;
    border-top: 2px solid #979694;
    list-style: none;
    margin: 0;
    padding: 0.25rem 0;
    z-index: 9999;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Bridge: evita gap entre o li e o dropdown ao mover o rato */
.sup_has_dropdown::after {
    content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
}

/* Dropdown posicionado a partir do fundo do li (que agora tem altura total da nav) */

.sup_has_dropdown:hover .sup_dropdown,
.sup_has_dropdown:focus-within .sup_dropdown {
    display: block;
}

.sup_dropdown li a {
    display: block;
    padding: 0.75rem 1rem;
    color: #2E2D29 !important;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    text-decoration: none;
    white-space: nowrap;
}

.sup_dropdown li a:hover {
    background: #f5f5f5;
    color: #006CB8 !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* Search wrap — irmão da ul, empurrado pelo flex:1 da ul */
.sup_nav_search_wrap {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0;
    padding-right: 0.875rem;
}

.sup_nav_search_link {
    display: flex !important;
    align-items: center;
    gap: 0.375rem;
    padding: 0 1rem;
    color: #2E2D29 !important;
    font-size: 1rem;
    text-decoration: none;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.sup_nav_search_label {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.03em;
}

.sup_nav_search_link:hover,
.sup_nav_search_link:focus {
    color: #006CB8 !important;
    text-decoration: none !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.sup_nav_search_link:hover .fa,
.sup_nav_search_link:hover .sup_nav_search_label {
    color: #006CB8 !important;
}
/* Submit button wrapper */
.sup_nav_submit_wrap {
    display: flex !important;
    align-items: stretch !important;
    flex-shrink: 0;
}

a.sup_submit_btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0.625rem 1.25rem !important;
    background-color: #006CB8 !important;
    border-color: #006CB8 !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    width: 100%;
    box-sizing: border-box;
}

a.sup_submit_btn:hover {
    background-color: #00548F !important;
    border-color: #00548F !important;
    color: #ffffff !important;
}


/* ============================================================
   Inner pages unified grid
   Aplica a mesma grelha da pagina de artigo a todas as paginas
   internas (About, Archives, Search, Submissions, etc.)
   ============================================================ */

/* Paginas internas: container centrado com padding lateral */
.pkp_structure_main > div:not(.page_index_journal):not(.obj_issue_toc):not(.page_issue):not(.page_issue),
.pkp_structure_main > section:not(.current_issue) {
    box-sizing: border-box;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 2.75rem;
    padding-right: 2.75rem;
}

@media (min-width: 768px) {
    .pkp_structure_main > div:not(.page_index_journal):not(.obj_issue_toc):not(.page_issue):not(.page_issue),
    .pkp_structure_main > section:not(.current_issue) {
        width: 728px;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (min-width: 992px) {
    .pkp_structure_main > div:not(.page_index_journal):not(.obj_issue_toc):not(.page_issue):not(.page_issue),
    .pkp_structure_main > section:not(.current_issue) {
        width: 952px;
    }
}

@media (min-width: 1200px) {
    .pkp_structure_main > div:not(.page_index_journal):not(.obj_issue_toc):not(.page_issue):not(.page_issue),
    .pkp_structure_main > section:not(.current_issue) {
        width: 1160px;
    }
}



/* ============================================================
   OJS global button color override
   Substitui o azul padrao (#006798) por #006CB8 em todos os
   botoes de accao principal do OJS
   ============================================================ */

/* Botao padrao OJS */
.cmp_button,
.pkp_form .pkpButton,
button.pkpButton,
a.pkpButton,
input[type="submit"].pkpButton,
.pkp_form input[type="submit"],
button[class*="pkp_button"],
.pkp_linkaction_submit,
.submit > .pkp_linkaction_submit {
    background-color: #006CB8 !important;
    border-color: #006CB8 !important;
    color: #ffffff !important;
}

.cmp_button:hover,
.pkp_form .pkpButton:hover,
button.pkpButton:hover,
a.pkpButton:hover,
input[type="submit"].pkpButton:hover,
.pkp_form input[type="submit"]:hover,
button[class*="pkp_button"]:hover,
.pkp_linkaction_submit:hover {
    background-color: #00548F !important;
    border-color: #00548F !important;
    color: #ffffff !important;
}

/* Dropdown accent bar: manter consistente */
.sup_has_dropdown .sup_dropdown {
    border-top-color: #006CB8;
}

/* Chip "Current Issue" */



/* ============================================================
   Issue page: mesmos estilos que a homepage
   ============================================================ */

/* Full-width como a homepage */
.page.page_issue {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box;
}

/* Bloco de info: breadcrumbs + h1 com visual de sup_issue_info_block */
.page_issue .cmp_breadcrumbs,
.page_issue > h1 {
    display: block;
    background-color: #ffffff;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
}

/* Breadcrumbs: topo do bloco, border-top full-width */
.page_issue .cmp_breadcrumbs {
    border-top: 1px solid #979694;
    padding: 3rem 2.75rem 0.75rem;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: #6D6C69;
}

.page_issue .cmp_breadcrumbs ol {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    align-items: center;
}

.page_issue .cmp_breadcrumbs li {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.page_issue .cmp_breadcrumbs a {
    color: #006CB8 !important;
    text-decoration: none;
}

.page_issue .cmp_breadcrumbs a:hover {
    text-decoration: underline;
}

.page_issue .cmp_breadcrumbs .separator { color: #aaa; }

/* h1 = current_issue_title, border-bottom fecha o bloco */
.page_issue > h1 {
    border-bottom: 1px solid #979694;
    padding: 0 2.75rem 3rem;
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    color: #2E2D29;
    line-height: 1.4;
}

/* Esconder heading duplicado do issue_toc (DOI, cover, desc ja estao no h1) */
.page_issue .obj_issue_toc .heading {
    display: none;
}

/* Container widths: alinhar com a grelha */
@media (min-width: 768px) {
    .page_issue .cmp_breadcrumbs {
        padding: 3rem calc((100% - 728px) / 2) 0.75rem;
    }
    .page_issue > h1 {
        padding: 0 calc((100% - 728px) / 2) 3rem;
    }
}

@media (min-width: 992px) {
    .page_issue .cmp_breadcrumbs {
        padding: 3rem calc((100% - 952px) / 2) 0.75rem;
    }
    .page_issue > h1 {
        padding: 0 calc((100% - 952px) / 2) 3rem;
    }
}

@media (min-width: 1200px) {
    .page_issue .cmp_breadcrumbs {
        padding: 3rem calc((100% - 1160px) / 2) 0.75rem;
    }
    .page_issue > h1 {
        padding: 0 calc((100% - 1160px) / 2) 3rem;
    }
}

/* ============================================================
   ARTICLE PAGE — moldura só na coluna esquerda
   ============================================================ */

.page_article {
    margin: 0 auto;
    padding: 0 0 64px 0;
    box-sizing: border-box;
    width: 100%;
}

@media (min-width: 768px)  { .page_article { width: 728px;  } }
@media (min-width: 992px)  { .page_article { width: 952px;  } }
@media (min-width: 1200px) { .page_article { width: 1160px; } }

.page_article h1,
.page_article h2,
.page_article h3,
.page_article h4,
.page_article h5,
.page_article h6 {
    line-height: 2.5rem;
}

/* 32px entre a barra de menu e os breadcrumbs */
.cmp_breadcrumbs {
    margin-top: 32px;
    margin-bottom: 0;
}

/* Cor dos links de breadcrumb (páginas não activas) */
.cmp_breadcrumbs a {
    color: #006CB8 !important;
    text-decoration: none;
}

.cmp_breadcrumbs a:hover {
    text-decoration: underline;
}

.obj_article_details {
    width: 100%;
    box-sizing: border-box;
}

/* Grid exterior: coluna esquerda (com borda) + sidebar (sem borda) */
.sup_article_wrap {
    display: grid;
    grid-template-columns: 1fr 280px;
    gap: 2.5rem;
    align-items: start;
}

@media (max-width: 767px) {
    .sup_article_wrap {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

/* ── Coluna esquerda — borda completa ─────────────────────── */

.sup_article_left {
    border: 1px solid #979694;
    box-sizing: border-box;
    overflow: hidden; /* linha horizontais tocam as bordas laterais sem scroll */
    min-width: 0;
}

/* Issue meta: preenche a largura da moldura ponta-a-ponta */
.sup_article_issue_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.375rem;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6D6C69;
    border-bottom: 1px solid #979694;
    padding: 0.625rem 2rem;
    box-sizing: border-box;
    width: 100%;
}

.sup_im_sep {
    color: #c8c7c4;
    font-weight: 400;
}

/* Área interior: título, subtítulo, autores */
.sup_header_inner {
    padding: 1.75rem 2rem 1.5rem;
}

/* Título */
.sup_article_title {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    line-height: 2rem;
    color: #2E2D29;
    margin: 0 !important;
}

/* Subtítulo */
.sup_article_subtitle {
    font-family: 'DM Sans', sans-serif;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.5rem;
    color: #4a4946;
    margin: 0 !important;
}

/* Autores — chips */
.sup_article_authors {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.sup_author_item {
    display: inline-flex;
    align-items: center;
    border: 1px solid #979694;
    border-radius: 4px;
    padding: 0.3rem 0.7rem;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: #2E2D29;
    line-height: 1.4;
}

/* Meta line: preenche a largura da moldura ponta-a-ponta */
.sup_article_meta_line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: #767674;
    border-top: 1px solid #979694;
    border-bottom: 1px solid #979694;
    padding: 0.75rem 2rem;
    box-sizing: border-box;
    width: 100%;
}

.sup_meta_left {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    flex-wrap: wrap;
}

.sup_meta_section {
    color: #767674;
    font-weight: 500;
    text-transform: uppercase;
}

.sup_meta_sep { color: #c8c7c4; }

.sup_meta_doi {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    flex-shrink: 0;
}

.sup_meta_doi_label {
    font-weight: 600;
    color: #767674;
}

.sup_meta_doi_link {
    color: #767674 !important;
    text-decoration: none;
    word-break: break-all;
}

.sup_meta_doi_link:hover { text-decoration: underline; }

/* Conteúdo principal */
.sup_article_main {
    padding: 1.75rem 2rem;
    box-sizing: border-box;
}

.sup_article_abstract { margin-bottom: 2rem; }

.sup_abstract_label {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: #2E2D29;
    margin: 0;
}

.sup_abstract_text {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    line-height: 1.7;
    color: #2E2D29;
    max-width: 70ch;
}

.sup_abstract_text p { margin: 0 0 0.75rem 0; }

/* ── Sidebar — sem borda ──────────────────────────────────── */

.sup_article_sidebar {
    position: sticky;
    top: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.sup_sidebar_galleys { margin-bottom: 1.5rem; }

.sup_galley_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sup_galley_list .obj_galley_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 8px 20px;
    border: 1px solid #006CB8;
    color: #2E2D29 !important;
    background: transparent;
    text-decoration: none !important;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: 0.03em;
    box-sizing: border-box;
    transition: background 0.15s, color 0.15s;
}

.sup_galley_list .obj_galley_link::before {
    content: '';
    display: inline-block;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask-image: url('../images/download.svg');
    mask-image: url('../images/download.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    flex-shrink: 0;
    margin-right: 0.625rem;
}

.sup_galley_list .obj_galley_link:hover {
    background: #006CB8;
    color: #ffffff !important;
}

.sup_sidebar_item {
    padding: 0.875rem 0;
    border-top: 1px solid #979694;
}

.sup_sidebar_item:last-child { border-bottom: 1px solid #979694; }

.sup_sidebar_label {
    display: block;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6D6C69;
    margin-bottom: 0.3rem;
}

.sup_sidebar_value {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    color: #2E2D29;
    line-height: 1.4;
}

.sup_sidebar_value a {
    color: #006CB8 !important;
    text-decoration: none;
}

.sup_sidebar_value a:hover { text-decoration: underline; }

.sup_galley_list { margin: 0 !important; }
.sup_article_sidebar .pkp_structure_main ul, .sup_article_sidebar ul { margin: 0 !important; }
.sup_article_left .pkp_structure_main h2, .sup_article_left h2 { margin: 0 !important; }
.pkp_structure_main h1 { max-width: 70ch; }
.pkp_structure_main h2, .pkp_structure_main h3, .pkp_structure_main h4, .pkp_structure_main h5, .pkp_structure_main h6 { max-width: 40ch; }
.pkp_structure_main p { max-width: 70ch; }

/* ORCID icon in author chips */
.sup_author_orcid {
    display: inline-flex;
    align-items: center;
    margin-left: 0.375rem;
    vertical-align: middle;
    line-height: 1;
}
.sup_author_orcid img {
    display: block;
    width: 16px;
    height: 16px;
}

/* ============================================================
   FOOTER — two-column layout
   ============================================================ */

.sup_footer_columns {
    display: flex !important;
    align-items: flex-start;
    justify-content: space-between;
    gap: 2rem;
    padding: 3rem 2rem 2.5rem !important;
    width: auto !important;
    max-width: 1160px;
    margin: 0 auto !important;
}

@media (max-width: 767px) {
    .sup_footer_columns { flex-direction: column; gap: 2rem; padding: 2.5rem 1.5rem !important; }
}

.sup_footer_left {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex: 0 0 auto;
    max-width: 55%;
}

.sup_footer_logo { margin-bottom: 0 !important; }

.sup_footer_logo img {
    display: block;
    max-height: 3.5rem;
    width: auto;
    filter: brightness(0) invert(1);
}

.sup_footer_right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 1rem;
    flex-shrink: 0;
}

.sup_footer_sup_logo img {
    display: block;
    max-height: 2.75rem;
    width: auto;
}

.sup_footer_pkp { text-align: right; }

.sup_footer_pkp_label {
    display: block;
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.75rem;
    color: rgba(255,255,255,0.5);
    margin-bottom: 0.2rem;
}

.sup_footer_pkp_link {
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    color: #ffffff !important;
    text-decoration: none;
    line-height: 1.5;
    display: block;
}

.sup_footer_pkp_link:hover { color: rgba(255,255,255,0.75) !important; }

.sup_footer_divider {
    border: none;
    border-top: 1px solid rgba(255,255,255,0.15);
    max-width: 1160px;
    width: calc(100% - 4rem);
    margin: 0 auto;
}

.sup_footer_bottom {
    max-width: 1160px;
    margin: 0 auto;
    padding: 1.25rem 2rem 2rem;
    box-sizing: border-box;
}

.sup_footer_copyright {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: rgba(255,255,255,0.55);
}

/* footer — remove lateral padding + align PKP label left under logo */
.sup_footer_columns {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.sup_footer_divider {
    width: 100% !important;
}
.sup_footer_bottom {
    padding-left: 0 !important;
    padding-right: 0 !important;
}
.sup_footer_right {
    align-items: flex-start !important;
}
.sup_footer_pkp {
    text-align: left !important;
}

/* 32px gap between page content and footer */
.pkp_structure_content {
    padding-bottom: 32px !important;
}

/* increase content bottom padding to 48px */
.pkp_structure_content {
    padding-bottom: 48px !important;
}

/* 48px bottom padding on all pages except homepage */
.pkp_structure_content {
    padding-bottom: 0 !important;
}
body:not(.pkp_page_index) .pkp_structure_content {
    padding-bottom: 48px !important;
}

.sup_footer_issn {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: rgba(255,255,255,0.6);
    margin-top: 0.25rem;
}

/* ============================================================
   LINKS — replace default OJS blue with journal button colour
   ============================================================ */

a,
.pkp_structure_main a,
.pkp_block a {
    color: #006CB8 !important;
}

a:hover,
.pkp_structure_main a:hover,
.pkp_block a:hover {
    color: #00548F !important;
}

/* ============================================================
   cmp_notification — white background, teal link
   ============================================================ */

.cmp_notification {
    background: #ffffff !important;
    border-color: #979694 !important;
    color: #2E2D29 !important;
}

.cmp_notification a {
    color: #006CB8 !important;
}

.cmp_notification a:hover {
    color: #00548F !important;
}

.cmp_notification {
    border-color: #006CB8 !important;
}

.cmp_notification {
    background: #F2F2F2 !important;
}

/* ============================================================
   RESPONSIVE — mobile fixes
   ============================================================ */

/* ── Hamburger button: make lines visible on white header ─── */
.pkp_site_nav_toggle > span {
    border-bottom-color: #979694 !important;
}
.pkp_site_nav_toggle > span::before,
.pkp_site_nav_toggle > span::after {
    background: #2E2D29 !important;
}

/* ── Mobile nav menu (< 992px) ─────────────────────────────── */
@media (max-width: 991px) {

    /* Full-width dropdown when open */
    .pkp_site_nav_menu--isOpen {
        display: block !important;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: #ffffff;
        border-top: 2px solid #006CB8;
        border-bottom: 1px solid #979694;
        z-index: 9999;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    }

    .pkp_site_nav_menu--isOpen .pkp_navigation_primary_wrapper {
        display: block !important;
        width: 100% !important;
        padding: 0.5rem 0 !important;
    }

    .pkp_site_nav_menu--isOpen .sup_nav_primary {
        display: block !important;
        width: 100%;
    }

    .pkp_site_nav_menu--isOpen .sup_nav_item,
    .pkp_site_nav_menu--isOpen .sup_has_dropdown {
        display: block !important;
        width: 100%;
    }

    .pkp_site_nav_menu--isOpen .sup_nav_link {
        display: block !important;
        padding: 0.875rem 1.25rem !important;
        border-bottom: 1px solid #979694;
    }

    /* Dropdowns: static on mobile */
    .pkp_site_nav_menu--isOpen .sup_dropdown {
        display: block !important;
        position: static !important;
        box-shadow: none !important;
        border: none !important;
        border-top: none !important;
        background: #f8f8f8;
        padding: 0 !important;
    }

    .pkp_site_nav_menu--isOpen .sup_dropdown li a {
        padding-left: 2rem !important;
        border-bottom: 1px solid #979694;
    }

    /* Hide search/submit in mobile menu */
    .pkp_site_nav_menu--isOpen .sup_nav_search_wrap,
    .pkp_site_nav_menu--isOpen .sup_nav_submit_wrap {
        display: none !important;
    }
}

/* ── Topbar: prevent logos from shrinking too small ─────────── */
.sup_topbar > a {
    min-width: 80px !important;
    flex-shrink: 0 !important;
}

.sup_topbar img {
    min-height: 1.75rem;
}

/* Journal logo in header: set a usable min-height on mobile */
@media (max-width: 991px) {
    .pkp_site_name .is_img img {
        max-height: 2.5rem !important;
        min-height: 1.5rem;
        width: auto;
    }
}

/* ── Footer: lateral padding on mobile ──────────────────────── */
@media (max-width: 767px) {
    .sup_footer_columns {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }

    .sup_footer_divider {
        width: calc(100% - 2.5rem) !important;
    }

    .sup_footer_bottom {
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
    }
}

/* ── Homepage grid: full width, remove vertical lines ────────── */
@media (max-width: 767px) {

    /* Full-width article items */
    .sup_article_item .obj_article_summary,
    .sup_article_item {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        box-sizing: border-box;
    }

    /* Remove vertical separators */
    .sup_article_item + .sup_article_item .obj_article_summary {
        border-top: 1px solid #979694 !important;
    }

    /* Issue info block full width */
    .sup_issue_info_block,
    .sup_issue_info_inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        box-sizing: border-box;
    }

    /* Page content full width */
    .pkp_structure_main > div,
    .pkp_structure_main > section {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        box-sizing: border-box;
    }
}

/* ============================================================
   RESPONSIVE v2 — topbar, header, footer, grid
   ============================================================ */

/* ── Hamburger no topbar ──────────────────────────────────── */

/* Desktop: esconder o burger do topbar (OJS já esconde o do header) */
@media (min-width: 992px) {
    .sup_topbar_burger { display: none !important; }
}

/* Mobile: mostrar burger no topbar, esconder user menu */
@media (max-width: 991px) {
    .sup_topbar_burger {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 44px;
        height: 44px;
        background: none;
        border: none;
        cursor: pointer;
        flex-shrink: 0;
        padding: 0;
    }

    /* Linhas do hamburger — escuras no fundo branco */
    .sup_topbar_burger > span {
        position: relative;
        display: block;
        width: 22px;
        height: 16px;
        border-bottom: 3px solid #979694;
        text-indent: -9999px;
        overflow: hidden;
    }
    .sup_topbar_burger > span::before,
    .sup_topbar_burger > span::after {
        content: '';
        position: absolute;
        left: 0;
        width: 100%;
        height: 3px;
        background: #2E2D29;
    }
    .sup_topbar_burger > span::before { top: 0; }
    .sup_topbar_burger > span::after  { top: 7px; }

    /* X quando aberto */
    .sup_topbar_burger.pkp_site_nav_toggle--transform > span {
        border-bottom: 0;
    }
    .sup_topbar_burger.pkp_site_nav_toggle--transform > span::before {
        top: 7px;
        transform: rotate(-45deg);
    }
    .sup_topbar_burger.pkp_site_nav_toggle--transform > span::after {
        top: 7px;
        transform: rotate(45deg);
    }

    /* Esconder user menu no topbar em mobile */
    .sup_topbar_user_menu { display: none !important; }

    /* Topbar mobile: toda branca */
    .sup_topbar { background: #ffffff !important; }
    .sup_topbar_right { background: #ffffff !important; justify-content: flex-end; }
}

/* ── Topbar logo — tamanho estável sem saltos ─────────────── */
.sup_topbar > a,
.sup_topbar_logo_link {
    flex: 0 0 auto !important;
    min-width: 60px !important;
    padding: 0.75rem 1.25rem !important;
}

/* Remove o calc que causa saltos (já não precisamos dos breakpoints de margem) */
@media (min-width: 768px)  { .sup_topbar > a, .sup_topbar_logo_link { flex: 0 0 auto !important; } }
@media (min-width: 992px)  { .sup_topbar > a, .sup_topbar_logo_link { flex: 0 0 auto !important; } }
@media (min-width: 1200px) { .sup_topbar > a, .sup_topbar_logo_link { flex: 0 0 auto !important; } }

.sup_topbar img { height: 2rem; width: auto; }

/* ── Header mobile: padding + logo com espaço ─────────────── */
@media (max-width: 991px) {
    .pkp_structure_head { padding: 0; }

    .pkp_site_name_wrapper {
        height: auto !important;
        padding: 0.75rem 1.25rem !important;
        display: flex;
        align-items: center;
    }

    .pkp_site_name {
        position: static !important;
        left: auto !important;
        padding: 0 !important;
    }

    .pkp_site_name .is_img img {
        max-height: 3rem !important;
        height: auto;
        width: auto;
    }

    .pkp_site_name .is_text {
        font-size: 1.25rem !important;
        line-height: 1.3;
    }
}

/* ── Nav menu mobile: dropdown abaixo do header ──────────── */
@media (max-width: 991px) {
    .pkp_site_nav_menu {
        position: relative;
    }

    .pkp_site_nav_menu--isOpen {
        display: block !important;
    }

    .pkp_site_nav_menu--isOpen .pkp_navigation_primary_wrapper {
        display: block !important;
        width: 100% !important;
        padding: 0.5rem 0 1rem !important;
        border-top: 1px solid #979694;
    }

    .pkp_site_nav_menu--isOpen .sup_nav_primary {
        display: block !important;
    }

    .pkp_site_nav_menu--isOpen .sup_nav_item,
    .pkp_site_nav_menu--isOpen .sup_has_dropdown {
        display: block !important;
    }

    .pkp_site_nav_menu--isOpen .sup_nav_link {
        display: block !important;
        padding: 0.875rem 1.25rem !important;
        border-bottom: 1px solid #979694;
    }

    .pkp_site_nav_menu--isOpen .sup_dropdown {
        display: block !important;
        position: static !important;
        box-shadow: none !important;
        border: none !important;
        background: #f8f8f8;
        padding: 0 !important;
    }

    .pkp_site_nav_menu--isOpen .sup_dropdown li a {
        padding-left: 2.5rem !important;
        font-size: 1rem !important;
    }

    .pkp_site_nav_menu--isOpen .sup_nav_search_wrap,
    .pkp_site_nav_menu--isOpen .sup_nav_submit_wrap {
        padding: 0.75rem 1.25rem;
    }
}

/* ── Footer: seguir a mesma grid do conteúdo ─────────────── */
.sup_footer_columns,
.sup_footer_bottom {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}

.sup_footer_divider {
    width: calc(100% - 2.5rem) !important;
    margin: 0 auto !important;
}

@media (min-width: 768px) {
    .sup_footer_columns,
    .sup_footer_bottom { width: 728px !important; padding-left: 0 !important; padding-right: 0 !important; margin: 0 auto !important; }
    .sup_footer_divider { width: 728px !important; }
}

@media (min-width: 992px) {
    .sup_footer_columns,
    .sup_footer_bottom { width: 952px !important; }
    .sup_footer_divider { width: 952px !important; }
}

@media (min-width: 1200px) {
    .sup_footer_columns,
    .sup_footer_bottom { width: 1160px !important; }
    .sup_footer_divider { width: 1160px !important; }
}

/* ── Homepage grid: full width + sem linhas verticais mobile ─ */
@media (max-width: 767px) {
    .sup_article_item .obj_article_summary,
    .sup_article_item { width: 100% !important; max-width: 100% !important; box-sizing: border-box; }

    .pkp_structure_main > div:not(.page_index_journal):not(.obj_issue_toc):not(.page_issue),
    .pkp_structure_main > section:not(.current_issue) {
        width: 100% !important;
        padding-left: 1.25rem !important;
        padding-right: 1.25rem !important;
        box-sizing: border-box !important;
    }
}

/* ============================================================
   FIXES: alinhamento logo SUP / separador topbar / mobile grid
   ============================================================ */

/* 1. Logo SUP — bottom alinha com topo do logo journal + menu
      Remove o padding-top que o default theme coloca no header wrapper */
@media (min-width: 992px) {
    .pkp_head_wrapper {
        padding-top: 0 !important;
    }
    .pkp_navigation_primary_row {
        margin-top: 0 !important;
    }
    .pkp_site_name_wrapper {
        padding-top: 0.75rem;
        padding-bottom: 0.75rem;
    }
}

/* 2. Hamburger: remover position:absolute herdado do default theme
      para ficar no lugar certo dentro do flex do topbar */
.sup_topbar_burger {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 44px !important;
    height: 44px !important;
}

/* 3. Separador vertical no topbar: garantir em todos os viewports */
.sup_topbar_logo_link,
.sup_topbar > a {
    border-right: 1px solid #979694 !important;
}

/* 4. Mobile (< 768px): sup_issue_info_inner e cards largura total, sem bordas laterais */
@media (max-width: 767px) {

    .sup_issue_info_block {
        width: 100% !important;
        max-width: 100% !important;
        border-left: none !important;
        border-right: none !important;
    }

    .sup_issue_info_inner {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        box-sizing: border-box !important;
    }

    /* Cards dos artigos: sem bordas laterais, largura total */
    .sup_article_item {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .sup_article_item .obj_article_summary {
        width: 100% !important;
        max-width: 100% !important;
        border-left: none !important;
        border-right: none !important;
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        box-sizing: border-box !important;
    }

    /* Remover bordas verticais do contentor da issue TOC */
    .obj_issue_toc,
    .page_index_journal {
        border-left: none !important;
        border-right: none !important;
    }
}

/* Current issue: remover imagem de fundo abaixo de 768px */
@media (max-width: 767px) {
    .sup_issue_info_block {
        background-image: none !important;
        background-color: #ffffff !important;
    }
}

/* Hamburger: centrado verticalmente na topbar */
.sup_topbar_right {
    align-items: center !important;
}

.sup_topbar_burger {
    display: none;
    align-self: center !important;
    margin: 0 !important;
    top: 0 !important;
}

@media (max-width: 991px) {
    .sup_topbar_burger {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

@media (max-width: 767px) {
    .sup_issue_info_inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 767px) {
    .sup_issue_info_inner {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 767px) {
    .sup_issue_info_block {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Restore topbar logo cell alignment with content grid */
@media (min-width: 768px) {
    .sup_topbar > a,
    .sup_topbar_logo_link {
        flex: 0 0 calc((100% - 728px) / 2) !important;
        min-width: 60px !important;
    }
}
@media (min-width: 992px) {
    .sup_topbar > a,
    .sup_topbar_logo_link {
        flex: 0 0 calc((100% - 952px) / 2) !important;
    }
}
@media (min-width: 1200px) {
    .sup_topbar > a,
    .sup_topbar_logo_link {
        flex: 0 0 calc((100% - 1160px) / 2) !important;
    }
}

/* Restore journal logo section padding on desktop */
@media (min-width: 992px) {
    .pkp_head_wrapper {
        padding-top: 2rem !important;
    }
}

/* Topbar logo: align with content grid but never squish the logo */
@media (min-width: 768px) {
    .sup_topbar > a,
    .sup_topbar_logo_link {
        flex: 0 0 auto !important;
        width: calc((100% - 728px) / 2) !important;
        min-width: fit-content !important;
    }
}
@media (min-width: 992px) {
    .sup_topbar > a,
    .sup_topbar_logo_link {
        flex: 0 0 auto !important;
        width: calc((100% - 952px) / 2) !important;
        min-width: fit-content !important;
    }
}
@media (min-width: 1200px) {
    .sup_topbar > a,
    .sup_topbar_logo_link {
        flex: 0 0 auto !important;
        width: calc((100% - 1160px) / 2) !important;
        min-width: fit-content !important;
    }
}

/* Mobile: remove border-right do logo link na topbar */
@media (max-width: 767px) {
    .sup_topbar > a,
    .sup_topbar_logo_link {
        border-right: none !important;
    }
}

/* Hamburger: altura igual à topbar para alinhar ao centro verticalmente */
@media (max-width: 991px) {
    .sup_topbar_burger {
        height: 4rem !important;
        align-self: stretch !important;
        top: auto !important;
        margin: 0 !important;
    }
}

@media (max-width: 767px) {
    .pkp_structure_main > div {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 767px) {
    .pkp_structure_content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* Issue page: info block sem imagem de fundo */
.sup_issue_info_block--no-bg {
    background-image: none !important;
    background-color: #ffffff !important;
}

/* Current issue page: remover strokes superior, esquerda e direita */

/* Current issue page: remover border-bottom do h1 (stroke por baixo dos breadcrumbs), strokes left/right no info inner, border-top no info block */
.page_issue > h1 {
    border-bottom: none !important;
}
.page_issue .sup_issue_info_inner {
    border-left: none !important;
    border-right: none !important;
}
.page_issue .sup_issue_info_block {
    border-top: none !important;
}

/* Archive page: issue summary no estilo do journal */
.page_issue_archive .issues_archive {
    list-style: none;
    margin: 0;
    padding: 0;
}

.page_issue_archive .issues_archive > li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.page_issue_archive .sup_issue_summary {
    display: block;
    width: 100%;
    background-color: #ffffff;
    border-top: 1px solid #979694;
    box-sizing: border-box;
}

.page_issue_archive .issues_archive > li:last-child .sup_issue_summary {
    border-bottom: 1px solid #979694;
}

.page_issue_archive .sup_issue_summary_link {
    display: block;
    padding: 2rem 2.75rem;
    text-decoration: none;
    color: #2E2D29;
    box-sizing: border-box;
}

.page_issue_archive .sup_issue_summary_link:hover {
    background-color: #F2F2F2;
    text-decoration: none;
}

.page_issue_archive .sup_issue_summary .current_issue_meta {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    color: #2E2D29;
    margin-bottom: 0.5rem;
    text-transform: none;
    letter-spacing: 0;
}

.page_issue_archive .sup_issue_summary .current_issue_title {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.2;
    color: #2E2D29;
    margin: 0.25rem 0 0.75rem;
    padding: 0;
    border: none;
}

.page_issue_archive .sup_issue_summary .published {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 0.875rem;
    color: #2E2D29;
}

.page_issue_archive .sup_issue_summary .published .label {
    font-weight: 500;
    margin-right: 0.25rem;
}

@media (max-width: 767px) {
    .page_issue_archive .sup_issue_summary_link {
        padding: 1.5rem 1rem;
    }
    .page_issue_archive .sup_issue_summary .current_issue_title {
        font-size: 1.5rem;
    }
}

/* Current issue page: sem padding-bottom no pkp_structure_content */
.pkp_page_issue .pkp_structure_content {
    padding-bottom: 0 !important;
}

/* Issues nav: button sem estilos de browser, igual aos links */
.sup_nav_btn {
    background: none !important;
    border: none !important;
    cursor: pointer !important;
    -webkit-appearance: none;
    appearance: none;
}

/* Archives: left/right strokes nos issue items */
.page_issue_archive .sup_issue_summary {
    border-left: 1px solid #979694 !important;
    border-right: 1px solid #979694 !important;
}

/* Sem padding-bottom nas páginas de issue */
.pkp_page_issue .pkp_structure_content,
.pkp_page_issue_archive .pkp_structure_content {
    padding-bottom: 0 !important;
}

/* Current issue page: sem padding lateral, top/bottom a metade */
.page_issue .sup_issue_info_inner {
    padding: 2.4rem 0 !important;
}

/* Current issue page: padding-top 24px */
.page_issue .sup_issue_info_inner {
    padding-top: 1.5rem !important;
}

/* Archives: esconder título h1 */
.page_issue_archive > h1 {
    display: none !important;
}


/* ============================================================
   ISSUE PAGE — info block no topo do obj_issue_toc
   ============================================================ */

/* Activar border-top (override da regra anterior que a removia) */
.page_issue .obj_issue_toc .sup_issue_info_block {
    border-top: 1px solid #979694 !important;
}

/* Esconder h1 (a info passa a estar no bloco acima) */
.page_issue > h1 {
    display: none !important;
}

/* Título do issue fora do contexto .current_issue */
.sup_issue_info_block .current_issue_title {
    font-family: 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: #2E2D29;
    margin: 0.5rem 0 0 0;
}

/* ============================================================
   BREADCRUMBS — ocultar em archive e current issue
   ============================================================ */
.page_issue_archive .cmp_breadcrumbs,
.page_issue .cmp_breadcrumbs {
    display: none !important;
}

/* ============================================================
   PKP_STRUCTURE_MAIN — padding-top 48px (todas excepto homepage)
   ============================================================ */
body:not(.pkp_page_index) .pkp_structure_main {
    padding-top: 48px !important;
}

/* ============================================================
   ISSUE PAGE — correcções do bloco de info
   ============================================================ */

/* Título igual à homepage (2rem) */
.sup_issue_info_block .current_issue_title {
    font-size: 2rem !important;
}

/* Padding top+bottom 64px no sup_issue_info_inner da issue page */
.page_issue .sup_issue_info_inner {
    padding: 4rem 0 !important;
}

/* Archives: padding top+bottom 64px no pkp_structure_content */
.pkp_page_issue_archive .pkp_structure_content {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

/* Archives: 64px top+bottom directamente no wrapper da página */
.page_issue_archive {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
}

/* Remover padding-bottom 48px do pkp_structure_content nas páginas de issue e archive */
body.pkp_page_issue .pkp_structure_content,
body.pkp_page_issue_archive .pkp_structure_content {
    padding-bottom: 0 !important;
}

/* Homepage issue title: h1, 3rem */
.current_issue .current_issue_title {
    font-size: 3rem !important;
}

/* ============================================================
   TIPOGRAFIA — h1 global: 2.5rem / line-height 1.2
   ============================================================ */
h1 {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
}

/* Homepage issue title mantém 3rem */
.current_issue .current_issue_title {
    font-size: 3rem !important;
    line-height: 1.2 !important;
}

/* ============================================================
   ESPAÇAMENTOS UNIFORMES — escala 8px base
   ============================================================ */

/* Article box: padding interno 2rem top/bottom (32px) */
.sup_article_item .obj_article_summary {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

/* Section label → título: 1rem (16px) */
.sup_article_item .sup_section_label {
    margin-bottom: 1rem !important;
}

/* Título do artigo: line-height relativo 1.2, margin-bottom 1rem */
.sup_article_item .obj_article_summary .title,
.sup_article_item .obj_article_summary .title a {
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
}

/* Meta (autores, etc): margin-top 0.5rem (8px) */
.sup_article_item .obj_article_summary .meta {
    margin-top: 0.5rem !important;
}

/* Galley buttons: margin-top 1.5rem (24px), em rem */
.sup_article_item .galleys_links {
    margin-top: 1.5rem !important;
}

/* Issue info block inner: padding 4rem 0 (64px) uniforme */
.sup_issue_info_inner {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
}

/* Homepage issue title: 2.5rem */
.current_issue .current_issue_title {
    font-size: 2.5rem !important;
}

/* Headings max-width: 60ch */
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4,
.pkp_structure_main h5,
.pkp_structure_main h6 {
    max-width: 60ch !important;
}

/* ============================================================
   DESIGN SYSTEM — uniformização tipografia e espaçamentos
   ============================================================ */

/* Article title: line-height relativo 1.2 */
.sup_article_title {
    line-height: 1.2 !important;
}

/* Article subtitle: line-height 1.3, gap acima 0.75rem */
.sup_article_subtitle {
    line-height: 1.3 !important;
    margin-top: 0.75rem !important;
}

/* Authors: gap 1rem abaixo do título/subtítulo */
.sup_article_authors {
    margin-top: 1rem !important;
}

/* Header inner: padding uniforme 2rem */
.sup_header_inner {
    padding: 2rem !important;
}

/* Article main (abstract, keywords, refs): padding uniforme 2rem */
.sup_article_main {
    padding: 2rem !important;
}

/* Abstract label: line-height 1.2, margin-bottom 1rem */
.sup_abstract_label {
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
}

/* Abstract paragraphs: gap 1rem */
.sup_abstract_text p {
    margin-bottom: 1rem !important;
}

/* Article issue meta bar: padding 0.75rem */
.sup_article_issue_meta {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}

/* Sidebar label: 0.75rem / margin-bottom 0.5rem */
.sup_sidebar_label {
    font-size: 0.75rem !important;
    margin-bottom: 0.5rem !important;
}

/* Sidebar value: 1rem / line-height 1.5 */
.sup_sidebar_value {
    font-size: 1rem !important;
    line-height: 1.5 !important;
}

/* Sidebar item: padding 1rem 0 */
.sup_sidebar_item {
    padding: 1rem 0 !important;
}

/* Galley buttons: padding em rem */
.sup_galley_list .obj_galley_link {
    padding: 0.5rem 1.25rem !important;
}

/* ============================================================
   DESIGN SYSTEM — current issue header block
   ============================================================ */
.current_issue_meta {
    gap: 1rem !important;
    font-size: 0.875rem !important;
    margin-bottom: 0.5rem !important;
}

.current_issue_meta .ci_label {
    padding: 0.25rem 0.75rem !important;
}

.current_issue_meta .ci_volume,
.current_issue_meta .ci_number,
.current_issue_meta .ci_year {
    font-size: 1rem !important;
}

/* ============================================================
   CURRENT ISSUE PAGE — igualar ao bloco da homepage
   ============================================================ */

/* Título: 2.5rem igual à homepage, margin-top 0 (gap vem só do meta margin-bottom) */
.sup_issue_info_block .current_issue_title {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    margin-top: 0 !important;
}

/* ============================================================
   AUTORES — lista simples separada por vírgulas (sem pills)
   ============================================================ */
.sup_article_authors {
    display: block !important;
    gap: 0 !important;
}

.sup_author_item {
    display: inline !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    background: none !important;
    font-size: 1rem !important;
    color: #2E2D29 !important;
    line-height: 1.5 !important;
}

.sup_author_item::after {
    content: ', ';
}

.sup_author_item:last-child::after {
    content: '' !important;
}

/* ============================================================
   HEADER — logos em flex row space-between
   ============================================================ */
.pkp_site_name_wrapper {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    flex: 1 !important;
}

.pkp_site_name {
    flex-shrink: 0 !important;
    width: auto !important;
}

.sup_header_sup_logo {
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
}

.sup_header_sup_logo img {
    height: 2rem;
    width: auto;
    display: block;
}

/* Remover pseudo-elementos do pkp_site_name_wrapper que criam espaço extra como flex items */
.pkp_site_name_wrapper::before,
.pkp_site_name_wrapper::after {
    display: none !important;
    content: none !important;
}

.sup_header_sup_logo img {
    height: 3rem !important;
}

.sup_header_sup_logo img {
    height: 2.5rem !important;
}

.sup_article_issue_meta {
    font-size: 1rem !important;
}

.sup_article_issue_meta {
    font-size: 0.875rem !important;
}

.pkp_site_nav_menu {
    padding-bottom: 0.75rem !important;
}

/* ============================================================
   DIGITAL BLUE COLOR SYSTEM — SEMANTIC OVERRIDES
   ============================================================ */

/* Sky (#4298B5) — Badges, section tags, icons */
.ci_label,
.label_issue,
.current_issue_badge {
    background-color: #4298B5 !important;
    border-color: #979694 !important;
    color: #fff !important;
}

.sup_section_label {
    color: #4298B5 !important;
    background: none !important;
}

/* Search icon */
.search_block .pkp_search .search_prompt,
.pkp_search_toggle,
.pkp_search button[type=submit],
.pkp_search .search_toggle,
header .pkp_search svg,
header .pkp_search .fa,
.pkp_site_nav_menu .search_toggle svg {
    color: #4298B5 !important;
    fill: #4298B5 !important;
}

/* Sky Dark (#016895) — Footer, separators, high-contrast text */
.pkp_structure_footer,
.pkp_structure_footer a,
.foot_left,
.foot_right {
    border-color: #016895 !important;
}

.pkp_structure_footer hr,
.footer_separator,
.sup_footer_divider {
    background-color: #016895 !important;
    border-color: #016895 !important;
}

/* Dark (#00548F) — Article list title links (contrast over white) */
.obj_article_summary .title a,
.obj_article_summary h3 a,
.articles_grid .title a,
.issue_toc .title a,
.cmp_article_list .title a {
    color: #00548F !important;
}

.obj_article_summary .title a:hover,
.obj_article_summary h3 a:hover,
.articles_grid .title a:hover,
.issue_toc .title a:hover,
.cmp_article_list .title a:hover {
    color: #006CB8 !important;
}

/* Light (#67AFD2) — Subtle borders, form input backgrounds */
.pkp_structure_main input[type=text],
.pkp_structure_main input[type=email],
.pkp_structure_main input[type=search],
.pkp_structure_main textarea,
.pkp_structure_main select {
    border-color: #67AFD2 !important;
    background-color: rgba(103, 175, 210, 0.08) !important;
}

.pkp_structure_main input[type=text]:focus,
.pkp_structure_main input[type=email]:focus,
.pkp_structure_main input[type=search]:focus,
.pkp_structure_main textarea:focus,
.pkp_structure_main select:focus {
    border-color: #006CB8 !important;
    background-color: #fff !important;
    outline-color: #6FC3FF !important;
}

/* Section separator borders */
.section_divider,
.sup_section_divider,
.pkp_structure_content hr {
    border-color: #67AFD2 !important;
}

/* ── Hamburger: centrar verticalmente no topbar mobile ──────── */
@media (max-width: 991px) {
    .sup_topbar {
        align-items: center !important;
    }
    .sup_topbar_right {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }
    .sup_topbar_burger {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 44px !important;
        align-self: center !important;
    }
}

/* ── BURGER FIX: override position:absolute do OJS core ─────── */
/* OJS core força position:absolute; top:0; left:0 no pkp_site_nav_toggle */
/* Precisamos de mais especificidade para ganhar */
.sup_topbar .sup_topbar_right .pkp_site_nav_toggle.sup_topbar_burger,
.sup_topbar .pkp_site_nav_toggle.sup_topbar_burger {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    align-self: center !important;
    margin: 0 !important;
    z-index: auto !important;
    box-shadow: none !important;
}

/* ── Logo Stanford: menor em mobile ─────────────────────────── */
@media (max-width: 991px) {
    .sup_header_sup_logo img {
        height: 1.75rem !important;
    }
}

/* ── Topbar mobile: sem border-bottom abaixo de 992px ───────── */
@media (max-width: 991px) {
    .sup_topbar {
        border-bottom: none !important;
    }
}

/* ── Hamburger: esconder ACIMA de 992px com máxima especificidade ── */
@media (min-width: 992px) {
    .sup_topbar .sup_topbar_right .pkp_site_nav_toggle.sup_topbar_burger,
    .sup_topbar .pkp_site_nav_toggle.sup_topbar_burger,
    .sup_topbar_burger {
        display: none !important;
    }
}

/* ── Logo Stanford: tamanho normal até 425px, reduz abaixo ──── */
@media (max-width: 991px) {
    .sup_header_sup_logo img {
        height: 2.5rem !important;
    }
}
@media (max-width: 425px) {
    .sup_header_sup_logo img {
        height: 1.75rem !important;
    }
}

/* ============================================================
   FIXES: nav hover jump, dropdown align, section tag, dl hover
   ============================================================ */

/* 1. Nav button jump: reset button para não saltar ao hover ── */
.sup_nav_primary .sup_nav_btn,
.sup_nav_primary .sup_nav_btn:hover,
.sup_nav_primary .sup_nav_btn:focus,
.sup_nav_primary .sup_nav_btn:active {
    background: none !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
    margin: 0 !important;
    line-height: 1 !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

/* Garantir alinhamento idêntico entre <button> e <a> no nav */
.sup_nav_primary .sup_nav_item > .sup_nav_link {
    line-height: 1 !important;
    vertical-align: baseline !important;
    border: none !important;
}


/* 3. Section tag (Articles): 14px = 0.875rem */
.sup_section_label,
.sup_section_title,
.section_title,
.section_label {
    font-size: 0.875rem !important;
}

/* 4. Download button hover: azul (igual article page) em todo o lado */
.sup_article_item .obj_galley_link:hover {
    background: #006CB8 !important;
    border-color: #006CB8 !important;
    color: #ffffff !important;
}

/* 2. Dropdown do Issues alinhado ao texto do botão (padding-left:0)
      Mantém a caixa à direita (left:0) e remove padding-left dos items */
.sup_nav_primary > li:first-child.sup_has_dropdown .sup_dropdown {
    left: 0 !important;
}
.sup_nav_primary > li:first-child.sup_has_dropdown .sup_dropdown li a {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

/* Garantir que o hover dos items não ultrapassa a largura do dropdown */
.sup_dropdown {
    overflow: hidden !important;
    box-sizing: border-box !important;
}
.sup_dropdown li {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
}
.sup_dropdown li a {
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* ── page_issue: remover padding lateral na current issue ───── */
.pkp_page_issue .page_issue,
.page_issue {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ── page_issue: sem padding lateral abaixo de 768px ────────── */
@media (max-width: 767px) {
    .page_issue .cmp_breadcrumbs {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .page_issue > h1 {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .page_issue .sup_issue_info_inner {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ── Root font-size: 1rem = 16px ─────────────────────────────── */
html {
    font-size: 16px !important;
}

/* ── Article title hover: sem mudança (fundo do card basta) ── */
.sup_article_item .obj_article_summary .title a:hover,
.obj_article_summary .title a:hover,
.issue_toc .title a:hover {
    color: #00548F !important;
    background: none !important;
    text-decoration: none !important;
    border-bottom: none !important;
}

/* ── H1 homepage: semi-bold (600) em vez de bold ────────────── */
.current_issue .current_issue_title,
.sup_issue_info_block .current_issue_title,
.page_index_journal h1.current_issue_title {
    font-weight: 600 !important;
}

/* ── Article title: zero mudança no hover ───────────────────── */
.sup_article_item .obj_article_summary .title a,
.sup_article_item .obj_article_summary .title a:hover,
.sup_article_item .obj_article_summary .title a:focus,
.obj_article_summary .title a,
.obj_article_summary .title a:hover,
.obj_article_summary .title a:focus,
.issue_toc .title a,
.issue_toc .title a:hover,
.issue_toc .title a:focus,
.articles_grid .title a:hover,
.cmp_article_list .title a:hover {
    color: #00548F !important;
    background: transparent !important;
    text-decoration: none !important;
    border-bottom: none !important;
    border: none !important;
}

/* E o card/summary não muda de fundo ao hover */
.sup_article_item:hover,
.sup_article_item .obj_article_summary:hover {
    background: transparent !important;
}

/* ── Separação logos → nav: maior gap ───────────────────────── */
.pkp_navigation_primary_row {
    margin-top: 1.5rem !important;
}

/* ── Journal logo SVG: dimensões ────────────────────────────── */
.pkp_site_name .is_img img.journal_logo_svg,
.pkp_site_name .is_img img[src*='jmsacllogo'] {
    height: 3rem;
    width: auto;
    display: block;
}

/* ── Logo fallback texto: mesmo estilo que is_img ────────────── */
.pkp_site_name .sup_logo_text_fallback {
    display: inline-flex !important;
    align-items: center;
    font-family: 'DM Sans', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: #2E2D29 !important;
    text-decoration: none !important;
    line-height: 1.2;
}

/* ── SVG logo do journal: forçar dimensões (SVG sem width/height intrínseco) ── */
.pkp_site_name .is_img img[src$='.svg'],
.pkp_site_name img.journal_logo_svg,
.pkp_site_name a.is_img img.journal_logo_svg {
    height: 3rem !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 150px !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.pkp_site_name a.is_img {
    display: inline-block !important;
    line-height: 0 !important;
}

/* ── Journal logo SVG: tamanho maior ────────────────────────── */
.pkp_site_name .is_img img[src$='.svg'],
.pkp_site_name img.journal_logo_svg {
    height: 5rem !important;
    min-width: 200px !important;
}

/* Forçar renderização SVG nítida */
.pkp_site_name img.journal_logo_svg {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* ── Journal logo SVG: tamanho maior + altura flex ──────────── */
.pkp_site_name .is_img img[src$='.svg'],
.pkp_site_name img.journal_logo_svg {
    height: 6rem !important;
    min-height: 5rem !important;
    width: auto !important;
    min-width: 260px !important;
    max-width: none !important;
}

@media (max-width: 991px) {
    .pkp_site_name .is_img img[src$='.svg'],
    .pkp_site_name img.journal_logo_svg {
        height: 4rem !important;
        min-height: 3.5rem !important;
        min-width: 180px !important;
    }
}

/* ── Logo Stanford: alinhado em baixo da wrapper ─────────────── */
.sup_header_sup_logo {
    align-self: flex-end !important;
}

/* ── Abstract: mais espaço entre título e texto ─────────────── */
.sup_abstract_label {
    margin-bottom: 1rem !important;
}

/* Remover 48px padding-bottom em todas as páginas de issue (especificidade forçada) */
body.pkp_page_issue .pkp_structure_content {
    padding-bottom: 0 !important;
}

/* Issue page: layout duas colunas — cover à esquerda, meta à direita */
.sup_issue_info_with_cover {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 2.5rem !important;
}

.sup_issue_cover {
    flex: 0 0 auto;
    width: 180px;
}

.sup_issue_cover img {
    width: 100%;
    height: auto;
    display: block;
}

.sup_issue_meta_col {
    flex: 1;
    min-width: 0;
}

@media (max-width: 767px) {
    .sup_issue_info_with_cover {
        flex-direction: column !important;
    }
    .sup_issue_cover {
        width: 120px;
    }
}

/* Abstract: gap label → texto consistente com heading→paragraph do tema (1.5rem) */
.sup_abstract_label {
    margin-bottom: 1.5rem !important;
}

/* Footer logo: remover filter, dimensões explícitas */
.sup_footer_logo img {
    display: block !important;
    height: 2.5rem !important;
    width: auto !important;
    filter: none !important;
    max-height: none !important;
}

/* Footer logo: aumentar tamanho */
.sup_footer_logo img {
    height: 3.5rem !important;
}

/* Archives: layout duas colunas — cover à esquerda, meta à direita */
.page_issue_archive .sup_issue_summary_link {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 2rem !important;
}

.page_issue_archive .sup_issue_cover {
    flex: 0 0 auto;
    width: 100px;
}

.page_issue_archive .sup_issue_cover img {
    width: 100%;
    height: auto;
    display: block;
}

.page_issue_archive .sup_issue_meta_col {
    flex: 1;
    min-width: 0;
}

@media (max-width: 767px) {
    .page_issue_archive .sup_issue_summary_link {
        gap: 1.25rem !important;
    }
    .page_issue_archive .sup_issue_cover {
        width: 70px;
    }
}

/* Archives: gap entre issues */
.page_issue_archive .issues_archive > li + li {
    margin-top: 1rem !important;
}

/* Archives: gap entre issues via flex no ul */
.page_issue_archive .issues_archive {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
}

/* Archives + issue page: box-shadow suave nas covers */
.sup_issue_cover img {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18) !important;
}

/* Covers: sombra mais subtil e académica */
.sup_issue_cover img {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10), 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

/* Cover: alinhar ao centro verticalmente relativamente ao conteúdo da direita */
.sup_issue_info_with_cover,
.page_issue_archive .sup_issue_summary_link {
    align-items: center !important;
}

/* Keywords: remover padding-left do default theme */
.sup_article_main .item.keywords {
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* Abstract: gap entre label e texto */
.sup_article_abstract {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
}

.sup_article_abstract .sup_abstract_label {
    margin-bottom: 0 !important;
}

/* ============================================================
   WCAG 2.0 AA — accessibility overrides
   ============================================================ */

/* 1.3.1 / 2.4.6 — Archives page must expose its <h1>.
   Previously hidden with display:none; restore as visible heading. */
.page_issue_archive > h1 {
    display: block !important;
    font-family: 'WhyteInktrap', 'DM Sans', sans-serif;
    font-weight: 700;
    font-size: 2.5rem;
    line-height: 1.15;
    color: #2E2D29;
    margin: 0 0 2rem 0;
    padding: 0;
}

/* 1.4.3 — Text contrast fixes.
   #999 on #fff = 2.85:1 (fail). Darken to #595959 = 7.0:1.
   #4298B5 on #fff = 3.2:1 (fail normal text). Darken to #2E7490 = 5.0:1. */
.current_issue_meta .ci_sep {
    color: #595959;
}

.current_issue_badge {
    background-color: #2E7490 !important;
    border-color: #2E7490 !important;
    color: #fff !important;
}

.sup_section_label {
    color: #2E7490 !important;
}

/* Dropdown-open visual state, paired with JS toggling aria-expanded.
   Mirrors the existing :hover reveal so keyboard users get parity. */
.sup_has_dropdown.sup_dropdown_open > .sup_dropdown {
    display: block;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* ============================================================
   WCAG 2.0 AA — second pass: remaining contrast fails
   ============================================================ */

/* 1.4.3 — #767674 on #fff = 4.4:1 (fails AA for 14px text).
   Bump to #6D6C69 = 5.0:1 (AA). Applied to meta block text. */
.sup_meta_section,
.sup_meta_doi_label,
.sup_meta_doi_link,
.sup_meta_doi_link:link,
.sup_meta_doi_link:visited {
    color: #6D6C69 !important;
}

.sup_article_meta_block {
    color: #6D6C69 !important;
}

/* 1.4.3 — Breadcrumb separator #aaa (2.3:1) → #6D6C69 (5.0:1).
   Even if decoratively marked aria-hidden, visible symbols still benefit. */
.page_issue .cmp_breadcrumbs .separator,
.cmp_breadcrumbs .separator {
    color: #6D6C69 !important;
}

/* 1.4.11 — Focus indicator must reach 3:1 against adjacent colors.
   #6FC3FF vs white = 2.0:1 (fail). Use #006CB8 = 5.8:1 and thicken. */
.pkp_structure_main input[type=text]:focus,
.pkp_structure_main input[type=email]:focus,
.pkp_structure_main input[type=password]:focus,
.pkp_structure_main input[type=search]:focus,
.pkp_structure_main input[type=url]:focus,
.pkp_structure_main textarea:focus,
.pkp_structure_main select:focus {
    outline: 2px solid #006CB8 !important;
    outline-offset: 2px !important;
    border-color: #006CB8 !important;
}

/* 1.4.11 — Input borders (#67AFD2 = 1.9:1) must reach 3:1 to be perceivable.
   Use #006CB8 (5.8:1) while keeping the soft tinted background. */
.pkp_structure_main input[type=text],
.pkp_structure_main input[type=email],
.pkp_structure_main input[type=password],
.pkp_structure_main input[type=search],
.pkp_structure_main input[type=url],
.pkp_structure_main textarea,
.pkp_structure_main select {
    border-color: #006CB8 !important;
}

/* Decorative horizontal rules — OK to stay light; exclude from the rule above. */
.sup_section_divider,
.pkp_structure_content hr {
    border-color: #67AFD2 !important; /* decorative, exempt from 1.4.11 */
}

/* Archives: every card gets full 4-side stroke (top was already set,
   bottom was only on :last-child — extend to all). */
.page_issue_archive .sup_issue_summary {
    border-bottom: 1px solid #979694 !important;
}

/* ============================================================
   HOMEPAGE HERO — meta row redesign per screenshot 2026-04-23
   [Current Issue] Vol / No / (Year)  Published: date
   ============================================================ */

/* Re-enable '/' separator (was previously hidden) */
.page_index_journal .current_issue_meta .ci_sep {
    display: inline !important;
    margin: 0 0.4rem !important;
    color: #6D6C69 !important;
}

/* Outlined pill for Current Issue badge (replaces filled variant) */
.page_index_journal .current_issue_meta .ci_label {
    order: 0;
    margin: 0 0.75rem 0 0 !important;
    background-color: transparent !important;
    border: 1px solid #2E7490 !important;
    color: #2E7490 !important;
    text-transform: none !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    border-radius: 999px !important;
    padding: 0.3rem 0.875rem !important;
    font-size: 0.8125rem !important;
    line-height: 1 !important;
}

/* Inline Published date at end of row */
.page_index_journal .current_issue_meta .ci_published {
    margin-left: 0.75rem;
    color: #6D6C69;
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 400;
    font-size: 0.9375rem;
}

.page_index_journal .current_issue_meta .ci_published_label {
    font-weight: 500;
    color: #6D6C69;
    margin-right: 0.15rem;
}

/* Align the meta row horizontally, allow wrap on small screens */
.page_index_journal .current_issue_meta {
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 0 !important;
    row-gap: 0.5rem !important;
}

/* ============================================================
   HOMEPAGE HERO — badge + spacing fine tuning (2026-04-23)
   ============================================================ */

/* Badge: 20px horizontal / 4px vertical padding, 1rem text, stroke only, 100px radius */
.page_index_journal .current_issue_meta .ci_label {
    padding: 4px 20px !important;
    font-size: 1rem !important;
    line-height: 1 !important;
    border-radius: 100px !important;
    background-color: transparent !important;
    border: 1px solid #2E7490 !important;
    color: #2E7490 !important;
}

/* Spacing: 24px (1.5rem) between meta row and title */
.page_index_journal .current_issue_meta {
    margin-bottom: 1.5rem !important;
}

/* 0.5rem between title and description */
.page_index_journal .current_issue_title {
    margin-bottom: 0.5rem !important;
}

.page_index_journal .sup_issue_description {
    margin-top: 0 !important;
}

/* ============================================================
   COVER IMAGES — drop shadow spec (2026-04-23)
   X:2 Y:2 Blur:8 Spread:0 Color:#000 @ 15%
   ============================================================ */
.sup_issue_cover img,
.page_issue_archive .sup_issue_cover img,
.page_index_journal .sup_issue_cover img,
.page_issue .sup_issue_cover img {
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.15) !important;
}

/* ============================================================
   HOMEPAGE HERO — glass effect (2026-04-23)
   Inner content area sits on top of the hero cover image.
   80% opacity white + 4px backdrop blur + frost/light at -45°.
   ============================================================ */
.page_index_journal .sup_issue_info_inner {
    background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(4px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(4px) saturate(120%) !important;
    /* Light source at -45° (top-left highlight) + subtle bottom-right shade */
    box-shadow:
        inset 1px 1px 0 rgba(255, 255, 255, 0.55),
        inset -1px -1px 0 rgba(0, 0, 0, 0.04),
        0 1px 2px rgba(0, 0, 0, 0.04) !important;
    /* Keep inner borders visible but softened */
    border-left-color: rgba(46, 45, 41, 0.25) !important;
    border-right-color: rgba(46, 45, 41, 0.25) !important;
}

/* Make sure the outer block remains the image canvas (no white bg hiding cover) */
.page_index_journal .sup_issue_info_block {
    background-color: transparent !important;
}

/* ============================================================
   NAV + TOPBAR — hero flush layout (2026-04-23)
   ============================================================ */

/* Topbar always white */
.sup_topbar {
    background-color: #ffffff !important;
}

/* Kill nav bottom padding so hero top line sits flush under buttons */
.pkp_head_wrapper {
    padding-bottom: 0 !important;
}

.pkp_navigation_primary_row {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.pkp_site_nav_menu {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Ensure the hero block sits immediately after the nav with no gap */
.page_index_journal,
.page_issue,
.pkp_structure_main {
    padding-top: 0 !important;
}

.page_index_journal .current_issue,
.page_index_journal .sup_issue_info_block {
    margin-top: 0 !important;
}

/* ============================================================
   HOMEPAGE HERO — meta color + description paragraph reset
   ============================================================ */

/* Vol / No / Year / separators / Published → #6D6C69 medium */
.page_index_journal .current_issue_meta .ci_volume,
.page_index_journal .current_issue_meta .ci_number,
.page_index_journal .current_issue_meta .ci_year,
.page_index_journal .current_issue_meta .ci_sep,
.page_index_journal .current_issue_meta .ci_published,
.page_index_journal .current_issue_meta .ci_published_label {
    color: #6D6C69 !important;
    font-weight: 500 !important;
}

/* Remove top margin on first paragraph inside hero description */
.page_index_journal .sup_issue_description > *:first-child,
.page_index_journal .sup_issue_description p:first-child,
.page_index_journal .sup_issue_description p {
    margin-top: 0 !important;
}

/* Published date value — medium weight (alongside label) */
.page_index_journal .current_issue_meta .ci_published,
.page_index_journal .current_issue_meta .ci_published * {
    font-weight: 500 !important;
    color: #6D6C69 !important;
}

/* ============================================================
   ARTICLE CARDS — per screenshot 2026-04-23
   Left accent stroke #EAEAEA + grey section label + inline authors
   + outlined HTML/PDF galley buttons.
   ============================================================ */

/* Left accent stroke (full content height) */
.sup_article_item .obj_article_summary {
    border-left: 1px solid #979694 !important;
    border-right-color: #979694 !important;
}

/* Remove harsh dark dividers between articles — use subtle grey */
.sup_article_item + .sup_article_item {
    border-top-color: #979694 !important;
}

.sup_article_item:last-child .obj_article_summary {
    border-bottom-color: #979694 !important;
}

/* Section label: uppercase grey (#6D6C69), not blue */
.sup_article_item .sup_section_label {
    color: #6D6C69 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    font-weight: 500 !important;
    font-size: 0.875rem !important;
    background: none !important;
    padding: 0 !important;
}

/* Authors: inline row with generous gap, no bullets */
.sup_article_item .sup_article_authors {
    list-style: none !important;
    margin: 0 0 1.25rem 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 2rem !important;
    row-gap: 0.25rem !important;
}

.sup_article_item .sup_author_item {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    display: inline-block;
}

.sup_article_item .sup_author_name {
    font-family: 'Source Sans 3', sans-serif;
    font-size: 1rem;
    font-weight: 400;
    color: #2E2D29;
}

/* Galley links list: inline buttons */
.sup_article_item .galleys_links {
    list-style: none;
    margin: 0.5rem 0 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.sup_article_item .galleys_links > li {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Galley button (HTML / PDF) — outlined blue rectangle */
.sup_article_item .sup_galley_btn,
.sup_article_item .obj_galley_link {
    display: inline-flex !important;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1.25rem !important;
    border: 1px solid #006CB8 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #006CB8 !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

.sup_article_item .sup_galley_btn:hover,
.sup_article_item .sup_galley_btn:focus,
.sup_article_item .obj_galley_link:hover,
.sup_article_item .obj_galley_link:focus {
    background: #006CB8 !important;
    color: #ffffff !important;
}

.sup_article_item .sup_galley_icon {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
}

/* ============================================================
   ARTICLE CARDS — revert border colors, add inner accent line
   (correction 2026-04-23)
   Outer/between borders stay #2E2D29 (as before).
   Lateral padding: 40px each side.
   Inside, at left edge of content, a 1px #EAEAEA vertical line
   spanning the content height only.
   ============================================================ */

/* Revert outer + between borders to original dark */
.sup_article_item .obj_article_summary {
    border-left: 1px solid #979694 !important;
    border-right: 1px solid #979694 !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    position: relative !important;
}

.sup_article_item + .sup_article_item {
    border-top-color: #979694 !important;
}

.sup_article_item:last-child .obj_article_summary {
    border-bottom-color: #979694 !important;
}

/* Inner left accent line — content height only, EAEAEA */
.sup_article_item .obj_article_summary::before {
    content: ;
    position: absolute;
    left: 40px;
    top: 1.5rem;      /* matches existing top padding */
    bottom: 1.5rem;   /* matches existing bottom padding */
    width: 1px;
    background-color: #EAEAEA;
    pointer-events: none;
}

/* Give the content a small left offset so it doesn't sit exactly on the line */
.sup_article_item .obj_article_summary > * {
    padding-left: 1.25rem;
    box-sizing: border-box;
}

/* ============================================================
   STROKES — global tone shift 2E2D29 → 979694
   Applies to all container strokes around hero + article cards.
   ============================================================ */

/* Hero block (top/bottom full-width strokes) */
.sup_issue_info_block {
    border-top-color: #979694 !important;
    border-bottom-color: #979694 !important;
}

/* Hero inner (left/right container strokes) */
.sup_issue_info_inner {
    border-left-color: #979694 !important;
    border-right-color: #979694 !important;
}

/* Article item dividers (between articles, full-width) */
.sup_article_item + .sup_article_item {
    border-top-color: #979694 !important;
}

.sup_article_item:last-child .obj_article_summary {
    border-bottom-color: #979694 !important;
}

/* Article card box (left/right container strokes + last bottom) */
.sup_article_item .obj_article_summary {
    border-left-color: #979694 !important;
    border-right-color: #979694 !important;
}

/* Issue page block (current issue page) */
.page_issue .sup_issue_info_block {
    border-top-color: #979694 !important;
    border-bottom-color: #979694 !important;
}

.page_issue .sup_issue_info_inner {
    border-left-color: #979694 !important;
    border-right-color: #979694 !important;
}

/* Archive cards (keep the same tone) */
.page_issue_archive .sup_issue_summary {
    border-top-color: #979694 !important;
    border-left-color: #979694 !important;
    border-right-color: #979694 !important;
}

.page_issue_archive .issues_archive > li:last-child .sup_issue_summary {
    border-bottom-color: #979694 !important;
}

/* ============================================================
   ARTICLE CARDS — correction pass 2026-04-23
   - Content aligned with the 40px padding edge (no extra inset)
   - Authors: 14px gap, max-width 600px, wrap to next line
   - Galley buttons: no icon
   ============================================================ */

/* Cancel the extra inner offset on card children — content now flush to stroke */
.sup_article_item .obj_article_summary > * {
    padding-left: 0 !important;
}

/* Stroke sits 1px before the content edge for a clean accent */
.sup_article_item .obj_article_summary::before {
    left: calc(40px - 1px) !important;
}

/* Authors: 14px gap, max-width 600px, wrap */
.sup_article_item .sup_article_authors {
    gap: 0 0.875rem !important;
    row-gap: 0.25rem !important;
    max-width: 600px !important;
}

/* Hide galley icon if still rendered somewhere */
.sup_article_item .sup_galley_icon { display: none !important; }

/* Galley buttons — exact padding per spec: 8px / 12px → 0.5rem 0.75rem */
.sup_article_item .sup_galley_btn,
.sup_article_item .obj_galley_link {
    padding: 0.5rem 0.75rem !important;
}

/* Remove comma after author items — names separated by gap only */
.sup_author_item::after,
.sup_article_authors .sup_author_item::after {
    content: '' !important;
    display: none !important;
}

/* Galley button — 4px (0.25rem) gap between icon and label, show icon */
.sup_article_item .sup_galley_icon {
    display: inline-block !important;
}

.sup_article_item .sup_galley_btn,
.sup_article_item .obj_galley_link {
    gap: 0.25rem !important;
}

/* Authors — exact 14px column gap */
.sup_article_item .sup_article_authors,
.sup_article_item ul.sup_article_authors {
    column-gap: 0.875rem !important;
    row-gap: 0.25rem !important;
    gap: 0.25rem 0.875rem !important;
}

.sup_article_item .sup_author_item {
    margin-right: 0 !important;
}

/* Kill default theme's FontAwesome ::before icon on galley links
   (file-text-o / file-pdf-o) — we use our own SVG icon instead */
.sup_article_item .obj_galley_link::before,
.obj_article_summary .obj_galley_link::before,
.sup_galley_btn::before {
    content: '' !important;
    display: none !important;
    margin: 0 !important;
}

/* Kill default .cmp_button_wire forced line-height so padding actually hugs text
   (root cause of the oversized galley button) */
.sup_article_item .obj_galley_link,
.sup_article_item .sup_galley_btn,
.sup_galley_btn.obj_galley_link {
    line-height: 1 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0.5rem 0.75rem !important;
    display: inline-flex !important;
    align-items: center !important;
    vertical-align: middle !important;
}

.sup_article_item .sup_galley_label {
    line-height: 1 !important;
    display: inline-block;
}

.sup_article_item .sup_galley_icon {
    line-height: 0 !important;
    vertical-align: middle;
}

/* ============================================================
   ARTICLE CARD — typography tweaks 2026-04-23
   ============================================================ */

/* 4px gap between section label and title */
.sup_article_item .sup_section_label {
    margin-bottom: 0.25rem !important;
}

/* Article title: 24px, color #2E2D29 */
.sup_article_item .obj_article_summary .title,
.sup_article_item .obj_article_summary .title a {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
    color: #2E2D29 !important;
    margin-top: 0 !important;
}

/* Topbar — fully white background (override EAEAEA on the right half) */
.sup_topbar,
.sup_topbar > a,
.sup_topbar .sup_topbar_right {
    background-color: #ffffff !important;
}

/* ============================================================
   TYPOGRAPHY PASS — 2026-04-23
   ============================================================ */

/* Home issue title — 36px / 110% */
.page_index_journal .current_issue_title {
    font-size: 2.25rem !important;
    line-height: 1.1 !important;
}

/* Home issue description — 18px / 140% */
.page_index_journal .sup_issue_description,
.page_index_journal .sup_issue_description p,
.page_index_journal .sup_issue_description > * {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
}

/* Nav bar items — medium weight */
.pkp_site_nav_menu .sup_nav_link,
.pkp_site_nav_menu .sup_nav_btn,
.sup_nav_primary > .sup_nav_item > a,
.sup_nav_primary > .sup_nav_item > button {
    font-weight: 500 !important;
}

/* Current Issue badge label — medium */
.page_index_journal .current_issue_meta .ci_label {
    font-weight: 500 !important;
}

/* Articles heading / section heading within current issue block */
.current_issue .obj_issue_toc > h2,
.current_issue .obj_issue_toc > h3,
.obj_issue_toc .section_title,
.sup_articles_heading {
    font-weight: 500 !important;
}

/* ============================================================
   HOMEPAGE HERO — side fade gradient (per screenshot 2026-04-23)
   Linear horizontal gradient on the cover image:
   white 100% at 0%, transparent at 28%-72%, white 100% at 100%.
   Sits over the cover image, behind the inner glass content.
   ============================================================ */
.page_index_journal .sup_issue_info_block {
    position: relative !important;
}

.page_index_journal .sup_issue_info_block::before {
    content: ;
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: linear-gradient(
        to right,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,0) 28%,
        rgba(255,255,255,0) 72%,
        rgba(255,255,255,1) 100%
    );
    pointer-events: none;
    z-index: 1;
}

/* Keep inner content above the gradient overlay */
.page_index_journal .sup_issue_info_block > .sup_issue_info_inner {
    position: relative;
    z-index: 2;
}

/* Previous ::before gradient attempt — neutralise to avoid stacking conflict
   (gradient is now baked into the template's inline background-image) */
.page_index_journal .sup_issue_info_block::before {
    display: none !important;
}

/* ============================================================
   HOMEPAGE HERO — video background support (2026-04-23)
   Video > Cover Image > nothing (priority in template).
   ============================================================ */

.page_index_journal .sup_issue_info_block.sup_has_video {
    position: relative !important;
    overflow: hidden;
    background-color: #ffffff; /* under-layer while video loads */
}

.page_index_journal .sup_hero_video {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 0;
    pointer-events: none;
}

/* Horizontal fade overlay on top of the video, matching the image spec */
.page_index_journal .sup_hero_gradient {
    position: absolute;
    top: 0; right: 0; bottom: 0; left: 0;
    background: linear-gradient(
        to right,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,0) 28%,
        rgba(255,255,255,0) 72%,
        rgba(255,255,255,1) 100%
    );
    z-index: 1;
    pointer-events: none;
}

/* Keep inner glass content above video + gradient */
.page_index_journal .sup_issue_info_block.sup_has_video > .sup_issue_info_inner {
    position: relative;
    z-index: 2;
}

/* Accessibility: respect prefers-reduced-motion — hide video, show poster */
@media (prefers-reduced-motion: reduce) {
    .page_index_journal .sup_hero_video {
        display: none !important;
    }
    .page_index_journal .sup_issue_info_block.sup_has_video {
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }
    /* Inherit poster URL would require inline style; gradient still shows */
}

/* ============================================================
   ARTICLE CARDS — content max-width 800px (2026-04-23)
   Constrain the info column (section label, title, authors, galleys)
   to 800px so long lines break before stretching card-wide.
   Left-aligned; card padding (40px each side) is preserved.
   ============================================================ */
.sup_article_item .obj_article_summary > * {
    max-width: 800px;
}

/* ============================================================
   NAV FINE-TUNE — 2026-04-23 (second pass)
   1) Submit button flush to hero top line (kill row min-height,
      stretch items so tallest item = row height).
   2) Search icon color: #2E2D29 (was #4298B5).
   3) 24px gap between search wrap and submit wrap.
   ============================================================ */

/* 1) Flush button bottom to hero top */
.pkp_navigation_primary_row {
    min-height: 0 !important;
    margin-top: 0 !important;
}
.pkp_navigation_primary_wrapper {
    align-items: stretch !important;
}
.sup_nav_submit_wrap {
    align-items: stretch !important;
}
a.sup_submit_btn {
    height: 100% !important;
}

/* 2) Search icon color -> #2E2D29 */
.search_block .pkp_search .search_prompt,
.pkp_search_toggle,
.pkp_search button[type=submit],
.pkp_search .search_toggle,
header .pkp_search svg,
header .pkp_search .fa,
.pkp_site_nav_menu .search_toggle svg,
.sup_nav_search_link,
.sup_nav_search_link .fa,
.sup_nav_search_link svg,
.sup_nav_search_label {
    color: #2E2D29 !important;
    fill: #2E2D29 !important;
}

/* 3) 24px gap between search and submit button */
.sup_nav_search_wrap {
    padding-right: 0 !important;
    margin-right: 1.5rem !important;
}

/* 24px (1.5rem) gap between logo row and nav row */
.pkp_navigation_primary_row {
    margin-top: 1.5rem !important;
}

/* ============================================================
   ARTICLE CARDS — inner wrapper with left accent stroke (2026-04-23)
   Content (label + title + meta + galleys) wrapped in .sup_article_inner
   with padding-left: 40px and a 1px #EAEAEA border-left only.
   Replaces the previous ::before pseudo-stroke approach.
   ============================================================ */

/* Kill the old pseudo-element stroke */
.sup_article_item .obj_article_summary::before {
    content: none !important;
    display: none !important;
}

/* Inner wrapper: left accent stroke + 40px left padding */
.sup_article_item .sup_article_inner {
    padding-left: 40px;
    border-left: 1px solid #979694;
    box-sizing: border-box;
}

/* Keep max-width on the content children now that they live inside .sup_article_inner */
.sup_article_item .sup_article_inner > * {
    max-width: 800px;
    padding-left: 0 !important;
}

/* Fix: legacy .obj_article_summary > * { padding-left: 0 !important } was
   zeroing the new inner wrapper. Re-assert 40px (2.5rem) padding-left. */
.sup_article_item .obj_article_summary > .sup_article_inner,
.sup_article_item .sup_article_inner {
    padding-left: 2.5rem !important;
    border-left: 1px solid #979694 !important;
}

/* 24px gap between Current Issue badge and vol/no/year/published group */
.page_index_journal .current_issue_meta {
    display: flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
    flex-wrap: wrap;
}
.page_index_journal .current_issue_meta .ci_meta_group {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.page_index_journal .current_issue_meta .ci_published {
    margin-left: 0.75rem;
}

/* Enforce 8px (0.5rem) consistent spacing between Vol / No / Year (and slashes) */
.page_index_journal .ci_meta_group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap;
}
.page_index_journal .current_issue_meta .ci_volume,
.page_index_journal .current_issue_meta .ci_number,
.page_index_journal .current_issue_meta .ci_year {
    margin: 0 !important;
}
.page_index_journal .current_issue_meta .ci_sep {
    margin: 0 !important;
}
.page_index_journal .current_issue_meta .ci_published {
    margin-left: 0 !important;
}

/* ============================================================
   ARTICLE PAGE — match hero formatting + box paddings
   (2026-04-23)
   ============================================================ */

/* Vol / No / Year meta: match hero (1rem, medium, #6D6C69, slash sep, 8px gap)
   Padding vertical 1rem, lateral 2rem (per request). */
body.pkp_page_article .sup_article_issue_meta {
    padding: 1rem 2rem !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: #6D6C69 !important;
    gap: 0.5rem !important;
}
body.pkp_page_article .sup_article_issue_meta .sup_im_vol,
body.pkp_page_article .sup_article_issue_meta .sup_im_no,
body.pkp_page_article .sup_article_issue_meta .sup_im_year,
body.pkp_page_article .sup_article_issue_meta .sup_im_sep {
    color: #6D6C69 !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-size: 1rem !important;
}

/* Header inner (title + subtitle + authors): 2rem padding all sides */
body.pkp_page_article .sup_header_inner {
    padding: 2rem !important;
}

/* Title: match hero current_issue_title — 36px, line-height 110% */
body.pkp_page_article .sup_article_title {
    font-size: 2.25rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    color: #2E2D29 !important;
}

/* Subtitle — keep natural below title */
body.pkp_page_article .sup_article_subtitle {
    margin-top: 0.5rem !important;
}

/* Authors: match article card style (14px gap, no chips, 1rem) */
body.pkp_page_article .sup_article_authors {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.875rem !important; /* 14px */
    margin-top: 1rem !important;
    padding: 0 !important;
    list-style: none !important;
}
body.pkp_page_article .sup_author_item {
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    color: #2E2D29 !important;
    background: transparent !important;
    line-height: 1.4 !important;
}
body.pkp_page_article .sup_author_item::after {
    content: '' !important;
    display: none !important;
}

/* Meta line (Section/Date | DOI): 2rem padding */
body.pkp_page_article .sup_article_meta_line {
    padding: 2rem !important;
}

/* Main content (abstract + keywords + refs): 2rem padding */
body.pkp_page_article .sup_article_main {
    padding: 2rem !important;
}

/* Abstract: label semibold 1rem, text 1rem, 4px gap between label and text */
body.pkp_page_article .sup_article_abstract {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important; /* 4px */
}
body.pkp_page_article .sup_abstract_label {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #2E2D29 !important;
    margin: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
body.pkp_page_article .sup_abstract_text,
body.pkp_page_article .sup_abstract_text p {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #2E2D29 !important;
}
body.pkp_page_article .sup_abstract_text p {
    margin: 0 0 0.75rem 0 !important;
}
body.pkp_page_article .sup_abstract_text p:last-child {
    margin-bottom: 0 !important;
}

/* Keywords: column layout (label on top, values below), 4px gap, same formatting as abstract text */
body.pkp_page_article .sup_article_main .item.keywords {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.25rem !important; /* 4px */
    margin-top: 2rem !important;
}
body.pkp_page_article .sup_article_main .item.keywords .label {
    display: block !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #2E2D29 !important;
    margin: 0 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}
body.pkp_page_article .sup_article_main .item.keywords .value {
    display: block !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
    color: #2E2D29 !important;
    font-weight: 400 !important;
}

/* Section / Date | DOI meta line: 1rem vertical (like issue_meta) */
body.pkp_page_article .sup_article_meta_line {
    padding: 1rem 2rem !important;
}

/* ============================================================
   ARTICLE SIDEBAR — galley buttons match home style
   Side-by-side full width, 12px gap; single button fills column.
   (2026-04-23)
   ============================================================ */

body.pkp_page_article .sup_sidebar_galleys .sup_galley_list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem !important; /* 12px between buttons */
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.pkp_page_article .sup_sidebar_galleys .sup_galley_list > li {
    flex: 1 1 calc(50% - 0.375rem);
    min-width: 0;
    display: flex;
}
body.pkp_page_article .sup_sidebar_galleys .sup_galley_list > li:only-child {
    flex-basis: 100%;
}

/* Match the home article-card button style (stroke, 1rem, medium, center text,
   8/12 padding, no icon prefix from default theme) */
body.pkp_page_article .sup_sidebar_galleys .sup_galley_btn,
body.pkp_page_article .sup_sidebar_galleys .obj_galley_link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.25rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0.5rem 0.75rem !important;
    line-height: 1 !important;
    min-height: 0 !important;
    height: auto !important;
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    color: #2E2D29 !important;
    background: transparent !important;
    border: 1px solid #006CB8 !important;
    border-radius: 0 !important;
    text-decoration: none !important;
    transition: background 0.15s, color 0.15s;
}
body.pkp_page_article .sup_sidebar_galleys .sup_galley_btn:hover,
body.pkp_page_article .sup_sidebar_galleys .obj_galley_link:hover {
    background: #006CB8 !important;
    color: #ffffff !important;
}

/* Kill legacy ::before download icon from default theme on sidebar buttons */
body.pkp_page_article .sup_sidebar_galleys .obj_galley_link::before,
body.pkp_page_article .sup_sidebar_galleys .sup_galley_btn::before {
    content: '' !important;
    display: none !important;
    margin: 0 !important;
}

/* Keep the external-link svg icon from galley_link.tpl visible */
body.pkp_page_article .sup_sidebar_galleys .sup_galley_icon {
    display: inline-flex !important;
    line-height: 0 !important;
    vertical-align: middle !important;
}
body.pkp_page_article .sup_sidebar_galleys .sup_galley_label {
    display: inline-block !important;
    line-height: 1 !important;
}

/* ── Abstract text: max-width 600px ─────────────────────────── */
.sup_abstract_text {
    max-width: 600px !important;
}

/* ============================================================
   UNIFORMIZAÇÃO GLOBAL — tipografia consistente em todo o journal
   ============================================================ */

/* 1. TÍTULOS DE ARTIGOS — 1.5rem / DM Sans 400 em qualquer listagem */
.obj_article_summary .title,
.obj_article_summary h3.title,
.sup_article_item .obj_article_summary .title,
.issue_toc .title,
.articles_grid .title,
.cmp_article_list .title {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    color: #2E2D29 !important;
}

/* 2. VOL / NO / ANO — 1rem / Source Sans 3 / cor #6D6C69 em todo o lado */
.current_issue_meta .ci_volume,
.current_issue_meta .ci_number,
.current_issue_meta .ci_year,
.current_issue_meta .ci_sep,
.sup_article_issue_meta .ci_volume,
.sup_article_issue_meta .ci_number,
.sup_article_issue_meta .ci_year,
.sup_issue_summary .sup_issue_vol,
.sup_issue_summary .sup_issue_num,
.obj_issue_summary .series {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    color: #6D6C69 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* 3. LABELS DE SECÇÃO — 0.875rem / Source Sans 3 / uppercase */
.sup_section_label,
.section_title,
.obj_article_summary .section,
.sup_article_item .obj_article_summary .section {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    color: #4298B5 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
}

/* 4. LABELS DE DETALHE (Abstract, Keywords) — DM Sans 700 / 1.5rem */
.sup_abstract_label,
body.pkp_page_article .sup_article_main .item.keywords .label,
.sup_article_main h2 {
    font-family: 'DM Sans', sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    color: #2E2D29 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* 5. KEYWORDS — max-width 600px igual ao abstract */
body.pkp_page_article .sup_article_main .item.keywords .value,
body.pkp_page_article .sup_article_main .item.keywords {
    max-width: 600px !important;
}

/* 6. BADGE CURRENT ISSUE — uniforme em home e current issue page */
.ci_label {
    font-family: 'Source Sans 3', sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-transform: uppercase !important;
}

/* ============================================================
   CURRENT ISSUE PAGE — mirror homepage hero formatting
   (2026-04-23)
   ============================================================ */

/* Title: 36px / 110% — same as home hero */
body.pkp_page_issue .sup_issue_info_block .current_issue_title,
body.pkp_page_issue .current_issue_title {
    font-size: 2.25rem !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

/* Description: 18px / 140% — same as home hero */
body.pkp_page_issue .sup_issue_description,
body.pkp_page_issue .sup_issue_description p,
body.pkp_page_issue .sup_issue_description > * {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
    margin-top: 0 !important;
}

/* Meta row layout: flex, 24px gap between label group and meta group */
body.pkp_page_issue .current_issue_meta {
    display: flex !important;
    align-items: center !important;
    gap: 1.5rem !important;
    flex-wrap: wrap;
    margin-bottom: 0.5rem !important;
}

/* ci_meta_group: 8px gap between vol / sep / no / sep / year */
body.pkp_page_issue .current_issue_meta .ci_meta_group,
body.pkp_page_issue .ci_meta_group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap;
}

/* Vol / No / Year / Sep / Published — same typography as home hero */
body.pkp_page_issue .current_issue_meta .ci_volume,
body.pkp_page_issue .current_issue_meta .ci_number,
body.pkp_page_issue .current_issue_meta .ci_year,
body.pkp_page_issue .current_issue_meta .ci_sep,
body.pkp_page_issue .current_issue_meta .ci_published,
body.pkp_page_issue .current_issue_meta .ci_published_label,
body.pkp_page_issue .current_issue_meta .ci_published * {
    font-family: Source Sans 3, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #6D6C69 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
}

/* ci_label (Current Issue badge) — medium weight, same as home */
body.pkp_page_issue .current_issue_meta .ci_label {
    font-weight: 500 !important;
}

/* Published group sits aligned with the meta group */
body.pkp_page_issue .current_issue_meta .ci_published_group {
    display: inline-flex;
    align-items: center;
}

/* ============================================================
   CURRENT ISSUE PAGE — fixes: slash separators + 24px gap
   (2026-04-23)
   ============================================================ */

/* Show the slash separator (globally hidden by an older rule) */
body.pkp_page_issue .current_issue_meta .ci_sep {
    display: inline !important;
    margin: 0 !important;
    color: #6D6C69 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
}

/* 24px gap between meta row and the title */
body.pkp_page_issue .current_issue_meta {
    margin-bottom: 1.5rem !important;
}

/* Title margin: let the meta margin-bottom govern the gap */
body.pkp_page_issue .sup_issue_info_block .current_issue_title,
body.pkp_page_issue .current_issue_title {
    margin-top: 0 !important;
}

/* ============================================================
   PAST ISSUES (ARCHIVE) — match meta formatting with home hero
   (2026-04-23)
   ============================================================ */

/* Show separators on archive cards */
body.pkp_page_issue_archive .current_issue_meta .ci_sep,
.page_issue_archive .current_issue_meta .ci_sep {
    display: inline !important;
    margin: 0 !important;
    color: #6D6C69 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
}

/* 8px gap inside ci_meta_group */
.page_issue_archive .current_issue_meta,
.page_issue_archive .current_issue_meta .ci_meta_group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    flex-wrap: wrap;
}

/* Vol / No / Year / Sep typography — medium, #6D6C69, 1rem */
.page_issue_archive .current_issue_meta .ci_volume,
.page_issue_archive .current_issue_meta .ci_number,
.page_issue_archive .current_issue_meta .ci_year,
.page_issue_archive .current_issue_meta .ci_sep {
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    color: #6D6C69 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    margin: 0 !important;
}

/* ============================================================
   LINKS — underline on blue breadcrumb + sidebar/issue links
   (2026-04-23)
   ============================================================ */

/* Breadcrumbs: linked items (non-active) show underline */
.cmp_breadcrumbs a {
    text-decoration: underline !important;
}

/* Sidebar (pkp_structure_sidebar) links on issue / archive / article pages */
.pkp_structure_sidebar a,
.pkp_block a,
body.pkp_page_issue .pkp_sidebar a,
body.pkp_page_issue_archive .pkp_sidebar a {
    color: #006CB8 !important;
    text-decoration: underline !important;
}

.pkp_structure_sidebar a:hover,
.pkp_block a:hover {
    text-decoration: underline !important;
    opacity: 0.85;
}

/* ============================================================
   ARTICLE PAGE SIDEBAR — issue cover above galleys + link underline
   (2026-04-23)
   ============================================================ */

/* Issue cover above the galley list — centered, aligned to top */
.sup_article_sidebar .sup_sidebar_issue_cover {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 1.5rem;
    text-decoration: none !important;
}

.sup_article_sidebar .sup_sidebar_issue_cover img {
    max-width: 100%;
    height: auto;
    box-shadow: 2px 2px 8px 0 rgba(0, 0, 0, 0.15);
}

/* Issue link in the article sidebar — underlined blue, same as breadcrumbs */
body.pkp_page_article .sup_article_sidebar .sup_sidebar_value a {
    color: #006CB8 !important;
    text-decoration: underline !important;
}

body.pkp_page_article .sup_article_sidebar .sup_sidebar_value a:hover {
    opacity: 0.85;
}

/* Issue cover in article sidebar — size down */
.sup_article_sidebar .sup_sidebar_issue_cover img {
    max-width: 160px !important;
    width: 100% !important;
}

/* ============================================================
   ARTICLE SIDEBAR GALLEY BUTTONS — match homepage button style
   (2026-04-23)
   ============================================================ */

.sup_article_sidebar .sup_galley_list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.sup_article_sidebar .sup_galley_list li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sup_article_sidebar .sup_galley_btn,
.sup_article_sidebar .obj_galley_link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.25rem !important;
    padding: 0.5rem 0.75rem !important;
    border: 1px solid #006CB8 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #006CB8 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
    width: 100%;
    box-sizing: border-box;
}

.sup_article_sidebar .sup_galley_btn:hover,
.sup_article_sidebar .sup_galley_btn:focus,
.sup_article_sidebar .obj_galley_link:hover,
.sup_article_sidebar .obj_galley_link:focus {
    background: #006CB8 !important;
    color: #ffffff !important;
}

/* Show SVG icon inside the button */
.sup_article_sidebar .sup_galley_icon {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
}

/* Kill default theme FontAwesome ::before icon */
.sup_article_sidebar .obj_galley_link::before,
.sup_article_sidebar .sup_galley_btn::before {
    content: "" !important;
    display: none !important;
    margin: 0 !important;
}

/* ============================================================
   ARTICLE SIDEBAR GALLEY BUTTONS — stronger specificity override
   (2026-04-23) — wins over .sup_galley_list .obj_galley_link
   ============================================================ */

body.pkp_page_article .sup_article_sidebar .sup_galley_list .obj_galley_link,
body.pkp_page_article .sup_article_sidebar .sup_galley_list .sup_galley_btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.25rem !important;
    width: 100% !important;
    padding: 0.5rem 0.75rem !important;
    border: 1px solid #006CB8 !important;
    border-radius: 6px !important;
    background: #ffffff !important;
    color: #006CB8 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
}

body.pkp_page_article .sup_article_sidebar .sup_galley_list .obj_galley_link:hover,
body.pkp_page_article .sup_article_sidebar .sup_galley_list .obj_galley_link:focus,
body.pkp_page_article .sup_article_sidebar .sup_galley_list .sup_galley_btn:hover,
body.pkp_page_article .sup_article_sidebar .sup_galley_list .sup_galley_btn:focus {
    background: #006CB8 !important;
    color: #ffffff !important;
}

/* Kill the download.svg mask icon injected via ::before on sup_galley_list */
body.pkp_page_article .sup_article_sidebar .sup_galley_list .obj_galley_link::before,
body.pkp_page_article .sup_article_sidebar .sup_galley_list .sup_galley_btn::before {
    content: "" !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    background: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
}

/* Show the SVG arrow icon from the template */
body.pkp_page_article .sup_article_sidebar .sup_galley_list .sup_galley_icon {
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 14px !important;
    height: 14px !important;
}

/* Abstract label — same typography as Keywords label (DM Sans 1.5rem bold) */
body.pkp_page_article .sup_article_abstract .sup_abstract_label,
body.pkp_page_article .sup_article_main .sup_abstract_label,
body.pkp_page_article .sup_abstract_label {
    font-family: "DM Sans", sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: #2E2D29 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* Abstract + Keywords labels — unified at 1rem Source Sans 600 (override prior 1.5rem) */
body.pkp_page_article .sup_article_abstract .sup_abstract_label,
body.pkp_page_article .sup_article_main .sup_abstract_label,
body.pkp_page_article .sup_abstract_label,
body.pkp_page_article .sup_article_main .item.keywords .label,
body.pkp_page_article .sup_article_main .item.keywords > .label {
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #2E2D29 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* ============================================================
   HOW TO CITE block — match PUBLISHED / ISSUE / SECTION labels
   (2026-04-23)
   ============================================================ */

/* Match the sidebar item padding/border pattern */
body.pkp_page_article .sup_article_sidebar .item.citation {
    padding: 1rem 0 !important;
    border-bottom: 1px solid #979694 !important;
}

/* "How to Cite" h2 label — same style as PUBLISHED/ISSUE/SECTION */
body.pkp_page_article .sup_article_sidebar .item.citation > .citation_display > .label,
body.pkp_page_article .sup_article_sidebar .item.citation h2.label {
    display: block !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #6D6C69 !important;
    margin: 0 0 0.5rem 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 1.4 !important;
}

/* Citation text — left aligned, 1rem, black */
body.pkp_page_article .sup_article_sidebar .item.citation .value,
body.pkp_page_article .sup_article_sidebar #citationOutput,
body.pkp_page_article .sup_article_sidebar #citationOutput * {
    text-align: left !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    color: #2E2D29 !important;
}

/* Link inside citation text: blue underlined (same as issue link) */
body.pkp_page_article .sup_article_sidebar #citationOutput a {
    color: #006CB8 !important;
    text-decoration: underline !important;
}

/* "More Citation Formats" button — clean outlined pill, 1rem */
body.pkp_page_article .sup_article_sidebar .citation_formats_button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
    width: auto !important;
    margin-top: 1rem !important;
    padding: 0.5rem 0.75rem !important;
    background: #ffffff !important;
    border: 1px solid #006CB8 !important;
    border-radius: 6px !important;
    color: #006CB8 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    cursor: pointer !important;
    box-shadow: none !important;
}

body.pkp_page_article .sup_article_sidebar .citation_formats_button:hover,
body.pkp_page_article .sup_article_sidebar .citation_formats_button:focus {
    background: #006CB8 !important;
    color: #ffffff !important;
}

/* Dropdown list of citation formats — readable 1rem */
body.pkp_page_article .sup_article_sidebar .citation_formats_list {
    margin-top: 0.5rem !important;
    font-size: 1rem !important;
}
body.pkp_page_article .sup_article_sidebar .citation_formats_styles {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.pkp_page_article .sup_article_sidebar .citation_formats_styles li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0.25rem 0 !important;
}
body.pkp_page_article .sup_article_sidebar .citation_formats_styles a {
    font-size: 1rem !important;
    color: #006CB8 !important;
    text-decoration: underline !important;
}

/* Sidebar label → value gap: 4px across all items (PUBLISHED/ISSUE/SECTION/How to Cite) */
body.pkp_page_article .sup_article_sidebar .sup_sidebar_label,
body.pkp_page_article .sup_article_sidebar .item.citation > .citation_display > .label,
body.pkp_page_article .sup_article_sidebar .item.citation h2.label {
    margin-bottom: 0.25rem !important;
}

/* More Citation Formats — neutral dropdown look (override previous blue pill) */
body.pkp_page_article .sup_article_sidebar .citation_formats_button {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
    width: 100% !important;
    margin-top: 1rem !important;
    padding: 0.75rem 1rem !important;
    background: #ffffff !important;
    border: 1px solid #979694 !important;
    border-radius: 2px !important;
    color: #2E2D29 !important;
    font-family: "Source Sans 3", sans-serif !important;
    font-size: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    cursor: pointer !important;
    box-shadow: none !important;
    position: relative !important;
}

/* Dropdown chevron on the right */
body.pkp_page_article .sup_article_sidebar .citation_formats_button::after {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 10px !important;
    height: 10px !important;
    border-right: 2px solid #979694 !important;
    border-bottom: 2px solid #979694 !important;
    transform: rotate(45deg) translateY(-2px) !important;
    margin-left: 0.5rem !important;
    margin-right: 0.25rem !important;
    background: none !important;
}

body.pkp_page_article .sup_article_sidebar .citation_formats_button:hover,
body.pkp_page_article .sup_article_sidebar .citation_formats_button:focus {
    background: #F7F7F7 !important;
    color: #2E2D29 !important;
    border-color: #B0B0B0 !important;
}

body.pkp_page_article .sup_article_sidebar .citation_formats_button[aria-expanded="true"]::after {
    transform: rotate(-135deg) translateY(2px) translateX(-2px) !important;
}

/* Kill outer rectangle around citation_formats wrapper + fix chevron alignment */
body.pkp_page_article .sup_article_sidebar .citation_formats {
    background: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
}

/* Chevron — replace border-rotate trick with clean SVG, vertically centered */
body.pkp_page_article .sup_article_sidebar .citation_formats_button::after {
    content: "" !important;
    display: inline-block !important;
    flex: 0 0 auto !important;
    width: 12px !important;
    height: 12px !important;
    border: 0 !important;
    transform: none !important;
    margin: 0 !important;
    background-color: #6D6C69 !important;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><path d=%27M6 9l6 6 6-6%27 stroke=%27black%27 stroke-width=%272%27 fill=%27none%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/></svg>") no-repeat center / contain !important;
    mask: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27><path d=%27M6 9l6 6 6-6%27 stroke=%27black%27 stroke-width=%272%27 fill=%27none%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/></svg>") no-repeat center / contain !important;
    transition: transform 0.15s ease !important;
}

body.pkp_page_article .sup_article_sidebar .citation_formats_button[aria-expanded="true"]::after {
    transform: rotate(180deg) !important;
}

/* Article title — medium weight, 2rem */
body.pkp_page_article .sup_article_title {
    font-size: 2rem !important;
    font-weight: 500 !important;
}

/* Article title — line-height 120% */
body.pkp_page_article .sup_article_title {
    line-height: 1.2 !important;
}

/* Issue title (current issue page) — 36px / semi-bold */
body.pkp_page_issue .sup_issue_info_block .current_issue_title,
body.pkp_page_issue .current_issue_title {
    font-size: 2.25rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/* Issue title — medium (500) override */
body.pkp_page_issue .sup_issue_info_block .current_issue_title,
body.pkp_page_issue .current_issue_title {
    font-weight: 500 !important;
}

/* Issue title — 600 on both home hero and current issue page */
body.pkp_page_issue .sup_issue_info_block .current_issue_title,
body.pkp_page_issue .current_issue_title,
body.pkp_page_index .current_issue_title,
.page_index_journal .current_issue_title {
    font-weight: 600 !important;
}

/* ============================================================
   STROKE CLEANUP — uniform #979694 + remove double borders
   (2026-04-23)
   ============================================================ */

/* Article frame: prevent inner borders from doubling at edges */
body.pkp_page_article .sup_article_left .sup_article_issue_meta:first-child { border-top: 0 !important; }
body.pkp_page_article .sup_article_left .sup_article_main:last-child { border-bottom: 0 !important; }

/* Sidebar items: only border-top per item; no stacking with previous bottom */
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item + .sup_sidebar_item { border-top: 1px solid #979694 !important; }
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item { border-bottom: 0 !important; }
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item:first-child { border-top: 0 !important; }
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item:last-child { border-bottom: 1px solid #979694 !important; }

/* Issue / archive page: no stacked border between breadcrumbs row and info block */
body.pkp_page_issue .sup_issue_info_block { border-top: 0 !important; }
body.pkp_page_issue_archive .sup_issue_info_block { border-top: 0 !important; }

/* Header: single bottom border on the structure head; topbar keeps its own only */
.pkp_structure_head { border-bottom: 1px solid #979694 !important; }
.pkp_head_wrapper { border-bottom: 0 !important; border-top: 0 !important; }
.pkp_navigation_primary_row { border: 0 !important; }

/* Footer: single top border */
.pkp_structure_footer_wrapper,
.pkp_footer_content { border-top: 0 !important; }
.pkp_structure_footer_wrapper { border-top: 1px solid #979694 !important; }


/* ============================================================
   STROKE CLEANUP — kill stacked borders directly under the menu
   ============================================================ */

.pkp_structure_content,
.pkp_structure_main,
.pkp_structure_main > div:first-child,
.pkp_structure_content > div:first-child,
.cmp_breadcrumbs,
.page > .cmp_breadcrumbs,
.page_issue .cmp_breadcrumbs,
.page_issue_archive .cmp_breadcrumbs,
.page_article .cmp_breadcrumbs,
.page_index_journal .cmp_breadcrumbs,
.sup_issue_info_block,
.page > h1:first-of-type {
    border-top: 0 !important;
}

.pkp_head_wrapper,
.pkp_navigation_primary_row,
.pkp_navigation_primary_wrapper,
.pkp_site_nav_menu,
.pkp_site_nav_menu > * {
    border-bottom: 0 !important;
    border-top: 0 !important;
}

.pkp_structure_head {
    border-bottom: 1px solid #979694 !important;
}

/* Article card inner accent stroke — light gray #EAEAEA (override #979694) */
.sup_article_item .sup_article_inner,
.sup_article_item .obj_article_summary > .sup_article_inner {
    border-left: 1px solid #EAEAEA !important;
}

/* Smaller journal logo */
.pkp_site_name .is_img img,
.pkp_site_name .is_img img.journal_logo_svg,
.pkp_site_name .is_img img[src$=".svg"],
.pkp_site_name img.journal_logo_svg {
    height: 3rem !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Journal logo — smaller still */
.pkp_site_name .is_img img,
.pkp_site_name .is_img img.journal_logo_svg,
.pkp_site_name .is_img img[src$=".svg"],
.pkp_site_name img.journal_logo_svg {
    height: 2.25rem !important;
}

/* Header journal logo — actually reduce it (kill prior min-height/min-width) */
.pkp_site_name .is_img img,
.pkp_site_name .is_img img.journal_logo_svg,
.pkp_site_name .is_img img[src$=".svg"],
.pkp_site_name img.journal_logo_svg {
    height: 2.25rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    max-height: 2.25rem !important;
    max-width: none !important;
    width: auto !important;
}

@media (max-width: 991px) {
    .pkp_site_name .is_img img,
    .pkp_site_name .is_img img.journal_logo_svg,
    .pkp_site_name .is_img img[src$=".svg"],
    .pkp_site_name img.journal_logo_svg {
        height: 2rem !important;
        min-height: 0 !important;
        min-width: 0 !important;
        max-height: 2rem !important;
    }
}

/* Header logo — bump up a bit */
.pkp_site_name .is_img img,
.pkp_site_name .is_img img.journal_logo_svg,
.pkp_site_name .is_img img[src$=".svg"],
.pkp_site_name img.journal_logo_svg {
    height: 3.25rem !important;
    max-height: 3.25rem !important;
}

@media (max-width: 991px) {
    .pkp_site_name .is_img img,
    .pkp_site_name .is_img img.journal_logo_svg,
    .pkp_site_name .is_img img[src$=".svg"],
    .pkp_site_name img.journal_logo_svg {
        height: 2.75rem !important;
        max-height: 2.75rem !important;
    }
}

/* Header logo — 4rem */
.pkp_site_name .is_img img,
.pkp_site_name .is_img img.journal_logo_svg,
.pkp_site_name .is_img img[src$=".svg"],
.pkp_site_name img.journal_logo_svg {
    height: 4rem !important;
    max-height: 4rem !important;
}

@media (max-width: 991px) {
    .pkp_site_name .is_img img,
    .pkp_site_name .is_img img.journal_logo_svg,
    .pkp_site_name .is_img img[src$=".svg"],
    .pkp_site_name img.journal_logo_svg {
        height: 3.25rem !important;
        max-height: 3.25rem !important;
    }
}

/* Header logo — 5rem */
.pkp_site_name .is_img img,
.pkp_site_name .is_img img.journal_logo_svg,
.pkp_site_name .is_img img[src$=".svg"],
.pkp_site_name img.journal_logo_svg {
    height: 5rem !important;
    max-height: 5rem !important;
}

@media (max-width: 991px) {
    .pkp_site_name .is_img img,
    .pkp_site_name .is_img img.journal_logo_svg,
    .pkp_site_name .is_img img[src$=".svg"],
    .pkp_site_name img.journal_logo_svg {
        height: 4rem !important;
        max-height: 4rem !important;
    }
}

/* Header logo — final override (matches highest specificity above, line 3068) */
.pkp_site_name a.is_img img.journal_logo_svg,
.pkp_site_name a.is_img img,
body .pkp_site_name .is_img img,
body .pkp_site_name img.journal_logo_svg {
    height: 5rem !important;
    max-height: 5rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
}

@media (max-width: 991px) {
    .pkp_site_name a.is_img img.journal_logo_svg,
    .pkp_site_name a.is_img img,
    body .pkp_site_name .is_img img,
    body .pkp_site_name img.journal_logo_svg {
        height: 4rem !important;
        max-height: 4rem !important;
        min-height: 0 !important;
        min-width: 0 !important;
    }
}

/* Header logo — 4rem (final) */
.pkp_site_name a.is_img img.journal_logo_svg,
.pkp_site_name a.is_img img,
body .pkp_site_name .is_img img,
body .pkp_site_name img.journal_logo_svg {
    height: 4rem !important;
    max-height: 4rem !important;
    min-height: 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
}

@media (max-width: 991px) {
    .pkp_site_name a.is_img img.journal_logo_svg,
    .pkp_site_name a.is_img img,
    body .pkp_site_name .is_img img,
    body .pkp_site_name img.journal_logo_svg {
        height: 3.25rem !important;
        max-height: 3.25rem !important;
        min-height: 0 !important;
        min-width: 0 !important;
    }
}

/* Footer divider above copyright — #888888 */
.sup_footer_wrapper .sup_footer_divider,
.pkp_structure_footer hr,
.footer_separator,
.sup_footer_divider {
    background-color: #888888 !important;
    border-color: #888888 !important;
    border-top: 1px solid #888888 !important;
}

/* Header logo — 4.2rem */
.pkp_site_name a.is_img img.journal_logo_svg,
.pkp_site_name a.is_img img,
body .pkp_site_name .is_img img,
body .pkp_site_name img.journal_logo_svg {
    height: 4.2rem !important;
    max-height: 4.2rem !important;
}

/* Past issues h2 title — medium weight */
.page_issue_archive .sup_issue_summary .current_issue_title {
    font-weight: 500 !important;
}

/* Past issues — collapse spacing between meta and title */
.page_issue_archive .sup_issue_summary .current_issue_meta {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
.page_issue_archive .sup_issue_summary .current_issue_title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Hero glass — bump white opacity to 85% */
.page_index_journal .sup_issue_info_inner {
    background-color: rgba(255, 255, 255, 0.85) !important;
}

/* ============================================================
   HOW TO CITE — wrap fix + clean dropdown (2026-04-25)
   ============================================================ */

/* Constrain whole citation block to sidebar width and break long words/URLs */
body.pkp_page_article .sup_article_sidebar .item.citation,
body.pkp_page_article .sup_article_sidebar .item.citation .citation_display,
body.pkp_page_article .sup_article_sidebar .item.citation .value,
body.pkp_page_article .sup_article_sidebar #citationOutput,
body.pkp_page_article .sup_article_sidebar .citation_formats,
body.pkp_page_article .sup_article_sidebar .citation_formats_list {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

body.pkp_page_article .sup_article_sidebar #citationOutput,
body.pkp_page_article .sup_article_sidebar #citationOutput * {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    white-space: normal !important;
}

/* Honor aria-hidden on the dropdown — the plugin JS toggles this attribute */
body.pkp_page_article .sup_article_sidebar #cslCitationFormats[aria-hidden=true] {
    display: none !important;
}
body.pkp_page_article .sup_article_sidebar #cslCitationFormats[aria-hidden=false] {
    display: block !important;
}

/* Dropdown panel — clean container, no double border, fits sidebar */
body.pkp_page_article .sup_article_sidebar .citation_formats_list {
    margin-top: 0.5rem !important;
    padding: 0.25rem 0 !important;
    background: #ffffff !important;
    border: 1px solid #979694 !important;
    border-radius: 2px !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04) !important;
    overflow: hidden !important;
}

/* Reset the plugin's per-item border-bottom; use neutral hover instead */
body.pkp_page_article .sup_article_sidebar .citation_formats_styles {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
body.pkp_page_article .sup_article_sidebar .citation_formats_styles li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}
body.pkp_page_article .sup_article_sidebar .citation_formats_styles a {
    display: block !important;
    padding: 0.5rem 0.875rem !important;
    border: 0 !important;
    border-bottom: 1px solid #EAEAEA !important;
    text-decoration: none !important;
    color: #2E2D29 !important;
    font-family: Source Sans 3, sans-serif !important;
    font-size: 0.9375rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    overflow-wrap: anywhere !important;
}
body.pkp_page_article .sup_article_sidebar .citation_formats_styles li:last-child a {
    border-bottom: 0 !important;
}
body.pkp_page_article .sup_article_sidebar .citation_formats_styles a:hover,
body.pkp_page_article .sup_article_sidebar .citation_formats_styles a:focus {
    background: #F4F4F4 !important;
    color: #006CB8 !important;
    text-decoration: none !important;
}

/* Download Citation sub-label inside the dropdown */
body.pkp_page_article .sup_article_sidebar .citation_formats_list > .label {
    display: block !important;
    padding: 0.625rem 0.875rem 0.25rem !important;
    margin: 0 !important;
    border-top: 1px solid #EAEAEA !important;
    font-family: Source Sans 3, sans-serif !important;
    font-size: 0.6875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #6D6C69 !important;
    line-height: 1.3 !important;
}

/* Article page: remove bottom margin from authors row */
body.pkp_page_article .sup_article_authors {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* Article page: authors row margin-top 24px */
body.pkp_page_article .sup_article_authors {
    margin-top: 1.5rem !important;
}

/* ============================================================
   ARTICLE PAGE — unify all div border colours to #D5D5D4
   (overrides the site-wide #979694 / inner #EAEAEA only on this page)
   ============================================================ */
body.pkp_page_article .page_article,
body.pkp_page_article .page_article * {
    border-color: #D5D5D4 !important;
}

/* Article page sidebar — explicit override for sidebar item dividers
   (PUBLISHED / ISSUE / SECTION / LICENSE / How to Cite) */
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item,
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item:first-child,
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item:last-child,
body.pkp_page_article .sup_article_sidebar .sup_sidebar_item + .sup_sidebar_item,
body.pkp_page_article .sup_article_sidebar .item.citation {
    border-color: #D5D5D4 !important;
    border-top-color: #D5D5D4 !important;
    border-bottom-color: #D5D5D4 !important;
}

/* ============================================================
   ARTICLE CARD TITLE — no colour change on hover anywhere
   (home, issue TOC, archive, search results, etc.)
   ============================================================ */
.sup_article_item .obj_article_summary .title,
.sup_article_item .obj_article_summary .title a,
.sup_article_item .obj_article_summary .title a:link,
.sup_article_item .obj_article_summary .title a:visited,
.sup_article_item .obj_article_summary .title a:hover,
.sup_article_item .obj_article_summary .title a:focus,
.sup_article_item .obj_article_summary .title a:active,
.obj_article_summary .title,
.obj_article_summary .title a,
.obj_article_summary .title a:link,
.obj_article_summary .title a:visited,
.obj_article_summary .title a:hover,
.obj_article_summary .title a:focus,
.obj_article_summary .title a:active,
.issue_toc .title a,
.issue_toc .title a:link,
.issue_toc .title a:visited,
.issue_toc .title a:hover,
.issue_toc .title a:focus,
.issue_toc .title a:active,
.articles_grid .title a,
.articles_grid .title a:hover,
.articles_grid .title a:focus,
.cmp_article_list .title a,
.cmp_article_list .title a:hover,
.cmp_article_list .title a:focus,
.obj_article_summary .sup_card_link,
.obj_article_summary .sup_card_link:hover,
.obj_article_summary .sup_card_link:focus,
.obj_article_summary .sup_card_link:active {
    color: #2E2D29 !important;
    background: transparent !important;
    text-decoration: none !important;
    border: 0 !important;
}

/* Past issues — title size 1.8rem */
.page_issue_archive .sup_issue_summary .current_issue_title {
    font-size: 1.8rem !important;
}

/* Past issues — title size 2rem */
.page_issue_archive .sup_issue_summary .current_issue_title {
    font-size: 2rem !important;
}

/* Abstract text: max-width 600px */
body.pkp_page_article .sup_abstract_text,
body.pkp_page_article .sup_abstract_text p {
    max-width: 600px !important;
}

/* ============================================================
   ARTICLE PAGE — authors vertical with full affiliations
   (Client feedback May 2026 — Jasmine: keep authors listed
   vertically with full affiliations as in the legacy theme.)
   ============================================================ */
body.pkp_page_article .sup_article_authors {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    gap: 1rem !important;
    margin-top: 1.5rem !important;
    padding: 0 !important;
    list-style: none !important;
}
body.pkp_page_article .sup_author_item {
    display: block !important;
    width: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    line-height: 1.4 !important;
}
body.pkp_page_article .sup_author_item::after {
    content: '' !important;
    display: none !important;
}
body.pkp_page_article .sup_author_name_row {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}
body.pkp_page_article .sup_author_name {
    font-weight: 500 !important;
    color: #2E2D29 !important;
    font-size: 1rem !important;
}
body.pkp_page_article .sup_author_affiliation {
    display: block !important;
    margin-top: 0.125rem !important;
    font-size: 0.875rem !important;
    color: #6D6C69 !important;
    line-height: 1.4 !important;
    font-style: normal !important;
}
body.pkp_page_article .sup_author_orcid {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 0 !important;
}

/* ============================================================
   ARTICLE PAGE — license/copyright sidebar block
   (Robust rendering: copyright shows whenever copyrightHolder
   is set, independent of licenseUrl. Required for indexing.)
   ============================================================ */
body.pkp_page_article .sup_sidebar_value .sup_copyright_stmt {
    margin: 0 0 0.5rem 0 !important;
    font-size: 0.875rem !important;
    line-height: 1.4 !important;
    color: #2E2D29 !important;
}
body.pkp_page_article .sup_sidebar_value .sup_license_link {
    display: inline-block !important;
    font-size: 0.875rem !important;
    color: #006CB8 !important;
    text-decoration: underline !important;
    margin-bottom: 0.5rem !important;
}
body.pkp_page_article .sup_sidebar_value .sup_license_link:hover {
    color: #00548F !important;
}
body.pkp_page_article .sup_sidebar_value .sup_license_terms {
    margin-top: 0.5rem !important;
    font-size: 0.8125rem !important;
    color: #6D6C69 !important;
    line-height: 1.4 !important;
}
