/* IJMTIP public header + account menu hotfix v2.17.1 */

/* Authoritative header layout. */
.public-header-v2171{
    position:relative !important;
    z-index:100 !important;
    width:100% !important;
    overflow:visible !important;
    border-bottom:1px solid #d8e2e6 !important;
    background:#fff !important;
}

.public-header-top-v2171{
    width:min(100% - 32px,1680px) !important;
    min-height:70px !important;
    margin:0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:20px !important;
    overflow:visible !important;
}

.public-brand-v2171{
    display:flex !important;
    align-items:center !important;
    gap:16px !important;
    min-width:0 !important;
    text-decoration:none !important;
}

.public-brand-v2171 .journal-brand-mark{
    flex:0 0 auto !important;
    padding-right:16px !important;
    border-right:1px solid #d7e0e3 !important;
    color:#173b52 !important;
    font-family:Georgia,serif !important;
    font-size:27px !important;
    font-weight:800 !important;
    letter-spacing:.02em !important;
}

.public-brand-v2171 .journal-brand-name{
    max-width:450px !important;
    color:#263f4f !important;
    font-family:Georgia,serif !important;
    font-size:13px !important;
    font-weight:700 !important;
    line-height:1.08 !important;
}

.public-header-account-v2171{
    position:relative !important;
    z-index:300 !important;
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    overflow:visible !important;
}

.public-primary-nav-v2171{
    width:min(100% - 32px,1680px) !important;
    margin:0 auto !important;
    min-height:45px !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:2px 8px !important;
    overflow:visible !important;
}

.public-primary-nav-v2171>a{
    display:inline-flex !important;
    align-items:center !important;
    min-height:35px !important;
    padding:7px 10px !important;
    border-radius:8px !important;
    color:#29485a !important;
    font-size:10.5px !important;
    font-weight:800 !important;
    line-height:1 !important;
    text-decoration:none !important;
    white-space:nowrap !important;
}

.public-primary-nav-v2171>a:hover{
    background:#f3f7f6 !important;
}

.public-primary-nav-v2171>a.active{
    background:#edf5f3 !important;
    color:#137f7a !important;
}

/* Account summary: name and role must remain visible on tablet/desktop. */
.public-header-v2171 .account-menu-v217{
    position:relative !important;
    z-index:500 !important;
    overflow:visible !important;
}

.public-header-v2171 .account-menu-summary-v217{
    max-width:300px !important;
    min-width:150px !important;
    min-height:42px !important;
}

.public-header-v2171 .account-summary-copy-v217{
    display:grid !important;
}

.public-header-v2171 .account-summary-copy-v217 strong{
    max-width:180px !important;
}

.public-header-v2171 .account-menu-panel-v217{
    position:absolute !important;
    z-index:2000 !important;
    top:calc(100% + 8px) !important;
    right:0 !important;
    width:300px !important;
    max-height:none !important;
    overflow:visible !important;
}

.public-header-v2171 .account-menu-v217[open] .account-menu-panel-v217{
    display:block !important;
}

/* Override older nav/header rules that used scrollbars or hid menu items. */
.public-header-v2171,
.public-header-v2171 *,
.public-header-top-v2171,
.public-header-account-v2171,
.public-primary-nav-v2171{
    scrollbar-width:none !important;
}

.public-header-v2171::-webkit-scrollbar,
.public-header-v2171 *::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
}

.public-header-v2171 .site-nav,
.public-header-v2171 .public-nav{
    overflow:visible !important;
    max-height:none !important;
}

/* Language control */
.public-language-v2171{
    flex:0 0 auto !important;
    display:flex !important;
    overflow:hidden !important;
    border:1px solid #d6e1e5 !important;
    border-radius:9px !important;
    background:#f5f8f8 !important;
}

.public-language-v2171 a{
    display:grid !important;
    place-items:center !important;
    min-width:35px !important;
    height:36px !important;
    padding:0 8px !important;
    color:#617784 !important;
    font-size:9.5px !important;
    font-weight:850 !important;
    text-decoration:none !important;
}

.public-language-v2171 a.active{
    background:#e6efef !important;
    color:#173e55 !important;
}

.public-login-v2171{
    display:inline-flex !important;
    align-items:center !important;
    min-height:40px !important;
    padding:0 13px !important;
    border:1px solid #d4e0e4 !important;
    border-radius:9px !important;
    color:#20475e !important;
    font-size:10px !important;
    font-weight:850 !important;
    text-decoration:none !important;
}

/* Medium screens:
   row 1 = brand + user/language
   row 2 = actual journal navigation.
 */
@media(max-width:1100px){
    .public-header-top-v2171{
        min-height:66px !important;
    }

    .public-brand-v2171 .journal-brand-name{
        display:none !important;
    }

    .public-primary-nav-v2171{
        justify-content:flex-start !important;
        padding:5px 0 8px !important;
        border-top:1px solid #edf1f2 !important;
    }

    .public-header-v2171 .account-menu-summary-v217{
        min-width:180px !important;
    }

    .public-header-v2171 .account-summary-copy-v217{
        display:grid !important;
    }
}

/* Small screens: still no horizontal scroller. */
@media(max-width:680px){
    .public-header-top-v2171{
        width:calc(100% - 20px) !important;
        min-height:61px !important;
        gap:8px !important;
    }

    .public-brand-v2171 .journal-brand-mark{
        padding-right:0 !important;
        border-right:0 !important;
        font-size:23px !important;
    }

    .public-header-account-v2171{
        gap:5px !important;
    }

    .public-header-v2171 .account-menu-summary-v217{
        min-width:0 !important;
        max-width:180px !important;
        padding-right:6px !important;
    }

    .public-header-v2171 .account-summary-copy-v217{
        display:none !important;
    }

    .public-header-v2171 .account-menu-panel-v217{
        position:fixed !important;
        top:64px !important;
        right:10px !important;
        left:auto !important;
        width:min(310px,calc(100vw - 20px)) !important;
        max-height:calc(100vh - 78px) !important;
        overflow-y:auto !important;
    }

    .public-primary-nav-v2171{
        width:calc(100% - 20px) !important;
        display:grid !important;
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:4px !important;
        padding:6px 0 9px !important;
    }

    .public-primary-nav-v2171>a{
        justify-content:center !important;
        min-width:0 !important;
        padding:7px 5px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
        font-size:9px !important;
    }

    .public-language-v2171 a{
        min-width:31px !important;
        padding:0 5px !important;
    }
}

/* IJMTIP Public Header Responsive Stability v2.18.3
   Final authoritative rules for the public author/reviewer header.
   Keep the journal navigation on one predictable row at every supported width. */
.public-header-v2171 .public-header-top-v2171{
    flex-wrap:nowrap !important;
}

.public-header-v2171 .public-brand-v2171,
.public-header-v2171 .public-header-account-v2171{
    min-width:0 !important;
}

@media(max-width:1100px){
    .public-header-v2171 .public-primary-nav-v2171{
        display:grid !important;
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        align-items:stretch !important;
        justify-content:stretch !important;
        gap:4px !important;
        min-height:0 !important;
        padding:6px 0 8px !important;
    }

    .public-header-v2171 .public-primary-nav-v2171>a{
        width:100% !important;
        min-width:0 !important;
        min-height:34px !important;
        justify-content:center !important;
        padding:7px 5px !important;
        overflow:hidden !important;
        text-overflow:ellipsis !important;
        white-space:nowrap !important;
    }
}

@media(max-width:680px){
    .public-header-v2171 .public-primary-nav-v2171{
        /* Override v2.17.1's old three-column layout: 5 items = 5 stable columns. */
        grid-template-columns:repeat(5,minmax(0,1fr)) !important;
        gap:2px !important;
        padding:5px 0 7px !important;
    }

    .public-header-v2171 .public-primary-nav-v2171>a{
        min-height:32px !important;
        padding:6px 2px !important;
        font-size:8.8px !important;
        letter-spacing:-.01em !important;
    }
}

@media(max-width:420px){
    .public-header-v2171 .public-header-top-v2171,
    .public-header-v2171 .public-primary-nav-v2171{
        width:calc(100% - 14px) !important;
    }

    .public-header-v2171 .public-header-top-v2171{
        gap:5px !important;
    }

    .public-header-v2171 .public-brand-v2171 .journal-brand-mark{
        font-size:20px !important;
        letter-spacing:0 !important;
    }

    .public-header-v2171 .public-language-v2171 a{
        min-width:28px !important;
        height:34px !important;
        padding:0 4px !important;
        font-size:8.5px !important;
    }

    .public-header-v2171 .account-menu-summary-v217{
        min-height:38px !important;
        padding:3px 5px 3px 4px !important;
    }

    .public-header-v2171 .account-avatar-v217{
        flex-basis:30px !important;
        width:30px !important;
        height:30px !important;
    }

    .public-header-v2171 .public-primary-nav-v2171>a{
        min-height:30px !important;
        padding:5px 1px !important;
        font-size:8px !important;
    }
}

/* IJMTIP v2.18.6 — Public-header notification placement.
   Notifications belong next to the signed-in user, never as a floating dock
   or a page-level action button in author/reviewer workspaces. */
.public-header-v2171 .notification-header-v2186{
    position:relative!important;
    inset:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    z-index:650!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:none!important;
}
.public-header-v2171 .notification-header-v2186 .notification-menu{
    position:relative!important;
    display:block!important;
}
.public-header-v2171 .notification-header-v2186 .notification-trigger{
    position:relative!important;
    display:grid!important;
    place-items:center!important;
    width:42px!important;
    min-width:42px!important;
    height:42px!important;
    min-height:42px!important;
    padding:0!important;
    border:1px solid #d7e2e6!important;
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:none!important;
    color:#183d54!important;
}
.public-header-v2171 .notification-header-v2186 .notification-trigger:hover{
    background:#f8faf9!important;
    border-color:#bccdd4!important;
}
.public-header-v2171 .notification-header-v2186 .notification-bell-icon{
    font-size:15px!important;
    line-height:1!important;
}
.public-header-v2171 .notification-header-v2186 .notification-trigger>b{
    position:absolute!important;
    top:-5px!important;
    right:-5px!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 5px!important;
    font-size:8px!important;
    line-height:18px!important;
    box-shadow:0 0 0 2px #fff!important;
}
.public-header-v2171 .notification-header-v2186 .notification-popover{
    position:absolute!important;
    z-index:2600!important;
    top:calc(100% + 8px)!important;
    right:0!important;
    bottom:auto!important;
    left:auto!important;
    width:min(390px,calc(100vw - 24px))!important;
    max-height:min(620px,calc(100vh - 92px))!important;
}

@media(max-width:680px){
    .public-header-v2171 .notification-header-v2186 .notification-trigger{
        width:38px!important;
        min-width:38px!important;
        height:38px!important;
        min-height:38px!important;
        border-radius:10px!important;
    }
    .public-header-v2171 .notification-header-v2186 .notification-popover{
        position:fixed!important;
        top:64px!important;
        right:10px!important;
        bottom:auto!important;
        left:auto!important;
        width:min(390px,calc(100vw - 20px))!important;
        max-height:calc(100vh - 78px)!important;
        overflow:auto!important;
    }
}

@media(max-width:420px){
    .public-header-v2171 .notification-header-v2186 .notification-trigger{
        width:34px!important;
        min-width:34px!important;
        height:34px!important;
        min-height:34px!important;
    }
    .public-header-v2171 .notification-header-v2186 .notification-bell-icon{
        font-size:13px!important;
    }
}
