/* Open Library Publications — Unified Layout v40 — 2026-08-29
 * Clean restart: one visual system for publisher portal + every journal page.
 * No floating search, no decorative diagonal patterns, no stacked legacy rails.
 */
:root{
  --olu-red:#d92733;
  --olu-red-700:#bf1e29;
  --olu-red-800:#9f1821;
  --olu-red-50:#fff5f6;
  --olu-red-100:#ffe8ea;
  --olu-bg:#f6f7f9;
  --olu-surface:#ffffff;
  --olu-surface-2:#fbfbfc;
  --olu-text:#18202d;
  --olu-muted:#667085;
  --olu-line:#e5e7eb;
  --olu-line-red:#f0b8bd;
  --olu-shell:1280px;
  --olu-radius:16px;
  --olu-shadow:0 12px 34px rgba(25,31,43,.075);
  --olu-shadow-sm:0 5px 16px rgba(25,31,43,.055);
}

/* ---------- foundation ---------- */
*{box-sizing:border-box}
html{overflow-x:hidden}
html body{
  margin:0!important;
  overflow-x:hidden!important;
  background:var(--olu-bg)!important;
  color:var(--olu-text)!important;
  font-family:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:15px!important;
  line-height:1.65!important;
}
html body a{color:var(--olu-red-700);text-decoration:none}
html body a:hover{color:var(--olu-red-800)}
html body h1,html body h2,html body h3,html body h4{color:var(--olu-text)!important;letter-spacing:-.025em}
html body input,html body select,html body textarea,html body button{font:inherit!important}
html body ::placeholder{color:#8b95a6!important;opacity:1}
.openlib_shell,
html body .pkp_structure_content{
  width:min(var(--olu-shell),calc(100% - 64px))!important;
  max-width:var(--olu-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .pkp_structure_page{min-height:100vh!important;background:transparent!important}
html body .pkp_structure_content{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;padding-top:30px!important;padding-bottom:54px!important}
html body .pkp_structure_content.has_sidebar{grid-template-columns:minmax(0,1fr) 290px!important;align-items:start!important}
html body .pkp_structure_main{width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:0!important}
html body .pkp_structure_sidebar{width:100%!important;min-width:0!important;margin:0!important;padding:22px!important;border:1px solid var(--olu-line)!important;border-radius:var(--olu-radius)!important;background:var(--olu-surface)!important;box-shadow:var(--olu-shadow-sm)!important}

/* ---------- one header for publisher + journals ---------- */
html body .openlib_global_header{position:sticky!important;top:0!important;z-index:1200!important;margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
html body .openlib_topbar{
  border-bottom:1px solid rgba(110,10,18,.22)!important;
  background:linear-gradient(90deg,#b91824 0%,var(--olu-red) 58%,#e13a45 100%)!important;
  color:#fff!important;
  box-shadow:0 6px 18px rgba(115,12,20,.12)!important;
}
html body .openlib_topbar__inner{min-height:70px!important;display:flex!important;align-items:center!important;gap:24px!important}
html body .openlib_publisher_brand{flex:0 1 auto!important;min-width:0!important;color:#fff!important;font-size:18px!important;font-weight:850!important;letter-spacing:-.02em!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
html body .openlib_publisher_brand:hover{color:#fff!important;opacity:.92!important}
html body .openlib_site_primary{margin-left:auto!important}
html body .openlib_site_primary .pkp_navigation_primary{display:flex!important;align-items:center!important;gap:4px!important;margin:0!important;padding:0!important}
html body .openlib_site_primary .pkp_navigation_primary>li>a{padding:8px 10px!important;border-radius:9px!important;color:#fff!important;font-size:13px!important;font-weight:700!important}
html body .openlib_site_primary .pkp_navigation_primary>li>a:hover{background:rgba(255,255,255,.13)!important;color:#fff!important}
html body .openlib_topbar__account{margin-left:auto!important;display:flex!important;align-items:center!important}

html body .openlib_account_cluster--guest{display:inline-flex!important;align-items:center!important;gap:6px!important;padding:5px!important;border:1px solid rgba(255,255,255,.8)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 20px rgba(104,9,17,.16)!important}
html body .openlib_account_cluster--guest>*+*:before{display:none!important;content:none!important}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item{display:inline-flex!important;align-items:center!important;justify-content:center!important;height:34px!important;min-height:34px!important;margin:0!important;border:0!important;border-radius:10px!important;line-height:1!important;box-shadow:none!important}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle{width:34px!important;min-width:34px!important;padding:0!important;background:var(--olu-red)!important;color:#fff!important}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:hover,
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:focus,
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:active{background:var(--olu-red)!important;color:#fff!important;outline:0!important}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle .fa{color:#fff!important;font-size:14px!important}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item{padding:0 15px!important;background:#fff!important;color:var(--olu-red)!important;font-size:13px!important;font-weight:800!important}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item:hover,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item:focus-visible,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item.is-active{background:var(--olu-red)!important;color:#fff!important;outline:0!important}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item span{color:inherit!important}

/* logged-in user dropdown */
html body #navigationUserWrapper .pkp_navigation_user{margin:0!important;padding:0!important}
html body #navigationUserWrapper .pkp_navigation_user>li>a{display:flex!important;align-items:center!important;min-height:36px!important;padding:0 13px!important;border-radius:10px!important;background:#fff!important;color:var(--olu-red)!important;font-weight:750!important}
html body #navigationUserWrapper .openlib-account-dropdown,
html body #navigationUserWrapper .dropdown-menu{top:calc(100% + 8px)!important;right:0!important;left:auto!important;min-width:210px!important;padding:8px!important;border:1px solid var(--olu-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:var(--olu-shadow)!important}
html body #navigationUserWrapper .openlib-account-dropdown a,
html body #navigationUserWrapper .dropdown-menu a{display:block!important;padding:8px 10px!important;border-radius:8px!important;color:var(--olu-text)!important}
html body #navigationUserWrapper .openlib-account-dropdown a:hover,
html body #navigationUserWrapper .dropdown-menu a:hover{background:var(--olu-red-50)!important;color:var(--olu-red-700)!important}

/* ---------- journal identity + nav ---------- */
html body .openlib_journal_masthead{border-bottom:1px solid var(--olu-line)!important;background:rgba(255,255,255,.98)!important}
html body .openlib_journal_masthead__inner{min-height:116px!important;display:flex!important;align-items:center!important;padding-top:18px!important;padding-bottom:18px!important}
html body .openlib_journal_masthead__identity{min-width:0!important}
html body .openlib_back_publications{display:inline-flex!important;align-items:center!important;gap:7px!important;margin-bottom:10px!important;padding:6px 9px!important;border:1px solid var(--olu-line-red)!important;border-radius:9px!important;background:var(--olu-red-50)!important;color:var(--olu-red-700)!important;font-size:12px!important;font-weight:750!important}
html body .openlib_journal_brand__title{display:block!important;max-width:100%!important;color:var(--olu-text)!important;font-size:28px!important;font-weight:850!important;line-height:1.18!important}
html body .openlib_journal_brand__logo img{display:block!important;max-width:min(600px,100%)!important;max-height:70px!important;width:auto!important;height:auto!important;object-fit:contain!important}
html body .openlib_journal_navbar{border-bottom:1px solid var(--olu-line)!important;background:#fff!important;box-shadow:0 5px 14px rgba(25,31,43,.035)!important}
html body .openlib_journal_navbar__inner{min-height:58px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important}
html body .openlib_journal_nav{display:flex!important;align-items:center!important;min-width:0!important}
html body .openlib_journal_nav>ul,
html body .openlib_journal_nav .pkp_navigation_primary{display:flex!important;align-items:center!important;gap:6px!important;margin:0!important;padding:0!important;list-style:none!important}
html body .openlib_journal_home_nav{margin-right:6px!important}
html body .openlib_journal_nav a,
html body .openlib_journal_search{position:relative!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;padding:0 13px!important;border-radius:10px!important;color:#344054!important;font-size:13px!important;font-weight:750!important;text-decoration:none!important}
html body .openlib_journal_nav a:after,
html body .openlib_journal_search:after{display:none!important;content:none!important}
html body .openlib_journal_nav a:hover,
html body .openlib_journal_search:hover{background:#f8f9fb!important;color:var(--olu-red-700)!important}
html body .openlib_journal_nav a.openlib-nav-active,
html body .openlib_journal_nav a[aria-current="page"],
html body .openlib_journal_nav .current>a,
html body .openlib_journal_search.openlib-nav-active,
html body .openlib_journal_search[aria-current="page"]{background:var(--olu-red-50)!important;color:var(--olu-red)!important;box-shadow:inset 0 -3px 0 var(--olu-red)!important}
html body .openlib_journal_nav_actions{display:flex!important;align-items:center!important}
html body .openlib_journal_search{gap:7px!important;border:1px solid var(--olu-line-red)!important;background:#fff!important;color:var(--olu-red-700)!important}
html body .pkp_site_nav_toggle{display:none!important}

/* ---------- portal homepage ---------- */
html body.openlib-site-index .pkp_structure_content{padding-top:34px!important}
html body.openlib-site-index .page_index_site{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body.openlib-site-index .openlib_search_sticky_zone{display:contents!important}
html body.openlib-site-index .openlib_search_panel--primary{position:static!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;margin:0 0 34px!important;padding:12px!important;overflow:hidden!important;border:1px solid #b91824!important;border-radius:18px!important;background:linear-gradient(90deg,#a91621 0%,var(--olu-red) 64%,#e23944 100%)!important;box-shadow:0 15px 34px rgba(125,14,23,.14)!important;transform:none!important}
html body.openlib-site-index .openlib_search_panel--primary:before,
html body.openlib-site-index .openlib_search_panel--primary:after{display:none!important;content:none!important}
html body.openlib-site-index .openlib_discovery__form{display:grid!important;grid-template-columns:minmax(0,1fr) 220px 175px!important;gap:10px!important;align-items:center!important;margin:0!important}
html body.openlib-site-index .openlib_discovery__query{position:relative!important;height:52px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:12px!important;background:#fff!important}
html body.openlib-site-index .openlib_field_icon{position:absolute!important;left:10px!important;top:50%!important;z-index:3!important;display:flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;border-radius:9px!important;background:var(--olu-red)!important;color:#fff!important;transform:translateY(-50%)!important;pointer-events:none!important}
html body.openlib-site-index .openlib_field_icon svg{width:14px!important;height:14px!important;stroke:#fff!important;fill:none!important;stroke-width:2!important}
html body.openlib-site-index .openlib_field_icon--filter svg{fill:#fff!important;stroke:none!important}
html body.openlib-site-index .openlib_discovery__query input{width:100%!important;height:50px!important;margin:0!important;padding:0 16px 0 53px!important;border:0!important;background:#fff!important;color:#303848!important;box-shadow:none!important;outline:0!important}
html body.openlib-site-index .openlib_discovery__form>select,
html body.openlib-site-index .openlib_discovery__form>button{width:100%!important;height:52px!important;margin:0!important;border:1px solid rgba(255,255,255,.7)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
html body.openlib-site-index .openlib_discovery__form>select{padding:0 42px 0 14px!important;color:#384152!important}
html body.openlib-site-index .openlib_discovery__form>button{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:0 14px!important;color:var(--olu-red-700)!important;font-size:13px!important;font-weight:850!important}
html body.openlib-site-index .openlib_button_icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:28px!important;height:28px!important;border-radius:8px!important;background:var(--olu-red)!important;color:#fff!important}
html body.openlib-site-index .openlib_button_icon svg{width:13px!important;height:13px!important;stroke:#fff!important;fill:none!important;stroke-width:2!important}

html body.openlib-site-index .openlib_journal_section{margin:0!important}
html body.openlib-site-index .openlib_journal_tools{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:24px!important;padding:0 0 17px!important;border:0!important;border-bottom:1px solid var(--olu-line)!important;background:transparent!important}
html body.openlib-site-index .openlib_journal_tools__eyebrow,
html body .openlib_search_page__eyebrow,
html body .openlib_section_heading__eyebrow{color:var(--olu-red)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.11em!important;text-transform:uppercase!important}
html body.openlib-site-index .openlib_journal_tools h2{margin:4px 0 2px!important;font-size:31px!important;line-height:1.15!important}
html body.openlib-site-index .openlib_journal_count{margin:0!important;color:var(--olu-muted)!important;font-size:13px!important}
html body.openlib-site-index .openlib_journal_filter{position:relative!important;width:300px!important;height:48px!important;overflow:hidden!important;border:1px solid var(--olu-line-red)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important}
html body.openlib-site-index .openlib_journal_filter input{width:100%!important;height:46px!important;padding:0 15px 0 52px!important;border:0!important;background:#fff!important;color:#344054!important;box-shadow:none!important;outline:0!important}
html body.openlib-site-index .openlib_journal_filter:focus-within{border-color:var(--olu-red)!important;box-shadow:0 0 0 3px rgba(217,39,51,.08)!important}

html body.openlib-site-index .openlib_journal_grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px!important;margin:20px 0 0!important;padding:0!important;list-style:none!important}
html body.openlib-site-index .openlib_journal_card{position:relative!important;display:flex!important;flex-direction:column!important;min-width:0!important;overflow:hidden!important;border:1px solid var(--olu-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:var(--olu-shadow-sm)!important}
html body.openlib-site-index .openlib_journal_card:before{position:absolute!important;top:0!important;left:0!important;right:0!important;height:4px!important;content:""!important;background:var(--olu-red)!important}
html body.openlib-site-index .openlib_journal_card:after{display:none!important;content:none!important}
html body.openlib-site-index .openlib_journal_main{display:grid!important;grid-template-columns:120px minmax(0,1fr)!important;gap:18px!important;flex:1!important;padding:20px!important}
html body.openlib-site-index .openlib_journal_media img,
html body.openlib-site-index .openlib_journal_placeholder{display:block!important;width:120px!important;height:160px!important;border:1px solid var(--olu-line)!important;border-radius:11px!important;background:#f7f8fa!important;object-fit:contain!important}
html body.openlib-site-index .openlib_journal_placeholder{display:flex!important;align-items:center!important;justify-content:center!important;color:var(--olu-red)!important}
html body.openlib-site-index .openlib_journal_content{min-width:0!important}
html body.openlib-site-index .openlib_journal_content h3{margin:1px 0 5px!important;font-size:16px!important;line-height:1.38!important}
html body.openlib-site-index .openlib_journal_content h3 a{color:var(--olu-text)!important;font-weight:850!important}
html body.openlib-site-index .openlib_journal_slug{display:inline-flex!important;margin:3px 0 8px!important;padding:3px 8px!important;border:1px solid var(--olu-line-red)!important;border-radius:999px!important;background:var(--olu-red-50)!important;color:var(--olu-red-700)!important;font-size:11px!important;font-weight:750!important}
html body.openlib-site-index .openlib_journal_content .description{color:#4c596b!important;font-size:13px!important;line-height:1.65!important}
html body.openlib-site-index .openlib_journal_footer{margin-top:auto!important;padding:11px 18px 14px!important;border:0!important;border-top:1px dashed #ddb7bb!important;background:#fcfcfd!important}
html body.openlib-site-index .openlib_journal_actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important;margin:0!important;padding:0!important;list-style:none!important}
html body.openlib-site-index .openlib_journal_actions a{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:40px!important;border:1px solid var(--olu-line-red)!important;border-radius:10px!important;background:#fff!important;color:var(--olu-red-700)!important;font-size:12px!important;font-weight:800!important}
html body.openlib-site-index .openlib_journal_actions a:hover{border-color:var(--olu-red)!important;background:var(--olu-red-50)!important;color:var(--olu-red)!important}
html body.openlib-site-index .openlib_portal_about_panel{margin-top:28px!important;padding:24px!important;border:1px solid var(--olu-line)!important;border-radius:var(--olu-radius)!important;background:#fff!important;box-shadow:var(--olu-shadow-sm)!important}

/* ---------- journal homepage ---------- */
html body.openlib-journal-page .page_index_journal{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body.openlib-journal-page .openlib_journal_profile{display:grid!important;grid-template-columns:200px minmax(0,1fr)!important;gap:28px!important;align-items:center!important;margin:0 0 24px!important;padding:26px!important;border:1px solid var(--olu-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--olu-shadow-sm)!important}
html body.openlib-journal-page .openlib_journal_profile__cover{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:180px!important;overflow:hidden!important;border:1px solid var(--olu-line)!important;border-radius:12px!important;background:#f7f8fa!important}
html body.openlib-journal-page .openlib_journal_profile__cover img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
html body.openlib-journal-page .openlib_journal_profile__body h1{margin:0!important;font-size:30px!important;line-height:1.18!important}
html body.openlib-journal-page .openlib_journal_profile__description{margin-top:10px!important;color:#4c596b!important}
html body.openlib-journal-page .openlib_current_issue_panel,
html body.openlib-journal-page .openlib_additional_content_panel{margin-top:22px!important;padding:26px!important;border:1px solid var(--olu-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--olu-shadow-sm)!important}
html body .openlib_section_heading{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:20px!important;margin-bottom:20px!important;padding-bottom:14px!important;border-bottom:1px solid var(--olu-line)!important}
html body .openlib_section_heading h2{margin:3px 0 0!important;font-size:26px!important}
html body .current_issue_title{color:var(--olu-muted)!important;font-size:13px!important;font-weight:700!important}
html body .openlib_view_all_issues{display:inline-flex!important;align-items:center!important;gap:8px!important;margin-top:18px!important;padding:9px 12px!important;border:1px solid var(--olu-line-red)!important;border-radius:10px!important;background:var(--olu-red-50)!important;color:var(--olu-red-700)!important;font-weight:750!important}

/* ---------- search page ---------- */
html body .openlib_search_page{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body .openlib_search_page__heading{margin-bottom:18px!important}
html body .openlib_search_page__heading h1{margin:3px 0 4px!important;font-size:31px!important}
html body .openlib_search_page__heading p{margin:0!important;color:var(--olu-muted)!important}
html body .openlib_search_form{margin:0 0 30px!important;padding:12px!important;border:1px solid #b91824!important;border-radius:18px!important;background:linear-gradient(90deg,#a91621,var(--olu-red) 65%,#e23944)!important;box-shadow:0 14px 32px rgba(125,14,23,.13)!important}
html body .openlib_search_form__primary{display:grid!important;grid-template-columns:minmax(0,1fr) 220px 160px!important;gap:10px!important;align-items:center!important}
html body .openlib_search_form__query,
html body .openlib_search_form__journal{position:relative!important;height:50px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:12px!important;background:#fff!important}
html body .openlib_search_form__query>.fa{position:absolute!important;left:14px!important;top:50%!important;color:var(--olu-red)!important;transform:translateY(-50%)!important}
html body .openlib_search_form__query input{width:100%!important;height:48px!important;padding:0 15px 0 42px!important;border:0!important;background:#fff!important;color:#344054!important;box-shadow:none!important;outline:0!important}
html body .openlib_search_form__journal select{width:100%!important;height:48px!important;padding:0 42px 0 14px!important;border:0!important;background:#fff!important;color:#344054!important;box-shadow:none!important}
html body .openlib_search_form__submit{height:50px!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:12px!important;background:#fff!important;color:var(--olu-red-700)!important;font-size:13px!important;font-weight:850!important;box-shadow:none!important}
html body .openlib_search_advanced{margin-top:10px!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.32)!important;border-radius:12px!important;background:#fff!important}
html body .openlib_search_advanced summary{display:flex!important;align-items:center!important;min-height:48px!important;padding:8px 12px!important;cursor:pointer!important;list-style:none!important;color:var(--olu-red-700)!important;font-size:13px!important;font-weight:800!important}
html body .openlib_search_advanced summary::-webkit-details-marker{display:none!important}
html body .openlib_advanced_icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;margin-right:9px!important;border-radius:8px!important;background:var(--olu-red)!important;color:#fff!important}
html body .openlib_advanced_icon svg{width:14px!important;height:14px!important;stroke:#fff!important;fill:none!important}
html body .openlib_advanced_chevron{display:inline-flex!important;margin-left:auto!important}
html body .openlib_advanced_chevron svg{width:16px!important;height:16px!important;stroke:var(--olu-red-700)!important;fill:none!important;stroke-width:2!important}
html body .openlib_search_advanced[open] .openlib_advanced_chevron{transform:rotate(180deg)!important}
html body .openlib_search_advanced__grid{display:grid!important;grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr)!important;gap:20px!important;padding:18px!important;border-top:1px solid var(--olu-line)!important;background:#fff!important}
html body .openlib_search_advanced__field label,
html body .openlib_search_advanced__dates legend{display:block!important;margin-bottom:7px!important;color:#344054!important;font-size:12px!important;font-weight:750!important}
html body .openlib_search_advanced__field input{width:100%!important;height:44px!important;padding:0 12px!important;border:1px solid #d7dce4!important;border-radius:9px!important;background:#fff!important;color:#344054!important}
html body .openlib_search_advanced__dates{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important}
html body .openlib_search_advanced__dates .from,
html body .openlib_search_advanced__dates .to{min-width:0!important}
html body .openlib_search_advanced__dates select{height:42px!important;margin-right:6px!important;padding:0 26px 0 9px!important;border:1px solid #d7dce4!important;border-radius:9px!important;background:#fff!important;color:#344054!important}
html body .openlib_search_results_header{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:18px!important;margin-top:8px!important;padding:0 0 13px!important;border-bottom:1px solid var(--olu-line)!important}
html body .openlib_search_results_header h2{margin:2px 0 0!important;font-size:26px!important}
html body .openlib_search_results_count{padding:6px 9px!important;border:1px solid var(--olu-line-red)!important;border-radius:9px!important;background:var(--olu-red-50)!important;color:var(--olu-red-700)!important;font-size:12px!important;font-weight:750!important}
html body .openlib_search_results{margin:16px 0 0!important;padding:0!important;list-style:none!important}
html body .openlib_search_results>li{margin:0 0 12px!important;padding:18px 20px!important;border:1px solid var(--olu-line)!important;border-left:4px solid var(--olu-red)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--olu-shadow-sm)!important}

/* ---------- article/issue objects ---------- */
html body .obj_article_summary{position:relative!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
html body .obj_article_summary .title{margin:0 0 6px!important;font-size:15px!important;line-height:1.45!important}
html body .obj_article_summary .title a{color:var(--olu-text)!important;font-weight:800!important}
html body .obj_article_summary .subtitle{display:block!important;margin-top:5px!important;color:var(--olu-red)!important;font-size:11px!important;font-weight:750!important}
html body .obj_article_summary .meta{display:flex!important;flex-wrap:wrap!important;gap:8px 14px!important;color:var(--olu-muted)!important;font-size:12px!important}
html body .obj_article_summary .galleys_links{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:10px!important;padding:0!important;list-style:none!important}
html body .obj_galley_link{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:0 10px!important;border:1px solid var(--olu-line-red)!important;border-radius:9px!important;background:var(--olu-red-50)!important;color:var(--olu-red-700)!important;font-weight:750!important}
html body .obj_issue_toc{margin:0!important}
html body .obj_issue_toc .sections:not(:first-child){margin-top:18px!important}
html body .obj_issue_toc .section>h2,
html body .obj_issue_toc .section>h3{margin:0 0 10px!important;padding-bottom:8px!important;border-bottom:1px solid var(--olu-line)!important;color:var(--olu-text)!important}
html body .obj_issue_toc .articles>li{padding:14px 0!important;border-bottom:1px solid #eef0f3!important}

/* ---------- generic OJS pages ---------- */
html body .pkp_structure_main>.page:not(.page_index_site):not(.page_index_journal):not(.page_search){width:100%!important;max-width:none!important;margin:0!important;padding:28px!important;border:1px solid var(--olu-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--olu-shadow-sm)!important}
html body .page_login,
html body .page_register{max-width:920px!important;margin-left:auto!important;margin-right:auto!important}
html body .page_login{max-width:640px!important}
html body .page_login h1,
html body .page_register h1{margin-top:0!important;font-size:30px!important}
html body .page_login input:not([type="checkbox"]):not([type="radio"]),
html body .page_register input:not([type="checkbox"]):not([type="radio"]),
html body .page_register select,
html body .page_register textarea,
html body .cmp_form input[type="text"],
html body .cmp_form input[type="email"],
html body .cmp_form input[type="password"],
html body .cmp_form select,
html body .cmp_form textarea{min-height:44px!important;padding:9px 12px!important;border:1px solid #d7dce4!important;border-radius:9px!important;background:#fff!important;color:#344054!important;box-shadow:none!important}
html body input:focus,html body select:focus,html body textarea:focus{border-color:var(--olu-red)!important;box-shadow:0 0 0 3px rgba(217,39,51,.08)!important;outline:0!important}
html body button.submit,
html body input[type="submit"],
html body .cmp_button_wire{min-height:42px!important;padding:0 15px!important;border:1px solid var(--olu-red)!important;border-radius:9px!important;background:var(--olu-red)!important;color:#fff!important;font-weight:800!important}
html body .cmp_button_wire{background:#fff!important;color:var(--olu-red)!important}
html body fieldset{border-color:var(--olu-line)!important;border-radius:12px!important}
html body table{width:100%!important;border-collapse:separate!important;border-spacing:0!important;overflow:hidden!important;border:1px solid var(--olu-line)!important;border-radius:12px!important;background:#fff!important}
html body th,html body td{padding:10px 12px!important;border-bottom:1px solid var(--olu-line)!important;text-align:left!important}
html body th{background:#f8f9fb!important;color:#344054!important;font-size:12px!important;font-weight:800!important}
html body .cmp_notification{border-radius:12px!important}

/* article detail */
html body .obj_article_details{padding:26px!important;border:1px solid var(--olu-line)!important;border-radius:18px!important;background:#fff!important;box-shadow:var(--olu-shadow-sm)!important}
html body .obj_article_details .page_title{font-size:30px!important;line-height:1.25!important}
html body .obj_article_details .main_entry,
html body .obj_article_details .entry_details{min-width:0!important}

/* pagination */
html body .cmp_pagination,
html body .openlib_search_pagination{display:flex!important;flex-wrap:wrap!important;gap:6px!important;align-items:center!important;justify-content:center!important;margin-top:22px!important}
html body .cmp_pagination>a,
html body .cmp_pagination>strong,
html body .openlib_search_pagination>a,
html body .openlib_search_pagination>strong{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:36px!important;height:36px!important;padding:0 9px!important;border:1px solid var(--olu-line)!important;border-radius:9px!important;background:#fff!important;color:#344054!important;font-size:12px!important;font-weight:750!important}
html body .cmp_pagination>strong,
html body .openlib_search_pagination>strong{border-color:var(--olu-red)!important;background:var(--olu-red)!important;color:#fff!important}

/* ---------- one footer ---------- */
html body .openlib_global_footer{margin:0!important;border:0!important;border-top:1px solid #9f1821!important;background:linear-gradient(90deg,#92151e 0%,#b91b26 58%,#cf2833 100%)!important;color:#fff!important}
html body .openlib_global_footer__inner{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:32px!important;padding-top:28px!important;padding-bottom:22px!important}
html body .openlib_global_footer__brand strong{display:block!important;color:#fff!important;font-size:15px!important;font-weight:850!important}
html body .openlib_global_footer__brand span{display:block!important;margin-top:4px!important;color:rgba(255,255,255,.76)!important;font-size:12px!important}
html body .openlib_global_footer__links{display:flex!important;flex-wrap:wrap!important;gap:8px 18px!important}
html body .openlib_global_footer__links a{color:#fff!important;font-size:12px!important;opacity:.88!important}
html body .openlib_global_footer__links a:hover{opacity:1!important;text-decoration:underline!important}
html body .openlib_global_footer__custom{padding-bottom:18px!important;color:#fff!important}
html body .openlib_global_footer__bottom{display:flex!important;justify-content:space-between!important;gap:20px!important;padding-top:14px!important;padding-bottom:18px!important;border-top:1px solid rgba(255,255,255,.17)!important;color:rgba(255,255,255,.72)!important;font-size:11px!important}

/* ---------- dark mode: same geometry, darker surfaces ---------- */
html[data-openlib-color-mode="dark"] body{--olu-bg:#0f141c;--olu-surface:#171d26;--olu-surface-2:#1c232d;--olu-text:#f3f5f7;--olu-muted:#a7b0bf;--olu-line:#303946;--olu-line-red:#70434a;background:var(--olu-bg)!important;color:#d8dee8!important}
html[data-openlib-color-mode="dark"] body h1,
html[data-openlib-color-mode="dark"] body h2,
html[data-openlib-color-mode="dark"] body h3,
html[data-openlib-color-mode="dark"] body h4{color:#f5f7fa!important}
html[data-openlib-color-mode="dark"] body .openlib_journal_masthead,
html[data-openlib-color-mode="dark"] body .openlib_journal_navbar,
html[data-openlib-color-mode="dark"] body .openlib_journal_profile,
html[data-openlib-color-mode="dark"] body .openlib_current_issue_panel,
html[data-openlib-color-mode="dark"] body .openlib_additional_content_panel,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_card,
html[data-openlib-color-mode="dark"] body .openlib_search_results>li,
html[data-openlib-color-mode="dark"] body .pkp_structure_main>.page:not(.page_index_site):not(.page_index_journal):not(.page_search),
html[data-openlib-color-mode="dark"] body .obj_article_details,
html[data-openlib-color-mode="dark"] body .pkp_structure_sidebar{background:var(--olu-surface)!important;border-color:var(--olu-line)!important;color:#d8dee8!important}
html[data-openlib-color-mode="dark"] body .openlib_journal_brand__title,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_content h3 a,
html[data-openlib-color-mode="dark"] body .obj_article_summary .title a{color:#f5f7fa!important}
html[data-openlib-color-mode="dark"] body .openlib_journal_navbar{box-shadow:none!important}
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a{color:#cbd2dd!important}
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a:hover{background:#222a35!important;color:#ff828a!important}
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a.openlib-nav-active,
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a[aria-current="page"],
html[data-openlib-color-mode="dark"] body .openlib_journal_nav .current>a{background:#2a2025!important;color:#ff8b92!important;box-shadow:inset 0 -3px 0 #e54853!important}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_content .description{color:#b9c1ce!important}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_footer{background:#151b23!important;border-top-color:#5c4145!important}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_actions a{background:#1b222c!important;border-color:#68434a!important;color:#ff9299!important}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter input,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query input,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form>select,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form>button,
html[data-openlib-color-mode="dark"] body .openlib_search_form__query,
html[data-openlib-color-mode="dark"] body .openlib_search_form__query input,
html[data-openlib-color-mode="dark"] body .openlib_search_form__journal,
html[data-openlib-color-mode="dark"] body .openlib_search_form__journal select,
html[data-openlib-color-mode="dark"] body .openlib_search_form__submit,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__grid,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__field input,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates select,
html[data-openlib-color-mode="dark"] body input,
html[data-openlib-color-mode="dark"] body select,
html[data-openlib-color-mode="dark"] body textarea{background:#171d26!important;color:#f3f5f7!important;border-color:#3a4452!important}
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__grid{border-top-color:#3a4452!important}
html[data-openlib-color-mode="dark"] body .openlib_search_advanced summary{color:#ff8b92!important}
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__field label,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates legend{color:#d7dde7!important}
html[data-openlib-color-mode="dark"] body table{background:#171d26!important;border-color:#303946!important}
html[data-openlib-color-mode="dark"] body th{background:#202733!important;color:#d7dde7!important}
html[data-openlib-color-mode="dark"] body th,
html[data-openlib-color-mode="dark"] body td{border-bottom-color:#303946!important}
html[data-openlib-color-mode="dark"] body .cmp_pagination>a,
html[data-openlib-color-mode="dark"] body .openlib_search_pagination>a{background:#171d26!important;border-color:#303946!important;color:#d7dde7!important}
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest{background:#fff!important;border-color:#fff!important}
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item{background:#fff!important;color:var(--olu-red)!important}
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item:hover,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item.is-active{background:var(--olu-red)!important;color:#fff!important}
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:hover,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:active{background:var(--olu-red)!important;color:#fff!important}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  .openlib_shell,html body .pkp_structure_content{width:min(var(--olu-shell),calc(100% - 40px))!important}
  html body .pkp_structure_content.has_sidebar{grid-template-columns:1fr!important}
  html body .openlib_site_primary{display:none!important}
  html body.openlib-site-index .openlib_discovery__form{grid-template-columns:minmax(0,1fr) 190px 155px!important}
  html body.openlib-site-index .openlib_journal_main{grid-template-columns:105px minmax(0,1fr)!important}
  html body.openlib-site-index .openlib_journal_media img,
  html body.openlib-site-index .openlib_journal_placeholder{width:105px!important;height:145px!important}
}
@media(max-width:767px){
  .openlib_shell,html body .pkp_structure_content{width:calc(100% - 28px)!important}
  html body .openlib_topbar__inner{min-height:64px!important;gap:12px!important}
  html body .openlib_publisher_brand{font-size:14px!important}
  html body .openlib_account_cluster--guest{gap:4px!important;padding:4px!important;border-radius:13px!important}
  html body .openlib_account_cluster--guest>.openlib_auth_switch__item{padding:0 10px!important;font-size:12px!important}
  html body .openlib_account_cluster--guest>.openlib_color_mode_toggle{width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important}
  html body .openlib_journal_masthead__inner{min-height:96px!important;padding-top:14px!important;padding-bottom:14px!important}
  html body .openlib_journal_brand__title{font-size:22px!important}
  html body .openlib_journal_navbar__inner{align-items:stretch!important;flex-direction:column!important;gap:0!important;padding-top:8px!important;padding-bottom:8px!important}
  html body .openlib_journal_nav{width:100%!important;overflow-x:auto!important}
  html body .openlib_journal_nav>ul,
  html body .openlib_journal_nav .pkp_navigation_primary{flex-wrap:nowrap!important;white-space:nowrap!important}
  html body .openlib_journal_nav_actions{width:100%!important;margin-top:7px!important}
  html body .openlib_journal_search{width:100%!important}
  html body.openlib-site-index .openlib_discovery__form,
  html body .openlib_search_form__primary{grid-template-columns:1fr!important}
  html body.openlib-site-index .openlib_journal_tools{align-items:stretch!important;flex-direction:column!important;gap:14px!important}
  html body.openlib-site-index .openlib_journal_filter{width:100%!important}
  html body.openlib-site-index .openlib_journal_grid{grid-template-columns:1fr!important}
  html body.openlib-site-index .openlib_journal_main{grid-template-columns:92px minmax(0,1fr)!important;gap:14px!important;padding:16px!important}
  html body.openlib-site-index .openlib_journal_media img,
  html body.openlib-site-index .openlib_journal_placeholder{width:92px!important;height:126px!important}
  html body.openlib-journal-page .openlib_journal_profile{grid-template-columns:1fr!important;gap:18px!important;padding:20px!important}
  html body.openlib-journal-page .openlib_journal_profile__media{max-width:180px!important}
  html body .openlib_search_advanced__grid{grid-template-columns:1fr!important}
  html body .openlib_search_advanced__dates{grid-template-columns:1fr!important}
  html body .openlib_global_footer__inner{flex-direction:column!important;gap:18px!important}
  html body .openlib_global_footer__bottom{flex-direction:column!important;gap:4px!important}
}
@media(max-width:520px){
  html body .openlib_publisher_brand{max-width:46vw!important}
  html body.openlib-site-index .openlib_journal_main{grid-template-columns:1fr!important}
  html body.openlib-site-index .openlib_journal_media{max-width:120px!important}
  html body.openlib-site-index .openlib_journal_media img,
  html body.openlib-site-index .openlib_journal_placeholder{width:110px!important;height:150px!important}
  html body.openlib-site-index .openlib_journal_actions{grid-template-columns:1fr!important}
}
/* Open Library Publications — Clean Unified Layout v41 — 2026-08-29
 * Polishes v40 without reintroducing historical CSS stacks.
 * One clean system for publisher + journals, no floating search, no portal sidebar.
 */
:root{
  --olv41-red:#d92b36;
  --olv41-red-strong:#c61f2b;
  --olv41-red-dark:#a91823;
  --olv41-red-soft:#fff5f6;
  --olv41-bg:#f7f8fa;
  --olv41-card:#ffffff;
  --olv41-ink:#172033;
  --olv41-text:#475467;
  --olv41-muted:#7a8699;
  --olv41-line:#e6e8ec;
  --olv41-line-red:#efc2c6;
  --olv41-shell:1240px;
  --olv41-radius:16px;
  --olv41-shadow:0 14px 36px rgba(20,30,45,.07);
  --olv41-shadow-soft:0 6px 18px rgba(20,30,45,.055);
}

/* --------------------------------------------------------------------------
   0. ACCESSIBILITY / CORE RESET — visually hidden text must never enter layout
   -------------------------------------------------------------------------- */
html body .pkp_screen_reader,
html body .screen_reader,
html body .sr-only,
html body .cmp_skip_to_content,
html body .pkp_skip_to_content,
html body .skip_to_content,
html body .skip_to_content a,
html body a[href="#pkp_content_main"].pkp_screen_reader,
html body a[href="#siteNav"].pkp_screen_reader,
html body a[href="#pkp_content_footer"].pkp_screen_reader{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
html body .pkp_screen_reader:focus,
html body .cmp_skip_to_content:focus-within,
html body .pkp_skip_to_content:focus-within{
  width:auto!important;
  height:auto!important;
  margin:0!important;
  overflow:visible!important;
  clip:auto!important;
  white-space:normal!important;
}
html,body{overflow-x:hidden!important;}
html body{background:var(--olv41-bg)!important;color:var(--olv41-text)!important;}
html body .pkp_structure_page{background:transparent!important;}

/* Publisher-level pages are always clean full-width; no OJS utility sidebar. */
html body.openlib-site-page .pkp_structure_content,
html body.openlib-site-page .pkp_structure_content.has_sidebar{
  width:min(var(--olv41-shell),calc(100% - 56px))!important;
  max-width:var(--olv41-shell)!important;
  display:block!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:30px!important;
  padding-bottom:56px!important;
}
html body.openlib-site-page .pkp_structure_sidebar{display:none!important;}
html body .openlib_shell{
  width:min(var(--olv41-shell),calc(100% - 56px))!important;
  max-width:var(--olv41-shell)!important;
}

/* --------------------------------------------------------------------------
   1. GLOBAL HEADER — same publisher bar everywhere
   -------------------------------------------------------------------------- */
html body .openlib_global_header{
  position:sticky!important;
  top:0!important;
  z-index:1200!important;
}
html body .openlib_topbar{
  background:linear-gradient(100deg,#b71924 0%,var(--olv41-red-strong) 46%,#e23a45 100%)!important;
  border:0!important;
  border-bottom:1px solid rgba(122,13,21,.24)!important;
  box-shadow:0 6px 18px rgba(101,14,21,.12)!important;
}
html body .openlib_topbar__inner{
  min-height:68px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
}
html body .openlib_publisher_brand{
  flex:0 1 auto!important;
  margin:0!important;
  color:#fff!important;
  font-size:18px!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
html body .openlib_publisher_brand:hover{color:#fff!important;opacity:.95!important;}
html body .openlib_site_primary{
  flex:0 1 auto!important;
  margin:0 0 0 14px!important;
}
html body .openlib_site_primary .pkp_navigation_primary{gap:2px!important;}
html body .openlib_site_primary .pkp_navigation_primary>li>a{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  padding:0 10px!important;
  color:rgba(255,255,255,.92)!important;
  border-radius:9px!important;
  font-size:12.5px!important;
}
html body .openlib_topbar__account{margin-left:auto!important;}

/* Account capsule */
html body .openlib_account_cluster--guest,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  min-height:44px!important;
  padding:5px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:15px!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(98,10,17,.15)!important;
}
html body .openlib_account_cluster--guest>*+*:before{display:none!important;content:none!important;}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:34px!important;
  min-height:34px!important;
  margin:0!important;
  border:0!important;
  border-radius:10px!important;
  line-height:1!important;
  box-shadow:none!important;
}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle{
  width:34px!important;
  min-width:34px!important;
  padding:0!important;
  background:var(--olv41-red)!important;
  border:1px solid var(--olv41-red)!important;
  color:#fff!important;
}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:hover,
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:focus,
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:active,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:hover,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:focus,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:active{
  background:var(--olv41-red)!important;
  border-color:var(--olv41-red)!important;
  color:#fff!important;
}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle .fa{color:#fff!important;}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item{
  padding:0 15px!important;
  background:#fff!important;
  color:var(--olv41-red)!important;
  font-size:13px!important;
  font-weight:800!important;
}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item:hover,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item:focus-visible,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item.is-active,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item:hover,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item:focus-visible,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item.is-active{
  background:var(--olv41-red)!important;
  color:#fff!important;
}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item span{color:inherit!important;}

/* --------------------------------------------------------------------------
   2. JOURNAL IDENTITY + NAV — compact, same design language as publisher
   -------------------------------------------------------------------------- */
html body .openlib_journal_masthead{
  background:#fff!important;
  border:0!important;
  border-bottom:1px solid var(--olv41-line)!important;
}
html body .openlib_journal_masthead__inner{
  min-height:104px!important;
  padding-top:16px!important;
  padding-bottom:16px!important;
}
html body .openlib_back_publications{
  margin-bottom:9px!important;
  padding:6px 10px!important;
  border:1px solid var(--olv41-line-red)!important;
  border-radius:9px!important;
  background:var(--olv41-red-soft)!important;
  color:var(--olv41-red-strong)!important;
  font-size:12px!important;
  font-weight:800!important;
}
html body .openlib_journal_brand__title{
  color:var(--olv41-ink)!important;
  font-size:28px!important;
  font-weight:850!important;
  line-height:1.18!important;
}
html body .openlib_journal_navbar{
  background:#fff!important;
  border:0!important;
  border-bottom:1px solid var(--olv41-line)!important;
  box-shadow:0 4px 14px rgba(20,30,45,.035)!important;
}
html body .openlib_journal_navbar__inner{min-height:56px!important;}
html body .openlib_journal_nav a,
html body .openlib_journal_search{
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:9px!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:750!important;
}
html body .openlib_journal_nav a:hover,
html body .openlib_journal_search:hover{background:var(--olv41-red-soft)!important;color:var(--olv41-red-strong)!important;}
html body .openlib_journal_nav a.openlib-nav-active,
html body .openlib_journal_nav a[aria-current="page"],
html body .openlib_journal_nav .current>a,
html body .openlib_journal_search.openlib-nav-active,
html body .openlib_journal_search[aria-current="page"]{
  background:var(--olv41-red-soft)!important;
  color:var(--olv41-red-strong)!important;
  box-shadow:inset 0 -3px 0 var(--olv41-red)!important;
}
html body .openlib_journal_search{border:1px solid var(--olv41-line-red)!important;background:#fff!important;}

/* --------------------------------------------------------------------------
   3. PORTAL HOME — wide, clean and balanced
   -------------------------------------------------------------------------- */
html body.openlib-site-index .page_index_site{width:100%!important;max-width:none!important;}
html body.openlib-site-index .openlib_search_panel--primary{
  position:static!important;
  width:100%!important;
  margin:0 0 34px!important;
  padding:12px!important;
  border:1px solid #b71a25!important;
  border-radius:18px!important;
  background:linear-gradient(100deg,#94141e 0%,#c31f2a 48%,#e23a45 100%)!important;
  box-shadow:0 16px 34px rgba(106,14,22,.15)!important;
  overflow:hidden!important;
}
html body.openlib-site-index .openlib_search_panel--primary:before,
html body.openlib-site-index .openlib_search_panel--primary:after{display:none!important;content:none!important;}
html body.openlib-site-index .openlib_discovery__form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px 168px!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
}
html body.openlib-site-index .openlib_discovery__query,
html body.openlib-site-index .openlib_discovery__form>select,
html body.openlib-site-index .openlib_discovery__form>button{
  height:52px!important;
  min-height:52px!important;
  border-radius:12px!important;
  background:#fff!important;
}
html body.openlib-site-index .openlib_discovery__query{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.72)!important;
}
html body.openlib-site-index .openlib_field_icon{
  left:10px!important;
  top:50%!important;
  width:32px!important;
  height:32px!important;
  border-radius:9px!important;
  background:var(--olv41-red)!important;
  color:#fff!important;
  transform:translateY(-50%)!important;
}
html body.openlib-site-index .openlib_field_icon svg{stroke:#fff!important;}
html body.openlib-site-index .openlib_field_icon--filter svg{fill:#fff!important;stroke:none!important;}
html body.openlib-site-index .openlib_discovery__query input{
  width:100%!important;
  height:50px!important;
  padding:0 18px 0 54px!important;
  border:0!important;
  background:#fff!important;
  color:#364152!important;
  box-shadow:none!important;
}
html body.openlib-site-index .openlib_discovery__form>select{
  width:100%!important;
  padding:0 42px 0 15px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  color:#364152!important;
}
html body.openlib-site-index .openlib_discovery__form>button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  width:100%!important;
  padding:0 14px!important;
  border:1px solid rgba(255,255,255,.72)!important;
  color:var(--olv41-red-strong)!important;
  font-size:13px!important;
  font-weight:850!important;
}
html body.openlib-site-index .openlib_button_icon{
  width:28px!important;
  height:28px!important;
  border-radius:8px!important;
  background:var(--olv41-red)!important;
  color:#fff!important;
}

html body.openlib-site-index .openlib_journal_tools{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  padding:0 0 17px!important;
  border-bottom:1px solid var(--olv41-line)!important;
}
html body.openlib-site-index .openlib_journal_tools h2{font-size:30px!important;}
html body.openlib-site-index .openlib_journal_filter{
  position:relative!important;
  width:300px!important;
  height:48px!important;
  overflow:hidden!important;
  border:1px solid var(--olv41-line-red)!important;
  border-radius:12px!important;
  background:#fff!important;
}
html body.openlib-site-index .openlib_journal_filter input{
  width:100%!important;
  height:46px!important;
  padding:0 15px 0 52px!important;
  border:0!important;
  background:#fff!important;
  color:#344054!important;
}
html body.openlib-site-index .openlib_journal_grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
}
html body.openlib-site-index .openlib_journal_card{
  border:1px solid var(--olv41-line)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:var(--olv41-shadow-soft)!important;
}
html body.openlib-site-index .openlib_journal_card:before{height:4px!important;background:var(--olv41-red)!important;}
html body.openlib-site-index .openlib_journal_main{grid-template-columns:118px minmax(0,1fr)!important;padding:19px!important;}
html body.openlib-site-index .openlib_journal_media img,
html body.openlib-site-index .openlib_journal_placeholder{width:118px!important;height:158px!important;}
html body.openlib-site-index .openlib_journal_content h3 a{color:var(--olv41-ink)!important;}
html body.openlib-site-index .openlib_journal_footer{
  border-top:1px dashed #ddb7bb!important;
  background:#fff!important;
}
html body.openlib-site-index .openlib_journal_actions a{
  border:1px solid var(--olv41-line-red)!important;
  background:#fff!important;
  color:var(--olv41-red-strong)!important;
}

/* --------------------------------------------------------------------------
   4. SEARCH / ADVANCED / RESULTS
   -------------------------------------------------------------------------- */
html body .openlib_search_page{max-width:none!important;width:100%!important;}
html body .openlib_search_form{
  padding:12px!important;
  border:1px solid #b71a25!important;
  border-radius:18px!important;
  background:linear-gradient(100deg,#94141e 0%,#c31f2a 48%,#e23a45 100%)!important;
  box-shadow:0 14px 32px rgba(106,14,22,.13)!important;
}
html body .openlib_search_form__primary,
html body .openlib_search_form__primary.has_journal_filter{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px 145px!important;
  gap:10px!important;
  align-items:center!important;
}
html body .openlib_search_form__query,
html body .openlib_search_form__journal,
html body .openlib_search_form__submit{
  height:50px!important;
  min-height:50px!important;
  border-radius:12px!important;
  background:#fff!important;
}
html body .openlib_search_form__query{position:relative!important;overflow:hidden!important;}
html body .openlib_search_form__query>.fa{
  position:absolute!important;
  left:12px!important;
  top:50%!important;
  width:30px!important;
  height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
  background:var(--olv41-red)!important;
  color:#fff!important;
  transform:translateY(-50%)!important;
}
html body .openlib_search_form__query input{height:48px!important;padding-left:52px!important;border:0!important;}
html body .openlib_search_form__journal select{height:48px!important;border:0!important;}
html body .openlib_search_form__submit{border:1px solid rgba(255,255,255,.72)!important;color:var(--olv41-red-strong)!important;font-weight:850!important;}
html body .openlib_search_advanced{
  margin-top:10px!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:12px!important;
  background:#fff!important;
}
html body .openlib_search_advanced summary{
  display:flex!important;
  align-items:center!important;
  min-height:48px!important;
  padding:8px 12px!important;
  color:var(--olv41-red-strong)!important;
  font-weight:800!important;
  cursor:pointer!important;
}
html body .openlib_search_advanced__grid{
  border-top:1px solid var(--olv41-line)!important;
  background:#fff!important;
}
html body .openlib_search_results>li{
  border:1px solid var(--olv41-line)!important;
  border-left:4px solid var(--olv41-red)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:var(--olv41-shadow-soft)!important;
}
html body .openlib_search_results>li:before,
html body .openlib_search_results>li:after{display:none!important;content:none!important;}

/* --------------------------------------------------------------------------
   5. GENERIC PAGES / JOURNAL CONTENT
   -------------------------------------------------------------------------- */
html body.openlib-journal-page .pkp_structure_content{
  width:min(var(--olv41-shell),calc(100% - 56px))!important;
  max-width:var(--olv41-shell)!important;
  gap:22px!important;
  padding-top:28px!important;
  padding-bottom:52px!important;
}
html body .openlib_journal_profile,
html body .openlib_current_issue_panel,
html body .openlib_additional_content_panel,
html body .pkp_structure_main>.page:not(.page_index_site):not(.page_index_journal):not(.page_search),
html body .obj_article_details{
  border:1px solid var(--olv41-line)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:var(--olv41-shadow-soft)!important;
}
html body .pkp_structure_sidebar{
  border:1px solid var(--olv41-line)!important;
  border-radius:17px!important;
  background:#fff!important;
  box-shadow:var(--olv41-shadow-soft)!important;
}
html body button.submit,
html body input[type="submit"]{
  background:var(--olv41-red)!important;
  border-color:var(--olv41-red)!important;
}

/* --------------------------------------------------------------------------
   6. FOOTER
   -------------------------------------------------------------------------- */
html body .openlib_global_footer{
  border-top:1px solid #8f131c!important;
  background:linear-gradient(100deg,#85131b 0%,#a91823 48%,#c92531 100%)!important;
}
html body .openlib_global_footer__inner,
html body .openlib_global_footer__bottom,
html body .openlib_global_footer__custom{
  width:min(var(--olv41-shell),calc(100% - 56px))!important;
  max-width:var(--olv41-shell)!important;
}

/* --------------------------------------------------------------------------
   7. DARK MODE — same geometry, comfortable contrast
   -------------------------------------------------------------------------- */
html[data-openlib-color-mode="dark"] body{
  --olv41-bg:#11161e;
  --olv41-card:#181e27;
  --olv41-ink:#f5f7fa;
  --olv41-text:#d5dbe5;
  --olv41-muted:#a6afbd;
  --olv41-line:#313a47;
  --olv41-line-red:#71434a;
  background:#11161e!important;
  color:#d5dbe5!important;
}
html[data-openlib-color-mode="dark"] body .openlib_journal_masthead,
html[data-openlib-color-mode="dark"] body .openlib_journal_navbar,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_card,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__grid,
html[data-openlib-color-mode="dark"] body .openlib_search_results>li,
html[data-openlib-color-mode="dark"] body .openlib_journal_profile,
html[data-openlib-color-mode="dark"] body .openlib_current_issue_panel,
html[data-openlib-color-mode="dark"] body .openlib_additional_content_panel,
html[data-openlib-color-mode="dark"] body .pkp_structure_main>.page:not(.page_index_site):not(.page_index_journal):not(.page_search),
html[data-openlib-color-mode="dark"] body .obj_article_details,
html[data-openlib-color-mode="dark"] body .pkp_structure_sidebar{
  background:#181e27!important;
  border-color:#313a47!important;
  color:#d5dbe5!important;
}
html[data-openlib-color-mode="dark"] body h1,
html[data-openlib-color-mode="dark"] body h2,
html[data-openlib-color-mode="dark"] body h3,
html[data-openlib-color-mode="dark"] body h4,
html[data-openlib-color-mode="dark"] body .openlib_journal_brand__title,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_content h3 a{color:#f5f7fa!important;}
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a{color:#d2d8e2!important;}
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a:hover,
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a.openlib-nav-active,
html[data-openlib-color-mode="dark"] body .openlib_journal_nav a[aria-current="page"],
html[data-openlib-color-mode="dark"] body .openlib_journal_nav .current>a{
  background:#2a2025!important;
  color:#ff949b!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_footer{background:#161c24!important;border-top-color:#60454a!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_actions a{background:#1b222c!important;color:#ff9299!important;border-color:#70454b!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter input,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query input,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form>select,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form>button,
html[data-openlib-color-mode="dark"] body .openlib_search_form__query,
html[data-openlib-color-mode="dark"] body .openlib_search_form__query input,
html[data-openlib-color-mode="dark"] body .openlib_search_form__journal,
html[data-openlib-color-mode="dark"] body .openlib_search_form__journal select,
html[data-openlib-color-mode="dark"] body .openlib_search_form__submit,
html[data-openlib-color-mode="dark"] body input,
html[data-openlib-color-mode="dark"] body select,
html[data-openlib-color-mode="dark"] body textarea{
  background:#181e27!important;
  color:#f3f5f8!important;
  border-color:#3a4452!important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_search_panel--primary{margin-bottom:36px!important;}

/* --------------------------------------------------------------------------
   8. RESPONSIVE
   -------------------------------------------------------------------------- */
@media(max-width:1024px){
  html body .openlib_shell,
  html body.openlib-site-page .pkp_structure_content,
  html body.openlib-journal-page .pkp_structure_content,
  html body .openlib_global_footer__inner,
  html body .openlib_global_footer__bottom,
  html body .openlib_global_footer__custom{
    width:calc(100% - 36px)!important;
  }
  html body.openlib-site-index .openlib_discovery__form{grid-template-columns:minmax(0,1fr) 190px 155px!important;}
  html body .openlib_search_form__primary,
  html body .openlib_search_form__primary.has_journal_filter{grid-template-columns:minmax(0,1fr) 190px 135px!important;}
}
@media(max-width:767px){
  html body .openlib_shell,
  html body.openlib-site-page .pkp_structure_content,
  html body.openlib-journal-page .pkp_structure_content,
  html body .openlib_global_footer__inner,
  html body .openlib_global_footer__bottom,
  html body .openlib_global_footer__custom{width:calc(100% - 24px)!important;}
  html body .openlib_topbar__inner{min-height:64px!important;gap:10px!important;}
  html body .openlib_publisher_brand{font-size:15px!important;}
  html body .openlib_site_primary{display:none!important;}
  html body .openlib_account_cluster--guest{gap:4px!important;padding:4px!important;}
  html body .openlib_account_cluster--guest>.openlib_auth_switch__item{padding:0 10px!important;font-size:12px!important;}
  html body.openlib-site-index .openlib_discovery__form,
  html body .openlib_search_form__primary,
  html body .openlib_search_form__primary.has_journal_filter{grid-template-columns:1fr!important;}
  html body.openlib-site-index .openlib_journal_tools{align-items:stretch!important;flex-direction:column!important;gap:14px!important;}
  html body.openlib-site-index .openlib_journal_filter{width:100%!important;}
  html body.openlib-site-index .openlib_journal_grid{grid-template-columns:1fr!important;}
  html body.openlib-site-index .openlib_journal_main{grid-template-columns:96px minmax(0,1fr)!important;gap:14px!important;padding:16px!important;}
  html body.openlib-site-index .openlib_journal_media img,
  html body.openlib-site-index .openlib_journal_placeholder{width:96px!important;height:132px!important;}
  html body .openlib_journal_masthead__inner{min-height:92px!important;}
  html body .openlib_journal_brand__title{font-size:23px!important;}
  html body .openlib_journal_navbar__inner{align-items:flex-start!important;flex-direction:column!important;padding-top:8px!important;padding-bottom:8px!important;}
  html body .openlib_journal_nav>ul,
  html body .openlib_journal_nav .pkp_navigation_primary{flex-wrap:wrap!important;}
}

/* ==========================================================================\n   Open Library Publications — Stable Red Layout v42 — 2026-08-29\n   Final consolidation layer for login/register/search/journal navigation.\n   ========================================================================== */
:root{
  --ol42-red:#df2f3a;
  --ol42-red-strong:#c91f2b;
  --ol42-red-dark:#a91823;
  --ol42-red-soft:#fff5f6;
  --ol42-bg:#f6f7f9;
  --ol42-card:#fff;
  --ol42-ink:#172033;
  --ol42-text:#475467;
  --ol42-muted:#7a8699;
  --ol42-line:#e4e7ec;
  --ol42-line-red:#efc2c6;
  --ol42-radius:16px;
  --ol42-shell:1240px;
  --ol42-shadow:0 12px 32px rgba(22,31,45,.07);
}

/* ---------- document flow: footer stays at bottom ---------- */
html,body{min-height:100%!important;}
html body .pkp_structure_page{
  display:flex!important;
  flex-direction:column!important;
  min-height:100vh!important;
}
html body .pkp_structure_content{
  flex:1 0 auto!important;
}
html body .openlib_global_footer{
  flex:0 0 auto!important;
  margin-top:auto!important;
}

/* ---------- global header + sticky behavior ---------- */
html body .openlib_global_header{
  position:sticky!important;
  top:0!important;
  z-index:1600!important;
  background:#fff!important;
}
html body .openlib_topbar{
  background:linear-gradient(100deg,#b71924 0%,#c91f2b 52%,#e33a45 100%)!important;
}
html body .openlib_publisher_brand{color:#fff!important;}
html body .openlib_account_cluster--guest{
  border-color:rgba(255,255,255,.88)!important;
  background:#fff!important;
}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle{
  background:var(--ol42-red)!important;
  border-color:var(--ol42-red)!important;
  color:#fff!important;
}
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:hover,
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:focus,
html body .openlib_account_cluster--guest>.openlib_color_mode_toggle:active,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:hover,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:focus,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_color_mode_toggle:active{
  background:var(--ol42-red)!important;
  border-color:var(--ol42-red)!important;
}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item{
  background:#fff!important;
  color:var(--ol42-red)!important;
}
html body .openlib_account_cluster--guest>.openlib_auth_switch__item:hover,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item:focus-visible,
html body .openlib_account_cluster--guest>.openlib_auth_switch__item.is-active,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item:hover,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item:focus-visible,
html[data-openlib-color-mode="dark"] body .openlib_account_cluster--guest>.openlib_auth_switch__item.is-active{
  background:var(--ol42-red)!important;
  color:#fff!important;
}

/* ---------- journal identity + menu: same red system as publisher ---------- */
html body.openlib-journal-page .openlib_journal_masthead{
  background:linear-gradient(180deg,#fff 0%,#fff8f9 100%)!important;
  border-bottom:1px solid var(--ol42-line-red)!important;
}
html body.openlib-journal-page .openlib_journal_masthead__inner{
  min-height:78px!important;
  padding-top:12px!important;
  padding-bottom:12px!important;
}
html body.openlib-journal-page .openlib_journal_masthead__identity{
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  width:100%!important;
}
html body.openlib-journal-page .openlib_back_publications{
  flex:0 0 auto!important;
  margin:0!important;
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  background:#fff!important;
  border-color:var(--ol42-line-red)!important;
  color:var(--ol42-red-strong)!important;
}
html body.openlib-journal-page .openlib_journal_brand{min-width:0!important;}
html body.openlib-journal-page .openlib_journal_brand__title{
  display:block!important;
  margin:0!important;
  color:var(--ol42-ink)!important;
  font-size:24px!important;
  line-height:1.2!important;
  font-weight:850!important;
}
html body.openlib-journal-page .openlib_journal_navbar{
  background:#fff!important;
  border-bottom:1px solid var(--ol42-line)!important;
  box-shadow:0 5px 15px rgba(22,31,45,.04)!important;
}
html body.openlib-journal-page .openlib_journal_navbar__inner{
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
}
html body.openlib-journal-page .openlib_journal_nav{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
html body.openlib-journal-page .openlib_journal_nav>ul,
html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
html body.openlib-journal-page .openlib_journal_nav li{margin:0!important;padding:0!important;}
html body.openlib-journal-page .openlib_journal_nav a,
html body.openlib-journal-page .openlib_journal_search{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:36px!important;
  padding:0 14px!important;
  border:1px solid transparent!important;
  border-radius:10px!important;
  background:transparent!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:750!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body.openlib-journal-page .openlib_journal_nav a:hover,
html body.openlib-journal-page .openlib_journal_search:hover{
  background:var(--ol42-red-soft)!important;
  border-color:#f4d2d5!important;
  color:var(--ol42-red-strong)!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,
html body.openlib-journal-page .openlib_journal_search[aria-current="page"]{
  background:var(--ol42-red)!important;
  border-color:var(--ol42-red)!important;
  color:#fff!important;
  box-shadow:none!important;
}
html body.openlib-journal-page .openlib_journal_nav_actions{flex:0 0 auto!important;}
html body.openlib-journal-page .openlib_journal_search{
  border-color:var(--ol42-line-red)!important;
  background:#fff!important;
  color:var(--ol42-red-strong)!important;
}
html body.openlib-journal-page .openlib_journal_search.openlib-nav-active{
  background:var(--ol42-red)!important;
  color:#fff!important;
}

/* ---------- breadcrumbs ---------- */
html body .cmp_breadcrumbs{
  margin:0 0 24px!important;
  padding:0!important;
  color:var(--ol42-muted)!important;
  font-size:12.5px!important;
}
html body .cmp_breadcrumbs ol,
html body .cmp_breadcrumbs ul{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  counter-reset:none!important;
}
html body .cmp_breadcrumbs li{
  display:inline-flex!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
}
html body .cmp_breadcrumbs li::marker{content:""!important;}
html body .cmp_breadcrumbs li+li:before{
  content:"/"!important;
  margin-right:7px!important;
  color:#a7b0bf!important;
}
html body .cmp_breadcrumbs a{color:var(--ol42-red-strong)!important;text-decoration:none!important;}

/* ---------- LOGIN ---------- */
html body.pkp_page_login .pkp_structure_content{
  width:min(760px,calc(100% - 40px))!important;
  max-width:760px!important;
  padding-top:42px!important;
  padding-bottom:46px!important;
}
html body.pkp_page_login .pkp_structure_main{width:100%!important;}
html body.pkp_page_login .page_login{
  box-sizing:border-box!important;
  width:100%!important;
  margin:0 auto!important;
  padding:30px 34px 34px!important;
  border:1px solid var(--ol42-line)!important;
  border-top:4px solid var(--ol42-red)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--ol42-shadow)!important;
}
html body.pkp_page_login .page_login>h1{margin:0 0 8px!important;font-size:30px!important;}
html body.pkp_page_login .page_login>p{margin:0 0 22px!important;color:var(--ol42-muted)!important;font-size:13px!important;}
html body.pkp_page_login form#login,
html body.pkp_page_login form#login fieldset.fields{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
html body.pkp_page_login form#login fieldset.fields{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
}
html body.pkp_page_login form#login .username,
html body.pkp_page_login form#login .password,
html body.pkp_page_login form#login .remember,
html body.pkp_page_login form#login .buttons{margin:0!important;padding:0!important;}
html body.pkp_page_login form#login label{
  display:block!important;
  margin:0!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:700!important;
}
html body.pkp_page_login form#login label>.label{
  display:block!important;
  margin:0 0 7px!important;
  color:#344054!important;
  font-size:13px!important;
  font-weight:750!important;
}
html body.pkp_page_login form#login input[type="text"],
html body.pkp_page_login form#login input[type="password"]{
  box-sizing:border-box!important;
  width:100%!important;
  height:48px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #d5dbe4!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#243044!important;
  box-shadow:none!important;
}
html body.pkp_page_login form#login input:focus{
  border-color:var(--ol42-red)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(223,47,58,.10)!important;
}
html body.pkp_page_login form#login .password label{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  align-items:end!important;
  column-gap:14px!important;
}
html body.pkp_page_login form#login .password label>.label{grid-column:1/-1!important;}
html body.pkp_page_login form#login .password input{grid-column:1/2!important;}
html body.pkp_page_login form#login .password a{
  grid-column:2/3!important;
  align-self:center!important;
  margin:0!important;
  color:var(--ol42-red-strong)!important;
  font-size:12.5px!important;
  font-weight:650!important;
  white-space:nowrap!important;
}
html body.pkp_page_login form#login .remember label{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:600!important;
}
html body.pkp_page_login form#login .remember input{width:16px!important;height:16px!important;margin:0!important;}
html body.pkp_page_login form#login .remember .label{display:inline!important;margin:0!important;font-weight:600!important;}
html body.pkp_page_login form#login .buttons{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding-top:2px!important;
}
html body.pkp_page_login form#login .buttons .submit,
html body.pkp_page_login form#login .buttons .register{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
html body.pkp_page_login form#login .buttons .submit{border:1px solid var(--ol42-red)!important;background:var(--ol42-red)!important;color:#fff!important;}
html body.pkp_page_login form#login .buttons .register{border:1px solid var(--ol42-line-red)!important;background:#fff!important;color:var(--ol42-red-strong)!important;}

/* ---------- REGISTER ---------- */
html body.pkp_page_user.pkp_op_register .pkp_structure_content{
  width:min(1120px,calc(100% - 44px))!important;
  max-width:1120px!important;
  padding-top:38px!important;
  padding-bottom:52px!important;
}
html body.pkp_page_user.pkp_op_register .pkp_structure_main{width:100%!important;}
html body.pkp_page_user.pkp_op_register .page_register{
  width:100%!important;
  margin:0!important;
  padding:30px 32px 34px!important;
  border:1px solid var(--ol42-line)!important;
  border-top:4px solid var(--ol42-red)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--ol42-shadow)!important;
}
html body.pkp_page_user.pkp_op_register .page_register>h1{margin:0 0 8px!important;font-size:30px!important;}
html body.pkp_page_user.pkp_op_register .page_register>p{margin:0 0 24px!important;color:var(--ol42-muted)!important;font-size:13px!important;}
html body.pkp_page_user.pkp_op_register form#register{margin:0!important;}
html body.pkp_page_user.pkp_op_register form#register>fieldset,
html body.pkp_page_user.pkp_op_register form#register fieldset.identity,
html body.pkp_page_user.pkp_op_register form#register fieldset.login,
html body.pkp_page_user.pkp_op_register form#register fieldset.consent,
html body.pkp_page_user.pkp_op_register form#register fieldset.reviewer,
html body.pkp_page_user.pkp_op_register form#register fieldset[name="contexts"]{
  box-sizing:border-box!important;
  margin:0 0 18px!important;
  padding:22px!important;
  border:1px solid var(--ol42-line)!important;
  border-radius:15px!important;
  background:#fcfcfd!important;
}
html body.pkp_page_user.pkp_op_register form#register>fieldset>legend,
html body.pkp_page_user.pkp_op_register form#register fieldset.identity>legend,
html body.pkp_page_user.pkp_op_register form#register fieldset.login>legend,
html body.pkp_page_user.pkp_op_register form#register fieldset[name="contexts"]>legend{
  padding:5px 10px!important;
  border:1px solid var(--ol42-line-red)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--ol42-red-strong)!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
html body.pkp_page_user.pkp_op_register form#register fieldset.identity>.fields,
html body.pkp_page_user.pkp_op_register form#register fieldset.login>.fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 20px!important;
}
html body.pkp_page_user.pkp_op_register form#register .fields>div{min-width:0!important;}
html body.pkp_page_user.pkp_op_register form#register label{display:block!important;margin:0!important;color:#344054!important;font-size:13px!important;}
html body.pkp_page_user.pkp_op_register form#register label>.label{
  display:block!important;
  margin:0 0 7px!important;
  color:#344054!important;
  font-size:12.5px!important;
  font-weight:750!important;
}
html body.pkp_page_user.pkp_op_register form#register input[type="text"],
html body.pkp_page_user.pkp_op_register form#register input[type="email"],
html body.pkp_page_user.pkp_op_register form#register input[type="password"],
html body.pkp_page_user.pkp_op_register form#register select,
html body.pkp_page_user.pkp_op_register form#register textarea{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:0 13px!important;
  border:1px solid #d5dbe4!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#243044!important;
  box-shadow:none!important;
}
html body.pkp_page_user.pkp_op_register form#register textarea{height:auto!important;min-height:110px!important;padding-top:11px!important;padding-bottom:11px!important;}
html body.pkp_page_user.pkp_op_register form#register input:focus,
html body.pkp_page_user.pkp_op_register form#register select:focus,
html body.pkp_page_user.pkp_op_register form#register textarea:focus{
  border-color:var(--ol42-red)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(223,47,58,.10)!important;
}
html body.pkp_page_user.pkp_op_register .contexts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
html body.pkp_page_user.pkp_op_register .openlib_register_context{
  margin:0!important;
  padding:16px!important;
  border:1px solid var(--ol42-line)!important;
  border-radius:13px!important;
  background:#fff!important;
}
html body.pkp_page_user.pkp_op_register .openlib_register_context__name{
  margin:0 0 10px!important;
  color:var(--ol42-ink)!important;
  font-size:13.5px!important;
  font-weight:800!important;
}
html body.pkp_page_user.pkp_op_register .openlib_register_context__roles{
  margin:0!important;
  padding:12px!important;
  border:1px solid #eceef2!important;
  border-radius:10px!important;
  background:#fafafa!important;
}
html body.pkp_page_user.pkp_op_register .openlib_register_context__roles legend{display:none!important;}
html body.pkp_page_user.pkp_op_register .openlib_register_context__roles label{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 14px 0 0!important;
}
html body.pkp_page_user.pkp_op_register .context_privacy,
html body.pkp_page_user.pkp_op_register .context_privacy_visible{
  margin-top:10px!important;
  padding:10px 11px!important;
  border-radius:9px!important;
  background:var(--ol42-red-soft)!important;
  font-size:12px!important;
}
html body.pkp_page_user.pkp_op_register form#register .buttons{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  margin-top:4px!important;
}
html body.pkp_page_user.pkp_op_register form#register .buttons .submit,
html body.pkp_page_user.pkp_op_register form#register .buttons .login{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:42px!important;
  padding:0 18px!important;
  border-radius:10px!important;
  font-size:13px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
html body.pkp_page_user.pkp_op_register form#register .buttons .submit{border:1px solid var(--ol42-red)!important;background:var(--ol42-red)!important;color:#fff!important;}
html body.pkp_page_user.pkp_op_register form#register .buttons .login{border:1px solid var(--ol42-line-red)!important;background:#fff!important;color:var(--ol42-red-strong)!important;}

/* jQuery Validate feedback */
html body .openlib_validation_error{
  display:block!important;
  margin-top:6px!important;
  color:#b42318!important;
  font-size:11.5px!important;
  font-weight:650!important;
  line-height:1.35!important;
}
html body input.openlib_invalid,
html body select.openlib_invalid,
html body textarea.openlib_invalid{
  border-color:#d92d20!important;
  box-shadow:0 0 0 3px rgba(217,45,32,.08)!important;
}
html body input.openlib_valid,
html body select.openlib_valid,
html body textarea.openlib_valid{border-color:#9cc9b0!important;}

/* ---------- SEARCH + ADVANCED ---------- */
html body .openlib_search_form{
  padding:12px!important;
  border-radius:18px!important;
  background:linear-gradient(100deg,#a91621 0%,#c91f2b 52%,#e33a45 100%)!important;
}
html body .openlib_search_form__query>.fa{display:none!important;}
html body .openlib_search_form__query:before{
  position:absolute!important;
  left:10px!important;
  top:50%!important;
  width:30px!important;
  height:30px!important;
  content:"\f002"!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:8px!important;
  background:var(--ol42-red)!important;
  color:#fff!important;
  font-family:FontAwesome!important;
  font-size:13px!important;
  transform:translateY(-50%)!important;
  z-index:2!important;
}
html body .openlib_search_form__query input{padding-left:52px!important;}
html body .openlib_search_form__submit{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  color:var(--ol42-red-strong)!important;
}
html body .openlib_search_form__submit .fa{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  border-radius:8px!important;
  background:var(--ol42-red)!important;
  color:#fff!important;
}
html body .openlib_search_advanced{
  margin-top:10px!important;
  border:1px solid rgba(255,255,255,.45)!important;
  border-radius:13px!important;
  background:#fff!important;
}
html body .openlib_search_advanced summary{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:48px!important;
  padding:8px 12px!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--ol42-red-strong)!important;
}
html body .openlib_search_advanced summary::-webkit-details-marker{display:none!important;}
html body .openlib_search_advanced summary::marker{content:""!important;}
html body .openlib_search_advanced summary .openlib_advanced_icon{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  border-radius:8px!important;
  background:var(--ol42-red)!important;
  color:#fff!important;
}
html body .openlib_search_advanced summary .openlib_advanced_icon svg{width:14px!important;height:14px!important;stroke:#fff!important;fill:none!important;}
html body .openlib_advanced_label{font-size:13px!important;font-weight:800!important;}
html body .openlib_advanced_chevron{margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;}
html body .openlib_advanced_chevron svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;}
html body .openlib_search_advanced[open] .openlib_advanced_chevron{transform:rotate(180deg)!important;}
html body .openlib_search_advanced__grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)!important;
  gap:18px!important;
  padding:18px!important;
  border-top:1px solid var(--ol42-line)!important;
  background:#fff!important;
}
html body .openlib_search_advanced__field{
  min-width:0!important;
  padding:14px!important;
  border:1px solid var(--ol42-line)!important;
  border-radius:12px!important;
  background:#fcfcfd!important;
}
html body .openlib_search_advanced__field label{display:block!important;margin-bottom:7px!important;color:#344054!important;font-size:12.5px!important;font-weight:750!important;}
html body .openlib_search_advanced__field input{width:100%!important;height:44px!important;border:1px solid #d5dbe4!important;border-radius:10px!important;padding:0 12px!important;}
html body .openlib_search_advanced__dates{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  min-width:0!important;
}
html body .openlib_search_advanced__dates>.from,
html body .openlib_search_advanced__dates>.to{
  min-width:0!important;
  padding:14px!important;
  border:1px solid var(--ol42-line)!important;
  border-radius:12px!important;
  background:#fcfcfd!important;
}
html body .openlib_search_advanced__dates fieldset{
  margin:0!important;
  padding:0!important;
  border:0!important;
}
html body .openlib_search_advanced__dates legend{
  display:block!important;
  margin:0 0 10px!important;
  padding:0!important;
  color:#344054!important;
  font-size:12.5px!important;
  font-weight:800!important;
}
html body .openlib_search_advanced__dates label{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  align-items:center!important;
  gap:7px!important;
  margin:0 0 8px!important;
  color:#667085!important;
  font-size:11.5px!important;
}
html body .openlib_search_advanced__dates label:last-child{margin-bottom:0!important;}
html body .openlib_search_advanced__dates select{
  width:100%!important;
  min-width:0!important;
  height:38px!important;
  border:1px solid #d5dbe4!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#344054!important;
}

/* ---------- journal content / sidebar consistency ---------- */
html body.openlib-journal-page .pkp_structure_content,
html body.openlib-journal-page .pkp_structure_content.has_sidebar{
  width:min(var(--ol42-shell),calc(100% - 48px))!important;
  max-width:var(--ol42-shell)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 280px!important;
  gap:22px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-top:26px!important;
  padding-bottom:46px!important;
}
html body.openlib-journal-page .pkp_structure_content:not(.has_sidebar){grid-template-columns:minmax(0,1fr)!important;}
html body.openlib-journal-page .pkp_structure_main{min-width:0!important;width:100%!important;}
html body.openlib-journal-page .pkp_structure_sidebar{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:20px!important;
  align-self:start!important;
  border:1px solid var(--ol42-line)!important;
  border-top:4px solid var(--ol42-red)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--ol42-shadow)!important;
}
html body.openlib-journal-page .page_index_journal,
html body.openlib-journal-page .page_issue,
html body.openlib-journal-page .page_issue_archive,
html body.openlib-journal-page .page_about,
html body.openlib-journal-page .page_contact,
html body.openlib-journal-page .page_search,
html body.openlib-journal-page .obj_article_details{
  min-width:0!important;
}
html body.openlib-journal-page .openlib_journal_profile,
html body.openlib-journal-page .openlib_current_issue_panel,
html body.openlib-journal-page .openlib_additional_content_panel,
html body.openlib-journal-page .pkp_structure_main>.page:not(.page_index_journal):not(.page_search),
html body.openlib-journal-page .obj_article_details{
  border-top:4px solid var(--ol42-red)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:var(--ol42-shadow)!important;
}
html body.openlib-journal-page .openlib_journal_profile{padding:22px!important;}
html body.openlib-journal-page .openlib_current_issue_panel,
html body.openlib-journal-page .openlib_additional_content_panel{padding:24px!important;}

/* ---------- dark mode: same geometry ---------- */
html[data-openlib-color-mode="dark"] body{
  --ol42-bg:#11161e;
  --ol42-card:#181e27;
  --ol42-ink:#f5f7fa;
  --ol42-text:#d5dbe5;
  --ol42-muted:#a6afbd;
  --ol42-line:#313a47;
  --ol42-line-red:#70464c;
}
html[data-openlib-color-mode="dark"] body .openlib_global_header{background:#151b23!important;}
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_masthead,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_navbar,
html[data-openlib-color-mode="dark"] body.pkp_page_login .page_login,
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register .page_register,
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register form#register>fieldset,
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register .openlib_register_context,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__grid,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__field,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates>.from,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates>.to,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .pkp_structure_sidebar{
  background:#181e27!important;
  border-color:#313a47!important;
  color:#d5dbe5!important;
}
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_brand__title,
html[data-openlib-color-mode="dark"] body.pkp_page_login form#login label,
html[data-openlib-color-mode="dark"] body.pkp_page_login form#login label>.label,
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register form#register label,
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register form#register label>.label,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__field label,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates legend{color:#e6eaf0!important;}
html[data-openlib-color-mode="dark"] body.pkp_page_login form#login input[type="text"],
html[data-openlib-color-mode="dark"] body.pkp_page_login form#login input[type="password"],
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register form#register input,
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register form#register select,
html[data-openlib-color-mode="dark"] body.pkp_page_user.pkp_op_register form#register textarea,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__field input,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates select{
  background:#151b23!important;
  color:#f4f6f8!important;
  border-color:#3b4553!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_journal_search{color:#d7dde7!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:#2a2025!important;color:#ff9aa0!important;}
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav a.openlib-nav-active,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav a[aria-current="page"],
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_nav .current>a,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_search.openlib-nav-active{background:var(--ol42-red)!important;color:#fff!important;}

/* ---------- responsive ---------- */
@media(max-width:1024px){
  html body.openlib-journal-page .pkp_structure_content,
  html body.openlib-journal-page .pkp_structure_content.has_sidebar{grid-template-columns:minmax(0,1fr)!important;}
  html body.openlib-journal-page .pkp_structure_sidebar{max-width:none!important;}
}
@media(max-width:767px){
  html body.pkp_page_login .pkp_structure_content,
  html body.pkp_page_user.pkp_op_register .pkp_structure_content{width:calc(100% - 24px)!important;}
  html body.pkp_page_login .page_login,
  html body.pkp_page_user.pkp_op_register .page_register{padding:24px 18px 26px!important;}
  html body.pkp_page_user.pkp_op_register form#register fieldset.identity>.fields,
  html body.pkp_page_user.pkp_op_register form#register fieldset.login>.fields,
  html body.pkp_page_user.pkp_op_register .contexts,
  html body .openlib_search_advanced__grid,
  html body .openlib_search_advanced__dates{grid-template-columns:1fr!important;}
  html body.pkp_page_login form#login .password label{grid-template-columns:1fr!important;row-gap:8px!important;}
  html body.pkp_page_login form#login .password label>.label,
  html body.pkp_page_login form#login .password input,
  html body.pkp_page_login form#login .password a{grid-column:1!important;}
  html body.pkp_page_login form#login .password a{justify-self:start!important;}
  html body.openlib-journal-page .openlib_journal_masthead__identity{align-items:flex-start!important;flex-direction:column!important;gap:10px!important;}
  html body.openlib-journal-page .openlib_journal_navbar__inner{align-items:stretch!important;flex-direction:column!important;padding:8px 0!important;}
  html body.openlib-journal-page .openlib_journal_nav{overflow-x:auto!important;}
  html body.openlib-journal-page .openlib_journal_nav>ul,
  html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary{flex-wrap:nowrap!important;white-space:nowrap!important;}
  html body.openlib-journal-page .openlib_journal_nav_actions{width:100%!important;}
  html body.openlib-journal-page .openlib_journal_search{width:100%!important;}
}

/* v42 SVG search icons */
html body .openlib_search_form__query:before{display:none!important;content:none!important;}
html body .openlib_search_svg_icon{
  position:absolute!important;left:10px!important;top:50%!important;z-index:2!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:30px!important;height:30px!important;border-radius:8px!important;
  background:var(--ol42-red)!important;color:#fff!important;transform:translateY(-50%)!important;
}
html body .openlib_search_svg_icon svg,
html body .openlib_search_submit_icon svg{width:14px!important;height:14px!important;fill:none!important;stroke:#fff!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
html body .openlib_search_submit_icon{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:28px!important;height:28px!important;border-radius:8px!important;background:var(--ol42-red)!important;color:#fff!important;
}

/* ========================================================================== 
   v43 — journal/search/auth consolidation
   ========================================================================== */
:root{
  --ol43-red:#d92b36;
  --ol43-red-strong:#bf1f2a;
  --ol43-red-deep:#94151e;
  --ol43-red-soft:#fff4f5;
  --ol43-red-soft-2:#fff8f8;
  --ol43-line:#e7e9ee;
  --ol43-ink:#1e2633;
  --ol43-muted:#667085;
}

/* Keep footer at viewport bottom on short pages such as Login/Reset Password */
html body .pkp_structure_page{display:flex!important;flex-direction:column!important;min-height:100vh!important;}
html body .pkp_structure_content{flex:1 0 auto!important;}
html body .openlib_global_footer{margin-top:auto!important;flex:0 0 auto!important;}

/* Journal masthead: identity only. Back link lives in nav to avoid duplication. */
html body.openlib-journal-page .openlib_journal_masthead{background:linear-gradient(90deg,#fff 0%,#fff9f9 100%)!important;}
html body.openlib-journal-page .openlib_journal_masthead__inner{min-height:88px!important;padding-top:14px!important;padding-bottom:14px!important;}
html body.openlib-journal-page .openlib_journal_brand__title{font-size:27px!important;line-height:1.18!important;}
html body.openlib-journal-page .openlib_back_publications{display:none!important;}

/* Journal navigation: one compact system, Publications sits immediately before Home. */
html body.openlib-journal-page .openlib_journal_navbar{background:#fff!important;border-top:0!important;border-bottom:1px solid #eadfe1!important;}
html body.openlib-journal-page .openlib_journal_navbar__inner{min-height:58px!important;gap:14px!important;}
html body.openlib-journal-page .openlib_journal_nav{display:flex!important;align-items:center!important;gap:0!important;overflow:visible!important;}
html body.openlib-journal-page .openlib_journal_nav>ul,
html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin:0!important;padding:0!important;list-style:none!important;}
html body.openlib-journal-page .openlib_journal_home_nav{margin:0 2px 0 0!important;}
html body.openlib-journal-page .openlib_publications_link{
  gap:7px!important;
  padding:0 11px!important;
  border:1px solid #efc2c6!important;
  background:#fff8f8!important;
  color:var(--ol43-red-strong)!important;
}
html body.openlib-journal-page .openlib_publications_link:hover{background:#fff0f1!important;color:var(--ol43-red-deep)!important;}
html body.openlib-journal-page .openlib_publications_icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;}
html body.openlib-journal-page .openlib_publications_icon svg{width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
html body.openlib-journal-page .openlib_journal_nav a,
html body.openlib-journal-page .openlib_journal_search{min-height:38px!important;padding:0 13px!important;border:1px solid transparent!important;border-radius:10px!important;background:transparent!important;color:#344054!important;font-size:13px!important;font-weight:750!important;box-shadow:none!important;}
html body.openlib-journal-page .openlib_journal_nav a:hover,
html body.openlib-journal-page .openlib_journal_search:hover{border-color:#f0d5d8!important;background:#fff7f8!important;color:var(--ol43-red-strong)!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(--ol43-red)!important;
  background:var(--ol43-red)!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(189,31,42,.15)!important;
}
html body.openlib-journal-page .openlib_publications_link.openlib-nav-active{background:#fff8f8!important;color:var(--ol43-red-strong)!important;border-color:#efc2c6!important;box-shadow:none!important;}

/* Journal content shell: more deliberate spacing; sidebar visually secondary. */
html body.openlib-journal-page .pkp_structure_content,
html body.openlib-journal-page .pkp_structure_content.has_sidebar{padding-top:24px!important;gap:24px!important;}
html body.openlib-journal-page .pkp_structure_sidebar{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
html body.openlib-journal-page .pkp_structure_sidebar .pkp_block{margin:0 0 14px!important;padding:18px!important;border:1px solid var(--ol43-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 5px 16px rgba(35,42,54,.045)!important;}
html body.openlib-journal-page .pkp_structure_sidebar .title{margin:0 0 10px!important;padding-bottom:9px!important;border-bottom:1px solid #edf0f3!important;color:var(--ol43-ink)!important;font-size:13px!important;font-weight:800!important;}
html body.openlib-journal-page .pkp_structure_sidebar ul{margin:0!important;padding:0!important;list-style:none!important;}
html body.openlib-journal-page .pkp_structure_sidebar li{margin:0!important;padding:4px 0!important;}
html body.openlib-journal-page .pkp_structure_sidebar a{font-size:12.5px!important;}

/* Journal homepage/profile card: aligned with portal cards. */
html body.openlib-journal-page .openlib_journal_profile{grid-template-columns:180px minmax(0,1fr)!important;gap:24px!important;margin-bottom:22px!important;padding:22px!important;border:1px solid #e7e9ee!important;border-top:4px solid var(--ol43-red)!important;border-radius:16px!important;background:#fff!important;}
html body.openlib-journal-page .openlib_journal_profile__cover{height:210px!important;border-radius:12px!important;background:#fafafb!important;}
html body.openlib-journal-page .openlib_journal_profile__body h1{font-size:28px!important;}

/* BCM fallback cover: visually reads like a real proceedings cover. */
html body .openlib_bcm_cover{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  padding:18px!important;
  overflow:hidden!important;
  border:0!important;
  background:linear-gradient(155deg,#771019 0%,#b91f2b 52%,#e34852 100%)!important;
  color:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)!important;
}
html body .openlib_bcm_cover:before{position:absolute!important;content:""!important;width:150px!important;height:150px!important;right:-45px!important;top:-35px!important;border:22px solid rgba(255,255,255,.12)!important;border-radius:50%!important;}
html body .openlib_bcm_cover:after{position:absolute!important;content:""!important;left:-36px!important;bottom:38px!important;width:150px!important;height:26px!important;background:rgba(255,255,255,.10)!important;transform:rotate(-32deg)!important;}
html body .openlib_bcm_cover__mark{position:relative!important;z-index:1!important;padding:4px 7px!important;border:1px solid rgba(255,255,255,.5)!important;border-radius:7px!important;font-size:12px!important;font-weight:900!important;letter-spacing:.12em!important;}
html body .openlib_bcm_cover__title{position:relative!important;z-index:1!important;font-size:24px!important;font-weight:900!important;line-height:1.02!important;letter-spacing:-.04em!important;}
html body .openlib_bcm_cover__meta{position:relative!important;z-index:1!important;font-size:9.5px!important;font-weight:650!important;line-height:1.4!important;opacity:.88!important;}

/* Current issue and inner journal pages: remove oversized gaps, use one card language. */
html body.openlib-journal-page .pkp_structure_main>.page,
html body.openlib-journal-page .openlib_current_issue_panel,
html body.openlib-journal-page .openlib_additional_content_panel,
html body.openlib-journal-page .obj_article_details{margin-top:0!important;}
html body.openlib-journal-page .page_issue,
html body.openlib-journal-page .page_issue_archive,
html body.openlib-journal-page .page_article,
html body.openlib-journal-page .page_about,
html body.openlib-journal-page .page_contact{
  padding:24px!important;
  border:1px solid #e6e8ed!important;
  border-top:4px solid var(--ol43-red)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(35,42,54,.055)!important;
}
html body.openlib-journal-page .page_issue>h1,
html body.openlib-journal-page .page_issue_archive>h1,
html body.openlib-journal-page .page_about>h1,
html body.openlib-journal-page .page_contact>h1{margin:0 0 18px!important;font-size:29px!important;line-height:1.2!important;}

/* Section identifiers inside current issue: visible but restrained. */
html body.openlib-journal-page .obj_issue_toc .sections{margin:0!important;padding:0!important;}
html body.openlib-journal-page .obj_issue_toc .section{margin:0 0 22px!important;padding:0!important;}
html body.openlib-journal-page .obj_issue_toc .section>h2,
html body.openlib-journal-page .obj_issue_toc .section>h3{
  position:relative!important;
  margin:0 0 10px!important;
  padding:10px 12px 10px 16px!important;
  border:1px solid #f0d7da!important;
  border-left:4px solid var(--ol43-red)!important;
  border-radius:10px!important;
  background:#fff7f8!important;
  color:var(--ol43-red-deep)!important;
  font-size:14px!important;
  font-weight:850!important;
}
html body.openlib-journal-page .obj_issue_toc .articles{margin:0!important;padding:0!important;list-style:none!important;}
html body.openlib-journal-page .obj_issue_toc .articles>li{margin:0!important;padding:14px 2px!important;border-bottom:1px solid #edf0f3!important;}
html body.openlib-journal-page .obj_issue_toc .articles>li:last-child{border-bottom:0!important;}
html body.openlib-journal-page .obj_issue_toc .title{margin:0 0 5px!important;font-size:14px!important;font-weight:800!important;line-height:1.45!important;}
html body.openlib-journal-page .obj_issue_toc .authors{color:#667085!important;font-size:12.5px!important;}
html body.openlib-journal-page .obj_galley_link{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:0 10px!important;border:1px solid #e9a8ae!important;border-radius:8px!important;background:#fff!important;color:var(--ol43-red-strong)!important;font-size:11px!important;font-weight:800!important;}
html body.openlib-journal-page .obj_galley_link:hover{background:var(--ol43-red)!important;color:#fff!important;border-color:var(--ol43-red)!important;}

/* Issue archive cards */
html body.openlib-journal-page .issues_archive{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:0!important;padding:0!important;list-style:none!important;}
html body.openlib-journal-page .issues_archive>li{margin:0!important;padding:16px!important;border:1px solid #e7e9ee!important;border-radius:13px!important;background:#fcfcfd!important;}

/* Search: stable horizontal bar + properly proportioned advanced filters. */
html body .openlib_search_form{padding:12px!important;border-radius:16px!important;}
html body .openlib_search_form__primary{grid-template-columns:minmax(0,1fr) 220px 160px!important;gap:10px!important;}
html body .openlib_search_form__primary:not(.has_journal_filter){grid-template-columns:minmax(0,1fr) 160px!important;}
html body .openlib_search_form__query,
html body .openlib_search_form__journal,
html body .openlib_search_form__submit{height:50px!important;min-height:50px!important;border-radius:11px!important;}
html body .openlib_search_form__query input{height:48px!important;padding-left:52px!important;}
html body .openlib_search_svg_icon{left:10px!important;width:32px!important;height:32px!important;border-radius:9px!important;}
html body .openlib_search_form__submit{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;}
html body .openlib_search_advanced{margin-top:10px!important;border:0!important;border-radius:11px!important;background:#fff!important;}
html body .openlib_search_advanced summary{min-height:46px!important;padding:7px 10px!important;border:1px solid #f0c9cd!important;border-radius:11px!important;background:#fff8f8!important;color:var(--ol43-red-strong)!important;}
html body .openlib_search_advanced[open] summary{border-radius:11px 11px 0 0!important;border-bottom-color:#f4dfe1!important;}
html body .openlib_search_advanced__grid{grid-template-columns:minmax(220px,.8fr) minmax(0,1.6fr)!important;gap:14px!important;padding:16px!important;border:1px solid #f0dfe1!important;border-top:0!important;border-radius:0 0 11px 11px!important;background:#fff!important;}
html body .openlib_search_advanced__field,
html body .openlib_search_advanced__dates>.from,
html body .openlib_search_advanced__dates>.to{padding:14px!important;border:1px solid #e7e9ee!important;border-radius:11px!important;background:#fcfcfd!important;}
html body .openlib_search_advanced__field input{height:42px!important;border-radius:9px!important;}
html body .openlib_search_advanced__dates{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
html body .openlib_search_advanced__dates fieldset{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;}
html body .openlib_search_advanced__dates legend{grid-column:1/-1!important;margin:0 0 8px!important;}
html body .openlib_search_advanced__dates label{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:5px!important;margin:0!important;font-size:10.5px!important;}
html body .openlib_search_advanced__dates select{height:40px!important;margin:0!important;padding:0 28px 0 9px!important;border-radius:9px!important;}

/* Password reset: centered, balanced, consistent with login/register. */
html body.pkp_page_login.pkp_op_lostPassword .pkp_structure_content,
html body.pkp_page_login.pkp_op_requestResetPassword .pkp_structure_content{width:min(720px,calc(100% - 40px))!important;max-width:720px!important;padding-top:40px!important;padding-bottom:46px!important;}
html body .page_lost_password.openlib_auth_card{width:100%!important;margin:0 auto!important;padding:30px 34px 34px!important;border:1px solid #e7e9ee!important;border-top:4px solid var(--ol43-red)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 32px rgba(35,42,54,.065)!important;}
html body .openlib_auth_card__heading{margin:0 0 22px!important;}
html body .openlib_auth_card__eyebrow{display:inline-flex!important;margin-bottom:5px!important;color:var(--ol43-red-strong)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.08em!important;text-transform:uppercase!important;}
html body .openlib_auth_card__heading h1{margin:0 0 7px!important;font-size:29px!important;}
html body .openlib_auth_card__heading p{margin:0!important;color:var(--ol43-muted)!important;font-size:13px!important;}
html body .page_lost_password form{margin:0!important;}
html body .openlib_reset_fields{display:grid!important;gap:18px!important;}
html body .openlib_reset_fields .email label{display:block!important;margin-bottom:7px!important;color:#344054!important;font-size:12.5px!important;font-weight:750!important;}
html body .openlib_reset_fields input[type="email"]{width:100%!important;height:48px!important;margin:0!important;padding:0 14px!important;border:1px solid #d5dbe4!important;border-radius:11px!important;background:#fff!important;color:#243044!important;box-shadow:none!important;}
html body .openlib_reset_fields input[type="email"]:focus{border-color:var(--ol43-red)!important;outline:0!important;box-shadow:0 0 0 3px rgba(217,43,54,.10)!important;}
html body .openlib_reset_actions{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:10px!important;margin-top:2px!important;}
html body .openlib_reset_actions .submit,
html body .openlib_reset_actions .register,
html body .openlib_reset_actions .openlib_back_login{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:0 16px!important;border-radius:10px!important;font-size:12.5px!important;font-weight:800!important;}
html body .openlib_reset_actions .submit{border:1px solid var(--ol43-red)!important;background:var(--ol43-red)!important;color:#fff!important;}
html body .openlib_reset_actions .register,
html body .openlib_reset_actions .openlib_back_login{border:1px solid #efc4c8!important;background:#fff!important;color:var(--ol43-red-strong)!important;}

/* Register validation and field rhythm */
html body .openlib_validation_error{display:block!important;margin-top:6px!important;color:#b4232e!important;font-size:11.5px!important;font-weight:700!important;line-height:1.35!important;}
html body input.openlib_invalid,
html body select.openlib_invalid,
html body textarea.openlib_invalid{border-color:#d92b36!important;box-shadow:0 0 0 3px rgba(217,43,54,.09)!important;}

/* Dark mode equivalents preserve geometry. */
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_masthead,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_navbar,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .pkp_structure_sidebar .pkp_block,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .page_issue,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .page_issue_archive,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .page_article,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .page_about,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .page_contact,
html[data-openlib-color-mode="dark"] body .page_lost_password.openlib_auth_card,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__grid,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__field,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates>.from,
html[data-openlib-color-mode="dark"] body .openlib_search_advanced__dates>.to{background:#181e27!important;border-color:#313a47!important;color:#d7dde7!important;}
html[data-openlib-color-mode="dark"] body.openlib-journal-page .obj_issue_toc .section>h2,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .obj_issue_toc .section>h3{background:#2a2025!important;border-color:#5e3940!important;border-left-color:#e64a55!important;color:#ff9aa0!important;}
html[data-openlib-color-mode="dark"] body .openlib_reset_fields .email label,
html[data-openlib-color-mode="dark"] body .openlib_auth_card__heading h1{color:#f4f6f8!important;}
html[data-openlib-color-mode="dark"] body .openlib_reset_fields input[type="email"]{background:#151b23!important;border-color:#3b4553!important;color:#f4f6f8!important;}
html[data-openlib-color-mode="dark"] body .openlib_search_advanced summary{background:#241d21!important;border-color:#5f3d43!important;color:#ff9aa0!important;}

@media(max-width:900px){
  html body.openlib-journal-page .issues_archive{grid-template-columns:1fr!important;}
  html body .openlib_search_form__primary,
  html body .openlib_search_form__primary.has_journal_filter{grid-template-columns:minmax(0,1fr) 180px 145px!important;}
  html body .openlib_search_advanced__grid{grid-template-columns:1fr!important;}
}
@media(max-width:767px){
  html body.openlib-journal-page .openlib_journal_navbar__inner{align-items:stretch!important;flex-direction:column!important;gap:8px!important;padding-top:8px!important;padding-bottom:8px!important;}
  html body.openlib-journal-page .openlib_journal_nav{width:100%!important;overflow-x:auto!important;}
  html body.openlib-journal-page .openlib_journal_nav>ul,
  html body.openlib-journal-page .openlib_journal_nav .pkp_navigation_primary{flex-wrap:nowrap!important;white-space:nowrap!important;}
  html body.openlib-journal-page .openlib_journal_nav_actions{width:100%!important;margin:0!important;}
  html body.openlib-journal-page .openlib_journal_search{width:100%!important;}
  html body.openlib-journal-page .openlib_journal_profile{grid-template-columns:1fr!important;}
  html body.openlib-journal-page .openlib_journal_profile__media{max-width:180px!important;}
  html body .openlib_search_form__primary,
  html body .openlib_search_form__primary.has_journal_filter,
  html body .openlib_search_form__primary:not(.has_journal_filter){grid-template-columns:1fr!important;}
  html body .openlib_search_advanced__dates{grid-template-columns:1fr!important;}
  html body .openlib_search_advanced__dates fieldset{grid-template-columns:1fr!important;}
  html body .openlib_search_advanced__dates legend{grid-column:1!important;}
  html body .page_lost_password.openlib_auth_card{padding:24px 18px 26px!important;}
}
