/**
 * plugins/themes/power/styles/power.css
 *
 * Distributed under the GNU GPL v3.
 *
 * Power theme (IJSSE) for OJS 3.3. Loaded after the Default theme stylesheet.
 * Colours and fonts are set from the theme options through CSS custom
 * properties (see PowerThemePlugin::_getCssVariables()).
 */

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root {
	--ij-primary: #123B63;
	--ij-primary-dark: #0D2A47;
	--ij-primary-deep: #091E32;
	--ij-primary-soft: #E7EBEF;
	--ij-primary-tint: #F3F5F7;
	--ij-on-primary: #FFFFFF;
	--ij-accent: #E3A42B;
	--ij-accent-dark: #B18022;
	--ij-accent-soft: #FBEDD5;
	--ij-on-accent: #1A1A1A;

	--ij-ink: #18212C;
	--ij-text: #2B3542;
	--ij-muted: #5D6877;
	--ij-line: #E2E6EC;
	--ij-bg: #F5F6F8;
	--ij-surface: #FFFFFF;

	--ij-font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ij-font-heading: "Source Serif 4", Georgia, "Times New Roman", serif;

	--ij-radius: 12px;
	--ij-radius-sm: 8px;
	--ij-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 4px 16px rgba(16, 24, 40, .06);
	--ij-shadow-lg: 0 12px 40px rgba(9, 30, 50, .18);
	--ij-container: 1200px;
	--ij-gutter: 20px;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
html {
	font-size: 16px;
	scroll-behavior: smooth;
}

html,
body.ij-theme {
	background: var(--ij-bg);
	color: var(--ij-text);
	font-family: var(--ij-font);
	font-size: 1rem;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

body.ij-theme {
	margin: 0;
}

.ij-theme *,
.ij-theme *::before,
.ij-theme *::after {
	box-sizing: border-box;
}

.ij-theme a {
	color: var(--ij-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.ij-theme a:hover,
.ij-theme a:focus {
	color: var(--ij-accent-dark);
}

.ij-theme :focus-visible {
	outline: 3px solid var(--ij-accent);
	outline-offset: 2px;
}

.ij-theme h1,
.ij-theme h2,
.ij-theme h3,
.ij-theme h4,
.ij-theme h5,
.ij-theme h6 {
	font-family: var(--ij-font-heading);
	color: var(--ij-ink);
	line-height: 1.25;
	font-weight: 700;
}

.ij-theme img {
	max-width: 100%;
	height: auto;
}

.ij-container {
	width: 100%;
	max-width: var(--ij-container);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ij-gutter);
	padding-right: var(--ij-gutter);
}

.ij-page {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

/* Skip links (keep the default behaviour, just restyle on focus) */
.ij-theme .cmp_skip_to_content a:focus {
	background: var(--ij-accent);
	color: var(--ij-on-accent);
	font-weight: 600;
}

/* ==========================================================================
   3. Buttons, labels, badges
   ========================================================================== */
.ij-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5em;
	min-height: 44px;
	padding: .65em 1.3em;
	border: 2px solid transparent;
	border-radius: 999px;
	font-family: var(--ij-font);
	font-size: .95rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s;
}

.ij-theme .ij-btn--accent {
	background: var(--ij-accent);
	color: var(--ij-on-accent);
}

.ij-theme .ij-btn--accent:hover,
.ij-theme .ij-btn--accent:focus {
	background: var(--ij-accent-dark);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}

.ij-theme .ij-btn--ghost {
	border-color: rgba(255, 255, 255, .55);
	color: #fff;
	background: transparent;
}

.ij-theme .ij-btn--ghost:hover,
.ij-theme .ij-btn--ghost:focus {
	background: #fff;
	border-color: #fff;
	color: var(--ij-primary-deep);
}

.ij-kicker {
	margin: 0 0 .6rem;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ij-accent);
}

.ij-kicker--accent {
	color: var(--ij-accent-dark);
}

.ij-label {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ij-accent-dark);
}

.ij-link-more {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	font-weight: 600;
	font-size: .92rem;
	text-decoration: none;
}

.ij-theme .ij-link-more:hover span,
.ij-theme .ij-link-more:focus span {
	transform: translateX(3px);
}

.ij-link-more span {
	transition: transform .2s;
}

.ij-badges {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-badge > a,
.ij-badge > .ij-badge__label {
	text-decoration: none;
}

.ij-badge > a,
.ij-badge {
	display: inline-flex;
	align-items: stretch;
	border-radius: 6px;
	font-size: .78rem;
	line-height: 1;
}

.ij-badge {
	border: 1px solid var(--ij-line);
	overflow: hidden;
	background: var(--ij-surface);
}

.ij-badge__label,
.ij-badge__value {
	padding: .45em .65em;
}

.ij-badge__label {
	background: var(--ij-primary);
	color: var(--ij-on-primary);
	font-weight: 700;
	letter-spacing: .04em;
}

.ij-badge__value {
	color: var(--ij-ink);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ij-badge > a:hover .ij-badge__value,
.ij-badge > a:focus .ij-badge__value {
	color: var(--ij-primary);
	text-decoration: underline;
}

.ij-badges--dark .ij-badge {
	background: transparent;
	border-color: rgba(255, 255, 255, .22);
}

.ij-badges--dark .ij-badge__label {
	background: rgba(255, 255, 255, .12);
}

.ij-badges--dark .ij-badge__value {
	color: #fff;
}

.ij-monogram {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 64px;
	height: 64px;
	padding: 0 .55rem;
	border-radius: 10px;
	background: var(--ij-primary);
	box-shadow: inset 0 -5px 0 var(--ij-accent);
	color: var(--ij-on-primary);
	font-family: var(--ij-font-heading);
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: .04em;
}

.ij-monogram--small {
	min-width: 44px;
	height: 44px;
	font-size: .85rem;
	border-radius: 8px;
	box-shadow: inset 0 -4px 0 var(--ij-accent);
	background: rgba(255, 255, 255, .1);
}

/* ==========================================================================
   4. Header — info bar
   ========================================================================== */
.ij-header {
	position: relative;
	z-index: 60;
	background: var(--ij-surface);
}

.ij-sticky .ij-header {
	position: sticky;
	/* top is set by power.js so that only the navigation bar stays visible */
}

.ij-infobar {
	background: var(--ij-primary-deep);
	color: rgba(255, 255, 255, .82);
	font-size: .8rem;
}

.ij-infobar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 40px;
}

.ij-infobar__notices {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
}

.ij-infobar__notices::-webkit-scrollbar {
	display: none;
}

.ij-infobar__notices li {
	display: flex;
	align-items: center;
}

.ij-infobar__notices li + li::before {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0 .9rem;
	border-radius: 50%;
	background: var(--ij-accent);
}

.ij-infobar__notices li:first-child a,
.ij-infobar__notices li:first-child span {
	color: #fff;
	font-weight: 600;
}

.ij-theme .ij-infobar a {
	color: rgba(255, 255, 255, .86);
	text-decoration: none;
}

.ij-theme .ij-infobar a:hover,
.ij-theme .ij-infobar a:focus {
	color: var(--ij-accent);
}

/* User menu (Register / Login / account) */
.ij-infobar__user {
	flex: 0 0 auto;
}

.ij-usermenu {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-usermenu > .ij-nav__item {
	position: relative;
	display: flex;
	align-items: center;
}

.ij-usermenu > .ij-nav__item + .ij-nav__item::before {
	content: "|";
	margin: 0 .55rem;
	color: rgba(255, 255, 255, .3);
}

.ij-usermenu .ij-nav__link {
	display: inline-flex;
	align-items: center;
	gap: .35em;
	padding: .55rem 0;
	font-weight: 600;
}

.ij-usermenu .task_count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--ij-accent);
	color: var(--ij-on-accent);
	font-size: .68rem;
	font-weight: 700;
}

.ij-usermenu .ij-nav__toggle {
	color: rgba(255, 255, 255, .8);
}

.ij-usermenu .ij-nav__sub {
	left: auto;
	right: 0;
	min-width: 200px;
}

/* ==========================================================================
   5. Header — identity row
   ========================================================================== */
.ij-brand {
	background: var(--ij-surface);
	border-bottom: 1px solid var(--ij-line);
}

.ij-brand__inner {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding-top: 1.1rem;
	padding-bottom: 1.1rem;
}

.ij-theme .ij-brand__identity {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

.ij-brand__logo {
	display: block;
	width: auto;
	max-height: 96px;
}

.ij-brand__text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ij-theme .ij-brand__title {
	margin: 0;
	font-family: var(--ij-font-heading);
	font-size: clamp(1.15rem, 1.1rem + .9vw, 1.65rem);
	font-weight: 700;
	line-height: 1.2;
	color: var(--ij-primary-deep);
}

.ij-theme .ij-brand__identity:hover .ij-brand__title {
	color: var(--ij-primary);
}

.ij-brand__sub {
	margin-top: .3rem;
	font-size: .82rem;
	color: var(--ij-muted);
}

.ij-brand__meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .65rem;
	margin-left: auto;
}

/* Search form */
.ij-search {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 340px;
	margin: 0;
}

.ij-theme .ij-search__input {
	width: 100%;
	height: 42px;
	padding: 0 3rem 0 1rem;
	border: 1px solid var(--ij-line);
	border-radius: 999px;
	background: var(--ij-bg);
	color: var(--ij-ink);
	font-family: var(--ij-font);
	font-size: .9rem;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
	-webkit-appearance: none;
	appearance: none;
}

.ij-theme .ij-search__input:focus {
	outline: none;
	border-color: var(--ij-primary);
	background: #fff;
	box-shadow: 0 0 0 4px var(--ij-primary-soft);
}

.ij-theme .ij-search__submit {
	position: absolute;
	top: 4px;
	right: 4px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ij-primary);
	color: var(--ij-on-primary);
	cursor: pointer;
}

.ij-theme .ij-search__submit:hover,
.ij-theme .ij-search__submit:focus {
	background: var(--ij-accent);
	color: var(--ij-on-accent);
}

.ij-search--large {
	max-width: none;
}

.ij-theme .ij-search--large .ij-search__input {
	height: 56px;
	padding-left: 1.4rem;
	font-size: 1rem;
	background: #fff;
	box-shadow: var(--ij-shadow);
}

.ij-theme .ij-search--large .ij-search__submit {
	top: 6px;
	right: 6px;
	width: 44px;
	height: 44px;
}

.ij-search--drawer {
	display: none;
}

/* Menu toggle (small screens) */
.ij-menu-toggle {
	display: none;
	align-items: center;
	gap: .55rem;
	margin-left: auto;
	padding: .55rem .9rem;
	border: 1px solid var(--ij-line);
	border-radius: 999px;
	background: var(--ij-surface);
	color: var(--ij-primary-deep);
	font-family: var(--ij-font);
	font-size: .9rem;
	font-weight: 600;
	cursor: pointer;
}

.ij-menu-toggle__bars,
.ij-menu-toggle__bars span,
.ij-menu-toggle__bars::before,
.ij-menu-toggle__bars::after {
	display: block;
	width: 18px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
}

.ij-menu-toggle__bars {
	position: relative;
	background: transparent;
}

.ij-menu-toggle__bars::before,
.ij-menu-toggle__bars::after {
	content: "";
	position: absolute;
	left: 0;
}

.ij-menu-toggle__bars::before {
	top: -6px;
}

.ij-menu-toggle__bars::after {
	top: 6px;
}

/* ==========================================================================
   6. Header — primary navigation
   ========================================================================== */
.ij-nav {
	position: relative;
	background: var(--ij-primary);
	color: var(--ij-on-primary);
	box-shadow: 0 1px 0 rgba(0, 0, 0, .08);
	transition: box-shadow .2s;
}

.ij-is-stuck .ij-nav {
	box-shadow: 0 8px 24px rgba(9, 30, 50, .22);
}

.ij-nav__inner {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.ij-nav__drawer-head,
.ij-nav__drawer-user {
	display: none;
}

.ij-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-nav__item {
	position: relative;
	display: flex;
	align-items: center;
}

.ij-theme .ij-nav__list > .ij-nav__item > .ij-nav__link {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 54px;
	padding: 0 .95rem;
	color: var(--ij-on-primary);
	font-size: .94rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .2s, color .2s;
}

.ij-nav__list > .ij-nav__item--parent > .ij-nav__link {
	padding-right: .2rem;
}

.ij-nav__list > .ij-nav__item > .ij-nav__link::after {
	content: "";
	position: absolute;
	left: .95rem;
	right: .95rem;
	bottom: 0;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: var(--ij-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s;
}

.ij-theme .ij-nav__list > .ij-nav__item:hover > .ij-nav__link,
.ij-theme .ij-nav__list > .ij-nav__item > .ij-nav__link:focus,
.ij-theme .ij-nav__list > .ij-nav__item.is-open > .ij-nav__link {
	background: rgba(255, 255, 255, .08);
	color: var(--ij-on-primary);
}

.ij-nav__list > .ij-nav__item:hover > .ij-nav__link::after,
.ij-nav__list > .ij-nav__item.is-current > .ij-nav__link::after,
.ij-nav__list > .ij-nav__item.is-open > .ij-nav__link::after {
	transform: scaleX(1);
}

/* Dropdown toggle (chevron) */
.ij-theme .ij-nav__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	width: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
}

.ij-nav__toggle::before {
	content: "";
	width: 7px;
	height: 7px;
	margin-top: -4px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform .2s;
	opacity: .85;
}

.ij-nav__item.is-open > .ij-nav__toggle::before {
	transform: rotate(-135deg);
	margin-top: 3px;
}

.ij-nav__list > .ij-nav__item:hover > .ij-nav__toggle {
	background: rgba(255, 255, 255, .08);
}

/* Dropdown panel */
.ij-nav__sub {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 70;
	min-width: 250px;
	margin: 0;
	padding: .5rem;
	list-style: none;
	border-radius: 0 0 var(--ij-radius) var(--ij-radius);
	border-top: 3px solid var(--ij-accent);
	background: var(--ij-surface);
	box-shadow: var(--ij-shadow-lg);
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity .18s, transform .18s, visibility 0s linear .18s;
}

.ij-nav__sub--cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(210px, 1fr));
	column-gap: .25rem;
	min-width: 480px;
}

.ij-nav__item:hover > .ij-nav__sub,
.ij-nav__item:focus-within > .ij-nav__sub,
.ij-nav__item.is-open > .ij-nav__sub {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s;
}

.ij-js .ij-nav__item.is-closed > .ij-nav__sub {
	opacity: 0;
	visibility: hidden;
}

.ij-theme .ij-nav__sub a {
	position: relative;
	display: block;
	padding: .6rem .85rem .6rem 1rem;
	border-radius: var(--ij-radius-sm);
	color: var(--ij-ink);
	font-size: .9rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color .15s, color .15s, padding .15s;
}

.ij-nav__sub a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 3px;
	height: 0;
	border-radius: 3px;
	background: var(--ij-accent);
	transform: translateY(-50%);
	transition: height .15s;
}

.ij-theme .ij-nav__sub a:hover,
.ij-theme .ij-nav__sub a:focus,
.ij-theme .ij-nav__sub .is-current > a {
	background: var(--ij-primary-tint);
	color: var(--ij-primary);
	padding-left: 1.2rem;
}

.ij-nav__sub a:hover::before,
.ij-nav__sub a:focus::before,
.ij-nav__sub .is-current > a::before {
	height: 60%;
}

/* Call-to-action */
.ij-theme .ij-nav__cta {
	flex: 0 0 auto;
	margin-left: auto;
	min-height: 38px;
	padding: .5em 1.15em;
	font-size: .88rem;
}

.ij-nav-backdrop {
	position: fixed;
	inset: 0;
	z-index: 80;
	background: rgba(9, 20, 33, .55);
	opacity: 0;
	transition: opacity .25s;
}

.ij-nav-open .ij-nav-backdrop {
	opacity: 1;
}

/* ==========================================================================
   7. Homepage hero & metrics
   ========================================================================== */
.ij-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 15%, rgba(255, 255, 255, .09) 0, rgba(255, 255, 255, 0) 38%),
		radial-gradient(circle at 10% 110%, rgba(255, 255, 255, .07) 0, rgba(255, 255, 255, 0) 40%),
		linear-gradient(135deg, var(--ij-primary-deep) 0%, var(--ij-primary) 70%, var(--ij-primary-dark) 100%);
	color: #fff;
}

.ij-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -160px;
	width: 420px;
	height: 420px;
	border: 60px solid rgba(255, 255, 255, .04);
	border-radius: 50%;
	pointer-events: none;
}

.ij-hero--image {
	background:
		linear-gradient(110deg, rgba(9, 20, 33, .92) 0%, rgba(9, 20, 33, .7) 55%, rgba(9, 20, 33, .45) 100%),
		var(--ij-hero-image) center / cover no-repeat;
}

.ij-hero__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
	align-items: center;
	gap: 3rem;
	padding-top: 3.5rem;
	padding-bottom: 3.5rem;
}

.ij-hero__inner--single {
	grid-template-columns: minmax(0, 760px);
}

.ij-hero__title {
	margin: 0 0 1rem;
	font-family: var(--ij-font-heading);
	font-size: clamp(1.75rem, 1.2rem + 2.2vw, 2.8rem);
	font-weight: 700;
	line-height: 1.15;
	color: #fff;
}

.ij-hero__lead {
	max-width: 640px;
	margin: 0 0 1.75rem;
	font-size: 1.05rem;
	line-height: 1.7;
	color: rgba(255, 255, 255, .84);
}

.ij-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: .75rem;
}

.ij-theme .ij-hero__issue {
	display: flex;
	align-items: stretch;
	gap: 1.25rem;
	padding: 1.1rem;
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
	color: var(--ij-text);
	text-decoration: none;
	box-shadow: var(--ij-shadow-lg);
	transition: transform .25s, box-shadow .25s;
}

.ij-theme .ij-hero__issue:hover,
.ij-theme .ij-hero__issue:focus {
	color: var(--ij-text);
	transform: translateY(-4px);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .28);
}

.ij-hero__cover {
	flex: 0 0 140px;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: var(--ij-radius-sm);
	background: var(--ij-primary-soft);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
}

.ij-hero__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ij-hero__issue-body {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	min-width: 0;
	padding: .3rem 0;
}

.ij-hero__issue-title {
	font-family: var(--ij-font-heading);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ij-primary-deep);
}

.ij-hero__issue-date,
.ij-hero__issue-count {
	font-size: .86rem;
	color: var(--ij-muted);
}

.ij-hero__issue-more {
	margin-top: auto;
	padding-top: .5rem;
	font-weight: 600;
	font-size: .9rem;
	color: var(--ij-primary);
}

/* Placeholder cover */
.ij-cover-placeholder {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 100%;
	height: 100%;
	padding: 14px 12px;
	background:
		linear-gradient(160deg, var(--ij-primary) 0%, var(--ij-primary-deep) 100%);
	color: #fff;
	box-shadow: inset 0 -8px 0 var(--ij-accent);
}

.ij-cover-placeholder__mark {
	font-family: var(--ij-font-heading);
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: .05em;
}

.ij-cover-placeholder__label {
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.3;
	padding-bottom: 8px;
	opacity: .9;
}

.ij-cover-placeholder--small {
	padding: 8px;
	box-shadow: inset 0 -5px 0 var(--ij-accent);
}

.ij-cover-placeholder--small .ij-cover-placeholder__mark {
	font-size: .72rem;
}

/* Metrics strip */
.ij-stats {
	background: var(--ij-surface);
	border-bottom: 1px solid var(--ij-line);
}

.ij-stats__list {
	display: flex;
	flex-wrap: wrap;
	margin-top: 0;
	margin-bottom: 0;
	list-style: none;
}

.ij-stat {
	display: flex;
	flex: 1 1 140px;
	flex-direction: column;
	gap: .2rem;
	padding: 1.15rem 1.25rem;
	border-left: 1px solid var(--ij-line);
}

.ij-stat:first-child {
	border-left: 0;
	padding-left: 0;
}

.ij-stat__value {
	font-family: var(--ij-font-heading);
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--ij-primary);
	font-variant-numeric: tabular-nums;
}

.ij-stat__label {
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ij-muted);
}

/* ==========================================================================
   8. Layout (main + sidebar)
   ========================================================================== */
.ij-layout {
	flex: 1 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 2.5rem;
	padding-top: 2.5rem;
	padding-bottom: 4rem;
}

.ij-layout--sidebar {
	grid-template-columns: minmax(0, 1fr) 320px;
}

.ij-main {
	min-width: 0;
}

.ij-layout:not(.ij-layout--sidebar) .ij-main > .page {
	max-width: 960px;
	margin: 0 auto;
}

.ij-theme .ij-main > .page,
.ij-theme .ij-main > .page_index_journal:not(.ij-home) {
	padding: 2rem 2.25rem 2.5rem;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
	box-shadow: var(--ij-shadow);
}

/* ==========================================================================
   9. Homepage sections
   ========================================================================== */
.ij-section {
	margin-bottom: 2.75rem;
}

.ij-section__head,
.ij-explore__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: .75rem 1.5rem;
	margin-bottom: 1.25rem;
}

.ij-section__head .ij-section__title,
.ij-explore__head .ij-section__title {
	margin-bottom: 0;
}

.ij-theme .ij-section__title {
	position: relative;
	margin: 0 0 1.25rem;
	padding-left: 1rem;
	font-size: 1.55rem;
	color: var(--ij-primary-deep);
}

.ij-section__title::before {
	content: "";
	position: absolute;
	left: 0;
	top: .2em;
	bottom: .2em;
	width: 4px;
	border-radius: 4px;
	background: var(--ij-accent);
}

/* Search panel */
.ij-searchpanel {
	padding: 1.75rem;
	border-radius: var(--ij-radius);
	background:
		linear-gradient(135deg, var(--ij-primary-tint), var(--ij-primary-soft));
	border: 1px solid var(--ij-line);
}

.ij-searchpanel .ij-section__title {
	font-size: 1.3rem;
	margin-bottom: 1rem;
}

.ij-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin-top: 1rem;
}

.ij-tags__label {
	font-size: .85rem;
	font-weight: 600;
	color: var(--ij-muted);
}

.ij-theme .ij-tag {
	display: inline-block;
	padding: .3rem .8rem;
	border: 1px solid var(--ij-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ij-primary);
	font-size: .82rem;
	font-weight: 500;
	text-decoration: none;
	transition: all .15s;
}

.ij-theme .ij-tag:hover,
.ij-theme .ij-tag:focus {
	border-color: var(--ij-primary);
	background: var(--ij-primary);
	color: var(--ij-on-primary);
}

/* Call for papers */
.ij-cfp {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem 2rem;
	padding: 2rem 2rem 2rem 2.25rem;
	overflow: hidden;
	border-radius: var(--ij-radius);
	background:
		radial-gradient(circle at 100% 0, var(--ij-accent-soft) 0, rgba(255, 255, 255, 0) 55%),
		var(--ij-surface);
	border: 1px solid var(--ij-line);
	box-shadow: var(--ij-shadow);
}

.ij-cfp::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 6px;
	background: var(--ij-accent);
}

.ij-cfp__body {
	flex: 1 1 380px;
}

.ij-theme .ij-cfp__title {
	margin: 0 0 .5rem;
	font-size: 1.6rem;
	color: var(--ij-primary-deep);
}

.ij-cfp__text {
	margin: 0;
	color: var(--ij-muted);
	line-height: 1.7;
}

/* Feature cards */
.ij-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-card {
	padding: 1.5rem;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
	transition: transform .2s, box-shadow .2s, border-color .2s;
}

.ij-card:hover {
	transform: translateY(-3px);
	border-color: transparent;
	box-shadow: var(--ij-shadow-lg);
}

.ij-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 1rem;
	border-radius: 12px;
	background: var(--ij-primary-soft);
	color: var(--ij-primary);
	font-size: 1.25rem;
}

.ij-theme .ij-card__title {
	margin: 0 0 .5rem;
	font-size: 1.12rem;
	color: var(--ij-primary-deep);
}

.ij-card__text {
	margin: 0;
	font-size: .93rem;
	line-height: 1.65;
	color: var(--ij-muted);
}

/* Explore tabs */
.ij-explore {
	padding: 1.75rem 2rem 2rem;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
	box-shadow: var(--ij-shadow);
}

.ij-tabs {
	display: none;
	gap: .25rem;
	padding: .25rem;
	border-radius: 999px;
	background: var(--ij-bg);
	border: 1px solid var(--ij-line);
}

.ij-js .ij-tabs {
	display: inline-flex;
	flex-wrap: wrap;
}

.ij-theme .ij-tab {
	padding: .5rem 1rem;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--ij-muted);
	font-family: var(--ij-font);
	font-size: .86rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .15s, color .15s;
}

.ij-theme .ij-tab:hover {
	color: var(--ij-primary);
}

.ij-theme .ij-tab[aria-selected="true"] {
	background: var(--ij-primary);
	color: var(--ij-on-primary);
	box-shadow: 0 2px 6px rgba(9, 30, 50, .2);
}

.ij-tabpanel + .ij-tabpanel {
	margin-top: 2rem;
}

.ij-js .ij-tabpanel + .ij-tabpanel {
	margin-top: 0;
}

.ij-js .ij-tabpanel[hidden] {
	display: none;
}

.ij-explore__issuehead {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: .5rem 1rem;
	padding-bottom: 1rem;
	margin-bottom: .5rem;
	border-bottom: 1px solid var(--ij-line);
}

.ij-theme .ij-explore__issuehead .current_issue_title {
	margin: .2rem 0 0;
	font-size: 1.3rem;
	color: var(--ij-primary-deep);
}

.ij-explore .obj_issue_toc .heading .cover {
	display: none;
}

.ij-news {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.ij-news__item {
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--ij-line);
}

.ij-news__date {
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--ij-accent-dark);
}

.ij-theme .ij-news__title {
	margin: .25rem 0 .35rem;
	font-size: 1.12rem;
}

.ij-theme .ij-news__title a {
	color: var(--ij-ink);
	text-decoration: none;
}

.ij-theme .ij-news__title a:hover {
	color: var(--ij-primary);
}

.ij-news__summary {
	font-size: .93rem;
	color: var(--ij-muted);
}

.ij-news__summary p {
	margin: 0;
}

.ij-prose {
	line-height: 1.75;
}

.ij-prose > :first-child {
	margin-top: 0;
}

/* Submission steps */
.ij-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: ij-step;
}

.ij-step {
	position: relative;
	padding: 1.35rem 1.25rem 1.25rem;
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
	border: 1px solid var(--ij-line);
	counter-increment: ij-step;
}

.ij-step::before {
	content: counter(ij-step, decimal-leading-zero);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: .85rem;
	border-radius: 50%;
	background: var(--ij-accent);
	color: var(--ij-on-accent);
	font-family: var(--ij-font-heading);
	font-weight: 700;
}

.ij-step::after {
	content: "";
	position: absolute;
	top: calc(1.35rem + 21px);
	left: calc(1.25rem + 50px);
	right: 1.25rem;
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--ij-line) 0 6px, transparent 6px 12px);
}

.ij-step:last-child::after {
	display: none;
}

.ij-theme .ij-step__title {
	margin: 0 0 .35rem;
	font-size: 1.05rem;
	color: var(--ij-primary-deep);
}

.ij-step__text {
	margin: 0;
	font-size: .9rem;
	line-height: 1.6;
	color: var(--ij-muted);
}

/* Facts + indexing */
.ij-facts-wrap {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
}

.ij-facts,
.ij-indexing {
	padding: 1.5rem 1.75rem;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
}

.ij-facts .ij-section__title,
.ij-indexing .ij-section__title {
	font-size: 1.2rem;
	margin-bottom: 1rem;
}

.ij-facts__list {
	margin: 0;
}

.ij-facts__row {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 1rem;
	padding: .65rem 0;
	border-top: 1px dashed var(--ij-line);
}

.ij-facts__row:first-child {
	border-top: 0;
}

.ij-facts__row dt {
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ij-muted);
}

.ij-facts__row dd {
	margin: 0;
	font-weight: 500;
	color: var(--ij-ink);
}

.ij-indexing__list {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-theme .ij-indexer {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: .4rem .9rem;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius-sm);
	background: var(--ij-primary-tint);
	color: var(--ij-primary-deep);
	font-size: .86rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .15s, background-color .15s;
}

.ij-theme a.ij-indexer:hover,
.ij-theme a.ij-indexer:focus {
	border-color: var(--ij-primary);
	background: #fff;
}

.ij-indexer img {
	display: block;
	max-height: 30px;
	width: auto;
}

/* ==========================================================================
   10. Articles, issues, galleys (core objects)
   ========================================================================== */
.ij-theme .cmp_article_list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-theme .cmp_article_list > li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--ij-line);
}

.ij-theme .cmp_article_list > li:last-child {
	border-bottom: 0;
}

.ij-theme .obj_article_summary {
	position: relative;
	padding: 1.25rem 0;
}

.ij-theme .obj_article_summary > .title {
	margin: 0 0 .5rem;
	font-family: var(--ij-font-heading);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
}

.ij-theme .obj_article_summary > .title a {
	color: var(--ij-ink);
	text-decoration: none;
}

.ij-theme .obj_article_summary > .title a:hover,
.ij-theme .obj_article_summary > .title a:focus {
	color: var(--ij-primary);
}

.ij-theme .obj_article_summary .subtitle {
	display: block;
	margin-top: .2rem;
	font-size: .95rem;
	font-weight: 500;
	color: var(--ij-muted);
}

.ij-theme .obj_article_summary .meta {
	padding-top: 0;
	line-height: 1.6;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem 1rem;
	margin-bottom: .75rem;
	font-size: .88rem;
	color: var(--ij-muted);
}

.ij-theme .obj_article_summary .authors {
	padding-left: 0;
	padding-right: 0;
	color: var(--ij-text);
	font-weight: 500;
}

.ij-theme .obj_article_summary .authors::before {
	content: "\f007";
	font-family: FontAwesome;
	margin-right: .4em;
	color: var(--ij-primary);
	font-weight: normal;
}

.ij-theme .obj_article_summary .pages,
.ij-theme .obj_article_summary .published {
	position: static;
	display: inline-flex;
	align-items: center;
	padding: .1rem .55rem;
	border-radius: 4px;
	background: var(--ij-bg);
	line-height: 1.6;
	font-size: .78rem;
	font-weight: 600;
}

.ij-theme .obj_article_summary .cover {
	float: right;
	width: 96px;
	margin: 0 0 .75rem 1.25rem;
}

.ij-theme .obj_article_summary .cover img {
	border-radius: 6px;
}

.ij-theme .galleys_links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-theme .galleys_links li {
	display: inline-block;
	margin: 0;
}

.ij-theme .obj_galley_link {
	display: inline-flex;
	align-items: center;
	gap: .1em;
	padding: .35rem .9rem;
	border: 1.5px solid var(--ij-primary);
	border-radius: 999px;
	background: #fff;
	color: var(--ij-primary);
	font-size: .8rem;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	transition: all .15s;
}

.ij-theme .obj_galley_link:hover,
.ij-theme .obj_galley_link:focus {
	background: var(--ij-primary);
	border-color: var(--ij-primary);
	color: var(--ij-on-primary);
}

.ij-theme .obj_galley_link.pdf::before {
	color: inherit;
}

/* ---- Numbered article list (article_summary.tpl) ---- */
.ij-theme .cmp_article_list,
.ij-theme .search_results {
	counter-reset: ij-article;
}

.ij-theme .obj_issue_toc .sections {
	counter-reset: ij-article;
}

.ij-theme .obj_issue_toc .cmp_article_list {
	counter-reset: none;
}

.ij-theme .search_results {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-theme .search_results > li {
	border-bottom: 1px solid var(--ij-line);
}

.ij-theme .ij-article {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	column-gap: 1.25rem;
	padding: 1.6rem 0;
	counter-increment: ij-article;
}

.ij-theme .ij-article::before {
	content: counter(ij-article, decimal-leading-zero);
	align-self: start;
	padding-bottom: .7rem;
	background: linear-gradient(var(--ij-accent), var(--ij-accent)) left bottom / 30px 2px no-repeat;
	font-family: var(--ij-font-heading);
	font-size: 2.5rem;
	font-weight: 400;
	line-height: 1;
	color: var(--ij-primary);
	font-variant-numeric: lining-nums tabular-nums;
	display: block;
	width: auto;
	clear: none;
}

.ij-theme .ij-article::after {
	content: none;
	display: none;
}

.ij-article__body {
	min-width: 0;
}

.ij-theme .ij-article > .ij-article__body > .title {
	margin: 0 0 .85rem;
	font-family: var(--ij-font-heading);
	font-size: 1.28rem;
	font-weight: 700;
	line-height: 1.38;
}

.ij-theme .ij-article > .ij-article__body > .title a {
	color: var(--ij-ink);
	text-decoration: none;
}

.ij-theme .ij-article > .ij-article__body > .title a:hover,
.ij-theme .ij-article > .ij-article__body > .title a:focus {
	color: var(--ij-primary);
}

.ij-theme .ij-article .cover {
	float: right;
	width: 96px;
	margin: 0 0 .75rem 1.25rem;
}

.ij-article__meta {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .5rem 1.5rem;
}

.ij-article__authors {
	display: flex;
	flex-direction: column;
	gap: .55rem;
	margin: 0;
	padding: 0;
	list-style: none;
	min-width: 0;
}

.ij-article__authors--plain {
	font-weight: 600;
	color: var(--ij-ink);
}

.ij-author {
	display: flex;
	flex-direction: column;
	gap: .1rem;
}

.ij-author__name {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .45rem;
	font-size: .95rem;
	font-weight: 600;
	color: var(--ij-ink);
}

.ij-flag {
	display: inline-block;
	flex: 0 0 auto;
	width: 20px;
	height: 15px;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
	object-fit: cover;
}

.ij-theme .ij-author__orcid {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #A6CE39;
	text-decoration: none;
}

.ij-author__orcid::before {
	content: "iD";
	font-family: Arial, sans-serif;
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

.ij-author__affiliation {
	font-size: .82rem;
	line-height: 1.45;
	color: var(--ij-muted);
}

.ij-author__name:has(.ij-flag) + .ij-author__affiliation {
	padding-left: calc(20px + .45rem);
}

.ij-article__side {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: .2rem;
	flex: 0 0 auto;
	font-size: .85rem;
	color: var(--ij-muted);
	white-space: nowrap;
}

.ij-theme .ij-article__side .pages,
.ij-theme .ij-article__side .published {
	position: static;
	padding: 0;
	background: none;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.5;
	color: inherit;
}

.ij-article__doi {
	margin-top: 1rem;
	font-size: .88rem;
	overflow-wrap: anywhere;
}

.ij-article__doi-label {
	margin-right: .6rem;
	font-weight: 600;
	color: var(--ij-muted);
}

.ij-theme .ij-article__doi a {
	text-decoration: none;
}

.ij-theme .ij-article__doi a:hover {
	text-decoration: underline;
}

.ij-article__keywords {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.ij-article__keywords li {
	padding: .28rem .65rem;
	border: 1px solid var(--ij-line);
	border-radius: 3px;
	background: var(--ij-bg);
	font-size: .78rem;
	line-height: 1.35;
	color: var(--ij-text);
}

.ij-theme .ij-article .galleys_links {
	margin-top: 1.1rem;
}

.ij-theme .ij-article .obj_galley_link {
	border-radius: 4px;
	padding: .42rem .95rem;
	letter-spacing: .03em;
}

/* Issue table of contents */
.ij-theme .obj_issue_toc .heading {
	margin-bottom: 1rem;
}

.ij-theme .obj_issue_toc .heading .cover img {
	border-radius: var(--ij-radius-sm);
	box-shadow: var(--ij-shadow);
}

.ij-theme .obj_issue_toc .published,
.ij-theme .obj_issue_toc .pub_id {
	font-size: .9rem;
	color: var(--ij-muted);
}

.ij-theme .obj_issue_toc .published .label,
.ij-theme .obj_issue_toc .pub_id .type {
	font-weight: 700;
	color: var(--ij-text);
}

.ij-theme .obj_issue_toc .sections,
.ij-theme .obj_issue_toc .sections:not(:first-child) {
	margin-top: 1rem;
}

.ij-theme .obj_issue_toc .sections .section,
.ij-theme .obj_issue_toc .galleys {
	position: static;
	margin: 1.5rem 0 0;
	padding: 0;
}

.ij-theme .obj_issue_toc .section::before,
.ij-theme .obj_issue_toc .galleys::before {
	content: none;
	display: none;
}

.ij-theme .obj_issue_toc .articles,
.ij-theme .obj_issue_toc .cmp_article_list {
	margin-top: 0;
}

.ij-theme .obj_issue_toc .heading .cover {
	max-width: 200px;
}

.ij-theme .obj_issue_toc .sections .section > h2,
.ij-theme .obj_issue_toc .sections .section > h3,
.ij-theme .obj_issue_toc .sections .section > h4,
.ij-theme .obj_issue_toc .galleys > h2,
.ij-theme .obj_issue_toc .galleys > h3 {
	position: static;
	left: 0;
	display: flex;
	align-items: center;
	gap: .75rem;
	margin: 0 0 .25rem;
	padding: 0;
	border: 0;
	background: none;
	line-height: 1.6;
	font-family: var(--ij-font);
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ij-accent-dark);
}

.ij-theme .obj_issue_toc .sections .section > h2::after,
.ij-theme .obj_issue_toc .sections .section > h3::after,
.ij-theme .obj_issue_toc .sections .section > h4::after,
.ij-theme .obj_issue_toc .galleys > h2::after,
.ij-theme .obj_issue_toc .galleys > h3::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--ij-line);
}

.ij-theme .obj_issue_toc .galleys {
	margin: 1rem 0;
	padding: 1rem 1.25rem !important;
	border-radius: var(--ij-radius-sm);
	background: var(--ij-primary-tint);
}

.ij-theme .obj_issue_toc .galleys > h2,
.ij-theme .obj_issue_toc .galleys > h3 {
	margin-bottom: .6rem;
}

/* Archive */
.ij-theme .page_issue_archive .issues_archive {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 1.5rem;
	margin: 1.5rem 0;
	padding: 0;
	list-style: none;
}

.ij-theme .page_issue_archive .issues_archive > li {
	margin: 0;
	padding: 0;
	border: 0;
}

.ij-theme .obj_issue_summary {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: .75rem;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
	transition: transform .2s, box-shadow .2s;
}

.ij-theme .obj_issue_summary:hover {
	transform: translateY(-3px);
	box-shadow: var(--ij-shadow-lg);
}

.ij-theme .obj_issue_summary .cover {
	float: none;
	width: 100%;
	margin: 0 0 .75rem;
	padding: 0;
}

.ij-theme .obj_issue_summary .cover .ij-cover-placeholder {
	aspect-ratio: 3 / 4;
	height: auto;
	border-radius: var(--ij-radius-sm);
}

.ij-theme .obj_issue_summary .cover img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: var(--ij-radius-sm);
}

.ij-theme .obj_issue_summary h2 {
	margin: 0;
	font-size: 1rem;
	line-height: 1.35;
}

.ij-theme .obj_issue_summary h2 a.title {
	color: var(--ij-ink);
	text-decoration: none;
}

.ij-theme .obj_issue_summary h2 a.title:hover {
	color: var(--ij-primary);
}

.ij-theme .obj_issue_summary .series {
	display: block;
	margin-top: .25rem;
	font-family: var(--ij-font);
	font-size: .82rem;
	font-weight: 600;
	color: var(--ij-muted);
}

.ij-theme .obj_issue_summary .description {
	margin-top: .5rem;
	font-size: .85rem;
	color: var(--ij-muted);
}

/* Article landing page */
.ij-theme .obj_article_details > .page_title {
	margin: 0 0 .5rem;
	font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem);
	color: var(--ij-primary-deep);
}

.ij-theme .obj_article_details > .subtitle {
	margin: 0 0 1.5rem;
	font-size: 1.15rem;
	color: var(--ij-muted);
}

.ij-theme .obj_article_details .row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin: 1.5rem 0 0;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius);
	overflow: hidden;
}

.ij-theme .obj_article_details .row::before,
.ij-theme .obj_article_details .row::after {
	content: none;
	display: none;
}

.ij-theme .obj_article_details .main_entry,
.ij-theme .obj_article_details .entry_details {
	float: none;
	width: auto;
	margin: 0;
	border: 0;
}

.ij-theme .obj_article_details .entry_details {
	background: var(--ij-primary-tint);
	border-top: 1px solid var(--ij-line);
}

.ij-theme .obj_article_details .item {
	padding: 1.25rem 1.5rem;
	border-bottom: 1px solid var(--ij-line);
}

.ij-theme .obj_article_details .main_entry .item:last-child,
.ij-theme .obj_article_details .entry_details .item:last-child {
	border-bottom: 0;
}

.ij-theme .obj_article_details .item .label,
.ij-theme .obj_article_details .item > h2,
.ij-theme .obj_article_details .item > h3 {
	margin: 0 0 .6rem;
	font-family: var(--ij-font);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ij-accent-dark);
}

.ij-theme .obj_article_details .item.doi .label,
.ij-theme .obj_article_details .item.keywords .label {
	display: inline;
}

.ij-theme .obj_article_details .authors .name {
	font-weight: 700;
	color: var(--ij-ink);
}

.ij-theme .obj_article_details .authors .affiliation {
	font-size: .9rem;
	color: var(--ij-muted);
}

.ij-theme .obj_article_details .abstract {
	line-height: 1.8;
}

.ij-theme .obj_article_details .entry_details .cover_image img {
	border-radius: var(--ij-radius-sm);
	box-shadow: var(--ij-shadow);
}

.ij-theme .obj_article_details .galleys_links .obj_galley_link {
	font-size: .88rem;
	padding: .5rem 1.1rem;
}

/* ==========================================================================
   11. Generic page elements (all inner pages)
   ========================================================================== */
.ij-theme .cmp_breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem;
	margin: 0 0 1rem;
	padding: 0;
	font-size: .84rem;
	color: var(--ij-muted);
}

.ij-theme .cmp_breadcrumbs a {
	color: var(--ij-muted);
	text-decoration: none;
}

.ij-theme .cmp_breadcrumbs a:hover {
	color: var(--ij-primary);
}

.ij-theme .cmp_breadcrumbs .separator {
	margin: 0 .35rem;
	color: var(--ij-line);
}

.ij-theme .cmp_breadcrumbs .current {
	color: var(--ij-ink);
	font-weight: 600;
}

.ij-theme .cmp_breadcrumbs .current h1,
.ij-theme .cmp_breadcrumbs .current span {
	font-family: var(--ij-font);
	font-size: inherit;
	font-weight: inherit;
	margin: 0;
	color: inherit;
}

.ij-theme .page > h1,
.ij-theme .page .page_title {
	margin: 0 0 1.25rem;
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
	color: var(--ij-primary-deep);
}

.ij-theme .page > h2 {
	margin-top: 2rem;
	font-size: 1.35rem;
	color: var(--ij-primary-deep);
}

.ij-theme .page > h3 {
	font-size: 1.12rem;
}

.ij-theme .page p,
.ij-theme .page li {
	line-height: 1.75;
}

.ij-theme .page table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
	font-size: .93rem;
}

.ij-theme .page th,
.ij-theme .page td {
	padding: .6rem .75rem;
	border: 1px solid var(--ij-line);
	text-align: left;
	vertical-align: top;
}

.ij-theme .page th {
	background: var(--ij-primary-tint);
	color: var(--ij-primary-deep);
}

.ij-theme .page blockquote {
	margin: 1.5rem 0;
	padding: 1rem 1.25rem;
	border-left: 4px solid var(--ij-accent);
	background: var(--ij-primary-tint);
	border-radius: 0 var(--ij-radius-sm) var(--ij-radius-sm) 0;
}

/* Editorial team list (common in custom pages) */
.ij-theme .page_editorial_team h2,
.ij-theme .page_editorial_team h3 {
	color: var(--ij-primary-deep);
}

/* Buttons from core templates */
.ij-theme .cmp_button,
.ij-theme .cmp_form .buttons button,
.ij-theme .pkp_form .buttons button,
.ij-theme .page_search .submit button,
.ij-theme .cmp_form button.submit,
.ij-theme .page_login .buttons button,
.ij-theme .page_register .buttons button,
.ij-theme .page_lost_password .buttons button,
.ij-theme a.cmp_button,
.ij-theme .block_make_submission a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .4em;
	min-height: 42px;
	padding: .55rem 1.3rem;
	border: 0;
	border-radius: 999px;
	background: var(--ij-primary);
	color: var(--ij-on-primary);
	font-family: var(--ij-font);
	font-size: .92rem;
	font-weight: 600;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .15s, transform .15s;
}

.ij-theme .cmp_button:hover,
.ij-theme .cmp_form .buttons button:hover,
.ij-theme .pkp_form .buttons button:hover,
.ij-theme .page_search .submit button:hover,
.ij-theme .page_login .buttons button:hover,
.ij-theme .page_register .buttons button:hover,
.ij-theme a.cmp_button:hover,
.ij-theme .block_make_submission a:hover,
.ij-theme .block_make_submission a:focus {
	background: var(--ij-accent);
	color: var(--ij-on-accent);
}

.ij-theme .cmp_button_wire,
.ij-theme .page_login .buttons a,
.ij-theme .page_register .buttons a.login {
	border-radius: 999px;
	border-color: var(--ij-primary);
	color: var(--ij-primary);
}

/* Forms */
.ij-theme .cmp_form input[type="text"],
.ij-theme .cmp_form input[type="email"],
.ij-theme .cmp_form input[type="password"],
.ij-theme .cmp_form input[type="url"],
.ij-theme .cmp_form input[type="tel"],
.ij-theme .cmp_form select,
.ij-theme .cmp_form textarea,
.ij-theme .page_search input.query,
.ij-theme .pkp_form input[type="text"],
.ij-theme .pkp_form input[type="email"],
.ij-theme .pkp_form input[type="password"],
.ij-theme .pkp_form select,
.ij-theme .pkp_form textarea {
	min-height: 42px;
	padding: .5rem .8rem;
	border: 1px solid #C9D0DA;
	border-radius: var(--ij-radius-sm);
	background: #fff;
	color: var(--ij-ink);
	font-family: var(--ij-font);
	font-size: .95rem;
	transition: border-color .15s, box-shadow .15s;
}

.ij-theme .cmp_form input:focus,
.ij-theme .cmp_form select:focus,
.ij-theme .cmp_form textarea:focus,
.ij-theme .page_search input.query:focus,
.ij-theme .pkp_form input:focus,
.ij-theme .pkp_form select:focus,
.ij-theme .pkp_form textarea:focus {
	outline: none;
	border-color: var(--ij-primary);
	box-shadow: 0 0 0 4px var(--ij-primary-soft);
}

.ij-theme .cmp_form fieldset legend {
	font-family: var(--ij-font-heading);
	font-weight: 700;
	color: var(--ij-primary-deep);
}

.ij-theme .cmp_notification {
	border-left: 4px solid var(--ij-accent);
	border-radius: var(--ij-radius-sm);
	background: var(--ij-accent-soft);
	color: var(--ij-ink);
}

.ij-theme .cmp_pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 1.5rem;
	font-weight: 600;
}

/* Announcements page */
.ij-theme .obj_announcement_summary {
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--ij-line);
}

.ij-theme .obj_announcement_summary h2,
.ij-theme .obj_announcement_summary h3,
.ij-theme .obj_announcement_summary h4 {
	margin: 0 0 .3rem;
	font-size: 1.15rem;
}

.ij-theme .obj_announcement_summary .date,
.ij-theme .obj_announcement_full .date {
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ij-accent-dark);
}

/* ==========================================================================
   12. Sidebar blocks
   ========================================================================== */
.ij-sidebar {
	min-width: 0;
	float: none;
	width: auto;
}

.ij-theme .ij-sidebar .pkp_block {
	margin: 0 0 1.5rem;
	padding: 1.35rem 1.4rem;
	border: 1px solid var(--ij-line);
	border-radius: var(--ij-radius);
	background: var(--ij-surface);
	box-shadow: var(--ij-shadow);
	font-size: .92rem;
	overflow-wrap: anywhere;
}

.ij-theme .ij-sidebar .pkp_block .title {
	position: relative;
	display: block;
	margin: -.1rem 0 1rem;
	padding-bottom: .75rem;
	border-bottom: 1px solid var(--ij-line);
	font-family: var(--ij-font-heading);
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.3;
	color: var(--ij-primary-deep);
}

.ij-theme .ij-sidebar .pkp_block .title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 42px;
	height: 3px;
	border-radius: 3px;
	background: var(--ij-accent);
}

.ij-theme .ij-sidebar .pkp_block .content > ul,
.ij-theme .ij-sidebar .pkp_block ul.ij-linklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-theme .ij-sidebar .pkp_block .content > ul:not(.ij-issuegrid) > li {
	padding: 0;
	border-top: 1px solid var(--ij-line);
}

.ij-theme .ij-sidebar .pkp_block .content > ul:not(.ij-issuegrid) > li:first-child {
	border-top: 0;
}

.ij-theme .ij-sidebar .pkp_block .content > ul:not(.ij-issuegrid) > li > a {
	position: relative;
	display: block;
	padding: .55rem 1.2rem .55rem 0;
	color: var(--ij-text);
	text-decoration: none;
	transition: color .15s, padding .15s;
}

.ij-theme .ij-sidebar .pkp_block .content > ul:not(.ij-issuegrid) > li > a::after {
	content: "";
	position: absolute;
	right: .2rem;
	top: 50%;
	width: 6px;
	height: 6px;
	margin-top: -3px;
	border-right: 2px solid var(--ij-line);
	border-top: 2px solid var(--ij-line);
	transform: rotate(45deg);
	transition: border-color .15s, right .15s;
}

.ij-theme .ij-sidebar .pkp_block .content > ul:not(.ij-issuegrid) > li > a:hover,
.ij-theme .ij-sidebar .pkp_block .content > ul:not(.ij-issuegrid) > li > a:focus {
	padding-left: .35rem;
	color: var(--ij-primary);
}

.ij-theme .ij-sidebar .pkp_block .content > ul:not(.ij-issuegrid) > li > a:hover::after {
	border-color: var(--ij-accent);
	right: 0;
}

.ij-theme .ij-sidebar .pkp_block img {
	max-width: 100%;
	height: auto;
}

.ij-theme .ij-sidebar .pkp_block table {
	width: 100%;
	border-collapse: collapse;
}

.ij-theme .ij-sidebar .pkp_block td {
	padding: .25rem;
	vertical-align: middle;
}

.ij-theme .ij-sidebar .pkp_block p {
	line-height: 1.6;
}

/* Built-in blocks */
.ij-theme .ij-sidebar .block_make_submission {
	background: linear-gradient(135deg, var(--ij-primary), var(--ij-primary-deep));
	border: 0;
	text-align: center;
}

.ij-theme .ij-sidebar .block_make_submission .content {
	padding: .25rem 0;
}

.ij-theme .ij-sidebar .block_make_submission a {
	width: 100%;
	background: var(--ij-accent);
	color: var(--ij-on-accent);
}

.ij-theme .ij-sidebar .block_make_submission a:hover {
	background: #fff;
	color: var(--ij-primary-deep);
}

.ij-theme .ij-sidebar .block_language select,
.ij-theme .ij-sidebar .block_language .content select {
	width: 100%;
}

.ij-theme .ij-sidebar .block_information .content > ul > li > a,
.ij-theme .ij-sidebar .block_browse .content > ul > li > a {
	font-weight: 500;
}

/* Recent issues block */
.ij-issuegrid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .75rem .6rem;
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}

.ij-theme .ij-issuegrid a {
	display: block;
	color: var(--ij-text);
	text-decoration: none;
}

.ij-issuegrid__cover {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	border-radius: 6px;
	background: var(--ij-primary-soft);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
	transition: transform .2s, box-shadow .2s;
}

.ij-issuegrid__cover img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ij-issuegrid a:hover .ij-issuegrid__cover,
.ij-issuegrid a:focus .ij-issuegrid__cover {
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, .2);
}

.ij-issuegrid__label {
	display: block;
	margin-top: .35rem;
	font-size: .72rem;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	color: var(--ij-muted);
}

.ij-theme .ij-issuegrid a:hover .ij-issuegrid__label {
	color: var(--ij-primary);
}

/* ==========================================================================
   13. Footer
   ========================================================================== */
.ij-footer {
	margin-top: auto;
	background: var(--ij-primary-deep);
	color: rgba(255, 255, 255, .74);
	font-size: .92rem;
}

.ij-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.3fr);
	gap: 2.5rem;
	padding-top: 3.25rem;
	padding-bottom: 2.75rem;
}

.ij-theme .ij-footer a {
	color: rgba(255, 255, 255, .86);
	text-decoration: none;
}

.ij-theme .ij-footer a:hover,
.ij-theme .ij-footer a:focus {
	color: var(--ij-accent);
}

.ij-theme .ij-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: .8rem;
	margin-bottom: 1rem;
	color: #fff;
	font-family: var(--ij-font-heading);
	font-size: 1.12rem;
	font-weight: 700;
	line-height: 1.3;
}

.ij-footer__about p {
	margin: 0 0 1.25rem;
	line-height: 1.7;
}

.ij-theme .ij-footer__heading {
	position: relative;
	margin: 0 0 1.1rem;
	padding-bottom: .65rem;
	font-family: var(--ij-font);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #fff;
}

.ij-footer__heading::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: var(--ij-accent);
}

.ij-footer__col ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ij-footer__col li {
	margin-bottom: .55rem;
}

.ij-footer__contact p {
	display: flex;
	gap: .65rem;
	margin: 0 0 .7rem;
	line-height: 1.55;
}

.ij-footer__contact .fa {
	flex: 0 0 16px;
	margin-top: .25em;
	color: var(--ij-accent);
	text-align: center;
}

.ij-theme .ij-footer__contactlink {
	font-weight: 600;
}

.ij-footer__custom {
	padding: 1.75rem 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: rgba(0, 0, 0, .14);
	line-height: 1.7;
}

.ij-footer__custom .pkp_footer_content {
	padding-top: 0;
	padding-bottom: 0;
	color: rgba(255, 255, 255, .74);
}

.ij-footer__custom .pkp_footer_content p:first-child {
	margin-top: 0;
}

.ij-footer__custom .pkp_footer_content p:last-child {
	margin-bottom: 0;
}

.ij-footer__custom img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

.ij-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: rgba(0, 0, 0, .22);
	font-size: .82rem;
}

.ij-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .75rem 1.5rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
}

.ij-footer__bottom p {
	margin: 0;
}

.ij-footer__pkp img {
	display: block;
	width: auto;
	height: 36px;
	opacity: .65;
	filter: brightness(0) invert(1);
	transition: opacity .15s;
}

.ij-footer__pkp:hover img {
	opacity: 1;
}

/* Back to top */
.ij-totop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 40;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: var(--ij-accent);
	color: var(--ij-on-accent);
	box-shadow: var(--ij-shadow-lg);
	cursor: pointer;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .2s, transform .2s;
}

.ij-totop.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   14. Responsive
   ========================================================================== */
@media (max-width: 1199px) {
	.ij-theme .ij-nav__list > .ij-nav__item > .ij-nav__link {
		padding: 0 .7rem;
		font-size: .9rem;
	}

	.ij-nav__list > .ij-nav__item > .ij-nav__link::after {
		left: .7rem;
		right: .7rem;
	}

	.ij-layout--sidebar {
		grid-template-columns: minmax(0, 1fr) 290px;
	}
}

@media (max-width: 991px) {
	.ij-menu-toggle {
		display: inline-flex;
	}

	.ij-infobar__user,
	.ij-brand__meta .ij-search {
		display: none;
	}

	.ij-brand__meta {
		align-items: flex-start;
		margin-left: 0;
	}

	.ij-brand__inner {
		flex-wrap: wrap;
	}

	.ij-theme .ij-brand__identity {
		flex: 1 1 0;
		min-width: 0;
	}

	.ij-sticky .ij-header {
		position: relative;
		top: auto !important;
	}

	.ij-brand__meta {
		order: 3;
		flex-basis: 100%;
	}

	.ij-brand__meta:empty {
		display: none;
	}

	/* Off-canvas drawer */
	.ij-nav {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 90;
		display: flex;
		flex-direction: column;
		width: min(380px, 88vw);
		background: var(--ij-surface);
		color: var(--ij-text);
		box-shadow: var(--ij-shadow-lg);
		transform: translateX(105%);
		visibility: hidden;
		transition: transform .3s ease, visibility 0s linear .3s;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.ij-nav-open .ij-nav {
		transform: translateX(0);
		visibility: visible;
		transition-delay: 0s;
	}

	.ij-nav-open {
		overflow: hidden;
	}

	.ij-nav__drawer-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 1rem var(--ij-gutter);
		background: var(--ij-primary);
		color: var(--ij-on-primary);
	}

	.ij-nav__drawer-title {
		font-family: var(--ij-font-heading);
		font-size: 1.15rem;
		font-weight: 700;
	}

	.ij-theme .ij-nav__close {
		width: 40px;
		height: 40px;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: rgba(255, 255, 255, .12);
		color: inherit;
		font-size: 1.6rem;
		line-height: 1;
		cursor: pointer;
	}

	.ij-nav__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
		padding-top: 1.25rem;
		padding-bottom: 2rem;
	}

	.ij-search--drawer {
		display: flex;
		max-width: none;
	}

	.ij-nav__list {
		flex-direction: column;
		flex-wrap: nowrap;
	}

	.ij-nav__item {
		flex-wrap: wrap;
		border-bottom: 1px solid var(--ij-line);
	}

	.ij-theme .ij-nav__list > .ij-nav__item > .ij-nav__link {
		flex: 1 1 auto;
		min-height: 50px;
		padding: 0 .25rem;
		color: var(--ij-ink);
		font-size: 1rem;
		white-space: normal;
	}

	.ij-theme .ij-nav__list > .ij-nav__item:hover > .ij-nav__link,
	.ij-theme .ij-nav__list > .ij-nav__item > .ij-nav__link:focus,
	.ij-theme .ij-nav__list > .ij-nav__item.is-open > .ij-nav__link {
		background: transparent;
		color: var(--ij-primary);
	}

	.ij-nav__list > .ij-nav__item > .ij-nav__link::after {
		display: none;
	}

	.ij-nav__list > .ij-nav__item.is-current > .ij-nav__link {
		color: var(--ij-primary);
		box-shadow: inset 3px 0 0 var(--ij-accent);
		padding-left: .75rem;
	}

	.ij-theme .ij-nav__toggle {
		width: 48px;
		min-height: 50px;
		border-left: 1px solid var(--ij-line);
		color: var(--ij-primary);
	}

	.ij-nav__list > .ij-nav__item:hover > .ij-nav__toggle {
		background: transparent;
	}

	.ij-nav__sub,
	.ij-nav__sub--cols {
		position: static;
		display: none;
		flex-basis: 100%;
		min-width: 0;
		margin: 0 0 .75rem;
		padding: .25rem;
		border: 0;
		border-radius: var(--ij-radius-sm);
		background: var(--ij-primary-tint);
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.ij-nav__item.is-open > .ij-nav__sub {
		display: block;
	}

	/* No hover/focus dropdowns inside the drawer */
	.ij-nav__item:hover > .ij-nav__sub,
	.ij-nav__item:focus-within > .ij-nav__sub {
		transform: none;
	}

	.ij-nav__item:not(.is-open):hover > .ij-nav__sub,
	.ij-nav__item:not(.is-open):focus-within > .ij-nav__sub {
		display: none;
	}

	.ij-nav__drawer-user {
		display: block;
	}

	.ij-nav__list--user > .ij-nav__item:first-child {
		border-top: 1px solid var(--ij-line);
	}

	.ij-theme .ij-nav__list--user > .ij-nav__item > .ij-nav__link {
		min-height: 44px;
		font-size: .92rem;
		color: var(--ij-muted);
	}

	.ij-nav__list--user .task_count {
		margin-left: .4rem;
		padding: 0 6px;
		border-radius: 9px;
		background: var(--ij-accent);
		color: var(--ij-on-accent);
		font-size: .7rem;
	}

	.ij-theme .ij-nav__cta {
		margin-left: 0;
		width: 100%;
		min-height: 46px;
	}

	.ij-hero__inner {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
		padding-top: 2.5rem;
		padding-bottom: 2.5rem;
	}

	.ij-hero__issue {
		max-width: 520px;
	}

	.ij-layout,
	.ij-layout--sidebar {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 1.75rem;
	}

	.ij-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ij-footer__about {
		grid-column: 1 / -1;
	}

	.ij-theme .obj_article_details .row {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (min-width: 992px) {
	.ij-nav-backdrop {
		display: none;
	}

	.ij-theme .obj_article_details .row {
		grid-template-columns: minmax(0, 1fr) 280px;
	}

	.ij-theme .obj_article_details .entry_details {
		border-top: 0;
		border-left: 1px solid var(--ij-line);
	}

	/* Keep the last dropdowns inside the viewport */
	.ij-nav__list > .ij-nav__item:nth-last-child(-n+2) > .ij-nav__sub {
		left: auto;
		right: 0;
	}
}

@media (max-width: 991px) and (min-width: 600px) {
	.ij-sidebar {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 1.5rem;
		align-items: start;
	}
}

@media (max-width: 639px) {
	:root {
		--ij-gutter: 16px;
	}

	.ij-infobar__notices li:not(:first-child) {
		display: none;
	}

	.ij-monogram {
		min-width: 48px;
		height: 48px;
		font-size: .9rem;
	}

	.ij-brand__logo {
		max-height: 64px;
	}

	.ij-menu-toggle__label {
		display: none;
	}

	.ij-menu-toggle {
		padding: .7rem;
	}

	.ij-hero__issue {
		flex-direction: column;
	}

	.ij-hero__cover {
		flex-basis: auto;
		width: 130px;
	}

	.ij-stat {
		flex: 1 1 45%;
		padding: .9rem .25rem .9rem 0;
		border-left: 0;
		border-top: 1px solid var(--ij-line);
	}

	.ij-stat:nth-child(-n+2) {
		border-top: 0;
	}

	.ij-theme .ij-main > .page,
	.ij-theme .ij-main > .page_index_journal:not(.ij-home) {
		padding: 1.25rem 1.1rem 1.5rem;
	}

	.ij-explore,
	.ij-cfp,
	.ij-searchpanel {
		padding: 1.25rem;
	}

	.ij-cfp {
		padding-left: 1.5rem;
	}

	.ij-js .ij-tabs {
		display: flex;
		width: 100%;
		border-radius: var(--ij-radius-sm);
	}

	.ij-theme .ij-tab {
		flex: 1 1 auto;
		border-radius: 6px;
	}

	.ij-facts__row {
		grid-template-columns: minmax(0, 1fr);
		gap: .1rem;
	}

	.ij-footer__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 2rem;
	}

	.ij-theme .obj_article_summary .cover {
		width: 72px;
	}

	.ij-theme .ij-article {
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: .85rem;
	}

	.ij-theme .ij-article::before {
		font-size: 1.75rem;
		background-size: 22px 2px;
	}

	.ij-theme .ij-article > .ij-article__body > .title {
		font-size: 1.1rem;
	}

	.ij-article__meta {
		flex-direction: column;
	}

	.ij-article__side {
		align-items: flex-start;
	}

	.ij-step::after {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ij-theme *,
	.ij-theme *::before,
	.ij-theme *::after {
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.ij-infobar,
	.ij-nav,
	.ij-brand__meta,
	.ij-menu-toggle,
	.ij-sidebar,
	.ij-footer,
	.ij-totop,
	.ij-hero__actions {
		display: none !important;
	}

	.ij-hero {
		background: none;
		color: #000;
	}
}
