/**
 * FEBRY-style skin for the Amarta03 theme.
 *
 * Reproduces the look of the reference journal layout: floating logo,
 * dark user toolbar, white uppercase navbar, banner with site name and a
 * left-hand sidebar. Loaded after the Bootstrap stylesheet.
 */

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/montserrat-regular.woff2") format("woff2");
}

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("fonts/montserrat-700.woff2") format("woff2");
}

:root {
	--ash-primary: #1e8b92;
	--ash-primary-hover: #27b3bc;
	--ash-primary-dark: #156368;
	--ash-heading: #024456;
	--ash-accent: #f9ce7b;
	--ash-gold: #f7bc4a;
	--ash-tabs-bg: #156368;
	--ash-toolbar-bg: #202020;
	--ash-toolbar-hover: #3a3a3a;
	--ash-surface: #e9ecef;
	--ash-banner-overlay: rgba(13, 58, 61, 0.8);
	--ash-font-display: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
	--ash-logo-size: 80px;
}

@media (min-width: 768px) {
	:root { --ash-logo-size: 100px; }
}

@media (min-width: 992px) {
	:root { --ash-logo-size: 160px; }
}

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

a {
	color: var(--ash-primary);
}

a:hover,
a:focus {
	color: var(--ash-primary-hover);
}

h1, h2, h3, .site-name {
	font-family: var(--ash-font-display);
	font-weight: 700;
}

.btn-primary {
	background-color: var(--ash-primary);
	border-color: var(--ash-primary-dark);
}

.btn-primary:hover,
.btn-primary:focus {
	background-color: var(--ash-primary-hover);
	border-color: var(--ash-primary);
}

/* ---------- Header wrapper ---------- */

.ash-header {
	margin-bottom: 0;
	border: 0;
	background: #fff;
}

/* ---------- Floating logo ---------- */

.ash-logo {
	position: relative;
	z-index: 1030;
	height: 0;
}

.ash-logo .container {
	position: relative;
}

.ash-logo-wrapper {
	position: absolute;
	top: 0;
	left: 15px;
}

.ash-logo-link img {
	display: block;
	width: var(--ash-logo-size);
	height: auto;
}

/* ---------- User toolbar ---------- */

.ash-toolbar {
	min-height: 10px;
	background: var(--ash-toolbar-bg);
}

.ash-toolbar .nav {
	margin: 0;
	padding: 0;
	float: right;
}

.ash-toolbar .nav > li {
	float: left;
}

.ash-toolbar .nav > li > a {
	padding: 10px 14px;
	border-radius: 0;
	color: #fff;
	font-size: 13px;
	line-height: 1.4;
	background: transparent;
}

.ash-toolbar .nav > li > a:hover,
.ash-toolbar .nav > li > a:focus,
.ash-toolbar .nav > .open > a {
	color: #fff;
	background: var(--ash-toolbar-hover);
}

.ash-toolbar .dropdown-menu > li > a {
	color: var(--ash-primary);
}

.ash-toolbar .dropdown-menu > li > a:hover,
.ash-toolbar .dropdown-menu > li > a:focus {
	background: #fff;
	color: var(--ash-primary-hover);
}

@media (min-width: 992px) {
	.ash-toolbar {
		min-height: 40px;
	}
}

/* ---------- Navbar ---------- */

.ash-navbar.navbar {
	margin-bottom: 0;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
}

.ash-navbar .navbar-toggle {
	margin: 8px 15px 8px 0;
	border-color: rgba(30, 139, 146, 0.3);
}

.ash-navbar .navbar-toggle .icon-bar {
	background-color: var(--ash-primary);
}

.ash-navbar .navbar-toggle:hover,
.ash-navbar .navbar-toggle:focus {
	background-color: var(--ash-surface);
}

.ash-navbar .navbar-nav > li > a {
	font-family: var(--ash-font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--ash-primary);
}

.ash-navbar .navbar-nav > li > a:hover,
.ash-navbar .navbar-nav > li > a:focus,
.ash-navbar .navbar-nav > .open > a,
.ash-navbar .navbar-nav > .open > a:hover,
.ash-navbar .navbar-nav > .open > a:focus {
	background: transparent;
	color: var(--ash-primary-hover);
}

.ash-navbar .dropdown-menu {
	min-width: 220px;
	padding: 0;
	border: 0;
	border-radius: 3px;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
}

.ash-navbar .dropdown-menu > li > a {
	padding: 10px 12px;
	border-left: 5px solid transparent;
	color: var(--ash-primary);
}

.ash-navbar .dropdown-menu > li > a:hover,
.ash-navbar .dropdown-menu > li > a:focus {
	background: var(--ash-surface);
	border-left-color: var(--ash-primary);
	color: var(--ash-primary);
}

.ash-navbar form[role="search"],
.ash-navbar .navbar-form {
	margin-top: 8px;
	margin-bottom: 8px;
}

.ash-navbar .navbar-form .btn,
.ash-navbar form .btn {
	border: 0;
	border-radius: 5px;
	background: var(--ash-primary);
	color: #fff;
	font-weight: 700;
}

.ash-navbar .navbar-form .btn:hover,
.ash-navbar form .btn:hover,
.ash-navbar .navbar-form .btn:focus,
.ash-navbar form .btn:focus {
	background: var(--ash-primary-hover);
}

@media (min-width: 992px) {
	.ash-navbar.has-logo .navbar-collapse {
		margin-left: 170px;
	}
}

/* ---------- Banner ---------- */

.ash-banner {
	background: center / cover no-repeat linear-gradient(135deg, #00bcd4 0%, #1e8b92 55%, #156368 100%);
}

.ash-banner-bg {
	background: var(--ash-banner-overlay);
}

.ash-banner-inner {
	margin: 0 15px;
	border-left: 5px solid var(--ash-accent);
}

.ash-banner-title {
	margin: 0;
	padding: 28px 20px;
	font-size: 16px;
	line-height: 1.5;
}

.ash-banner-title a {
	color: #fff;
	text-decoration: none;
}

.ash-banner-title a:hover,
.ash-banner-title a:focus {
	color: #fff;
	text-decoration: underline;
}

@media (min-width: 768px) {
	.ash-banner-title {
		padding: 60px 20px 40px;
		font-size: 18px;
	}
}

@media (min-width: 992px) {
	.ash-banner-inner {
		margin: 0 30px;
	}

	.ash-banner-title {
		padding: 90px 30px 40px;
		font-size: 30px;
		line-height: 40px;
	}
}

/* ---------- Content + right sidebar (stacks below content on mobile) ---------- */

.pkp_structure_content {
	display: flex;
	flex-wrap: wrap;
	padding-top: 30px;
	padding-bottom: 30px;
}

/* Bootstrap clearfix pseudo-elements would become empty flex items */
.pkp_structure_content:before,
.pkp_structure_content:after {
	display: none;
}

.pkp_structure_main {
	flex: 1 1 100%;
	min-width: 0;
	float: none;
}

.pkp_structure_main h1 {
	margin-top: 0;
	font-size: 24px;
	line-height: 1.4;
}

.pkp_structure_sidebar {
	flex: 1 1 100%;
	float: none;
	width: auto;
	margin-top: 30px;
}

@media (min-width: 992px) {
	.pkp_structure_main {
		flex: 1 1 0;
		padding-right: 30px;
	}

	.pkp_structure_sidebar {
		flex: 0 0 300px;
		margin-top: 0;
	}
}

/* ---------- Sidebar blocks ---------- */

.pkp_block {
	margin-bottom: 20px;
}

.pkp_block .title,
.pkp_block h2 {
	margin: 0 0 12px;
	padding-bottom: 5px;
	border-bottom: 2px solid var(--ash-heading);
	color: var(--ash-heading);
	font-family: var(--ash-font-display);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
}

.pkp_block .title.pkp_screen_reader {
	border: 0;
}

.pkp_block .content img {
	max-width: 100%;
	height: auto;
}

.pkp_block a {
	text-decoration: none;
}

/* Quick-menu / "Make a Submission" style link buttons */
.block_make_submission a,
.block_make_submission_link {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 3px 1em;
	border: 1px solid rgba(30, 139, 146, 0.5);
	border-left: 5px solid var(--ash-primary);
	border-radius: 0 0 5px 5px;
	background: #fff;
	color: var(--ash-primary);
	font-family: var(--ash-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 24px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 150ms ease, color 150ms ease;
}

.block_make_submission a:hover,
.block_make_submission a:focus,
.block_make_submission_link:hover,
.block_make_submission_link:focus {
	border-left-color: var(--ash-gold);
	background: var(--ash-primary);
	color: #fff;
	text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
	.block_make_submission a,
	.block_make_submission_link {
		transition: none;
	}
}

/* ---------- Homepage: journal profile card (SINTA / Google Scholar) ---------- */

.journal_profile {
	margin-bottom: 30px;
	padding: 20px;
	border: 1px solid #e6e9f0;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.06);
	color: #334155;
}

.journal_profile p {
	margin: 0;
}

.jp-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 14px;
	border-bottom: 1px solid #e6e9f0;
}

.jp-brand {
	display: flex;
	align-items: center;
	gap: 12px;
}

.jp-brand-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(135deg, #6d4cd3, #8b6cf0);
	color: #fff;
	font-size: 16px;
}

.jp-eyebrow {
	color: #1e2a4a;
	font-family: var(--ash-font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.jp-subtitle {
	color: #64748b;
	font-size: 11px;
}

.jp-links {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.jp-links li + li {
	margin-left: 14px;
	padding-left: 14px;
	border-left: 1px solid #e2e8f0;
}

.jp-links a {
	color: #334155;
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.jp-links a:hover,
.jp-links a:focus {
	color: var(--ash-primary);
	text-decoration: underline;
}

.journal_profile h2.jp-title {
	margin: 18px 0 16px;
	color: #1e2a4a;
	font-size: 22px;
}

.jp-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
}

@media (min-width: 768px) {
	.jp-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.jp-card {
	position: relative;
	overflow: hidden;
	padding: 18px;
	border: 1px solid var(--jp-border);
	border-radius: 16px;
	background: var(--jp-bg);
}

/* Decorative ring in the top-right corner */
.jp-card::after {
	content: "";
	position: absolute;
	top: -34px;
	right: -34px;
	width: 120px;
	height: 120px;
	border: 18px solid rgba(255, 255, 255, 0.65);
	border-radius: 50%;
	pointer-events: none;
}

.jp-card-sinta { --jp-bg: #fff8e1; --jp-border: #fcd34d; --jp-accent: #a16207; --jp-soft: #f5b82e; }
.jp-card-impact { --jp-bg: #fff1f1; --jp-border: #fca5a5; --jp-accent: #b91c1c; --jp-soft: #ef4444; }
.jp-card-citations { --jp-bg: #effcf3; --jp-border: #86efac; --jp-accent: #15803d; --jp-soft: #22c55e; }
.jp-card-hindex { --jp-bg: #f4f1ff; --jp-border: #c4b5fd; --jp-accent: #5b3fc4; --jp-soft: #8b6cf0; }

.jp-card-head {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 12px;
}

.jp-card-icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
	color: var(--jp-accent);
	font-size: 17px;
}

.journal_profile h3.jp-card-title {
	margin: 0;
	color: var(--jp-accent);
	font-family: var(--ash-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.4;
	text-transform: uppercase;
}

.jp-card-note {
	color: var(--jp-accent);
	font-size: 10px;
	font-weight: 700;
	opacity: 0.85;
}

.jp-card-body {
	position: relative;
	z-index: 1;
	margin-top: 24px;
}

.jp-value {
	color: var(--jp-accent);
	font-family: var(--ash-font-display);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.2;
}

.jp-dash {
	display: block;
	width: 28px;
	height: 4px;
	margin: 12px 0 18px;
	border-radius: 2px;
	background: var(--jp-soft);
}

.jp-caption {
	color: #334155;
	font-size: 12px;
}

.jp-card-split {
	display: flex;
	gap: 20px;
}

.jp-card-split > div {
	flex: 1 1 0;
}

.jp-card-split > div + div {
	padding-left: 20px;
	border-left: 1px solid rgba(15, 23, 42, 0.14);
}

.jp-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
	margin-top: 16px;
	padding: 10px 14px;
	border: 1px solid #dbe7fb;
	border-radius: 10px;
	background: #f5f8ff;
	font-size: 11px;
}

.jp-footer .jp-links a {
	color: #1d4ed8;
	font-size: 11px;
}

/* ---------- Homepage: journal metrics ---------- */

.journal_metrics {
	margin-bottom: 40px;
	padding: 0 20px;
	border: 1px solid rgba(30, 139, 146, 0.5);
	border-left: 8px solid var(--ash-primary);
	border-radius: 0 0 10px 10px;
}

.journal_metrics h2 {
	margin: 0;
	color: var(--ash-tabs-bg);
	font-size: 16px;
	text-align: center;
}

.journal_metrics h2 .stats_value {
	color: rgba(0, 0, 0, 0.87);
}

.journal_metrics .metrics_heading_wrapper {
	padding: 10px 0;
	border-bottom: 3px solid var(--ash-surface);
}

.journal_metrics .metric_item {
	padding: 20px 0;
}

/* Bootstrap 3's .label is a white badge; here it is plain caption text */
.journal_metrics .label {
	display: block;
	padding: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
	white-space: normal;
}

.journal_metrics .metric_item .value {
	display: block;
	padding-bottom: 5px;
	color: var(--ash-primary);
	font-family: var(--ash-font-display);
	font-size: 20px;
	font-weight: 700;
}

.journal-metrics-country-stats {
	padding: 10px 0 20px;
}

.journal-metrics-country-stats .label {
	display: flex;
	align-items: center;
	width: 100%;
	padding-bottom: 20px;
	text-align: center;
}

.journal-metrics-country-stats .label::before,
.journal-metrics-country-stats .label::after {
	content: "";
	flex-grow: 1;
	margin: 0 10px;
	border-top: 2px solid var(--ash-surface);
}

.journal-metrics-country-stats .label > span {
	padding: 0 10px;
	white-space: nowrap;
}

.journal-metrics-country-stats .total-countries {
	padding: 0;
	color: var(--ash-primary);
	font-weight: 700;
}

.journal-metrics-country-stats .country-list {
	margin: 0;
}

.journal-metrics-country-stats .country-item {
	padding: 0 10px;
	font-family: var(--ash-font-display);
	font-size: 18px;
	font-weight: 700;
}

.journal-metrics-country-stats .country-item .fi {
	margin-right: 4px;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
	vertical-align: middle;
}

.journal-metrics-country-stats .country-item .glyphicon {
	color: var(--ash-primary);
}

@media (min-width: 768px) {
	.journal_metrics h2 {
		text-align: left;
	}
}

.journal_metrics .metrics_data {
	text-align: center;
}

.journal_metrics .all_stats_button {
	padding: 4px 0;
}

@media (min-width: 768px) {
	.journal_metrics .metrics_data {
		text-align: right;
	}

	/* Title and "View All Statistics" button share one vertically centred row */
	.journal_metrics .metrics_heading_wrapper {
		display: flex;
		align-items: center;
	}

	.journal_metrics .metrics_heading_wrapper:before,
	.journal_metrics .metrics_heading_wrapper:after {
		display: none;
	}
}

.common_button {
	padding: 0.5em 10px;
	border: 0;
	border-radius: 5px;
	background: var(--ash-primary);
	color: #fff;
	font-family: var(--ash-font-display);
	font-weight: 700;
	transition: background-color 150ms ease, color 150ms ease;
}

.common_button:hover,
.common_button:focus {
	background: var(--ash-gold);
	color: var(--ash-primary);
}

.common_button:focus-visible {
	outline: 2px solid var(--ash-heading);
	outline-offset: 2px;
}

/* ---------- Statistics modal ---------- */

#statisticsModal .modal-content {
	padding: 15px;
}

#statisticsModal .modal-header {
	padding: 10px 15px;
}

#statisticsModal .modal-title {
	margin: 10px 0;
	font-family: var(--ash-font-display);
	font-size: 24px;
	font-weight: 700;
}

.active-stats-panel {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 30px;
	margin-bottom: 30px;
	padding: 20px;
	border-radius: 5px;
	background-color: #003366;
	color: #fff;
}

@media (min-width: 992px) {
	.active-stats-panel {
		flex-direction: row;
	}
}

.active-stats-panel .chart-container {
	flex-shrink: 0;
}

.active-stats-panel .chart-display {
	position: relative;
	display: grid;
	place-items: center;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	background: conic-gradient(
		from 0deg,
		#d33449 var(--p-submission),
		var(--ash-gold) var(--p-submission) var(--p-review),
		#5bc0de var(--p-review) var(--p-copyediting),
		#5cb85c var(--p-copyediting) var(--p-production),
		#ddd var(--p-production) 100%
	);
}

.active-stats-panel .chart-display:before {
	content: "";
	position: absolute;
	width: 80%;
	height: 80%;
	border-radius: 50%;
	background: #003366;
}

.active-stats-panel .chart-text {
	position: relative;
	text-align: center;
}

.active-stats-panel .total-active-count {
	font-family: var(--ash-font-display);
	font-size: 50px;
	font-weight: 700;
	line-height: 60px;
}

.active-stats-panel .total-active-label {
	color: #f8f9fa;
	font-size: 13px;
	text-transform: uppercase;
}

.active-stats-panel .stages-breakdown {
	display: flex;
	flex-wrap: wrap;
	flex-grow: 1;
	justify-content: space-around;
	gap: 15px;
}

.active-stats-panel .stage-item {
	text-align: center;
}

.active-stats-panel .stage-count {
	padding-bottom: 8px;
	font-family: var(--ash-font-display);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.1;
}

.active-stats-panel .stage-label {
	color: #f8f9fa;
	font-size: 13px;
}

.active-stats-panel .stage-color-submission { color: #d33449; }
.active-stats-panel .stage-color-review { color: var(--ash-gold); }
.active-stats-panel .stage-color-copyediting { color: #5bc0de; }
.active-stats-panel .stage-color-production { color: #5cb85c; }

.stats-table {
	margin-bottom: 0;
}

.stats-table > thead > tr > th {
	padding: 8px;
	border-bottom: 1px solid #dee2e6;
	color: var(--ash-tabs-bg);
	font-family: var(--ash-font-display);
	font-size: 18px;
	font-weight: 700;
}

.stats-table > tbody > tr > td {
	padding: 8px;
	border-top: 0;
	border-bottom: 1px solid #dee2e6;
}

.stats-table .stat-row {
	font-family: var(--ash-font-display);
	font-weight: 700;
}

.stats-table .stat-label,
.stats-table .stat-value {
	color: var(--ash-primary);
}

/* Parent rows followed by indented sub-rows have no divider */
.stats-table .stat-row:has(+ .stat-sub) > td {
	border-bottom-color: transparent;
}

.stats-table .stat-sub > td {
	color: rgba(0, 0, 0, 0.87);
}

.stats-table .stat-sub .stat-label {
	padding-left: 24px;
	color: rgba(0, 0, 0, 0.87);
	font-weight: 400;
}

.stats-table .stat-sub .stat-value {
	color: rgba(0, 0, 0, 0.87);
}

.stats-table .yearly-average-modal {
	font-weight: 400;
}

@media (prefers-reduced-motion: reduce) {
	.common_button {
		transition: none;
	}
}

/* ---------- Homepage: ISSN line + About / Current Issue tabs ---------- */

.homepage_title h1 {
	margin-bottom: 40px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--ash-gold);
	color: var(--ash-tabs-bg);
}

.journal_details .ash_issn {
	margin-bottom: 14px;
	font-family: var(--ash-font-display);
	font-weight: 700;
	text-align: left;
}

@media (min-width: 768px) {
	.journal_details .ash_issn {
		margin-bottom: 5px;
		text-align: right;
	}
}

.ash-nav-tabs.nav-tabs {
	margin: 0;
	border-bottom: 0;
	border-left: 8px solid var(--ash-primary);
	background: var(--ash-tabs-bg);
}

.ash-nav-tabs.nav-tabs > li > a.ash-nav-link {
	margin: 0;
	padding: 16px 20px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-family: var(--ash-font-display);
	font-weight: 700;
}

.ash-nav-tabs.nav-tabs > li > a.ash-nav-link:hover,
.ash-nav-tabs.nav-tabs > li > a.ash-nav-link:focus {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}

.ash-nav-tabs.nav-tabs > li.active > a.ash-nav-link,
.ash-nav-tabs.nav-tabs > li.active > a.ash-nav-link:hover,
.ash-nav-tabs.nav-tabs > li.active > a.ash-nav-link:focus {
	background: var(--ash-gold);
	color: rgba(0, 0, 0, 0.87);
}

.ash-tab-content {
	margin-bottom: 40px;
	border: 1px solid rgba(30, 139, 146, 0.5);
	border-left: 8px solid var(--ash-primary);
	border-radius: 0 0 10px 10px;
}

.ash-tab-pane {
	padding: 20px 15px;
}

@media (min-width: 768px) {
	.ash-tab-pane {
		padding: 40px 30px;
	}
}

.ash-tab-pane .current_issue h2 {
	margin: 0 0 20px;
	padding-top: 0;
	font-size: 20px;
}

.ash-tab-pane .current_issue h2 .value {
	color: var(--ash-primary);
}

/* ---------- Current issue: galley buttons and "view all" links ---------- */

.obj_galley_link,
.galleys_links a {
	border: 1px solid rgba(30, 139, 146, 0.5);
	border-left: 5px solid var(--ash-primary);
	border-radius: 0 0 5px 5px;
	background: #fff;
	color: var(--ash-primary);
	font-weight: 700;
	transition: background-color 150ms ease, color 150ms ease;
}

.obj_galley_link:hover,
.obj_galley_link:focus,
.galleys_links a:hover,
.galleys_links a:focus {
	border-left-color: var(--ash-gold);
	background: var(--ash-primary);
	color: #fff;
	text-decoration: none;
}

.ash-tab-pane .read-more {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--ash-primary);
	font-weight: 700;
}

.ash-tab-pane .read-more:hover,
.ash-tab-pane .read-more:focus {
	background: transparent;
	color: var(--ash-primary-hover);
	text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
	.obj_galley_link,
	.galleys_links a {
		transition: none;
	}
}

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

.footer {
	margin-top: 20px;
	padding: 30px 0;
	border-top: 1px solid var(--ash-surface);
	background: var(--ash-surface);
	text-align: center;
}

.footer .container {
	text-align: left;
}

/* ---------- Content containment ----------
 * Pasted HTML (journal description, custom sidebar blocks) often carries
 * fixed widths, `align="left"` floats and inline fonts. Contain it so it
 * cannot spill over the sidebar or neighbouring blocks.
 */

.pkp_structure_main {
	overflow-wrap: break-word;
}

.journal-description,
.pkp_block .content {
	display: flow-root;
	max-width: 100%;
}

.journal-description *,
.pkp_block .content * {
	max-width: 100%;
	box-sizing: border-box;
}

.journal-description * {
	position: static !important;
	font-family: inherit !important;
}

.journal-description table,
.pkp_block .content table {
	float: none !important;
	width: 100% !important;
	height: auto !important;
}

.journal-description img,
.pkp_block .content img {
	height: auto;
}

/* Custom blocks may embed their own sidebar wrapper; neutralise the nested one */
.pkp_structure_sidebar .pkp_structure_sidebar {
	flex: none;
	float: none;
	width: auto;
	margin: 0;
}

/* ---------- Mobile responsiveness ----------
 * Tables pasted into the journal description / additional content (e.g.
 * "About the Journal") carry fixed widths and long unbroken text that push
 * the whole page wider than a phone screen.
 */

.journal-description table,
.additional_content table {
	table-layout: fixed;
	width: 100% !important;
	max-width: 100%;
}

.journal-description td,
.journal-description th,
.additional_content td,
.additional_content th {
	width: auto !important;
	min-width: 0;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.journal-description img,
.journal-description iframe,
.journal-description video,
.additional_content img,
.additional_content iframe,
.additional_content video {
	max-width: 100%;
	height: auto;
}

/* Last line of defence: never let the page scroll sideways */
.pkp_structure_page {
	overflow-x: clip;
}

@media (max-width: 767px) {
	/* Narrow label column, wide value column for "Label | value" info tables */
	.journal-description td:first-child,
	.additional_content td:first-child {
		width: 38% !important;
	}

	.journal-description,
	.additional_content {
		font-size: 14px;
	}

	.journal-metrics-country-stats .label {
		flex-wrap: wrap;
	}

	.journal-metrics-country-stats .label > span {
		white-space: normal;
		text-align: center;
	}
}

/* ---------- Mobile responsiveness, wrapper-independent ----------
 * Applies to anything inside the main column, whichever wrapper the pasted
 * HTML ends up in (description tab, additional content, custom pages).
 */

html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

.pkp_structure_main,
.pkp_structure_main * {
	max-width: 100%;
	box-sizing: border-box;
}

.pkp_structure_main [style*="width"] {
	max-width: 100% !important;
}

.pkp_structure_main table:not(.table) {
	table-layout: fixed;
	width: 100% !important;
}

.pkp_structure_main table:not(.table) td,
.pkp_structure_main table:not(.table) th {
	width: auto !important;
	min-width: 0;
	white-space: normal !important;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.pkp_structure_main img,
.pkp_structure_main iframe,
.pkp_structure_main video,
.pkp_structure_main embed,
.pkp_structure_main object {
	max-width: 100% !important;
	height: auto;
}

.pkp_structure_main pre {
	white-space: pre-wrap;
	overflow-wrap: anywhere;
}

/* ---------- Mobile info tables: stacked "label over value" ----------
 * Journal-info tables ("Journal title | ...", "Citation Analysis | ...")
 * pasted into the description keep their columns on desktop; on phones every
 * row becomes a small label above a full-width, wrapping value.
 */

.pkp_structure_main td,
.pkp_structure_main th,
.pkp_structure_main li,
.pkp_structure_main p,
.pkp_structure_main div,
.pkp_structure_main span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.journal-description *,
.additional_content *,
.journal_details * {
	white-space: normal !important;
}

.journal-description pre,
.additional_content pre {
	white-space: pre-wrap !important;
}

@media (max-width: 767px) {
	.pkp_structure_main h2 {
		font-size: 22px;
		line-height: 1.3;
	}

	.pkp_structure_main table:not(.stats-table),
	.pkp_structure_main table:not(.stats-table) > tbody,
	.pkp_structure_main table:not(.stats-table) > thead,
	.pkp_structure_main table:not(.stats-table) > tfoot,
	.pkp_structure_main table:not(.stats-table) tr {
		display: block;
		width: 100% !important;
		height: auto !important;
	}

	.pkp_structure_main table:not(.stats-table) tr {
		padding: 10px 0;
		border-bottom: 1px solid var(--ash-surface);
	}

	.pkp_structure_main table:not(.stats-table) td,
	.pkp_structure_main table:not(.stats-table) th {
		display: block;
		width: 100% !important;
		height: auto !important;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
	}

	/* Label cell */
	.pkp_structure_main table:not(.stats-table) td:first-child:not(:last-child) {
		margin-bottom: 2px;
		color: #6b7280;
		font-size: 12px;
		font-weight: 400;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	/* Value cell */
	.pkp_structure_main table:not(.stats-table) td:not(:first-child) {
		font-size: 15px;
		line-height: 1.5;
	}
}

/* ---------- Tighter "About the Journal" tab spacing ---------- */

@media (min-width: 768px) {
	.ash-tab-pane.homepage_tab_about {
		padding: 20px 30px;
	}
}

.ash-tab-pane.homepage_tab_about {
	padding-top: 16px;
	padding-bottom: 16px;
}

.journal-description > :first-child {
	margin-top: 0 !important;
}

.journal-description > :last-child {
	margin-bottom: 0 !important;
}

/* Pasted tables bring their own margin / padding; empty paragraphs add blank lines */
.journal-description table {
	margin: 0 !important;
}

.journal-description > p:empty,
.journal-description > p:first-child:has(> br:only-child) {
	display: none;
}


/* ---------- Current issue: cover + moving "Articles" carousel ---------- */

.current_issue h2 {
	margin-bottom: 6px;
}

.current_issue_published {
	margin: 0 0 24px;
	color: var(--ash-primary);
}

.current_issue_published strong {
	color: var(--ash-primary);
}

.issue_articles_cover img {
	width: 100%;
	height: auto;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.issue_articles_tab {
	border-bottom: 1px solid #ddd;
}

.issue_articles_tab span {
	display: inline-block;
	margin-bottom: -1px;
	padding: 8px 16px;
	border: 1px solid #ddd;
	border-bottom-color: #fff;
	border-radius: 4px 4px 0 0;
	background: #fff;
	font-weight: 700;
}

.issue_articles .carousel-inner {
	overflow: hidden;
}

.issue_article_slide {
	padding: 16px 48px 40px 0;
}

.issue_article_title {
	margin: 0 0 8px;
	font-size: 18px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.issue_article_byline {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
}

.issue_article_pages {
	flex: 0 0 auto;
	color: #9ca3af;
}

.issue_article_row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: flex-start;
	margin-bottom: 10px;
}

.issue_article_info {
	padding-left: 12px;
	border-left: 4px solid var(--ash-accent);
}

.issue_article_stats_sep {
	display: inline-block;
	height: 16px;
	margin: 0 6px;
	border-left: 1px solid #555;
	vertical-align: middle;
}

.issue_article_citations {
	min-width: 140px;
}

.issue_articles .carousel-control {
	top: 40%;
	bottom: auto;
	width: 32px;
	height: 40px;
	color: var(--ash-primary);
	background: none;
	text-shadow: none;
	opacity: 0.7;
}

.issue_articles .carousel-control:hover,
.issue_articles .carousel-control:focus {
	color: var(--ash-primary-hover);
	opacity: 1;
}

.issue_articles .carousel-control .glyphicon {
	top: 10px;
}

.issue_articles .carousel-indicators {
	bottom: 4px;
	left: 40%;
	margin-bottom: 0;
}

.issue_articles .carousel-indicators li {
	border-color: var(--ash-primary);
}

.issue_articles .carousel-indicators .active {
	background-color: var(--ash-primary);
}

.issue_links {
	margin-top: 28px;
}

.issue_links a {
	margin-right: 24px;
	font-weight: 700;
}

@media (max-width: 767px) {
	.issue_articles_cover {
		max-width: 200px;
		margin-bottom: 20px;
	}

	.issue_article_slide {
		padding-right: 32px;
	}

	.issue_article_byline {
		flex-direction: column;
		gap: 4px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.issue_articles .carousel-inner > .item {
		transition: none;
	}
}

/* ---------- Issue page (issue/view) ---------- */

.page_issue .issue_title {
	margin: 0 0 24px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--ash-accent);
	color: var(--ash-heading);
	font-size: 28px;
}

.issue_heading {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 36px;
}

.issue_cover {
	flex: 0 0 200px;
	max-width: 100%;
}

.issue_cover img {
	width: 100%;
	height: auto;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.issue_details {
	flex: 1 1 240px;
	min-width: 0;
	padding-top: 6px;
}

.issue_details p {
	margin: 0 0 8px;
}

.issue_published strong,
.issue_published .glyphicon {
	color: var(--ash-primary);
}

/* Author origin bar */
.issue_origins {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 36px;
	padding: 18px 20px;
	border-left: 6px solid var(--ash-primary);
	border-radius: 0 10px 10px 0;
	background: var(--ash-surface);
}

.issue_origins .total-countries {
	color: var(--ash-primary);
	font-weight: 700;
}

.issue_origins_flags {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.issue_origins_flags .fi {
	margin-right: 4px;
	vertical-align: -2px;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

/* Tabs bar + card */
.issue-toc .ash-nav-tabs {
	margin-bottom: 0;
}

.issue_tab_content {
	margin-bottom: 40px;
	border: 1px solid rgba(30, 139, 146, 0.5);
	border-left: 6px solid var(--ash-primary);
	border-radius: 0 0 10px 10px;
}

.issue_section_status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 15px;
	padding: 14px 6px;
	border-bottom: 1px dashed rgba(30, 139, 146, 0.5);
}

.issue_section_title .value {
	color: var(--ash-primary);
	font-weight: 700;
}

.issue_section_flags {
	display: flex;
	gap: 0;
	font-weight: 700;
}

.issue_section_flags span {
	color: var(--ash-primary);
}

.issue_section_flags .issue_open_access {
	color: #f59e0b;
}

.issue_section_flags .issue_open_access .glyphicon {
	color: #f59e0b;
}

.issue_section_flags .issue_open_access + .issue_peer_reviewed {
	margin-left: 14px;
	padding-left: 14px;
	border-left: 1px solid #ccc;
}

.issue_article_list {
	padding: 20px 15px 8px;
}

/* Article cards */
.obj_article_summary {
	margin: 0 0 20px;
	padding: 18px 20px;
	border: 1px solid #d9dee2;
	border-radius: 0 0 8px 8px;
	background: #fff;
}

.obj_article_summary .title {
	margin: 0 0 8px;
	font-size: 17px;
	line-height: 1.45;
	overflow-wrap: anywhere;
}

.obj_article_summary .title a {
	color: var(--ash-primary);
}

.article_byline {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
}

.article_byline .authors {
	min-width: 0;
	overflow-wrap: anywhere;
}

.article_byline .pages {
	flex: 0 0 auto;
	color: #9ca3af;
}

.article_doi_stats {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 20px;
	margin: 6px 0 10px;
}

.article_info {
	padding-left: 12px;
	border-left: 4px solid var(--ash-accent);
}

.article_stats .glyphicon,
.article_stats .stat_views,
.article_stats .stat_downloads {
	color: var(--ash-primary);
}

.article_stats .stat_sep {
	display: inline-block;
	height: 16px;
	margin: 0 6px;
	border-left: 1px solid #c0392b;
	vertical-align: middle;
}

.article_citations {
	min-width: 140px;
}

/* PDF button: outlined, icon-less label like the reference */
.obj_article_summary .galley-link.btn,
.issue_article_galleys .galley-link.btn {
	border: 1px solid var(--ash-primary);
	background: #fff;
	color: var(--ash-primary);
	font-weight: 700;
	text-transform: uppercase;
}

.obj_article_summary .galley-link.btn:hover,
.obj_article_summary .galley-link.btn:focus,
.issue_article_galleys .galley-link.btn:hover,
.issue_article_galleys .galley-link.btn:focus {
	background: var(--ash-primary);
	color: #fff;
}

@media (max-width: 767px) {
	.issue_cover {
		flex-basis: 100%;
		max-width: 220px;
	}

	.article_byline {
		flex-direction: column;
		gap: 4px;
	}

	.issue_origins {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ---------- Article page (article/view) ---------- */

.article_status_row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px dashed rgba(30, 139, 146, 0.5);
}

.article_issue_link {
	font-family: var(--ash-font-display);
	font-weight: 700;
}

.article_status_flags {
	display: flex;
	gap: 0;
	margin-left: auto;
	font-weight: 700;
}

.article_status_flags span {
	color: var(--ash-primary);
}

.article_status_flags .issue_open_access,
.article_status_flags .issue_open_access .glyphicon {
	color: #f59e0b;
}

.article_status_flags .issue_open_access + .issue_peer_reviewed {
	margin-left: 14px;
	padding-left: 14px;
	border-left: 1px solid #ccc;
}

.article_main_section {
	margin-bottom: 30px;
}

.article_cover img {
	width: 100%;
	height: auto;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.article-details .page_title {
	margin: 0 0 14px;
	color: var(--ash-heading);
	font-size: 26px;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

.article-details .page_title small {
	display: block;
	margin-top: 6px;
	font-size: 16px;
}

.article_authors .authors {
	margin-bottom: 12px;
	font-size: 16px;
}

.article_doi,
.article_pubid,
.article_published,
.article_versions {
	margin-bottom: 8px;
	overflow-wrap: anywhere;
}

.article_version + .article_version::before {
	content: "\00b7";
	margin: 0 6px;
}

.article_galleys {
	margin-top: 16px;
}

.article_galleys .galley-link.btn {
	margin: 0 8px 8px 0;
	border: 1px solid var(--ash-primary);
	background: #fff;
	color: var(--ash-primary);
	font-weight: 700;
	text-transform: uppercase;
}

.article_galleys .galley-link.btn:hover,
.article_galleys .galley-link.btn:focus {
	background: var(--ash-primary);
	color: #fff;
}

.article_tab_content {
	margin-bottom: 30px;
	padding: 24px 24px 16px;
	border: 1px solid rgba(30, 139, 146, 0.5);
	border-left: 6px solid var(--ash-primary);
	border-radius: 0 0 10px 10px;
	overflow-wrap: anywhere;
}

.article_tab_content .label {
	display: block;
	margin: 0 0 12px;
	padding: 0;
	color: var(--ash-heading);
	font-family: var(--ash-font-display);
	font-size: 20px;
	font-weight: 700;
	text-align: left;
	white-space: normal;
}

.article_abstract {
	margin-bottom: 20px;
	text-align: justify;
}

.article_keywords .label {
	display: inline;
	margin-right: 6px;
	font-size: 16px;
}

.article_keywords .keyword {
	display: inline-block;
	margin: 0 6px 6px 0;
	padding: 2px 10px;
	border: 1px solid rgba(30, 139, 146, 0.4);
	border-radius: 14px;
	font-size: 13px;
}

.article_references p {
	margin-bottom: 10px;
}

.article_biographies .biography {
	margin-bottom: 20px;
}

.article_biographies .biography-author {
	margin: 0 0 4px;
	font-size: 17px;
}

.article_biographies .affiliation {
	color: var(--ash-primary);
	font-weight: 400;
}

.article_biographies .author_country {
	margin-bottom: 6px;
	color: #6b7280;
}

.article_biographies .author_country .fi {
	margin: 0 4px;
	vertical-align: -2px;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}

.article_citation_section {
	margin-bottom: 40px;
}

.article_citation_section .item {
	margin-bottom: 20px;
}

.article_citation_section h2.label,
.article_citation_section h3.label {
	margin: 0 0 10px;
	color: var(--ash-heading);
	font-family: var(--ash-font-display);
	font-size: 18px;
	font-weight: 700;
}

.article_dimensions {
	padding-top: 8px;
}

@media (max-width: 767px) {
	.article_status_row {
		flex-direction: column;
		align-items: flex-start;
	}

	.article_status_flags {
		margin-left: 0;
	}

	.article_cover {
		max-width: 220px;
		margin-bottom: 20px;
	}

	.article-details .page_title {
		font-size: 22px;
	}

	.article_tab_content {
		padding: 16px 14px 8px;
	}

	.article_abstract {
		text-align: left;
	}
}

/* ---------- Crossmark + similar articles ---------- */

.article_doi {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.article_doi_value {
	min-width: 0;
	overflow-wrap: anywhere;
}

.article_crossmark {
	flex: 0 0 auto;
	cursor: pointer;
}

.article_crossmark img {
	display: block;
	max-width: 150px;
	height: auto;
}

.article_similar {
	margin: 0 0 40px;
}

.article_similar_title {
	margin: 0 0 12px;
	font-size: 18px;
	font-weight: 700;
	color: var(--ash-heading);
}

.article_similar ul {
	margin: 0;
	padding-left: 20px;
}

.article_similar li {
	margin-bottom: 8px;
	font-size: 14px;
	overflow-wrap: anywhere;
}

/* ---------- Dimensions citation badge ----------
 * The badge draws its own tooltip ("Total citations / Recent citations / ...").
 * The generic mobile rules above (max-width, overflow-wrap) squeeze that
 * tooltip into a narrow column, so the badge is exempt from them.
 */

.pkp_structure_main [class*="__dimensions_"],
.pkp_structure_main [class*="__dimensions_"] * {
	min-width: revert;
	max-width: none !important;
	box-sizing: content-box;
	overflow-wrap: normal;
	word-break: normal;
	white-space: normal;
}

.article_citations,
.article_citations > *,
.article_dimensions,
.article_doi_stats,
.obj_article_summary,
.obj_article_summary .media-body {
	overflow: visible;
}

.article_citations,
.article_dimensions {
	position: relative;
	z-index: 2;
}
