/**
 * Open Library Theme — Soft Gradient Minimal 0828 v1
 * Modern, minimal, non-commercial editorial UI with restrained gradients.
 * Loaded last so it can safely normalize previous iterative styles.
 */

:root {
  --olm-red: #e5262a;
  --olm-red-deep: #bd1821;
  --olm-rose: #fff1f2;
  --olm-ink: #121826;
  --olm-text: #334155;
  --olm-muted: #64748b;
  --olm-line: #dbe2ea;
  --olm-line-soft: #e9edf2;
  --olm-canvas: #f5f7fa;
  --olm-surface: rgba(255,255,255,.90);
  --olm-surface-solid: #ffffff;
  --olm-shadow: 0 14px 34px rgba(15, 23, 42, .06);
  --olm-shadow-soft: 0 7px 22px rgba(15, 23, 42, .045);
  --olm-radius: 18px;
  --olm-radius-sm: 12px;
  --olm-shell: 1240px;
}

/* ===== Page canvas / sticky footer normalization ===== */
html,
body {
  min-height: 100%;
}

html body {
  color: var(--olm-text) !important;
  background:
    radial-gradient(circle at 7% 5%, rgba(239,68,68,.055), transparent 29rem),
    radial-gradient(circle at 92% 9%, rgba(148,163,184,.10), transparent 31rem),
    linear-gradient(180deg, #f8f9fb 0%, var(--olm-canvas) 48%, #f4f6f9 100%) !important;
  font-size: 15px !important;
}

html body .pkp_structure_page {
  display: flex !important;
  min-height: 100vh !important;
  flex-direction: column !important;
  background: transparent !important;
}

html body .pkp_structure_head {
  flex: 0 0 auto !important;
}

html body .pkp_structure_content {
  width: min(var(--olm-shell), calc(100% - 64px)) !important;
  max-width: var(--olm-shell) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  flex: 1 0 auto !important;
}

html body .pkp_structure_footer_wrapper {
  flex: 0 0 auto !important;
}

html body a {
  text-underline-offset: 3px;
}

/* ===== Typography ===== */
html body,
html body input,
html body select,
html body button,
html body textarea {
  color: var(--olm-text) !important;
}

html body h1,
html body h2,
html body h3,
html body h4,
html body strong,
html body .openlib_journal_title,
html body .openlib_site_brand strong,
html body .openlib_journal_brand__title {
  color: var(--olm-ink) !important;
}

html body p,
html body .openlib_journal_description,
html body .openlib_portal_intro__text,
html body .openlib_search_intro,
html body .openlib_journal_count,
html body .openlib_discovery__meta {
  color: var(--olm-text) !important;
}

html body ::placeholder {
  color: #7b8798 !important;
  opacity: 1 !important;
}

/* ===== Site header: glass-like but restrained ===== */
html body.openlib-site-page .openlib_site_header,
html body.openlib-site-index .openlib_site_header {
  position: relative !important;
  z-index: 60 !important;
  border-top: 3px solid transparent !important;
  border-bottom: 1px solid rgba(203,213,225,.78) !important;
  background:
    linear-gradient(#fff,#fff) padding-box,
    linear-gradient(90deg, #b91c1c 0%, #ef4444 48%, #fda4af 100%) border-box !important;
  box-shadow: 0 7px 25px rgba(15,23,42,.035) !important;
}

html body .openlib_site_header__utility {
  border-bottom: 1px solid #edf0f4 !important;
  background: linear-gradient(90deg, rgba(248,250,252,.94), rgba(255,247,248,.90)) !important;
}

html body .openlib_site_header__main {
  background: rgba(255,255,255,.88) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

html body .openlib_site_header__utility_inner,
html body .openlib_site_header__main_inner,
html body .openlib_site_shell,
html body .openlib_journal_shell {
  width: min(var(--olm-shell), calc(100% - 64px)) !important;
  max-width: var(--olm-shell) !important;
}

html body .openlib_color_mode_toggle {
  display: inline-flex !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 30px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 1px solid #d8dee8 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: #475569 !important;
  box-shadow: 0 2px 7px rgba(15,23,42,.025) !important;
}

html body .openlib_color_mode_toggle:hover {
  border-color: #fecaca !important;
  background: #fff7f7 !important;
  color: var(--olm-red) !important;
}

html body .openlib_site_header__account a,
html body .pkp_navigation_user a {
  color: #273449 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

html body .openlib_site_header__account a:hover,
html body .pkp_navigation_user a:hover {
  color: var(--olm-red) !important;
}

/* ===== Home intro / discovery ===== */
html body.openlib-site-index .pkp_structure_content {
  padding-top: 28px !important;
  padding-bottom: 48px !important;
}

html body.openlib-site-index .openlib_portal_intro {
  overflow: hidden !important;
  border: 1px solid rgba(214,220,229,.92) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,68,68,.07), transparent 24rem),
    linear-gradient(135deg, rgba(255,255,255,.95) 0%, rgba(250,251,253,.94) 58%, rgba(255,245,246,.94) 100%) !important;
  box-shadow: var(--olm-shadow-soft) !important;
}

html body.openlib-site-index .openlib_portal_intro:before {
  width: 4px !important;
  background: linear-gradient(180deg, #b91c1c 0%, #ef4444 55%, #fb7185 100%) !important;
}

html body.openlib-site-index .openlib_portal_intro__eyebrow,
html body.openlib-site-index .openlib_section_eyebrow {
  color: var(--olm-red) !important;
  letter-spacing: .075em !important;
}

html body.openlib-site-index .openlib_discovery,
html body.openlib-site-index .openlib_search_panel {
  border: 1px solid #efb9bd !important;
  border-radius: 18px !important;
  background:
    linear-gradient(110deg, rgba(255,255,255,.97) 0%, rgba(255,255,255,.95) 68%, rgba(255,244,245,.94) 100%) !important;
  box-shadow: 0 12px 30px rgba(185,28,28,.055) !important;
}

html body.openlib-site-index .openlib_discovery__form {
  grid-template-columns: minmax(0,1fr) 220px 160px !important;
  gap: 10px !important;
}

html body.openlib-site-index .openlib_discovery__form input[type="search"],
html body.openlib-site-index .openlib_discovery__form select,
html body.openlib-site-page .openlib_search_form__primary input,
html body.openlib-site-page .openlib_search_form__primary select,
html body.openlib-site-index .openlib_journal_filter input {
  box-sizing: border-box !important;
  height: 48px !important;
  border: 1px solid #ccd5e0 !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.94) !important;
  color: #243147 !important;
  font-size: 14px !important;
  box-shadow: none !important;
}

html body.openlib-site-index .openlib_discovery__form input[type="search"]:focus,
html body.openlib-site-index .openlib_discovery__form select:focus,
html body.openlib-site-page .openlib_search_form__primary input:focus,
html body.openlib-site-page .openlib_search_form__primary select:focus,
html body.openlib-site-index .openlib_journal_filter input:focus {
  border-color: #ef6c73 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.10) !important;
}

html body.openlib-site-index .openlib_discovery__form button,
html body.openlib-site-page .openlib_search_form__submit {
  min-height: 48px !important;
  border: 0 !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #e3262e 0%, #d91f28 100%) !important;
  color: #fff !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  box-shadow: 0 7px 17px rgba(220,38,38,.16) !important;
}

/* ===== Publication section / cards ===== */
html body.openlib-site-index .openlib_journal_tools {
  gap: 18px !important;
  padding-bottom: 13px !important;
  border-bottom: 1px solid #dce2e9 !important;
}

html body.openlib-site-index .openlib_journal_filter {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0,1fr) !important;
  width: 280px !important;
  min-width: 280px !important;
  height: 46px !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid #d7dee8 !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.82) !important;
  box-shadow: 0 4px 12px rgba(15,23,42,.025) !important;
}

html body.openlib-site-index .openlib_journal_filter > .fa {
  position: static !important;
  display: grid !important;
  width: 34px !important;
  height: 44px !important;
  place-items: center !important;
  border: 0 !important;
  background: transparent !important;
  color: #94a3b8 !important;
}

html body.openlib-site-index .openlib_journal_filter input {
  width: 100% !important;
  height: 44px !important;
  padding: 0 12px 0 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body.openlib-site-index .openlib_journal_filter:focus-within {
  border-color: #ef7b82 !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.09) !important;
}

html body.openlib-site-index .openlib_journal_grid {
  gap: 20px !important;
}

html body.openlib-site-index .openlib_journal_card {
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid #d9e0e8 !important;
  border-radius: 18px !important;
  background:
    linear-gradient(145deg, rgba(255,255,255,.96) 0%, rgba(250,251,253,.94) 72%, rgba(255,246,247,.88) 100%) !important;
  box-shadow: var(--olm-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 {
  height: 3px !important;
  background: linear-gradient(90deg, #b91c1c 0%, #ef4444 65%, #fb7185 100%) !important;
}

html body.openlib-site-index .openlib_journal_card:hover {
  transform: translateY(-2px) !important;
  border-color: #efc0c3 !important;
  box-shadow: 0 15px 32px rgba(15,23,42,.075) !important;
}

html body.openlib-site-index .openlib_journal_title {
  font-size: 16px !important;
  line-height: 1.35 !important;
}

html body.openlib-site-index .openlib_journal_description {
  color: #455468 !important;
  font-size: 13.5px !important;
  line-height: 1.62 !important;
}

html body.openlib-site-index .openlib_journal_footer {
  border-top: 1px solid #e2e7ed !important;
  background: rgba(247,249,251,.74) !important;
}

html body.openlib-site-index .openlib_journal_action {
  border-radius: 10px !important;
  font-size: 12px !important;
}

html body.openlib-site-index .openlib_journal_action--primary {
  border-color: #e5252d !important;
  background: linear-gradient(135deg, #e5262a, #d91f28) !important;
  color: #fff !important;
}

html body.openlib-site-index .openlib_journal_action--secondary {
  border-color: #d4dce6 !important;
  background: rgba(255,255,255,.88) !important;
  color: #253247 !important;
}

/* ===== Search page ===== */
html body.openlib-site-page.pkp_page_search .pkp_structure_content {
  padding-top: 34px !important;
  padding-bottom: 54px !important;
}

html body.openlib-site-page .openlib_search_form {
  border: 1px solid #efb9bd !important;
  border-radius: 18px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,68,68,.055), transparent 18rem),
    rgba(255,255,255,.90) !important;
  box-shadow: var(--olm-shadow-soft) !important;
}

html body.openlib-site-page .openlib_search_form__primary.has_journal_filter {
  grid-template-columns: minmax(0,1fr) 220px 140px !important;
  gap: 10px !important;
}

html body.openlib-site-page .openlib_search_results .obj_article_summary {
  border: 1px solid #dbe2ea !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.90) !important;
  box-shadow: 0 6px 20px rgba(15,23,42,.035) !important;
}

/* ===== Login + Register: one visual system ===== */
html body.openlib-site-page.pkp_page_login .pkp_structure_content,
html body.openlib-site-page.pkp_page_register .pkp_structure_content {
  width: min(1120px, calc(100% - 64px)) !important;
  padding-top: 44px !important;
  padding-bottom: 56px !important;
}

html body.openlib-site-page.pkp_page_login .pkp_structure_main,
html body.openlib-site-page.pkp_page_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 #d8e0e9 !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,68,68,.07), transparent 24rem),
    linear-gradient(145deg, rgba(255,255,255,.96) 0%, rgba(250,251,253,.95) 68%, rgba(255,246,247,.94) 100%) !important;
  box-shadow: 0 20px 52px rgba(15,23,42,.075) !important;
}

html body.openlib-site-page .page_login:before,
html body.openlib-site-page .page_register:before {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  left: 0 !important;
  z-index: 2 !important;
  display: block !important;
  width: 100% !important;
  height: 4px !important;
  min-height: 4px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #a91620 0%, #e5262a 46%, #fb7185 100%) !important;
  color: transparent !important;
  content: "" !important;
}

html body.openlib-site-page .page_login {
  width: min(650px, 100%) !important;
  max-width: 650px !important;
  margin: 0 auto !important;
  padding: 42px 46px 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 {
  color: var(--olm-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 {
  color: #637083 !important;
}

html body.openlib-site-page .page_login input[type="text"],
html body.openlib-site-page .page_login input[type="password"],
html body.openlib-site-page .page_login .openlib_password_control input[type="text"],
html body.openlib-site-page .page_login .openlib_password_control input[type="password"],
html body.openlib-site-page .page_register input[type="text"],
html body.openlib-site-page .page_register input[type="email"],
html body.openlib-site-page .page_register input[type="password"],
html body.openlib-site-page .page_register select,
html body.openlib-site-page .page_register textarea {
  border: 1px solid #cbd5e1 !important;
  background: rgba(255,255,255,.82) !important;
  color: #172033 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.88) !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: #ef6c73 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(239,68,68,.10) !important;
}

html body.openlib-site-page .page_register fieldset {
  border: 1px solid #dde3eb !important;
  border-radius: 16px !important;
  background: rgba(248,250,252,.72) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}

html body.openlib-site-page .page_register fieldset legend {
  background: rgba(255,255,255,.95) !important;
  color: #1f2937 !important;
}

html body.openlib-site-page .page_login .buttons button,
html body.openlib-site-page .page_register button[type="submit"] {
  border: 0 !important;
  border-radius: 11px !important;
  background: linear-gradient(135deg, #e5262a, #d81f28) !important;
  color: #fff !important;
  box-shadow: 0 7px 16px rgba(220,38,38,.14) !important;
}

html body.openlib-site-page .page_login .buttons a {
  border: 1px solid #d2dae5 !important;
  border-radius: 11px !important;
  background: rgba(255,255,255,.76) !important;
  color: #273449 !important;
}

/* ===== Journal pages ===== */
html body.openlib-journal-page .openlib_journal_header,
html body.openlib-journal-page .openlib_journal_header__identity {
  background: rgba(255,255,255,.90) !important;
}

html body.openlib-journal-page .openlib_journal_header {
  border-top: 3px solid #e5262a !important;
  border-bottom: 1px solid #dbe2ea !important;
  box-shadow: 0 6px 24px rgba(15,23,42,.035) !important;
}

html body.openlib-journal-page .openlib_journal_header__utility {
  background: linear-gradient(90deg, #f8fafc, #fff5f6) !important;
}

html body.openlib-journal-page .openlib_journal_header__navrow {
  border-color: #dce2ea !important;
  background: rgba(255,255,255,.88) !important;
}

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 {
  border-radius: 18px !important;
}

/* ===== Unified light-gradient footer for ALL site-level pages ===== */
html body .openlib_site_footer,
html body .openlib_journal_footer_global {
  position: relative !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  border-top: 1px solid #e4d6d8 !important;
  background:
    radial-gradient(circle at 18% 120%, rgba(239,68,68,.10), transparent 25rem),
    linear-gradient(120deg, #eef2f6 0%, #f6f4f5 48%, #fff0f1 100%) !important;
  color: #475569 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.85) !important;
}

html body .openlib_site_footer:before,
html body .openlib_journal_footer_global:before {
  height: 3px !important;
  background: linear-gradient(90deg, #a91620 0%, #e5262a 46%, #fb7185 100%) !important;
}

html body .openlib_site_footer__inner,
html body .openlib_site_footer__bottom,
html body .openlib_journal_footer_global .pkp_structure_footer {
  width: min(var(--olm-shell), calc(100% - 64px)) !important;
  max-width: var(--olm-shell) !important;
}

html body .openlib_site_footer__inner {
  padding-top: 24px !important;
  padding-bottom: 18px !important;
}

html body .openlib_site_footer__brand_text strong {
  color: #202a3a !important;
}

html body .openlib_site_footer__brand_text span,
html body .openlib_site_footer__bottom,
html body .openlib_journal_footer_global__meta {
  color: #64748b !important;
}

html body .openlib_site_footer__links a,
html body .openlib_journal_footer_global__meta a {
  color: #3e4b5e !important;
}

html body .openlib_site_footer__links a:hover,
html body .openlib_journal_footer_global__meta a:hover {
  color: var(--olm-red) !important;
}

/* ===== Dark mode ===== */
html[data-openlib-color-mode="dark"] body {
  --olm-ink: #f8fafc;
  --olm-text: #d4dbe6;
  --olm-muted: #9ba8ba;
  --olm-canvas: #0c1422;
  background:
    radial-gradient(circle at 8% 0%, rgba(239,68,68,.08), transparent 28rem),
    radial-gradient(circle at 90% 2%, rgba(80,99,129,.14), transparent 30rem),
    linear-gradient(180deg, #0c1422 0%, #101827 100%) !important;
}

html[data-openlib-color-mode="dark"] body .openlib_site_header,
html[data-openlib-color-mode="dark"] body .openlib_site_header__main,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_header,
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: #2c3749 !important;
  background: rgba(15,24,39,.92) !important;
}

html[data-openlib-color-mode="dark"] body .openlib_site_header__utility,
html[data-openlib-color-mode="dark"] body.openlib-journal-page .openlib_journal_header__utility {
  border-color: #283448 !important;
  background: linear-gradient(90deg, #0f1827, #1a151d) !important;
}

html[data-openlib-color-mode="dark"] body .openlib_color_mode_toggle {
  border-color: #39475d !important;
  background: #152033 !important;
  color: #e2e8f0 !important;
}

html[data-openlib-color-mode="dark"] body .openlib_site_header__account a,
html[data-openlib-color-mode="dark"] body .pkp_navigation_user a {
  color: #e2e8f0 !important;
}

html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_portal_intro,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_search_panel,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_journal_card,
html[data-openlib-color-mode="dark"] body.openlib-site-page .openlib_search_form,
html[data-openlib-color-mode="dark"] body.openlib-site-page .openlib_search_results .obj_article_summary,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_login,
html[data-openlib-color-mode="dark"] body.openlib-site-page .page_register {
  border-color: #354258 !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(239,68,68,.06), transparent 18rem),
    linear-gradient(145deg, rgba(17,27,43,.98), rgba(14,23,38,.98)) !important;
  color: #d7deea !important;
}

html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_discovery,
html[data-openlib-color-mode="dark"] body.openlib-site-index .openlib_search_panel,
html[data-openlib-color-mode="dark"] body.openlib-site-page .openlib_search_form {
  border-color: #714047 !important;
}

html[data-openlib-color-mode="dark"] body input,
html[data-openlib-color-mode="dark"] body select,
html[data-openlib-color-mode="dark"] body textarea,
html[data-openlib-color-mode="dark"] body select option {
  border-color: #435168 !important;
  background: #0d1726 !important;
  color: #f1f5f9 !important;
}

html[data-openlib-color-mode="dark"] body .openlib_journal_filter {
  border-color: #3c4a61 !important;
  background: #101a2a !important;
}

html[data-openlib-color-mode="dark"] body .openlib_site_footer,
html[data-openlib-color-mode="dark"] body .openlib_journal_footer_global {
  border-color: #493239 !important;
  background:
    radial-gradient(circle at 18% 120%, rgba(239,68,68,.08), transparent 24rem),
    linear-gradient(120deg, #121c2c 0%, #182032 52%, #24171d 100%) !important;
  color: #cbd5e1 !important;
}

html[data-openlib-color-mode="dark"] body .openlib_site_footer__brand_text strong,
html[data-openlib-color-mode="dark"] body .openlib_site_footer__links a,
html[data-openlib-color-mode="dark"] body .openlib_journal_footer_global__meta a {
  color: #e2e8f0 !important;
}

html[data-openlib-color-mode="dark"] body .openlib_site_footer__brand_text span,
html[data-openlib-color-mode="dark"] body .openlib_site_footer__bottom,
html[data-openlib-color-mode="dark"] body .openlib_journal_footer_global__meta {
  color: #9aa7b8 !important;
}

/* ===== Responsive ===== */
@media (max-width: 980px) {
  html body .pkp_structure_content,
  html body .openlib_site_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_journal_footer_global .pkp_structure_footer {
    width: min(100% - 36px, var(--olm-shell)) !important;
  }

  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-page .openlib_search_form__primary.has_journal_filter {
    grid-template-columns: minmax(0,1fr) 210px !important;
  }

  html body.openlib-site-index .openlib_discovery__form button,
  html body.openlib-site-page .openlib_search_form__submit {
    grid-column: 1 / -1 !important;
  }
}

@media (max-width: 760px) {
  html body .pkp_structure_content,
  html body .openlib_site_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_journal_footer_global .pkp_structure_footer {
    width: calc(100% - 28px) !important;
  }

  html body.openlib-site-index .openlib_discovery__form,
  html body.openlib-site-page .openlib_search_form__primary.has_journal_filter {
    grid-template-columns: 1fr !important;
  }

  html body.openlib-site-index .openlib_discovery__form button,
  html body.openlib-site-page .openlib_search_form__submit {
    grid-column: auto !important;
  }

  html body.openlib-site-index .openlib_journal_tools {
    align-items: stretch !important;
    flex-direction: column !important;
  }

  html body.openlib-site-index .openlib_journal_filter {
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.openlib-site-page.pkp_page_login .pkp_structure_content,
  html body.openlib-site-page.pkp_page_register .pkp_structure_content {
    width: calc(100% - 28px) !important;
    padding-top: 28px !important;
    padding-bottom: 38px !important;
  }

  html body.openlib-site-page .page_login,
  html body.openlib-site-page .page_register {
    padding: 30px 22px 32px !important;
    border-radius: 17px !important;
  }

  html body.openlib-site-page .page_login .buttons {
    grid-template-columns: 1fr !important;
  }
}
