/* =============================================================================
   BlickSpektrum – Archive: Kategorie, Autor, Suche
   ========================================================================== */

.archive-header {
	padding-block: var(--space-lg) var(--space-md);
	border-bottom: var(--border-width) solid var(--color-border);
	margin-bottom: var(--space-lg);
}

.archive-header__eyebrow {
	font-size: var(--text-sm);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-accent);
}

.archive-header__title {
	font-size: var(--text-3xl);
	margin-block: var(--space-2xs) var(--space-xs);
}

.archive-header__intro {
	max-width: var(--container-reading);
	color: var(--color-text-secondary);
	font-size: var(--text-md);
	font-family: var(--font-editorial);
}

/* Leitartikel-Komposition am Kopf einer Kategorie-Archivseite (nur Seite 1):
   groß links, 1–2 Nebengeschichten rechts. Bewusst derselbe Grundgedanke wie
   die Startseiten-Leitsektion, aber ein eigenständiger Klassenname, damit
   homepage.css unangetastet bleibt und diese Regeln unabhängig von der
   Startseite geändert werden können. */
.archive-lead {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr);
	gap: var(--space-xl);
	align-items: start;
	margin-bottom: var(--space-xl);
}

.archive-lead__secondary {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

/* Nur ein einziger Artikel in der Rubrik: kein leeres zweites Grid-Feld,
   stattdessen der Leitartikel bewusst als alleinstehende, moderat
   begrenzte Komposition – siehe Abschnitt „Low Content States“. */
.archive-lead--solo {
	display: block;
	max-width: var(--container-reading);
	margin-inline: auto;
}

.archive-grid {
	margin-bottom: var(--space-xl);
}

/* Zweiter redaktioneller Layoutstil für den Rest der aktuellen Seite:
   kompakte horizontale Zeilen statt eines fortlaufend gleichen Rasters. */
.archive-list {
	max-width: var(--container-narrow);
	margin-bottom: var(--space-xl);
}

/* Bei wenig Content (z. B. nur 1–3 Beiträge in der Rubrik) ist die
   Leitkomposition oft die letzte bzw. einzige Zone der Seite – Rasterzone
   und Liste bleiben dann unsichtbar (kein leerer Wrapper, siehe
   category.php). Ohne diese Regel addiert sich das eigene margin-bottom
   der jeweils letzten Zone zum padding-bottom von .page-content-end und
   erzeugt eine unnötig große, leere Fläche vor dem Footer. Der reguläre
   .page-content-end-Puffer bleibt als einzige, bewusste Restspanne. */
.archive-lead:last-child,
.archive-grid:last-child,
.archive-list:last-child {
	margin-bottom: 0;
}

@media (max-width: 1024px) {
	.archive-lead {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-lg);
	}
}

/* Autoren-Header (E-E-A-T-Profil) */
.author-header {
	display: flex;
	gap: var(--space-lg);
	align-items: flex-start;
	padding-block: var(--space-xl);
	border-bottom: 2px solid var(--color-border-strong);
	margin-bottom: var(--space-xl);
}

.author-header__avatar {
	border-radius: 50%;
	width: 96px;
	height: 96px;
	flex-shrink: 0;
}

.author-header__body {
	flex: 1;
	min-width: 0;
}

.author-header__name {
	font-size: var(--text-2xl);
	margin-bottom: 0.3em;
}

.author-header__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5em;
	margin-bottom: var(--space-sm);
	font-size: var(--text-sm);
}

.author-header__role {
	color: var(--color-accent);
	font-weight: 600;
}

.author-header__meta-separator {
	color: var(--color-border-strong);
}

.author-header__count {
	color: var(--color-muted);
}

.author-header__bio {
	max-width: 65ch;
	color: var(--color-text-secondary);
	font-family: var(--font-editorial);
	font-size: var(--text-md);
}

/* Themenschwerpunkte bewusst von der Bio abgesetzt (eigener Absatz, kleines
   Label statt Fließtext-Verschmelzung) – dieselbe Behandlung wie in der
   Autorenbox am Artikelende, für ein konsistentes Muster sitenweit. */
.author-header__expertise {
	margin-top: var(--space-sm);
	font-size: var(--text-sm);
	color: var(--color-text-secondary);
	max-width: 65ch;
}

.author-header__expertise strong {
	display: block;
	color: var(--color-text);
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--text-xs);
	letter-spacing: 0.04em;
	margin-bottom: 0.3em;
}

.author-header__links {
	margin-top: var(--space-xs);
	display: flex;
	gap: var(--space-sm);
	font-size: var(--text-sm);
	font-weight: 600;
}

.author-header__links a {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	text-decoration: none;
}

.author-header__links .icon {
	width: 18px;
	height: 18px;
}

/* Such-Header */
.search-header {
	padding-block: var(--space-lg) var(--space-md);
	border-bottom: var(--border-width) solid var(--color-border);
	margin-bottom: var(--space-lg);
}

.search-header__title {
	font-size: var(--text-2xl);
	margin-bottom: var(--space-sm);
}

.search-header form {
	max-width: 520px;
	padding-block: 0;
}

/* Autoren-Artikelraster: fest 3 Spalten Desktop / 2 Tablet / 1 Mobil, aber
   mit auto-fit statt eines starren repeat(3, …) – so bleibt die letzte,
   eventuell unvollständige Zeile (z. B. 10 Artikel auf einer Seite) frei
   von leeren Zellen, während bei ausreichend Artikeln zuverlässig genau
   drei gleich breite Spalten entstehen (bei ~1360px bzw. ~1200px
   Containerbreite passen mit 380px Mindestbreite immer exakt drei). */
.author-articles-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
	gap: var(--space-md);
}

@media (min-width: 641px) {
	.author-header__avatar {
		width: 112px;
		height: 112px;
	}
}

@media (max-width: 1024px) {
	.author-articles-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.author-header {
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.author-header__meta,
	.author-header__links {
		justify-content: center;
	}

	.author-header__bio,
	.author-header__expertise {
		max-width: none;
	}

	.author-articles-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}
