/**
 * Eos theme — styles on top of the OJS Default theme.
 * Colours and type: PTF brandbook 2025, with Eos's decisions
 * (Times New Roman instead of Lora, upright, no decorative italics).
 */

:root {
	/* --eos-div (size of the large 1894 ornament on light backgrounds, 1 = the 1.0.17 size)
	   is set inline from the theme option dividerSize (1.0.18; ornament only since 1.0.20).
	   The small dividers keep their size. Every rule using it falls back to 1. */
	--eos-navy: #00001c;
	--eos-ink: #050554;
	--eos-ivory: #f7f5f0;
	--eos-cobalt: #1717de;
	--eos-cornflower: #2e78f0;
	--eos-dove: #94bdfc;
	--eos-muted: #4a4a66;
	--eos-text-soft: #22223a;
	--eos-rule: #dcdfe8;
	--eos-serif: 'Times New Roman', Times, Tinos, 'Liberation Serif', serif;
	--eos-sans: 'Fira Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--eos-label: 'Times New Roman', Times, Tinos, 'Liberation Serif', serif; /* labels and menu: Times capitals, as in print (1.0.11) */
	--eos-width: 1200px;
}

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

html, body.eos {
	background: var(--eos-ivory);
}
body.eos {
	color: var(--eos-navy);
	font-family: var(--eos-sans);
	font-size: 17px;
	line-height: 1.55;
}
.eos .pkp_structure_page {
	background: var(--eos-ivory);
	box-shadow: none;
}
.eos a {
	color: var(--eos-cobalt);
}
.eos a:hover,
.eos a:focus {
	color: var(--eos-ink);
}
.eos h1, .eos h2, .eos h3, .eos h4,
.eos .page_title,
.eos .obj_article_details .page_title,
.eos .obj_issue_toc .heading .title {
	font-family: var(--eos-serif);
	font-weight: 400;
	font-style: normal;
	color: var(--eos-navy);
	letter-spacing: -0.01em;
}
.eos :focus-visible {
	outline: 2px solid var(--eos-cornflower);
	outline-offset: 3px;
}

/* ---------- Announcement strip ---------- */

.eos_strip {
	background: var(--eos-navy);
	color: var(--eos-ivory);
	font-family: var(--eos-label);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.eos_strip_inner {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 10px 24px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 6px 24px;
	position: relative;
}
.eos .eos_strip_link,
.eos .eos_strip_link:hover {
	color: var(--eos-dove);
	text-decoration: none;
}
.eos .eos_strip_link:hover { text-decoration: underline; }
.eos_strip_user ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 16px;
}
.eos .eos_strip_user a {
	color: var(--eos-ivory);
	text-decoration: none;
	font-size: 12px;
}
.eos .eos_strip_user ul ul { display: none; }
@media (min-width: 992px) {
	.eos_strip_user {
		position: absolute;
		right: 24px;
		top: 50%;
		transform: translateY(-50%);
	}
}

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

.eos .pkp_structure_head.eos_head {
	background: transparent;
	border: 0;
	padding: 0;
}
.eos_head_band {
	background: linear-gradient(90deg, var(--eos-navy) 0%, var(--eos-ink) 55%, var(--eos-cobalt) 100%);
	color: var(--eos-ivory);
	position: relative;
}
.eos_head_inner {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 36px 24px 28px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}
.eos a.eos_brand,
.eos a.eos_brand:hover {
	display: flex;
	align-items: center;
	gap: 22px;
	color: var(--eos-ivory);
	text-decoration: none;
}
.eos_brand_signet {
	width: 96px;
	height: 96px;
	flex-shrink: 0;
	display: block;
}
.eos_brand_text {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.eos_brand_name {
	font-family: var(--eos-serif);
	font-weight: 400;
	font-size: 64px;
	line-height: 1;
	/* 1.0.16: the journal name in capitals, as on the printed title pages.
	   Display only: the journal's name stays "Eos" in the tab and metadata. */
	text-transform: uppercase;
	letter-spacing: 0.06em;
}
.eos_brand_subtitle {
	font-family: var(--eos-label);
	font-size: 16px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(247, 245, 240, 0.88);
}

/* Search */
.eos_search {
	display: flex;
	align-items: center;
	border-bottom: 1px solid rgba(247, 245, 240, 0.5);
}
.eos_search input[type="search"] {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--eos-ivory);
	font-family: var(--eos-sans);
	font-size: 15px;
	padding: 10px 4px;
	width: 230px;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.eos_search input::placeholder { color: rgba(247, 245, 240, 0.72); }
.eos_search button {
	background: transparent;
	border: 0;
	color: var(--eos-ivory);
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}

/* Primary navigation */
.eos .eos_nav {
	position: static;
	display: block;
	background: transparent;
	border-top: 1px solid rgba(247, 245, 240, 0.18);
	width: auto;
	box-shadow: none;
	padding: 0;
	overflow: visible;
}
.eos_nav_inner {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 0 24px;
}
.eos .eos_nav .pkp_navigation_primary {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 36px;
	text-align: left;
	max-width: none;
}
.eos .eos_nav .pkp_navigation_primary > li {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}
.eos .eos_nav .pkp_navigation_primary > li > a {
	display: inline-block;
	color: var(--eos-ivory);
	text-decoration: none;
	font-family: var(--eos-label);
	font-size: 15px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 16px 0 14px;
	margin: 0;
	border-bottom: 2px solid transparent;
}
.eos .eos_nav .pkp_navigation_primary > li > a:hover,
.eos .eos_nav .pkp_navigation_primary > li > a:focus,
.eos .eos_nav .pkp_navigation_primary > li.current > a {
	color: var(--eos-ivory);
	border-bottom-color: var(--eos-dove);
	background: transparent;
}
/* Dropdowns (Bootstrap via the Default theme's script) */
.eos .eos_nav .dropdown-menu,
.eos .eos_nav .pkp_navigation_primary ul {
	background: var(--eos-ivory);
	border: 1px solid var(--eos-rule);
	border-radius: 0;
	box-shadow: 0 12px 28px rgba(0, 0, 28, 0.18);
	padding: 8px 0;
	min-width: 240px;
	list-style: none;
	margin: 0;
}
.eos .eos_nav .pkp_navigation_primary ul a {
	display: block;
	color: var(--eos-navy);
	font-family: var(--eos-sans);
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
	padding: 8px 20px;
	border: 0;
	text-decoration: none;
}
.eos .eos_nav .pkp_navigation_primary ul a:hover,
.eos .eos_nav .pkp_navigation_primary ul a:focus {
	background: #eef1f8;
	color: var(--eos-cobalt);
	border: 0;
}
/* 1.0.20: also drawn for any menu item that has a submenu, so the ▾ shows at once
   instead of only after the Default theme's script has run */
.eos .eos_nav .pkp_navigation_primary > li > a[data-toggle="dropdown"]::after,
.eos .eos_nav .pkp_navigation_primary > li:has(> ul) > a::after {
	content: "▾";
	border: 0;
	font-size: 12px;
	/* 1.0.18: the Default theme draws its caret as a 0×0 box, which hid this one */
	width: auto;
	height: auto;
	overflow: visible;
	margin-left: 8px;
	vertical-align: baseline;
}

/* Hide the Default theme's own search link and logo bits if any remain */
.eos .pkp_navigation_search_wrapper { display: none; }

/* Wave */
.eos_wave {
	display: block;
	width: 100%;
	height: 130px;
	margin-top: 4px;
}

/* Mobile menu */
.eos .eos_nav_toggle {
	display: none;
}
@media (max-width: 991px) {
	.eos_head_inner { padding: 24px 16px 20px; gap: 16px; }
	.eos_brand_signet { width: 64px; height: 64px; }
	.eos a.eos_brand { gap: 14px; }
	.eos_brand_name { font-size: 44px; }
	.eos_brand_subtitle { font-size: 11px; }
	.eos_search { width: 100%; }
	.eos_search input[type="search"] { width: 100%; flex: 1; }
	.eos .eos_nav_toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 18px;
		background: transparent;
		color: var(--eos-ivory);
		border: 1px solid rgba(247, 245, 240, 0.5);
		border-radius: 0;
		font-family: var(--eos-label);
		font-size: 14px;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		cursor: pointer;
	}
	.eos .eos_nav { display: none; }
	.eos .eos_nav.eos_nav--open { display: block; }
	.eos .eos_nav .pkp_navigation_primary {
		flex-direction: column;
		gap: 0;
		padding: 8px 0 16px;
	}
	.eos .eos_nav .pkp_navigation_primary ul {
		position: static;
		display: block;
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0 0 8px 16px;
	}
	.eos .eos_nav .pkp_navigation_primary ul a {
		color: var(--eos-ivory);
		padding: 6px 0;
	}
	.eos .eos_nav .pkp_navigation_primary ul a:hover { background: transparent; color: var(--eos-dove); }
	.eos .eos_nav .pkp_navigation_primary > li:has(> ul) > a::after { content: none; }
	.eos_nav_inner { padding: 0 16px; }
	.eos_wave { height: 64px; }
}

/* ---------- Page layout ---------- */

.eos .pkp_structure_content {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding-top: 32px;
	background: transparent;
}
.eos .pkp_structure_main::before,
.eos .pkp_structure_main::after { display: none; }
.eos.pkp_page_index .pkp_structure_content {
	width: auto;
	max-width: none;
	padding: 0;
	margin: 0;
}
.eos.pkp_page_index .pkp_structure_main {
	width: auto;
	max-width: none;
	padding: 0;
	margin: 0;
	float: none;
	left: auto;
	right: auto;
}
.eos .pkp_structure_sidebar {
	background: transparent;
}
.eos .cmp_breadcrumbs {
	font-family: var(--eos-label);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

/* ---------- Shared bits ---------- */

.eos_kicker {
	display: block;
	font-family: var(--eos-label);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-ink);
}
.eos_kicker_accent { color: var(--eos-cobalt); }
.eos_kicker_dove { color: var(--eos-dove); font-size: 12px; }
.eos_divider_simple {
	width: 140px;
	height: auto;
	display: block;
}
.eos_divider_ornament {
	width: calc(380px * var(--eos-div, 1));
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
.eos .eos_button {
	font-family: var(--eos-label);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 14px 22px;
	min-height: 44px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
}
.eos .eos_button_solid,
.eos .eos_button_solid:hover {
	background: var(--eos-ink);
	color: var(--eos-ivory);
}
.eos .eos_button_solid:hover { background: var(--eos-cobalt); }
.eos .eos_button_outline {
	border: 1px solid var(--eos-ink);
	color: var(--eos-ink);
}
.eos .eos_button_outline:hover {
	background: var(--eos-ink);
	color: var(--eos-ivory);
}
.eos .eos_more {
	font-family: var(--eos-label);
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
}
.eos .eos_pill {
	font-family: var(--eos-label);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	border: 1px solid var(--eos-cobalt);
	padding: 6px 10px;
	text-decoration: none;
	white-space: nowrap;
	display: inline-block;
	line-height: 1.2;
}
.eos .eos_pill:hover {
	background: var(--eos-cobalt);
	color: var(--eos-ivory);
}

/* ---------- Homepage ---------- */

.eos_intro {
	background: linear-gradient(180deg, var(--eos-ivory) 0%, #eef1f8 100%);
	border-bottom: 1px solid var(--eos-rule);
}
.eos_intro_inner {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 56px 24px 52px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-end;
}
.eos_intro_text {
	flex: 999 1 560px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.eos_intro_description p {
	margin: 0 0 14px;
	max-width: 680px;
	color: var(--eos-text-soft);
}
.eos_intro_description p:first-child {
	font-family: var(--eos-serif);
	font-size: 28px;
	line-height: 1.35;
	color: var(--eos-navy);
	max-width: 760px;
	margin-bottom: 18px;
}
.eos_intro_description p:last-child { margin-bottom: 0; }
.eos_buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 6px;
}
.eos_intro_cover {
	flex: 0 1 260px;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
}
.eos_intro_cover > img {
	width: 240px;
	max-width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 10px 18px rgba(0, 0, 28, 0.18));
}
.eos_intro_cover figcaption {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	font-family: var(--eos-label);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-muted);
}
.eos_intro_cover .eos_divider_simple { width: 110px; }

.eos_home_cols {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 56px 24px 72px;
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
}
.eos_home_main {
	flex: 999 1 560px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 56px;
}
.eos_home_side {
	flex: 1 1 280px;
	display: flex;
	flex-direction: column;
	gap: 36px;
}
.eos_section_head {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
}
.eos_section_head .eos_divider_simple { margin-top: 8px; }
.eos .eos_current_title {
	margin: 0;
	font-size: 40px;
	line-height: 1.2;
}
.eos .eos_current_title a {
	color: var(--eos-navy);
	text-decoration: none;
}
.eos .eos_current_title a:hover { color: var(--eos-cobalt); }
.eos_current_meta {
	color: var(--eos-muted);
	font-size: 15px;
}
.eos_current {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.eos_current_body {
	display: flex;
	flex-wrap: wrap;
	gap: 32px;
	align-items: flex-start;
}
.eos_current_cover {
	flex: 0 0 180px;
}
.eos_current_cover img {
	width: 180px;
	height: auto;
	display: block;
	box-shadow: 0 8px 18px rgba(0, 0, 28, 0.15);
}
.eos_current_list {
	flex: 999 1 320px;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.eos_toc {
	list-style: none;
	margin: 0;
	padding: 0;
}
.eos_toc_item {
	padding: 16px 0;
	display: flex;
	gap: 20px;
	justify-content: space-between;
	align-items: baseline;
}
.eos_toc_main {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.eos .eos_toc_title {
	font-family: var(--eos-serif);
	font-size: 19px;
	line-height: 1.35;
	color: var(--eos-navy);
	text-decoration: none;
}
.eos .eos_toc_title:hover { color: var(--eos-cobalt); }
.eos_toc_authors {
	font-size: 15px;
	color: var(--eos-muted);
}
.eos_toc_side {
	display: flex;
	gap: 14px;
	align-items: baseline;
	flex-shrink: 0;
	font-size: 14px;
}
.eos_toc_pages {
	color: var(--eos-muted);
	white-space: nowrap;
}
.eos_toc_item {
	padding-top: 40px;
	background: url(../images/divider-simple.svg) center 10px / 120px auto no-repeat;
}
.eos_current_list > .eos_more {
	padding-top: 16px;
}


.eos_announcements {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.eos_card {
	background: #ffffff;
	border: 1px solid var(--eos-rule);
	padding: 28px 32px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.eos_card_date {
	font-family: var(--eos-label);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-muted);
}
.eos .eos_card_title {
	margin: 0;
	font-size: 26px;
	line-height: 1.3;
}
.eos .eos_card_title a {
	color: var(--eos-navy);
	text-decoration: none;
}
.eos_card_text { color: var(--eos-text-soft); }
.eos_card_text p { margin: 0; }

/* Sidebar */
.eos_oa {
	background: var(--eos-ink);
	color: var(--eos-ivory);
	padding: 26px 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.eos_oa p {
	margin: 0;
	font-family: var(--eos-serif);
	font-size: 21px;
	line-height: 1.35;
}
.eos .eos_oa a,
.eos .eos_oa a:hover {
	color: var(--eos-ivory);
	font-size: 15px;
}
.eos_side_block,
.eos_side_extra {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.eos .eos_side_block a {
	text-decoration: none;
	font-size: 16px;
}
.eos .eos_side_head,
.eos .eos_side_extra h2,
.eos .eos_side_extra h3 {
	margin: 0;
	padding-bottom: 26px;
	text-align: center;
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-ink);
	background: url(../images/divider-simple.svg) center bottom / 130px auto no-repeat;
}
.eos_side_extra img {
	max-width: 100%;
	height: auto;
}
.eos_side_extra p { margin: 0; }

@media (max-width: 640px) {
	.eos_intro_inner { padding: 36px 16px; }
	.eos_intro_description p:first-child { font-size: 23px; }
	.eos_home_cols { padding: 40px 16px 56px; gap: 40px; }
	.eos .eos_current_title { font-size: 30px; }
	.eos_toc_item { flex-direction: column; gap: 8px; }
	.eos_card { padding: 22px 20px; }
}

/* ---------- Homepage: indexing and support band (1.0.17) ---------- */

.eos_partners {
	background: linear-gradient(180deg, var(--eos-ivory) 0%, #eef1f8 100%);
	border-top: 1px solid var(--eos-rule);
}
.eos_partners_inner {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 48px 24px 56px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: 40px 0;
}
.eos_partners_group {
	flex: 1 1 440px;
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 0 32px;
}
.eos_partners_group + .eos_partners_group { border-left: 1px solid var(--eos-rule); }
.eos .eos_partners h2,
.eos .eos_partners h3 {
	margin: 0;
	padding-bottom: 26px;
	text-align: center;
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-ink);
	background: url(../images/divider-simple.svg) center bottom / 130px auto no-repeat;
}
.eos_partners p {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px 4px;
}
.eos_partners a { display: inline-flex; }
/* The logo files are 60 px logos with built-in margins (make_logos.py); shown a little smaller here. */
.eos_partners img {
	height: 64px;
	width: auto;
	max-width: 100%;
	display: block;
}
.eos_partners img[src*="scimagojr"] { height: 100px; margin: 0 12px; }
@media (max-width: 960px) {
	.eos_partners_group { padding: 0 8px; }
	.eos_partners_group + .eos_partners_group { border-left: 0; border-top: 1px solid var(--eos-rule); padding-top: 36px; }
}
@media (max-width: 640px) {
	.eos_partners_inner { padding: 36px 16px 44px; }
	.eos_partners img { height: 52px; }
}

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

.eos .eos_footer {
	background: var(--eos-navy);
	color: var(--eos-ivory);
	margin-top: 0;
	padding: 0;
	border: 0;
}
.eos_footer_ornament {
	padding: 44px 24px 0;
}
.eos_footer_ornament img {
	width: 380px;
	max-width: 100%;
	height: auto;
	display: block;
	margin: 0 auto;
}
.eos_footer_cols {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 40px 24px 32px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px 56px;
}
.eos_footer_brand {
	flex: 2 1 300px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.eos_footer_name {
	font-family: var(--eos-serif);
	font-size: 36px;
	line-height: 1;
}
.eos_footer_subtitle,
.eos_footer_label {
	font-family: var(--eos-label);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-dove);
}
.eos_footer_label { letter-spacing: 0.1em; margin-bottom: 4px; }
.eos_footer_meta {
	font-size: 14px;
	color: rgba(247, 245, 240, 0.8);
	margin-top: 10px;
}
.eos_footer_alt {
	font-size: 13px;
	color: rgba(247, 245, 240, 0.65);
}
.eos_footer_col {
	flex: 1 1 200px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 15px;
}
.eos .eos_footer a {
	color: var(--eos-ivory);
}
.eos .eos_footer a:hover { color: var(--eos-dove); }
.eos_footer_menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.eos .eos_footer_menu a { text-decoration: none; }
.eos .eos_footer_menu ul { display: none; }
.eos_footer_extra {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 0 24px 24px;
	font-size: 14px;
	color: rgba(247, 245, 240, 0.8);
}
.eos_footer_bottom {
	max-width: var(--eos-width);
	margin: 0 auto;
	padding: 18px 24px 28px;
	border-top: 1px solid rgba(247, 245, 240, 0.15);
	font-size: 13px;
	color: rgba(247, 245, 240, 0.7);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px;
}
.eos .eos_footer_bottom a {
	color: rgba(247, 245, 240, 0.7);
	text-decoration: none;
}

/* ---------- Default-theme pages (issue, article, archive, about) ---------- */

.eos .obj_issue_toc .galleys_links a,
.eos .obj_article_summary .galleys_links a,
.eos .obj_galley_link {
	font-family: var(--eos-label);
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-cobalt);
	border: 1px solid var(--eos-cobalt);
	border-radius: 0;
	background: transparent;
}
.eos .obj_galley_link:hover {
	background: var(--eos-cobalt);
	color: var(--eos-ivory);
}
.eos .obj_article_summary .title a {
	font-family: var(--eos-serif);
	color: var(--eos-navy);
}
.eos .obj_article_summary .title a:hover { color: var(--eos-cobalt); }
.eos .obj_issue_toc .section > h2,
.eos .obj_issue_toc .section > h3,
.eos .obj_issue_toc .galleys h2,
.eos .obj_article_details .item .label,
.eos .obj_article_details .entry_details .label,
.eos .page_issue_archive .obj_issue_summary .series {
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 14px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-muted);
	background: transparent;
	border: 0;
}
.eos .obj_issue_summary .title {
	font-family: var(--eos-serif);
	font-size: 20px;
}
.eos .cmp_button,
.eos button.cmp_button,
.eos .pkp_button,
.eos input[type="submit"],
.eos button[type="submit"]:not(.eos_search button) {
	border-radius: 0;
}

/* Inner pages: headings and tables of contents */
.eos .page > h1,
.eos .page_title,
.eos .obj_issue_toc .heading .title,
.eos .page_issue h1,
.eos .page_issue_archive h1 {
	font-size: 36px;
	line-height: 1.2;
	margin: 8px 0 24px;
}
.eos .obj_article_details .page_title {
	font-size: 34px;
	line-height: 1.25;
}
.eos .obj_article_summary .title {
	font-size: 19px;
	font-weight: 400;
	line-height: 1.35;
}
.eos .obj_article_summary .title a { font-weight: 400; }
.eos .obj_article_summary .meta { font-size: 15px; color: var(--eos-muted); }
.eos .obj_issue_summary .title,
.eos .obj_issue_summary .title a {
	font-family: var(--eos-serif);
	font-weight: 400;
	font-size: 22px;
	color: var(--eos-navy);
	text-decoration: none;
}
.eos .obj_issue_summary .title a:hover { color: var(--eos-cobalt); }
.eos .obj_article_details .item.abstract,
.eos .obj_article_details .main_entry { font-size: 17px; }

/* Issue table of contents: ornament between sections, small divider between items */
.eos .obj_issue_toc .section::before,
.eos .obj_issue_toc .galleys::before {
	display: none;
}
.eos .obj_issue_toc .section > h2,
.eos .obj_issue_toc .section > h3,
.eos .obj_issue_toc .galleys > h2,
.eos .obj_issue_toc .galleys > h3 {
	display: block;
	position: static;
	left: auto;
	padding: 0;
	margin: 0 0 8px;
	text-align: center;
	background: transparent;
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--eos-cobalt);
}
.eos .obj_issue_toc .galleys,
.eos .obj_issue_toc .section {
	padding-top: 120px;
	background: url(../images/divider-ornament.svg) center 24px / calc(300px * var(--eos-div, 1)) auto no-repeat;
}
.eos .obj_issue_toc .articles > li {
	margin: 0;
	padding: 18px 0;
}
.eos .obj_issue_toc .articles > li + li {
	padding-top: 44px;
	background: url(../images/divider-simple.svg) center 10px / 120px auto no-repeat;
}

/* Archive: all issues on one page, grouped by decade (1.0.7; simple divider under headings 1.0.8, centred 1.0.9) */
.eos .eos_archive_decades {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 40px 32px;
	align-items: start;
}
.eos .eos_archive_decade h2 {
	/* Heading and divider share one centre line, so the dash in "1990–1999"
	   sits above the divider's dot. The block stays at the column's left edge. */
	width: fit-content;
	min-width: 120px;
	box-sizing: border-box;
	text-align: center;
	margin: 0 0 10px;
	padding: 0 0 22px 0.12em; /* left padding offsets the trailing letter-spacing */
	border: 0;
	background: url(../images/divider-simple.svg) center bottom / 120px auto no-repeat;
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--eos-cobalt);
}
.eos .eos_archive_decade ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.eos .eos_archive_decade li {
	margin: 0;
	padding: 5px 0;
	font-family: var(--eos-serif);
	font-size: 17px;
	line-height: 1.35;
}
.eos .eos_archive_decade a {
	color: var(--eos-navy);
	text-decoration: none;
}
.eos .eos_archive_decade a:hover,
.eos .eos_archive_decade a:focus { color: var(--eos-cobalt); text-decoration: underline; }
.eos .eos_archive_jump { display: none; }

@media (max-width: 640px) {
	.eos .eos_archive_decades {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.eos .eos_archive_jump {
		display: flex;
		flex-wrap: wrap;
		gap: 6px 14px;
		margin: 0 0 28px;
		font-family: var(--eos-label);
		font-size: 14px;
		letter-spacing: 0.1em;
	}
	.eos .eos_archive_jump a { color: var(--eos-cobalt); text-decoration: none; padding: 4px 0; }
	.eos .eos_archive_decade { scroll-margin-top: 16px; }
}

/* Contact page: one text size for address, names, affiliations and e-mails (1.0.10) */
.eos .page_contact .address,
.eos .page_contact .address p,
.eos .page_contact .contact .name,
.eos .page_contact .contact .affiliation,
.eos .page_contact .contact .phone,
.eos .page_contact .contact .email,
.eos .page_contact .contact .email a {
	font-size: 17px;
	line-height: 1.5;
	font-weight: 400;
}
.eos .page_contact .contact .name,
.eos .page_contact .contact .affiliation { margin: 0; }
.eos .page_contact .contact .email { margin-top: 4px; }

/* Submissions page: Author Guidelines only (1.0.10) */
.eos .page_submissions .author_guidelines ul { padding-left: 1.2em; margin: 0 0 24px; }
.eos .page_submissions .author_guidelines li { margin: 0 0 12px; line-height: 1.55; }
.eos .page_contact .contact .more { margin-top: 8px; font-size: 16px; }
.eos .page_contact .contact .more a { color: var(--eos-cobalt); text-decoration: none; }
.eos .page_contact .contact .more a:hover { text-decoration: underline; }
/* Contact blocks side by side (address across the top), stacked on phones */
.eos .page_contact .contact_section {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: 32px 40px;
	align-items: start;
}
.eos .page_contact .contact_section::before,
.eos .page_contact .contact_section::after { display: none; }
.eos .page_contact .contact_section .address { grid-column: 1 / -1; margin-bottom: 0; }
.eos .page_contact .contact_section .contact { float: none; width: auto; margin: 0; padding: 0; }

/* Contact headings in Times capitals, like the other labels (1.0.12) */
.eos .page_contact .contact h2 {
	margin: 0 0 12px;
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-ink);
}

/* Subheadings on custom pages (Subscription, Editorial Board, Publication Ethics, …) in Times capitals (1.0.13) */
.eos .page > h2,
.eos .page > h3 {
	margin: 36px 0 12px;
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-ink);
}
.eos .page > h1 + h2,
.eos .page > h1 + h3 { margin-top: 8px; }

/* ---------- Issue table of contents as the printed CONSPECTUS MATERIAE (1.0.14) ----------
   Template: templates/frontend/objects/issue_toc.tpl. Replaces the 1.0.5/1.0.6 layout
   (ornament above every section, boxed galley buttons). */
.eos .page_issue > h1 {
	text-align: center;
	font-size: 40px;
	margin: 8px 0 10px;
}
.eos .eos_conspectus {
	max-width: 820px;
	margin: 0 auto;
}
.eos .eos_cm_issue_meta {
	margin: 0;
	text-align: center;
	font-size: 15px;
	color: var(--eos-muted);
}
.eos .eos_cm_issue_meta a { color: var(--eos-cobalt); }
.eos .eos_cm_issue_meta a:hover { color: var(--eos-ink); }
.eos .eos_conspectus > .heading { margin: 24px 0 0; }
.eos .eos_cm_head {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin: 22px 0 0;
}
.eos .eos_cm_head img {
	display: block;
	width: calc(300px * var(--eos-div, 1));
	max-width: 80%;
	height: auto;
}
.eos .eos_cm_label {
	font-family: var(--eos-label);
	font-size: 15px;
	letter-spacing: 0.22em;
	padding-left: 0.22em; /* balances the trailing letter-spacing */
	text-transform: uppercase;
	color: var(--eos-ink);
}
.eos .eos_cm_section { margin-top: 48px; }
.eos .eos_cm_section_title {
	margin: 0 0 18px;
	padding: 0 0 26px 0.18em;
	text-align: center;
	font-family: var(--eos-label);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--eos-ink);
	background: url(../images/divider-simple.svg) center bottom / 90px auto no-repeat;
	border: 0;
}
.eos .eos_cm_list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.eos .eos_cm_item {
	margin: 0 0 20px;
	padding: 0;
}
.eos .eos_cm_authors {
	font-family: var(--eos-label);
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--eos-muted);
}
.eos .eos_cm_line {
	display: flex;
	align-items: flex-end;
	gap: 8px;
}
.eos .eos_cm_title {
	flex: 0 1 auto;
	min-width: 0;
	margin: 0;
	font-family: var(--eos-serif);
	font-weight: 400;
	font-size: 20px;
	line-height: 1.35;
}
.eos .eos_cm_title a {
	color: var(--eos-navy);
	text-decoration: none;
	font-weight: 400;
}
.eos .eos_cm_title a:hover,
.eos .eos_cm_title a:focus { color: var(--eos-cobalt); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.eos .eos_cm_title .subtitle {
	display: block;
	font-size: 17px;
	color: var(--eos-muted);
}
.eos .eos_cm_leader {
	flex: 1 1 24px;
	min-width: 24px;
	margin-bottom: 0.4em;
	border-bottom: 1px dotted #9aa0b8;
}
.eos .eos_cm_pages {
	flex: 0 0 auto;
	font-family: var(--eos-serif);
	font-size: 18px;
	line-height: 1.35;
	white-space: nowrap;
	font-variant-numeric: lining-nums tabular-nums;
	color: var(--eos-navy);
}
.eos .eos_cm_galleys {
	list-style: none;
	margin: 2px 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 20px;
}
.eos .eos_cm_galleys li { margin: 0; padding: 0; }
.eos .eos_cm_galleys .obj_galley_link {
	display: inline-block;
	padding: 4px 0;
	min-height: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-family: var(--eos-label);
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--eos-cobalt);
	text-decoration: none;
}
.eos .eos_cm_galleys .obj_galley_link::before { display: none; }
.eos .eos_cm_galleys .obj_galley_link:hover,
.eos .eos_cm_galleys .obj_galley_link:focus {
	background: transparent;
	color: var(--eos-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (max-width: 640px) {
	.eos .page_issue > h1 { font-size: 30px; }
	.eos .eos_cm_title { font-size: 18px; }
	.eos .eos_cm_pages { font-size: 16px; }
	.eos .eos_cm_section { margin-top: 40px; }
}

/* Homepage current-issue list in the Conspectus style of the issue page (1.0.15).
   Replaces the boxed galley buttons and the small divider above each item (1.0.2). */
.eos .eos_cm_home { margin: 0 0 20px; }
.eos .eos_cm_home .eos_cm_item { background: none; padding: 0; display: block; }
.eos .eos_cm_home .eos_cm_title { font-size: 19px; }
.eos .eos_current_list > .eos_more { border-top: 0; padding-top: 4px; }

/* ---------- Archives menu: decades (1.0.18) ----------
   The list is attached under "Archives" by the footer script; "Archives" stays a link.
   Wide screens: a small panel in two columns, opened by hover (mouse) or the ▾ button.
   Narrow screens (the open mobile menu): a wrapped row of decade links under "Archives". */
.eos .eos_nav .pkp_navigation_primary > li.eos_has_decades {
	display: flex;
	align-items: baseline;
	gap: 6px;
}
.eos .eos_decades_toggle {
	background: transparent;
	border: 0;
	padding: 4px 2px;
	margin: 0;
	color: var(--eos-ivory);
	font-size: 12px;
	line-height: 1;
	cursor: pointer;
}
.eos .eos_decades_toggle:hover,
.eos .eos_decades_toggle:focus-visible { color: var(--eos-dove); }
.eos .eos_nav .eos_decades {
	display: none;
	list-style: none;
	margin: 0;
	padding: 8px 0;
	position: absolute;
	top: 100%;
	left: -20px;
	z-index: 1000;
	min-width: 220px;
	column-count: 2;
	column-gap: 0;
	background: var(--eos-ivory);
	border: 1px solid var(--eos-rule);
	box-shadow: 0 12px 28px rgba(0, 0, 28, 0.18);
}
.eos .eos_nav .eos_has_decades.eos_decades--open > .eos_decades { display: block; }
@media (hover: hover) and (min-width: 992px) {
	.eos .eos_nav .eos_has_decades:hover > .eos_decades { display: block; }
}
.eos .eos_nav .eos_decades li { margin: 0; padding: 0; break-inside: avoid; }
.eos .eos_nav .eos_decades a {
	display: block;
	padding: 7px 20px;
	color: var(--eos-navy);
	font-family: var(--eos-label);
	font-size: 16px;
	letter-spacing: 0.04em;
	text-decoration: none;
	border: 0;
	font-variant-numeric: lining-nums;
}
.eos .eos_nav .eos_decades a:hover,
.eos .eos_nav .eos_decades a:focus {
	background: #eef1f8;
	color: var(--eos-cobalt);
}
@media (max-width: 991px) {
	.eos .eos_nav .pkp_navigation_primary > li.eos_has_decades { flex-wrap: wrap; }
	.eos .eos_decades_toggle { display: none; }
	.eos .eos_nav .eos_decades,
	.eos .eos_nav .eos_has_decades.eos_decades--open > .eos_decades {
		display: flex;
		flex-wrap: wrap;
		gap: 2px 18px;
		position: static;
		flex-basis: 100%;
		min-width: 0;
		column-count: auto;
		background: transparent;
		border: 0;
		box-shadow: none;
		padding: 0 0 10px 16px;
	}
	.eos .eos_nav .eos_decades a {
		color: var(--eos-ivory);
		padding: 4px 0;
	}
	.eos .eos_nav .eos_decades a:hover,
	.eos .eos_nav .eos_decades a:focus { background: transparent; color: var(--eos-dove); }
}

/* Archive page: the decade reached from the menu (or the jump row) */
.eos .eos_archive_decade { scroll-margin-top: 24px; }
.eos .eos_archive_decade:target { animation: eos-target 2.4s ease-out; }
@keyframes eos-target {
	0%, 35% { background: #e3e9f7; box-shadow: 0 0 0 12px #e3e9f7; }
	100% { background: transparent; box-shadow: 0 0 0 12px transparent; }
}

/* ---------- "Review of:" before titles in Censurae librorum (1.0.18; in the review's language since 1.0.19) ----------
   Display only; the stored title stays the book citation. Issue page and homepage
   list: a span in the template. Article page: body class eos_review (header.tpl). */
.eos .eos_review_of,
.eos.eos_review .page_article .page_title::before {
	font-family: var(--eos-label);
	font-size: 0.68em;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--eos-muted);
	font-weight: 400;
	white-space: nowrap;
}
.eos.eos_review .page_article .page_title::before {
	content: var(--eos-review-of, "Review of:");
	display: block;
	font-size: 15px;
	margin-bottom: 6px;
}

/* ---------- Dotted leaders on the last line of long titles (1.0.21) ----------
   Before: title, leader and pages were three flex boxes, so a title that wrapped
   took the whole width and left only a stub of dots. Now the title runs inline;
   the leader is an absolutely positioned line without top/left, so it starts
   exactly where the title's last line ends, and is clipped at the right edge;
   the page numbers sit at the bottom right on an ivory patch that covers the dots. */
.eos .eos_cm_line {
	display: block;
	position: relative;
	overflow: hidden;
}
.eos .eos_cm_line:has(> .eos_cm_pages) { padding-right: 4.6em; }
.eos .eos_cm_title { display: inline; }
.eos .eos_cm_leader {
	position: absolute;
	width: 100%;
	min-width: 0;
	height: 0.95em;
	margin: 0 0 0 8px;
	border-bottom: 1px dotted #9aa0b8;
	pointer-events: none;
}
.eos .eos_cm_pages {
	position: absolute;
	right: 0;
	bottom: 0;
	padding-left: 8px;
	background: var(--eos-ivory);
}
