/* Shared map canvas (Leaflet / OpenStreetMap) */

.geocity-map__canvas {
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.geocity-map__canvas--error {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--geocity-color-surface-alt, #e8e8e8);
}

.geocity-map__canvas--error::after {
	content: 'Map could not be loaded.';
	color: var(--geocity-color-text-muted, #6b6b6b);
	font-size: 0.9rem;
}

.geocity-map__canvas .leaflet-container {
	width: 100%;
	height: 100%;
	font-family: inherit;
}

.geocity-district-map--hero .geocity-map__canvas {
	z-index: 0;
}

.geocity-district-map--hero .leaflet-interactive {
	cursor: default;
}

.geocity-map-district-boundary {
	stroke-linecap: round;
	stroke-linejoin: round;
}

.geocity-map-popup {
	font-size: 0.875rem;
	line-height: 1.45;
}

.geocity-map-popup strong {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.95rem;
}

.geocity-map-popup__description {
	margin: 0 0 0.5rem;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--geocity-color-text-muted, #555);
}

.geocity-map-popup__address {
	display: block;
	font-size: 0.8125rem;
	line-height: 1.45;
	color: var(--geocity-color-text-muted, #555);
}

.geocity-map-popup__link {
	margin: 0.5rem 0 0;
	font-size: 0.8125rem;
}

.geocity-map-popup a {
	color: var(--geocity-color-accent, #e30613);
	word-break: break-word;
}
