.deutschlandkarte {-moz-box-sizing: border-box; box-sizing: border-box;display: flex;gap: 4em;align-items: flex-start;padding: 2em;-moz-box-shadow: 0px 3px 10px rgb(0,0,0,0.25);-webkit-box-shadow: 0px 3px 10px rgb(0, 0, 0, 0.25);box-shadow: 0px 3px 10px rgb(0, 0, 0, 0.25); height: 680px;overflow: auto;}

/* MAP COLUMN */
.map-col { /*flex: 0 0 auto;*/ width: 43%;position: sticky;top: 0;}
.map-wrapper { position: relative; display: inline-block; }
.map-wrapper img { display: block;  }

/* SVG overlay for clickable circles */
.map-wrapper img, .map-svg{width: 455px; height: 616px;}
.map-svg { position: absolute; top: 0; left: 0; right: 0; }
.loc-circle { cursor: pointer; }
.loc-circle circle.bg {fill: #968e67; stroke: #968e67; stroke-width: 1.5; transition: all 0.15s; }
.loc-circle circle.bg:hover { fill: transparent; stroke: #968e67; stroke-width: 2; }
.loc-circle.active circle.bg { fill: rgba(150, 142, 103, 0.3); stroke: #968e67; stroke-width: 2.5; }
.loc-circle text { font-size: 10px; fill: #222; pointer-events: none; font-family: sans-serif; }

/* CONTACTS COLUMN */
.contacts-col { flex: 1; min-width: 0; }

.contacts-header { margin-bottom: 16px; }
.contacts-subtitle { opacity: 0.8}

.back-btn {border-radius: 5px !important;font-size: 1em;padding: 0.5em 1em !important;border: 2px solid #005597 !important;-moz-transition: background 0.3s linear;-webkit-transition: background 0.3s linear;-ms-transition: background 0.3s linear;-o-transition: background 0.3s linear;transition: background 0.3s linear;background: transparent;color: #005597; margin-bottom: 1.5em;}
.back-btn:hover {background: #005597;color: #fff;}

.contact-card {display: flex; gap: 12px; align-items: flex-start;padding: 12px 0; border-bottom: 2px solid #e8e8e8;}
.contact-card:last-child { border-bottom: none; }
span.ci-bm_nl {font-size: 0.85em;opacity: 0.8;line-height: 1em;margin-bottom: 0.5em;display: block;}

.avatar {width: 100px; height: 100px; border-radius: 50%; flex-shrink: 0;display: flex; align-items: center; justify-content: center;overflow: hidden; background: #d3cfce;}
.avatar img { width: 100%; height: 100%; object-fit: cover; }

/* MOBILE */
@media screen and (min-width: 891px) and (max-width: 1170px){
	.map-col{width: 52%;}
}

@media screen and (min-width: 891px) and (max-width: 1049px){
	.map-wrapper img, .map-svg{width: 390px;height: 530px;}
}

@media screen and (min-width: 1240px){
	.map-col{ padding-left: 2em;}
}

@media screen and (max-width: 890px) {
	.deutschlandkarte { flex-direction: column; padding: 12px; gap: 16px; height: auto; }
	.map-col {width: 100%; position: relative;}
	.map-wrapper { width: 100%; }
	.map-wrapper img, .map-svg { width: 100%;height: auto;max-width: 455px;margin: auto; }
	.map-svg {  height: 100%;  }
	.contacts-col{ width: 100%;}
}