:root {
	--alm-red: #E31E24;
	--alm-red-dark: #B4151A;
	--alm-black: #101012;
	--alm-white: #ffffff;
}

.alm-wrap {
	font-family: 'Nunito', -apple-system, BlinkMacSystemFont, sans-serif;
	width: 100%;
}

.alm-map {
	width: 100%;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 20px 45px -18px rgba(16,16,18,0.35);
	border: 1px solid #26262a;
	background: var(--alm-black);
}

/* Standard OpenStreetMap tiles (no API key needed) recolored to a dark,
   branded look. Applied only to the tile layer, so pins/popups keep their
   normal red/black/white colors. */
.alm-map .leaflet-tile-pane {
	filter: invert(1) hue-rotate(180deg) brightness(0.95) contrast(0.88) saturate(0.6);
}

/* Custom pin marker with the Alpha Security logo */
.alm-logo-pin {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 40px;
}
.alm-logo-badge {
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--alm-white);
	border: 2px solid var(--alm-red);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 8px 16px -4px rgba(0,0,0,0.5);
	transition: transform .15s ease, border-color .15s ease;
}
.alm-logo-badge svg {
	width: 22px;
	height: 22px;
	display: block;
}
.alm-logo-pointer {
	width: 0;
	height: 0;
	margin-top: -2px;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 10px solid var(--alm-red);
	filter: drop-shadow(0 3px 3px rgba(0,0,0,0.35));
}
.alm-logo-pin:hover .alm-logo-badge {
	transform: scale(1.08);
	border-color: var(--alm-red-dark);
}

/* Popup styling */
.leaflet-popup-content-wrapper {
	background: var(--alm-black) !important;
	color: var(--alm-white) !important;
	border-radius: 10px !important;
	border-top: 3px solid var(--alm-red);
}
.leaflet-popup-tip {
	background: var(--alm-black) !important;
}
.alm-popup-title {
	font-family: 'Nunito', sans-serif;
	font-weight: 800;
	font-size: 14px;
	color: var(--alm-white);
	margin: 2px 4px;
}
.leaflet-popup-close-button {
	color: #ccc !important;
}
.leaflet-popup-close-button:hover {
	color: var(--alm-red) !important;
}

/* Zoom controls */
.leaflet-control-zoom a {
	background: var(--alm-black) !important;
	color: var(--alm-white) !important;
	border: 1px solid #2a2a2e !important;
}
.leaflet-control-zoom a:hover {
	background: var(--alm-red) !important;
	color: var(--alm-white) !important;
}
.leaflet-control-zoom {
	border: none !important;
	box-shadow: 0 6px 16px rgba(0,0,0,0.35) !important;
}

.leaflet-control-attribution {
	background: rgba(16,16,18,0.75) !important;
	color: #aaa !important;
	font-size: 10px !important;
}
.leaflet-control-attribution a {
	color: #ddd !important;
}

@media (max-width: 600px) {
	.alm-map { border-radius: 14px; }
}
