/**
 * plugins/themes/modernJournal/css/main.css
 *
 * Design system: sticky navy navbar, white content panel, card grid,
 * right sidebar, rounded footer. Fonts: Inter (body) + Libre Baskerville (headings).
 *
 * Colour tokens come from inline :root override registered by the plugin:
 *   --mj-primary  (default #F24A4A)
 *   --mj-accent   (default #00a896)
 */

:root {
	--mj-primary: #F24A4A;
	--mj-primary-hover: #D93B3B;
	--mj-accent: #00a896;
	--mj-bg: #f0f2f5;
	--mj-surface: #ffffff;
	--mj-border: #e9ecef;
	--mj-text: #333333;
	--mj-text-muted: #666666;
	--mj-text-soft: #888888;
	--mj-radius: 12px;
	--mj-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	--mj-font-heading: 'Libre Baskerville', Georgia, serif;
}

/* ------------------------------------------------------------------ */
/* Base                                                                */
/* ------------------------------------------------------------------ */
body {
	font-family: var(--mj-font-body);
	background-color: var(--mj-bg);
	margin: 0;
	padding: 0;
	color: var(--mj-text);
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

p {
	text-align: justify;
}

.page-wrapper {
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 15px;
}

/* ------------------------------------------------------------------ */
/* Navbar                                                              */
/* ------------------------------------------------------------------ */
.navbar-custom {
	background-color: var(--mj-primary);
	position: sticky;
	top: 15px;
	z-index: 1060;
	margin-top: 15px;
	padding: 0.6rem 1.2rem;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
	transition: all 0.3s ease;
	border-radius: 15px 15px 0 0;
}

.navbar-custom.scrolled {
	top: 0;
	margin-top: 0;
	border-radius: 0;
}

.navbar-custom .nav-link {
	color: #fff !important;
	font-weight: 600;
	font-size: 0.82rem;
	padding: 0.5rem 0.6rem !important;
}

.navbar-custom .nav-link:hover {
	color: var(--mj-accent) !important;
}

.navbar-custom .nav-link.active {
	color: var(--mj-accent) !important;
}

.navbar-custom .dropdown-menu {
	background-color: #fff;
	border-radius: 0 0 10px 10px;
	box-shadow: 2px 2px 10px darkgray;
	padding: 8px 0;
	margin-top: 10px;
	min-width: 200px;
	border: none;
}

.navbar-custom .dropdown-item {
	font-size: 0.8rem;
	padding: 8px 15px;
	color: #333;
	transition: all 0.2s ease;
}

.navbar-custom .dropdown-item:hover,
.navbar-custom .dropdown-item:focus {
	background-color: #f1f5f9;
	color: var(--mj-accent);
}

.vertical-line {
	border-left: 1px solid #dee2e6;
	height: 50px;
	margin: 0 25px;
}

/* Desktop / mobile split */
@media (min-width: 992px) {
	.nav-desktop-only {
		display: flex !important;
		width: 100%;
		align-items: center;
	}

	.nav-mobile-only {
		display: none !important;
	}

	.search-box-desktop {
		background: #fff;
		border-radius: 8px;
		padding: 4px 10px;
		display: flex;
		align-items: center;
		width: 220px;
		margin-left: 10px;
	}

	.search-box-desktop input {
		border: none;
		outline: none;
		width: 100%;
		font-size: 0.75rem;
		background: transparent;
	}

	.btn-register-desktop {
		background-color: var(--mj-accent);
		color: #fff !important;
		border-radius: 8px;
		padding: 6px 15px !important;
		font-weight: 600;
		font-size: 0.82rem;
		margin-left: 10px;
	}

	.btn-register-desktop:hover {
		filter: brightness(1.08);
	}
}

@media (max-width: 991px) {
	.navbar-custom {
		border-radius: 15px;
	}

	.nav-desktop-only {
		display: none !important;
	}

	.nav-mobile-only {
		display: block !important;
		width: 100%;
	}

	.mobile-top-bar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		height: 45px;
	}

	.nav-icon-mobile {
		color: #fff;
		font-size: 1.2rem;
		background: none;
		border: none;
		padding: 5px;
		margin-left: 10px;
	}

	.navbar-collapse {
		background: var(--mj-primary);
		border-top: 1px solid rgba(255, 255, 255, 0.1);
		margin-top: 10px;
		border-radius: 0 0 10px 10px;
	}

	.navbar-collapse .nav-link {
		color: #fff !important;
		padding: 12px 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	}

	.navbar-custom .dropdown-menu {
		display: none !important;
	}

	.navbar-custom .dropdown-menu.show {
		display: block !important;
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		background: transparent;
		padding-left: 1rem;
	}
}

/* ------------------------------------------------------------------ */
/* Journal masthead (inside content panel)                            */
/* ------------------------------------------------------------------ */
.main-content {
	background-color: var(--mj-surface);
	padding: 20px;
	border: 1px solid var(--mj-border);
	border-top: none;
	position: relative;
	overflow: hidden;
}

.header {
	display: flex;
	align-items: center;
	padding: 15px 10px 45px 10px;
}

.journal_logo {
	max-height: 45px;
	width: auto;
}

.name-container {
	border-left: 1px solid #c7c7c7;
	padding-left: 30px;
}

.journal-name {
	color: var(--mj-primary);
	font-weight: 700;
	font-size: 1.7rem;
	margin: 0;
	font-family: var(--mj-font-heading);
}

.journal-tagline {
	color: var(--mj-accent);
	font-style: italic;
	font-size: 0.85rem;
	margin: 0;
}

.journal-cover {
	width: 100%;
	max-width: 210px;
	border-radius: 4px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
}

.journal-description {
	font-size: 0.95rem;
	line-height: 1.8;
	color: #444;
	margin-bottom: 12px;
	text-align: justify;
}

.read-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--mj-primary);
	margin-bottom: 20px;
	text-decoration: none;
}

.read-more:hover {
	color: var(--mj-primary-hover);
	text-decoration: underline;
}

.read-more i {
	font-size: 0.8em;
	transition: transform 0.2s;
}

.read-more:hover i {
	transform: translateX(3px);
}

.journal-identity {
	border-bottom: 1px solid #e1dfdf;
	margin: 0 15px;
	padding-bottom: 20px;
}

.info-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 30px;
	font-size: 0.85rem;
	color: #666;
}

.info-tags i,
.info-tags em {
	color: var(--mj-accent);
	margin-right: 5px;
}

/* ------------------------------------------------------------------ */
/* Breadcrumbs                                                         */
/* ------------------------------------------------------------------ */
.cmp_breadcrumbs {
	border-top: 1px dotted #494646;
	padding: 15px 0 0 0;
	margin: 0 0 10px 0;
}

.cmp_breadcrumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 0.85rem;
}

.cmp_breadcrumbs li {
	display: inline;
	color: #403e3e;
}

.cmp_breadcrumbs li a {
	color: var(--mj-primary);
	font-weight: 600;
}

.cmp_breadcrumbs li a:hover {
	color: var(--mj-accent);
}

.cmp_breadcrumbs .separator,
.bread_separator {
	font-size: 0.7em;
	color: #403e3e;
	margin: 0 8px;
}

.cmp_breadcrumbs li.current {
	color: #403e3e;
}

/* ------------------------------------------------------------------ */
/* Section headings                                                    */
/* ------------------------------------------------------------------ */
.section-title,
.page h1,
.page_title {
	font-family: var(--mj-font-heading);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--mj-primary);
}

.detail-title,
.detail-title.py-2 {
	font-family: var(--mj-font-heading);
	font-size: 1.8rem;
	font-weight: 700;
	color: var(--mj-primary);
}

.issue-meta {
	font-size: 0.85rem;
	color: #666;
}

.issue-meta .view-all {
	margin-left: 10px;
	color: var(--mj-accent);
	font-weight: 600;
}

.issue-meta .view-all:hover {
	text-decoration: underline;
}

/* ------------------------------------------------------------------ */
/* Current issue section                                               */
/* ------------------------------------------------------------------ */
.current-issue-section {
	margin-top: 30px;
	padding: 0 15px;
}

.current-issue-header {
	margin-bottom: 15px;
}

.btn-current-issue {
	background-color: var(--mj-primary);
	color: #fff !important;
	padding: 12px 24px;
	border-radius: 8px;
	font-weight: 600;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	transition: all 0.3s ease;
	border: none;
}

.btn-current-issue:hover {
	background-color: var(--mj-primary-hover);
	transform: translateX(5px);
	color: #fff !important;
}

/* ------------------------------------------------------------------ */
/* Article / issue cards                                               */
/* ------------------------------------------------------------------ */
.article-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--mj-border);
	border-radius: 10px;
	padding: 18px;
	height: 100%;
	transition: all 0.2s ease;
	min-height: 160px;
}

.article-card:hover {
	border-color: var(--mj-accent);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.article-card > a {
	text-decoration: none;
}

.article-title,
.issue-title {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--mj-primary-hover);
	margin-bottom: 8px;
	display: block;
}

.issue-title {
	font-size: 1.2rem;
}

.article-title a,
.issue-title a {
	color: inherit;
}

.article-title a:hover,
.issue-title a:hover {
	color: var(--mj-accent);
}

.article-author {
	font-size: 0.8rem;
	color: #555;
	margin-bottom: 8px;
}

.article-meta {
	font-size: 0.75rem;
	color: var(--mj-soft, #888);
}

.article-meta span {
	margin: 0 5px;
}

.article-icon {
	position: absolute;
	bottom: 15px;
	right: 15px;
	color: #adb5bd;
	font-size: 1rem;
}

.issue-cover {
	padding-bottom: 15px !important;
}

.series {
	font-size: 0.85rem;
	color: #666;
	font-weight: 400;
}

.series.lead {
	font-weight: 600;
	color: var(--mj-primary);
}

/* Badges */
.article-card .badge,
.badge-article {
	font-size: 0.7rem;
	padding: 5px 8px;
	border-radius: 6px;
	margin-bottom: 10px;
	display: inline-block;
}

.badge-research {
	background: #e6f4f1;
	color: var(--mj-accent);
}

.badge-review {
	background: #eef2ff;
	color: #3b5bdb;
}

.badge-case {
	background: #fff4e6;
	color: #f08c00;
}

/* ------------------------------------------------------------------ */
/* Sidebar                                                             */
/* ------------------------------------------------------------------ */
.sidebar-card,
.pkp_block {
	background: #fff;
	border: 1px solid #f0f0f0;
	border-radius: var(--mj-radius);
	padding: 20px;
	margin-top: 20px;
	box-shadow: -1px 1px 15px rgba(169, 167, 167, 0.2);
}

.sidebar-title,
.pkp_block > h2.title,
.pkp_block > .content > p.title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--mj-primary);
	margin-bottom: 15px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--mj-accent);
	display: inline-block;
}

.quick-link-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 12px;
	border: 1px solid #f0f0f0;
	border-radius: 8px;
	margin-bottom: 8px;
	text-decoration: none;
	color: #555;
	font-size: 0.85rem;
	transition: all 0.2s;
}

.quick-link-item:hover {
	background-color: #f8f9fa;
	color: var(--mj-accent);
	border-color: var(--mj-accent);
}

.view-all-link {
	font-size: 0.75rem;
	color: var(--mj-accent);
	font-weight: 600;
}

.announcement-item {
	margin-top: 10px;
	border-top: 1px solid #eee9e9;
	padding-top: 10px;
}

.announcement-item h6 {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mj-primary);
	margin-bottom: 4px;
}

.announcement-item h6 a {
	color: inherit;
}

.announcement-item h6 a:hover {
	color: var(--mj-accent);
}

.announcement-item p {
	font-size: 0.75rem;
	color: #999;
	margin: 0;
	text-align: left;
}

/* Tabs in sidebar */
.nav-tab {
	font-size: 14px !important;
}

.nav-tabs .nav-link.active {
	border: none;
	border-bottom: 2px solid var(--mj-accent);
	color: var(--mj-accent);
}

#tab-home {
	padding-top: 15px;
}

.latest-content {
	padding: 15px !important;
}

/* Info boxes */
.info-box {
	background: #fff;
	border: 1px solid var(--mj-border);
	border-radius: var(--mj-radius);
	padding: 20px;
	height: 100%;
	transition: all 0.2s ease;
}

.info-box:hover {
	border-color: var(--mj-accent);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.info-header {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}

.info-header i {
	font-size: 1.2rem;
	color: var(--mj-accent);
	margin-right: 10px;
}

.info-header h5 {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
	color: var(--mj-primary);
}

.info-box p {
	font-size: 0.85rem;
	color: #555;
	line-height: 1.6;
	margin-bottom: 10px;
	text-align: left;
}

.info-link {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--mj-accent);
}

.info-link:hover {
	text-decoration: underline;
}

.indexing-logos {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin: 10px 0 15px 0;
}

.index-item {
	font-size: 0.75rem;
	background: #f8f9fa;
	border: 1px solid #eee;
	border-radius: 6px;
	padding: 6px 8px;
	text-align: center;
	color: #444;
}

/* ------------------------------------------------------------------ */
/* Article detail                                                      */
/* ------------------------------------------------------------------ */
.list_authors {
	list-style: none;
	margin: 0;
	padding: 0;
}

.list_authors li {
	margin-bottom: 6px;
	font-size: 0.95rem;
}

.list_affiliation {
	margin: 0;
	font-size: 0.9rem;
	color: #555;
}

.corresponden_info {
	margin: 5px 0;
	font-size: 0.9em;
}

.article-info {
	font-size: 0.75em;
	border-top: 1px dotted gray;
	padding: 10px 0;
	margin: 10px 0;
	border-bottom: 1px dotted gray;
	color: var(--mj-primary);
	background: #ede7e72b;
}

.left-line {
	border-left: 1px dotted gray;
}

.btn-download {
	border: 1px solid var(--mj-primary);
	background: var(--mj-primary);
	color: #fff !important;
}

.btn-download:hover {
	background: var(--mj-primary-hover);
	color: #fff !important;
}

.btn-cite {
	border: 1px solid #bab6b6 !important;
	background: #fafafa;
	color: var(--mj-text) !important;
}

.btn-cite:hover {
	background: #c3c3c3;
}

.get-article,
.btn-download,
.btn-cite {
	font-size: 0.95em !important;
}

.header-citation {
	padding: 10px 15px;
	background: var(--mj-primary);
	color: #fff;
}

.header-citation .btn-close {
	filter: invert(1);
}

ol.list_references {
	padding-left: 1.2rem;
}

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

.badge_keywords li {
	display: inline-block;
	background: #cacaca;
	border-radius: 5px;
	padding: 1px 6px;
	margin: 3px 0;
	color: var(--mj-primary);
	font-size: 0.9em;
}

.publication-info {
	font-size: 0.85em;
	width: 100%;
}

.publication-info td {
	padding: 5px 10px 5px 0;
	border-bottom: 1px dotted gray;
}

.stat-container {
	color: var(--mj-primary);
}

.stat-number {
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1;
}

.stat-label {
	font-size: 0.8rem;
	color: #4a5568;
}

.stat-icon {
	font-size: 1.5rem;
	margin-right: 15px;
}

/* ------------------------------------------------------------------ */
/* Forms                                                               */
/* ------------------------------------------------------------------ */
.page .cmp_form .fields .username input,
.page .cmp_form .fields .password input,
.page .cmp_form input[type="text"],
.page .cmp_form input[type="password"],
.page .cmp_form input.query,
.search_input input {
	border: 1px solid #ced4da;
	border-radius: 8px;
	padding: 0.5rem 0.75rem;
	font-size: 0.95rem;
	width: 100%;
}

.page .cmp_form label {
	font-weight: 600;
	font-size: 0.9rem;
	display: block;
	margin-bottom: 0.35rem;
}

.page .cmp_form .buttons {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 1rem;
}

.page .cmp_form .buttons button.submit,
.page .cmp_form .buttons button[type="submit"],
.btn-primary {
	background-color: var(--mj-primary);
	border-color: var(--mj-primary);
	color: #fff;
	border-radius: 8px;
	padding: 0.5rem 1.5rem;
	font-weight: 600;
}

.page .cmp_form .buttons button.submit:hover,
.btn-primary:hover {
	background-color: var(--mj-primary-hover);
	border-color: var(--mj-primary-hover);
	color: #fff;
}

.btn-light.register-button {
	border-radius: 8px;
	border: 1px solid #dee2e6;
	font-weight: 600;
}

/* Search page */
.page_search .search_advanced {
	border: 1px solid var(--mj-border);
	border-radius: 10px;
	padding: 15px;
	margin-top: 15px;
	background: #fafbfc;
}

/* ------------------------------------------------------------------ */
/* Lists / archive                                                     */
/* ------------------------------------------------------------------ */
.issues_archive {
	list-style: none;
	padding: 0;
	margin: 0;
}

.issues_archive > li {
	margin-bottom: 15px;
}

.cmp_article_list.articles,
.page .articles {
	list-style: none;
	padding: 0;
	margin: 0;
}

.cmp_article_list.articles > li {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 1px dashed #e0e0e0;
}

.cmp_article_list.articles > li:last-child {
	border-bottom: none;
}

.obj_article_summary .title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--mj-primary-hover);
	margin: 0 0 6px 0;
}

.obj_article_summary .title a {
	color: inherit;
}

.obj_article_summary .title a:hover {
	color: var(--mj-accent);
}

.obj_article_summary .meta .authors {
	font-size: 0.85rem;
	color: #555;
	margin-bottom: 4px;
}

.obj_article_summary .meta .pages,
.obj_article_summary .meta .published {
	font-size: 0.75rem;
	color: #888;
}

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

.obj_issue_summary .description {
	font-size: 0.9rem;
	color: #555;
}

.obj_issue_summary h2 {
	font-size: 1.15rem;
	margin: 8px 0;
}

.obj_issue_toc .heading .cover img {
	max-width: 220px;
	border-radius: 6px;
	box-shadow: 0 8px 25px rgba(0, 0, 0, 0.12);
}

.obj_issue_toc .heading .published {
	font-size: 0.85rem;
	color: #666;
	margin-top: 8px;
}

.obj_issue_toc .section {
	margin-bottom: 25px;
}

.obj_issue_toc .sections .section > h2,
.obj_issue_toc .sections .section > h3,
.obj_issue_toc .sections .section > h4 {
	font-family: var(--mj-font-heading);
	color: var(--mj-primary);
	font-size: 1.15rem;
	border-bottom: 2px solid var(--mj-accent);
	display: inline-block;
	padding-bottom: 4px;
}

/* Additional home content */
.additional-home-section {
	margin-top: 30px;
}

/* Screen reader helper used by some OJS markup */
.pkp_screen_reader {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	word-wrap: normal !important;
}

/* OJS block plugins inside sidebar */
.pkp_block > .content > ul {
	padding: 0 0 0 1em;
	list-style-type: circle;
}

.pkp_block .content a {
	color: var(--mj-accent);
}

/* ------------------------------------------------------------------ */
/* Footer                                                              */
/* ------------------------------------------------------------------ */
.footer-custom {
	background-color: var(--mj-primary);
	color: #fff;
	margin-bottom: 15px;
	padding: 25px 20px 20px 20px;
	border-radius: 0 0 15px 15px;
}

.footer-top {
	margin-bottom: 20px;
}

.footer-brand {
	gap: 15px;
}

.footer-logo {
	width: 45px;
	height: 45px;
	border: 1px dashed rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.footer-logo i {
	font-size: 1.2rem;
}

.footer-brand h5 {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
}

.footer-brand p {
	font-size: 0.8rem;
	color: #cbd5e1;
	margin: 5px 0 0 0;
	text-align: left;
}

.footer-title {
	font-size: 0.9rem;
	font-weight: 700;
	margin-bottom: 10px;
}

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

.footer-list li {
	font-size: 0.8rem;
	color: #cbd5e1;
	margin-bottom: 6px;
}

.footer-list i {
	margin-right: 6px;
}

.social-icons a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	background: #fff;
	color: var(--mj-primary);
	border-radius: 50%;
	margin-right: 8px;
	font-size: 0.9rem;
	transition: all 0.2s ease;
}

.social-icons a:hover {
	background: var(--mj-accent);
	color: #fff;
}

.footer-divider {
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	margin: 15px 0;
}

.footer-bottom {
	font-size: 0.75rem;
	color: #cbd5e1;
}

.footer-bottom a {
	color: #cbd5e1;
}

.footer-bottom a:hover {
	color: #fff;
}

.footer-custom a {
	color: #fff;
}

/* PKP brand footer image override */
.pkp_brand_footer {
	opacity: 0.85;
	max-height: 40px;
}

/* ------------------------------------------------------------------ */
/* Utility                                                             */
/* ------------------------------------------------------------------ */
.side-stat {
	max-width: 50%;
}

.list-galley {
	padding: 10px;
	border-bottom: 1px solid #c0baba;
}

.homepage_image img {
	width: 100%;
	border-radius: 10px;
	margin-bottom: 20px;
}

.homepage_about {
	margin: 20px 0;
}

.homepage_about h2 {
	font-family: var(--mj-font-heading);
	color: var(--mj-primary);
	font-size: 1.3rem;
}

/* Notification / error boxes from OJS */
.cmp_notification,
.pkp_form_error {
	border-radius: 8px;
	padding: 12px 15px;
	margin-bottom: 15px;
	border-left: 4px solid var(--mj-accent);
	background: #f8f9fa;
}

.cmp_notification.warning,
.pkp_form_error {
	border-left-color: #f0ad4e;
	background: #fff8e6;
	color: #856404;
}

.cmp_notification.notice {
	border-left-color: var(--mj-accent);
	background: #e6f4f1;
}

/* ------------------------------------------------------------------ */
/* Utility classes replacing inline styles (issue / article pages)    */
/* ------------------------------------------------------------------ */
.page h1.section-title {
	margin-bottom: 16px;
}

.section-title-block {
	display: block;
	margin: 20px 0 12px;
}

.section-title-inline {
	display: block;
	margin-bottom: 10px;
}

.article-meta-tight {
	margin-top: 6px;
}

.galley-links-row {
	list-style: none;
	padding: 0;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.subtitle {
	font-size: 1.1rem;
	font-weight: 600;
	color: #444;
}

.orcid-link {
	font-size: 0.8em;
	color: var(--mj-accent);
}

.license-block {
	margin-top: 20px;
	font-size: 0.85rem;
	color: #666;
}

.entry_details .sidebar-card {
	margin-top: 0;
}

.obj_issue_toc .pub_id {
	font-size: 0.85rem;
}

.journal_logo {
	height: 45px;
	width: auto;
	object-fit: contain;
}

.list_authors i.fa-user-graduate {
	color: var(--mj-accent);
	margin-right: 6px;
}

.author-icon {
	color: var(--mj-accent);
	margin-right: 6px;
}

.issue-summary-cover {
	max-width: 120px;
	border-radius: 4px;
}

.search-legend {
	font-weight: 700;
	color: var(--mj-primary);
	font-size: 0.95rem;
}

.search-results-title {
	margin-top: 28px;
	margin-bottom: 12px;
}

.login-title {
	margin-bottom: 8px;
}

.required-field-note {
	font-size: 0.85rem;
	color: #666;
	text-align: left;
}

.navbar-toggler-plain {
	border: none;
	padding: 0;
	display: block;
}

/* ------------------------------------------------------------------ */
/* Static content pages: about / submissions / privacy / editorial    */
/* Heading hierarchy from journal HTML must match theme typography.   */
/* ------------------------------------------------------------------ */
.page_about h2,
.page_about h3,
.page_about h4,
.page_about h5,
.page_editorial_team h2,
.page_editorial_team h3,
.page_editorial_team h4,
.page_editorial_team h5,
.page_submissions h2,
.page_submissions h3,
.page_submissions h4,
.page_privacy h2,
.page_privacy h3,
.page_privacy h4,
.page_contact h2,
.page_contact h3,
.page_contact h4,
.page_announcements h2,
.page_announcements h3,
.content-heading {
	font-family: var(--mj-font-heading);
	color: var(--mj-primary);
	font-weight: 700;
	margin-top: 1.4rem;
	margin-bottom: 0.65rem;
	line-height: 1.35;
	text-align: left;
}

.page_about h2,
.page_editorial_team h2,
.page_submissions h2,
.page_privacy h2,
.page_contact h2,
.page_announcements h2,
.content-heading {
	font-size: 1.35rem;
}

.page_about h3,
.page_editorial_team h3,
.page_submissions h3,
.page_privacy h3,
.page_contact h3,
.page_announcements h3 {
	font-size: 1.15rem;
	margin-top: 1.15rem;
}

.page_about h4,
.page_editorial_team h4,
.page_submissions h4,
.page_privacy h4,
.page_contact h4,
.page_announcements h4 {
	font-size: 1rem;
	color: var(--mj-text);
	margin-top: 1rem;
}

.page_about h5,
.page_editorial_team h5 {
	font-size: 0.95rem;
	color: var(--mj-text);
}

/* Body copy inside static pages — match homepage description rhythm */
.page_about p,
.page_editorial_team p,
.page_submissions p,
.page_privacy p,
.page_contact p,
.page_announcements p,
.page_about li,
.page_editorial_team li,
.page_submissions li,
.page_privacy li,
.page_contact li,
.page_announcements li {
	font-family: var(--mj-font-body);
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--mj-text);
}

.page_about p,
.page_editorial_team p,
.page_submissions p,
.page_privacy p,
.page_contact p,
.page_announcements p {
	margin-bottom: 0.85rem;
}

/* Contact blocks */
.page_contact .contact-block {
	margin-bottom: 1.5rem;
}

.page_contact .contact-block .name,
.page_contact .contact-block .title,
.page_contact .contact-block .affiliation {
	font-family: var(--mj-font-body);
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--mj-text);
}

.page_contact .contact-block .phone .label,
.page_contact .contact-block .email {
	font-family: var(--mj-font-body);
	font-size: 0.95rem;
	color: var(--mj-text);
}

.page_contact .contact-block .phone .label::after {
	content: ": ";
}

/* Sections on submissions page */
.submission_checklist,
.author_guidelines,
.section_policy,
.copyright_notice,
.privacy_statement {
	margin-bottom: 1.25rem;
}

.submission_checklist ul,
.checklist-list {
	list-style: none;
	padding-left: 0;
	margin: 0.5rem 0 0 0;
}

.checklist-list li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: 0.55rem;
}

.checklist-list li .fa-check {
	position: absolute;
	left: 0;
	top: 0.15rem;
	color: var(--mj-accent);
}

.section_policy {
	border-top: 1px solid var(--mj-border);
	padding-top: 0.5rem;
}

/* Ensure top-level h1 without .section-title still matches (PKP fallback) */
.page_submissions h1,
.page_privacy h1,
.page_about h1,
.page_editorial_team h1,
.page_contact h1,
.page_announcements h1 {
	font-family: var(--mj-font-heading);
	font-size: 1.4rem;
	font-weight: 700;
	color: var(--mj-primary);
	margin-bottom: 16px;
}
