.mcr-map-shell {
	padding: 16px;
	border: 1px solid rgba(255,255,255,.14);
	background: linear-gradient(145deg, rgba(22,23,27,.96), rgba(6,7,9,.98));
	box-shadow: 0 24px 70px rgba(0,0,0,.42);
}
.mcr-map-toolbar {
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 14px;
}
.mcr-map-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.mcr-map-filter {
	min-height: 38px;
	padding: 8px 14px;
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 0;
	background: #0b0c0e;
	color: #fff;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}
.mcr-map-filter:hover,
.mcr-map-filter:focus-visible,
.mcr-map-filter.is-active { border-color: #d61f2c; background: #d61f2c; }
.mcr-map-search {
	display: flex;
	width: min(340px, 100%);
	min-height: 42px;
	align-items: center;
	gap: 10px;
	padding: 0 13px;
	border: 1px solid rgba(255,255,255,.22);
	background: #07080a;
	color: #d61f2c;
}
.mcr-map-search input {
	width: 100%;
	min-width: 0;
	border: 0;
	outline: 0;
	background: transparent;
	color: #fff;
}
.mcr-map-search input::placeholder { color: #96928b; }
.mcr-map-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	padding: 0 0 14px;
	color: #c9c5bd;
	font-size: .82rem;
}
.mcr-map-legend span { display: inline-flex; align-items: center; gap: 7px; }
.mcr-map-legend i { width: 10px; height: 10px; border-radius: 50%; background: #8c8f96; }
.mcr-map-legend i.is-upcoming { background: #f5c84c; }
.mcr-map-legend i.is-current { background: #d61f2c; }
.mcr-map-legend b { width: 23px; height: 4px; background: #d61f2c; }
.mcr-map { width: 100%; min-height: 620px; background: #141518; }
.mcr-map-count { margin: 12px 0 0; color: #aaa69f; font-size: .83rem; text-align: right; }
.mcr-map-marker span {
	display: block;
	width: 24px;
	height: 24px;
	border: 4px solid #fff;
	border-radius: 50% 50% 50% 0;
	background: var(--marker, #d61f2c);
	box-shadow: 0 4px 12px rgba(0,0,0,.45);
	transform: rotate(-45deg);
}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip { background: #111216; color: #fff; }
.leaflet-popup-content-wrapper { border: 1px solid rgba(255,255,255,.16); border-radius: 2px; box-shadow: 0 18px 45px rgba(0,0,0,.52); }
.leaflet-popup-close-button { color: #fff !important; }
.mcr-map-popup { min-width: 220px; max-width: 290px; font-family: sans-serif; }
.mcr-map-popup img { width: 100%; max-height: 145px; object-fit: cover; margin-bottom: 9px; }
.mcr-map-popup small { color: #f5c84c; font-weight: 700; text-transform: uppercase; }
.mcr-map-popup h3 { margin: 7px 0; color: #fff; font-size: 1.25rem; line-height: 1; text-transform: uppercase; }
.mcr-map-popup p { margin: 8px 0; color: #ccc; }
.mcr-map-popup a { color: #fff; font-weight: 800; text-underline-offset: 4px; }
@media (max-width: 700px) {
	.mcr-map-shell { padding: 10px; }
	.mcr-map-toolbar { align-items: stretch; flex-direction: column; }
	.mcr-map-search { width: 100%; }
	.mcr-map { min-height: 68vh; }
}
