/**
 * 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-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;
}
.eos .eos_nav .pkp_navigation_primary > li > a[data-toggle="dropdown"]::after {
	content: " ▾";
	border: 0;
	font-size: 12px;
}

/* 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_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: 380px;
	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; }
}

/* ---------- 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 / 300px 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: 300px;
	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; }
