.bh-map-wrap {
  width: 100%;
  max-width: 1684px;
  margin: 0 auto;
}

.bh-map-stage {
  position: relative;
  width: 100%;
  aspect-ratio: 1684 / 1191;
  overflow: hidden;
  line-height: 0;
  background: transparent;
}

.bh-map-bg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: fill;
  user-select: none;
  pointer-events: none;
}

.bh-map-svg {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.bh-map-svg .area-link {
  cursor: pointer;
  outline: none;
}

.bh-map-svg .area {
  fill: rgba(204, 170, 72, 0.50);
  stroke: rgba(204, 170, 72, 0.80);
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
  transition: fill 180ms ease, stroke 180ms ease;
}

.bh-map-svg .area-link:hover .area,
.bh-map-svg .area-link:focus .area,
.bh-map-svg .area-link:focus-visible .area,
.bh-map-svg .area-link.is-active .area {
  fill: rgba(255, 211, 79, 0.80);
  stroke: rgba(255, 225, 122, 1);
  outline: none;
}

.bh-map-svg .label-layer {
  pointer-events: none;
}

.bh-map-svg .map-label {
  display: block;
  fill: #ffd34f;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  font-weight: 700;
  paint-order: stroke;
  stroke: rgba(0, 0, 0, 0.75);
  stroke-width: 4px;
  stroke-linejoin: round;
}

.bh-stadtteil-portrait {
  width: 100%;
}

.bh-stadtteil-portrait__inner {
  transition: opacity 140ms ease;
}

.bh-stadtteil-portrait.is-changing .bh-stadtteil-portrait__inner {
  opacity: 0.35;
}

.bh-stadtteil-portrait__image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0 0 1.25rem;
}

.bh-stadtteil-portrait__title {
  margin: 0 0 0.65rem;
}

.bh-stadtteil-portrait__text > :first-child {
  margin-top: 0;
}

.bh-stadtteil-portrait__text > :last-child {
  margin-bottom: 0;
}

.bh-stadtteil-portrait__placeholder {
  line-height: 1.5;
}

@media (max-width: 900px) {
  .bh-map-svg .map-label {
    font-size: 34px;
    stroke-width: 5px;
  }
}

@media (max-width: 600px) {
  .bh-map-stage {
    overflow: hidden;
  }

  .bh-map-bg,
  .bh-map-svg {
    transform: scale(1.3);
    transform-origin: 90% 90%;
  }
}
