/**
 * APPROACH Modern
 * Consolidated frontend stylesheet
 */

:root {
	--orange: #f47a1f;
	--orange-dark: #d95c08;
	--orange-soft: #fff3e6;
	--gold: #ffb21b;
	--navy: #142d40;
	--text: #314553;
	--muted: #6b7c88;
	--border: #e7ecef;
	--bg: #f7f9fb;
	--white: #fff;
	--shadow: 0 14px 40px rgba(24,48,66,.08);
}


/* =========================================================
   Reset OJS parent layout
   ========================================================= */

html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

body.approach-modern-body {
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: hidden;
	background: var(--bg);
	color: var(--text);
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif !important;
}

.approach-site,
.approach-site .pkp_structure_content,
.approach-site .pkp_structure_main,
.approach-site .page_index_journal {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;

	margin: 0 !important;
	padding: 0 !important;

	float: none !important;
}

.approach-site .pkp_structure_main:before,
.approach-site .pkp_structure_main:after {
	content: none !important;
	display: none !important;
}


/* Accessibility */

.approach-site .pkp_screen_reader,
.approach-site .cmp_skip_to_content a {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.approach-site .cmp_skip_to_content a:focus {
	position: fixed !important;
	z-index: 9999 !important;
	top: 12px !important;
	left: 12px !important;
	width: auto !important;
	height: auto !important;
	clip: auto !important;
	margin: 0 !important;
	padding: 10px 14px !important;
	background: #fff !important;
	border: 2px solid var(--orange) !important;
	color: var(--navy) !important;
}


/* =========================================================
   Header
   ========================================================= */

.approach-header {
	width: 100%;
	background: #fff;
	border: 0 !important;
	border-top: 4px solid var(--orange) !important;
	box-shadow: 0 1px 0 rgba(20,45,64,.08);
}

.approach-head-wrapper {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 30px;
}

.approach-brand-row {
	min-height: 96px;

	display: flex;
	align-items: center;

	width: 100%;
	gap: 22px;
}

.approach-brand {
	display: flex;
	align-items: center;
	gap: 14px;

	margin-right: auto;

	color: var(--navy) !important;
	text-decoration: none !important;
}

.approach-brand-mark {
	width: 58px;
	height: 58px;
	flex: 0 0 58px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background:
		linear-gradient(
			135deg,
			var(--orange),
			var(--gold)
		);

	color: #fff;
	font-size: 25px;
}

.approach-brand-copy {
	display: flex;
	flex-direction: column;

	line-height: 1.12;
}

.approach-brand-title {
	color: var(--orange);

	font-size: 28px;
	font-weight: 800;
	letter-spacing: .06em;
}

.approach-brand-subtitle {
	margin-top: 3px;

	color: var(--navy);

	font-size: 14px;
	font-weight: 700;
}

.approach-brand-institution {
	margin-top: 5px;

	color: var(--muted);

	font-size: 11px;
	font-weight: 500;
}


/* Header actions */

.approach-header-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 11px;

	margin-left: auto;
}

.approach-search-link {
	height: 42px;

	display: inline-flex;
	align-items: center;
	gap: 8px;

	padding: 0 16px;

	border: 1px solid var(--border);
	border-radius: 22px;

	background: #fafbfc;

	color: var(--navy) !important;
	font-size: 13px;
	font-weight: 600;

	text-decoration: none !important;
}

.approach-search-link:hover {
	border-color: #f1bf95;
	background: var(--orange-soft);
}


/* =========================================================
   OJS user menu
   ========================================================= */

.approach-user-wrapper,
.approach-user-wrapper ul,
.approach-user-wrapper li {
	position: static;
	margin: 0;
	padding: 0;
	float: none;
}

.approach-user-menu {
	display: flex !important;
	align-items: center;
	gap: 8px;

	width: auto !important;
	max-width: none !important;

	list-style: none;
}

.approach-user-menu > li {
	position: relative !important;
	display: block !important;
}

.approach-user-menu > li > a {
	display: inline-flex !important;
	align-items: center !important;

	min-height: 42px;

	padding: 9px 15px !important;

	border: 1px solid var(--border) !important;
	border-radius: 8px !important;

	background: #fff !important;

	color: var(--navy) !important;

	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;

	text-decoration: none !important;
	text-transform: none !important;

	box-shadow: 0 3px 9px rgba(20,45,64,.05);
}


/* Logged-in dropdown */

.approach-user-menu > li > ul {
	display: none !important;

	position: absolute !important;
	z-index: 500 !important;

	top: calc(100% + 7px) !important;
	right: 0 !important;
	left: auto !important;

	min-width: 200px !important;

	padding: 7px !important;

	list-style: none;

	background: #fff !important;

	border: 1px solid var(--border) !important;
	border-radius: 9px !important;

	box-shadow: 0 15px 35px rgba(20,45,64,.15) !important;
}

.approach-user-menu > li:hover > ul,
.approach-user-menu > li:focus-within > ul {
	display: block !important;
}

.approach-user-menu > li > ul > li {
	display: block !important;
}

.approach-user-menu > li > ul > li > a {
	display: block !important;

	width: 100% !important;

	padding: 10px 12px !important;

	border: 0 !important;
	border-radius: 6px !important;

	background: transparent !important;

	color: var(--text) !important;

	font-family: inherit !important;
	font-size: 12px !important;
	font-weight: 500 !important;

	text-decoration: none !important;
	white-space: nowrap;
}

.approach-user-menu > li > ul > li > a:hover {
	background: var(--orange-soft) !important;
	color: var(--orange-dark) !important;
}


/* =========================================================
   Primary navigation
   ========================================================= */

.approach-navigation {
	width: 100%;

	position: static !important;

	border-top: 1px solid #edf0f2;

	margin: 0 !important;
	padding: 0 !important;
}

.approach-primary-menu {
	display: flex !important;
	align-items: center;
	gap: 3px;

	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	list-style: none;
}

.approach-primary-menu > li {
	position: relative;

	margin: 0 !important;
	padding: 0 !important;
}

.approach-primary-menu > li > a {
	display: block;

	padding: 19px 15px 17px !important;

	border-bottom: 3px solid transparent;

	color: #344956 !important;

	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 650 !important;

	text-decoration: none !important;
	text-transform: none !important;
}

.approach-primary-menu > li > a:hover,
.approach-primary-menu > li > a:focus {
	border-bottom-color: var(--orange);
	color: var(--orange-dark) !important;
}


/* Dropdowns */

.approach-primary-menu ul {
	position: absolute;
	z-index: 400;

	top: 100%;
	left: 0;

	min-width: 210px;

	margin: 0;
	padding: 7px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 8px;

	box-shadow: var(--shadow);
}

.approach-primary-menu ul a {
	display: block;

	padding: 9px 11px;

	color: var(--text) !important;

	font-family: inherit !important;
	font-size: 12px !important;

	text-decoration: none !important;
}


/* =========================================================
   Homepage
   ========================================================= */

.approach-home {
	width: 100%;
	background: var(--bg);

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif !important;
}


/* =========================================================
   Hero
   ========================================================= */

.approach-hero {
	position: relative;

	width: 100%;
	max-width: none;

	overflow: hidden;

	background:
		linear-gradient(
			105deg,
			#fff 0%,
			#fff8ef 48%,
			#ffe1b1 100%
		);

	border-bottom: 1px solid #eee3d6;
}

.approach-hero-inner {
	position: relative;
	z-index: 2;

	width: 100%;
	max-width: 1280px;
	min-height: 470px;

	margin: 0 auto;
	padding: 62px 30px 45px;

	display: grid;
	grid-template-columns:
		minmax(0,1.15fr)
		minmax(350px,.85fr);

	align-items: center;
	gap: 35px;
}

.approach-hero-content {
	max-width: 700px;
}

.approach-eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;

	margin-bottom: 16px;

	color: var(--orange-dark);

	font-size: 11px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.approach-eyebrow-line {
	width: 34px;
	height: 3px;

	background: var(--orange);

	border-radius: 3px;
}

.approach-home .approach-hero-title {
	margin: 0 !important;
	padding: 0 !important;

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif !important;

	line-height: 1 !important;
}

.approach-home .approach-hero-title > span {
	display: block;

	color: var(--orange);

	font-family: inherit !important;
	font-size: clamp(50px,5.4vw,76px) !important;
	font-weight: 850 !important;

	letter-spacing: .025em;
}

.approach-home .approach-hero-title > small {
	display: block;

	margin-top: 12px;

	color: var(--navy);

	font-family: inherit !important;
	font-size: clamp(21px,2.2vw,31px) !important;
	font-weight: 750 !important;
	line-height: 1.2 !important;
}

.approach-hero-description {
	max-width: 640px;

	margin-top: 22px;

	color: #566a77;

	font-size: 14px;
	line-height: 1.75;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;

	overflow: hidden;
}

.approach-hero-description p {
	margin: 0;
}

.approach-hero-issn {
	display: flex;
	flex-wrap: wrap;
	gap: 17px;

	margin-top: 19px;

	color: #536673;

	font-size: 13px;
}

.approach-hero-issn span {
	padding-right: 17px;
	border-right: 1px solid #d9d8d4;
}

.approach-hero-issn span:last-child {
	border-right: 0;
}

.approach-hero-issn strong {
	margin-right: 5px;
	color: var(--navy);
}

.approach-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;

	margin-top: 28px;
}

.approach-btn {
	min-height: 48px;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;

	padding: 12px 20px;

	border-radius: 7px;

	font-size: 13px;
	font-weight: 700;

	text-decoration: none !important;
}

.approach-btn-primary {
	background: var(--orange);

	border: 1px solid var(--orange);

	color: #fff !important;

	box-shadow: 0 8px 22px rgba(244,122,31,.22);
}

.approach-btn-secondary {
	background: rgba(255,255,255,.88);

	border: 1px solid #e8c59f;

	color: var(--navy) !important;
}


/* Hero aviation illustration */

.approach-hero-visual {
	position: relative;
	height: 360px;
}

.approach-sun {
	position: absolute;

	width: 215px;
	height: 215px;

	top: 55px;
	right: 52px;

	border-radius: 50%;

	background: rgba(255,178,27,.22);

	box-shadow:
		0 0 0 38px rgba(255,178,27,.08),
		0 0 0 75px rgba(255,178,27,.04);
}

.approach-plane {
	position: absolute;
	z-index: 3;

	top: 105px;
	right: 48px;

	color: #fff;

	font-size: 145px;

	transform: rotate(-13deg);

	text-shadow:
		0 13px 28px rgba(125,75,20,.18);
}

.approach-flight-path {
	position: absolute;

	border: 2px dashed rgba(218,105,19,.23);
	border-color:
		rgba(218,105,19,.23)
		transparent
		transparent
		transparent;

	border-radius: 50%;

	transform: rotate(-18deg);
}

.approach-flight-path-one {
	width: 360px;
	height: 180px;

	top: 35px;
	right: -45px;
}

.approach-flight-path-two {
	width: 300px;
	height: 145px;

	top: 190px;
	right: 65px;
}

.approach-hero-slogan {
	position: absolute;

	right: 5px;
	bottom: 42px;

	display: flex;
	flex-direction: column;

	text-align: right;

	color: #896b52;

	font-size: 15px;
	font-style: italic;
}

.approach-hero-slogan strong {
	margin-top: 2px;

	color: var(--orange-dark);

	font-size: 21px;
}

.approach-runway {
	position: absolute;

	left: 5px;
	right: -80px;
	bottom: 17px;

	height: 2px;

	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(105,81,55,.23),
			transparent
		);
}

.approach-hero-topics {
	position: relative;
	z-index: 2;

	max-width: 1280px;

	margin: 0 auto;
	padding: 0 30px 25px;

	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 9px;

	color: #856f59;

	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.approach-hero-topics i {
	width: 4px;
	height: 4px;

	border-radius: 50%;

	background: var(--orange);
}


/* =========================================================
   Trust strip
   ========================================================= */

.approach-trust-strip {
	max-width: 1220px;

	margin: 0 auto;
	padding: 0 25px;

	display: grid;
	grid-template-columns: repeat(4,1fr);

	background: #fff;

	border: 1px solid var(--border);
	border-top: 0;

	border-radius: 0 0 10px 10px;

	box-shadow: 0 11px 28px rgba(30,53,70,.05);
}

.approach-trust-item {
	min-height: 90px;

	display: flex;
	align-items: center;
	gap: 13px;

	padding: 18px 20px;

	border-right: 1px solid var(--border);
}

.approach-trust-item:last-child {
	border-right: 0;
}

.approach-trust-icon {
	width: 38px;
	height: 38px;
	flex: 0 0 38px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 50%;

	background: var(--orange-soft);

	color: var(--orange);

	font-size: 18px;
}

.approach-trust-item strong,
.approach-trust-item span {
	display: block;
}

.approach-trust-item strong {
	color: var(--navy);
	font-size: 13px;
}

.approach-trust-item span {
	margin-top: 2px;

	color: var(--muted);

	font-size: 10px;
}


/* =========================================================
   Sections
   ========================================================= */

.approach-section {
	width: 100%;
	max-width: 1220px;

	margin: 0 auto;
	padding: 72px 25px 0;
}

.approach-section-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 25px;

	margin-bottom: 23px;
}

.approach-section-kicker {
	display: block;

	margin-bottom: 5px;

	color: var(--orange);

	font-size: 10px;
	font-weight: 800;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.approach-home .approach-section h2 {
	position: relative;

	margin: 0 !important;
	padding: 0 0 0 15px !important;

	color: var(--navy);

	font-family: inherit !important;
	font-size: 27px !important;
	font-weight: 750 !important;
	line-height: 1.25 !important;
}

.approach-section h2:before {
	content: "";

	position: absolute;

	left: 0;
	top: 4px;
	bottom: 3px;

	width: 4px;

	background: var(--orange);

	border-radius: 3px;
}

.approach-current-issue-title {
	margin: 8px 0 0 15px;

	color: var(--muted);

	font-size: 13px;
}

.approach-section-link {
	color: var(--orange-dark) !important;

	font-size: 12px;
	font-weight: 700;
}


/* Current issue */

.approach-issue-card {
	padding: 30px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 12px;

	box-shadow: 0 12px 34px rgba(30,48,62,.055);
}

.approach-issue-card .obj_issue_toc {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}


/* About / additional */

.approach-additional-content {
	padding-bottom: 70px;
}

.approach-content-card {
	padding: 30px 34px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 12px;

	color: #556875;
}


/* =========================================================
   Temporary footer
   ========================================================= */

.approach-site .pkp_structure_footer_wrapper {
	margin-top: 75px;

	background: var(--navy);

	border-top: 4px solid var(--orange);
}

.approach-site .pkp_structure_footer {
	max-width: 1220px;

	margin: 0 auto;
	padding: 35px 25px;

	color: rgba(255,255,255,.78);
}


/* =========================================================
   Responsive
   ========================================================= */

.approach-menu-toggle {
	display: none;
}


@media (max-width: 900px) {

	.approach-head-wrapper {
		padding: 0 20px;
	}

	.approach-brand-institution {
		display: none;
	}

	.approach-hero-inner {
		grid-template-columns: 1fr 300px;

		padding-left: 22px;
		padding-right: 22px;
	}

	.approach-plane {
		font-size: 112px;
	}

	.approach-trust-strip {
		grid-template-columns: repeat(2,1fr);
	}

	.approach-trust-item:nth-child(2) {
		border-right: 0;
	}

}


@media (max-width: 700px) {

	.approach-head-wrapper {
		padding: 0 16px;
	}

	.approach-brand-row {
		min-height: 76px;
	}

	.approach-brand-mark {
		width: 45px;
		height: 45px;
		flex-basis: 45px;

		font-size: 19px;
	}

	.approach-brand-title {
		font-size: 21px;
	}

	.approach-brand-subtitle {
		font-size: 10px;
	}

	.approach-search-link span {
		display: none;
	}

	.approach-user-menu > li > a {
		padding: 8px 10px !important;
	}

	.approach-hero-inner {
		display: block;

		min-height: 0;

		padding: 45px 20px 30px;
	}

	.approach-hero-visual {
		height: 220px;
		margin-top: 25px;
	}

	.approach-home .approach-hero-title > span {
		font-size: 48px !important;
	}

	.approach-home .approach-hero-title > small {
		font-size: 21px !important;
	}

	.approach-trust-strip {
		grid-template-columns: 1fr;

		padding: 0;

		border-radius: 0;
	}

	.approach-trust-item {
		border-right: 0;
		border-bottom: 1px solid var(--border);
	}

	.approach-section {
		padding: 55px 18px 0;
	}

	.approach-section-heading {
		flex-direction: column;
		align-items: flex-start;
	}

	.approach-issue-card {
		padding: 19px;
	}

}



/* =========================================================
   FINAL HEADER / HERO ALIGNMENT
   ========================================================= */


/* Remove remaining OJS default-theme content scaffold */

.approach-site .pkp_structure_content,
.approach-site .pkp_structure_main {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
	background: transparent !important;

	float: none !important;
}

.approach-site .pkp_structure_main:first-child:last-child {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}

.approach-site .pkp_structure_main:before,
.approach-site .pkp_structure_main:after {
	content: none !important;
	display: none !important;
}


/* Remove empty strip between navigation and homepage */

.approach-site .pkp_structure_content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.approach-home {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;

	overflow: visible !important;
}


/*
 * Full-bleed hero.
 *
 * This deliberately escapes any residual PKP parent container
 * so the hero background reaches both viewport edges.
 */

.approach-home .approach-hero {
	position: relative !important;

	left: 50% !important;

	width: 100vw !important;
	max-width: 100vw !important;

	margin-left: -50vw !important;
	margin-right: 0 !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* Hero typography */

.approach-home .approach-hero-title,
.approach-home .approach-hero-title > span,
.approach-home .approach-hero-title > small {
	font-family:
		Arial,
		"Helvetica Neue",
		Helvetica,
		sans-serif !important;
}

.approach-home .approach-hero-title > span {
	font-weight: 800 !important;
	letter-spacing: .025em !important;
}

.approach-home .approach-hero-title > small {
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}


/* Description remains comfortably readable */

.approach-home .approach-hero-description,
.approach-home .approach-hero-description * {
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif !important;
}


/* Remove accidental horizontal overflow */

html,
body.approach-modern-body,
.approach-site {
	overflow-x: hidden !important;
}



/* =========================================================
   PATCH 3
   Homepage lower sections
   ========================================================= */


/* Main two-column homepage */

.approach-home-main {
	width: 100%;
	max-width: 1220px;

	margin: 0 auto;
	padding: 78px 25px 0;

	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
	gap: 30px;

	align-items: start;
}


/* Shared headings */

.approach-home-main .approach-section-heading {
	margin-bottom: 22px;
}

.approach-home-main h2 {
	position: relative;

	margin: 0 !important;
	padding: 0 0 0 15px !important;

	color: var(--navy);

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif !important;

	font-size: 27px !important;
	font-weight: 750 !important;
	line-height: 1.25 !important;
}

.approach-home-main h2:before {
	content: "";

	position: absolute;

	left: 0;
	top: 4px;
	bottom: 3px;

	width: 4px;

	background: var(--orange);

	border-radius: 3px;
}


/* =========================================================
   Latest Issue
   ========================================================= */

.approach-home-issue {
	min-width: 0;
}

.approach-home-issue .approach-issue-card {
	padding: 25px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 12px;

	box-shadow: 0 12px 34px rgba(30,48,62,.055);
}

.approach-home-issue .obj_issue_toc {
	margin: 0 !important;
	padding: 0 !important;

	border: 0 !important;
}

.approach-home-issue .obj_issue_toc .heading {
	margin-top: 0 !important;
}

.approach-home-issue .obj_issue_toc .cover img {
	border-radius: 7px;

	box-shadow: 0 7px 20px rgba(30,48,62,.12);
}

.approach-home-issue .obj_issue_toc .section {
	margin-top: 28px;
}

.approach-home-issue .obj_article_summary {
	padding-top: 20px;
	padding-bottom: 20px;

	border-bottom: 1px solid #edf0f2;
}

.approach-home-issue .obj_article_summary:last-child {
	border-bottom: 0;
}

.approach-home-issue .obj_article_summary .title,
.approach-home-issue .obj_article_summary .title a {
	color: var(--navy) !important;

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif !important;

	font-weight: 700 !important;
}

.approach-home-issue .obj_article_summary .authors {
	color: var(--muted);
}


/* =========================================================
   About
   ========================================================= */

.approach-about-card {
	padding: 26px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 12px;

	box-shadow: 0 12px 34px rgba(30,48,62,.045);
}

.approach-about-text {
	color: #586b78;

	font-size: 13px;
	line-height: 1.75;

	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 10;

	overflow: hidden;
}

.approach-about-text > :first-child {
	margin-top: 0;
}

.approach-about-more {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	margin-top: 19px;

	padding: 10px 14px;

	border: 1px solid #f1c294;
	border-radius: 7px;

	background: var(--orange-soft);

	color: var(--orange-dark) !important;

	font-size: 12px;
	font-weight: 700;

	text-decoration: none !important;
}


/* Quick links */

.approach-quick-links {
	margin-top: 16px;

	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 12px;
}

.approach-quick-card {
	min-height: 69px;

	display: grid;
	grid-template-columns: 38px 1fr auto;
	align-items: center;
	gap: 10px;

	padding: 13px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 9px;

	color: var(--navy) !important;

	font-size: 12px;
	font-weight: 650;

	text-decoration: none !important;

	box-shadow: 0 5px 18px rgba(30,48,62,.04);

	transition:
		transform .18s ease,
		border-color .18s ease,
		box-shadow .18s ease;
}

.approach-quick-card:hover {
	transform: translateY(-2px);

	border-color: #f1c294;

	box-shadow: 0 9px 24px rgba(30,48,62,.08);
}

.approach-quick-icon {
	width: 38px;
	height: 38px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 8px;

	background: var(--orange-soft);

	color: var(--orange);

	font-size: 17px;
}

.approach-quick-card > .fa-angle-right {
	color: #8897a1;
}

.approach-quick-card-wide {
	grid-column: 1 / -1;
}


/* =========================================================
   Announcements
   ========================================================= */

.approach-announcement-grid {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 16px;
}

.approach-announcement-card {
	padding: 22px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 10px;
}

.approach-announcement-date {
	color: var(--muted);

	font-size: 10px;
}

.approach-announcement-card h3 {
	margin: 8px 0 0 !important;

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif !important;

	font-size: 15px !important;
	line-height: 1.5 !important;
}

.approach-announcement-card h3 a {
	color: var(--navy) !important;
	text-decoration: none;
}


/* =========================================================
   Indexing
   ========================================================= */

.approach-indexing {
	padding-bottom: 75px;
}

.approach-index-grid {
	display: grid;
	grid-template-columns: repeat(6,1fr);
	gap: 12px;
}

.approach-index-card {
	min-height: 88px;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	padding: 14px 10px;

	background: #fff;

	border: 1px solid var(--border);
	border-radius: 9px;

	text-align: center;

	box-shadow: 0 5px 16px rgba(30,48,62,.035);
}

.approach-index-card strong {
	color: var(--navy);

	font-size: 14px;
	font-weight: 750;
}

.approach-index-card span {
	margin-top: 4px;

	color: var(--muted);

	font-size: 9px;
}


/* =========================================================
   Empty cards
   ========================================================= */

.approach-empty-card {
	padding: 30px;

	background: #fff;

	border: 1px dashed #d8e0e5;
	border-radius: 10px;

	color: var(--muted);

	text-align: center;
}


/* =========================================================
   Responsive
   ========================================================= */

@media (max-width: 1000px) {

	.approach-home-main {
		grid-template-columns: 1fr;

		padding-left: 22px;
		padding-right: 22px;
	}

	.approach-index-grid {
		grid-template-columns: repeat(3,1fr);
	}

}


@media (max-width: 700px) {

	.approach-home-main {
		padding:
			55px
			18px
			0;
	}

	.approach-quick-links {
		grid-template-columns: 1fr;
	}

	.approach-quick-card-wide {
		grid-column: auto;
	}

	.approach-announcement-grid {
		grid-template-columns: 1fr;
	}

	.approach-index-grid {
		grid-template-columns: repeat(2,1fr);
	}

}


@media (max-width: 430px) {

	.approach-index-grid {
		grid-template-columns: 1fr;
	}

}



/* =========================================================
   POLTEKBANG HEADER LOGO
   Keep source image high-resolution, render compactly
   ========================================================= */

.approach-header .approach-brand-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    max-width: 64px !important;
    flex: 0 0 64px !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
}

.approach-header .approach-brand-logo img {
    display: block !important;

    width: 64px !important;
    height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;

    margin: 0 !important;
    padding: 0 !important;

    object-fit: contain !important;
}


/* Keep logo and journal identity vertically aligned */

.approach-header .approach-brand {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.approach-header .approach-brand-row {
    min-height: 92px !important;
}


/* Tablet */

@media (max-width: 900px) {

    .approach-header .approach-brand-logo,
    .approach-header .approach-brand-logo img {
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        max-width: 54px !important;
        max-height: 54px !important;
        flex-basis: 54px !important;
    }

}


/* Mobile */

@media (max-width: 700px) {

    .approach-header .approach-brand-logo,
    .approach-header .approach-brand-logo img {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
        flex-basis: 46px !important;
    }

}



/* =========================================================
   HERO IMAGE
   Real aviation background for homepage hero
   ========================================================= */

.approach-home .approach-hero {
    position: relative !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,.97) 0%,
            rgba(255,248,236,.94) 24%,
            rgba(255,241,220,.82) 42%,
            rgba(255,228,189,.45) 60%,
            rgba(255,220,170,.10) 100%
        ),
        url("../images/hero-aviation.webp") !important;

    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}


/* Keep text readable */

.approach-home .approach-hero-inner {
    position: relative !important;
    z-index: 2 !important;
    min-height: 520px !important;
}

.approach-home .approach-hero-content {
    position: relative !important;
    z-index: 5 !important;
    max-width: 700px !important;
}

.approach-home .approach-hero-description {
    color: #405461 !important;
}

.approach-home .approach-hero-issn {
    color: #4c6170 !important;
}


/* Hide temporary CSS illustration pieces */

.approach-home .approach-sun,
.approach-home .approach-flight-path,
.approach-home .approach-plane,
.approach-home .approach-runway {
    display: none !important;
}


/* Keep slogan as overlay badge */

.approach-home .approach-hero-slogan {
    position: absolute !important;
    right: 18px !important;
    bottom: 42px !important;
    z-index: 4 !important;

    padding: 10px 14px !important;

    border-radius: 8px !important;

    background: rgba(255,255,255,.62) !important;

    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);

    box-shadow: 0 8px 22px rgba(20,45,64,.08) !important;
}


/* Visual area still participates in layout, but image is now in background */

.approach-home .approach-hero-visual {
    min-height: 320px !important;
}


/* Responsive */

@media (max-width: 1100px) {

    .approach-home .approach-hero {
        background-position: 60% center !important;
    }

}

@media (max-width: 900px) {

    .approach-home .approach-hero {
        background-position: 64% center !important;
    }

    .approach-home .approach-hero-inner {
        min-height: 480px !important;
    }

}

@media (max-width: 700px) {

    .approach-home .approach-hero {
        background-position: 68% center !important;
    }

    .approach-home .approach-hero-inner {
        min-height: 0 !important;
    }

    .approach-home .approach-hero-slogan {
        display: none !important;
    }

    .approach-home .approach-hero-visual {
        min-height: 120px !important;
    }

}



/* =========================================================
   HERO V4 - REAL AVIATION IMAGE
   ========================================================= */

.approach-home section.approach-hero {
    position: relative !important;

    background-color: #f8efe3 !important;

    background-image:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,250,242,.96) 22%,
            rgba(255,244,226,.88) 38%,
            rgba(255,239,211,.65) 52%,
            rgba(255,225,178,.24) 68%,
            rgba(255,210,145,.05) 100%
        ),
        url("../images/hero-aviation.webp") !important;

    background-size:
        100% 100%,
        cover !important;

    background-position:
        center center,
        center center !important;

    background-repeat:
        no-repeat,
        no-repeat !important;
}


/* Make sure old decorative hero background cannot cover the image */

.approach-home section.approach-hero::before,
.approach-home section.approach-hero::after {
    pointer-events: none !important;
}


/* Inner structure must remain transparent */

.approach-home .approach-hero-inner,
.approach-home .approach-hero-content,
.approach-home .approach-hero-visual {
    background: transparent !important;
}


/* Remove old generated illustration */

.approach-home .approach-sun,
.approach-home .approach-flight-path,
.approach-home .approach-flight-path-one,
.approach-home .approach-flight-path-two,
.approach-home .approach-plane,
.approach-home .approach-runway {
    display: none !important;
}


/* Keep the text above the photographic background */

.approach-home .approach-hero-inner {
    position: relative !important;
    z-index: 2 !important;
    min-height: 500px !important;
}

.approach-home .approach-hero-content {
    position: relative !important;
    z-index: 3 !important;
}


/* Hide the temporary slogan overlay for now.
   The photograph should be evaluated cleanly first. */

.approach-home .approach-hero-slogan {
    display: none !important;
}


/* Hero topic strip remains unchanged */

.approach-home .approach-hero-topics {
    position: relative !important;
    z-index: 5 !important;
}


/* Tablet */

@media (max-width: 1000px) {

    .approach-home section.approach-hero {
        background-position:
            center center,
            60% center !important;
    }

}


/* Mobile */

@media (max-width: 700px) {

    .approach-home section.approach-hero {
        background-image:
            linear-gradient(
                90deg,
                rgba(255,255,255,.96) 0%,
                rgba(255,248,236,.90) 50%,
                rgba(255,238,215,.62) 100%
            ),
            url("../images/hero-aviation.webp") !important;

        background-position:
            center center,
            65% center !important;
    }

}



/* =========================================================
   LATEST ISSUE V1
   Homepage only
   ========================================================= */


/* Main issue container */

.approach-home .approach-home-issue .approach-issue-card {
    padding: 28px 30px !important;

    background: #fff !important;

    border: 1px solid #e3e9ed !important;
    border-radius: 14px !important;

    box-shadow: 0 12px 35px rgba(20,45,64,.055) !important;
}


/* Turn default OJS issue TOC into two columns */

.approach-home .approach-home-issue .obj_issue_toc {
    display: grid !important;

    grid-template-columns: 210px minmax(0,1fr) !important;

    column-gap: 28px !important;
    row-gap: 0 !important;

    align-items: start !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* =========================================================
   LEFT COLUMN : COVER
   ========================================================= */

.approach-home .approach-home-issue .obj_issue_toc > .heading {
    grid-column: 1 !important;
    grid-row: 1 !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* Cover */

.approach-home .approach-home-issue .obj_issue_toc .cover {
    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.approach-home .approach-home-issue .obj_issue_toc .cover img {
    display: block !important;

    width: 100% !important;
    height: auto !important;
    max-width: 210px !important;

    margin: 0 auto !important;

    border-radius: 8px !important;

    box-shadow:
        0 10px 25px rgba(20,45,64,.15) !important;
}


/*
 * Issue description is useful on the issue page,
 * but makes the homepage card unnecessarily tall.
 */

.approach-home .approach-home-issue .obj_issue_toc .description {
    display: none !important;
}


/* Hide default published block on homepage */

.approach-home .approach-home-issue .obj_issue_toc .published {
    display: none !important;
}


/* =========================================================
   RIGHT COLUMN : ARTICLES
   ========================================================= */

.approach-home .approach-home-issue .obj_issue_toc > .sections {
    grid-column: 2 !important;
    grid-row: 1 !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Some OJS 3.2 builds do not use a .sections wrapper */

.approach-home .approach-home-issue .obj_issue_toc > .section {
    grid-column: 2 !important;

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Section heading: Articles */

.approach-home .approach-home-issue .obj_issue_toc .section > h2,
.approach-home .approach-home-issue .obj_issue_toc .section > h3,
.approach-home .approach-home-issue .obj_issue_toc .section_title {
    margin: 0 0 10px !important;
    padding: 0 0 12px !important;

    border-bottom: 1px solid #e5eaed !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 15px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;

    text-decoration: none !important;
}


/* Remove OJS list defaults */

.approach-home .approach-home-issue .obj_issue_toc .articles {
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* =========================================================
   ARTICLE ROW
   ========================================================= */

.approach-home .approach-home-issue .obj_article_summary {
    position: relative !important;

    margin: 0 !important;
    padding: 17px 30px 17px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid #edf0f2 !important;

    background: transparent !important;
}

.approach-home .approach-home-issue .obj_article_summary:last-child {
    border-bottom: 0 !important;
}


/* Article title */

.approach-home .approach-home-issue .obj_article_summary .title {
    margin: 0 0 6px !important;
    padding: 0 !important;

    font-size: 14px !important;
    line-height: 1.42 !important;
}

.approach-home .approach-home-issue .obj_article_summary .title a {
    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.42 !important;

    text-decoration: none !important;
}

.approach-home .approach-home-issue .obj_article_summary .title a:hover {
    color: var(--orange-dark) !important;
}


/* Authors */

.approach-home .approach-home-issue .obj_article_summary .authors {
    margin: 0 0 8px !important;

    color: #667985 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;
    line-height: 1.5 !important;
}


/* Pages */

.approach-home .approach-home-issue .obj_article_summary .pages {
    color: #84939c !important;

    font-size: 10px !important;
}


/* =========================================================
   PDF / GALLEY BUTTON
   ========================================================= */

.approach-home .approach-home-issue .obj_article_summary .galleys_links {
    margin-top: 9px !important;
}

.approach-home .approach-home-issue .obj_article_summary .galleys_links li {
    margin: 0 6px 0 0 !important;
}

.approach-home .approach-home-issue .obj_article_summary .galley-link,
.approach-home .approach-home-issue .obj_article_summary .galleys_links a {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 29px !important;

    padding: 5px 11px !important;

    border: 1px solid #ef6c4d !important;
    border-radius: 5px !important;

    background: #fff !important;

    color: #e34b2e !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-decoration: none !important;
}

.approach-home .approach-home-issue .obj_article_summary .galley-link:hover,
.approach-home .approach-home-issue .obj_article_summary .galleys_links a:hover {
    background: #fff2ed !important;
}


/* =========================================================
   ARTICLE ARROW
   ========================================================= */

.approach-home .approach-home-issue .obj_article_summary:after {
    content: "\f105";

    position: absolute;

    right: 4px;
    top: 50%;

    transform: translateY(-50%);

    font-family: FontAwesome;

    color: #748894;

    font-size: 18px;
}


/* =========================================================
   ISSUE META ABOVE CARD
   ========================================================= */

.approach-home .approach-current-issue-title {
    margin-top: 8px !important;

    color: #6e808b !important;

    font-size: 12px !important;
    font-weight: 500 !important;
}


/* View all issues */

.approach-home .approach-home-issue .approach-section-link {
    color: var(--orange-dark) !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1150px) {

    .approach-home .approach-home-issue .obj_issue_toc {
        grid-template-columns: 175px minmax(0,1fr) !important;
        column-gap: 22px !important;
    }

    .approach-home .approach-home-issue .obj_issue_toc .cover img {
        max-width: 175px !important;
    }

}


@media (max-width: 760px) {

    .approach-home .approach-home-issue .approach-issue-card {
        padding: 20px !important;
    }

    .approach-home .approach-home-issue .obj_issue_toc {
        display: block !important;
    }

    .approach-home .approach-home-issue .obj_issue_toc > .heading {
        margin-bottom: 28px !important;
    }

    .approach-home .approach-home-issue .obj_issue_toc .cover img {
        width: 175px !important;
        max-width: 175px !important;

        margin-left: 0 !important;
    }

}



/* =========================================================
   HOMEPAGE CURRENT ISSUE - STRUCTURAL FIX V3
   Custom homepage-only markup
   ========================================================= */


/* ---------------------------------------------------------
   1. Reduce gap below trust strip
   Original value was 78px
   --------------------------------------------------------- */

.approach-home .approach-home-main {
    padding-top: 34px !important;
}


/* ---------------------------------------------------------
   2. Align Latest Issue and About headings
   The issue identification is now displayed under the cover
   --------------------------------------------------------- */

.approach-home .approach-current-issue-title {
    display: none !important;
}

.approach-home .approach-home-main {
    align-items: start !important;
}

.approach-home .approach-section-heading {
    min-height: 78px !important;
    margin-bottom: 14px !important;
}

.approach-home .approach-home-issue .approach-section-heading,
.approach-home .approach-home-about .approach-section-heading {
    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   3. Latest Issue card
   --------------------------------------------------------- */

.approach-home .approach-home-issue .approach-issue-card {
    margin: 0 !important;
    padding: 26px !important;

    background: #fff !important;

    border: 1px solid #e3e9ed !important;
    border-radius: 14px !important;

    box-shadow: 0 10px 30px rgba(20,45,64,.055) !important;
}


/* ---------------------------------------------------------
   4. Custom TOC structure
   --------------------------------------------------------- */

.approach-home .approach-home-issue-toc {
    display: grid !important;

    grid-template-columns: 215px minmax(0,1fr) !important;

    gap: 28px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    align-items: start !important;
}


/* =========================================================
   COVER COLUMN
   ========================================================= */

.approach-home .approach-home-issue-cover-column {
    min-width: 0 !important;
}

.approach-home .approach-home-issue-cover {
    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    text-decoration: none !important;
}

.approach-home .approach-home-issue-cover img {
    display: block !important;

    width: 100% !important;
    height: auto !important;

    max-width: 215px !important;

    margin: 0 !important;

    border-radius: 8px !important;

    box-shadow:
        0 10px 24px rgba(20,45,64,.14) !important;
}


/* Issue data BELOW the cover */

.approach-home .approach-home-issue-meta {
    margin-top: 15px !important;
}

.approach-home .approach-home-issue-series {
    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 14px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;
}

.approach-home .approach-home-issue-name {
    margin-top: 4px !important;

    color: #687b87 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
}


/* View This Issue */

.approach-home .approach-home-view-issue {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 8px !important;

    width: 100% !important;

    margin-top: 15px !important;
    padding: 10px 12px !important;

    border: 1px solid #f39a54 !important;
    border-radius: 6px !important;

    background: #fff !important;

    color: var(--orange-dark) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    text-decoration: none !important;

    transition:
        background .15s ease,
        border-color .15s ease;
}

.approach-home .approach-home-view-issue:hover {
    background: var(--orange-soft) !important;
    border-color: var(--orange) !important;
}


/* =========================================================
   ARTICLE COLUMN
   ========================================================= */

.approach-home .approach-home-issue-articles {
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

.approach-home .approach-home-article-list {
    list-style: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.approach-home .approach-home-article-item {
    list-style: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   ARTICLE SUMMARY
   Do NOT grid the summary itself.
   Keep title full width.
   ========================================================= */

.approach-home
.approach-home-issue-toc
.obj_article_summary {
    position: relative !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 15px 28px 15px 0 !important;

    border: 0 !important;
    border-bottom: 1px solid #e9edef !important;

    background: transparent !important;
}

.approach-home
.approach-home-article-item:first-child
.obj_article_summary {
    padding-top: 0 !important;
}

.approach-home
.approach-home-article-item:last-child
.obj_article_summary {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
}


/* Article title */

.approach-home
.approach-home-issue-toc
.obj_article_summary .title {
    display: block !important;

    width: 100% !important;

    margin: 0 0 6px !important;
    padding: 0 !important;

    border: 0 !important;
}

.approach-home
.approach-home-issue-toc
.obj_article_summary .title a {
    display: block !important;

    width: 100% !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 13.5px !important;
    font-weight: 750 !important;
    line-height: 1.38 !important;

    text-decoration: none !important;

    word-break: normal !important;
    overflow-wrap: break-word !important;
}

.approach-home
.approach-home-issue-toc
.obj_article_summary .title a:hover {
    color: var(--orange-dark) !important;
}


/* Author + page metadata */

.approach-home
.approach-home-issue-toc
.obj_article_summary .meta {
    display: flex !important;

    align-items: flex-start !important;
    justify-content: space-between !important;

    gap: 12px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}

.approach-home
.approach-home-issue-toc
.obj_article_summary .authors {
    flex: 1 1 auto !important;
    min-width: 0 !important;

    margin: 0 !important;

    color: #71828d !important;

    font-size: 10.5px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
}

.approach-home
.approach-home-issue-toc
.obj_article_summary .pages {
    flex: 0 0 auto !important;

    margin: 0 !important;

    color: #758792 !important;

    font-size: 10.5px !important;
    line-height: 1.45 !important;

    white-space: nowrap !important;
}


/* =========================================================
   ARTICLE PDF BUTTONS
   ========================================================= */

.approach-home
.approach-home-issue-toc
.obj_article_summary .galleys_links {
    display: flex !important;

    flex-wrap: wrap !important;

    gap: 6px !important;

    margin: 8px 0 0 !important;
    padding: 0 !important;

    list-style: none !important;
}

.approach-home
.approach-home-issue-toc
.obj_article_summary .galleys_links li {
    display: block !important;

    margin: 0 !important;
    padding: 0 !important;
}

.approach-home
.approach-home-issue-toc
.obj_article_summary .galley-link,
.approach-home
.approach-home-issue-toc
.obj_article_summary .galleys_links a {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    min-height: 28px !important;

    padding: 5px 11px !important;

    border: 1px solid #ef6a4d !important;
    border-radius: 5px !important;

    background: #fff !important;

    color: #df4f32 !important;

    font-size: 10px !important;
    font-weight: 700 !important;

    line-height: 1 !important;

    text-decoration: none !important;
}

.approach-home
.approach-home-issue-toc
.obj_article_summary .galley-link:hover,
.approach-home
.approach-home-issue-toc
.obj_article_summary .galleys_links a:hover {
    background: #fff2ed !important;
}


/* Article navigation arrow */

.approach-home
.approach-home-issue-toc
.obj_article_summary::after {
    content: "\f105";

    position: absolute !important;

    right: 3px !important;
    top: 50% !important;

    transform: translateY(-50%) !important;

    font-family: FontAwesome !important;

    color: #768995 !important;

    font-size: 18px !important;
}


/* =========================================================
   ABOUT JOURNAL ALIGNMENT
   ========================================================= */

.approach-home .approach-home-about {
    align-self: start !important;
}

.approach-home .approach-home-about .approach-about-card {
    margin-top: 0 !important;

    border-radius: 14px !important;

    box-shadow: 0 10px 30px rgba(20,45,64,.05) !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1150px) {

    .approach-home .approach-home-issue-toc {
        grid-template-columns: 185px minmax(0,1fr) !important;
        gap: 22px !important;
    }

    .approach-home .approach-home-issue-cover img {
        max-width: 185px !important;
    }

}


@media (max-width: 760px) {

    .approach-home .approach-home-main {
        padding-top: 26px !important;
    }

    .approach-home .approach-section-heading {
        min-height: 0 !important;
    }

    .approach-home .approach-home-issue-toc {
        display: block !important;
    }

    .approach-home .approach-home-issue-cover-column {
        margin-bottom: 28px !important;
    }

    .approach-home .approach-home-issue-cover img {
        width: 170px !important;
        max-width: 170px !important;
    }

    .approach-home .approach-home-issue-meta {
        max-width: 220px !important;
    }

}



/* =========================================================
   ARTICLE DENSITY TUNE
   Smaller titles + tighter article spacing
   ========================================================= */

/* Article title: 13.5px -> 11.5px */

.approach-home
.approach-home-issue-toc
.obj_article_summary .title a {
    font-size: 11.5px !important;
    line-height: 1.38 !important;
}


/* Reduce vertical distance between article entries */

.approach-home
.approach-home-issue-toc
.obj_article_summary {
    padding-top: 11px !important;
    padding-bottom: 11px !important;
}


/* First article should still align with top of cover */

.approach-home
.approach-home-article-item:first-child
.obj_article_summary {
    padding-top: 0 !important;
}


/* Last article does not need extra bottom space */

.approach-home
.approach-home-article-item:last-child
.obj_article_summary {
    padding-bottom: 0 !important;
}


/* Slightly tighten title-to-author spacing */

.approach-home
.approach-home-issue-toc
.obj_article_summary .title {
    margin-bottom: 4px !important;
}


/* Slightly tighten PDF spacing */

.approach-home
.approach-home-issue-toc
.obj_article_summary .galleys_links {
    margin-top: 6px !important;
}



/* =========================================================
   INDEXING & DISCOVERY V1
   ========================================================= */

.approach-home .approach-indexing {
    width: 100% !important;
    max-width: 1220px !important;

    margin: 48px auto 0 !important;

    padding:
        0
        25px
        58px !important;
}


/* Heading */

.approach-home .approach-indexing .approach-section-heading {
    margin: 0 0 20px !important;
    min-height: 0 !important;
}


/* =========================================================
   INDEX GRID
   ========================================================= */

.approach-home .approach-index-grid {
    display: grid !important;

    grid-template-columns:
        repeat(5, minmax(0,1fr)) !important;

    gap: 14px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Individual logo card */

.approach-home .approach-index-card {
    min-width: 0 !important;
    min-height: 94px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 15px 18px !important;

    background: #fff !important;

    border: 1px solid #e1e7eb !important;
    border-radius: 9px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.035) !important;

    text-decoration: none !important;

    overflow: hidden !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease !important;
}

.approach-home .approach-index-card:hover {
    transform: translateY(-2px) !important;

    border-color: #efc39f !important;

    box-shadow:
        0 10px 24px rgba(20,45,64,.075) !important;
}


/* =========================================================
   CROSSREF
   ========================================================= */

.approach-home .approach-crossref-logo {
    display: block !important;

    width: auto !important;
    height: 40px !important;
    max-width: 150px !important;

    object-fit: contain !important;
}


/* =========================================================
   GOOGLE SCHOLAR
   ========================================================= */

.approach-home .approach-google-logo {
    display: flex !important;

    align-items: baseline !important;
    justify-content: center !important;

    white-space: nowrap !important;

    font-family:
        Arial,
        "Helvetica Neue",
        sans-serif !important;

    font-size: 21px !important;
    font-weight: 500 !important;
    letter-spacing: -.8px !important;
}

.approach-home .approach-google-logo strong {
    margin-left: 5px !important;

    color: #6e6e6e !important;

    font-size: 18px !important;
    font-weight: 400 !important;
    letter-spacing: -.4px !important;
}

.approach-home .google-g {
    color: #4285f4 !important;
}

.approach-home .google-o1 {
    color: #ea4335 !important;
}

.approach-home .google-o2 {
    color: #fbbc05 !important;
}

.approach-home .google-g2 {
    color: #4285f4 !important;
}

.approach-home .google-l {
    color: #34a853 !important;
}

.approach-home .google-e {
    color: #ea4335 !important;
}


/* =========================================================
   GARUDA
   ========================================================= */

.approach-home .approach-garuda-logo {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 9px !important;
}

.approach-home .approach-garuda-mark {
    width: 35px !important;
    height: 35px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    flex: 0 0 35px !important;

    border-radius: 50% !important;

    background: #e31b23 !important;

    color: #fff !important;

    font-size: 15px !important;
}

.approach-home .approach-garuda-copy {
    display: flex !important;

    flex-direction: column !important;

    line-height: 1 !important;
}

.approach-home .approach-garuda-copy strong {
    color: #151515 !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 19px !important;
    font-weight: 800 !important;

    letter-spacing: .2px !important;
}

.approach-home .approach-garuda-copy small {
    margin-top: 4px !important;

    color: #777 !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 6px !important;
    font-weight: 600 !important;

    letter-spacing: .8px !important;
}


/* =========================================================
   OPENALEX
   ========================================================= */

.approach-home .approach-openalex-logo {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 9px !important;
}

.approach-home .approach-openalex-mark {
    width: 34px !important;
    height: 34px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    background: #111 !important;

    color: #fff !important;

    border-radius: 7px !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 21px !important;
    font-weight: 800 !important;
}

.approach-home .approach-openalex-logo strong {
    color: #111 !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 20px !important;
    font-weight: 500 !important;
}


/* =========================================================
   ISSN
   ========================================================= */

.approach-home .approach-issn-logo {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;
}

.approach-home .approach-issn-logo strong {
    color: #a31d62 !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 25px !important;
    font-weight: 800 !important;

    letter-spacing: -1px !important;
}

.approach-home .approach-issn-logo span {
    padding-left: 9px !important;

    border-left:
        1px solid #d8b2c6 !important;

    color: #5d5d5d !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 8px !important;
    font-weight: 600 !important;

    line-height: 1.25 !important;
}


/* =========================================================
   REMOVE LEGACY BLANK HOME CONTENT BOX
   Not part of approved homepage design
   ========================================================= */

.approach-home .approach-additional-content {
    display: none !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1100px) {

    .approach-home .approach-index-grid {
        grid-template-columns:
            repeat(3,minmax(0,1fr)) !important;
    }

}


@media (max-width: 700px) {

    .approach-home .approach-indexing {
        margin-top: 38px !important;

        padding:
            0
            18px
            45px !important;
    }

    .approach-home .approach-index-grid {
        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;
    }

}


@media (max-width: 430px) {

    .approach-home .approach-index-grid {
        grid-template-columns: 1fr !important;
    }

}



/* =========================================================
   APPROACH COMPACT FOOTER V1
   ========================================================= */

.approach-footer {
    width: 100% !important;

    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #142d40 !important;

    border: 0 !important;

    color: #dce5eb !important;
}


/* Completely override default OJS footer sizing */

.approach-footer .approach-footer-inner {
    width: 100% !important;
    max-width: 1220px !important;

    min-height: 0 !important;
    height: auto !important;

    margin: 0 auto !important;

    padding:
        32px
        25px
        15px !important;

    background: transparent !important;

    text-align: left !important;
}


/* =========================================================
   MAIN FOOTER GRID
   ========================================================= */

.approach-footer-main {
    display: grid !important;

    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(230px, .75fr)
        minmax(300px, 1fr) !important;

    gap: 46px !important;

    align-items: start !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   BRAND / ADDRESS
   ========================================================= */

.approach-footer-brand {
    display: flex !important;

    align-items: flex-start !important;

    gap: 17px !important;

    min-width: 0 !important;
}

.approach-footer-logo {
    display: block !important;

    width: 72px !important;
    height: 72px !important;

    min-width: 72px !important;
    max-width: 72px !important;

    object-fit: contain !important;
}

.approach-footer-brand-copy {
    padding-top: 3px !important;
}

.approach-footer-brand-copy strong {
    display: block !important;

    margin: 0 0 8px !important;

    color: #fff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.35 !important;
}

.approach-footer-brand-copy p {
    margin: 0 !important;

    color: #c5d0d8 !important;

    font-size: 10px !important;
    line-height: 1.55 !important;
}


/* =========================================================
   CONTACT
   ========================================================= */

.approach-footer h3 {
    margin: 0 0 11px !important;
    padding: 0 !important;

    color: #fff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1.3 !important;

    border: 0 !important;
}

.approach-footer-contact p {
    margin: 0 0 7px !important;

    color: #c5d0d8 !important;

    font-size: 9.5px !important;
    line-height: 1.45 !important;
}

.approach-footer-contact a {
    display: inline-flex !important;

    align-items: center !important;

    gap: 7px !important;

    color: #e2ebf0 !important;

    font-size: 9.5px !important;

    text-decoration: none !important;
}

.approach-footer-contact a:hover {
    color: #ff9b45 !important;
}


/* =========================================================
   QUICK LINKS
   ========================================================= */

.approach-footer-link-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    column-gap: 30px !important;
    row-gap: 6px !important;
}

.approach-footer-link-grid a {
    color: #d4dde3 !important;

    font-size: 9.5px !important;
    line-height: 1.4 !important;

    text-decoration: none !important;
}

.approach-footer-link-grid a:hover {
    color: #ff8b31 !important;
}


/* =========================================================
   BOTTOM BAR
   ========================================================= */

.approach-footer-bottom {
    display: flex !important;

    align-items: center !important;
    justify-content: space-between !important;

    gap: 25px !important;

    margin-top: 23px !important;

    padding-top: 13px !important;

    border-top:
        1px solid rgba(255,255,255,.25) !important;
}

.approach-footer-copyright {
    color: #aebbc4 !important;

    font-size: 8.5px !important;
    line-height: 1.4 !important;
}

.approach-footer-tagline {
    display: flex !important;

    align-items: center !important;

    gap: 8px !important;

    color: #b7c4cc !important;

    font-size: 8.5px !important;

    white-space: nowrap !important;
}

.approach-footer-tagline > i:not(.approach-footer-plane) {
    display: block !important;

    width: 1px !important;
    height: 12px !important;

    background: rgba(255,255,255,.25) !important;
}

.approach-footer-plane {
    margin-left: 3px !important;

    color: #ff7a1a !important;

    font-size: 17px !important;

    transform: rotate(-8deg) !important;
}


/* OJS attribution: present, but unobtrusive */

.approach-footer-system {
    margin-top: 7px !important;

    text-align: right !important;
}

.approach-footer-system a {
    color: rgba(255,255,255,.37) !important;

    font-size: 7px !important;

    text-decoration: none !important;
}

.approach-footer-system a:hover {
    color: rgba(255,255,255,.65) !important;
}


/* Do not allow inherited OJS footer elements to create height */

.approach-footer .pkp_footer_content,
.approach-footer .pkp_brand_footer {
    margin: 0 !important;
    padding: 0 !important;

    min-height: 0 !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    .approach-footer-main {
        grid-template-columns:
            1fr
            1fr !important;

        gap: 28px !important;
    }

    .approach-footer-brand {
        grid-column: 1 / -1 !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 620px) {

    .approach-footer .approach-footer-inner {
        padding:
            28px
            20px
            16px !important;
    }

    .approach-footer-main {
        grid-template-columns: 1fr !important;

        gap: 24px !important;
    }

    .approach-footer-brand {
        grid-column: auto !important;
    }

    .approach-footer-logo {
        width: 58px !important;
        height: 58px !important;

        min-width: 58px !important;
        max-width: 58px !important;
    }

    .approach-footer-bottom {
        align-items: flex-start !important;

        flex-direction: column !important;

        gap: 9px !important;
    }

    .approach-footer-tagline {
        white-space: normal !important;
    }

    .approach-footer-system {
        text-align: left !important;
    }

}


/* =========================================================
   INTERNAL SIDEBAR LAYOUT V2
   Current Issue / Archives / Announcements / About
   Homepage excluded
   ========================================================= */


/* =========================================================
   1. GLOBAL INTERNAL PAGE LAYOUT
   ========================================================= */

body.pkp_page_issue .approach-site > .pkp_structure_content,
body.pkp_page_announcement .approach-site > .pkp_structure_content,
body.pkp_page_about .approach-site > .pkp_structure_content {

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        300px !important;

    column-gap: 34px !important;

    align-items: start !important;

    width: 100% !important;
    max-width: 1280px !important;

    margin: 0 auto !important;

    padding:
        32px
        30px
        60px !important;

    background: transparent !important;
}


/* Main column */

body.pkp_page_issue .pkp_structure_main,
body.pkp_page_announcement .pkp_structure_main,
body.pkp_page_about .pkp_structure_main {

    grid-column: 1 !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    position: static !important;
}


/* Sidebar column */

body.pkp_page_issue .pkp_structure_sidebar,
body.pkp_page_announcement .pkp_structure_sidebar,
body.pkp_page_about .pkp_structure_sidebar {

    display: block !important;

    grid-column: 2 !important;

    width: 100% !important;
    max-width: 300px !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    position: static !important;

    background: transparent !important;
}


/* Remove old structure pseudo-elements */

body.pkp_page_issue .pkp_structure_content:before,
body.pkp_page_issue .pkp_structure_content:after,
body.pkp_page_announcement .pkp_structure_content:before,
body.pkp_page_announcement .pkp_structure_content:after,
body.pkp_page_about .pkp_structure_content:before,
body.pkp_page_about .pkp_structure_content:after {

    content: none !important;
    display: none !important;
}


/* =========================================================
   2. BREADCRUMBS
   ========================================================= */

body.pkp_page_issue .cmp_breadcrumbs,
body.pkp_page_announcement .cmp_breadcrumbs,
body.pkp_page_about .cmp_breadcrumbs {

    margin: 0 0 18px !important;
    padding: 0 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;

    color: #81909a !important;
}


body.pkp_page_issue .cmp_breadcrumbs a,
body.pkp_page_announcement .cmp_breadcrumbs a,
body.pkp_page_about .cmp_breadcrumbs a {

    color: #627885 !important;

    text-decoration: none !important;
}


body.pkp_page_issue .cmp_breadcrumbs a:hover,
body.pkp_page_announcement .cmp_breadcrumbs a:hover,
body.pkp_page_about .cmp_breadcrumbs a:hover {

    color: var(--orange-dark) !important;
}


/* =========================================================
   3. INTERNAL PAGE TITLES
   ========================================================= */

body.pkp_page_issue .pkp_structure_main h1,
body.pkp_page_announcement .pkp_structure_main h1,
body.pkp_page_about .pkp_structure_main h1 {

    position: relative !important;

    margin: 0 0 24px !important;

    padding: 0 0 0 16px !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 29px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;

    border: 0 !important;
}


body.pkp_page_issue .pkp_structure_main h1:before,
body.pkp_page_announcement .pkp_structure_main h1:before,
body.pkp_page_about .pkp_structure_main h1:before {

    content: "";

    position: absolute !important;

    left: 0 !important;
    top: 3px !important;
    bottom: 3px !important;

    width: 4px !important;

    border-radius: 4px !important;

    background: var(--orange) !important;
}


/* =========================================================
   4. RIGHT SIDEBAR CARDS
   ========================================================= */

body.pkp_page_issue .pkp_structure_sidebar .pkp_block,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block,
body.pkp_page_about .pkp_structure_sidebar .pkp_block {

    width: 100% !important;

    margin: 0 0 16px !important;

    padding: 18px !important;

    background: #fff !important;

    border: 1px solid #e1e7eb !important;
    border-radius: 11px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.04) !important;

    overflow: hidden !important;
}


/* Block title */

body.pkp_page_issue .pkp_structure_sidebar .pkp_block .title,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block .title,
body.pkp_page_about .pkp_structure_sidebar .pkp_block .title,
body.pkp_page_issue .pkp_structure_sidebar .pkp_block h2,
body.pkp_page_issue .pkp_structure_sidebar .pkp_block h3,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block h2,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block h3,
body.pkp_page_about .pkp_structure_sidebar .pkp_block h2,
body.pkp_page_about .pkp_structure_sidebar .pkp_block h3 {

    margin: 0 0 12px !important;

    padding: 0 0 10px !important;

    border: 0 !important;
    border-bottom: 1px solid #edf0f2 !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}


/* Block content */

body.pkp_page_issue .pkp_structure_sidebar .pkp_block .content,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block .content,
body.pkp_page_about .pkp_structure_sidebar .pkp_block .content {

    margin: 0 !important;
    padding: 0 !important;

    color: #607581 !important;

    font-size: 10.5px !important;
    line-height: 1.5 !important;
}


/* =========================================================
   5. ABOUT JOURNAL SIDEBAR MENU
   ========================================================= */

body.pkp_page_issue .pkp_structure_sidebar ul,
body.pkp_page_announcement .pkp_structure_sidebar ul,
body.pkp_page_about .pkp_structure_sidebar ul {

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


body.pkp_page_issue .pkp_structure_sidebar li,
body.pkp_page_announcement .pkp_structure_sidebar li,
body.pkp_page_about .pkp_structure_sidebar li {

    margin: 0 !important;

    padding:
        7px
        0 !important;

    border-bottom:
        1px solid #f0f2f4 !important;
}


body.pkp_page_issue .pkp_structure_sidebar li:last-child,
body.pkp_page_announcement .pkp_structure_sidebar li:last-child,
body.pkp_page_about .pkp_structure_sidebar li:last-child {

    border-bottom: 0 !important;
}


body.pkp_page_issue .pkp_structure_sidebar a,
body.pkp_page_announcement .pkp_structure_sidebar a,
body.pkp_page_about .pkp_structure_sidebar a {

    color: #526b79 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 10.5px !important;
    line-height: 1.4 !important;

    text-decoration: none !important;

    overflow-wrap: anywhere !important;
}


body.pkp_page_issue .pkp_structure_sidebar a:hover,
body.pkp_page_announcement .pkp_structure_sidebar a:hover,
body.pkp_page_about .pkp_structure_sidebar a:hover {

    color: var(--orange-dark) !important;
}


/* =========================================================
   6. SIDEBAR IMAGES
   Template / GARUDA / Indexing logos
   ========================================================= */

body.pkp_page_issue .pkp_structure_sidebar img,
body.pkp_page_announcement .pkp_structure_sidebar img,
body.pkp_page_about .pkp_structure_sidebar img {

    display: block !important;

    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: 100px !important;

    margin:
        8px
        auto !important;

    object-fit: contain !important;
}


/* Images wrapped in links */

body.pkp_page_issue .pkp_structure_sidebar a > img,
body.pkp_page_announcement .pkp_structure_sidebar a > img,
body.pkp_page_about .pkp_structure_sidebar a > img {

    margin-left: auto !important;
    margin-right: auto !important;
}


/* Prevent giant custom block logos */

body.pkp_page_issue .pkp_structure_sidebar figure,
body.pkp_page_announcement .pkp_structure_sidebar figure,
body.pkp_page_about .pkp_structure_sidebar figure {

    width: 100% !important;

    margin: 8px 0 !important;
    padding: 0 !important;

    text-align: center !important;
}


/* =========================================================
   7. VISITOR / STATISTICS BLOCK
   ========================================================= */

body.pkp_page_issue .pkp_structure_sidebar iframe,
body.pkp_page_announcement .pkp_structure_sidebar iframe,
body.pkp_page_about .pkp_structure_sidebar iframe {

    max-width: 100% !important;

    margin: 0 auto !important;

    border: 0 !important;
}


body.pkp_page_issue .pkp_structure_sidebar .statcounter,
body.pkp_page_announcement .pkp_structure_sidebar .statcounter,
body.pkp_page_about .pkp_structure_sidebar .statcounter {

    display: block !important;

    text-align: center !important;
}


/* =========================================================
   8. CONTACT PAGE
   ========================================================= */

body.pkp_page_about.pkp_op_contact .page_contact {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Intro / department */

body.pkp_page_about.pkp_op_contact
.page_contact > p {

    margin:
        0
        0
        18px !important;

    color: #607480 !important;

    font-size: 12px !important;
    line-height: 1.6 !important;
}


/* Address */

body.pkp_page_about.pkp_op_contact
.page_contact > .address {

    margin: 0 0 18px !important;

    padding: 20px 22px !important;

    background: #fff !important;

    border: 1px solid #e1e7eb !important;
    border-radius: 11px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.035) !important;

    color: #5c707d !important;

    font-size: 11.5px !important;
    line-height: 1.65 !important;
}


/* Principal + support */

body.pkp_page_about.pkp_op_contact
.page_contact .contact_section {

    display: grid !important;

    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    gap: 18px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact {

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;

    padding: 20px 22px !important;

    background: #fff !important;

    border: 1px solid #e1e7eb !important;
    border-radius: 11px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.035) !important;

    color: #607480 !important;

    font-size: 11px !important;
    line-height: 1.6 !important;

    overflow-wrap: anywhere !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact h2 {

    margin: 0 0 13px !important;

    padding: 0 0 10px !important;

    border-bottom:
        1px solid #edf0f2 !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 16px !important;
    font-weight: 800 !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .name {

    color: var(--navy) !important;

    font-weight: 700 !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact a {

    color: var(--orange-dark) !important;

    overflow-wrap: anywhere !important;

    text-decoration: none !important;
}


/* =========================================================
   9. ISSUE DETAIL
   ========================================================= */

body.pkp_page_issue.pkp_op_view
.page_issue {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_issue_toc {

    margin: 0 !important;

    padding: 25px !important;

    background: #fff !important;

    border: 1px solid #e1e7eb !important;
    border-radius: 13px !important;

    box-shadow:
        0 7px 24px rgba(20,45,64,.045) !important;
}


/* Cover + issue metadata */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc > .heading {

    display: grid !important;

    grid-template-columns:
        190px
        minmax(0,1fr) !important;

    gap: 25px !important;

    align-items: start !important;

    margin: 0 !important;

    padding:
        0
        0
        25px !important;

    border-bottom:
        1px solid #e8edef !important;
}


body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .cover {

    grid-column: 1 !important;
    grid-row: 1 / span 20 !important;

    width: 190px !important;

    margin: 0 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .cover img {

    display: block !important;

    width: 190px !important;
    height: auto !important;

    border-radius: 7px !important;

    box-shadow:
        0 8px 22px rgba(20,45,64,.12) !important;
}


body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .description,
body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .pub_id,
body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .published {

    grid-column: 2 !important;

    margin: 0 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .description {

    color: #5a6f7c !important;

    font-size: 12px !important;
    line-height: 1.7 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .pub_id,
body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .published {

    margin-top: 10px !important;

    color: #657986 !important;

    font-size: 11px !important;
}


/* Articles */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .sections {

    margin-top: 24px !important;
}


body.pkp_page_issue.pkp_op_view
.obj_issue_toc .section > h2,
body.pkp_page_issue.pkp_op_view
.obj_issue_toc .section > h3 {

    margin: 0 0 5px !important;

    padding:
        0
        0
        10px !important;

    border-bottom:
        2px solid var(--orange) !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 18px !important;
    font-weight: 800 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_article_summary {

    margin: 0 !important;

    padding:
        15px
        0 !important;

    border: 0 !important;

    border-bottom:
        1px solid #e9edef !important;

    background: transparent !important;
}


body.pkp_page_issue.pkp_op_view
.obj_article_summary .title {

    margin:
        0
        0
        5px !important;

    padding: 0 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_article_summary .title a {

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.4 !important;

    text-decoration: none !important;
}


body.pkp_page_issue.pkp_op_view
.obj_article_summary .authors {

    color: #71828d !important;

    font-size: 10.5px !important;
    line-height: 1.5 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_article_summary .pages {

    color: #81909a !important;

    font-size: 10px !important;
}


/* PDF */

body.pkp_page_issue.pkp_op_view
.obj_article_summary .galleys_links {

    display: flex !important;

    gap: 6px !important;

    margin:
        7px
        0
        0 !important;

    padding: 0 !important;

    list-style: none !important;
}


body.pkp_page_issue.pkp_op_view
.obj_article_summary .galleys_links li {

    margin: 0 !important;
}


body.pkp_page_issue.pkp_op_view
.obj_article_summary .galleys_links a {

    display: inline-flex !important;

    padding:
        5px
        11px !important;

    border:
        1px solid #ef6b4c !important;

    border-radius: 5px !important;

    background: #fff !important;

    color: #df5131 !important;

    font-size: 10px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
}


/* =========================================================
   10. ARCHIVES
   ========================================================= */

body.pkp_page_issue.pkp_op_archive
.page_issue_archive {

    width: 100% !important;
}


body.pkp_page_issue.pkp_op_archive
.issues_archive {

    display: flex !important;

    flex-direction: column !important;

    gap: 15px !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


body.pkp_page_issue.pkp_op_archive
.issues_archive > li {

    margin: 0 !important;
    padding: 0 !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary {

    min-height: 0 !important;

    margin: 0 !important;

    padding: 18px 20px !important;

    background: #fff !important;

    border:
        1px solid #e1e7eb !important;

    border-radius:
        11px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.035) !important;

    overflow: hidden !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary .cover {

    display: block !important;

    float: left !important;

    width: 105px !important;

    margin:
        0
        18px
        5px
        0 !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary .cover img {

    display: block !important;

    width: 105px !important;
    height: auto !important;

    border-radius:
        6px !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary h2 {

    margin: 0 0 5px !important;

    padding: 0 !important;

    border: 0 !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary h2 a,
body.pkp_page_issue.pkp_op_archive
.obj_issue_summary h2 .title {

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 16px !important;
    font-weight: 800 !important;

    text-decoration: none !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary .series {

    color: #647986 !important;

    font-size: 11px !important;
    font-weight: 600 !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary .description {

    margin-top: 10px !important;

    color: #657985 !important;

    font-size: 10.5px !important;
    line-height: 1.55 !important;

    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 3 !important;

    overflow: hidden !important;
}


body.pkp_page_issue.pkp_op_archive
.obj_issue_summary:after {

    content: "";

    display: table !important;

    clear: both !important;
}


/* =========================================================
   11. ANNOUNCEMENTS
   ========================================================= */

body.pkp_page_announcement
.page_announcements {

    width: 100% !important;

    margin: 0 !important;

    padding: 24px !important;

    background: #fff !important;

    border:
        1px solid #e1e7eb !important;

    border-radius:
        12px !important;

    box-shadow:
        0 6px 20px rgba(20,45,64,.04) !important;
}


body.pkp_page_announcement
.obj_announcement_summary {

    padding:
        16px
        0 !important;

    border-bottom:
        1px solid #e9edef !important;
}


body.pkp_page_announcement
.obj_announcement_summary h2,
body.pkp_page_announcement
.obj_announcement_summary h3 {

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;
}


/* =========================================================
   12. RESPONSIVE
   ========================================================= */

@media (max-width: 1000px) {

    body.pkp_page_issue .approach-site > .pkp_structure_content,
    body.pkp_page_announcement .approach-site > .pkp_structure_content,
    body.pkp_page_about .approach-site > .pkp_structure_content {

        grid-template-columns: 1fr !important;

        row-gap: 28px !important;
    }


    body.pkp_page_issue .pkp_structure_sidebar,
    body.pkp_page_announcement .pkp_structure_sidebar,
    body.pkp_page_about .pkp_structure_sidebar {

        grid-column: 1 !important;

        max-width: none !important;

        display: grid !important;

        grid-template-columns:
            repeat(2,minmax(0,1fr)) !important;

        gap: 15px !important;
    }


    body.pkp_page_issue .pkp_structure_sidebar .pkp_block,
    body.pkp_page_announcement .pkp_structure_sidebar .pkp_block,
    body.pkp_page_about .pkp_structure_sidebar .pkp_block {

        margin: 0 !important;
    }

}


@media (max-width: 700px) {

    body.pkp_page_issue .approach-site > .pkp_structure_content,
    body.pkp_page_announcement .approach-site > .pkp_structure_content,
    body.pkp_page_about .approach-site > .pkp_structure_content {

        padding:
            24px
            18px
            45px !important;
    }


    body.pkp_page_issue .pkp_structure_sidebar,
    body.pkp_page_announcement .pkp_structure_sidebar,
    body.pkp_page_about .pkp_structure_sidebar {

        display: block !important;
    }


    body.pkp_page_issue .pkp_structure_sidebar .pkp_block,
    body.pkp_page_announcement .pkp_structure_sidebar .pkp_block,
    body.pkp_page_about .pkp_structure_sidebar .pkp_block {

        margin:
            0
            0
            14px !important;
    }


    body.pkp_page_about.pkp_op_contact
    .page_contact .contact_section {

        grid-template-columns: 1fr !important;
    }


    body.pkp_page_issue.pkp_op_view
    .obj_issue_toc > .heading {

        display: block !important;
    }


    body.pkp_page_issue.pkp_op_view
    .obj_issue_toc .heading .cover {

        width: 160px !important;

        margin-bottom:
            20px !important;
    }


    body.pkp_page_issue.pkp_op_view
    .obj_issue_toc .heading .cover img {

        width: 160px !important;
    }

}



/* =========================================================
   COMPACT INTERNAL SIDEBAR V3
   ========================================================= */


/* ---------------------------------------------------------
   Narrower sidebar, more room for main content
   --------------------------------------------------------- */

body.pkp_page_issue .approach-site > .pkp_structure_content,
body.pkp_page_announcement .approach-site > .pkp_structure_content,
body.pkp_page_about .approach-site > .pkp_structure_content {

    grid-template-columns:
        minmax(0, 1fr)
        270px !important;

    column-gap: 28px !important;
}


body.pkp_page_issue .pkp_structure_sidebar,
body.pkp_page_announcement .pkp_structure_sidebar,
body.pkp_page_about .pkp_structure_sidebar {

    max-width: 270px !important;
}


/* ---------------------------------------------------------
   Compact cards
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar .pkp_block,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block,
body.pkp_page_about .pkp_structure_sidebar .pkp_block {

    min-height: 0 !important;
    height: auto !important;

    margin:
        0
        0
        10px !important;

    padding:
        13px
        15px !important;

    border-radius: 9px !important;

    box-shadow:
        0 3px 12px rgba(20,45,64,.035) !important;
}


/* ---------------------------------------------------------
   Smaller block headings
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar .pkp_block .title,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block .title,
body.pkp_page_about .pkp_structure_sidebar .pkp_block .title,
body.pkp_page_issue .pkp_structure_sidebar .pkp_block h2,
body.pkp_page_issue .pkp_structure_sidebar .pkp_block h3,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block h2,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block h3,
body.pkp_page_about .pkp_structure_sidebar .pkp_block h2,
body.pkp_page_about .pkp_structure_sidebar .pkp_block h3 {

    margin:
        0
        0
        9px !important;

    padding:
        0
        0
        7px !important;

    font-size: 12px !important;
    line-height: 1.25 !important;
}


/* ---------------------------------------------------------
   Remove excessive inherited spacing inside blocks
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar .pkp_block .content,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block .content,
body.pkp_page_about .pkp_structure_sidebar .pkp_block .content {

    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 9.5px !important;
    line-height: 1.4 !important;
}


body.pkp_page_issue .pkp_structure_sidebar .pkp_block p,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block p,
body.pkp_page_about .pkp_structure_sidebar .pkp_block p {

    margin:
        0
        0
        6px !important;

    padding: 0 !important;
}


body.pkp_page_issue .pkp_structure_sidebar .pkp_block p:last-child,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block p:last-child,
body.pkp_page_about .pkp_structure_sidebar .pkp_block p:last-child {

    margin-bottom: 0 !important;
}


/* ---------------------------------------------------------
   Compact menu links
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar li,
body.pkp_page_announcement .pkp_structure_sidebar li,
body.pkp_page_about .pkp_structure_sidebar li {

    padding:
        5px
        0 !important;
}


body.pkp_page_issue .pkp_structure_sidebar a,
body.pkp_page_announcement .pkp_structure_sidebar a,
body.pkp_page_about .pkp_structure_sidebar a {

    font-size: 9.5px !important;
    line-height: 1.35 !important;
}


/* ---------------------------------------------------------
   Compact Template / GARUDA / indexing images
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar img,
body.pkp_page_announcement .pkp_structure_sidebar img,
body.pkp_page_about .pkp_structure_sidebar img {

    width: auto !important;
    height: auto !important;

    max-width: 90% !important;
    max-height: 68px !important;

    margin:
        5px
        auto !important;

    object-fit: contain !important;
}


/* Allow wide wordmark logos but keep them low */

body.pkp_page_issue .pkp_structure_sidebar img[alt*="GARUDA" i],
body.pkp_page_announcement .pkp_structure_sidebar img[alt*="GARUDA" i],
body.pkp_page_about .pkp_structure_sidebar img[alt*="GARUDA" i] {

    max-width: 94% !important;
    max-height: 55px !important;
}


/* ---------------------------------------------------------
   Figure / linked-image spacing
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar figure,
body.pkp_page_announcement .pkp_structure_sidebar figure,
body.pkp_page_about .pkp_structure_sidebar figure {

    margin:
        4px
        0 !important;

    padding: 0 !important;
}


body.pkp_page_issue .pkp_structure_sidebar a > img,
body.pkp_page_announcement .pkp_structure_sidebar a > img,
body.pkp_page_about .pkp_structure_sidebar a > img {

    margin:
        4px
        auto !important;
}


/* ---------------------------------------------------------
   Statistics block compacting
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar iframe,
body.pkp_page_announcement .pkp_structure_sidebar iframe,
body.pkp_page_about .pkp_structure_sidebar iframe {

    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    min-height: 0 !important;

    margin:
        3px
        auto !important;

    padding: 0 !important;
}


body.pkp_page_issue .pkp_structure_sidebar .statcounter,
body.pkp_page_announcement .pkp_structure_sidebar .statcounter,
body.pkp_page_about .pkp_structure_sidebar .statcounter {

    margin:
        4px
        0 !important;

    padding: 0 !important;

    text-align: center !important;
}


/* ---------------------------------------------------------
   Remove oversized blank space from custom HTML blocks
   --------------------------------------------------------- */

body.pkp_page_issue .pkp_structure_sidebar .pkp_block div,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block div,
body.pkp_page_about .pkp_structure_sidebar .pkp_block div {

    max-width: 100% !important;
}


body.pkp_page_issue .pkp_structure_sidebar .pkp_block br + br,
body.pkp_page_announcement .pkp_structure_sidebar .pkp_block br + br,
body.pkp_page_about .pkp_structure_sidebar .pkp_block br + br {

    display: none !important;
}


/* ---------------------------------------------------------
   Tablet stays wider
   --------------------------------------------------------- */

@media (max-width: 1000px) {

    body.pkp_page_issue .pkp_structure_sidebar,
    body.pkp_page_announcement .pkp_structure_sidebar,
    body.pkp_page_about .pkp_structure_sidebar {

        max-width: none !important;
    }

}


/* ---------------------------------------------------------
   Mobile
   --------------------------------------------------------- */

@media (max-width: 700px) {

    body.pkp_page_issue .pkp_structure_sidebar .pkp_block,
    body.pkp_page_announcement .pkp_structure_sidebar .pkp_block,
    body.pkp_page_about .pkp_structure_sidebar .pkp_block {

        padding:
            13px
            14px !important;
    }

}



/* =========================================================
   CURRENT ISSUE GAP FIX
   Remove artificial 20-row grid span
   ========================================================= */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc > .heading {

    grid-template-columns:
        190px
        minmax(0,1fr) !important;

    grid-template-rows:
        auto
        auto
        auto !important;

    column-gap: 25px !important;
    row-gap: 10px !important;

    align-items: start !important;
    align-content: start !important;

    min-height: 0 !important;
    height: auto !important;

    padding-bottom: 22px !important;
}


/* Cover occupies only the three actual metadata rows */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .cover {

    grid-column: 1 !important;
    grid-row: 1 / 4 !important;

    align-self: start !important;

    width: 190px !important;

    margin: 0 !important;
}


/* Description */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .description {

    grid-column: 2 !important;
    grid-row: 1 !important;

    align-self: start !important;

    margin: 0 !important;
}


/* DOI */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .pub_id {

    grid-column: 2 !important;
    grid-row: 2 !important;

    margin: 0 !important;
}


/* Published */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .heading .published {

    grid-column: 2 !important;
    grid-row: 3 !important;

    margin: 0 !important;
}


/* Bring Articles closer to issue metadata */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .sections {

    margin-top: 18px !important;
    padding-top: 0 !important;
}



/* =========================================================
   CURRENT ISSUE - ARTICLES HEADING ALIGNMENT
   ========================================================= */

/* Bring Articles section closer to gray divider */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .sections {

    margin-top: 10px !important;
    padding-top: 0 !important;
}


/* Remove inherited section spacing */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .section {

    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Position Articles heading closer to divider */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .section > h2,
body.pkp_page_issue.pkp_op_view
.obj_issue_toc .section > h3 {

    margin-top: 0 !important;
    margin-bottom: 8px !important;

    padding-top: 0 !important;
    padding-bottom: 10px !important;
}


/* Prevent default OJS heading wrapper from adding top space */

body.pkp_page_issue.pkp_op_view
.obj_issue_toc .section > .title,
body.pkp_page_issue.pkp_op_view
.obj_issue_toc .section_title {

    margin-top: 0 !important;
    padding-top: 0 !important;
}



/* =========================================================
   SIDEBAR INDEXING - MATCH HOMEPAGE V1
   ========================================================= */

.approach-sidebar-index-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0,1fr)) !important;

    gap: 7px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   Card
   --------------------------------------------------------- */

.approach-sidebar-index-card {
    min-width: 0 !important;
    min-height: 62px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 8px !important;

    background: #fff !important;

    border: 1px solid #e5eaed !important;
    border-radius: 7px !important;

    color: var(--navy) !important;

    text-decoration: none !important;

    overflow: hidden !important;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        transform .15s ease !important;
}


.approach-sidebar-index-card:hover {
    transform: translateY(-1px) !important;

    border-color: #efc39e !important;

    box-shadow:
        0 5px 14px rgba(20,45,64,.07) !important;
}


.approach-sidebar-index-wide {
    grid-column: 1 / -1 !important;

    min-height: 48px !important;
}


/* ---------------------------------------------------------
   Common typography
   --------------------------------------------------------- */

.approach-sidebar-index-card strong {
    display: block !important;

    color: var(--navy) !important;

    font-family:
        Arial,
        "Helvetica Neue",
        sans-serif !important;

    font-size: 10.5px !important;
    font-weight: 750 !important;
    line-height: 1.15 !important;
}


.approach-sidebar-index-card small {
    display: block !important;

    margin-top: 3px !important;

    color: #7b8992 !important;

    font-family:
        Arial,
        "Helvetica Neue",
        sans-serif !important;

    font-size: 6.8px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
}


/* =========================================================
   CROSSREF
   ========================================================= */

.approach-sidebar-crossref {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    width: 100% !important;
}


.approach-sidebar-brand-mark {
    width: 25px !important;
    height: 25px !important;

    flex:
        0
        0
        25px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 5px !important;

    background: #4f9b9c !important;

    color: #fff !important;

    font-family: Arial, sans-serif !important;

    font-size: 14px !important;
    font-weight: 800 !important;
}


/* =========================================================
   GOOGLE SCHOLAR
   ========================================================= */

.approach-sidebar-google {
    text-align: center !important;

    font-family:
        Arial,
        sans-serif !important;

    line-height: 1 !important;
}


.approach-sidebar-google > div {
    font-size: 14px !important;

    letter-spacing: -.5px !important;

    white-space: nowrap !important;
}


.approach-sidebar-google small {
    margin-top: 4px !important;

    color: #6e6e6e !important;

    font-size: 8px !important;
}


.approach-sidebar-google .g-blue {
    color: #4285f4 !important;
}

.approach-sidebar-google .g-red {
    color: #ea4335 !important;
}

.approach-sidebar-google .g-yellow {
    color: #fbbc05 !important;
}

.approach-sidebar-google .g-green {
    color: #34a853 !important;
}


/* =========================================================
   GARUDA
   ========================================================= */

.approach-sidebar-garuda {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    width: 100% !important;
}


.approach-sidebar-garuda-mark {
    width: 26px !important;
    height: 26px !important;

    flex:
        0
        0
        26px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 50% !important;

    background: #e31b23 !important;

    color: #fff !important;

    font-size: 11px !important;
}


/* =========================================================
   OPENALEX
   ========================================================= */

.approach-sidebar-openalex {
    display: flex !important;

    align-items: center !important;

    gap: 7px !important;

    width: 100% !important;
}


.approach-sidebar-openalex-mark {
    width: 25px !important;
    height: 25px !important;

    flex:
        0
        0
        25px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 5px !important;

    background: #171717 !important;

    color: #fff !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 14px !important;
    font-weight: 800 !important;
}


/* =========================================================
   ISSN
   ========================================================= */

.approach-sidebar-issn {
    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 10px !important;

    width: 100% !important;
}


.approach-sidebar-issn strong {
    color: #a31d62 !important;

    font-size: 17px !important;
    font-weight: 800 !important;
}


.approach-sidebar-issn span {
    padding-left: 10px !important;

    border-left:
        1px solid #e2ccd8 !important;

    color: #667985 !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size: 7.5px !important;
    line-height: 1.35 !important;
}


/* =========================================================
   IMPORTANT
   Custom indexing markup has its own sizing.
   Do not apply generic sidebar image limits to it.
   ========================================================= */

.approach-sidebar-index-grid img {
    max-width: 100% !important;
    max-height: 40px !important;
}



/* =========================================================
   CONTACT PAGE CLEANUP V3
   Correct selectors for OJS 3.2.1 contact.tpl
   ========================================================= */


/* ---------------------------------------------------------
   Contact page main wrapper
   --------------------------------------------------------- */

body.pkp_page_about.pkp_op_contact
.page_contact {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* ---------------------------------------------------------
   Contact grid
   Actual OJS structure:
   .contact_section
       .address
       .contact.primary
       .contact.support
   --------------------------------------------------------- */

body.pkp_page_about.pkp_op_contact
.page_contact .contact_section {

    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    grid-template-areas:
        "address address"
        "primary support" !important;

    gap: 16px !important;

    align-items: stretch !important;

    width: 100% !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;

    clear: both !important;
}


/* =========================================================
   ADDRESS CARD
   ========================================================= */

body.pkp_page_about.pkp_op_contact
.page_contact .contact_section > .address {

    grid-area: address !important;

    position: relative !important;

    float: none !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;

    padding:
        22px
        24px
        22px
        72px !important;

    background: #fff !important;

    border: 1px solid #e1e7eb !important;
    border-radius: 12px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.035) !important;

    color: #536a78 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 12px !important;
    font-weight: 450 !important;
    line-height: 1.72 !important;

    text-align: left !important;
}


/* Location icon */

body.pkp_page_about.pkp_op_contact
.page_contact .contact_section > .address:before {

    content: "\f041";

    position: absolute !important;

    left: 23px !important;
    top: 24px !important;

    width: 34px !important;
    height: 34px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 8px !important;

    background: var(--orange-soft) !important;

    color: var(--orange) !important;

    font-family: FontAwesome !important;

    font-size: 18px !important;
}


/* Small accent bar */

body.pkp_page_about.pkp_op_contact
.page_contact .contact_section > .address:after {

    content: "";

    position: absolute !important;

    left: 0 !important;
    top: 16px !important;
    bottom: 16px !important;

    width: 3px !important;

    border-radius:
        0
        3px
        3px
        0 !important;

    background: var(--orange) !important;
}


/* =========================================================
   PRINCIPAL / SUPPORT CONTACT CARDS
   ========================================================= */

body.pkp_page_about.pkp_op_contact
.page_contact .contact.primary {

    grid-area: primary !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact.support {

    grid-area: support !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact {

    float: none !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;

    padding: 21px 23px !important;

    background: #fff !important;

    border:
        1px solid #e1e7eb !important;

    border-radius:
        12px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.035) !important;

    color: #5f7380 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;
    line-height: 1.6 !important;

    text-align: left !important;

    overflow-wrap: anywhere !important;
}


/* ---------------------------------------------------------
   Correct OJS heading element is H3
   --------------------------------------------------------- */

body.pkp_page_about.pkp_op_contact
.page_contact .contact > h3 {

    position: relative !important;

    margin:
        0
        0
        16px !important;

    padding:
        0
        0
        11px
        34px !important;

    border: 0 !important;

    border-bottom:
        1px solid #e9edef !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}


/* Contact heading icon */

body.pkp_page_about.pkp_op_contact
.page_contact .contact > h3:before {

    content: "\f2bd";

    position: absolute !important;

    left: 0 !important;
    top: -2px !important;

    width: 25px !important;
    height: 25px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    border-radius: 6px !important;

    background: var(--orange-soft) !important;

    color: var(--orange) !important;

    font-family: FontAwesome !important;

    font-size: 13px !important;
}


/* =========================================================
   CONTACT DATA
   ========================================================= */

body.pkp_page_about.pkp_op_contact
.page_contact .contact .name {

    margin:
        0
        0
        4px !important;

    color: var(--navy) !important;

    font-size: 12px !important;
    font-weight: 750 !important;
    line-height: 1.45 !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .title {

    margin:
        0
        0
        4px !important;

    color: #536b79 !important;

    font-size: 10.5px !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .affiliation {

    margin:
        0
        0
        10px !important;

    color: #7a8b95 !important;

    font-size: 10.5px !important;
    line-height: 1.45 !important;
}


/* Phone */

body.pkp_page_about.pkp_op_contact
.page_contact .contact .phone {

    display: flex !important;

    align-items: baseline !important;

    gap: 8px !important;

    margin:
        10px
        0
        0 !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .phone .label {

    color: var(--navy) !important;

    font-size: 10.5px !important;
    font-weight: 750 !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .phone .value {

    color: #5e7481 !important;

    font-size: 10.5px !important;
}


/* Email */

body.pkp_page_about.pkp_op_contact
.page_contact .contact .email {

    margin-top: 9px !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .email a {

    display: inline-flex !important;

    align-items: center !important;

    gap: 7px !important;

    color: var(--orange-dark) !important;

    font-size: 10.5px !important;
    font-weight: 600 !important;

    text-decoration: none !important;

    overflow-wrap: anywhere !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .email a:before {

    content: "\f0e0";

    font-family: FontAwesome !important;

    color: var(--orange) !important;
}


body.pkp_page_about.pkp_op_contact
.page_contact .contact .email a:hover {

    text-decoration: underline !important;
}


/* =========================================================
   ADMIN EDIT LINK
   Logged-in managers only
   ========================================================= */

body.pkp_page_about.pkp_op_contact
.page_contact .cmp_edit_link {

    float: none !important;

    display: inline-flex !important;

    align-items: center !important;

    margin:
        -10px
        0
        12px
        auto !important;

    padding:
        5px
        9px !important;

    border-radius:
        5px !important;

    background:
        var(--orange-soft) !important;

    color:
        var(--orange-dark) !important;

    font-size:
        9px !important;

    text-decoration:
        none !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 760px) {

    body.pkp_page_about.pkp_op_contact
    .page_contact .contact_section {

        grid-template-columns: 1fr !important;

        grid-template-areas:
            "address"
            "primary"
            "support" !important;
    }


    body.pkp_page_about.pkp_op_contact
    .page_contact .contact_section > .address {

        padding:
            18px
            18px
            18px
            60px !important;
    }


    body.pkp_page_about.pkp_op_contact
    .page_contact .contact_section > .address:before {

        left: 17px !important;
        top: 19px !important;
    }

}



/* =========================================================
   AUTH PAGES V1
   Login + Register
   OJS 3.2
   ========================================================= */


/* =========================================================
   SHARED PAGE LAYOUT
   ========================================================= */

body.pkp_page_login .approach-site > .pkp_structure_content,
body.pkp_page_user.pkp_op_register .approach-site > .pkp_structure_content {

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding:
        30px
        24px
        65px !important;

    background:
        linear-gradient(
            180deg,
            #f7f9fb 0%,
            #f4f7f9 100%
        ) !important;
}


body.pkp_page_login .pkp_structure_main,
body.pkp_page_user.pkp_op_register .pkp_structure_main {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}


/* No sidebar on auth pages */

body.pkp_page_login .pkp_structure_sidebar,
body.pkp_page_user.pkp_op_register .pkp_structure_sidebar {

    display: none !important;
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

body.pkp_page_login .cmp_breadcrumbs,
body.pkp_page_user.pkp_op_register .cmp_breadcrumbs {

    max-width: 1050px !important;

    margin:
        0
        auto
        22px !important;

    padding: 0 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;

    color: #83919b !important;
}


body.pkp_page_login .cmp_breadcrumbs a,
body.pkp_page_user.pkp_op_register .cmp_breadcrumbs a {

    color: #657b88 !important;

    text-decoration: none !important;
}


body.pkp_page_login .cmp_breadcrumbs a:hover,
body.pkp_page_user.pkp_op_register .cmp_breadcrumbs a:hover {

    color: var(--orange-dark) !important;
}


/* =========================================================
   SHARED TITLE
   ========================================================= */

body.pkp_page_login .page_login > h1,
body.pkp_page_user.pkp_op_register .page_register > h1 {

    position: relative !important;

    margin:
        0
        auto
        24px !important;

    padding:
        0
        0
        0
        16px !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 30px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;

    border: 0 !important;
}


body.pkp_page_login .page_login > h1:before,
body.pkp_page_user.pkp_op_register .page_register > h1:before {

    content: "";

    position: absolute !important;

    left: 0 !important;
    top: 3px !important;
    bottom: 3px !important;

    width: 4px !important;

    border-radius: 4px !important;

    background: var(--orange) !important;
}


/* =========================================================
   COMMON FORM TYPOGRAPHY
   ========================================================= */

body.pkp_page_login .cmp_form,
body.pkp_page_user.pkp_op_register .cmp_form {

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;
}


body.pkp_page_login .cmp_form fieldset,
body.pkp_page_user.pkp_op_register .cmp_form fieldset {

    min-width: 0 !important;

    margin: 0 !important;

    border: 0 !important;
}


body.pkp_page_login .cmp_form legend,
body.pkp_page_user.pkp_op_register .cmp_form legend {

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}


body.pkp_page_login .cmp_form .label,
body.pkp_page_user.pkp_op_register .cmp_form .label {

    display: block !important;

    margin-bottom: 6px !important;

    color: #405866 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 10.5px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}


/* Required star */

body.pkp_page_login .required,
body.pkp_page_user.pkp_op_register .required {

    color: #e64b35 !important;
}


/* =========================================================
   FORM CONTROLS
   ========================================================= */

body.pkp_page_login input[type="text"],
body.pkp_page_login input[type="password"],
body.pkp_page_login input[type="email"],
body.pkp_page_login select,

body.pkp_page_user.pkp_op_register input[type="text"],
body.pkp_page_user.pkp_op_register input[type="password"],
body.pkp_page_user.pkp_op_register input[type="email"],
body.pkp_page_user.pkp_op_register select {

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    height: 42px !important;

    margin: 0 !important;

    padding:
        9px
        12px !important;

    background: #fff !important;

    border:
        1px solid #d7e0e5 !important;

    border-radius:
        7px !important;

    color: var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11.5px !important;

    outline: 0 !important;

    box-shadow: none !important;

    transition:
        border-color .15s ease,
        box-shadow .15s ease !important;
}


body.pkp_page_login input:focus,
body.pkp_page_login select:focus,
body.pkp_page_user.pkp_op_register input:focus,
body.pkp_page_user.pkp_op_register select:focus {

    border-color:
        var(--orange) !important;

    box-shadow:
        0 0 0 3px rgba(244,122,31,.12) !important;
}


/* Chrome autofill - remove yellow appearance */

body.pkp_page_login input:-webkit-autofill,
body.pkp_page_user.pkp_op_register input:-webkit-autofill {

    -webkit-box-shadow:
        0 0 0 1000px #fff inset !important;

    -webkit-text-fill-color:
        var(--navy) !important;

    transition:
        background-color 9999s ease-out 0s;
}


/* =========================================================
   LOGIN PAGE
   ========================================================= */

body.pkp_page_login .page_login {

    width: 100% !important;
    max-width: 520px !important;

    margin:
        0
        auto !important;

    padding: 0 !important;
}


body.pkp_page_login .page_login > h1 {

    max-width: 520px !important;
}


/* Login form card */

body.pkp_page_login
.page_login
.cmp_form.login {

    position: relative !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        28px
        30px !important;

    background: #fff !important;

    border:
        1px solid #e0e7eb !important;

    border-radius:
        14px !important;

    box-shadow:
        0 12px 34px rgba(20,45,64,.07) !important;

    overflow: hidden !important;
}


/* Orange top accent */

body.pkp_page_login
.page_login
.cmp_form.login:before {

    content: "";

    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    top: 0 !important;

    height: 4px !important;

    background:
        linear-gradient(
            90deg,
            var(--orange),
            #ffb21b
        ) !important;
}


/* Login fieldset */

body.pkp_page_login
.page_login
.cmp_form.login > fieldset.fields {

    padding: 0 !important;
}


/* Vertical fields */

body.pkp_page_login
.cmp_form.login .username,
body.pkp_page_login
.cmp_form.login .password {

    margin:
        0
        0
        16px !important;
}


/* Forgot password */

body.pkp_page_login
.cmp_form.login .password label > a {

    display: inline-block !important;

    margin-top: 7px !important;

    color: var(--orange-dark) !important;

    font-size: 9.5px !important;
    font-weight: 600 !important;

    text-decoration: none !important;
}


body.pkp_page_login
.cmp_form.login .password label > a:hover {

    text-decoration: underline !important;
}


/* Remember me */

body.pkp_page_login
.cmp_form.login .remember {

    margin:
        4px
        0
        21px !important;
}


body.pkp_page_login
.cmp_form.login .remember label {

    display: flex !important;

    align-items: center !important;

    gap: 8px !important;

    cursor: pointer !important;
}


body.pkp_page_login
.cmp_form.login .remember input {

    width: 16px !important;
    height: 16px !important;

    margin: 0 !important;

    accent-color: var(--orange) !important;
}


body.pkp_page_login
.cmp_form.login .remember .label {

    margin: 0 !important;

    color: #617681 !important;

    font-size: 10px !important;
    font-weight: 500 !important;
}


/* Login buttons */

body.pkp_page_login
.cmp_form.login .buttons {

    display: grid !important;

    grid-template-columns:
        1fr
        1fr !important;

    gap: 10px !important;

    margin: 0 !important;
}


body.pkp_page_login
.cmp_form.login .buttons .submit {

    height: 42px !important;

    margin: 0 !important;

    border: 1px solid var(--orange) !important;
    border-radius: 7px !important;

    background: var(--orange) !important;

    color: #fff !important;

    font-size: 11px !important;
    font-weight: 750 !important;

    text-shadow: none !important;

    box-shadow:
        0 5px 14px rgba(244,122,31,.18) !important;
}


body.pkp_page_login
.cmp_form.login .buttons .submit:hover {

    background: var(--orange-dark) !important;
    border-color: var(--orange-dark) !important;
}


/* Register secondary button */

body.pkp_page_login
.cmp_form.login .buttons .register {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    height: 42px !important;

    border:
        1px solid #d7e0e5 !important;

    border-radius:
        7px !important;

    background: #fff !important;

    color: var(--navy) !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
}


body.pkp_page_login
.cmp_form.login .buttons .register:hover {

    border-color: #efbb91 !important;

    background: var(--orange-soft) !important;

    color: var(--orange-dark) !important;
}


/* Login error */

body.pkp_page_login
.pkp_form_error {

    margin-bottom: 16px !important;

    padding: 11px 13px !important;

    border-radius: 7px !important;

    background: #fff1ef !important;

    color: #a92c20 !important;

    font-size: 10px !important;
}


/* =========================================================
   REGISTER PAGE
   ========================================================= */

body.pkp_page_user.pkp_op_register
.page_register {

    width: 100% !important;
    max-width: 980px !important;

    margin:
        0
        auto !important;

    padding: 0 !important;
}


body.pkp_page_user.pkp_op_register
.page_register > h1 {

    max-width: 980px !important;
}


/* Register form layout */

body.pkp_page_user.pkp_op_register
.page_register
.cmp_form.register {

    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0,1fr)) !important;

    gap: 16px !important;

    width: 100% !important;

    margin: 0 !important;

    padding: 0 !important;
}


/* Profile + Login cards */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.identity,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.login {

    position: relative !important;

    padding:
        22px
        23px !important;

    background: #fff !important;

    border:
        1px solid #e0e7eb !important;

    border-radius:
        12px !important;

    box-shadow:
        0 7px 24px rgba(20,45,64,.045) !important;
}


/* Section titles */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.identity > legend,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.login > legend {

    display: block !important;

    width: 100% !important;

    margin:
        0
        0
        17px !important;

    padding:
        0
        0
        11px !important;

    border-bottom:
        1px solid #edf0f2 !important;

    color: var(--navy) !important;

    font-size: 15px !important;
    font-weight: 800 !important;
}


/* Profile and Account fields use 2-column grid */

body.pkp_page_user.pkp_op_register
fieldset.identity > .fields,

body.pkp_page_user.pkp_op_register
fieldset.login > .fields {

    display: grid !important;

    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    gap:
        14px
        12px !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Individual field reset */

body.pkp_page_user.pkp_op_register
fieldset.identity > .fields > div,

body.pkp_page_user.pkp_op_register
fieldset.login > .fields > div {

    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   CONSENT / REVIEWER BLOCKS
   ========================================================= */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.consent,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.reviewer,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.reviewer_nocontext_interests {

    grid-column:
        1 / -1 !important;

    padding:
        18px
        22px !important;

    background: #fff !important;

    border:
        1px solid #e0e7eb !important;

    border-radius:
        11px !important;

    box-shadow:
        0 5px 18px rgba(20,45,64,.035) !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register .consent .fields,

body.pkp_page_user.pkp_op_register
.cmp_form.register .reviewer .fields {

    margin:
        0
        0
        8px !important;

    padding: 0 !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register .consent .fields:last-child,

body.pkp_page_user.pkp_op_register
.cmp_form.register .reviewer .fields:last-child {

    margin-bottom: 0 !important;
}


/* Checkboxes */

body.pkp_page_user.pkp_op_register
.cmp_form.register .optin label {

    display: flex !important;

    align-items: flex-start !important;

    gap: 9px !important;

    color: #5e737f !important;

    font-size: 9.5px !important;
    line-height: 1.5 !important;

    cursor: pointer !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register input[type="checkbox"] {

    flex: 0 0 auto !important;

    width: 15px !important;
    height: 15px !important;

    margin-top: 2px !important;

    accent-color: var(--orange) !important;
}


/* Privacy links */

body.pkp_page_user.pkp_op_register
.cmp_form.register .optin a {

    color: var(--orange-dark) !important;

    text-decoration: none !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register .optin a:hover {

    text-decoration: underline !important;
}


/* =========================================================
   REGISTER BUTTONS
   ========================================================= */

body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons {

    grid-column:
        1 / -1 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: flex-end !important;

    gap: 10px !important;

    margin:
        2px
        0
        0 !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons .submit {

    min-width: 150px !important;
    height: 42px !important;

    padding:
        0
        20px !important;

    border:
        1px solid var(--orange) !important;

    border-radius:
        7px !important;

    background:
        var(--orange) !important;

    color: #fff !important;

    font-size: 11px !important;
    font-weight: 750 !important;

    text-shadow: none !important;

    box-shadow:
        0 5px 14px rgba(244,122,31,.18) !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons .submit:hover {

    background:
        var(--orange-dark) !important;

    border-color:
        var(--orange-dark) !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons .login {

    min-width: 110px !important;
    height: 42px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    padding:
        0
        16px !important;

    border:
        1px solid #d7e0e5 !important;

    border-radius:
        7px !important;

    background: #fff !important;

    color: var(--navy) !important;

    font-size: 11px !important;
    font-weight: 700 !important;

    text-decoration: none !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons .login:hover {

    border-color:
        #efbb91 !important;

    background:
        var(--orange-soft) !important;

    color:
        var(--orange-dark) !important;
}


/* =========================================================
   FORM ERRORS
   ========================================================= */

body.pkp_page_user.pkp_op_register
.pkp_form_error,

body.pkp_page_user.pkp_op_register
.alert {

    grid-column:
        1 / -1 !important;

    margin: 0 !important;

    padding:
        11px
        13px !important;

    border-radius:
        7px !important;

    background:
        #fff1ef !important;

    color:
        #a92c20 !important;

    font-size:
        10px !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 760px) {

    body.pkp_page_login .approach-site > .pkp_structure_content,
    body.pkp_page_user.pkp_op_register .approach-site > .pkp_structure_content {

        padding:
            24px
            17px
            45px !important;
    }


    body.pkp_page_login
    .page_login
    .cmp_form.login {

        padding:
            24px
            20px !important;
    }


    body.pkp_page_login
    .cmp_form.login .buttons {

        grid-template-columns:
            1fr !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register {

        grid-template-columns:
            1fr !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register > fieldset {

        grid-column:
            1 !important;
    }


    body.pkp_page_user.pkp_op_register
    fieldset.identity > .fields,

    body.pkp_page_user.pkp_op_register
    fieldset.login > .fields {

        grid-template-columns:
            1fr !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register > .buttons {

        grid-column:
            1 !important;

        flex-direction:
            column !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register > .buttons .submit,

    body.pkp_page_user.pkp_op_register
    .cmp_form.register > .buttons .login {

        width: 100% !important;
    }

}



/* =========================================================
   AUTH PAGES REFINEMENT V2
   Login Landscape + Register Readability
   ========================================================= */


/* =========================================================
   LOGIN - LANDSCAPE
   ========================================================= */

body.pkp_page_login .page_login {
    width: 100% !important;
    max-width: 860px !important;

    margin: 0 auto !important;
    padding: 0 !important;
}


body.pkp_page_login .page_login > h1 {
    max-width: 860px !important;

    margin-bottom: 20px !important;
}


/* Main landscape card */

body.pkp_page_login
.page_login
.cmp_form.login {

    width: 100% !important;

    margin: 0 !important;

    padding:
        28px
        30px
        24px !important;

    border-radius: 14px !important;
}


/* Username + Password side by side */

body.pkp_page_login
.cmp_form.login > fieldset.fields {

    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0,1fr)) !important;

    column-gap: 24px !important;
    row-gap: 16px !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.pkp_page_login
.cmp_form.login .username {

    grid-column: 1 !important;

    margin: 0 !important;
}


body.pkp_page_login
.cmp_form.login .password {

    grid-column: 2 !important;

    margin: 0 !important;
}


/* Larger login fields */

body.pkp_page_login
.cmp_form.login input[type="text"],

body.pkp_page_login
.cmp_form.login input[type="password"] {

    height: 44px !important;

    font-size: 12px !important;
}


/* Labels */

body.pkp_page_login
.cmp_form.login .label {

    margin-bottom: 7px !important;

    font-size: 11px !important;
}


/* Forgot password stays under password field */

body.pkp_page_login
.cmp_form.login .password label > a {

    margin-top: 7px !important;

    font-size: 10px !important;
}


/* Remember row */

body.pkp_page_login
.cmp_form.login .remember {

    grid-column: 1 / -1 !important;

    margin:
        4px
        0
        2px !important;
}


body.pkp_page_login
.cmp_form.login .remember label {

    min-height: 28px !important;
}


body.pkp_page_login
.cmp_form.login .remember .label {

    font-size: 11px !important;
}


/* Buttons become horizontal and aligned right */

body.pkp_page_login
.cmp_form.login .buttons {

    display: flex !important;

    align-items: center !important;
    justify-content: flex-end !important;

    gap: 10px !important;

    width: 100% !important;

    margin:
        20px
        0
        0 !important;
}


body.pkp_page_login
.cmp_form.login .buttons .submit,

body.pkp_page_login
.cmp_form.login .buttons .register {

    width: auto !important;

    min-width: 130px !important;
    height: 42px !important;

    margin: 0 !important;
}


/* Make Login primary action appear first visually */

body.pkp_page_login
.cmp_form.login .buttons .submit {

    order: 1 !important;
}


body.pkp_page_login
.cmp_form.login .buttons .register {

    order: 2 !important;
}


/* =========================================================
   REGISTER - BETTER POSITIONING
   ========================================================= */

body.pkp_page_user.pkp_op_register
.page_register {

    width: 100% !important;
    max-width: 1120px !important;

    margin: 0 auto !important;
}


body.pkp_page_user.pkp_op_register
.page_register > h1 {

    max-width: 1120px !important;

    margin-bottom: 18px !important;
}


body.pkp_page_user.pkp_op_register
.cmp_breadcrumbs {

    max-width: 1120px !important;
}


/* Main register grid */

body.pkp_page_user.pkp_op_register
.cmp_form.register {

    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    gap: 18px !important;

    align-items: start !important;
}


/* Main cards */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.identity,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.login {

    padding:
        23px
        25px
        25px !important;

    border-radius: 12px !important;
}


/* Profile / Login headings */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.identity > legend,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.login > legend {

    margin-bottom: 18px !important;

    padding-bottom: 11px !important;

    font-size: 16px !important;
}


/* Fields inside both cards */

body.pkp_page_user.pkp_op_register
fieldset.identity > .fields,

body.pkp_page_user.pkp_op_register
fieldset.login > .fields {

    gap:
        17px
        14px !important;
}


/* Input labels slightly larger */

body.pkp_page_user.pkp_op_register
.cmp_form.register .label {

    margin-bottom: 7px !important;

    font-size: 11px !important;
    line-height: 1.4 !important;
}


/* Larger controls */

body.pkp_page_user.pkp_op_register
.cmp_form.register input[type="text"],

body.pkp_page_user.pkp_op_register
.cmp_form.register input[type="email"],

body.pkp_page_user.pkp_op_register
.cmp_form.register input[type="password"],

body.pkp_page_user.pkp_op_register
.cmp_form.register select {

    height: 44px !important;

    padding:
        9px
        12px !important;

    font-size: 12px !important;
}


/* =========================================================
   REGISTER CONSENT / REVIEWER CARDS
   ========================================================= */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.consent,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.reviewer,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.reviewer_nocontext_interests {

    padding:
        20px
        25px !important;

    border-radius: 11px !important;
}


/* Critical improvement:
   Consent + reviewer text readability */

body.pkp_page_user.pkp_op_register
.cmp_form.register .optin label {

    display: flex !important;

    align-items: flex-start !important;

    gap: 11px !important;

    color: #405968 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 12px !important;
    font-weight: 450 !important;
    line-height: 1.55 !important;
}


/* Some OJS markup puts text inside .label */

body.pkp_page_user.pkp_op_register
.cmp_form.register .optin .label {

    margin: 0 !important;

    color: #405968 !important;

    font-size: 12px !important;
    font-weight: 450 !important;
    line-height: 1.55 !important;
}


/* Larger checkboxes */

body.pkp_page_user.pkp_op_register
.cmp_form.register input[type="checkbox"] {

    width: 17px !important;
    height: 17px !important;

    min-width: 17px !important;

    margin:
        1px
        0
        0 !important;

    accent-color:
        var(--orange) !important;
}


/* More natural distance between consent options */

body.pkp_page_user.pkp_op_register
.cmp_form.register .consent .fields,

body.pkp_page_user.pkp_op_register
.cmp_form.register .reviewer .fields,

body.pkp_page_user.pkp_op_register
.cmp_form.register .reviewer_nocontext_interests .fields {

    margin:
        0
        0
        14px !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register .consent .fields:last-child,

body.pkp_page_user.pkp_op_register
.cmp_form.register .reviewer .fields:last-child,

body.pkp_page_user.pkp_op_register
.cmp_form.register .reviewer_nocontext_interests .fields:last-child {

    margin-bottom: 0 !important;
}


/* Privacy statement link */

body.pkp_page_user.pkp_op_register
.cmp_form.register .optin a {

    color: var(--orange-dark) !important;

    font-size: inherit !important;
    font-weight: 600 !important;
}


/* =========================================================
   REGISTER BUTTON AREA
   ========================================================= */

body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons {

    grid-column:
        1 / -1 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: flex-end !important;

    gap: 10px !important;

    width: 100% !important;

    margin:
        2px
        0
        0 !important;

    padding:
        4px
        0
        0 !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons .submit {

    min-width: 165px !important;
    height: 44px !important;

    font-size: 11.5px !important;
}


body.pkp_page_user.pkp_op_register
.cmp_form.register > .buttons .login {

    min-width: 115px !important;
    height: 44px !important;

    font-size: 11px !important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 800px) {

    /* Login returns to portrait on tablets/mobile */

    body.pkp_page_login
    .cmp_form.login > fieldset.fields {

        grid-template-columns: 1fr !important;
    }


    body.pkp_page_login
    .cmp_form.login .username,

    body.pkp_page_login
    .cmp_form.login .password,

    body.pkp_page_login
    .cmp_form.login .remember {

        grid-column: 1 !important;
    }


    body.pkp_page_login
    .cmp_form.login .buttons {

        justify-content: stretch !important;
    }


    body.pkp_page_login
    .cmp_form.login .buttons .submit,

    body.pkp_page_login
    .cmp_form.login .buttons .register {

        flex:
            1
            1
            0 !important;

        min-width: 0 !important;
    }


    /* Register becomes single column */

    body.pkp_page_user.pkp_op_register
    .cmp_form.register {

        grid-template-columns: 1fr !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register > fieldset {

        grid-column: 1 !important;
    }

}


@media (max-width: 520px) {

    body.pkp_page_login
    .cmp_form.login .buttons {

        flex-direction: column !important;
    }


    body.pkp_page_login
    .cmp_form.login .buttons .submit,

    body.pkp_page_login
    .cmp_form.login .buttons .register {

        width: 100% !important;
    }


    body.pkp_page_user.pkp_op_register
    fieldset.identity > .fields,

    body.pkp_page_user.pkp_op_register
    fieldset.login > .fields {

        grid-template-columns:
            1fr !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register > .buttons {

        flex-direction:
            column !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register > .buttons .submit,

    body.pkp_page_user.pkp_op_register
    .cmp_form.register > .buttons .login {

        width: 100% !important;
    }

}



/* =========================================================
   REGISTER - PROFILE / LOGIN LEGEND POSITION FIX
   Keep legends fully inside their cards
   ========================================================= */

/* Give the cards dedicated room for their section heading */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.identity,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.login {

    position: relative !important;

    padding:
        64px
        25px
        25px !important;
}


/* Move Profile / Login legend inside card */

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.identity > legend,

body.pkp_page_user.pkp_op_register
.cmp_form.register > fieldset.login > legend {

    position: absolute !important;

    top: 17px !important;
    left: 25px !important;
    right: 25px !important;

    width: auto !important;

    margin: 0 !important;

    padding:
        0
        0
        11px !important;

    border: 0 !important;

    border-bottom:
        1px solid #e8edef !important;

    color: var(--navy) !important;

    background: transparent !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;

    transform: none !important;
}


/* Make sure actual fields begin cleanly below heading */

body.pkp_page_user.pkp_op_register
fieldset.identity > .fields,

body.pkp_page_user.pkp_op_register
fieldset.login > .fields {

    margin: 0 !important;
    padding: 0 !important;
}


/* Mobile */

@media (max-width: 520px) {

    body.pkp_page_user.pkp_op_register
    .cmp_form.register > fieldset.identity,

    body.pkp_page_user.pkp_op_register
    .cmp_form.register > fieldset.login {

        padding:
            60px
            20px
            22px !important;
    }


    body.pkp_page_user.pkp_op_register
    .cmp_form.register > fieldset.identity > legend,

    body.pkp_page_user.pkp_op_register
    .cmp_form.register > fieldset.login > legend {

        top: 16px !important;
        left: 20px !important;
        right: 20px !important;
    }

}



/* =========================================================
   LOGIN LANDSCAPE FINAL V3
   Definitive override for OJS 3.2 login form
   ========================================================= */


/* ---------------------------------------------------------
   PAGE WIDTH
   --------------------------------------------------------- */

body.pkp_page_login .page_login {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 900px !important;
    min-width: 0 !important;

    margin: 0 auto !important;
    padding: 0 !important;

    float: none !important;
}


body.pkp_page_login .page_login > h1 {
    width: 100% !important;
    max-width: 900px !important;

    margin:
        0
        0
        20px !important;
}


/* ---------------------------------------------------------
   FORM CARD
   Kill old OJS/default-theme width constraints
   --------------------------------------------------------- */

body.pkp_page_login
.page_login
form.cmp_form.login {

    box-sizing: border-box !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;

    padding:
        27px
        30px
        25px !important;

    float: none !important;

    position: relative !important;

    background: #fff !important;

    border:
        1px solid #dfe6ea !important;

    border-radius:
        14px !important;

    box-shadow:
        0 12px 32px rgba(20,45,64,.065) !important;

    overflow: hidden !important;
}


/* Orange accent */

body.pkp_page_login
.page_login
form.cmp_form.login:before {

    content: "";

    position: absolute !important;

    left: 0 !important;
    right: 0 !important;
    top: 0 !important;

    height: 4px !important;

    background:
        linear-gradient(
            90deg,
            var(--orange),
            #ffb21b
        ) !important;
}


/* ---------------------------------------------------------
   ACTUAL OJS FIELDSET
   --------------------------------------------------------- */

body.pkp_page_login
.page_login
form.cmp_form.login > fieldset.fields {

    box-sizing: border-box !important;

    display: grid !important;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr) !important;

    grid-template-areas:
        "username password"
        "remember actions" !important;

    column-gap: 30px !important;
    row-gap: 22px !important;

    align-items: end !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    float: none !important;
}


/* ---------------------------------------------------------
   USERNAME
   --------------------------------------------------------- */

body.pkp_page_login
.cmp_form.login
fieldset.fields > .username {

    grid-area: username !important;

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}


/* ---------------------------------------------------------
   PASSWORD
   --------------------------------------------------------- */

body.pkp_page_login
.cmp_form.login
fieldset.fields > .password {

    grid-area: password !important;

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}


/* Labels must consume entire grid cell */

body.pkp_page_login
.cmp_form.login
.username > label,

body.pkp_page_login
.cmp_form.login
.password > label {

    display: block !important;

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* Label typography */

body.pkp_page_login
.cmp_form.login
.username .label,

body.pkp_page_login
.cmp_form.login
.password .label {

    display: block !important;

    margin:
        0
        0
        7px !important;

    color: #3b5362 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
}


/* ---------------------------------------------------------
   INPUTS
   Kill narrow input constraints
   --------------------------------------------------------- */

body.pkp_page_login
.cmp_form.login
input[type="text"],

body.pkp_page_login
.cmp_form.login
input[type="password"] {

    box-sizing: border-box !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    height: 44px !important;

    margin: 0 !important;

    padding:
        9px
        13px !important;

    float: none !important;

    border:
        1px solid #d3dde3 !important;

    border-radius:
        7px !important;

    background: #fff !important;

    color: var(--navy) !important;

    font-size: 12px !important;

    box-shadow: none !important;
}


body.pkp_page_login
.cmp_form.login
input[type="text"]:focus,

body.pkp_page_login
.cmp_form.login
input[type="password"]:focus {

    border-color:
        var(--orange) !important;

    box-shadow:
        0 0 0 3px rgba(244,122,31,.12) !important;

    outline: none !important;
}


/* ---------------------------------------------------------
   FORGOT PASSWORD
   --------------------------------------------------------- */

body.pkp_page_login
.cmp_form.login
.password label > a {

    display: inline-block !important;

    width: auto !important;

    margin:
        7px
        0
        0 !important;

    padding: 0 !important;

    color:
        var(--orange-dark) !important;

    font-size:
        10px !important;

    font-weight:
        600 !important;

    line-height:
        1.3 !important;

    text-decoration:
        none !important;

    white-space:
        nowrap !important;
}


body.pkp_page_login
.cmp_form.login
.password label > a:hover {

    text-decoration:
        underline !important;
}


/* ---------------------------------------------------------
   REMEMBER ME
   --------------------------------------------------------- */

body.pkp_page_login
.cmp_form.login
fieldset.fields > .remember {

    grid-area: remember !important;

    display: flex !important;

    align-items: center !important;

    width: auto !important;
    max-width: none !important;

    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}


body.pkp_page_login
.cmp_form.login
.remember > label {

    display: inline-flex !important;

    align-items: center !important;

    gap: 9px !important;

    width: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    cursor: pointer !important;
}


body.pkp_page_login
.cmp_form.login
.remember input[type="checkbox"] {

    flex:
        0
        0
        auto !important;

    width: 17px !important;
    height: 17px !important;

    margin: 0 !important;

    accent-color:
        var(--orange) !important;
}


body.pkp_page_login
.cmp_form.login
.remember .label {

    margin: 0 !important;

    color: #5c717e !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
}


/* ---------------------------------------------------------
   ACTION BUTTONS
   --------------------------------------------------------- */

body.pkp_page_login
.cmp_form.login
fieldset.fields > .buttons {

    grid-area: actions !important;

    display: flex !important;

    align-items: center !important;
    justify-content: flex-end !important;

    gap: 10px !important;

    width: 100% !important;
    max-width: none !important;

    min-height: 42px !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;

    text-align: right !important;
}


/* Login button */

body.pkp_page_login
.cmp_form.login
.buttons .submit {

    box-sizing: border-box !important;

    order: 1 !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 132px !important;
    max-width: none !important;

    height: 42px !important;

    margin: 0 !important;

    padding:
        0
        20px !important;

    border:
        1px solid var(--orange) !important;

    border-radius:
        7px !important;

    background:
        var(--orange) !important;

    color: #fff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;
    font-weight: 750 !important;

    text-shadow: none !important;

    box-shadow:
        0 5px 14px rgba(244,122,31,.18) !important;
}


body.pkp_page_login
.cmp_form.login
.buttons .submit:hover {

    background:
        var(--orange-dark) !important;

    border-color:
        var(--orange-dark) !important;
}


/* Register secondary button */

body.pkp_page_login
.cmp_form.login
.buttons .register {

    box-sizing: border-box !important;

    order: 2 !important;

    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 132px !important;
    max-width: none !important;

    height: 42px !important;

    margin: 0 !important;

    padding:
        0
        18px !important;

    border:
        1px solid #d4dee4 !important;

    border-radius:
        7px !important;

    background:
        #fff !important;

    color:
        var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        11px !important;

    font-weight:
        700 !important;

    line-height:
        1 !important;

    text-decoration:
        none !important;
}


body.pkp_page_login
.cmp_form.login
.buttons .register:hover {

    background:
        var(--orange-soft) !important;

    border-color:
        #efb486 !important;

    color:
        var(--orange-dark) !important;
}


/* =========================================================
   DESKTOP HEIGHT CONTROL
   No giant empty card
   ========================================================= */

@media (min-width: 801px) {

    body.pkp_page_login
    .page_login
    form.cmp_form.login {

        min-height: 0 !important;
        height: auto !important;
    }

}


/* =========================================================
   TABLET / MOBILE
   ========================================================= */

@media (max-width: 800px) {

    body.pkp_page_login .page_login {
        max-width: 520px !important;
    }


    body.pkp_page_login
    .page_login
    form.cmp_form.login {

        padding:
            26px
            22px
            23px !important;
    }


    body.pkp_page_login
    .cmp_form.login > fieldset.fields {

        grid-template-columns:
            1fr !important;

        grid-template-areas:
            "username"
            "password"
            "remember"
            "actions" !important;

        row-gap:
            17px !important;
    }


    body.pkp_page_login
    .cmp_form.login
    .buttons {

        justify-content:
            stretch !important;
    }


    body.pkp_page_login
    .cmp_form.login
    .buttons .submit,

    body.pkp_page_login
    .cmp_form.login
    .buttons .register {

        flex:
            1
            1
            0 !important;

        min-width:
            0 !important;
    }

}


@media (max-width: 480px) {

    body.pkp_page_login
    .cmp_form.login
    .buttons {

        flex-direction:
            column !important;
    }


    body.pkp_page_login
    .cmp_form.login
    .buttons .submit,

    body.pkp_page_login
    .cmp_form.login
    .buttons .register {

        width:
            100% !important;
    }

}



/* =========================================================
   LOGIN USERNAME / PASSWORD ALIGNMENT FIX
   ========================================================= */

/*
 * Password contains the "Forgot your password?" link,
 * so its grid item is taller than Username.
 * Align both grid items from the top, not from the bottom.
 */

body.pkp_page_login
.page_login
form.cmp_form.login > fieldset.fields {

    align-items: start !important;
}


/* Force both field blocks to begin at exactly the same Y position */

body.pkp_page_login
.cmp_form.login
fieldset.fields > .username,

body.pkp_page_login
.cmp_form.login
fieldset.fields > .password {

    align-self: start !important;

    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Ensure both labels have identical geometry */

body.pkp_page_login
.cmp_form.login
.username > label,

body.pkp_page_login
.cmp_form.login
.password > label {

    margin-top: 0 !important;
    padding-top: 0 !important;
}


/* Match label vertical metrics exactly */

body.pkp_page_login
.cmp_form.login
.username .label,

body.pkp_page_login
.cmp_form.login
.password .label {

    height: auto !important;

    margin:
        0
        0
        7px !important;

    padding: 0 !important;

    line-height: 1.35 !important;
}


/* Inputs remain identical height */

body.pkp_page_login
.cmp_form.login
.username input,

body.pkp_page_login
.cmp_form.login
.password input {

    height: 44px !important;

    margin: 0 !important;
}



/* =========================================================
   HERO BOTTOM-RIGHT TOPICS
   Solid white text + 2px larger
   ========================================================= */

/*
 * Aviation / Technology / Safety / Innovation
 */

.approach-hero-topics,
.approach-hero-tags,
.approach-hero-meta {

    color: #ffffff !important;

    opacity: 1 !important;

    font-size: 11px !important;
}


/* Force every label itself to solid white */

.approach-hero-topics span,
.approach-hero-topics a,
.approach-hero-topics li,

.approach-hero-tags span,
.approach-hero-tags a,
.approach-hero-tags li,

.approach-hero-meta span,
.approach-hero-meta a,
.approach-hero-meta li {

    color: #ffffff !important;

    -webkit-text-fill-color: #ffffff !important;

    opacity: 1 !important;

    font-size: 11px !important;

    font-weight: 750 !important;

    line-height: 1.2 !important;
}


/*
 * Extra specificity for the actual hero visual area.
 */

.approach-hero-visual .approach-hero-topics,
.approach-hero-visual .approach-hero-topics *,
.approach-hero-visual .approach-hero-tags,
.approach-hero-visual .approach-hero-tags *,
.approach-hero-visual .approach-hero-meta,
.approach-hero-visual .approach-hero-meta * {

    color: #ffffff !important;

    -webkit-text-fill-color: #ffffff !important;

    opacity: 1 !important;
}


/*
 * Keep separators orange.
 */

.approach-hero-topics .separator,
.approach-hero-tags .separator,
.approach-hero-meta .separator {

    color: var(--orange) !important;

    -webkit-text-fill-color: var(--orange) !important;
}



/* =========================================================
   ARTICLE DETAIL REDESIGN V1
   OJS 3.2 - Approach Modern
   ========================================================= */


/* =========================================================
   PAGE CONTAINER
   ========================================================= */

body.pkp_page_article.pkp_op_view
.page_article {

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 1280px !important;

    margin:
        0
        auto !important;

    padding:
        28px
        30px
        60px !important;

    color:
        var(--text) !important;
}


/* Remove old OJS floats / accidental widths */

body.pkp_page_article.pkp_op_view
.page_article:before,

body.pkp_page_article.pkp_op_view
.page_article:after {

    content: none !important;

    display: none !important;
}


/* =========================================================
   BREADCRUMBS
   ========================================================= */

body.pkp_page_article.pkp_op_view
.page_article .cmp_breadcrumbs {

    margin:
        0
        0
        23px !important;

    padding: 0 !important;

    color:
        #778995 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        11px !important;

    line-height:
        1.5 !important;
}


body.pkp_page_article.pkp_op_view
.page_article .cmp_breadcrumbs a {

    color:
        #527184 !important;

    text-decoration:
        none !important;
}


body.pkp_page_article.pkp_op_view
.page_article .cmp_breadcrumbs a:hover {

    color:
        var(--orange-dark) !important;
}


/* =========================================================
   ARTICLE OBJECT
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    background:
        transparent !important;
}


/* =========================================================
   ARTICLE TITLE
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details > .page_title {

    position: relative !important;

    max-width:
        1050px !important;

    margin:
        0
        0
        28px !important;

    padding:
        0
        0
        0
        18px !important;

    border: 0 !important;

    color:
        var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        30px !important;

    font-weight:
        800 !important;

    line-height:
        1.25 !important;

    letter-spacing:
        -.015em !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details > .page_title:before {

    content: "";

    position:
        absolute !important;

    left:
        0 !important;

    top:
        5px !important;

    bottom:
        5px !important;

    width:
        5px !important;

    border-radius:
        4px !important;

    background:
        var(--orange) !important;
}


/* Subtitle */

body.pkp_page_article.pkp_op_view
.obj_article_details > .subtitle {

    margin:
        -16px
        0
        27px
        18px !important;

    padding: 0 !important;

    color:
        #647985 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        16px !important;

    font-weight:
        500 !important;

    line-height:
        1.45 !important;
}


/* =========================================================
   MAIN ARTICLE GRID
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details > .row {

    display:
        grid !important;

    grid-template-columns:
        minmax(0,1fr)
        300px !important;

    gap:
        26px !important;

    align-items:
        start !important;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details > .row:before,

body.pkp_page_article.pkp_op_view
.obj_article_details > .row:after {

    content:
        none !important;

    display:
        none !important;
}


/* =========================================================
   MAIN ENTRY CARD
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details .main_entry {

    box-sizing:
        border-box !important;

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding:
        27px
        30px
        32px !important;

    float:
        none !important;

    background:
        #ffffff !important;

    border:
        1px solid #e1e7eb !important;

    border-radius:
        12px !important;

    box-shadow:
        0 6px 22px rgba(20,45,64,.035) !important;
}


/* =========================================================
   SHARED ARTICLE ITEMS
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details .main_entry > .item {

    width:
        100% !important;

    margin:
        0
        0
        27px !important;

    padding:
        0 !important;

    border:
        0 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details .main_entry > .item:last-child {

    margin-bottom:
        0 !important;
}


/* Labels: Abstract, DOI, References, etc */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item > .label {

    position:
        relative !important;

    margin:
        0
        0
        13px !important;

    padding:
        0
        0
        10px
        14px !important;

    border: 0 !important;

    border-bottom:
        1px solid #e9edef !important;

    color:
        var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        18px !important;

    font-weight:
        800 !important;

    line-height:
        1.3 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item > .label:before {

    content: "";

    position:
        absolute !important;

    left:
        0 !important;

    top:
        2px !important;

    bottom:
        11px !important;

    width:
        4px !important;

    border-radius:
        3px !important;

    background:
        var(--orange) !important;
}


/* =========================================================
   AUTHORS
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.authors {

    margin-bottom:
        22px !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.authors > ul.authors {

    display:
        grid !important;

    grid-template-columns:
        repeat(2,minmax(0,1fr)) !important;

    gap:
        9px
        12px !important;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.authors > ul.authors > li {

    position:
        relative !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding:
        12px
        13px !important;

    background:
        #f8fafb !important;

    border:
        1px solid #e8edef !important;

    border-radius:
        8px !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.authors .name {

    display:
        block !important;

    margin-bottom:
        3px !important;

    color:
        var(--navy) !important;

    font-size:
        11.5px !important;

    font-weight:
        750 !important;

    line-height:
        1.4 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.authors .affiliation {

    display:
        block !important;

    color:
        #6d808b !important;

    font-size:
        9.8px !important;

    font-weight:
        450 !important;

    line-height:
        1.45 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.authors .orcid {

    display:
        block !important;

    margin-top:
        5px !important;

    font-size:
        9px !important;
}


/* =========================================================
   DOI
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details .main_entry .item.doi {

    margin:
        0
        0
        25px !important;

    padding:
        14px
        16px !important;

    background:
        var(--orange-soft) !important;

    border:
        1px solid #f4d4b9 !important;

    border-radius:
        8px !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.doi > .label {

    display:
        inline !important;

    margin:
        0
        8px
        0
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    color:
        var(--navy) !important;

    font-size:
        11px !important;

    font-weight:
        800 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.doi > .label:before {

    display:
        none !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.doi .value {

    font-size:
        10.5px !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.doi a {

    color:
        var(--orange-dark) !important;

    font-weight:
        650 !important;

    text-decoration:
        none !important;

    overflow-wrap:
        anywhere !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .item.doi a:hover {

    text-decoration:
        underline !important;
}


/* =========================================================
   ABSTRACT
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .abstract {

    color:
        #4d6573 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        11.5px !important;

    font-weight:
        450 !important;

    line-height:
        1.8 !important;

    text-align:
        left !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .abstract p {

    margin:
        0
        0
        12px !important;
}


/* =========================================================
   KEYWORDS
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .keywords {

    padding:
        14px
        16px !important;

    background:
        #f8fafb !important;

    border:
        1px solid #e7ecef !important;

    border-radius:
        8px !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .keywords > .label {

    display:
        inline !important;

    margin:
        0
        8px
        0
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    font-size:
        11px !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .keywords > .label:before {

    display:
        none !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .keywords .value {

    color:
        #637984 !important;

    font-size:
        10.5px !important;

    line-height:
        1.5 !important;
}


/* =========================================================
   REFERENCES
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .references .value {

    color:
        #506875 !important;

    font-size:
        10.5px !important;

    line-height:
        1.65 !important;

    overflow-wrap:
        anywhere !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .references .value p {

    margin:
        0
        0
        12px !important;

    padding:
        0
        0
        12px !important;

    border-bottom:
        1px solid #edf0f2 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .references .value p:last-child {

    border-bottom:
        0 !important;
}


/* =========================================================
   ARTICLE DETAILS SIDEBAR
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details .entry_details {

    box-sizing:
        border-box !important;

    width:
        100% !important;

    max-width:
        none !important;

    min-width:
        0 !important;

    margin:
        0 !important;

    padding:
        19px !important;

    float:
        none !important;

    background:
        #fff !important;

    border:
        1px solid #e1e7eb !important;

    border-radius:
        12px !important;

    box-shadow:
        0 6px 22px rgba(20,45,64,.035) !important;

    overflow:
        hidden !important;
}


/* Generic sidebar section */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details > .item {

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        15px
        0 !important;

    border:
        0 !important;

    border-bottom:
        1px solid #e9edef !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details > .item:first-child {

    padding-top:
        0 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details > .item:last-child {

    padding-bottom:
        0 !important;

    border-bottom:
        0 !important;
}


/* =========================================================
   COVER IMAGE
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .cover_image {

    text-align:
        center !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .cover_image img {

    display:
        block !important;

    width:
        auto !important;

    max-width:
        230px !important;

    height:
        auto !important;

    max-height:
        330px !important;

    margin:
        0
        auto !important;

    border-radius:
        6px !important;

    box-shadow:
        0 8px 22px rgba(20,45,64,.10) !important;
}


/* =========================================================
   PDF / GALLEYS
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .galleys_links {

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .galleys_links > li {

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .obj_galley_link {

    box-sizing:
        border-box !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        center !important;

    gap:
        8px !important;

    width:
        100% !important;

    min-height:
        42px !important;

    margin:
        0 !important;

    padding:
        0
        15px !important;

    border:
        1px solid var(--orange) !important;

    border-radius:
        7px !important;

    background:
        var(--orange) !important;

    color:
        #fff !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        11px !important;

    font-weight:
        750 !important;

    line-height:
        1.2 !important;

    text-decoration:
        none !important;

    box-shadow:
        0 5px 14px rgba(244,122,31,.16) !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .obj_galley_link:hover {

    background:
        var(--orange-dark) !important;

    border-color:
        var(--orange-dark) !important;
}


/* =========================================================
   SIDEBAR LABELS / VALUES
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .label {

    display:
        block !important;

    margin:
        0
        0
        6px !important;

    padding: 0 !important;

    border: 0 !important;

    color:
        var(--navy) !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size:
        10px !important;

    font-weight:
        800 !important;

    line-height:
        1.35 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .value {

    color:
        #687d89 !important;

    font-size:
        9.8px !important;

    line-height:
        1.55 !important;

    overflow-wrap:
        anywhere !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .value a {

    color:
        var(--orange-dark) !important;

    text-decoration:
        none !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .value a:hover {

    text-decoration:
        underline !important;
}


/* =========================================================
   PUBLISHED / ISSUE SUB-ITEMS
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .sub_item {

    margin:
        0
        0
        12px !important;

    padding: 0 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .sub_item:last-child {

    margin-bottom:
        0 !important;
}


/* =========================================================
   COPYRIGHT / LICENSE
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .copyright {

    color:
        #687d89 !important;

    font-size:
        9.5px !important;

    line-height:
        1.55 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details .copyright img {

    max-width:
        90px !important;

    height:
        auto !important;

    margin-top:
        7px !important;
}


/* =========================================================
   LINKS GENERALLY
   ========================================================= */

body.pkp_page_article.pkp_op_view
.obj_article_details a {

    transition:
        color .15s ease,
        background .15s ease,
        border-color .15s ease !important;
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 900px) {

    body.pkp_page_article.pkp_op_view
    .obj_article_details > .row {

        grid-template-columns:
            minmax(0,1fr)
            250px !important;

        gap:
            20px !important;
    }


    body.pkp_page_article.pkp_op_view
    .obj_article_details
    .main_entry {

        padding:
            23px
            22px
            27px !important;
    }


    body.pkp_page_article.pkp_op_view
    .obj_article_details
    .main_entry .item.authors > ul.authors {

        grid-template-columns:
            1fr !important;
    }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    body.pkp_page_article.pkp_op_view
    .page_article {

        padding:
            22px
            16px
            45px !important;
    }


    body.pkp_page_article.pkp_op_view
    .obj_article_details > .page_title {

        font-size:
            24px !important;

        margin-bottom:
            20px !important;
    }


    body.pkp_page_article.pkp_op_view
    .obj_article_details > .row {

        grid-template-columns:
            1fr !important;

        gap:
            16px !important;
    }


    body.pkp_page_article.pkp_op_view
    .obj_article_details
    .entry_details {

        grid-row:
            auto !important;
    }


    body.pkp_page_article.pkp_op_view
    .obj_article_details
    .entry_details .cover_image img {

        max-width:
            190px !important;
    }

}



/* =========================================================
   ARTICLE DETAIL - REMOVE EXTERNAL JOURNAL SIDEBAR
   ========================================================= */

/*
 * Article pages already have their own article metadata
 * column (.entry_details). The general journal sidebar is
 * unnecessary here.
 */

body.pkp_page_article.pkp_op_view
.pkp_structure_sidebar {

    display: none !important;

    width: 0 !important;
    max-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}


/* Remove OJS "has_sidebar" layout constraints */

body.pkp_page_article.pkp_op_view
.pkp_structure_content,

body.pkp_page_article.pkp_op_view
.pkp_structure_content.has_sidebar {

    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    grid-template-columns: none !important;
}


/* Main content receives the available width */

body.pkp_page_article.pkp_op_view
.pkp_structure_main {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    float: none !important;
}


/*
 * Keep actual article content centered.
 * This is the ARTICLE layout, not the old journal sidebar.
 */

body.pkp_page_article.pkp_op_view
.page_article {

    width: 100% !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* Prevent pseudo-elements from reserving sidebar space */

body.pkp_page_article.pkp_op_view
.pkp_structure_content:before,

body.pkp_page_article.pkp_op_view
.pkp_structure_content:after,

body.pkp_page_article.pkp_op_view
.pkp_structure_main:before,

body.pkp_page_article.pkp_op_view
.pkp_structure_main:after {

    content: none !important;

    display: none !important;
}



/* =========================================================
   ARTICLE REFERENCES - ONE COMPLETE REFERENCE PER ROW
   ========================================================= */

/*
 * Remove the previous fragmented paragraph appearance.
 */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .references .value {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #506875 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;

    line-height: 1.7 !important;
}


/* Normalized raw citations */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-list {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.pkp_page_article.pkp_op_view
.references
.approach-reference-item {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        13px
        4px
        13px
        24px !important;

    border: 0 !important;

    border-bottom:
        1px solid #e9edef !important;

    color:
        #506875 !important;

    font-size:
        11px !important;

    font-weight:
        450 !important;

    line-height:
        1.7 !important;

    /*
     * Hanging indent is conventional for references:
     * first line starts left, continuation lines indent.
     */
    text-indent:
        -20px !important;

    overflow-wrap:
        anywhere !important;

    word-break:
        normal !important;
}


body.pkp_page_article.pkp_op_view
.references
.approach-reference-item:first-child {

    padding-top:
        3px !important;
}


body.pkp_page_article.pkp_op_view
.references
.approach-reference-item:last-child {

    border-bottom:
        0 !important;

    padding-bottom:
        3px !important;
}


/* =========================================================
   ALREADY PARSED OJS REFERENCES
   One <p> = one citation
   ========================================================= */

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        13px
        4px
        13px
        24px !important;

    border: 0 !important;

    border-bottom:
        1px solid #e9edef !important;

    color:
        #506875 !important;

    font-size:
        11px !important;

    font-weight:
        450 !important;

    line-height:
        1.7 !important;

    text-indent:
        -20px !important;

    overflow-wrap:
        anywhere !important;
}


body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p:first-child {

    padding-top:
        3px !important;
}


body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p:last-child {

    border-bottom:
        0 !important;

    padding-bottom:
        3px !important;
}



/* =========================================================
   ARTICLE REFERENCES - LEFT ALIGNMENT FIX
   Align references with Abstract and other section content
   ========================================================= */

/*
 * Reference content container begins at the exact same
 * horizontal point as Abstract content.
 */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .references > .value {

    width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/* Normalized reference list */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-list {

    width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/*
 * First line starts flush with Abstract text.
 * Continuation lines use a subtle 20px hanging indent.
 */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-item {

    box-sizing: border-box !important;

    width: 100% !important;

    margin:
        0 !important;

    padding:
        13px
        4px
        13px
        20px !important;

    text-indent:
        -20px !important;
}


/* Parsed OJS references use exactly the same geometry */

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p {

    box-sizing: border-box !important;

    width: 100% !important;

    margin:
        0 !important;

    padding:
        13px
        4px
        13px
        20px !important;

    text-indent:
        -20px !important;
}


/* First and last rows retain compact spacing */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-item:first-child,

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p:first-child {

    padding-top:
        3px !important;
}


body.pkp_page_article.pkp_op_view
.references
.approach-reference-item:last-child,

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p:last-child {

    padding-bottom:
        3px !important;
}



/* =========================================================
   ARTICLE REFERENCES - EXACT ALIGNMENT WITH ABSTRACT
   No hanging indent
   ========================================================= */

/*
 * Reference container:
 * same horizontal geometry as Abstract content.
 */

body.pkp_page_article.pkp_op_view
.obj_article_details
.main_entry .references > .value {

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;

    text-indent: 0 !important;
}


/* Normalized references */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-list {

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
}


/*
 * Every reference starts at the same X position
 * as the Abstract paragraph.
 *
 * No hanging indent.
 */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-item {

    box-sizing: border-box !important;

    width: 100% !important;

    margin:
        0 !important;

    padding:
        13px
        0 !important;

    text-indent:
        0 !important;

    transform:
        none !important;
}


/* Parsed OJS reference markup */

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p {

    box-sizing: border-box !important;

    width: 100% !important;

    margin:
        0 !important;

    padding:
        13px
        0 !important;

    text-indent:
        0 !important;

    transform:
        none !important;
}


/* Also neutralize nested elements */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-item *,

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p * {

    margin-left:
        0 !important;

    padding-left:
        0 !important;

    text-indent:
        0 !important;
}


/* First row slightly tighter */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-item:first-child,

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p:first-child {

    padding-top:
        3px !important;
}


/* Last row */

body.pkp_page_article.pkp_op_view
.references
.approach-reference-item:last-child,

body.pkp_page_article.pkp_op_view
.references
.value.approach-references-parsed > p:last-child {

    padding-bottom:
        3px !important;
}



/* =========================================================
   UNIVERSAL ARTICLE DETAIL COMPATIBILITY V2
   Applies to ALL Approach article detail pages
   ========================================================= */


/* ---------------------------------------------------------
   ALL ARTICLE PAGES
   --------------------------------------------------------- */

body.pkp_page_article .page_article {

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: 1280px !important;

    margin-left: auto !important;
    margin-right: auto !important;

    padding-left: 30px !important;
    padding-right: 30px !important;
}


/* ---------------------------------------------------------
   REMOVE GENERAL JOURNAL SIDEBAR FROM ALL ARTICLE PAGES
   --------------------------------------------------------- */

body.pkp_page_article
.pkp_structure_sidebar {

    display: none !important;

    width: 0 !important;
    max-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


body.pkp_page_article
.pkp_structure_content,

body.pkp_page_article
.pkp_structure_content.has_sidebar,

body.pkp_page_article
.pkp_structure_main {

    width: 100% !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    float: none !important;
}


/* ---------------------------------------------------------
   MAIN ARTICLE OBJECT
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details {

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
}


body.pkp_page_article
.obj_article_details > .row {

    display: grid !important;

    grid-template-columns:
        minmax(0,1fr)
        300px !important;

    gap: 26px !important;

    align-items: start !important;

    width: 100% !important;

    margin: 0 !important;
}


/* Main article */

body.pkp_page_article
.obj_article_details .main_entry {

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;

    float: none !important;
}


/* Article metadata panel */

body.pkp_page_article
.obj_article_details .entry_details {

    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    float: none !important;
}


/* =========================================================
   UNIVERSAL REFERENCES
   ========================================================= */

body.pkp_page_article
.obj_article_details
.references > .value {

    box-sizing: border-box !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #506875 !important;

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Roboto,
        Helvetica,
        Arial,
        sans-serif !important;

    font-size: 11px !important;

    line-height: 1.7 !important;

    text-indent: 0 !important;
}


/*
 * Reconstructed reference list
 */

body.pkp_page_article
.approach-reference-list {

    box-sizing: border-box !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;
}


/*
 * One COMPLETE reference per row.
 *
 * IMPORTANT:
 * no hanging indent.
 *
 * Left edge must align exactly with Abstract body text.
 */

body.pkp_page_article
.approach-reference-row {

    box-sizing: border-box !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        13px
        0 !important;

    border: 0 !important;

    border-bottom:
        1px solid #e9edef !important;

    color:
        #506875 !important;

    font-size:
        11px !important;

    font-weight:
        450 !important;

    line-height:
        1.7 !important;

    text-indent:
        0 !important;

    overflow-wrap:
        anywhere !important;

    word-break:
        normal !important;
}


body.pkp_page_article
.approach-reference-row:first-child {

    padding-top:
        3px !important;
}


body.pkp_page_article
.approach-reference-row:last-child {

    border-bottom:
        0 !important;

    padding-bottom:
        3px !important;
}


body.pkp_page_article
.approach-reference-row a {

    color:
        var(--orange-dark) !important;

    text-decoration:
        none !important;
}


body.pkp_page_article
.approach-reference-row a:hover {

    text-decoration:
        underline !important;
}


/* =========================================================
   FALLBACK FOR ARTICLE REFERENCES THAT WERE NOT REBUILT
   ========================================================= */

/*
 * Proper <ol><li> references.
 */

body.pkp_page_article
.references .value > ol,

body.pkp_page_article
.references .value > ul {

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;

    counter-reset: none !important;
}


body.pkp_page_article
.references .value > ol > li,

body.pkp_page_article
.references .value > ul > li {

    display: block !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        13px
        0 !important;

    border-bottom:
        1px solid #e9edef !important;

    color:
        #506875 !important;

    font-size:
        11px !important;

    line-height:
        1.7 !important;

    text-indent:
        0 !important;
}


/* Paragraph references */

body.pkp_page_article
.references .value > p {

    box-sizing: border-box !important;

    width: 100% !important;

    margin: 0 !important;

    padding:
        13px
        0 !important;

    border-bottom:
        1px solid #e9edef !important;

    text-indent:
        0 !important;
}


/* Remove old hanging-indent rules everywhere */

body.pkp_page_article
.references
.approach-reference-item,

body.pkp_page_article
.references
.approach-reference-item *,

body.pkp_page_article
.references
.approach-reference-row,

body.pkp_page_article
.references
.approach-reference-row *,

body.pkp_page_article
.references
.value > p,

body.pkp_page_article
.references
.value > li {

    margin-left: 0 !important;

    padding-left: 0 !important;

    text-indent: 0 !important;

    transform: none !important;
}


/* =========================================================
   ABSTRACT + REFERENCES SHARE IDENTICAL LEFT EDGE
   ========================================================= */

body.pkp_page_article
.obj_article_details
.main_entry .abstract,

body.pkp_page_article
.obj_article_details
.main_entry .references > .value {

    margin-left: 0 !important;
    padding-left: 0 !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    body.pkp_page_article
    .page_article {

        padding-left: 16px !important;
        padding-right: 16px !important;
    }


    body.pkp_page_article
    .obj_article_details > .row {

        grid-template-columns:
            1fr !important;

        gap:
            16px !important;
    }

}



/* =========================================================
   ARTICLE DETAIL - PDF BUTTON CONTRAST FIX
   ========================================================= */

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links .obj_galley_link,

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links a,

body.pkp_page_article
.obj_article_details
.entry_details
a.obj_galley_link {

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 8px !important;

    width: 100% !important;
    min-height: 46px !important;

    margin: 0 !important;

    padding:
        0
        16px !important;

    background: #F47A1F !important;

    border:
        1px solid #F47A1F !important;

    border-radius:
        8px !important;

    color: #FFFFFF !important;

    -webkit-text-fill-color:
        #FFFFFF !important;

    opacity: 1 !important;

    font-size: 12px !important;

    font-weight: 750 !important;

    line-height: 1 !important;

    text-decoration: none !important;

    text-shadow: none !important;

    box-shadow:
        0 5px 14px rgba(244,122,31,.18) !important;
}


/* Text inside PDF button */

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links .obj_galley_link span,

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links a span {

    color: #FFFFFF !important;

    -webkit-text-fill-color:
        #FFFFFF !important;

    opacity: 1 !important;
}


/* FontAwesome / PDF icon */

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links .obj_galley_link i,

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links .obj_galley_link:before,

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links a i,

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links a:before {

    color: #FFFFFF !important;

    -webkit-text-fill-color:
        #FFFFFF !important;

    opacity: 1 !important;
}


/* SVG icons if used */

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links svg {

    fill: #FFFFFF !important;

    color: #FFFFFF !important;

    opacity: 1 !important;
}


/* Hover */

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links .obj_galley_link:hover,

body.pkp_page_article
.obj_article_details
.entry_details
.galleys_links a:hover {

    background: #D95C08 !important;

    border-color: #D95C08 !important;

    color: #FFFFFF !important;

    -webkit-text-fill-color:
        #FFFFFF !important;

    text-decoration: none !important;
}



/* =========================================================
   GLOBAL CONTENT TYPOGRAPHY +2PX
   ---------------------------------------------------------
   Applies to content text only.
   Excludes:
   - site header / navigation
   - H1 / H2 / H3
   - title / subtitle
   - buttons and CTA
   ========================================================= */


/* ---------------------------------------------------------
   GENERAL BODY CONTENT
   Previous visual baseline ~11.5-12px
   New baseline ~13.5-14px
   --------------------------------------------------------- */

.approach-site
.pkp_structure_main p {

    font-size: 13.5px !important;
    line-height: 1.72 !important;
}


/* Generic textual values / descriptions */

.approach-site
.pkp_structure_main .description,

.approach-site
.pkp_structure_main .value {

    font-size: 13px !important;
    line-height: 1.65 !important;
}


/* ---------------------------------------------------------
   ARTICLE ABSTRACT
   11.5px -> 13.5px
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.main_entry .abstract,

body.pkp_page_article
.obj_article_details
.main_entry .abstract p {

    font-size: 13.5px !important;
    line-height: 1.78 !important;
}


/* ---------------------------------------------------------
   ARTICLE REFERENCES
   11px -> 13px
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.references > .value,

body.pkp_page_article
.approach-reference-row,

body.pkp_page_article
.approach-reference-item,

body.pkp_page_article
.references .value > p,

body.pkp_page_article
.references .value > ol > li,

body.pkp_page_article
.references .value > ul > li {

    font-size: 13px !important;
    line-height: 1.7 !important;
}


/* ---------------------------------------------------------
   ARTICLE AUTHOR NAMES
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.authors .name {

    font-size: 13.5px !important;
}


/* Author affiliations
   ~9.8px -> ~11.8px
 */

body.pkp_page_article
.obj_article_details
.authors .affiliation {

    font-size: 11.8px !important;
    line-height: 1.5 !important;
}


/* ORCID / secondary author information */

body.pkp_page_article
.obj_article_details
.authors .orcid {

    font-size: 11px !important;
}


/* ---------------------------------------------------------
   ARTICLE METADATA SIDEBAR
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.entry_details .value {

    font-size: 11.8px !important;
    line-height: 1.55 !important;
}


body.pkp_page_article
.obj_article_details
.entry_details .copyright {

    font-size: 11.5px !important;
    line-height: 1.6 !important;
}


/* ---------------------------------------------------------
   DOI / KEYWORDS
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.main_entry .item.doi .value,

body.pkp_page_article
.obj_article_details
.main_entry .keywords .value {

    font-size: 12.5px !important;
    line-height: 1.55 !important;
}


/* ---------------------------------------------------------
   ISSUE / ARTICLE SUMMARY CONTENT
   --------------------------------------------------------- */

.approach-site
.obj_article_summary .authors {

    font-size: 12px !important;
    line-height: 1.5 !important;
}


.approach-site
.obj_article_summary .pages {

    font-size: 12px !important;
}


.approach-site
.obj_issue_toc .description {

    font-size: 13px !important;
    line-height: 1.65 !important;
}


.approach-site
.obj_issue_toc .published {

    font-size: 12.5px !important;
}


/* ---------------------------------------------------------
   HOME PAGE ABOUT CONTENT
   --------------------------------------------------------- */

.approach-home
.approach-about-card p,

.approach-home
.approach-about-card .description {

    font-size: 13.5px !important;
    line-height: 1.7 !important;
}


/* ---------------------------------------------------------
   GENERAL LIST CONTENT
   Only ordinary lists inside main content.
   Navigation/menu lists are deliberately excluded.
   --------------------------------------------------------- */

.approach-site
.pkp_structure_main
:not(.approach-primary-menu)
:not(.approach-user-menu)
> li {

    font-size: 13px !important;
}


/* ---------------------------------------------------------
   FORM HELP / DESCRIPTION TEXT
   --------------------------------------------------------- */

.approach-site
.pkp_structure_main .description,

.approach-site
.pkp_structure_main .pkp_help,

.approach-site
.pkp_structure_main .help {

    font-size: 13px !important;
    line-height: 1.6 !important;
}


/* ---------------------------------------------------------
   EXPLICIT EXCLUSIONS
   Do NOT enlarge headings / titles / subtitles.
   --------------------------------------------------------- */

.approach-site
h1,

.approach-site
h2,

.approach-site
h3,

.approach-site
h4.title,

.approach-site
.page_title,

.approach-site
.title,

.approach-site
.subtitle,

.approach-site
.approach-section-heading,

.approach-site
.approach-hero-title,

.approach-site
.approach-hero-title * {

    /* Keep typography controlled by existing theme rules. */
}


/* ---------------------------------------------------------
   EXPLICIT UI EXCLUSIONS
   Buttons keep their existing scale.
   --------------------------------------------------------- */

.approach-site
button,

.approach-site
.button,

.approach-site
.cmp_button,

.approach-site
.obj_galley_link,

.approach-site
input[type="submit"],

.approach-site
input[type="button"] {

    /* Existing button typography intentionally preserved. */
}



/* =========================================================
   ARTICLE DETAIL TYPOGRAPHY +2PX V2
   ---------------------------------------------------------
   Authors list
   Keywords
   Published
   Issue
   Section
   ========================================================= */


/* =========================================================
   AUTHORS LIST
   ========================================================= */

/* Author name:
   current 13.5px -> 15.5px
 */

body.pkp_page_article
.obj_article_details
.main_entry
.item.authors
.authors .name,

body.pkp_page_article
.obj_article_details
.main_entry
.item.authors
.author .name {

    font-size: 15.5px !important;

    line-height: 1.42 !important;
}


/* Affiliation:
   current 11.8px -> 13.8px
 */

body.pkp_page_article
.obj_article_details
.main_entry
.item.authors
.authors .affiliation,

body.pkp_page_article
.obj_article_details
.main_entry
.item.authors
.author .affiliation {

    font-size: 13.8px !important;

    line-height: 1.5 !important;
}


/* ORCID / secondary author information:
   current 11px -> 13px
 */

body.pkp_page_article
.obj_article_details
.main_entry
.item.authors
.authors .orcid,

body.pkp_page_article
.obj_article_details
.main_entry
.item.authors
.author .orcid,

body.pkp_page_article
.obj_article_details
.main_entry
.item.authors
.authors .email {

    font-size: 13px !important;

    line-height: 1.45 !important;
}


/* =========================================================
   KEYWORDS
   ========================================================= */

/* Keywords label:
   11px -> 13px
 */

body.pkp_page_article
.obj_article_details
.main_entry
.item.keywords > .label,

body.pkp_page_article
.obj_article_details
.main_entry
.keywords > .label {

    font-size: 13px !important;

    line-height: 1.35 !important;
}


/* Keywords content:
   current 12.5px -> 14.5px
 */

body.pkp_page_article
.obj_article_details
.main_entry
.item.keywords > .value,

body.pkp_page_article
.obj_article_details
.main_entry
.keywords > .value {

    font-size: 14.5px !important;

    line-height: 1.6 !important;
}


/* Keywords links/spans inherit exactly the same size */

body.pkp_page_article
.obj_article_details
.main_entry
.item.keywords > .value a,

body.pkp_page_article
.obj_article_details
.main_entry
.item.keywords > .value span,

body.pkp_page_article
.obj_article_details
.main_entry
.keywords > .value a,

body.pkp_page_article
.obj_article_details
.main_entry
.keywords > .value span {

    font-size: inherit !important;
}


/* =========================================================
   PUBLISHED
   ========================================================= */

/* Published label:
   current 10px -> 12px
 */

body.pkp_page_article
.obj_article_details
.entry_details
.item.published > .label {

    font-size: 12px !important;

    line-height: 1.4 !important;
}


/* Published date/content:
   current 11.8px -> 13.8px
 */

body.pkp_page_article
.obj_article_details
.entry_details
.item.published > .value {

    font-size: 13.8px !important;

    line-height: 1.5 !important;
}


/* =========================================================
   ISSUE + SECTION
   OJS places these as sub-items inside .item.issue
   ========================================================= */

/* "Issue" and "Section" labels:
   current 10px -> 12px
 */

body.pkp_page_article
.obj_article_details
.entry_details
.item.issue
.sub_item > .label {

    font-size: 12px !important;

    line-height: 1.4 !important;
}


/* Issue title + Section content:
   current 11.8px -> 13.8px
 */

body.pkp_page_article
.obj_article_details
.entry_details
.item.issue
.sub_item > .value {

    font-size: 13.8px !important;

    line-height: 1.52 !important;
}


/* Links inside Issue inherit the new content size */

body.pkp_page_article
.obj_article_details
.entry_details
.item.issue
.sub_item > .value a {

    font-size: inherit !important;

    line-height: inherit !important;
}


/* =========================================================
   FALLBACK FOR ALTERNATE OJS ARTICLE MARKUP
   ========================================================= */

body.pkp_page_article
.obj_article_details
.entry_details
.item.section > .label {

    font-size: 12px !important;
}


body.pkp_page_article
.obj_article_details
.entry_details
.item.section > .value {

    font-size: 13.8px !important;

    line-height: 1.52 !important;
}



/* =========================================================
   FOOTER TYPOGRAPHY SPECIFICITY SAFEGUARD
   ========================================================= */

/*
 * Ensure descendants do not inherit smaller OJS/default-theme
 * font sizes after our exact footer rules.
 */

.approach-footer
.approach-footer-brand-copy strong,

.approach-footer
.approach-footer-brand-copy p,

.approach-footer
.approach-footer-contact h3,

.approach-footer
.approach-footer-contact p,

.approach-footer
.approach-footer-contact a,

.approach-footer
.approach-footer-links h3,

.approach-footer
.approach-footer-link-grid a,

.approach-footer
.approach-footer-copyright,

.approach-footer
.approach-footer-tagline,

.approach-footer
.approach-footer-system a {

    -webkit-text-size-adjust: 100% !important;
}


/*
 * Cloudflare email protection span must inherit
 * the enlarged footer email size.
 */

.approach-footer-contact a
.__cf_email__ {

    font-size: inherit !important;

    line-height: inherit !important;
}


/*
 * Bottom tagline child spans inherit enlarged parent.
 */

.approach-footer-tagline > span {

    font-size: inherit !important;

    line-height: inherit !important;
}


/*
 * Do NOT enlarge the airplane icon.
 */

.approach-footer-plane {

    font-size: 17px !important;
}



/* =========================================================
   APPROACH FOOTER - VERIFIED TYPOGRAPHY +2PX
   ========================================================= */

/* Institution name: 12px -> 14px */

.approach-footer
.approach-footer-brand-copy strong {
    font-size: 14px !important;
}


/* Address: 10px -> 12px */

.approach-footer
.approach-footer-brand-copy p {
    font-size: 12px !important;
    line-height: 1.55 !important;
}


/* Contact Info / Quick Links: 11px -> 13px */

.approach-footer h3 {
    font-size: 13px !important;
}


/* P3M description: 9.5px -> 11.5px */

.approach-footer
.approach-footer-contact p {
    font-size: 11.5px !important;
}


/* Email: 9.5px -> 11.5px */

.approach-footer
.approach-footer-contact a {
    font-size: 11.5px !important;
}


/* Cloudflare-protected email */

.approach-footer
.approach-footer-contact a
.__cf_email__ {
    font-size: inherit !important;
}


/* Quick Links: 9.5px -> 11.5px */

.approach-footer
.approach-footer-link-grid a {
    font-size: 11.5px !important;
}


/* Copyright: 8.5px -> 10.5px */

.approach-footer
.approach-footer-copyright {
    font-size: 10.5px !important;
}


/* Bottom tagline: 8.5px -> 10.5px */

.approach-footer
.approach-footer-tagline {
    font-size: 10.5px !important;
}


.approach-footer
.approach-footer-tagline > span {
    font-size: inherit !important;
}


/* Powered by OJS / PKP: 7px -> 9px */

.approach-footer
.approach-footer-system a {
    font-size: 9px !important;
}


/* Icon is not text, keep existing size */

.approach-footer
.approach-footer-plane {
    font-size: 17px !important;
}



/* =========================================================
   ARTICLE DETAIL - UNIFORM METADATA TYPOGRAPHY
   Published / Issue / Section / License
   ========================================================= */


/* ---------------------------------------------------------
   LABELS
   Published
   Issue
   Section
   License

   All exactly 12px
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.entry_details
.item.published > .label,

body.pkp_page_article
.obj_article_details
.entry_details
.item.issue
.sub_item > .label,

body.pkp_page_article
.obj_article_details
.entry_details
.item.section > .label,

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .label,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .label {

    font-size: 12px !important;

    line-height: 1.4 !important;

    font-weight: 700 !important;
}


/* ---------------------------------------------------------
   CONTENT VALUES
   Published date
   Issue title
   Section name
   Copyright / license information

   All exactly 13.8px
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.entry_details
.item.published > .value,

body.pkp_page_article
.obj_article_details
.entry_details
.item.issue
.sub_item > .value,

body.pkp_page_article
.obj_article_details
.entry_details
.item.section > .value,

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .value,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .value {

    font-size: 13.8px !important;

    line-height: 1.6 !important;

    font-weight: 400 !important;
}


/* ---------------------------------------------------------
   FORCE CHILD ELEMENTS TO INHERIT
   Prevent old/global rules from changing individual items
   --------------------------------------------------------- */

/* Published */

body.pkp_page_article
.obj_article_details
.entry_details
.item.published > .value * {

    font-size: inherit !important;

    line-height: inherit !important;
}


/* Issue + Section */

body.pkp_page_article
.obj_article_details
.entry_details
.item.issue
.sub_item > .value * {

    font-size: inherit !important;

    line-height: inherit !important;
}


body.pkp_page_article
.obj_article_details
.entry_details
.item.section > .value * {

    font-size: inherit !important;

    line-height: inherit !important;
}


/* License / Copyright */

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .value p,

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .value a,

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .value span,

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .value div,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .value p,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .value a,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .value span,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .value div {

    font-size: inherit !important;

    line-height: inherit !important;
}


/* ---------------------------------------------------------
   LINKS
   Same typography as regular metadata content
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.entry_details
.item.issue
.sub_item > .value a,

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .value a,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .value a {

    font-size: inherit !important;

    line-height: inherit !important;
}


/* ---------------------------------------------------------
   PARAGRAPH MARGINS
   Do not allow generic content rule to alter typography
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright > .value p,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license > .value p {

    font-size: inherit !important;

    line-height: inherit !important;

    margin-top: 0 !important;
}


/* ---------------------------------------------------------
   Creative Commons image
   Typography patch must not affect image dimensions
   --------------------------------------------------------- */

body.pkp_page_article
.obj_article_details
.entry_details
.item.copyright img,

body.pkp_page_article
.obj_article_details
.entry_details
.item.license img {

    font-size: initial !important;
}



/* =========================================================
   ARTICLE DETAIL - VERIFIED METADATA TYPOGRAPHY
   DOM verified from live OJS output
   ========================================================= */


/* ---------------------------------------------------------
   LABELS
   Published / Issue / Section / License
   --------------------------------------------------------- */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.published
.sub_item > .label,

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.issue
.sub_item > .label,

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.copyright > .label {

    font-size: 12px !important;
    line-height: 1.4 !important;
    font-weight: 700 !important;
}


/* ---------------------------------------------------------
   PUBLISHED CONTENT

   Actual DOM:
   .item.published
       .sub_item
           .value
               span
   --------------------------------------------------------- */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.published
.sub_item > .value {

    font-size: 13.8px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.published
.sub_item > .value > span {

    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}


/* ---------------------------------------------------------
   ISSUE + SECTION CONTENT
   --------------------------------------------------------- */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.issue
.sub_item > .value {

    font-size: 13.8px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}


/* Issue title is an <a class="title"> */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.issue
.sub_item > .value > a,

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.issue
.sub_item > .value > .title {

    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}


/* ---------------------------------------------------------
   LICENSE / COPYRIGHT CONTENT

   Actual DOM:
   .item.copyright
       h2.label
       p
       a > img
       p > a
   --------------------------------------------------------- */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.copyright > p {

    font-size: 13.8px !important;
    line-height: 1.6 !important;
    font-weight: 400 !important;
}


/* Links inside license paragraphs inherit content size */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.copyright > p a,

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.copyright > p span {

    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
}


/* CC image remains unchanged */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.copyright > a[rel="license"] {

    font-size: initial !important;
}


body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.copyright > a[rel="license"] img {

    font-size: initial !important;
}


/* =========================================================
   FINAL CONSISTENCY LOCK
   ========================================================= */

/*
 * All textual metadata values share the exact same
 * base typography.
 */

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.published
.sub_item > .value,

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.issue
.sub_item > .value,

body.pkp_page_article.pkp_op_view
.obj_article_details
.entry_details
.item.copyright > p {

    font-family: inherit !important;

    font-size: 13.8px !important;

    line-height: 1.6 !important;

    letter-spacing: normal !important;
}

