/**
 * INATGI Theme Six — OJS 3.5 publishing chrome
 *
 * This stylesheet intentionally leaves the OJS 3.5 primary/user navigation
 * rendering intact. It styles the new publisher utility bar and unified footer.
 */

/* Publisher utility bar */
.inatgi-publisher-bar {
    box-sizing: border-box;
    width: 100%;
    min-height: 42px;
    color: var(--inatgi-topbar-text, #fff);
    background: #090909;
    border-bottom: 0;
}

.inatgi-publisher-bar *,
.inatgi-publisher-bar *::before,
.inatgi-publisher-bar *::after {
    box-sizing: border-box;
}

.inatgi-publisher-bar-inner {
    display: flex;
    width: calc(100% - 48px);
    max-width: 1500px;
    min-height: 42px;
    margin: 0 auto;
    align-items: center;
    gap: 18px;
}

.inatgi-publisher-identity {
    display: inline-flex;
    min-width: 0;
    flex: 1 1 auto;
    align-items: center;
    gap: 9px;
    color: #fff !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.35;
    text-decoration: none;
}

.inatgi-publisher-identity:hover,
.inatgi-publisher-identity:focus {
    color: #fff !important;
    text-decoration: underline;
}

.inatgi-publisher-identity .fa {
    flex: 0 0 auto;
    color: #c3122f;
    font-size: 14px;
}

.inatgi-publisher-user-slot {
    display: flex;
    min-width: 0;
    flex: 0 1 auto;
    align-items: center;
    justify-content: flex-end;
}

.inatgi-publisher-user-navigation,
.inatgi-publisher-user-slot .pkp_navigation_user_wrapper {
    position: static !important;
    top: auto !important;
    right: auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.inatgi-publisher-user-slot .pkp_navigation_user {
    display: flex !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center;
    gap: 2px;
    list-style: none;
}

.inatgi-publisher-user-slot .pkp_navigation_user > li {
    position: relative;
    margin: 0 !important;
    padding: 0 !important;
}

.inatgi-publisher-user-slot .pkp_navigation_user > li::before {
    display: none !important;
    content: none !important;
}

.inatgi-publisher-user-slot .pkp_navigation_user > li > a {
    display: inline-flex !important;
    min-height: 42px;
    padding: 0 9px !important;
    align-items: center;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
}

.inatgi-publisher-user-slot .pkp_navigation_user > li > a:hover,
.inatgi-publisher-user-slot .pkp_navigation_user > li > a:focus {
    color: #fff !important;
    background: rgba(255, 255, 255, .09) !important;
}

.inatgi-publisher-user-slot .pkp_navigation_user ul {
    z-index: 1200;
    color: #202020;
    background: #fff;
}

.inatgi-publisher-user-slot .pkp_navigation_user ul a {
    color: #202020 !important;
}

.inatgi-publisher-fallback-links {
    display: flex;
    align-items: center;
    gap: 8px;
}

.inatgi-publisher-fallback-links a {
    display: inline-flex;
    min-height: 30px;
    padding: 0 8px;
    align-items: center;
    gap: 5px;
    color: #fff !important;
    text-decoration: none;
}

/* Platform-only logo/navigation row. The original OJS header remains available
 * on journal pages, while the site index receives a stable, explicit structure. */
.inatgi-platform-header > .pkp_head_wrapper {
    display: none !important;
}

.inatgi-platform-mainbar {
    display: grid;
    box-sizing: border-box;
    width: calc(100% - 48px);
    max-width: 1500px;
    min-height: 78px;
    margin: 0 auto;
    padding: 0;
    grid-template-columns: 160px minmax(0, 1fr) auto;
    gap: 28px;
    align-items: center;
    background: #fff;
}

.inatgi-platform-logo {
    display: inline-flex;
    width: 148px;
    height: 62px;
    align-items: center;
    text-decoration: none;
}

.inatgi-platform-logo img {
    display: block;
    width: auto;
    max-width: 148px;
    max-height: 58px;
    object-fit: contain;
    border: 0;
}

.inatgi-platform-navigation {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(15px, 1.55vw, 28px);
}

.inatgi-platform-navigation a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: 6px;
    color: #111 !important;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
}

.inatgi-platform-navigation a:hover,
.inatgi-platform-navigation a:focus {
    color: var(--inatgi-red, #b11226) !important;
}

.inatgi-platform-search .fa {
    font-size: 14px;
}

.inatgi-platform-submit {
    display: inline-flex;
    min-height: 48px;
    padding: 0 21px;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: var(--inatgi-red, #b11226);
    border: 1px solid var(--inatgi-red, #b11226);
    border-radius: 3px;
    box-shadow: 0 5px 13px rgba(177, 18, 38, .18);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none !important;
    white-space: nowrap;
}

.inatgi-platform-submit:hover,
.inatgi-platform-submit:focus {
    color: #fff !important;
    background: #8f0d24;
    border-color: #8f0d24;
}

/* OJS 3.5 header alignment. Primary and user menus retain core markup. */
.inatgi-theme-six .pkp_structure_head {
    background: #fff;
    border-top: 0;
    border-bottom: 3px solid var(--inatgi-red, #b11226);
    box-shadow: 0 3px 14px rgba(0, 0, 0, 0.05);
}

.inatgi-theme-six .pkp_head_wrapper {
    box-sizing: border-box;
    width: calc(100% - 48px);
    max-width: 1500px;
    margin-right: auto;
    margin-left: auto;
}

.inatgi-theme-six .pkp_site_name_wrapper,
.inatgi-theme-six .pkp_navigation_primary_wrapper {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
}

.inatgi-theme-six .pkp_site_name {
    box-sizing: border-box;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

.inatgi-theme-six .pkp_navigation_primary {
    box-sizing: border-box;
    width: 100%;
}

.inatgi-theme-six .pkp_site_name .is_img img {
    width: auto;
    max-width: min(760px, 100%);
    max-height: 100px;
    object-fit: contain;
}

.inatgi-theme-six .pkp_site_name .is_text {
    color: var(--inatgi-header, #1e6292);
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 700;
}

.inatgi-theme-six .pkp_navigation_primary > li > a:focus,
.inatgi-theme-six .pkp_navigation_user > li > a:focus,
.inatgi-theme-six .pkp_search:focus {
    outline: 2px solid var(--inatgi-red, #b11226);
    outline-offset: 2px;
}

/* Scholarly infrastructure strip — seven icons only, no heading. */
.inatgi-infrastructure-strip {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 24px 0 26px;
    background: #fff;
    border-top: 1px solid #e8e8e8;
    border-bottom: 1px solid #d8d8d8;
}

.inatgi-infrastructure-strip *,
.inatgi-infrastructure-strip *::before,
.inatgi-infrastructure-strip *::after {
    box-sizing: border-box;
}

.inatgi-infrastructure-inner {
    width: calc(100% - 40px);
    max-width: 1260px;
    margin: 0 auto;
}

.inatgi-infrastructure-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(112px, 142px));
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.inatgi-infrastructure-card {
    display: flex;
    width: 100%;
    height: 68px;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #e3e3e3;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.inatgi-infrastructure-card:hover,
.inatgi-infrastructure-card:focus {
    border-color: #cfcfcf;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
    transform: translateY(-2px);
    text-decoration: none;
    outline: none;
}

.inatgi-infrastructure-card img {
    display: block;
    width: 100%;
    height: 40px;
    max-width: 118px;
    max-height: 40px;
    object-fit: contain;
    border: 0;
}

/* Unified publisher footer */
.inatgi-platform-footer {
    display: none !important;
}

.inatgi-unified-footer {
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 52px 0 0;
    color: #d8d8d8;
    background: linear-gradient(135deg, #101010 0%, #181818 58%, #2f0c12 100%);
    border-top: 4px solid var(--inatgi-red, #b11226);
    font-family: Arial, Helvetica, sans-serif;
}

.inatgi-unified-footer *,
.inatgi-unified-footer *::before,
.inatgi-unified-footer *::after {
    box-sizing: border-box;
}

.inatgi-unified-footer-inner {
    width: calc(100% - 64px);
    max-width: 1440px;
    margin: 0 auto;
}

.inatgi-unified-footer-custom {
    margin-bottom: 30px;
    color: #d8d8d8;
}

.inatgi-unified-footer-grid {
    display: grid;
    grid-template-columns: minmax(300px, 1.45fr) minmax(180px, 0.78fr) minmax(230px, 0.98fr) minmax(310px, 1.08fr);
    gap: 52px;
    align-items: start;
}

.inatgi-unified-footer-section {
    min-width: 0;
}

.inatgi-unified-footer-logo {
    display: inline-block;
    margin-bottom: 22px;
    text-decoration: none;
}

.inatgi-unified-footer-logo img {
    display: block;
    width: auto;
    max-width: 205px;
    max-height: 82px;
    object-fit: contain;
    border: 0;
}

.inatgi-unified-footer h2 {
    position: relative;
    margin: 0 0 24px;
    padding: 0 0 12px;
    color: #fff;
    border: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1.3;
    font-weight: 700;
    text-transform: none;
}

.inatgi-unified-footer h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 54px;
    height: 3px;
    background: var(--inatgi-red, #b11226);
}

.inatgi-unified-footer-about {
    margin: 0 0 20px;
    color: #d3d3d3;
    font-size: 15px;
    line-height: 1.75;
}

.inatgi-unified-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.inatgi-unified-footer-links li {
    margin: 0;
    padding: 9px 0;
    color: #d8d8d8;
    border-bottom: 1px solid rgba(255, 255, 255, 0.10);
    font-size: 14px;
    line-height: 1.5;
    list-style: none;
}

.inatgi-unified-footer-links li:last-child {
    border-bottom: 0;
}

.inatgi-unified-footer-links li::before {
    display: none !important;
    content: none !important;
}

.inatgi-unified-footer a {
    color: #f4f4f4;
    text-decoration: none;
    transition: color 0.18s ease;
}

.inatgi-unified-footer a:hover,
.inatgi-unified-footer a:focus {
    color: #ee8998;
    text-decoration: none;
}

.inatgi-unified-footer-about-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: 18px;
}

.inatgi-unified-footer-about-links a {
    font-size: 14px;
    font-weight: 700;
}

.inatgi-unified-footer-contact li {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 8px;
    align-items: start;
}

.inatgi-unified-footer-contact .fa {
    width: 22px;
    margin-top: 3px;
    color: #d5223c;
    text-align: center;
}

.inatgi-unified-footer-contact a[href^="tel:"] {
    white-space: nowrap;
}

.inatgi-unified-footer-address {
    overflow-wrap: normal;
    word-break: normal;
}

.inatgi-unified-footer-social {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.inatgi-unified-footer-social a {
    display: inline-flex;
    width: 40px;
    height: 40px;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.20);
    border-radius: 3px;
    font-size: 17px;
}

.inatgi-unified-footer-social a:hover,
.inatgi-unified-footer-social a:focus {
    color: #fff;
    background: var(--inatgi-red, #b11226);
    border-color: var(--inatgi-red, #b11226);
}

.inatgi-unified-footer-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(300px, 0.8fr);
    gap: 40px;
    align-items: center;
    margin-top: 42px;
    padding: 23px 0 25px;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.inatgi-unified-footer-license,
.inatgi-unified-footer-copyright p {
    margin: 0;
    color: #d2d2d2;
    font-size: 12px;
    line-height: 1.65;
    text-transform: none;
}

.inatgi-unified-footer-copyright {
    text-align: right;
}

.inatgi-unified-footer-copyright p {
    margin-bottom: 6px;
}

.inatgi-unified-footer-bottom-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 18px;
}

.inatgi-unified-footer-bottom-links a {
    color: #bdbdbd;
    font-size: 11px;
}

@media (max-width: 1199px) {
    .inatgi-infrastructure-grid {
        grid-template-columns: repeat(4, minmax(112px, 142px));
    }

    .inatgi-unified-footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 42px 48px;
    }
}

@media (max-width: 767px) {
    .inatgi-theme-six .pkp_head_wrapper {
        width: calc(100% - 28px);
    }

    .inatgi-publisher-bar-inner {
        width: calc(100% - 28px);
        min-height: 38px;
        gap: 10px;
    }

    .inatgi-publisher-tagline {
        display: none;
    }

    .inatgi-infrastructure-strip {
        padding: 20px 0 22px;
    }

    .inatgi-infrastructure-inner {
        width: calc(100% - 28px);
    }

    .inatgi-infrastructure-grid {
        grid-template-columns: repeat(2, minmax(118px, 1fr));
        gap: 10px;
    }

    .inatgi-infrastructure-card {
        height: 60px;
        padding: 8px 10px;
    }

    .inatgi-infrastructure-card img {
        height: 34px;
        max-height: 34px;
    }

    .inatgi-unified-footer {
        padding-top: 40px;
    }

    .inatgi-unified-footer-inner {
        width: calc(100% - 36px);
    }

    .inatgi-unified-footer-grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }

    .inatgi-unified-footer h2 {
        margin-bottom: 18px;
        font-size: 21px;
    }

    .inatgi-unified-footer-bottom {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .inatgi-unified-footer-copyright {
        text-align: left;
    }

    .inatgi-unified-footer-bottom-links {
        justify-content: flex-start;
    }
}

/* Stage 2.1: the unified chrome is inserted by JavaScript while OJS 3.5 core
 * header.tpl and footer.tpl remain untouched. Hide the core footer only after
 * the replacement footer has been inserted successfully. */
body.inatgi-chrome-ready .pkp_structure_footer_wrapper {
    display: none !important;
}


/* Platform homepage finishing rules. */
body.inatgi-platform-site-index .pkp_structure_head,
body.inatgi-academic-site-index .pkp_structure_head {
    border-bottom: 3px solid var(--inatgi-red, #b11226);
    box-shadow: none;
}

@media (max-width: 1199px) {
    .inatgi-platform-mainbar {
        grid-template-columns: 145px minmax(0, 1fr) auto;
        gap: 18px;
    }

    .inatgi-platform-navigation {
        gap: 13px;
    }

    .inatgi-platform-navigation a {
        font-size: 12px;
    }

    .inatgi-platform-submit {
        padding-right: 15px;
        padding-left: 15px;
    }
}

@media (max-width: 991px) {
    .inatgi-platform-mainbar {
        padding: 10px 0 12px;
        grid-template-columns: minmax(130px, 1fr) auto;
        grid-template-areas:
            "logo submit"
            "nav nav";
        row-gap: 5px;
    }

    .inatgi-platform-logo {
        grid-area: logo;
    }

    .inatgi-platform-navigation {
        grid-area: nav;
        overflow-x: auto;
        justify-content: flex-start;
        padding-bottom: 2px;
    }

    .inatgi-platform-submit {
        grid-area: submit;
    }
}

@media (max-width: 767px) {
    .inatgi-publisher-bar-inner,
    .inatgi-platform-mainbar {
        width: calc(100% - 28px);
    }

    .inatgi-publisher-identity span:last-child {
        display: none;
    }

    .inatgi-publisher-user-slot .pkp_navigation_user > li > a {
        padding-right: 6px !important;
        padding-left: 6px !important;
        font-size: 11px;
    }

    .inatgi-platform-mainbar {
        grid-template-columns: minmax(100px, 1fr) auto;
    }

    .inatgi-platform-logo,
    .inatgi-platform-logo img {
        max-width: 126px;
    }

    .inatgi-platform-submit {
        min-height: 42px;
        padding-right: 12px;
        padding-left: 12px;
        font-size: 11px;
    }

    .inatgi-platform-navigation {
        gap: 16px;
    }

    .inatgi-platform-navigation a {
        min-height: 36px;
        font-size: 11px;
    }
}

/* =========================================================
   INATGI PLATFORM HEADER — REFERENCE-SCREEN EXACT PROPORTIONS
   ========================================================= */

body.inatgi-platform-site-index .inatgi-publisher-bar,
body.inatgi-academic-site-index .inatgi-publisher-bar {
    min-height: 42px !important;
    height: 42px !important;
}

body.inatgi-platform-site-index .inatgi-publisher-bar-inner,
body.inatgi-academic-site-index .inatgi-publisher-bar-inner {
    width: calc(100% - 40px) !important;
    max-width: 1500px !important;
    min-height: 42px !important;
    height: 42px !important;
    gap: 18px !important;
}

body.inatgi-platform-site-index .inatgi-publisher-identity,
body.inatgi-academic-site-index .inatgi-publisher-identity {
    max-width: none !important;
    gap: 9px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
}

body.inatgi-platform-site-index .inatgi-publisher-identity .fa,
body.inatgi-academic-site-index .inatgi-publisher-identity .fa {
    font-size: 14px !important;
}

body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li > a,
body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li > a {
    min-height: 42px !important;
    height: 42px !important;
    padding: 0 9px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

body.inatgi-platform-site-index .inatgi-platform-mainbar,
body.inatgi-academic-site-index .inatgi-platform-mainbar {
    width: calc(100% - 48px) !important;
    max-width: 1500px !important;
    min-height: 78px !important;
    height: 78px !important;
    padding: 0 !important;
    grid-template-columns: 160px minmax(0, 1fr) auto !important;
    gap: 28px !important;
}

body.inatgi-platform-site-index .inatgi-platform-logo,
body.inatgi-academic-site-index .inatgi-platform-logo {
    width: 148px !important;
    height: 62px !important;
}

body.inatgi-platform-site-index .inatgi-platform-logo img,
body.inatgi-academic-site-index .inatgi-platform-logo img {
    width: 148px !important;
    height: auto !important;
    max-width: 148px !important;
    max-height: 58px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

body.inatgi-platform-site-index .inatgi-platform-navigation,
body.inatgi-academic-site-index .inatgi-platform-navigation {
    gap: clamp(15px, 1.55vw, 28px) !important;
}

body.inatgi-platform-site-index .inatgi-platform-navigation > a,
body.inatgi-academic-site-index .inatgi-platform-navigation > a {
    min-height: 42px !important;
    height: 42px !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

body.inatgi-platform-site-index .inatgi-platform-search .fa,
body.inatgi-academic-site-index .inatgi-platform-search .fa {
    font-size: 14px !important;
}

body.inatgi-platform-site-index .inatgi-platform-submit,
body.inatgi-academic-site-index .inatgi-platform-submit {
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 21px !important;
    border-radius: 3px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

/* Keep the anonymous Register/Login menu in the same right-hand utility slot. */
body.inatgi-platform-site-index .inatgi-publisher-user-slot,
body.inatgi-academic-site-index .inatgi-publisher-user-slot {
    min-height: 42px !important;
    height: 42px !important;
}

/* Responsive proportions retain the same desktop visual hierarchy. */
@media (max-width: 1199px) {
    body.inatgi-platform-site-index .inatgi-platform-mainbar,
    body.inatgi-academic-site-index .inatgi-platform-mainbar {
        grid-template-columns: 145px minmax(0, 1fr) auto !important;
        gap: 18px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-logo,
    body.inatgi-academic-site-index .inatgi-platform-logo,
    body.inatgi-platform-site-index .inatgi-platform-logo img,
    body.inatgi-academic-site-index .inatgi-platform-logo img {
        width: 138px !important;
        max-width: 138px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-navigation,
    body.inatgi-academic-site-index .inatgi-platform-navigation {
        gap: 13px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-navigation > a,
    body.inatgi-academic-site-index .inatgi-platform-navigation > a {
        font-size: 12px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-submit,
    body.inatgi-academic-site-index .inatgi-platform-submit {
        padding-right: 15px !important;
        padding-left: 15px !important;
    }
}

@media (max-width: 991px) {
    body.inatgi-platform-site-index .inatgi-platform-mainbar,
    body.inatgi-academic-site-index .inatgi-platform-mainbar {
        height: auto !important;
        min-height: 78px !important;
    }
}

@media (max-width: 767px) {
    body.inatgi-platform-site-index .inatgi-publisher-bar,
    body.inatgi-academic-site-index .inatgi-publisher-bar,
    body.inatgi-platform-site-index .inatgi-publisher-bar-inner,
    body.inatgi-academic-site-index .inatgi-publisher-bar-inner {
        height: 38px !important;
        min-height: 38px !important;
    }

    body.inatgi-platform-site-index .inatgi-publisher-user-slot,
    body.inatgi-academic-site-index .inatgi-publisher-user-slot,
    body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li > a,
    body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li > a {
        height: 38px !important;
        min-height: 38px !important;
    }
}

/* =========================================================
   INATGI PLATFORM HEADER — REFERENCE SCREEN PIXEL MATCH
   Reference geometry at desktop:
   utility content 750px; navigation content 1032px;
   logo 132px; nav 12px; submit button 158 x 46px.
   ========================================================= */

body.inatgi-platform-site-index .pkp_structure_head,
body.inatgi-academic-site-index .pkp_structure_head {
    position: relative !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
}

body.inatgi-platform-site-index .pkp_structure_head::after,
body.inatgi-academic-site-index .pkp_structure_head::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: calc(100% - 40px) !important;
    max-width: 1500px !important;
    height: 3px !important;
    margin: 0 auto !important;
    background: var(--inatgi-red, #b11226) !important;
    pointer-events: none !important;
}

/* Black utility strip */
body.inatgi-platform-site-index .inatgi-publisher-bar,
body.inatgi-academic-site-index .inatgi-publisher-bar {
    min-height: 34px !important;
    height: 34px !important;
    background: #090909 !important;
    border: 0 !important;
}

body.inatgi-platform-site-index .inatgi-publisher-bar-inner,
body.inatgi-academic-site-index .inatgi-publisher-bar-inner {
    width: calc(100% - 32px) !important;
    max-width: 750px !important;
    min-height: 34px !important;
    height: 34px !important;
    margin: 0 auto !important;
    gap: 14px !important;
}

body.inatgi-platform-site-index .inatgi-publisher-identity,
body.inatgi-academic-site-index .inatgi-publisher-identity {
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    gap: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.inatgi-platform-site-index .inatgi-publisher-identity .fa,
body.inatgi-academic-site-index .inatgi-publisher-identity .fa {
    font-size: 13px !important;
}

/* Hide every original OJS user menu until JavaScript moves the chosen one. */
body.inatgi-platform-site-index .pkp_navigation_user_wrapper,
body.inatgi-platform-site-index .pkp_navigation_user,
body.inatgi-academic-site-index .pkp_navigation_user_wrapper,
body.inatgi-academic-site-index .pkp_navigation_user {
    display: none !important;
}

/* Re-enable only the menu inside the right-hand utility slot. */
body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user_wrapper,
body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user,
body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user_wrapper,
body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user {
    display: flex !important;
}

body.inatgi-platform-site-index .inatgi-publisher-user-slot,
body.inatgi-academic-site-index .inatgi-publisher-user-slot {
    display: flex !important;
    min-width: 0 !important;
    height: 34px !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user_wrapper,
body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user_wrapper {
    position: static !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: auto !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user,
body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user {
    position: static !important;
    width: auto !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    gap: 0 !important;
    background: transparent !important;
    list-style: none !important;
}

body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li,
body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.inatgi-platform-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li > a,
body.inatgi-academic-site-index .inatgi-publisher-user-slot .pkp_navigation_user > li > a {
    display: inline-flex !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 8px !important;
    align-items: center !important;
    gap: 5px !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* White logo/navigation strip */
body.inatgi-platform-site-index .inatgi-platform-mainbar,
body.inatgi-academic-site-index .inatgi-platform-mainbar {
    display: grid !important;
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    max-width: 1032px !important;
    min-height: 79px !important;
    height: 79px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    grid-template-columns: 160px minmax(0, 1fr) 158px !important;
    gap: 24px !important;
    align-items: center !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.inatgi-platform-site-index .inatgi-platform-logo,
body.inatgi-academic-site-index .inatgi-platform-logo {
    display: inline-flex !important;
    width: 132px !important;
    height: 54px !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

body.inatgi-platform-site-index .inatgi-platform-logo img,
body.inatgi-academic-site-index .inatgi-platform-logo img {
    display: block !important;
    width: 132px !important;
    height: auto !important;
    max-width: 132px !important;
    max-height: 50px !important;
    object-fit: contain !important;
    object-position: left center !important;
}

body.inatgi-platform-site-index .inatgi-platform-navigation,
body.inatgi-academic-site-index .inatgi-platform-navigation {
    display: flex !important;
    min-width: 0 !important;
    height: 79px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow: visible !important;
}

body.inatgi-platform-site-index .inatgi-platform-navigation > a,
body.inatgi-academic-site-index .inatgi-platform-navigation > a {
    display: inline-flex !important;
    min-height: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    align-items: center !important;
    gap: 5px !important;
    color: #111 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.inatgi-platform-site-index .inatgi-platform-search .fa,
body.inatgi-academic-site-index .inatgi-platform-search .fa {
    font-size: 13px !important;
}

body.inatgi-platform-site-index .inatgi-platform-submit,
body.inatgi-academic-site-index .inatgi-platform-submit {
    display: inline-flex !important;
    box-sizing: border-box !important;
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 16px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: var(--inatgi-red, #b11226) !important;
    border: 1px solid var(--inatgi-red, #b11226) !important;
    border-radius: 3px !important;
    box-shadow: 0 4px 10px rgba(177, 18, 38, .18) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    white-space: nowrap !important;
}

/* At narrower widths, preserve usability rather than clipping menu items. */
@media (max-width: 1100px) {
    body.inatgi-platform-site-index .inatgi-platform-mainbar,
    body.inatgi-academic-site-index .inatgi-platform-mainbar {
        max-width: calc(100% - 32px) !important;
        grid-template-columns: 138px minmax(0, 1fr) 148px !important;
        gap: 14px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-logo,
    body.inatgi-academic-site-index .inatgi-platform-logo,
    body.inatgi-platform-site-index .inatgi-platform-logo img,
    body.inatgi-academic-site-index .inatgi-platform-logo img {
        width: 124px !important;
        max-width: 124px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-navigation,
    body.inatgi-academic-site-index .inatgi-platform-navigation {
        gap: 12px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-navigation > a,
    body.inatgi-academic-site-index .inatgi-platform-navigation > a {
        font-size: 11px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-submit,
    body.inatgi-academic-site-index .inatgi-platform-submit {
        width: 148px !important;
        min-width: 148px !important;
        max-width: 148px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 900px) {
    body.inatgi-platform-site-index .inatgi-platform-mainbar,
    body.inatgi-academic-site-index .inatgi-platform-mainbar {
        height: auto !important;
        min-height: 79px !important;
        padding: 8px 0 10px !important;
        grid-template-columns: minmax(132px, 1fr) 148px !important;
        grid-template-areas:
            "logo submit"
            "nav nav" !important;
        row-gap: 2px !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-logo,
    body.inatgi-academic-site-index .inatgi-platform-logo {
        grid-area: logo !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-navigation,
    body.inatgi-academic-site-index .inatgi-platform-navigation {
        grid-area: nav !important;
        width: 100% !important;
        height: auto !important;
        overflow-x: auto !important;
    }

    body.inatgi-platform-site-index .inatgi-platform-submit,
    body.inatgi-academic-site-index .inatgi-platform-submit {
        grid-area: submit !important;
    }
}

/* =========================================================
   JOURNAL HEADER — SAME GEOMETRY AS THE PLATFORM HEADER
   ========================================================= */

body.inatgi-journal-context .pkp_structure_head {
    position: relative !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.inatgi-journal-context .pkp_structure_head::after {
    content: "" !important;
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: block !important;
    width: calc(100% - 40px) !important;
    max-width: 1500px !important;
    height: 3px !important;
    margin: 0 auto !important;
    background: var(--inatgi-red, #b11226) !important;
    pointer-events: none !important;
}

body.inatgi-journal-context .inatgi-publisher-bar {
    min-height: 34px !important;
    height: 34px !important;
    background: #090909 !important;
    border: 0 !important;
}

body.inatgi-journal-context .inatgi-publisher-bar-inner {
    width: calc(100% - 32px) !important;
    max-width: 750px !important;
    min-height: 34px !important;
    height: 34px !important;
    margin: 0 auto !important;
    gap: 14px !important;
}

body.inatgi-journal-context .inatgi-publisher-identity {
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    gap: 8px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

body.inatgi-journal-context .inatgi-publisher-identity .fa {
    font-size: 13px !important;
}

body.inatgi-journal-context .pkp_navigation_user_wrapper,
body.inatgi-journal-context .pkp_navigation_user {
    display: none !important;
}

body.inatgi-journal-context .inatgi-publisher-user-slot .pkp_navigation_user_wrapper,
body.inatgi-journal-context .inatgi-publisher-user-slot .pkp_navigation_user {
    display: flex !important;
}

body.inatgi-journal-context .inatgi-publisher-user-slot {
    display: flex !important;
    min-width: 0 !important;
    height: 34px !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

body.inatgi-journal-context .inatgi-publisher-user-slot .pkp_navigation_user_wrapper,
body.inatgi-journal-context .inatgi-publisher-user-slot .pkp_navigation_user {
    position: static !important;
    width: auto !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.inatgi-journal-context .inatgi-publisher-user-slot .pkp_navigation_user {
    gap: 0 !important;
    list-style: none !important;
}

body.inatgi-journal-context .inatgi-publisher-user-slot .pkp_navigation_user > li {
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.inatgi-journal-context .inatgi-publisher-user-slot .pkp_navigation_user > li > a {
    display: inline-flex !important;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 8px !important;
    align-items: center !important;
    gap: 5px !important;
    color: #fff !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.inatgi-journal-context .inatgi-journal-core-header-hidden {
    display: none !important;
}

/* The journal row deliberately reuses the platform layout proportions. */
body.inatgi-journal-context .inatgi-journal-mainbar {
    display: grid !important;
    box-sizing: border-box !important;
    width: calc(100% - 32px) !important;
    max-width: 1032px !important;
    min-height: 79px !important;
    height: 79px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    grid-template-columns: 160px minmax(0, 1fr) 158px !important;
    gap: 24px !important;
    align-items: center !important;
    background: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.inatgi-journal-context .inatgi-journal-logo-slot {
    display: flex !important;
    width: 132px !important;
    height: 54px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    overflow: visible !important;
}

body.inatgi-journal-context .inatgi-journal-logo-slot .pkp_site_name {
    display: flex !important;
    width: 132px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: 1 !important;
}

body.inatgi-journal-context .inatgi-journal-logo-slot .pkp_site_name > a,
body.inatgi-journal-context .inatgi-journal-logo-slot .pkp_site_name .is_img,
body.inatgi-journal-context .inatgi-journal-logo-slot .pkp_site_name .is_text {
    display: flex !important;
    width: auto !important;
    max-width: 132px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: var(--inatgi-header, #1e6292) !important;
    background: transparent !important;
    border: 0 !important;
    text-decoration: none !important;
}

body.inatgi-journal-context .inatgi-journal-logo-slot img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 132px !important;
    max-height: 50px !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: left center !important;
    border: 0 !important;
}

body.inatgi-journal-context .inatgi-journal-logo-slot img.inatgi-image-unavailable {
    display: none !important;
}

body.inatgi-journal-context .inatgi-logo-text-fallback,
body.inatgi-journal-context .inatgi-journal-logo-fallback,
body.inatgi-journal-context .inatgi-journal-logo-slot .is_text {
    color: var(--inatgi-header, #1e6292) !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-slot {
    display: flex !important;
    min-width: 0 !important;
    height: 79px !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow: visible !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper {
    position: static !important;
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: 79px !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary {
    position: static !important;
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    height: 79px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    gap: 20px !important;
    background: transparent !important;
    border: 0 !important;
    list-style: none !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li {
    position: relative !important;
    display: flex !important;
    height: 79px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    list-style: none !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li::before {
    display: none !important;
    content: none !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > a,
body.inatgi-journal-context .inatgi-journal-search {
    display: inline-flex !important;
    min-height: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    gap: 5px !important;
    color: #111 !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > a:hover,
body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > a:focus,
body.inatgi-journal-context .inatgi-journal-search:hover,
body.inatgi-journal-context .inatgi-journal-search:focus {
    color: var(--inatgi-red, #b11226) !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > ul {
    top: calc(100% - 14px) !important;
    left: 0 !important;
    z-index: 1300 !important;
    min-width: 220px !important;
    padding: 8px 0 !important;
    background: #fff !important;
    border: 1px solid #dedede !important;
    border-radius: 2px !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .12) !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > ul a {
    display: block !important;
    padding: 9px 14px !important;
    color: #202020 !important;
    background: #fff !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > ul a:hover,
body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > ul a:focus {
    color: var(--inatgi-red, #b11226) !important;
    background: #fff7f8 !important;
}

body.inatgi-journal-context .inatgi-journal-submit {
    display: inline-flex !important;
    box-sizing: border-box !important;
    width: 158px !important;
    min-width: 158px !important;
    max-width: 158px !important;
    min-height: 46px !important;
    height: 46px !important;
    padding: 0 16px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    background: var(--inatgi-red, #b11226) !important;
    border: 1px solid var(--inatgi-red, #b11226) !important;
    border-radius: 3px !important;
    box-shadow: 0 4px 10px rgba(177, 18, 38, .18) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

body.inatgi-journal-context .inatgi-journal-submit:hover,
body.inatgi-journal-context .inatgi-journal-submit:focus {
    color: #fff !important;
    background: #8f0d24 !important;
    border-color: #8f0d24 !important;
}

@media (max-width: 1100px) {
    body.inatgi-journal-context .inatgi-journal-mainbar {
        max-width: calc(100% - 32px) !important;
        grid-template-columns: 138px minmax(0, 1fr) 148px !important;
        gap: 14px !important;
    }

    body.inatgi-journal-context .inatgi-journal-logo-slot,
    body.inatgi-journal-context .inatgi-journal-logo-slot .pkp_site_name,
    body.inatgi-journal-context .inatgi-journal-logo-slot img {
        width: 124px !important;
        max-width: 124px !important;
    }

    body.inatgi-journal-context .inatgi-journal-navigation-slot,
    body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary {
        gap: 12px !important;
    }

    body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li > a,
    body.inatgi-journal-context .inatgi-journal-search {
        font-size: 11px !important;
    }

    body.inatgi-journal-context .inatgi-journal-submit {
        width: 148px !important;
        min-width: 148px !important;
        max-width: 148px !important;
        font-size: 11px !important;
    }
}

@media (max-width: 900px) {
    body.inatgi-journal-context .inatgi-journal-mainbar {
        height: auto !important;
        min-height: 79px !important;
        padding: 8px 0 10px !important;
        grid-template-columns: minmax(132px, 1fr) 148px !important;
        grid-template-areas:
            "logo submit"
            "nav nav" !important;
        row-gap: 2px !important;
    }

    body.inatgi-journal-context .inatgi-journal-logo-slot {
        grid-area: logo !important;
    }

    body.inatgi-journal-context .inatgi-journal-navigation-slot {
        grid-area: nav !important;
        width: 100% !important;
        height: auto !important;
        overflow-x: auto !important;
    }

    body.inatgi-journal-context .inatgi-journal-navigation-wrapper,
    body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary {
        height: auto !important;
        min-height: 40px !important;
    }

    body.inatgi-journal-context .inatgi-journal-navigation-wrapper .pkp_navigation_primary > li {
        height: 40px !important;
    }

    body.inatgi-journal-context .inatgi-journal-submit {
        grid-area: submit !important;
    }
}

/* =========================================================
   JOURNAL HEADER CLEANUP
   ========================================================= */

/* When a journal image logo exists, suppress the duplicate text title that
 * otherwise appears as a large translucent watermark behind the menu. */
body.inatgi-journal-context
.inatgi-journal-logo-slot
.pkp_site_name.inatgi-journal-site-name-has-image
.inatgi-journal-title-watermark {
    display: none !important;
}

/* Remove faint vertical guide lines/borders from the journal homepage. */
body.inatgi-journal-home-page .pkp_structure_content,
body.inatgi-journal-home-page .pkp_structure_content.container,
body.inatgi-journal-home-page .pkp_structure_main,
body.inatgi-journal-home-page .page_index_journal,
body.inatgi-journal-home-page .inatgi-journal-home,
body.inatgi-journal-home-page .inatgi-journal-hero {
    border-left: 0 !important;
    border-right: 0 !important;
    background-image: none !important;
    box-shadow: none;
}

body.inatgi-journal-home-page .pkp_structure_content::before,
body.inatgi-journal-home-page .pkp_structure_content::after,
body.inatgi-journal-home-page .pkp_structure_main::before,
body.inatgi-journal-home-page .pkp_structure_main::after,
body.inatgi-journal-home-page .page_index_journal::before,
body.inatgi-journal-home-page .page_index_journal::after,
body.inatgi-journal-home-page .inatgi-journal-home::before,
body.inatgi-journal-home-page .inatgi-journal-home::after,
body.inatgi-journal-home-page .inatgi-journal-hero::before,
body.inatgi-journal-home-page .inatgi-journal-hero::after {
    display: none !important;
    content: none !important;
}

/* =========================================================
   JOURNAL HOMEPAGE ONLY — WIDE BODY
   The wide layout is intentionally limited to /index pages.
   Article, issue, archive and other subpages keep their earlier layout.
   ========================================================= */

body.inatgi-journal-home-page .pkp_structure_content,
body.inatgi-journal-home-page .pkp_structure_content.container {
    display: flex !important;
    box-sizing: border-box !important;
    width: calc(100% - 80px) !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 28px 0 80px !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 36px !important;
    background: transparent !important;
}

body.inatgi-journal-home-page .pkp_structure_main,
body.inatgi-journal-home-page .pkp_structure_main.col-md-9,
body.inatgi-journal-home-page main.pkp_structure_main {
    position: static !important;
    display: block !important;
    order: 1 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 0 !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
    transform: none !important;
}

body.inatgi-journal-home-page .pkp_structure_sidebar,
body.inatgi-journal-home-page #sidebar {
    position: static !important;
    display: block !important;
    order: 2 !important;
    float: none !important;
    clear: none !important;
    box-sizing: border-box !important;
    width: 330px !important;
    min-width: 300px !important;
    max-width: 340px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 330px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
    transform: none !important;
}

body.inatgi-journal-home-page .pkp_structure_main > *,
body.inatgi-journal-home-page .page_index_journal,
body.inatgi-journal-home-page .inatgi-journal-home,
body.inatgi-journal-home-page .inatgi-journal-hero {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
}

/* =========================================================
   ARTICLE / ISSUE / ARCHIVE / OTHER JOURNAL SUBPAGES
   Restore the pre-wide-layout behaviour by avoiding all homepage flex rules.
   ========================================================= */

body.inatgi-journal-inner-page .pkp_structure_content,
body.inatgi-journal-inner-page .pkp_structure_content.container {
    width: auto;
    max-width: none;
}

body.inatgi-journal-inner-page .pkp_structure_main,
body.inatgi-journal-inner-page .pkp_structure_sidebar,
body.inatgi-journal-inner-page #sidebar {
    order: initial;
    grid-column: initial;
    grid-row: initial;
    grid-area: initial;
}

/* Responsive journal homepage */
@media (max-width: 1280px) {
    body.inatgi-journal-home-page .pkp_structure_content,
    body.inatgi-journal-home-page .pkp_structure_content.container {
        width: calc(100% - 48px) !important;
        gap: 28px !important;
    }

    body.inatgi-journal-home-page .pkp_structure_sidebar,
    body.inatgi-journal-home-page #sidebar {
        width: 300px !important;
        min-width: 270px !important;
        max-width: 310px !important;
        flex-basis: 300px !important;
    }
}

@media (max-width: 991px) {
    body.inatgi-journal-home-page .pkp_structure_content,
    body.inatgi-journal-home-page .pkp_structure_content.container {
        width: calc(100% - 32px) !important;
        padding: 24px 0 56px !important;
        flex-direction: column !important;
        gap: 34px !important;
    }

    body.inatgi-journal-home-page .pkp_structure_main,
    body.inatgi-journal-home-page .pkp_structure_sidebar,
    body.inatgi-journal-home-page #sidebar {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }
}

@media (max-width: 600px) {
    body.inatgi-journal-home-page .pkp_structure_content,
    body.inatgi-journal-home-page .pkp_structure_content.container {
        width: calc(100% - 24px) !important;
        padding-top: 18px !important;
    }
}

/* ============================================================
   INATGI: dropdown hover fix v5 (clean rebuild)
   Root cause of the "stacked double layer": Bootstrap's
   dropdown.js (click-toggled) leaves `.show` on a panel after a
   click, while the hover CSS opens another panel — both render
   at once. v5 makes hover/focus the ONLY visibility switch:
   a panel is visible if and only if its parent item is hovered
   or focused, regardless of `.show`.
   ============================================================ */

/* 1. A panel is FORCED CLOSED whenever its parent item is not
      hovered/focused — even if Bootstrap left `.show` on it. */
.pkp_navigation_primary > li:not(:hover):not(:focus-within) > ul,
.pkp_navigation_primary > li:not(:hover):not(:focus-within) > .dropdown-menu,
.pkp_navigation_user > li:not(:hover):not(:focus-within) > ul,
.pkp_navigation_user > li:not(:hover):not(:focus-within) > .dropdown-menu {
	display: none !important;
}

/* 2. A panel is OPEN while its parent item (or the panel itself,
      which is a child of the item) is hovered/focused. */
.pkp_navigation_primary > li:hover > ul,
.pkp_navigation_primary > li:hover > .dropdown-menu,
.pkp_navigation_primary > li:focus-within > ul,
.pkp_navigation_primary > li:focus-within > .dropdown-menu,
.pkp_navigation_user > li:hover > ul,
.pkp_navigation_user > li:hover > .dropdown-menu,
.pkp_navigation_user > li:focus-within > ul,
.pkp_navigation_user > li:focus-within > .dropdown-menu {
	display: block !important;
	left: 0 !important;
}

/* 3. Kill the default theme's hover offset
      (transform: translate3d(7px, 40px, 0)) which created the
      gap between the trigger and the panel. The journal-page
      panel position (top: calc(100% - 14px)) from the chrome
      rules above remains in charge. */
.pkp_navigation_primary > li:hover ul,
.pkp_navigation_primary > li > ul,
.pkp_navigation_primary > li > .dropdown-menu,
.pkp_navigation_user > li:hover ul,
.pkp_navigation_user > li > ul,
.pkp_navigation_user > li > .dropdown-menu {
	transform: none !important;
	will-change: auto !important;
}

/* 4. User menu opens right-aligned so it doesn't overflow. */
.pkp_navigation_user > li:hover > ul,
.pkp_navigation_user > li:hover > .dropdown-menu,
.pkp_navigation_user > li:focus-within > ul,
.pkp_navigation_user > li:focus-within > .dropdown-menu {
	left: auto !important;
	right: 0 !important;
}

/* 5. Panels grow to fit their longest item (default hard-codes
      width:15em; long labels overflowed). Min 220px to match the
      journal-page styling, capped at 26em, wrap past the cap. */
.pkp_navigation_primary > li > ul,
.pkp_navigation_primary > li > .dropdown-menu,
.pkp_navigation_user > li > ul,
.pkp_navigation_user > li > .dropdown-menu {
	width: max-content !important;
	min-width: 220px !important;
	max-width: 26em !important;
}

.pkp_navigation_primary ul a,
.pkp_navigation_user ul a {
	white-space: normal !important;
	overflow-wrap: break-word;
}

/* ============================================================
   INATGI: flatten the user menu in the black publisher bar.
   Instead of a "ziiyuu 937 ▾" dropdown, the items (Dashboard /
   View Profile / Administration / Logout) are laid out inline
   next to the username. On narrow screens (<768px) the bar has
   no room, so the hover dropdown behaviour above still applies.
   ============================================================ */

@media (min-width: 768px) {

	.inatgi-publisher-user-slot .pkp_navigation_user > li {
		display: inline-flex !important;
		align-items: center !important;
	}

	/* The panel becomes a permanent inline row: static position,
	   no box styling, always visible (overrides the hover-only
	   visibility rules above). */
	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu,
	.inatgi-publisher-user-slot .pkp_navigation_user > li:not(:hover):not(:focus-within) > ul,
	.inatgi-publisher-user-slot .pkp_navigation_user > li:not(:hover):not(:focus-within) > .dropdown-menu {
		display: inline-flex !important;
		position: static !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 0 0 6px !important;
		padding: 0 !important;
		align-items: center !important;
		gap: 2px !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		transform: none !important;
		list-style: none !important;
	}

	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul > li,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu > li {
		display: inline-flex !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul a,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu a {
		display: inline-flex !important;
		min-height: 34px !important;
		padding: 0 9px !important;
		align-items: center !important;
		color: #fff !important;
		background: transparent !important;
		border: 0 !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		text-decoration: none !important;
	}

	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul a:hover,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul a:focus,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu a:hover,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu a:focus {
		color: #fff !important;
		background: rgba(255, 255, 255, .12) !important;
	}

	/* Hide the dropdown caret next to the username; add a light
	   separator between the username and the flat items. */
	.inatgi-publisher-user-slot .pkp_navigation_user > li > a[aria-haspopup]::after,
	.inatgi-publisher-user-slot .pkp_navigation_user [aria-haspopup]::after {
		display: none !important;
		content: none !important;
		border: 0 !important;
	}

	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu {
		padding-left: 8px !important;
		border-left: 1px solid rgba(255, 255, 255, .25) !important;
	}
}

/* ============================================================
   INATGI: flattened user menu — placement correction.
   The default theme applies transform: translateX(-50%) to
   .pkp_navigation_user_wrapper (meant for its old absolute
   centering). With the flat row being much wider than the old
   "ziiyuu 937" toggle, that leftover shift pushed the row left
   over the identity text. Reset it and pin the row to the
   right end of the bar.
   ============================================================ */

.inatgi-publisher-user-slot,
.inatgi-publisher-user-slot .pkp_navigation_user_wrapper,
.inatgi-publisher-user-navigation,
.inatgi-publisher-user-slot .pkp_navigation_user {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}

.inatgi-publisher-user-slot {
	margin-left: auto !important;
	flex: 0 0 auto !important;
	justify-content: flex-end !important;
}

/* Keep the identity text on one line and let it truncate with an
   ellipsis if the bar ever gets too tight, instead of colliding. */
.inatgi-publisher-identity {
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
	min-width: 0 !important;
}

/* ============================================================
   INATGI: publisher bar — identity hard left, user row hard
   right, whitespace in the middle. The flat menu row is also
   tightened so the identity line fits in full on typical
   laptop widths; if the window gets too narrow the identity
   still ellipsizes rather than colliding.
   ============================================================ */

.inatgi-publisher-bar-inner {
	justify-content: space-between !important;
}

.inatgi-publisher-identity {
	flex: 0 1 auto !important;
	margin-right: 18px !important;
}

.inatgi-publisher-user-slot {
	flex: 0 0 auto !important;
	margin-left: auto !important;
}

/* Tighter flat menu row */
@media (min-width: 768px) {
	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu {
		margin-left: 4px !important;
		padding-left: 6px !important;
		gap: 0 !important;
	}

	.inatgi-publisher-user-slot .pkp_navigation_user > li > ul a,
	.inatgi-publisher-user-slot .pkp_navigation_user > li > .dropdown-menu a {
		min-height: 30px !important;
		padding: 0 8px !important;
	}

	.inatgi-publisher-user-slot .pkp_navigation_user > li > a {
		padding: 0 6px !important;
	}
}

/* ============================================================
   INATGI: align the black publisher bar with the mainbar below.
   The site-index pages had .inatgi-publisher-bar-inner capped
   at max-width 750px (centered), so its edges did not line up
   with the logo / Submit button. Use the exact same container
   as .inatgi-platform-mainbar: calc(100% - 48px), max 1500px.
   Identity left edge = logo left edge; Logout right edge =
   Submit a Manuscript right edge.
   ============================================================ */

.inatgi-publisher-bar-inner,
body.inatgi-platform-site-index .inatgi-publisher-bar-inner,
body.inatgi-academic-site-index .inatgi-publisher-bar-inner,
body.inatgi-journal-context .inatgi-publisher-bar-inner {
	width: calc(100% - 48px) !important;
	max-width: 1500px !important;
	margin: 0 auto !important;
}

/* ============================================================
   INATGI: brand variable fallbacks — site-wide contrast fix.
   Filled buttons were rendering dark-red text on red because
   the variables they reference (--inatgi-button-text,
   --journal-on-button, etc.) are defined by the theme-options
   inline style / per-journal classes, which are not present on
   every page. Define safe defaults here so text on coloured
   buttons is always white. When the theme options ARE present
   they load after this file and override these values, so
   configured colours keep working unchanged.
   ============================================================ */

:root {
	--inatgi-topbar: #15537F;
	--inatgi-topbar-text: #FFFFFF;
	--inatgi-header: #1E6292;
	--inatgi-header-text: #FFFFFF;
	--inatgi-button: #B11226;
	--inatgi-button-text: #FFFFFF;
	--inatgi-on-button: #FFFFFF;
	--inatgi-link: #19527D;
	--journal-accent: #B11226;
	--journal-button: #B11226;
	--journal-button-hover: #8F0D24;
	--journal-on-button: #FFFFFF;
}

/* ============================================================
   INATGI: infrastructure strip — three centred cards.
   The strip now contains only Crossref / Portico / PKP PN
   (trimmed in inatgi-chrome-20260724g.js); the grid is reduced
   from 7 to 3 columns and centred. The nth-child guard also
   hides any extra cards if an older cached JS still renders 7.
   ============================================================ */

.inatgi-infrastructure-grid {
	grid-template-columns: repeat(3, minmax(112px, 142px)) !important;
	justify-content: center !important;
}

.inatgi-infrastructure-grid > .inatgi-infrastructure-card:nth-child(n+4) {
	display: none !important;
}
