/**
 * Journal Metrics theme for OJS 3.5
 * Loaded after the parent (default) theme stylesheet, so these rules win.
 * Accent colour comes from --jm-accent (theme option).
 *
 * Breakpoints: the parent theme switches between the burger menu and the
 * desktop menu at 992px (its script depends on that value), so this theme
 * uses the same value. The main menu is one line from 1360px; between 992px
 * and 1359px it moves to its own line under the journal name.
 */

:root {
	--jm-accent: #C2410C;
	--jm-ink: #141414;
	--jm-ink-soft: #4A4A4A;
	--jm-line: #E4E4E4;
	--jm-neutral: #F4F5F7;
	--jm-dark: #0A0A0A;
	--jm-container: 1560px;
	--jm-gutter: clamp(20px, 4vw, 56px);
	--jm-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ---------- Base ---------- */

body {
	font-family: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	color: var(--jm-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

a {
	color: var(--jm-accent);
}

a:focus-visible,
button:focus-visible {
	outline: 3px solid var(--jm-accent);
	outline-offset: 2px;
}

.jm_mono {
	font-family: var(--jm-mono);
	font-weight: 500;
}

.jm_accent {
	color: var(--jm-accent);
}

.jm_screen_reader {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Skip links: invisible, shown only to keyboard users */
.cmp_skip_to_content {
	position: absolute;
	top: 0;
	left: -9999px;
	z-index: 10000;
	padding: 8px;
	background: #fff;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.cmp_skip_to_content:focus-within {
	left: 8px;
	top: 8px;
}

.cmp_skip_to_content a {
	display: block;
	padding: 6px 10px;
	color: var(--jm-ink);
	font-weight: 600;
}

/* ---------- Layout: fluid, no fixed widths, no sidebar ---------- */

.pkp_structure_page {
	max-width: none;
	width: 100%;
	margin: 0;
	box-shadow: none;
	overflow-x: clip;
}

.pkp_site_name_wrapper,
.pkp_navigation_primary_wrapper,
.pkp_navigation_user,
.pkp_search_mobile,
.pkp_structure_content,
.pkp_structure_footer,
.has_site_logo .pkp_head_wrapper,
.has_site_logo .pkp_site_name,
.has_site_logo .pkp_navigation_primary_wrapper {
	width: auto;
	max-width: none;
}

.pkp_site_name_wrapper,
.pkp_navigation_primary_wrapper {
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

.pkp_structure_main::before,
.pkp_structure_main::after {
	display: none;
}

.pkp_structure_content,
.pkp_structure_head .pkp_head_wrapper,
.jm_topbar_inner,
.pkp_structure_footer,
.jm_wrap {
	max-width: var(--jm-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--jm-gutter);
	padding-right: var(--jm-gutter);
	box-sizing: border-box;
}

.pkp_structure_content {
	display: block;
	padding-top: 24px;
	padding-bottom: 64px;
}

.pkp_structure_content::before,
.pkp_structure_content::after {
	display: none;
}

.pkp_structure_main {
	display: block;
	float: none;
	width: auto;
	min-width: 0;
	padding: 0;
	margin: 0;
}

/* The home page is made of full-width bands, so it needs no container */
.pkp_page_index .pkp_structure_content {
	max-width: none;
	padding: 0;
}

/* Text pages keep a readable line length; list pages use the full width */
.pkp_structure_main > .page {
	max-width: 1080px;
}

.pkp_page_article .pkp_structure_main > .page,
.pkp_page_issue .pkp_structure_main > .page,
.pkp_page_search .pkp_structure_main > .page,
.pkp_page_catalog .pkp_structure_main > .page {
	max-width: none;
}

/* ---------- Header: top bar ---------- */

.pkp_structure_head {
	background: #fff;
	border-bottom: 1px solid var(--jm-line);
}

.jm_topbar {
	position: relative;
	z-index: 20;
	background: var(--jm-neutral);
	border-bottom: 1px solid var(--jm-line);
	font-size: 13px;
}

.jm_topbar_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 38px;
}

.jm_topbar_issn {
	font-family: var(--jm-mono);
	font-weight: 500;
	color: var(--jm-ink-soft);
	white-space: nowrap;
}

.jm_topbar_right {
	display: flex;
	align-items: center;
	gap: 8px 16px;
	min-width: 0;
}

.jm_lang ul {
	display: flex;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_lang li {
	margin: 0;
	padding: 0;
}

.jm_lang a {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 999px;
	color: var(--jm-ink);
	font-weight: 700;
	text-decoration: none;
}

.jm_lang a:hover {
	background: #fff;
}

.jm_lang a.is_current {
	background: var(--jm-ink);
	color: #fff;
}

/* User menu (login, dashboard, profile, logout) as a compact dropdown */
.jm_topbar .jm_user {
	position: relative;
}

.jm_topbar .jm_user ul.pkp_navigation_user {
	display: flex;
	align-items: center;
	gap: 2px;
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
	text-align: left;
}

.jm_topbar .jm_user ul.pkp_navigation_user > li {
	position: relative;
	display: block;
	margin: 0;
}

.jm_topbar .jm_user ul.pkp_navigation_user > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 10px;
	border-radius: 6px;
	color: var(--jm-ink);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
}

.jm_topbar .jm_user ul.pkp_navigation_user > li > a:hover,
.jm_topbar .jm_user ul.pkp_navigation_user > li > a:focus {
	background: #fff;
	color: var(--jm-ink);
}

.jm_topbar .jm_user ul.pkp_navigation_user [aria-haspopup]::after {
	content: "";
	width: 0;
	height: 0;
	border-top: 4px solid currentColor;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
}

/* Numbers of pending tasks are shown only inside the dropdown */
.jm_topbar .jm_user .task_count {
	display: none;
}

.jm_topbar .jm_user ul.pkp_navigation_user ul {
	position: absolute !important;
	top: 100% !important;
	right: 0 !important;
	left: auto !important;
	transform: none !important;
	z-index: 2000;
	display: none;
	min-width: 13rem;
	width: auto;
	margin: 4px 0 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--jm-line);
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

.jm_topbar .jm_user ul.pkp_navigation_user > li:hover > ul,
.jm_topbar .jm_user ul.pkp_navigation_user > li:focus-within > ul,
.jm_topbar .jm_user ul.pkp_navigation_user ul.show {
	display: block;
}

.jm_topbar .jm_user ul.pkp_navigation_user ul li {
	display: block;
	margin: 0;
}

.jm_topbar .jm_user ul.pkp_navigation_user ul a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 12px;
	border: 0;
	border-radius: 6px;
	color: var(--jm-ink);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.jm_topbar .jm_user ul.pkp_navigation_user ul a:hover,
.jm_topbar .jm_user ul.pkp_navigation_user ul a:focus {
	background: var(--jm-neutral);
	outline: 0;
}

.jm_topbar .jm_user ul.pkp_navigation_user ul .task_count {
	display: inline-block;
	min-width: 22px;
	height: 22px;
	margin: 0;
	padding: 0 6px;
	border-radius: 11px;
	background: var(--jm-accent);
	color: #fff;
	font-size: 12px;
	line-height: 22px;
	text-align: center;
	box-sizing: border-box;
}

/* ---------- Header: journal name, main menu, burger ---------- */

.pkp_site_name .is_text {
	color: var(--jm-ink);
	font-weight: 800;
	letter-spacing: -0.01em;
}

.pkp_site_nav_toggle {
	box-shadow: none;
}

.pkp_navigation_primary_wrapper .jm_cta,
.jm_cta {
	display: inline-block;
	margin-left: 12px;
	padding: 10px 18px;
	border-radius: 8px;
	background: var(--jm-accent);
	color: #fff !important;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}

.pkp_navigation_primary_wrapper .jm_cta:hover,
.pkp_navigation_primary_wrapper .jm_cta:focus {
	background: var(--jm-ink);
}

/* Small screens: burger menu, panel under the header */
@media (max-width: 991px) {
	.jm_cta_desktop {
		display: none;
	}

	.pkp_structure_head .pkp_head_wrapper {
		padding-top: 0;
		padding-bottom: 0;
	}

	.pkp_site_nav_menu {
		padding: 12px var(--jm-gutter) 20px;
		border-top: 1px solid var(--jm-line);
		box-shadow: 0 16px 32px rgba(0, 0, 0, 0.12);
		max-height: calc(100vh - 80px);
		overflow-y: auto;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a {
		display: block;
		padding: 10px 0;
		font-weight: 600;
		border-bottom: 1px solid var(--jm-line);
	}

	.pkp_site_nav_menu ul ul a {
		padding-left: 12px;
		font-weight: 400;
	}

	.pkp_navigation_primary_wrapper .jm_cta_mobile {
		display: block;
		margin: 16px 0 0;
		padding: 14px 18px;
		text-align: center;
	}

	.pkp_site_name .is_text {
		font-size: 17px;
	}
}

/* Wide screens: first line is the journal name and the button, second line is the one-line menu */
@media (min-width: 992px) {
	.pkp_navigation_primary_wrapper .jm_cta_mobile {
		display: none;
	}

	.pkp_structure_head .pkp_head_wrapper {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0 32px;
		padding-top: 16px;
		padding-bottom: 0;
	}

	.pkp_site_name_wrapper {
		flex: 1 1 auto;
		height: auto;
	}

	.pkp_site_name {
		position: static;
		width: auto;
		padding: 0;
		font-size: 1rem;
		white-space: normal;
	}

	.pkp_site_name .is_text {
		font-size: 24px;
		line-height: 1.2;
	}

	.jm_cta_desktop {
		flex: 0 0 auto;
		margin-left: 0;
	}

	.pkp_site_nav_menu {
		display: block;
		position: static;
		flex: 1 1 100%;
		min-width: 0;
		width: auto;
		margin-top: 12px;
		padding: 0;
		background: transparent;
		border-top: 1px solid var(--jm-line);
	}

	.pkp_navigation_primary_row {
		display: block;
	}

	.pkp_navigation_primary_wrapper {
		display: block;
	}

	.pkp_navigation_primary_wrapper .pkp_navigation_primary {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0 clamp(14px, 1.7vw, 32px);
		max-width: none;
		margin: 0;
		padding: 0;
		text-align: left;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li {
		display: block;
		margin: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li:first-child > a,
	.pkp_site_nav_menu .pkp_navigation_primary > li:last-child > a {
		margin-left: 0;
		margin-right: 0;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a {
		display: block;
		margin: 0;
		padding: 14px 0 12px;
		border-bottom: 2px solid transparent;
		color: var(--jm-ink);
		font-size: 14px;
		font-weight: 600;
		line-height: 1.3;
		white-space: nowrap;
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li > a:hover,
	.pkp_site_nav_menu .pkp_navigation_primary > li > a:focus {
		border-bottom-color: var(--jm-accent);
		background: transparent;
		color: var(--jm-ink);
		outline: 0;
	}

	/* Submenus of the main menu */
	.pkp_site_nav_menu .pkp_navigation_primary ul {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		transform: none !important;
		display: none;
		z-index: 2000;
		min-width: 14rem;
		width: auto;
		padding: 6px;
		background: #fff;
		border: 1px solid var(--jm-line);
		border-radius: 10px;
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
	}

	.pkp_site_nav_menu .pkp_navigation_primary > li:hover > ul,
	.pkp_site_nav_menu .pkp_navigation_primary > li:focus-within > ul,
	.pkp_site_nav_menu .pkp_navigation_primary ul.show {
		display: block;
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul a {
		display: block;
		padding: 8px 12px;
		border: 0;
		border-radius: 6px;
		color: var(--jm-ink);
		font-size: 14px;
		font-weight: 600;
		white-space: normal;
	}

	.pkp_site_nav_menu .pkp_navigation_primary ul a:hover,
	.pkp_site_nav_menu .pkp_navigation_primary ul a:focus {
		background: var(--jm-neutral);
		outline: 0;
	}
}

@media (min-width: 992px) and (max-width: 1279px) {
	.pkp_site_nav_menu .pkp_navigation_primary > li > a {
		font-size: 13px;
	}
}

/* ---------- Home: shared pieces ---------- */

.jm_home {
	margin: 0;
}

.jm_eyebrow {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--jm-accent);
}

.jm_eyebrow .jm_mono {
	margin-left: 4px;
	letter-spacing: 0.06em;
}

.jm_eyebrow_muted {
	color: var(--jm-ink-soft);
}

.jm_eyebrow_light {
	color: #C9C9C9;
}

.jm_home h2 {
	margin: 0;
	font-size: clamp(26px, 3vw, 38px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: inherit;
}

.jm_block {
	padding-top: clamp(40px, 6vw, 72px);
	padding-bottom: clamp(40px, 6vw, 72px);
}

.jm_source {
	margin: 14px 0 0;
	font-family: var(--jm-mono);
	font-size: 12px;
	line-height: 1.5;
	color: #5A5A5A;
}

.jm_btn {
	display: inline-block;
	padding: 14px 24px;
	border: 2px solid var(--jm-ink);
	border-radius: 8px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.jm_btn_primary {
	background: var(--jm-ink);
	color: #fff;
}

.jm_btn_primary:hover,
.jm_btn_primary:focus {
	background: var(--jm-accent);
	border-color: var(--jm-accent);
	color: #fff;
}

.jm_btn_ghost {
	background: #fff;
	color: var(--jm-ink);
}

.jm_btn_ghost:hover,
.jm_btn_ghost:focus {
	background: var(--jm-ink);
	color: #fff;
}

.jm_btn_accent {
	background: var(--jm-accent);
	border-color: var(--jm-accent);
	color: #fff;
}

.jm_btn_accent:hover,
.jm_btn_accent:focus {
	background: #fff;
	color: var(--jm-ink);
	border-color: #fff;
}

.jm_btn_light {
	background: transparent;
	border-color: #fff;
	color: #fff;
}

.jm_btn_light:hover,
.jm_btn_light:focus {
	background: #fff;
	color: var(--jm-ink);
}

.jm_link_arrow {
	font-weight: 700;
	text-decoration: none;
}

.jm_link_arrow::after {
	content: " →";
}

/* ---------- Home: hero ---------- */

.jm_hero {
	padding: clamp(24px, 3vw, 40px) 0 clamp(36px, 5vw, 64px);
}

.jm_hero_grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px 56px;
}

.jm_hero_text {
	flex: 1 1 520px;
	min-width: 0;
}

.jm_hero_stats {
	flex: 1 1 440px;
	min-width: 0;
}

.jm_hero h1 {
	margin: 0 0 24px;
	font-size: clamp(34px, 5vw, 60px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--jm-ink);
}

.jm_hero h1 .jm_accent {
	display: block;
}

.jm_lead {
	max-width: 620px;
	margin: 0 0 28px;
	font-size: 18px;
	line-height: 1.6;
	color: var(--jm-ink-soft);
}

.jm_hero_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

.jm_stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_stats li {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--jm-line);
	border-radius: 12px;
}

.jm_stat_value {
	display: block;
	font-size: clamp(40px, 4.4vw, 56px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--jm-ink);
}

.jm_stat_value.jm_accent {
	color: var(--jm-accent);
}

.jm_stat_label {
	display: block;
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.4;
	color: var(--jm-ink-soft);
}

/* ---------- Home: bands ---------- */

.jm_band {
	padding: clamp(40px, 6vw, 72px) 0;
	background: var(--jm-neutral);
}

.jm_band_dark {
	background: var(--jm-ink);
	color: #fff;
}

.jm_band_head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	margin-bottom: 40px;
}

.jm_band_lead {
	max-width: 420px;
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--jm-ink-soft);
}

/* Workflow line */

.jm_flow {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_flow li {
	position: relative;
	flex-basis: 0;
	min-width: 118px;
	margin: 0;
	padding: 0;
}

.jm_flow_bar {
	position: relative;
	display: block;
	height: 16px;
	background: var(--jm-ink);
	border-radius: 2px;
}

.jm_flow li:first-child .jm_flow_bar {
	border-radius: 4px 0 0 4px;
}

.jm_flow li:last-child .jm_flow_bar {
	border-radius: 0 4px 4px 0;
}

/* With the stage marker: finished stages dark, current accent, next ones light */
.jm_flow_tracked li .jm_flow_bar {
	background: #C9CCD2;
}

.jm_flow_tracked li.is_done .jm_flow_bar {
	background: var(--jm-ink);
}

.jm_flow_tracked li.is_current .jm_flow_bar {
	background: var(--jm-accent);
}

.jm_flow_dot {
	position: absolute;
	top: 50%;
	left: 10px;
	width: 26px;
	height: 26px;
	margin: -13px 0 0 0;
	border: 4px solid #fff;
	border-radius: 50%;
	background: var(--jm-accent);
	box-shadow: 0 0 0 2px var(--jm-accent);
}

.jm_flow_name,
.jm_flow_term,
.jm_flow_now {
	display: block;
	overflow-wrap: anywhere;
}

.jm_flow_name {
	margin-top: 14px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
}

.jm_flow_term {
	margin-top: 4px;
	font-size: 13px;
	line-height: 1.4;
	color: var(--jm-ink-soft);
}

.jm_flow_now {
	display: inline-block;
	margin-top: 10px;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--jm-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

/* Most read */

.jm_mostread_list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 20px;
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
}

.jm_mostread_list li {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--jm-line);
	border-radius: 12px;
}

.jm_rank {
	display: block;
	margin-bottom: 12px;
	font-family: var(--jm-mono);
	font-size: 22px;
	font-weight: 500;
	color: var(--jm-accent);
}

.jm_home .jm_mostread_list h3 {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 800;
	line-height: 1.35;
}

.jm_mostread_list h3 a {
	color: var(--jm-ink);
	text-decoration: none;
}

.jm_mostread_list h3 a:hover,
.jm_mostread_list h3 a:focus {
	color: var(--jm-accent);
	text-decoration: underline;
}

.jm_mostread_authors {
	margin: 0 0 14px;
	font-size: 14px;
	color: var(--jm-ink-soft);
}

.jm_mostread_numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 0;
	font-size: 14px;
	color: var(--jm-ink-soft);
}

.jm_mostread_numbers strong {
	font-size: 22px;
	font-weight: 800;
	color: var(--jm-ink);
}

.jm_mostread_numbers a {
	font-weight: 700;
}

/* Call-to-action band (latest announcement) */

.jm_cta_grid {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 28px 40px;
}

.jm_cta_grid > div {
	flex: 1 1 520px;
	min-width: 0;
}

.jm_cta_band h2 {
	margin-bottom: 12px;
}

.jm_cta_text {
	max-width: 720px;
	font-size: 16px;
	line-height: 1.6;
	color: #C9C9C9;
}

.jm_cta_text p {
	margin: 0;
}

.jm_cta_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

/* Articles of the current issue */

.jm_articles {
	margin: 32px 0 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--jm-line);
}

.jm_article {
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--jm-line);
}

.jm_article_row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 16px 32px;
	padding: 28px 0;
}

.jm_article_num {
	flex: 0 0 32px;
	font-family: var(--jm-mono);
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--jm-accent);
}

.jm_article_main {
	flex: 1 1 420px;
	min-width: 0;
}

.jm_articles .jm_article_title {
	margin: 0 0 10px;
	font-size: clamp(18px, 1.8vw, 22px);
	font-weight: 800;
	line-height: 1.3;
}

.jm_article_title a {
	color: var(--jm-ink);
	text-decoration: none;
}

.jm_article_title a:hover,
.jm_article_title a:focus {
	color: var(--jm-accent);
	text-decoration: underline;
}

.jm_article_authors {
	margin: 0 0 8px;
	font-size: 15px;
	color: var(--jm-ink-soft);
}

.jm_article_doi {
	margin: 0;
	font-size: 13px;
	color: var(--jm-ink-soft);
	overflow-wrap: anywhere;
}

.jm_article_doi a {
	color: var(--jm-ink-soft);
	text-decoration: underline;
}

.jm_article_views {
	flex: 0 0 96px;
}

.jm_article_views_value {
	display: block;
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
}

.jm_article_views_label {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: var(--jm-ink-soft);
}

.jm_article_pdf {
	flex: 0 0 auto;
	padding: 11px 20px;
	border: 1.5px solid var(--jm-ink);
	border-radius: 8px;
	color: var(--jm-ink);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.jm_article_pdf:hover,
.jm_article_pdf:focus {
	background: var(--jm-ink);
	color: #fff;
}

.jm_issue_links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin: 28px 0 0;
}

.jm_home .homepage_image img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: 12px;
}

.jm_home .homepage_image,
.jm_home .additional_content {
	margin-left: auto;
	margin-right: auto;
}

/* ---------- Article page ---------- */

.jm_article_layout {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 40px clamp(32px, 4vw, 64px);
}

.jm_article_body {
	flex: 1 1 640px;
	min-width: 0;
	max-width: 880px;
}

.jm_article_aside {
	flex: 0 1 340px;
	min-width: 260px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

@media (min-width: 1100px) {
	.jm_article_aside {
		position: sticky;
		top: 24px;
	}
}

.jm_article_page .jm_article_head {
	margin-bottom: 8px;
}

.jm_article_page .jm_eyebrow {
	margin-bottom: 18px;
}

.jm_article_page h1.page_title {
	margin: 0 0 16px;
	font-size: clamp(26px, 3.4vw, 40px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--jm-ink);
}

.jm_article_page .subtitle {
	margin: 0 0 16px;
	font-size: 20px;
	line-height: 1.4;
	color: var(--jm-ink-soft);
}

.jm_published {
	margin: 0 0 20px;
	font-size: 15px;
	font-weight: 600;
	color: var(--jm-ink);
}

.jm_published_label {
	margin-right: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--jm-ink-soft);
}

.jm_article_page .item {
	margin: 0 0 36px;
	padding: 0;
	background: none;
	border: 0;
}

.jm_article_page .authors ul,
.jm_article_page ul.authors {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_article_page .authors li {
	margin: 0 0 14px;
	padding: 0;
}

.jm_article_page .authors .name {
	display: block;
	font-size: 18px;
	font-weight: 800;
}

.jm_article_page .authors .affiliation,
.jm_article_page .authors .userGroup,
.jm_article_page .authors .orcid {
	display: block;
	font-size: 15px;
	line-height: 1.5;
	color: var(--jm-ink-soft);
}

.jm_article_page .authors .orcid a {
	font-family: var(--jm-mono);
	font-size: 14px;
}

.jm_doi {
	margin: 0 0 24px;
	font-size: 15px;
	overflow-wrap: anywhere;
}

.jm_doi_label {
	margin-right: 8px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--jm-ink-soft);
}

.jm_galleys .galleys_links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_galleys .galleys_links li {
	margin: 0;
}

.jm_article_page .obj_galley_link,
.jm_article_page .obj_galley_link_supplementary {
	display: inline-block;
	padding: 13px 24px;
	border: 2px solid var(--jm-ink);
	border-radius: 8px;
	background: var(--jm-ink);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}

.jm_article_page .obj_galley_link_supplementary {
	background: #fff;
	color: var(--jm-ink);
}

.jm_article_page .obj_galley_link:hover,
.jm_article_page .obj_galley_link:focus {
	background: var(--jm-accent);
	border-color: var(--jm-accent);
	color: #fff;
}

.jm_article_page section.item > h2.label,
.jm_article_page section.item h2.label,
.jm_article_page .item.keywords h2.label,
.jm_article_page .item.references h2.label,
.jm_article_page .item.author_bios h2.label {
	margin: 0 0 14px;
	padding: 0;
	font-size: 24px !important;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--jm-ink);
}

.jm_article_page .abstract,
.jm_article_page .references .value,
.jm_bio_text {
	font-size: 17px;
	line-height: 1.7;
	color: #2A2A2A;
}

.jm_article_page .abstract p {
	margin: 0 0 1em;
}

.jm_keywords {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_keywords li {
	margin: 0;
	padding: 6px 14px;
	border: 1px solid #C9C9C9;
	border-radius: 999px;
	font-size: 14px;
}

.jm_bios {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_bio {
	margin: 0 0 18px;
	padding: 20px 24px;
	background: var(--jm-neutral);
	border-radius: 12px;
}

.jm_bio_name {
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 800;
}

.jm_bio_text p {
	margin: 0 0 0.6em;
}

.jm_bio_orcid {
	margin: 8px 0 0;
	font-size: 14px;
}

.jm_article_page .references .value p {
	margin: 0 0 10px;
	font-size: 16px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

/* How to cite, citation formats, download citation, sharing (side card) */
.jm_cite .item,
.jm_cite .sub_item {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	background: none;
}

.jm_cite > :last-child,
.jm_cite .item:last-child {
	margin-bottom: 0;
}

.jm_cite h2,
.jm_cite .item > .label,
.jm_cite .item > h2.label {
	margin: 0 0 12px;
	padding: 0;
	font-size: 18px !important;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
	color: var(--jm-ink);
}

.jm_cite h3,
.jm_cite .sub_item > .label,
.jm_cite .sub_item h3.label {
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 800;
	color: var(--jm-ink);
}

.jm_cite .citation_display .csl-entry,
.jm_cite .citation_display .csl-bib-body {
	padding: 14px 16px;
	background: var(--jm-neutral);
	border-radius: 10px;
	font-size: 14px;
	line-height: 1.6;
	overflow-wrap: anywhere;
}

.jm_cite .csl-entry + .csl-entry {
	margin-top: 8px;
}

.jm_card.jm_cite ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_cite li {
	margin: 0;
	padding: 0;
}

.jm_cite ul a,
.jm_cite .citation_formats_button {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border: 1.5px solid var(--jm-ink);
	border-radius: 999px;
	background: #fff;
	color: var(--jm-ink);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	cursor: pointer;
}

.jm_cite ul a:hover,
.jm_cite ul a:focus,
.jm_cite .citation_formats_button:hover,
.jm_cite .citation_formats_button:focus {
	background: var(--jm-ink);
	color: #fff;
}

/* The list of citation styles (APA, MLA, ...) is a vertical list, not chips */
.jm_cite .citation_formats_styles {
	flex-direction: column;
	gap: 0;
	margin-top: 8px;
}

.jm_cite .citation_formats_styles a {
	display: block;
	padding: 8px 12px;
	border: 0;
	border-radius: 6px;
	background: none;
	font-weight: 600;
}

.jm_cite .citation_formats_styles a:hover,
.jm_cite .citation_formats_styles a:focus {
	background: var(--jm-neutral);
	color: var(--jm-ink);
}

.jm_cite .citation_formats_list {
	margin-top: 8px;
}

/* Side cards */

.jm_card {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--jm-line);
	border-radius: 12px;
	background: #fff;
}

.jm_card h2 {
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
	color: var(--jm-ink);
}

.jm_card_cover {
	padding: 0;
	overflow: hidden;
}

.jm_card_cover img {
	display: block;
	width: 100%;
	height: auto;
}

.jm_facts {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
}

.jm_facts dt {
	margin: 0;
	color: #5A5A5A;
}

.jm_facts dd {
	margin: 0 0 12px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.jm_facts dd:last-child {
	margin-bottom: 0;
}

.jm_usage_list {
	margin: 0;
}

.jm_usage_list div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid var(--jm-line);
}

.jm_usage_list div:last-child {
	border-bottom: 0;
}

.jm_usage_list dt {
	margin: 0;
	font-size: 14px;
	color: var(--jm-ink-soft);
}

.jm_usage_list dd {
	margin: 0;
	font-family: var(--jm-mono);
	font-size: 20px;
	font-weight: 500;
	color: var(--jm-ink);
}

.jm_card:not(.jm_cite) ul {
	margin: 0;
	padding-left: 18px;
}

/* ---------- Text pages, issue pages, forms ---------- */

.pkp_structure_main h1,
.page h1 {
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.pkp_structure_main h2 {
	font-weight: 800;
	letter-spacing: -0.01em;
}

.cmp_breadcrumbs {
	margin-bottom: 24px;
	font-size: 13px;
}

.cmp_button,
.pkp_button,
button[type="submit"],
input[type="submit"] {
	border-radius: 8px;
	font-weight: 700;
}

.obj_article_summary .title a {
	color: var(--jm-ink);
}

.obj_article_summary .title a:hover,
.obj_article_summary .title a:focus {
	color: var(--jm-accent);
}

.obj_galley_link {
	border-radius: 8px;
	font-weight: 700;
}

/* ---------- Footer ---------- */

.pkp_structure_footer_wrapper {
	background: var(--jm-dark);
	color: rgba(255, 255, 255, 0.78);
	border-top: 0;
}

.pkp_structure_footer {
	padding-top: 48px;
	padding-bottom: 32px;
	text-align: left;
}

.pkp_structure_footer a {
	color: #fff;
}

.jm_footer_grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 32px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.jm_footer_name {
	margin: 0 0 8px;
	font-size: 20px;
	font-weight: 800;
	color: #fff;
}

.jm_footer_meta {
	margin: 0 0 4px;
	font-family: var(--jm-mono);
	font-size: 13px;
}

.jm_footer_nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jm_footer_nav li {
	margin: 0;
}

.jm_footer_nav a {
	font-weight: 600;
	text-decoration: none;
}

.jm_footer_nav a:hover,
.jm_footer_nav a:focus {
	text-decoration: underline;
}

.pkp_brand_footer {
	margin-top: 24px;
	padding: 0;
	text-align: left;
}

.pkp_brand_footer img {
	filter: brightness(0) invert(1);
	opacity: 0.7;
}

/* ---------- Small screens: content ---------- */

@media (max-width: 767px) {
	.jm_flow {
		flex-direction: column;
		gap: 16px;
	}

	.jm_flow li {
		flex-grow: 1 !important;
	}

	.jm_article_views {
		flex: 0 0 auto;
		display: flex;
		align-items: baseline;
		gap: 8px;
	}

	.jm_article_row {
		gap: 12px 16px;
	}

	.jm_article_num {
		flex-basis: 28px;
	}

	.jm_topbar_issn {
		display: none;
	}

	.jm_topbar_inner {
		justify-content: flex-end;
	}
}

@media print {
	.jm_topbar,
	.jm_cta,
	.jm_lang,
	.jm_article_aside {
		display: none;
	}
}
