/* Sandbaai Park Interactive Map */

.spm-wrap {
	position: relative;
	max-width: 1400px;
	margin: 0 auto;
	font-family: inherit;
}

.spm-svg-holder {
	position: relative;
	width: 100%;
	line-height: 0;
}

.spm-svg-holder svg {
	display: block;
	width: 100%;
	height: auto;
}

.spm-loading {
	padding: 3em 1em;
	text-align: center;
	color: #666;
	font-style: italic;
}

/* Static, non-interactive layers: never intercept the pointer */
.spm-svg-holder svg #Proposed_Site_Area,
.spm-svg-holder svg #Satellite_Image,
.spm-svg-holder svg #Map,
.spm-svg-holder svg #Proposed_Site_Border,
.spm-svg-holder svg #Legend {
	pointer-events: none;
}

/* Interactive zones */
.spm-svg-holder svg #Overlay > g {
	cursor: pointer;
	pointer-events: visiblePainted;
}

.spm-svg-holder svg #Overlay > g:focus-visible {
	outline: none;
}

/* Tooltip */
.spm-tooltip {
	position: fixed;
	z-index: 10000;
	max-width: 320px;
	background: #ffffff;
	border-radius: 8px;
	box-shadow: 0 6px 24px rgba(0, 0, 0, 0.25);
	padding: 0.9em 1.1em;
	pointer-events: none;
	opacity: 0;
	transform: translateY(4px);
	transition: opacity 0.12s ease-out, transform 0.12s ease-out;
	font-size: 0.95rem;
	line-height: 1.4;
}

.spm-tooltip.spm-visible {
	opacity: 1;
	transform: translateY(0);
}

.spm-tooltip.spm-pinned {
	pointer-events: auto;
}

.spm-tooltip h4 {
	margin: 0 0 0.35em;
	font-size: 1.05em;
	font-weight: 700;
	color: #1a1a1a;
	padding-right: 1.4em;
}

.spm-tooltip p {
	margin: 0;
	color: #333;
}

.spm-tooltip-close {
	display: none;
	position: absolute;
	top: 0.35em;
	right: 0.5em;
	width: 1.6em;
	height: 1.6em;
	border: none;
	background: none;
	font-size: 1.1em;
	line-height: 1;
	cursor: pointer;
	color: #888;
}

.spm-tooltip.spm-pinned .spm-tooltip-close {
	display: block;
}

.spm-tooltip-close:hover {
	color: #111;
}

/* On touch devices, make the pinned tooltip a bit roomier */
@media (hover: none) {
	.spm-tooltip {
		max-width: 80vw;
	}
}
