/* Open Library final current hotfix: portal sticky search, journal back link,
   cropped journal banner, 2-column publication grid, and page range beside PDF. */
:root{
  --openlib-red:#DC2626;
  --openlib-red-dark:#B91C1C;
  --openlib-red-soft:#FFF1F2;
  --openlib-site-header-height:96px;
}

/* ===== Portal: keep search panel visible below the sticky header ===== */
html body.openlib-site-index .openlib_search_panel--primary{
  position:sticky !important;
  top:calc(var(--openlib-site-header-height, 96px) + 10px) !important;
  z-index:1220 !important;
  background:rgba(255,255,255,.97) !important;
  box-shadow:0 8px 24px rgba(15,23,42,.08) !important;
  -webkit-backdrop-filter:blur(10px) !important;
  backdrop-filter:blur(10px) !important;
}
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_search_panel--primary{
  background:rgba(17,24,39,.97) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.25) !important;
}

/* Portal cards: hard-force 2 columns on desktop. */
html body.openlib-site-index #openlib-journals > ul.openlib_journal_grid,
html body.openlib-site-index .journals > ul.openlib_journal_grid,
html body.openlib-site-index ul.openlib_journal_grid.openlib_journal_grid--two{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
  width:100% !important;
}
html body.openlib-site-index ul.openlib_journal_grid > li.openlib_journal_card{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  flex:none !important;
}
@media(max-width:860px){
  html body.openlib-site-index #openlib-journals > ul.openlib_journal_grid,
  html body.openlib-site-index .journals > ul.openlib_journal_grid,
  html body.openlib-site-index ul.openlib_journal_grid.openlib_journal_grid--two{
    grid-template-columns:1fr !important;
  }
}

/* ===== Journal header: Back to Publications sits ABOVE journal title ===== */
html body.openlib-journal-page .openlib_journal_header__identity_inner{
  align-items:center !important;
}
html body.openlib-journal-page .openlib_journal_identity_stack{
  display:flex !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:8px !important;
  padding:15px 0 16px !important;
}
html body.openlib-journal-page .openlib_back_publications{
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  min-height:30px !important;
  padding:5px 9px !important;
  border:1px solid #FECACA !important;
  border-radius:8px !important;
  background:#FFF7F7 !important;
  color:#B91C1C !important;
  font-size:11.5px !important;
  line-height:1.1 !important;
  font-weight:750 !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
html body.openlib-journal-page .openlib_back_publications:hover,
html body.openlib-journal-page .openlib_back_publications:focus{
  border-color:#FCA5A5 !important;
  background:#FFF1F2 !important;
  color:#991B1B !important;
  outline:0 !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.10) !important;
}
html body.openlib-journal-page .openlib_journal_brand{
  width:100% !important;
}
html body.openlib-journal-page .openlib_journal_brand__title{
  display:inline-block !important;
}
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_back_publications{
  border-color:#7F1D1D !important;
  background:#241416 !important;
  color:#FCA5A5 !important;
}

/* ===== Journal banner: crop only the uploaded image edge so an embedded black frame is hidden ===== */
html body.openlib-journal-page .openlib_journal_profile__cover{
  overflow:hidden !important;
  padding:0 !important;
  border:2px solid var(--openlib-red) !important;
  background:#fff !important;
}
html body.openlib-journal-page .openlib_journal_profile__cover img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  object-fit:cover !important;
  object-position:center !important;
  clip-path:inset(3px) !important;
  transform:scale(1.018) !important;
  transform-origin:center !important;
}

/* ===== Article summary: author stays in metadata; page range sits beside PDF/gallery buttons ===== */
html body.openlib-journal-page .obj_article_summary .meta .pages,
html body.openlib-journal-page .obj_article_summary .meta > .pages{
  display:none !important;
}
html body.openlib-journal-page .obj_article_summary .galleys_links{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:8px !important;
  margin:10px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}
html body.openlib-journal-page .obj_article_summary .galleys_links > li{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
html body.openlib-journal-page .obj_article_summary .galleys_links > li::marker{
  content:"" !important;
}
html body.openlib-journal-page .obj_article_summary .openlib_article_pages_action .pages{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  min-height:35px !important;
  padding:7px 11px !important;
  border:1px solid #FCA5A5 !important;
  border-radius:7px !important;
  background:#FFF1F2 !important;
  color:#B91C1C !important;
  font-size:11.5px !important;
  line-height:1 !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
html body.openlib-journal-page .obj_article_summary .openlib_article_pages_action .pages .fa{
  color:#DC2626 !important;
  font-size:10.5px !important;
}
html[data-openlib-color-mode="dark"] body.openlib-journal-page .obj_article_summary .openlib_article_pages_action .pages{
  border-color:#7F1D1D !important;
  background:#241416 !important;
  color:#FCA5A5 !important;
}

/* Keep input focus treatment consistently red. */
html body input:not([type="checkbox"]):not([type="radio"]):focus,
html body input:not([type="checkbox"]):not([type="radio"]):focus-visible,
html body select:focus,
html body select:focus-visible,
html body textarea:focus,
html body textarea:focus-visible{
  border-color:#DC2626 !important;
  outline:0 !important;
  box-shadow:0 0 0 3px rgba(220,38,38,.14) !important;
}

@media(max-width:700px){
  html body.openlib-journal-page .openlib_journal_identity_stack{
    padding:11px 0 12px !important;
    gap:6px !important;
  }
  html body.openlib-site-index .openlib_search_panel--primary{
    top:calc(var(--openlib-site-header-height, 88px) + 6px) !important;
  }
}
