/* Open Library Publications — Red Clean System — 2026-08-28 v1
 * Visual layer loaded after v20.
 * Goal: dominant Tel-U red, clean/minimal layout, strong readability.
 * Dashed rule is used ONLY between journal-card content and card actions.
 */

:root{
  --olc-red-950:#741019;
  --olc-red-900:#8e141e;
  --olc-red-800:#a91823;
  --olc-red-700:#c51f2a;
  --olc-red-600:#dc2833;
  --olc-red-500:#ed3c47;
  --olc-red-100:#ffe6e9;
  --olc-red-50:#fff5f6;
  --olc-ink:#111827;
  --olc-text:#364152;
  --olc-muted:#667085;
  --olc-line:#e7dfe1;
  --olc-page:#f7f8fa;
  --olc-card:#fff;
  --olc-shell:1240px;
  --olc-r:18px;
  --olc-shadow:0 14px 36px rgba(80,22,28,.075);
  --olc-shadow-soft:0 7px 20px rgba(50,25,28,.055);
  --olc-red-gradient:linear-gradient(112deg,#8b111b 0%,#bd1d28 50%,#e43843 100%);
}

/* --------------------------------------------------------------------------
   1. FOUNDATION
   -------------------------------------------------------------------------- */
html,body{overflow-x:hidden!important;}
html body{
  color:var(--olc-text)!important;
  background:
    radial-gradient(circle at 94% 2%,rgba(220,40,51,.065),transparent 28rem),
    linear-gradient(180deg,#fbfbfc 0%,var(--olc-page) 100%)!important;
  font-size:15px!important;
  line-height:1.65!important;
}
html body .pkp_structure_page{min-height:100vh!important;background:transparent!important;}
html body .pkp_structure_content{
  width:min(var(--olc-shell),calc(100% - 64px))!important;
  max-width:var(--olc-shell)!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
html body h1,html body h2,html body h3,html body h4,
html body .openlib_site_brand__text strong,
html body .openlib_journal_brand__title{
  color:var(--olc-ink)!important;
  letter-spacing:-.025em!important;
}
html body a{color:var(--olc-red-700)!important;}
html body a:hover{color:var(--olc-red-900)!important;}
html body ::placeholder{color:#7a8597!important;opacity:1!important;}
html body input,html body select,html body textarea,html body button{font-family:inherit!important;}
html body input,html body select,html body textarea{box-sizing:border-box!important;}

/* No stray dashed rails around layouts/cards. */
html body .openlib_journal_tools,
html body .openlib_journal_card,
html body .openlib_journal_header__navrow,
html body .openlib_search_results_header,
html body .openlib_current_issue_panel,
html body .openlib_additional_content_panel,
html body .pkp_structure_footer_wrapper{
  border-style:solid!important;
}

/* --------------------------------------------------------------------------
   2. SITE + JOURNAL HEADER
   -------------------------------------------------------------------------- */
html body .openlib_site_header,
html body .openlib_journal_header{
  background:transparent!important;
  border:0!important;
  box-shadow:0 6px 22px rgba(73,16,21,.055)!important;
}
html body .openlib_site_header__utility,
html body .openlib_journal_header__utility,
html[data-openlib-color-mode="dark"] body .openlib_site_header__utility,
html[data-openlib-color-mode="dark"] body .openlib_journal_header__utility{
  padding:8px 0!important;
  border:0!important;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 24px),
    var(--olc-red-gradient)!important;
  color:#fff!important;
}
html body .openlib_site_header__utility_inner,
html body .openlib_journal_header__utility_inner,
html body .openlib_site_header__main_inner,
html body .openlib_site_shell,
html body .openlib_journal_shell{
  width:min(var(--olc-shell),calc(100% - 64px))!important;
  max-width:var(--olc-shell)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .openlib_site_header__utility_inner,
html body .openlib_journal_header__utility_inner{
  min-height:36px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
}
html body .openlib_site_header__right,
html body .openlib_journal_header__account{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:auto!important;
}

/* One neat account capsule: dark/light + login + register. */
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:0!important;
  min-height:38px!important;
  padding:3px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:13px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 7px 18px rgba(85,8,14,.16)!important;
  overflow:hidden!important;
}
html body .openlib_account_cluster--guest > .openlib_color_mode_toggle,
html body .openlib_account_cluster--guest > .openlib_auth_switch__item{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  border:0!important;
  border-radius:9px!important;
  box-shadow:none!important;
  line-height:1!important;
  text-decoration:none!important;
}
html body .openlib_account_cluster--guest > .openlib_color_mode_toggle{
  width:34px!important;
  min-width:34px!important;
  padding:0!important;
  background:#fff5f6!important;
  color:var(--olc-red-800)!important;
  font-size:13px!important;
}
html body .openlib_account_cluster--guest > .openlib_color_mode_toggle:before,
html body .openlib_account_cluster--guest > .openlib_color_mode_toggle:after{display:none!important;content:none!important;}
html body .openlib_account_cluster--guest > .openlib_auth_switch__item{
  padding:0 15px!important;
  background:transparent!important;
  color:#7c1a22!important;
  font-size:12px!important;
  font-weight:800!important;
}
html body .openlib_account_cluster--guest > .openlib_auth_switch__item--register,
html body .openlib_account_cluster--guest > .openlib_auth_switch__item.is-active{
  background:linear-gradient(135deg,#b81924,#dc2934)!important;
  color:#fff!important;
  box-shadow:0 4px 10px rgba(156,20,29,.18)!important;
}
html body.pkp_page_login .openlib_account_cluster--guest > .openlib_auth_switch__item--login{
  background:linear-gradient(135deg,#b81924,#dc2934)!important;
  color:#fff!important;
}
html body.pkp_page_login .openlib_account_cluster--guest > .openlib_auth_switch__item--register{
  background:transparent!important;
  color:#7c1a22!important;
  box-shadow:none!important;
}
html body .openlib_account_cluster--guest > * + *:before{
  position:absolute!important;
  left:-2px!important;
  top:8px!important;
  bottom:8px!important;
  width:1px!important;
  content:""!important;
  background:#efd5d8!important;
}
html body .openlib_account_cluster--guest > .is-active:before,
html body .openlib_account_cluster--guest > .openlib_auth_switch__item--register:before{display:none!important;}

html body .openlib_site_header__main{
  border:0!important;
  border-bottom:1px solid #ecdde0!important;
  background:rgba(255,255,255,.97)!important;
}
html body .openlib_site_header__main_inner{
  min-height:72px!important;
  display:flex!important;
  align-items:center!important;
  gap:20px!important;
}
html body .openlib_site_brand__text{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  text-decoration:none!important;
}
html body .openlib_site_brand__mark--signal{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  gap:4px!important;
  width:40px!important;
  height:40px!important;
  padding:0!important;
  border-radius:12px!important;
  background:var(--olc-red-gradient)!important;
  box-shadow:0 9px 22px rgba(167,24,34,.20)!important;
}
html body .openlib_site_brand__mark--signal:before,
html body .openlib_site_brand__mark--signal:after{display:none!important;content:none!important;}
html body .openlib_site_brand__mark--signal > span{
  display:block!important;
  height:2px!important;
  margin:0!important;
  border-radius:99px!important;
  background:#fff!important;
}
html body .openlib_site_brand__mark--signal > span:nth-child(1){width:19px!important;}
html body .openlib_site_brand__mark--signal > span:nth-child(2){width:14px!important;opacity:.88!important;}
html body .openlib_site_brand__mark--signal > span:nth-child(3){width:9px!important;opacity:.70!important;}
html body .openlib_site_brand__text strong{font-size:18px!important;font-weight:850!important;line-height:1.2!important;}

/* --------------------------------------------------------------------------
   3. PORTAL HOME + SEARCH
   -------------------------------------------------------------------------- */
html body.openlib-site-index .pkp_structure_content{padding-top:30px!important;padding-bottom:58px!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_panel--primary,
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_search_panel--primary,
html[data-openlib-color-mode="dark"] body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
  position:relative!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  padding:12px!important;
  border:1px solid #b91c27!important;
  border-radius:18px!important;
  background:
    repeating-linear-gradient(132deg,rgba(255,255,255,.035) 0 1px,transparent 1px 24px),
    linear-gradient(105deg,#86111a 0%,#bd1d28 54%,#df3843 100%)!important;
  box-shadow:0 15px 34px rgba(106,13,21,.18)!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,
html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px 166px!important;
  gap:10px!important;
  align-items:center!important;
  width:100%!important;
  margin:0!important;
}
html body.openlib-site-index .openlib_discovery__query{
  position:relative!important;
  display:block!important;
  height:52px!important;
  min-width:0!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.62)!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
html body.openlib-site-index .openlib_discovery__query > .fa{
  position:absolute!important;
  left:17px!important;
  top:50%!important;
  z-index:2!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--olc-red-700)!important;
  font-size:14px!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
}
html body.openlib-site-index .openlib_discovery__query input[type="search"]{
  width:100%!important;
  height:50px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 16px 0 48px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#2f394a!important;
  font-size:14px!important;
  line-height:50px!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{
  box-sizing:border-box!important;
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  min-width:0!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.64)!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#343c4c!important;
  box-shadow:none!important;
}
html body.openlib-site-index .openlib_discovery__form > select{padding:0 42px 0 15px!important;font-size:13.5px!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 16px!important;
  color:var(--olc-red-800)!important;
  font-size:13px!important;
  font-weight:900!important;
}
html body.openlib-site-index .openlib_discovery__form > button .fa{
  position:static!important;
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  line-height:1!important;
}
html body.openlib-site-index .openlib_discovery__form > button:hover{background:#fff2f3!important;color:#86111a!important;}
html body.openlib-site-index .openlib_discovery__meta{display:none!important;}

/* floating state keeps same dimensions and visual proportions */
html body.openlib-site-index.openlib-search-is-fixed .openlib_search_panel--primary{
  z-index:1200!important;
  margin:0!important;
}

/* Browse heading: no dashed box. */
html body.openlib-site-index .openlib_journal_section{margin-top:38px!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 16px!important;
  border:0!important;
  border-bottom:1px solid #ead8db!important;
  background:transparent!important;
  outline:0!important;
  box-shadow:none!important;
}
html body.openlib-site-index .openlib_journal_tools__heading{min-width:0!important;}
html body.openlib-site-index .openlib_journal_tools__eyebrow{
  color:var(--olc-red-700)!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
}
html body.openlib-site-index .openlib_journal_tools h2{margin:3px 0 2px!important;font-size:30px!important;line-height:1.15!important;}
html body.openlib-site-index .openlib_journal_count{margin:0!important;color:var(--olc-muted)!important;font-size:13px!important;}

/* Publication filter: simple icon, generous text inset, no fake inner border. */
html body.openlib-site-index .openlib_journal_filter{
  position:relative!important;
  display:block!important;
  box-sizing:border-box!important;
  width:292px!important;
  min-width:292px!important;
  height:48px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid #e0a7ad!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 5px 15px rgba(95,23,29,.045)!important;
}
html body.openlib-site-index .openlib_journal_filter > .fa{
  position:absolute!important;
  left:16px!important;
  top:50%!important;
  z-index:2!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--olc-red-700)!important;
  font-size:12px!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
}
html body.openlib-site-index .openlib_journal_filter > .fa:after,
html body.openlib-site-index .openlib_journal_filter > .fa:before{box-shadow:none!important;}
html body.openlib-site-index .openlib_journal_filter input{
  box-sizing:border-box!important;
  width:100%!important;
  height:46px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 16px 0 44px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#344054!important;
  font-size:13.5px!important;
  line-height:46px!important;
  box-shadow:none!important;
  outline:0!important;
}
html body.openlib-site-index .openlib_journal_filter:focus-within{border-color:var(--olc-red-500)!important;box-shadow:0 0 0 3px rgba(220,40,51,.09)!important;}

/* --------------------------------------------------------------------------
   4. JOURNAL CARDS — ONLY THE CONTENT/ACTION SEPARATOR IS DASHED
   -------------------------------------------------------------------------- */
html body.openlib-site-index .openlib_journal_grid{gap:20px!important;margin-top:18px!important;}
html body.openlib-site-index .openlib_journal_card{
  position:relative!important;
  overflow:hidden!important;
  border:1px solid #eadfe1!important;
  border-radius:18px!important;
  background:#fff!important;
  outline:0!important;
  box-shadow:var(--olc-shadow-soft)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!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;
  border:0!important;
  background:linear-gradient(90deg,#8d121b,#c91f2b 60%,#ef5a63)!important;
}
html body.openlib-site-index .openlib_journal_card:after{display:none!important;content:none!important;}
html body.openlib-site-index .openlib_journal_card:hover{transform:translateY(-2px)!important;border-color:#e4b7bc!important;box-shadow:0 16px 34px rgba(69,25,29,.085)!important;}
html body.openlib-site-index .openlib_journal_main{padding:18px!important;}
html body.openlib-site-index .openlib_journal_media img{border-radius:11px!important;}
html body.openlib-site-index .openlib_journal_content h3 a{color:#171c27!important;font-size:15px!important;font-weight:850!important;line-height:1.35!important;}
html body.openlib-site-index .openlib_journal_slug{
  display:inline-flex!important;
  margin:6px 0 7px!important;
  padding:3px 8px!important;
  border:1px solid #f0c4c8!important;
  border-radius:999px!important;
  background:#fff6f7!important;
  color:var(--olc-red-700)!important;
  font-size:11px!important;
  font-weight:750!important;
}
html body.openlib-site-index .openlib_journal_content .description{color:#4c596c!important;font-size:13px!important;line-height:1.65!important;}
html body.openlib-site-index .openlib_journal_footer{
  padding:11px 18px 13px!important;
  border:0!important;
  border-top:1px dashed #dfafb4!important;
  background:#fffafa!important;
}
html body.openlib-site-index .openlib_journal_actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
  margin:0!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:38px!important;
  margin:0!important;
  border:1px solid #df9fa6!important;
  border-radius:10px!important;
  background:#fff3f4!important;
  color:#971721!important;
  font-size:12px!important;
  font-weight:850!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
html body.openlib-site-index .openlib_journal_actions .home a,
html body.openlib-site-index .openlib_journal_actions .current a{border-color:#df9fa6!important;background:#fff3f4!important;color:#971721!important;}
html body.openlib-site-index .openlib_journal_actions a .fa{
  position:static!important;
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  font-size:11px!important;
  line-height:1!important;
}
html body.openlib-site-index .openlib_journal_actions a:hover,
html body.openlib-site-index .openlib_journal_actions a:focus{
  border-color:var(--olc-red-700)!important;
  background:linear-gradient(135deg,#b91b26,#dc2934)!important;
  color:#fff!important;
}

/* --------------------------------------------------------------------------
   5. SEARCH PAGE / RESULTS
   -------------------------------------------------------------------------- */
html body.openlib-site-page .openlib_search_page{width:100%!important;max-width:none!important;margin:0!important;padding:34px 0 54px!important;}
html body .openlib_search_page__heading{margin:0 0 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(--olc-muted)!important;font-size:13.5px!important;}
html body .openlib_search_form{
  margin:0 0 30px!important;
  padding:13px!important;
  overflow:hidden!important;
  border:1px solid #c42a35!important;
  border-radius:18px!important;
  background:var(--olc-red-gradient)!important;
  box-shadow:0 14px 34px rgba(99,13,20,.15)!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 150px!important;gap:10px!important;align-items:center!important;}
html body .openlib_search_form__query,
html body .openlib_search_form__journal{position:relative!important;display:block!important;overflow:hidden!important;border:1px solid rgba(255,255,255,.62)!important;border-radius:12px!important;background:#fff!important;box-shadow:none!important;}
html body .openlib_search_form__query > .fa{position:absolute!important;left:16px!important;top:50%!important;z-index:2!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important;color:var(--olc-red-700)!important;line-height:1!important;transform:translateY(-50%)!important;}
html body .openlib_search_form__query input{width:100%!important;height:48px!important;padding:0 16px 0 46px!important;border:0!important;background:#fff!important;color:#30394a!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:#30394a!important;box-shadow:none!important;}
html body .openlib_search_form__submit{height:50px!important;border:1px solid rgba(255,255,255,.66)!important;border-radius:12px!important;background:#fff!important;color:var(--olc-red-800)!important;font-size:13px!important;font-weight:900!important;box-shadow:none!important;}
html body .openlib_search_form__submit .fa{position:static!important;margin:0 7px 0 0!important;background:transparent!important;color:inherit!important;}
html body .openlib_search_advanced{margin-top:10px!important;border:1px solid rgba(255,255,255,.26)!important;border-radius:11px!important;background:rgba(255,255,255,.09)!important;color:#fff!important;}
html body .openlib_search_advanced summary{padding:10px 12px!important;color:#fff!important;font-size:12.5px!important;font-weight:800!important;}
html body .openlib_search_results_header{padding-bottom:12px!important;border:0!important;border-bottom:1px solid #ead5d8!important;}
html body .openlib_search_results_count{border:1px solid #efb2b8!important;border-radius:10px!important;background:#fff5f6!important;color:var(--olc-red-800)!important;font-weight:800!important;}
html body .openlib_search_results > li{margin-bottom:12px!important;overflow:hidden!important;border:1px solid #eadfe1!important;border-left:4px solid var(--olc-red-700)!important;border-radius:14px!important;background:#fff!important;box-shadow:var(--olc-shadow-soft)!important;}

/* --------------------------------------------------------------------------
   6. LOGIN + REGISTER — SAME SYSTEM
   -------------------------------------------------------------------------- */
html body.openlib-site-page.pkp_page_login .pkp_structure_content,
html body.openlib-site-page.pkp_page_user.pkp_op_register .pkp_structure_content{
  width:min(1120px,calc(100% - 64px))!important;
  max-width:1120px!important;
  padding-top:42px!important;
  padding-bottom:56px!important;
}
html body.openlib-site-page.pkp_page_login .pkp_structure_main,
html body.openlib-site-page.pkp_page_user.pkp_op_register .pkp_structure_main{width:100%!important;}
html body.openlib-site-page .page_login,
html body.openlib-site-page .page_register{
  position:relative!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  border:1px solid #e4c9cd!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 100% 0%,rgba(220,40,51,.085),transparent 23rem),
    #fff!important;
  box-shadow:0 20px 48px rgba(77,19,24,.09)!important;
}
html body.openlib-site-page .page_login:before,
html body.openlib-site-page .page_register:before{
  position:absolute!important;
  top:0!important;
  left:0!important;
  right:0!important;
  height:5px!important;
  content:""!important;
  background:var(--olc-red-gradient)!important;
}
html body.openlib-site-page .page_login{width:min(650px,100%)!important;max-width:650px!important;margin:0 auto!important;padding:40px 44px 44px!important;}
html body.openlib-site-page .page_register{width:min(1040px,100%)!important;max-width:1040px!important;margin:0 auto!important;padding:38px 40px 42px!important;}
html body.openlib-site-page .page_login > h1,
html body.openlib-site-page .page_register > h1{margin-top:0!important;color:var(--olc-ink)!important;font-size:30px!important;line-height:1.15!important;}
html body.openlib-site-page .page_login > p,
html body.openlib-site-page .page_register > p,
html body.openlib-site-page .page_login .required_label,
html body.openlib-site-page .page_register .required_label{color:var(--olc-muted)!important;font-size:12.5px!important;}
html body.openlib-site-page .page_login input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
html body.openlib-site-page .page_register input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
html body.openlib-site-page .page_register select,
html body.openlib-site-page .page_register textarea{
  min-height:48px!important;
  padding-left:15px!important;
  padding-right:15px!important;
  border:1px solid #d6dce5!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#273044!important;
  box-shadow:none!important;
}
html body.openlib-site-page .page_login input:focus,
html body.openlib-site-page .page_register input:focus,
html body.openlib-site-page .page_register select:focus,
html body.openlib-site-page .page_register textarea:focus{border-color:var(--olc-red-500)!important;box-shadow:0 0 0 3px rgba(220,40,51,.08)!important;outline:0!important;}
html body.openlib-site-page .page_register fieldset{
  margin-top:20px!important;
  padding:22px 20px 20px!important;
  border:1px solid #ead9dc!important;
  border-radius:15px!important;
  background:#fffafa!important;
}
html body.openlib-site-page .page_register fieldset > legend{
  padding:5px 10px!important;
  border:1px solid #edc3c7!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#8e1821!important;
  font-size:12px!important;
  font-weight:850!important;
}
html body.openlib-site-page .page_login .buttons,
html body.openlib-site-page .page_register .buttons{gap:10px!important;}
html body.openlib-site-page .page_login .buttons button,
html body.openlib-site-page .page_login .buttons a,
html body.openlib-site-page .page_register .buttons button,
html body.openlib-site-page .page_register input[type="submit"]{min-height:44px!important;border-radius:10px!important;font-weight:850!important;}

/* --------------------------------------------------------------------------
   7. JOURNAL PAGES
   -------------------------------------------------------------------------- */
html body.openlib-journal-page .openlib_journal_header__identity{
  border:0!important;
  border-bottom:1px solid #ead8db!important;
  background:linear-gradient(100deg,#fff 0%,#fff 65%,#fff3f4 100%)!important;
}
html body.openlib-journal-page .openlib_journal_header__identity_inner{padding-top:20px!important;padding-bottom:20px!important;}
html body.openlib-journal-page .openlib_back_publications{display:inline-flex!important;align-items:center!important;gap:7px!important;padding:7px 10px!important;border:1px solid #efbcc1!important;border-radius:9px!important;background:#fff7f8!important;color:var(--olc-red-700)!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;}
html body.openlib-journal-page .openlib_back_publications .fa{position:static!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;background:transparent!important;color:inherit!important;line-height:1!important;}
html body.openlib-journal-page .openlib_journal_brand__title{margin-top:8px!important;font-size:30px!important;font-weight:900!important;line-height:1.18!important;}
html body.openlib-journal-page .openlib_journal_header__navrow{
  border:0!important;
  border-bottom:1px solid #e8d9dc!important;
  background:#fff!important;
  box-shadow:0 5px 16px rgba(60,18,22,.035)!important;
}
html body.openlib-journal-page .openlib_journal_header__navrow_inner{min-height:54px!important;}
html body.openlib-journal-page .openlib_journal_nav a{color:#344054!important;font-size:13px!important;font-weight:750!important;}
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_nav a:hover{color:var(--olc-red-700)!important;}
html body.openlib-journal-page .openlib_journal_nav a[aria-current="page"]:after,
html body.openlib-journal-page .openlib_journal_nav .current > a:after{height:3px!important;border-radius:99px!important;background:var(--olc-red-gradient)!important;}
html body.openlib-journal-page .pkp_structure_content{padding-top:28px!important;padding-bottom:50px!important;}
html body.openlib-journal-page .openlib_journal_profile.openlib_journal_profile--banner{
  display:grid!important;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:26px!important;
  align-items:center!important;
  margin:0 0 28px!important;
  padding:24px!important;
  overflow:hidden!important;
  border:1px solid #b91e29!important;
  border-radius:20px!important;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.032) 0 1px,transparent 1px 25px),
    var(--olc-red-gradient)!important;
  box-shadow:0 17px 40px rgba(99,13,20,.17)!important;
}
html body.openlib-journal-page .openlib_journal_profile__cover{height:170px!important;overflow:hidden!important;border:4px solid rgba(255,255,255,.92)!important;border-radius:13px!important;background:#fff!important;box-shadow:0 9px 24px rgba(67,6,11,.17)!important;}
html body.openlib-journal-page .openlib_journal_profile__cover img{width:100%!important;height:100%!important;object-fit:contain!important;background:#fff!important;}
html body.openlib-journal-page .openlib_journal_profile__body h1,
html body.openlib-journal-page .openlib_journal_profile__body h2,
html body.openlib-journal-page .openlib_journal_profile__description,
html body.openlib-journal-page .openlib_journal_profile__description p,
html body.openlib-journal-page .openlib_journal_profile__description a{color:#fff!important;}
html body.openlib-journal-page .openlib_journal_profile__body h1{font-size:30px!important;line-height:1.2!important;}
html body.openlib-journal-page .openlib_journal_profile__description{opacity:.94!important;font-size:13.5px!important;line-height:1.7!important;}
html body.openlib-journal-page .openlib_current_issue_panel,
html body.openlib-journal-page .openlib_additional_content_panel{
  position:relative!important;
  overflow:hidden!important;
  margin-top:22px!important;
  padding:26px!important;
  border:1px solid #e9dfe1!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--olc-shadow-soft)!important;
}
html body.openlib-journal-page .openlib_current_issue_panel:before,
html body.openlib-journal-page .openlib_additional_content_panel:before{position:absolute!important;top:0!important;left:0!important;right:0!important;height:4px!important;content:""!important;background:var(--olc-red-gradient)!important;}
html body.openlib-journal-page .obj_article_summary,
html body.openlib-journal-page .obj_issue_summary,
html body.openlib-journal-page .obj_announcement_summary{border-color:#eadfe1!important;}
html body.openlib-journal-page .obj_galley_link{border-color:#d59299!important;border-radius:9px!important;background:#fff4f5!important;color:#961720!important;}

/* Generic article/archive/about pages */
html body.openlib-site-page .pkp_structure_main > .page:not(.page_index_site):not(.page_search):not(.page_login):not(.page_register),
html body.openlib-journal-page .pkp_structure_main > .page:not(.page_index_journal){
  box-sizing:border-box!important;
  margin:30px auto 48px!important;
  padding:30px 32px!important;
  border:1px solid #e8dfe1!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--olc-shadow-soft)!important;
}

/* --------------------------------------------------------------------------
   8. FOOTER — RED, NOT BLACK
   -------------------------------------------------------------------------- */
html body .pkp_structure_footer_wrapper.openlib_site_footer,
html body .pkp_structure_footer_wrapper.openlib_journal_footer_global,
html[data-openlib-color-mode="dark"] body .pkp_structure_footer_wrapper.openlib_site_footer,
html[data-openlib-color-mode="dark"] body .pkp_structure_footer_wrapper.openlib_journal_footer_global{
  position:relative!important;
  overflow:hidden!important;
  border:0!important;
  border-top:1px solid #7f1119!important;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 24px),
    linear-gradient(105deg,#7c1018 0%,#a91823 48%,#cc2732 100%)!important;
  color:#fff!important;
}
html body .openlib_site_footer__inner,
html body .openlib_site_footer__bottom,
html body .openlib_site_footer__custom,
html body .openlib_journal_footer_global .pkp_structure_footer{width:min(var(--olc-shell),calc(100% - 64px))!important;max-width:var(--olc-shell)!important;margin-left:auto!important;margin-right:auto!important;}
html body .openlib_site_footer__inner{padding-top:25px!important;padding-bottom:18px!important;}
html body .openlib_site_footer__brand_text strong,
html body .openlib_site_footer__brand_text span,
html body .openlib_site_footer__links a,
html body .openlib_journal_footer_global__meta,
html body .openlib_journal_footer_global__meta a{color:#fff!important;}
html body .openlib_site_footer__links a,
html body .openlib_journal_footer_global__meta a{opacity:.88!important;text-decoration:none!important;}
html body .openlib_site_footer__links a:hover,
html body .openlib_journal_footer_global__meta a:hover{opacity:1!important;text-decoration:underline!important;}
html body .openlib_site_footer__bottom{border-top:1px solid rgba(255,255,255,.17)!important;color:rgba(255,255,255,.82)!important;}
html body .openlib_journal_footer_global .pkp_structure_footer{padding:19px 0!important;}

/* --------------------------------------------------------------------------
   9. DARK MODE
   -------------------------------------------------------------------------- */
html[data-openlib-color-mode="dark"] body{
  color:#d6dbe5!important;
  background:linear-gradient(180deg,#11151d 0%,#141922 100%)!important;
}
html[data-openlib-color-mode="dark"] body .openlib_site_header__main,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_header__identity,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_header__navrow{border-color:#38313a!important;background:#171b23!important;}
html[data-openlib-color-mode="dark"] body .openlib_site_brand__text strong,
html[data-openlib-color-mode="dark"] body .openlib_journal_brand__title,
html[data-openlib-color-mode="dark"] body h1,
html[data-openlib-color-mode="dark"] body h2,
html[data-openlib-color-mode="dark"] body h3{color:#f7f8fb!important;}
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.openlib-journal-page .openlib_current_issue_panel,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_additional_content_panel,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_login,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register,
html[data-openlib-color-mode="dark"] body.openlib-site-page .pkp_structure_main > .page:not(.page_index_site):not(.page_search):not(.page_login):not(.page_register),
html[data-openlib-color-mode="dark"] body.openlib-journal-page .pkp_structure_main > .page:not(.page_index_journal){border-color:#39333b!important;background:#191d25!important;color:#d6dbe5!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_content h3 a{color:#f7f8fb!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_content .description{color:#c0c7d2!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_footer{border-top-color:#6f474d!important;background:#181c24!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_actions .home a,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_actions .current a{border-color:#74434a!important;background:#271b20!important;color:#ffb9bf!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter{border-color:#704149!important;background:#191d25!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_filter input{background:#191d25!important;color:#f4f6fa!important;}
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__form > select,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__form > button{border-color:#74434a!important;background:#191d25!important;color:#f7f8fb!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery__query input[type="search"]{background:#191d25!important;color:#f7f8fb!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register fieldset{border-color:#41343b!important;background:#171b22!important;}
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register fieldset > legend{border-color:#654047!important;background:#20242d!important;color:#ffc4c9!important;}

/* --------------------------------------------------------------------------
   10. RESPONSIVE
   -------------------------------------------------------------------------- */
@media (max-width:1024px){
  html body .pkp_structure_content,
  html body .openlib_site_header__utility_inner,
  html body .openlib_journal_header__utility_inner,
  html body .openlib_site_header__main_inner,
  html body .openlib_site_shell,
  html body .openlib_journal_shell,
  html body .openlib_site_footer__inner,
  html body .openlib_site_footer__bottom,
  html body .openlib_site_footer__custom,
  html body .openlib_journal_footer_global .pkp_structure_footer{width:min(100% - 40px,var(--olc-shell))!important;}
  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{grid-template-columns:minmax(0,1fr) 190px 150px!important;}
}
@media (max-width:767px){
  html body .pkp_structure_content,
  html body .openlib_site_header__utility_inner,
  html body .openlib_journal_header__utility_inner,
  html body .openlib_site_header__main_inner,
  html body .openlib_site_shell,
  html body .openlib_journal_shell,
  html body .openlib_site_footer__inner,
  html body .openlib_site_footer__bottom,
  html body .openlib_site_footer__custom,
  html body .openlib_journal_footer_global .pkp_structure_footer{width:calc(100% - 28px)!important;}
  html body .openlib_account_cluster--guest > .openlib_auth_switch__item{padding:0 11px!important;}
  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-index.openlib-search-is-fixed .openlib_discovery__form{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;min-width:0!important;}
  html body.openlib-site-index .openlib_journal_grid{grid-template-columns:1fr!important;}
  html body.openlib-site-page.pkp_page_login .pkp_structure_content,
  html body.openlib-site-page.pkp_page_user.pkp_op_register .pkp_structure_content{width:calc(100% - 28px)!important;padding-top:24px!important;padding-bottom:34px!important;}
  html body.openlib-site-page .page_login{padding:34px 20px 36px!important;}
  html body.openlib-site-page .page_register{padding:30px 20px 32px!important;}
  html body.openlib-journal-page .openlib_journal_profile.openlib_journal_profile--banner{grid-template-columns:1fr!important;gap:18px!important;padding:18px!important;}
  html body.openlib-journal-page .openlib_journal_profile__media{max-width:160px!important;}
  html body.openlib-journal-page .openlib_journal_profile__cover{height:150px!important;}
}
