/* ==========================================================================
   CFS Editorial Team
   Depends on Elkuator Scholar global editorial styles.
   Uses --els-* root tokens so colors remain configurable from theme dashboard.
   ========================================================================== */

.journal-cfs .editorial-member-card {
	position: relative;
	grid-template-columns: minmax(0, 1fr);
	min-height: 150px;
	overflow: hidden;
	border-color: var(--els-border-soft, #e5edf1);
	border-radius: 12px;
}

.journal-cfs .editorial-member-card::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 72px;
	height: 72px;
	pointer-events: none;
}

.journal-cfs .editorial-section-title {
	border-radius: 8px;
}

.journal-cfs .editorial-grid-featured .editorial-member-card {
	border-left: 5px solid var(--els-accent, #f5821f);
}

.journal-cfs .editorial-grid-featured .editorial-member-name {
	font-size: 20px;
}

/* Web of Science button: not included in the current global editorial CSS */
.journal-cfs .editorial-wos {
	color: #6b4fd8;
}

.journal-cfs .editorial-wos:hover,
.journal-cfs .editorial-wos:focus {
	background: #6b4fd8;
	border-color: #6b4fd8;
	color: var(--els-surface, #ffffff);
}

/* Make empty placeholder links visibly safe, not broken-looking */
.journal-cfs .editorial-link-btn[href="#"] {
	opacity: .58;
	cursor: not-allowed;
}

.journal-cfs .editorial-link-btn[href="#"]:hover,
.journal-cfs .editorial-link-btn[href="#"]:focus {
	background: var(--els-surface, #ffffff);
	color: currentColor;
	transform: none;
}

/* Mobile refinement */
@media (max-width: 560px) {
	.journal-cfs .editorial-member-card {
		min-height: 0;
		padding: 16px;
		border-radius: 10px;
	}

	.journal-cfs .editorial-section-title::after {
		display: none;
	}

	.journal-cfs .editorial-grid-featured .editorial-member-name {
		font-size: 17px;
	}
}
/* =========================================================
   Article Summary Author Marker
   Default journals: country flag
   Specific journals such as cfs: ORCID marker
   ========================================================= */

.els_article_authors .els_author_country_flag,
.obj_article_summary .authors .els_author_country_flag {
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	vertical-align: -0.08em !important;
	white-space: nowrap !important;
}

.els_article_authors .els_author_country_code,
.obj_article_summary .authors .els_author_country_code {
	display: inline-block !important;
	margin: 0 !important;
	padding: 1px 4px !important;
	background: var(--els-primary-soft, #f3f8fa) !important;
	border: 1px solid var(--els-primary-border, #b9dfe8) !important;
	color: var(--els-primary, #0788b6) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	vertical-align: 0.05em !important;
	white-space: nowrap !important;
}

.els_article_authors .els_author_orcid_marker,
.obj_article_summary .authors .els_author_orcid_marker {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 13px !important;
	height: 13px !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1 !important;
	vertical-align: -0.08em !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	box-shadow: none !important;
}

.els_article_authors .els_author_orcid_marker img,
.obj_article_summary .authors .els_author_orcid_marker img {
	display: block !important;
	width: 13px !important;
	height: 13px !important;
	max-width: 13px !important;
	max-height: 13px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	border: 0 !important;
	box-shadow: none !important;
}

.els_article_authors .els_author_orcid_marker:hover,
.els_article_authors .els_author_orcid_marker:focus,
.obj_article_summary .authors .els_author_orcid_marker:hover,
.obj_article_summary .authors .els_author_orcid_marker:focus {
	opacity: 0.82 !important;
	text-decoration: none !important;
}

.els_article_authors,
.obj_article_summary .authors {
	word-spacing: normal !important;
	letter-spacing: normal !important;
}
/* CFS footer and Tools — 2026-11-10.
   Scoped overrides: theme CSS is loaded AFTER journal CSS. */
#pkp_content_footer .els-footer-old.els-footer-old--jimws-4col {
  display: grid;
  grid-template-columns: minmax(0,1.65fr) minmax(0,.85fr) minmax(0,1.2fr) minmax(0,.9fr);
  gap: 30px 36px;
  align-items: start;
  width: 100%;
  margin: 0;
  box-sizing: border-box;
}
#pkp_content_footer .els-footer-old--jimws-4col > .els-footer-old__col {
  min-width: 0; width: auto; margin: 0; padding: 0; float: none;
}
#pkp_content_footer .els-footer-old--jimws-4col h3 {
  position: relative; display: inline-block;
  margin: 0 0 20px; padding: 0 0 12px;
  font-size: 18px; line-height: 1.35; font-weight: 800;
}
#pkp_content_footer .els-footer-old--jimws-4col h3::after {
  width: 100%; height: 3px; background: var(--els-accent,#D38854);
}
#pkp_content_footer .els-footer-old--jimws-4col p {
  margin: 0 0 9px; padding: 0; font-size: 15px; line-height: 1.65;
  text-align: left !important;
}
#pkp_content_footer .els-footer-old--jimws-4col ul {
  margin: 0; padding: 0; list-style: none;
}
#pkp_content_footer .els-footer-old--jimws-4col li {
  margin: 0 0 10px; padding: 0; list-style: none;
  font-size: 15px; line-height: 1.5;
}
#pkp_content_footer .els-footer-old--jimws-4col a {
  font-size: inherit; line-height: inherit;
  overflow-wrap: anywhere; text-decoration: none;
  transition: opacity .2s ease;
}
#pkp_content_footer .els-footer-old--jimws-4col a:hover,
#pkp_content_footer .els-footer-old--jimws-4col a:focus {
  padding-left: 0; text-decoration: underline; text-underline-offset: 4px;
}
#pkp_content_footer .els-footer-old--jimws-4col a:focus-visible {
  outline: 2px solid currentColor; outline-offset: 4px;
}
/* Remove the spacer paragraph from the supplied HTML. */
#pkp_content_footer .els-footer-old--jimws-4col > .els-footer-old__col:last-child > p {
  display: none;
}
#pkp_content_footer .els-footer-old--jimws-4col ul + h3,
#pkp_content_footer .els-footer-old--jimws-4col p + h3 {
  margin-top: 36px !important;
}
#pkp_content_footer .els-footer-old--jimws-4col .els-footer-old__license {
  margin-top: 16px;
}
#pkp_content_footer .els-footer-old--jimws-4col .els-footer-old__license img {
  display: block; width: 90px; max-width: 100%; height: auto;
  box-sizing: content-box; margin: 0; padding: 2px;
  background: #fff; border-radius: 4px;
}
#pkp_content_footer .els-footer-old--jimws-4col .els-footer-old__license > a:first-child {
  display: inline-block;
}
@media (max-width: 1100px) {
  #pkp_content_footer .els-footer-old.els-footer-old--jimws-4col {
    grid-template-columns: repeat(2,minmax(0,1fr)); gap: 34px;
  }
}
@media (max-width: 600px) {
  #pkp_content_footer .els-footer-old.els-footer-old--jimws-4col {
    grid-template-columns: minmax(0,1fr); gap: 28px;
  }
}

/* Tools: four white logo cards in a 2 x 2 grid; keep logo backgrounds white
   in dark mode as the source images are designed for white backgrounds. */
#customblock-tools .content ul.tools_list.tools_list--cfs {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px; width: 100%; margin: 0; padding: 0; list-style: none;
  box-sizing: border-box;
}
#customblock-tools .content .tools_list--cfs > li {
  display: block; min-width: 0; width: auto; margin: 0; padding: 0;
  border: 0; background: transparent; list-style: none;
}
#customblock-tools .content .tools_list--cfs > li::before { content: none; }
#customblock-tools .content .tools_list--cfs > li > a {
  display: flex; align-items: center; justify-content: center;
  width: 100%; min-height: 104px; aspect-ratio: 1.3;
  box-sizing: border-box; margin: 0; padding: 14px;
  border: 1px solid var(--els-border-soft,#d7e2e7);
  border-radius: 7px; background: #fff !important;
  text-decoration: none; box-shadow: 0 3px 10px rgba(15,41,51,.03);
  transition: border-color .2s ease, box-shadow .2s ease;
}
#customblock-tools .content .tools_list--cfs > li > a:hover,
#customblock-tools .content .tools_list--cfs > li > a:focus-visible {
  padding: 14px; border-color: var(--els-accent,#D38854);
  box-shadow: 0 3px 12px rgba(15,41,51,.1);
}
#customblock-tools .content .tools_list--cfs > li > a:focus-visible {
  outline: 2px solid var(--els-accent,#D38854); outline-offset: 2px;
}
#customblock-tools .content .tools_list--cfs > li > a > img {
  display: block; width: 100%; max-width: 130px; height: auto;
  max-height: 52px; margin: 0; padding: 0; border: 0;
  object-fit: contain; box-shadow: none; background: #fff !important;
}
@media (prefers-reduced-motion: reduce) {
  #customblock-tools .content .tools_list--cfs > li > a,
  #pkp_content_footer .els-footer-old--jimws-4col a { transition: none; }
}

/* Footer menu hover: slide right like JIL, without shifting the layout. */
#pkp_content_footer .els-footer-old--jimws-4col li > a {
  display: inline-block;
  max-width: 100%;
  box-sizing: border-box;
  transform: translateX(0);
  transition: transform .22s ease, opacity .22s ease;
}
#pkp_content_footer .els-footer-old--jimws-4col li > a:hover,
#pkp_content_footer .els-footer-old--jimws-4col li > a:focus-visible {
  padding-left: 0;
  transform: translateX(8px);
  opacity: .9;
  text-decoration: none;
}
@media (prefers-reduced-motion: reduce) {
  #pkp_content_footer .els-footer-old--jimws-4col li > a {
    transition: none;
  }
  #pkp_content_footer .els-footer-old--jimws-4col li > a:hover,
  #pkp_content_footer .els-footer-old--jimws-4col li > a:focus-visible {
    transform: none;
  }
}

/* CFS hero — Elkuator Scholar legacy appearance on Scholar Pro.
   Pattern overscan: 40px on each side covers the full animation travel.
   The hero itself retains overflow:hidden so decorations end at its edge.
   Replaces previous ring-hiding / brighter-particle experiments. */
body .els_hero {
  position: relative !important;
  overflow: hidden !important;
  background: var(--els-primary) !important;
  color: #fff !important;
  text-align: center !important;
  isolation: isolate !important;
  font-family: var(--els-font, "Times New Roman", serif) !important;
}

body .els_hero::before,
body .els_hero::after {
  content: "" !important;
  position: absolute !important;
  inset: auto !important;
  z-index: 0 !important;
  pointer-events: none !important;
  border-radius: 999px !important;
  will-change: transform, opacity !important;
}

body .els_hero::before {
  width: 420px !important;
  height: 420px !important;
  left: -150px !important;
  top: -170px !important;
  background: radial-gradient(circle, rgba(255,255,255,.26) 0, rgba(255,255,255,.12) 42%, transparent 70%) !important;
  animation: cfsLegacyelsHeroGlowMoveV2 9s ease-in-out infinite alternate !important;
}

body .els_hero::after {
  width: 520px !important;
  height: 520px !important;
  right: -190px !important;
  bottom: -260px !important;
  background: radial-gradient(circle, rgba(255,255,255,.22) 0, rgba(255,255,255,.10) 45%, transparent 72%) !important;
  animation: cfsLegacyelsHeroGlowMoveV2b 11s ease-in-out infinite alternate !important;
}

body .els_hero > .els_pattern {
  position: absolute !important;
  inset: -40px !important;
  z-index: 1 !important;
  opacity: 1 !important;
  pointer-events: none !important;
  will-change: transform, background-position !important;
  animation: cfsLegacyelsHeroPatternFloatV2 10s ease-in-out infinite alternate !important;
  background-image: radial-gradient(circle at 10% 26%, rgba(255,255,255,.30) 0 4px, transparent 5px),
		radial-gradient(circle at 22% 70%, rgba(255,255,255,.20) 0 7px, transparent 8px),
		radial-gradient(circle at 50% 22%, rgba(255,255,255,.18) 0 5px, transparent 6px),
		radial-gradient(circle at 78% 34%, rgba(255,255,255,.24) 0 6px, transparent 7px),
		radial-gradient(circle at 90% 72%, rgba(255,255,255,.16) 0 8px, transparent 9px),
		linear-gradient(115deg, transparent 0 42%, rgba(255,255,255,.10) 42.2%, transparent 43%),
		linear-gradient(18deg, transparent 0 60%, rgba(255,255,255,.08) 60.2%, transparent 61%) !important;
  background-size: 120% 120%, 130% 130%, 110% 110%, 125% 125%, 115% 115%, 160% 160%, 150% 150% !important;
  overflow: hidden !important;
  transform: none !important;
}

body .els_hero > .els_pattern::before,
body .els_hero > .els_pattern::after {
  content: "" !important;
  position: absolute !important;
  border: 1px solid rgba(255,255,255,.26) !important;
  border-radius: 999px !important;
  will-change: transform, opacity !important;
  pointer-events: none !important;
  box-shadow: none !important;
  opacity: 1;
  box-sizing: content-box !important;
  inset: auto !important;
}

body .els_hero > .els_pattern::before {
  width: 260px !important;
  height: 260px !important;
  left: 7% !important;
  top: -100px !important;
  animation: cfsLegacyelsHeroRingFloatV2 8s ease-in-out infinite alternate !important;
  box-shadow: none !important;
  box-sizing: content-box !important;
  right: auto !important;
  bottom: auto !important;
}

body .els_hero > .els_pattern::after {
  width: 320px !important;
  height: 320px !important;
  right: 5% !important;
  bottom: -170px !important;
  animation: cfsLegacyelsHeroRingFloatV2b 12s ease-in-out infinite alternate !important;
  box-shadow: none !important;
  box-sizing: content-box !important;
  left: auto !important;
  top: auto !important;
}

body .els_hero_inner {
  position: relative !important;
  z-index: 2 !important;
  padding: 40px 0 42px !important;
}

body .els_hero h1 {
  margin: 0 0 12px !important;
  color: #fff !important;
  font-size: 35px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  letter-spacing: .01em !important;
  font-family: inherit !important;
}

body .els_hero .els_tagline {
  max-width: 780px !important;
  margin: 0 auto 20px !important;
  color: rgba(255, 255, 255, .95) !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

body .els_hero_search {
  display: flex !important;
  max-width: 620px !important;
  height: 40px !important;
  margin: 20px auto 10px !important;
  background: #fff !important;
  border: 1px solid rgba(255, 255, 255, .9) !important;
  box-shadow: none !important;
}

body .els_hero_search input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  outline: 0 !important;
  color: var(--els-text) !important;
  font-size: 14px !important;
}

body .els_hero_search button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  border: 0 !important;
  background: var(--els-primary-dark, var(--els-primary)) !important;
  color: #fff !important;
  cursor: pointer !important;
}

body .els_hero .els_fa_search_hero {
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

body .els_hero_actions {
  margin-top: 0 !important;
}

body .els_hero .els_advanced {
  color: #fff !important;
  font-size: 14px !important;
}

body .els_hero_submit_wrap {
  margin-top: 10px !important;
}

body .els_hero .els_submit {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 8px 16px !important;
  background: var(--els-submit-bg, var(--els-accent)) !important;
  border: 1px solid var(--els-submit-border, var(--els-submit-bg, var(--els-accent))) !important;
  border-radius: 2px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

body .els_hero .els_submit:hover,
body .els_hero .els_submit:focus {
  background: var(--els-submit-hover-bg, var(--els-accent)) !important;
  color: #fff !important;
  text-decoration: none !important;
}

body .els_hero .els_addtoany_share {
  position: absolute !important;
  top: 20px !important;
  right: 0 !important;
  z-index: 40 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

body .els_hero .els_addtoany_rss,
body .els_hero .els_addtoany_toggle {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: rgba(255, 255, 255, .12) !important;
  border: 1px solid rgba(255, 255, 255, .8) !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}

body .els_hero .els_addtoany_rss:hover,
body .els_hero .els_addtoany_rss:focus,
body .els_hero .els_addtoany_toggle:hover,
body .els_hero .els_addtoany_toggle:focus {
  background: rgba(255, 255, 255, .22) !important;
  border-color: #fff !important;
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-1px) !important;
}

body .els_hero .els_addtoany_kit {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

body .els_hero .els_addtoany_kit .a2a_svg,
body .els_hero .els_addtoany_kit .a2a_count {
  display: none !important;
}

body .els_hero .els_addtoany_kit .a2a_dd {
  background-image: none !important;
}

@media (prefers-reduced-motion: reduce) {
body .els_hero::before,
body .els_hero::after,
body .els_hero > .els_pattern,
body .els_hero > .els_pattern::before,
body .els_hero > .els_pattern::after {
  animation: none !important;
}
}

@keyframes cfsLegacyelsHeroPatternFloatV2 {
	0% {
		translate: -8px 0; scale: 1;
		background-position: 0 0, 8px 6px, 0 0, 0 0, 0 0, 0 0, 0 0;
	}
	100% {
		translate: 18px -14px; scale: 1.035;
		background-position: 34px -24px, -28px 20px, 22px 12px, -18px -16px, 18px 22px, 40px -28px, -30px 24px;
	}
}

@keyframes cfsLegacyelsHeroGlowMoveV2 {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
		opacity: .8;
	}
	100% {
		transform: translate3d(70px, 42px, 0) scale(1.13);
		opacity: .48;
	}
}

@keyframes cfsLegacyelsHeroGlowMoveV2b {
	0% {
		transform: translate3d(0, 0, 0) scale(1);
		opacity: .72;
	}
	100% {
		transform: translate3d(-62px, -38px, 0) scale(1.12);
		opacity: .44;
	}
}

@keyframes cfsLegacyelsHeroRingFloatV2 {
	0% {
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
		opacity: .86;
	}
	100% {
		transform: translate3d(32px, 34px, 0) rotate(10deg) scale(1.04);
		opacity: .48;
	}
}

@keyframes cfsLegacyelsHeroRingFloatV2b {
	0% {
		transform: translate3d(0, 0, 0) rotate(0deg) scale(1);
		opacity: .76;
	}
	100% {
		transform: translate3d(-38px, -30px, 0) rotate(-10deg) scale(1.05);
		opacity: .42;
	}
}

body .els_hero .els_hero_inner { padding: 40px 0 42px !important; }
body .els_hero .els_hero_search { border-radius: 0 !important; }
body .els_hero .els_hero_search input { border-radius: 0 !important; background: #fff !important; }
@media (max-width: 640px) {
  body .els_hero h1 { font-size: 30px !important; }
  body .els_hero .els_hero_search { width: 100% !important; max-width: 620px !important; }
  body .els_hero .els_addtoany_share { position: static !important; justify-content: center; margin-bottom: 16px; }
}

/* Local symbol fallback: only @ (U+0040) and | (U+007C).
   Other characters continue to use the journal's local Century font.
   No remote font downloads. */
@font-face {
  font-family: "CFS Local Symbols";
  src: local("Arial"), local("ArialMT"), local("Liberation Sans");
  font-style: normal;
  font-weight: 400;
  unicode-range: U+0040, U+007C;
}
@font-face {
  font-family: "CFS Local Symbols";
  src: local("Arial Bold"), local("Arial-BoldMT"), local("Liberation Sans Bold"), local("Arial");
  font-style: normal;
  font-weight: 700;
  unicode-range: U+0040, U+007C;
}

/* CFS local Century — use the visitor's installed font, as in Scholar legacy.
   No @font-face or remote font is requested by these font stacks.
   Times New Roman / the browser serif font is used if Century is unavailable. */
:root {
  --els-font: "CFS Local Symbols", "Century", "Times New Roman", serif !important;
  --els-font-body: "CFS Local Symbols", "Century", "Times New Roman", serif !important;
  --els-font-heading: "CFS Local Symbols", "Century", "Times New Roman", serif !important;
  --els-body-font: var(--els-font-body) !important;
  --els-heading-font: var(--els-font-heading) !important;
}
body {
  font-family: var(--els-font) !important;
}
button, input, select, textarea {
  font-family: inherit;
}

/* Unified cover cards: issue-cover links and standalone book-review images.
   Style the outer element once; linked images have no second frame. */
body.pkp_page_article.pkp_op_view .els_article_left > .els_article_issue_cover,
body.pkp_page_article.pkp_op_view .els_article_left > .els_article_cover_link {
  display: block !important;
  width: 100% !important;
  max-width: 250px !important;
  box-sizing: border-box !important;
  margin: 0 auto 28px !important;
  padding: 10px !important;
  border: 1px solid var(--els-border, #d7e2e7) !important;
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(15, 41, 51, .08) !important;
}
body.pkp_page_article.pkp_op_view .els_article_left .els_article_issue_cover {
  height: auto !important;
  object-fit: contain !important;
}
body.pkp_page_article.pkp_op_view .els_article_left > .els_article_cover_link > .els_article_issue_cover {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body.pkp_page_article.pkp_op_view .els_article_left > .els_article_cover_link:focus-visible {
  outline: 2px solid var(--els-accent, #D38854);
  outline-offset: 4px;
}
body.pkp_page_article.pkp_op_view .els_article_left .els_article_contents_title {
  margin: 0 0 16px !important;
  padding: 0 0 12px !important;
}
@media (max-width: 640px) {
  body.pkp_page_article.pkp_op_view .els_article_left > .els_article_issue_cover,
  body.pkp_page_article.pkp_op_view .els_article_left > .els_article_cover_link {
    max-width: 220px !important;
    margin-bottom: 22px !important;
  }
}
