/* Open Library Theme — 2026-08-29 v59
 * - logged-in account submenu stays hidden until username is clicked
 * - consistent red top accent on Login/Register in portal and journal contexts
 * - Forgot password sits below the password field
 */
:root{
  --ol59-red:#dc2635;
  --ol59-red-dark:#ba1e2b;
  --ol59-red-soft:#fff5f6;
  --ol59-line:#e5e7eb;
  --ol59-text:#182233;
}

/* =========================================================
   LOGGED-IN ACCOUNT MENU
   ========================================================= */
html body #navigationUserWrapper,
html body #navigationUserWrapper .pkp_navigation_user,
html body #navigationUserWrapper .pkp_navigation_user > li{
  position:relative!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
html body #navigationUserWrapper .pkp_navigation_user > li::marker,
html body #navigationUserWrapper .pkp_navigation_user ul > li::marker{
  content:""!important;
  display:none!important;
}

/* The username is the only visible account control before click. */
html body #navigationUserWrapper .pkp_navigation_user > li > a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  margin:0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--ol59-red)!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body #navigationUserWrapper .pkp_navigation_user > li > a:hover,
html body #navigationUserWrapper .pkp_navigation_user > li > a:focus-visible,
html body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > a{
  background:var(--ol59-red-soft)!important;
  color:var(--ol59-red-dark)!important;
  outline:0!important;
}

/* Hide every possible PKP/Bootstrap submenu state by default. */
html body #navigationUserWrapper .pkp_navigation_user > li > ul,
html body #navigationUserWrapper .pkp_navigation_user > li > .dropdown-menu,
html body #navigationUserWrapper .openlib-account-dropdown,
html body #navigationUserWrapper .dropdown-menu,
html body #navigationUserWrapper .dropdown-menu.show{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Show only after unified-ui adds .openlib-account-open on click. */
html body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul,
html body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > .dropdown-menu,
html body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown{
  position:absolute!important;
  top:calc(100% + 8px)!important;
  right:0!important;
  left:auto!important;
  z-index:2400!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  width:220px!important;
  min-width:220px!important;
  margin:0!important;
  padding:7px!important;
  list-style:none!important;
  border:1px solid var(--ol59-line)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 16px 36px rgba(20,27,38,.16)!important;
}
html body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul > li,
html body #navigationUserWrapper .openlib-account-open > .dropdown-menu > li,
html body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown > li{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
html body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul a,
html body #navigationUserWrapper .openlib-account-open > .dropdown-menu a,
html body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown a{
  display:flex!important;
  align-items:center!important;
  min-height:38px!important;
  width:100%!important;
  margin:0!important;
  padding:8px 10px!important;
  border:0!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--ol59-text)!important;
  font-size:13px!important;
  font-weight:650!important;
  text-decoration:none!important;
}
html body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul a:hover,
html body #navigationUserWrapper .openlib-account-open > .dropdown-menu a:hover,
html body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown a:hover{
  background:var(--ol59-red-soft)!important;
  color:var(--ol59-red-dark)!important;
}

/* Dark mode account dropdown */
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .pkp_navigation_user > li > a{
  background:#fff!important;
  color:var(--ol59-red)!important;
}
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul,
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .openlib-account-open > .dropdown-menu,
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown{
  border-color:#354050!important;
  background:#171e28!important;
  box-shadow:0 18px 40px rgba(0,0,0,.35)!important;
}
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul a,
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .openlib-account-open > .dropdown-menu a,
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown a{
  color:#eef2f7!important;
}
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul a:hover,
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .openlib-account-open > .dropdown-menu a:hover,
html[data-openlib-color-mode="dark"] body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown a:hover{
  background:#2a1d22!important;
  color:#ff9aa2!important;
}

/* =========================================================
   LOGIN / REGISTER CARD RED TOP ACCENT — PORTAL + JOURNAL
   ========================================================= */
html body.pkp_page_login .page_login,
html body.openlib-site-page.pkp_page_login .page_login,
html body.openlib-journal-page.pkp_page_login .page_login,
html body.pkp_page_user.pkp_op_register .page_register,
html body.openlib-site-page.pkp_page_user.pkp_op_register .page_register,
html body.openlib-journal-page.pkp_page_user.pkp_op_register .page_register{
  border-top:4px solid var(--ol59-red)!important;
}

/* =========================================================
   LOGIN: FORGOT PASSWORD BELOW PASSWORD INPUT
   ========================================================= */
html body.pkp_page_login form#login .password label,
html body.openlib-site-page.pkp_page_login form#login .password label,
html body.openlib-journal-page.pkp_page_login form#login .password label{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:0!important;
}
html body.pkp_page_login form#login .password label > .label,
html body.openlib-site-page.pkp_page_login form#login .password label > .label,
html body.openlib-journal-page.pkp_page_login form#login .password label > .label{
  display:block!important;
  width:100%!important;
  margin:0 0 7px!important;
}
html body.pkp_page_login form#login .password input,
html body.openlib-site-page.pkp_page_login form#login .password input,
html body.openlib-journal-page.pkp_page_login form#login .password input{
  display:block!important;
  width:100%!important;
  order:2!important;
}
html body.pkp_page_login form#login .password a,
html body.openlib-site-page.pkp_page_login form#login .password a,
html body.openlib-journal-page.pkp_page_login form#login .password a{
  display:inline-flex!important;
  align-self:flex-start!important;
  order:3!important;
  margin:8px 0 0!important;
  padding:0!important;
  color:var(--ol59-red-dark)!important;
  font-size:12.5px!important;
  font-weight:650!important;
  line-height:1.35!important;
  white-space:normal!important;
  text-decoration:none!important;
}
html body.pkp_page_login form#login .password a:hover,
html body.openlib-site-page.pkp_page_login form#login .password a:hover,
html body.openlib-journal-page.pkp_page_login form#login .password a:hover{
  color:var(--ol59-red)!important;
  text-decoration:underline!important;
}

@media (max-width:767px){
  html body #navigationUserWrapper .pkp_navigation_user > li.openlib-account-open > ul,
  html body #navigationUserWrapper .openlib-account-open > .dropdown-menu,
  html body #navigationUserWrapper .openlib-account-open > .openlib-account-dropdown{
    right:0!important;
    width:min(230px,calc(100vw - 28px))!important;
    min-width:0!important;
  }
}
