/**
 * Interaktive Karte (MapLibre GL JS + OpenFreeMap, siehe CLAUDE.md
 * Abschnitt 13) hinter einem Datenschutz-Consent-Gate. Löst schrittweise
 * die rein dekorativen .map/.pin-Platzhalter (siehe cards.css) ab - dort,
 * wo tatsächlich echte Geodaten vorliegen.
 *
 * @package Herzenswald
 */

.herzenswald-map {
	position: relative;
	height: 420px;
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--cream);
}

.herzenswald-map-canvas {
	position: absolute;
	inset: 0;
}

/* Erst nach erteiltem Consent aktiv (siehe interactive-map.js) - vorher
   bleibt die Karten-Bibliothek ungeladen, siehe CLAUDE.md Abschnitt 13. */
.herzenswald-map:not(.is-active) .herzenswald-map-canvas {
	visibility: hidden;
}

/* Consent-Platzhalter: derselbe Farbverlauf-Look wie das dekorative .map
   (cards.css), damit der Übergang zur echten Karte optisch nahtlos wirkt. */
.herzenswald-map-consent {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 10px;
	padding: 28px;
	background:
		radial-gradient(circle at 30% 28%, rgba(63, 122, 49, .22) 0 12%, transparent 13%),
		radial-gradient(circle at 65% 62%, rgba(39, 93, 31, .18) 0 10%, transparent 11%),
		linear-gradient(135deg, #e9ecd9, #dce5cf 45%, #edf0de);
}

.herzenswald-map.is-active .herzenswald-map-consent {
	display: none;
}

.herzenswald-map-consent-icon {
	width: 42px;
	height: 42px;
	color: var(--green-dark);
}

.herzenswald-map-consent-icon svg {
	width: 100%;
	height: 100%;
}

.herzenswald-map-consent h3 {
	margin: 0;
	font-family: Georgia, serif;
	font-size: 19px;
	color: var(--ink);
}

.herzenswald-map-consent p {
	margin: 0;
	max-width: 360px;
	font-size: 13px;
	line-height: 1.5;
	color: var(--muted);
}

.herzenswald-map-consent .cta {
	margin-top: 4px;
}

/* MapLibre-Standardsteuerung dezent ans Design-System angleichen, statt der
   Library-Default-Optik (eckig, ohne Schatten). */
.herzenswald-map .maplibregl-ctrl-group {
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	overflow: hidden;
}

.herzenswald-map .maplibregl-ctrl-group button {
	width: 32px;
	height: 32px;
}

.herzenswald-map .maplibregl-popup-content {
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-md);
	font-family: Inter, Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ink);
	padding: 10px 14px 12px;
}

.herzenswald-map .maplibregl-popup-content strong {
	font-family: Georgia, serif;
	font-size: 14px;
}

.herzenswald-map .maplibregl-popup-tip {
	border-top-color: #fff;
}

/* Klickbare Navigations-Pins (z. B. eine Fläche je Pin auf der
   Kartenübersicht, siehe template-unsere-waelder.php und
   interactive-map.js#addNavigationMarkers) - farblich nach Kategorie
   unterschieden, analog zur bisherigen dekorativen .pin-Komponente
   (cards.css), aber als eigene Klasse, da hier per JS statt PHP erzeugt. */
.herzenswald-map-marker {
	width: 34px;
	height: 34px;
	border-radius: 50% 50% 50% 0;
	transform: rotate(-45deg);
	background: var(--green-dark);
	color: #fff;
	display: grid;
	place-items: center;
	border: 3px solid #fff;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .25);
	cursor: pointer;
}

/* Bewusst --brown statt einem weiteren Grünton (vorher --green) - zwei
   ähnliche Grüntöne waren auf der Karte kaum unterscheidbar. Zusammen mit
   dem unterschiedlichen Icon (siehe interactive-map.js) jetzt klar
   unterscheidbar. */
.herzenswald-map-marker.is-other {
	background: var(--brown);
}

.herzenswald-map-marker svg {
	width: 16px;
	height: 16px;
	transform: rotate(45deg);
}

.herzenswald-map-marker:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/* Legende unten links (siehe 'legend'-Argument von
   template-parts/interactive-map.php) - gleiche Optik wie die bisherige
   .map-legend-Komponente (cards.css), hier als eigene Klasse, da an
   anderer Position (unten statt oben rechts) und ohne deren
   Positionierungs-Kontext (dekorative Karte ohne echtes Kartenframework). */
.herzenswald-map-legend {
	position: absolute;
	left: 14px;
	bottom: 14px;
	z-index: 2;
	background: rgba(255, 255, 255, .95);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	padding: 10px 14px;
	font-size: 12px;
}

.herzenswald-map-legend-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.herzenswald-map-legend-row + .herzenswald-map-legend-row {
	margin-top: 6px;
}

.herzenswald-map-legend-row .dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	flex-shrink: 0;
}

.herzenswald-map-legend-row .dot.herzenswald { background: var(--green-dark); }
.herzenswald-map-legend-row .dot.other { background: var(--brown); }
