/* Hide Google Maps branding links */
a[href^="http://maps.google.com/maps"]  { display: none !important; }
a[href^="https://maps.google.com/maps"] { display: none !important; }

.gmnoprint a,
.gmnoprint span,
.gm-style-cc { display: none; }

.gmnoprint div { background: none !important; }

/* ============================================================
   Neighborhood Map — BEM component
   ============================================================ */

.neighborhood-map {
	position: relative;
}

/* Map canvas */
.neighborhood-map #map {
	height: 82rem;
	border-radius: 2.4rem;
}

/* "Alle anzeigen" button */
.neighborhood-map__show-all {
	display: inline-block;
	position: absolute;
	left: calc(2.4rem + 2.4rem);
	top: calc(82rem - 2.4rem);
	transform: translateY(-100%);
	z-index: 9;
	width: auto;
	border-radius: 2rem;
	color: #fff;
	background: var(--nm-accent, #83A28F);
	font-family: inherit;
	font-weight: 500;
	font-size: 1.5rem;
	height: 4rem;
	line-height: 4rem;
	padding: 0 3rem;
	text-align: center;
	cursor: pointer;
	border: none;
	outline: none;
	transition: all 0.2s ease-in;
}

/* Filter list */
.neighborhood-map__filter {
	display: flex;
	justify-content: space-between;
	margin-top: 5rem;
}

.neighborhood-map__filter-item {
	width: 20%;
	position: relative;
}

.neighborhood-map__filter-item.active .neighborhood-map__location-item,
.neighborhood-map__filter-item.active .neighborhood-map__filter-title {
	font-weight: 800;
}

/* Filter header (radio + label) */
.neighborhood-map__filter-header {
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	cursor: pointer;
}

.neighborhood-map__filter-header .neighborhood-map__filter-radio {
	margin: 0;
}

/* Radio button */
.neighborhood-map__filter-radio {
	border: 0.2rem solid var(--nm-accent, #83A28F);
	padding: 0.5em;
	-webkit-appearance: none;
	width: 2.3rem;
	height: 2.3rem;
}

.neighborhood-map__filter-radio:checked {
	position: relative;
}

.neighborhood-map__filter-radio:checked::after {
	content: "";
	position: absolute;
	left: 0.2rem;
	top: 0.2rem;
	width: 1.5rem;
	height: 1.5rem;
	background-color: var(--nm-accent, #83A28F);
}

.neighborhood-map__filter-radio:focus {
	outline-color: transparent;
}

/* Category label button */
.neighborhood-map__filter-link {
	display: block;
	position: absolute;
	left: 4.5rem;
	width: 80%;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	text-align: left;
	text-decoration: none;
}

.neighborhood-map__filter-link:focus {
	background: transparent;
	outline: none;
}

.neighborhood-map__filter-title {
	color: var(--nm-accent, #83A28F);
	text-transform: capitalize;
	margin: 0;
	font-size: 1.8rem;
	line-height: 2.1rem;
	font-weight: 800;
	display: block;
}

/* Location list */
.neighborhood-map__location-list {
	list-style: none;
	padding: 0;
	margin: 2.5rem 0 0;
}

.neighborhood-map__location-item {
	margin-left: 0;
	display: flex;
	justify-content: flex-start;
}

.neighborhood-map__filter span {
	font-size: 1.4rem;
	line-height: 2.4rem;
	color: inherit;
}

/* Location number badge */
.neighborhood-map__location-number {
	padding-right: 2.2rem;
	padding-left: 1rem;
	width: 4.5rem;
	color: var(--nm-accent, #83A28F);
}

/* ============================================================
   Responsive — below 992px (62em)
   ============================================================ */

@media ( max-width: 62em ) {
	.neighborhood-map__show-all {
		/* display: none; */
		top: calc(50rem - 2.4rem);
	}

	.neighborhood-map #map {
		height: 50rem;
		border-radius: 1.5rem;
	}

	.neighborhood-map__filter {
		display: block;
	}

	.neighborhood-map__filter-item {
		width: 100%;
		padding-bottom: 1.2rem;
		margin-bottom: 1.2rem;
		border-bottom: 0.1rem solid var(--nm-accent, #83A28F);
	}

	.neighborhood-map__location-list {
		display: none;
	}

	.neighborhood-map__filter-item.active .neighborhood-map__location-list {
		display: block;
		margin-bottom: 2rem;
		padding-left: 4.3rem;
	}
}
