/**
 * KCB Community Map front-end styles.
 * Kept minimal on purpose: the map inherits the theme's typography, and the few
 * rules here are layout plus AA-contrast text. No decorative chrome.
 */

.kcbmap-canvas {
	width: 100%;
	background: #e8e8e8;
}

/* Error / empty state shown inside the canvas as plain text. */
.kcbmap-canvas.kcbmap-error {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1d2327; /* dark gray on light gray: AA contrast */
	padding: 1em;
	text-align: center;
}

.kcbmap-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em 1.5em;
	margin: 0.75em 0;
}

.kcbmap-legend-item {
	display: inline-flex;
	align-items: center;
	gap: 0.4em;
	cursor: pointer;
}

.kcbmap-legend-item img {
	display: inline-block;
}

/* Keyboard focus stays visible on the legend checkboxes (WCAG 2.4.7). */
.kcbmap-legend-item input:focus-visible {
	outline: 2px solid #1d2327;
	outline-offset: 2px;
}

.kcbmap-list {
	margin-top: 0.5em;
}

.kcbmap-list summary {
	cursor: pointer;
}

.kcbmap-popup {
	font-size: 14px;
	line-height: 1.5;
	max-width: 240px;
}
