/* Open Library Theme — 2026-08-31 v65
 * Mobile journal navigation consolidation:
 * - one compact top row only
 * - menu button lives beside Login/Register (or username)
 * - journal navigation opens as a floating dropdown panel
 */
:root{
  --ol65-red:#dc2635;
  --ol65-red-dark:#ba1e2b;
  --ol65-red-soft:#fff4f5;
  --ol65-line:#e5e7eb;
  --ol65-text:#172033;
}

/* Desktop: mobile-only trigger stays invisible. */
html body .openlib_mobile_journal_menu_toggle{
  display:none!important;
}

@media (max-width:767px){
  /* ---------- one-row mobile header ---------- */
  html body.openlib-journal-page .openlib_global_header{
    position:sticky!important;
    top:0!important;
    z-index:2200!important;
    overflow:visible!important;
  }
  html body.openlib-journal-page .openlib_topbar{
    position:relative!important;
    z-index:2201!important;
  }
  html body.openlib-journal-page .openlib_topbar .openlib_shell,
  html body.openlib-journal-page .openlib_topbar__inner{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-height:58px!important;
    margin:0!important;
    padding:6px 10px!important;
    display:flex!important;
    align-items:center!important;
    flex-direction:row!important;
    gap:8px!important;
  }
  html body.openlib-journal-page .openlib_publisher_brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    overflow:hidden!important;
    color:#fff!important;
    font-size:11px!important;
    line-height:1.2!important;
    font-weight:800!important;
    white-space:nowrap!important;
    text-overflow:ellipsis!important;
  }
  html body.openlib-journal-page .openlib_topbar__account{
    position:relative!important;
    flex:0 0 auto!important;
    min-width:0!important;
    margin-left:auto!important;
  }
  html body.openlib-journal-page .openlib_account_cluster,
  html body.openlib-journal-page .openlib_account_cluster.openlib_account_cluster--guest,
  html body.openlib-journal-page .openlib_account_cluster:not(.openlib_account_cluster--guest){
    display:inline-flex!important;
    align-items:center!important;
    flex-wrap:nowrap!important;
    gap:3px!important;
    min-height:40px!important;
    max-width:none!important;
    margin:0!important;
    padding:3px!important;
    overflow:visible!important;
    border-radius:12px!important;
    background:#fff!important;
  }

  /* Make the existing account controls compact enough to stay on one row. */
  html body.openlib-journal-page .openlib_account_cluster > .openlib_color_mode_toggle,
  html body.openlib-journal-page .openlib_account_cluster:not(.openlib_account_cluster--guest) > .openlib_color_mode_toggle{
    flex:0 0 30px!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    border-radius:8px!important;
  }
  html body.openlib-journal-page .openlib_account_cluster--guest > .openlib_auth_switch__item{
    min-height:30px!important;
    height:30px!important;
    padding:0 9px!important;
    border-radius:8px!important;
    font-size:10.5px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body.openlib-journal-page .openlib_account_cluster:not(.openlib_account_cluster--guest) #navigationUserWrapper .pkp_navigation_user > li > a{
    min-width:0!important;
    max-width:92px!important;
    height:30px!important;
    min-height:30px!important;
    padding:0 9px!important;
    overflow:hidden!important;
    border-radius:8px!important;
    font-size:10.5px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }

  /* Hamburger lives inside the same white capsule, directly after Register/user. */
  html body.openlib-journal-page .openlib_mobile_journal_menu_toggle{
    appearance:none!important;
    -webkit-appearance:none!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 30px!important;
    width:30px!important;
    min-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid var(--ol65-red)!important;
    border-radius:8px!important;
    background:var(--ol65-red)!important;
    color:#fff!important;
    box-shadow:none!important;
    cursor:pointer!important;
  }
  html body.openlib-journal-page .openlib_mobile_journal_menu_toggle:hover,
  html body.openlib-journal-page .openlib_mobile_journal_menu_toggle:focus-visible,
  html body.openlib-journal-page.openlib-mobile-journal-menu-open .openlib_mobile_journal_menu_toggle{
    border-color:var(--ol65-red-dark)!important;
    background:var(--ol65-red-dark)!important;
    outline:0!important;
  }
  html body.openlib-journal-page .openlib_mobile_journal_menu_icon{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:3px!important;
    width:14px!important;
    height:14px!important;
  }
  html body.openlib-journal-page .openlib_mobile_journal_menu_icon > span{
    display:block!important;
    width:14px!important;
    height:1.5px!important;
    margin:0!important;
    border-radius:2px!important;
    background:#fff!important;
    transition:transform .16s ease,opacity .16s ease!important;
  }
  html body.openlib-journal-page.openlib-mobile-journal-menu-open .openlib_mobile_journal_menu_icon > span:nth-child(1){
    transform:translateY(4.5px) rotate(45deg)!important;
  }
  html body.openlib-journal-page.openlib-mobile-journal-menu-open .openlib_mobile_journal_menu_icon > span:nth-child(2){
    opacity:0!important;
  }
  html body.openlib-journal-page.openlib-mobile-journal-menu-open .openlib_mobile_journal_menu_icon > span:nth-child(3){
    transform:translateY(-4.5px) rotate(-45deg)!important;
  }

  /* ---------- second navigation row becomes an on-demand floating menu ---------- */
  html body.openlib-journal-page .openlib_journal_navbar{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:10px!important;
    right:10px!important;
    z-index:2199!important;
    display:none!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    border:1px solid var(--ol65-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 18px 42px rgba(17,24,39,.18)!important;
  }
  html body.openlib-journal-page.openlib-mobile-journal-menu-open .openlib_journal_navbar{
    display:block!important;
  }
  html body.openlib-journal-page .openlib_journal_navbar__inner{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:8px!important;
  }
  html body.openlib-journal-page .openlib_journal_nav{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  html body.openlib-journal-page .openlib_journal_home_nav,
  html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:3px!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    list-style:none!important;
    white-space:normal!important;
  }
  html body.openlib-journal-page .openlib_journal_home_nav{
    margin-bottom:3px!important;
  }
  html body.openlib-journal-page .openlib_journal_nav li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }
  html body.openlib-journal-page .openlib_journal_nav a,
  html body.openlib-journal-page .openlib_publications_link,
  html body.openlib-journal-page .openlib_journal_search{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:40px!important;
    margin:0!important;
    padding:9px 11px!important;
    border:1px solid transparent!important;
    border-radius:9px!important;
    background:transparent!important;
    color:var(--ol65-text)!important;
    font-size:12px!important;
    line-height:1.3!important;
    font-weight:750!important;
    text-align:left!important;
    white-space:normal!important;
  }
  html body.openlib-journal-page .openlib_journal_nav a:hover,
  html body.openlib-journal-page .openlib_journal_search:hover{
    background:var(--ol65-red-soft)!important;
    color:var(--ol65-red-dark)!important;
  }
  html body.openlib-journal-page .openlib_journal_nav a.openlib-nav-active,
  html body.openlib-journal-page .openlib_journal_nav a[aria-current="page"],
  html body.openlib-journal-page .openlib_journal_nav .current>a,
  html body.openlib-journal-page .openlib_journal_search.openlib-nav-active{
    border-color:var(--ol65-red)!important;
    background:var(--ol65-red)!important;
    color:#fff!important;
  }
  html body.openlib-journal-page .openlib_journal_nav_actions{
    width:100%!important;
    margin:4px 0 0!important;
    padding:6px 0 0!important;
    border-top:1px solid #eef0f3!important;
  }
  html body.openlib-journal-page .openlib_journal_search{
    gap:8px!important;
  }

  /* About submenu becomes an inline nested list on mobile. */
  html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary>li.openlib-about-open>ul,
  html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary>li.openlib-about-open>.dropdown-menu{
    position:static!important;
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    width:100%!important;
    min-width:0!important;
    margin:3px 0 2px!important;
    padding:4px!important;
    border:0!important;
    border-radius:9px!important;
    background:#fafbfc!important;
    box-shadow:none!important;
  }
  html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary>li.openlib-about-open>ul>li>a{
    min-height:36px!important;
    padding:7px 10px 7px 18px!important;
    font-size:11.5px!important;
  }

  /* Account dropdown should sit under the top capsule, not distort the row. */
  html body.openlib-journal-page #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul,
  html body.openlib-journal-page #navigationUserWrapper .openlib-account-open > .dropdown-menu,
  html body.openlib-journal-page #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown{
    top:calc(100% + 8px)!important;
    right:0!important;
    left:auto!important;
    width:min(230px,calc(100vw - 20px))!important;
  }
}

/* dark mode: same compact geometry, dark floating menu */
@media (max-width:767px){
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_navbar{
    border-color:#354050!important;
    background:#171e28!important;
    box-shadow:0 20px 44px rgba(0,0,0,.38)!important;
  }
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav a,
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_publications_link,
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_search{
    color:#edf2f7!important;
  }
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav a:hover,
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_search:hover{
    background:#2a1d22!important;
    color:#ff9ca4!important;
  }
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav_actions{
    border-top-color:#303946!important;
  }
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary>li.openlib-about-open>ul,
  html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary>li.openlib-about-open>.dropdown-menu{
    background:#101720!important;
  }
}
