/*
 * Anpassen pro Website: im (Child-)Theme die Variablen --pba-* setzen, z. B.
 *   :root { --pba-font-heading: "Meine Schrift", sans-serif; --pba-accent: #b00020; }
 * Das Plugin deklariert sie selbst nicht, damit die Angabe des Themes unabhängig
 * von der Ladereihenfolge gilt. Ohne Angabe greifen die globalen Schriften und
 * Farben von Elementor, sonst neutrale Werte.
 */
.pba-archive {
	--_accent: var(--pba-accent, var(--e-global-color-accent, #1a1a1a));
	--_accent-text: var(--pba-accent-text, #fff);
	--_gap: var(--pba-gap, 2rem);
	--_cover-width: var(--pba-cover-width, 280px);
	--_pdf-icon: var(--pba-pdf-icon, #e2231a);
	--_font: var(--pba-font, var(--e-global-typography-text-font-family, sans-serif));
	--_font-heading: var(--pba-font-heading, var(--e-global-typography-primary-font-family, sans-serif));
	--_text: var(--pba-text, var(--e-global-color-primary, #2e2e2e));
	--_link: var(--pba-link, var(--_text));
	--_title-size: var(--pba-title-size, 30px);
	--_article-size: var(--pba-article-size, 18px);

	font-family: var(--_font), sans-serif;
	color: var(--_text);
}

.pba-issue {
	margin: 0 0 calc(var(--_gap) * 2);
	padding: 0 0 calc(var(--_gap) * 2);
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.pba-issue:last-of-type {
	border-bottom: 0;
}

.pba-archive .pba-issue__title {
	margin: 0 0 20px;
	font-family: var(--_font-heading), sans-serif;
	font-size: var(--_title-size);
	font-weight: 400;
	line-height: 1;
	color: var(--_text);
}

.pba-issue__title a {
	color: inherit;
	text-decoration: none;
}

.pba-issue__title a:hover,
.pba-issue__title a:focus {
	text-decoration: underline;
}

.pba-issue__body {
	display: grid;
	grid-template-columns: var(--_cover-width) minmax(0, 1fr);
	gap: var(--_gap);
	align-items: start;
}

/* Ohne Titelbild nutzt der Inhalt die ganze Breite. */
.pba-issue__body > .pba-issue__content:only-child {
	grid-column: 1 / -1;
}

.pba-issue__cover img {
	display: block;
	width: 100%;
	height: auto;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

.pba-issue__articles {
	margin: 0 0 var(--_gap);
	padding: 0;
	list-style: none;
}

.pba-issue__articles li {
	margin: 0 0 10px;
	padding: 0;
	font-size: var(--_article-size);
	line-height: 1.25;
}

/* Von Hand erfasster Inhalt älterer Ausgaben: gleiche Anmutung wie die Artikelliste. */
.pba-issue__text {
	margin: 0 0 var(--_gap);
	font-size: var(--_article-size);
	line-height: 1.25;
}

.pba-issue__text ul,
.pba-issue__text ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pba-issue__text li,
.pba-issue__text p {
	margin: 0 0 10px;
}

.pba-archive .pba-issue__articles a {
	color: var(--_link);
	text-decoration: underline;
}

.pba-archive .pba-issue__articles a:hover,
.pba-archive .pba-issue__articles a:focus {
	color: var(--_accent);
}

.pba-archive .pba-issue__download {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.55em 1.2em 0.55em 0.9em;
	background: var(--_accent);
	color: var(--_accent-text);
	font-family: var(--_font), sans-serif;
	text-decoration: none;
	border-radius: 3px;
}

/*
 * Seitenbaukästen färben Links ihrer Spalte beim Überfahren mit hoher Spezifität
 * um (bei Elementor in der Akzentfarbe, also Grün auf Grün). Die Textfarbe des
 * Buttons wird deshalb in allen Zuständen erzwungen.
 */
.pba-archive a.pba-issue__download,
.pba-archive a.pba-issue__download:visited,
.pba-archive a.pba-issue__download:hover,
.pba-archive a.pba-issue__download:focus,
.pba-archive a.pba-issue__download:active {
	color: var(--_accent-text) !important;
	text-decoration: none;
}

.pba-archive a.pba-issue__download {
	transition: filter 0.15s ease, box-shadow 0.15s ease;
}

.pba-archive a.pba-issue__download:hover,
.pba-archive a.pba-issue__download:focus {
	filter: brightness(0.85);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.pba-archive a.pba-issue__download:focus-visible {
	outline: 2px solid var(--_text);
	outline-offset: 2px;
}

.pba-issue__download-icon {
	flex: none;
	width: auto;
	height: 1.9em;
}

.pba-issue__download-icon-page {
	fill: var(--_pdf-icon);
	stroke: #fff;
	stroke-width: 1.5;
	stroke-linejoin: round;
}

.pba-issue__download-icon-fold {
	fill: none;
	stroke: #fff;
	stroke-width: 1.5;
	stroke-linejoin: round;
}

.pba-issue__download-icon text {
	fill: #fff;
	font: 700 7.5px/1 Arial, Helvetica, sans-serif;
}

.pba-issue__download-size {
	font-size: 0.85em;
	opacity: 0.85;
	white-space: nowrap;
}

.pba-pagination ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pba-pagination .page-numbers:not(ul) {
	display: block;
	min-width: 2.5em;
	padding: 0.5em 0.8em;
	border: 1px solid rgba(0, 0, 0, 0.2);
	text-align: center;
	text-decoration: none;
	color: inherit;
}

.pba-pagination .page-numbers.current {
	background: var(--_accent);
	border-color: var(--_accent);
	color: var(--_accent-text);
}

.pba-pagination .page-numbers.dots {
	border-color: transparent;
}

@media (max-width: 767px) {
	.pba-issue__body {
		grid-template-columns: minmax(0, 1fr);
	}

	.pba-issue__cover {
		max-width: var(--_cover-width);
	}
}
