/*
 * Seitenspezifische Ergänzungen für die Kartenübersicht aller Waldflächen
 * (/unsere-waelder/, template-unsere-waelder.php, siehe CLAUDE.md
 * Abschnitt 6/13). Wiederverwendete Komponenten (Hero, Panel-Head, Info-Row,
 * Button, Newsletter-Banner) bleiben unverändert aus components/ - hier nur
 * Layout/Ergänzungen, die sich nicht sinnvoll als eigene Komponente fassen
 * lassen (siehe Abschnitt 12).
 */

/* ---------- Hero-Kennzahlen-Karte (oben rechts im Hero-Foto) ---------- */
.hero-stats {
	position: absolute;
	top: 28px;
	right: max(28px, calc((100% - 1180px) / 2 + 28px));
	z-index: 2;
	display: flex;
	gap: 20px;
	background: rgba(251, 250, 245, .96);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-md);
	padding: 18px 24px;
}

.hero-stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	min-width: 72px;
}

.hero-stat .ico {
	width: 26px;
	height: 26px;
	color: var(--green-dark);
}

.hero-stat .ico svg {
	width: 100%;
	height: 100%;
}

.hero-stat strong {
	font-family: var(--font-serif);
	font-size: 22px;
	color: var(--ink);
	line-height: 1;
}

.hero-stat span {
	font-size: 11px;
	color: var(--muted);
	text-align: center;
}

@media (max-width: 900px) {
	.hero-stats {
		position: static;
		margin-top: 20px;
		display: inline-flex;
	}
}

/* ---------- Werkzeugleiste: Ansicht-Umschalter + Filtern ---------- */
.waelder-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 20px;
}

.view-toggle {
	display: inline-flex;
	gap: 8px;
}

/* Die Ansicht-Buttons sind reguläre .cta-Buttons (siehe buttons.css) -
   is-active/inactive schaltet lediglich zwischen den bestehenden primary/
   soft-Varianten um (view-toggle.js), keine neue Button-Optik nötig. */
.waelder-map-section {
	margin-bottom: 40px;
}

/* "Kartenansicht" zeigt Karte+Liste zusammen (Default, siehe Screenshot-
   Vorlage), "Listenansicht" blendet nur den Kartenblock aus - es gibt
   bewusst keinen reinen "nur Karte, Liste weg"-Zustand (unsere-waelder.js). */
.is-list-only .waelder-map-section {
	display: none;
}

/* ---------- Flächen-Liste ---------- */
.waelder-list-section {
	margin-bottom: 44px;
}

.waelder-group + .waelder-group {
	margin-top: 32px;
}

.waelder-group .panel-head {
	margin-bottom: 16px;
}

.waelder-group-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 14px;
	font-size: 13px;
	font-weight: 700;
	color: var(--green);
	text-decoration: none;
}

.waelder-group-more:hover {
	color: var(--green-dark);
}

/* Zusätzliche Info-Row-Bausteine nur für diese Seite: Kennzahl-Block
   ("Bäume gepflanzt") + Pfeil, ergänzend zu den bestehenden
   .info-row-thumb/.info-row-body/.info-row-tag (siehe components/info-row.css,
   CLAUDE.md Abschnitt 11.4 "kein Wildwuchs" - hier bewusst als Erweiterung
   der bestehenden Komponente statt einer neuen). Die Baumarten stehen
   ausgeschrieben als zweite Zeile in .info-row-body (siehe
   template-unsere-waelder.php) - nutzen die dortige, bereits vorhandene
   .info-row-body span-Optik, brauchen daher keine eigene Regel hier. */
.flaeche-row {
	align-items: center;
}

.flaeche-row-stat {
	flex-shrink: 0;
	text-align: center;
	min-width: 90px;
}

.flaeche-row-stat strong {
	display: block;
	font-size: 18px;
	color: var(--ink);
}

.flaeche-row-stat span {
	display: block;
	font-size: 11px;
	color: var(--muted);
	margin-top: 2px;
}

.flaeche-row-arrow {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	color: var(--muted);
}

/* Unter 900px auf Grid statt Flex umgestellt: mit flex-wrap allein wich
   .info-row-body (flex:1, min-width:0) dem Flächentyp-Badge und der
   Baumzahl einfach durch Zusammenschrumpfen aus, statt in eine neue Zeile
   umzubrechen - der Flächenname wurde dadurch auf sehr schmalen Screens
   unlesbar schmal gequetscht. Grid erzwingt stattdessen zuverlässig eigene
   Zeilen für Badge und Baumzahl, unabhängig vom Platzbedarf des Namens. */
@media (max-width: 900px) {
	.flaeche-row {
		display: grid;
		grid-template-columns: 48px 1fr;
		column-gap: 18px;
		row-gap: 8px;
		align-items: start;
	}

	.flaeche-row .info-row-thumb {
		grid-column: 1;
		grid-row: 1;
	}

	.flaeche-row .info-row-body {
		grid-column: 2;
		grid-row: 1;
	}

	.flaeche-row .info-row-tag {
		grid-column: 1 / -1;
		justify-self: start;
		margin-left: 0;
	}

	.flaeche-row-stat {
		grid-column: 1 / -1;
		display: flex;
		align-items: baseline;
		gap: 6px;
		min-width: 0;
		text-align: left;
	}

	.flaeche-row-stat strong,
	.flaeche-row-stat span {
		margin-top: 0;
	}

	.flaeche-row-arrow {
		display: none;
	}
}

@media (max-width: 600px) {
	.hero-stats {
		flex-direction: column;
		gap: 12px;
		padding: 14px 18px;
	}
}
