.wcs-map{
	--kc-text:#111114;
	--kc-muted:#65656d;
	--kc-border:#dedee3;
	--kc-primary:#ff007a;
	width:100%;
	max-width:1300px;
	margin:0 auto;
	color:var(--kc-text);
	font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	line-height:1.5;
}
.wcs-map *{box-sizing:border-box}
.wcs-map-header{max-width:900px;margin-bottom:1.2rem}
.wcs-map-kicker{color:var(--kc-primary);font-size:.8rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.wcs-map-header h2{margin:.2rem 0 .55rem;font-size:clamp(2rem,5vw,3.3rem);line-height:1.05;letter-spacing:-.03em}
.wcs-map-header p{margin:0;color:var(--kc-muted)}
.wcs-map-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:18px;align-items:start}
.wcs-map-canvas,.wcs-map-list-wrap{border:1px solid var(--kc-border);border-radius:18px;background:#ffffff}
.wcs-map-canvas{padding:clamp(10px,2vw,20px)}
.wcs-germany-map{display:block;width:100%;height:auto;max-height:760px}
.wcs-germany-shape{fill:#eef2f3;stroke:#7b8790;stroke-width:2.2;vector-effect:non-scaling-stroke}
.wcs-map-marker-link{outline:none}
.wcs-map-marker-halo{fill:transparent;stroke:transparent;stroke-width:1}
.wcs-map-marker{fill:#ff007a;stroke:#fff;stroke-width:2.4;vector-effect:non-scaling-stroke;transition:r .12s ease,stroke-width .12s ease}
.wcs-map-marker-link.is-official .wcs-map-marker{fill:#17653a}
.wcs-map-marker-link.is-applicant .wcs-map-marker{fill:#584477}
.wcs-map-marker-link.is-sample .wcs-map-marker{fill:#9a6c00}
.wcs-map-marker-link:hover .wcs-map-marker,.wcs-map-marker-link:focus .wcs-map-marker{r:10;stroke-width:3.5}
.wcs-map-marker-link:focus .wcs-map-marker-halo{stroke:#17212b;stroke-width:3;fill:transparent}
.wcs-map-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:8px;color:var(--kc-muted);font-size:.88rem}
.wcs-map-legend span{display:inline-flex;align-items:center;gap:6px}
.wcs-map-legend i,.wcs-map-list-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#17653a}
.wcs-map-legend i.is-applicant,.wcs-map-list-dot.is-applicant{background:#584477}
.wcs-map-legend i.is-sample,.wcs-map-list-dot.is-sample{background:#9a6c00}
.wcs-map-source{margin:.7rem 0 0;color:var(--kc-muted);font-size:.78rem}
.wcs-map-list-wrap{padding:18px;max-height:760px;overflow:auto}
.wcs-map-list-wrap h3{margin:0 0 .75rem;font-size:1.15rem}
.wcs-map-list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.wcs-map-list li{margin:0}
.wcs-map-list a{display:flex;gap:9px;align-items:flex-start;padding:10px;border-radius:10px;color:var(--kc-text);text-decoration:none}
.wcs-map-list a:hover,.wcs-map-list a:focus{background:#f3f6f7;outline:2px solid transparent}
.wcs-map-list-dot{flex:0 0 11px;margin-top:.35rem}
.wcs-map-list span:last-child{display:grid;gap:2px;min-width:0}
.wcs-map-list strong{line-height:1.25}
.wcs-map-list small{color:var(--kc-muted);line-height:1.35}
@media(max-width:820px){
	.wcs-map-layout{grid-template-columns:1fr}
	.wcs-map-list-wrap{max-height:none;overflow:visible}
}
@media(max-width:480px){
	.wcs-map-canvas,.wcs-map-list-wrap{border-radius:14px}
	.wcs-map-marker{r:8}
	.wcs-map-marker-link:hover .wcs-map-marker,.wcs-map-marker-link:focus .wcs-map-marker{r:11}
}

.wcs-public-shell--map{background:#ffffff;color:#111114}
.wcs-germany-shape{fill:#f0f0f3;stroke:#8b8b94}
.wcs-map-marker{stroke:#ffffff}
.wcs-map-marker-link.is-official .wcs-map-marker{fill:#ff007a}
.wcs-map-marker-link.is-applicant .wcs-map-marker{fill:#aa72ff}
.wcs-map-marker-link.is-sample .wcs-map-marker{fill:#ffc247}
.wcs-map-list a:hover,.wcs-map-list a:focus{background:#f3f3f6}

.wcs-map-marker-link.is-external .wcs-map-marker{fill:#2774c7}
.wcs-map-legend i.is-external,
.wcs-map-list-dot.is-external{background:#2774c7}


/* 1.13 – Info-Fenster vor dem Öffnen eines Kreuzchecks */
.wcs-map-canvas{position:relative}
.wcs-map-popup[hidden]{display:none!important}
.wcs-map-popup{
	position:absolute;
	z-index:30;
	width:min(360px,calc(100% - 20px));
	padding:16px;
	border:1px solid #d9d9df;
	border-radius:16px;
	background:#fff;
	color:#111114;
	box-shadow:0 18px 55px rgba(17,17,20,.2);
}
.wcs-map-popup::after{
	content:"";
	position:absolute;
	left:50%;
	bottom:-8px;
	width:14px;
	height:14px;
	border-right:1px solid #d9d9df;
	border-bottom:1px solid #d9d9df;
	background:#fff;
	transform:translateX(-50%) rotate(45deg);
}
.wcs-map-popup.is-below::after{
	top:-8px;
	bottom:auto;
	border:0;
	border-left:1px solid #d9d9df;
	border-top:1px solid #d9d9df;
}
.wcs-map-popup__close{
	position:absolute;
	top:8px;
	right:8px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:34px;
	height:34px;
	padding:0;
	border:0;
	border-radius:50%;
	background:#f2f2f5;
	color:#111114;
	font-size:1.35rem;
	font-weight:700;
	line-height:1;
	cursor:pointer;
}
.wcs-map-popup__close:hover,
.wcs-map-popup__close:focus-visible{
	background:#e7e7ec;
	outline:2px solid #111114;
	outline-offset:2px;
}
.wcs-map-popup__badges{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	padding-right:36px;
	margin-bottom:8px;
}
.wcs-map-popup__type,
.wcs-map-popup__status{
	display:inline-flex;
	align-items:center;
	min-height:25px;
	padding:3px 8px;
	border-radius:999px;
	background:#f2f2f5;
	color:#3c3c43;
	font-size:.74rem;
	font-weight:800;
	line-height:1.2;
}
.wcs-map-popup__type{background:#fff0f7;color:#a0004d}
.wcs-map-popup.is-external .wcs-map-popup__type{background:#eaf3ff;color:#174f8f}
.wcs-map-popup h3{
	margin:0 38px 12px 0;
	color:#111114;
	font-size:1.22rem;
	line-height:1.15;
	letter-spacing:-.015em;
}
.wcs-map-popup__details{
	display:grid;
	gap:7px;
	margin:0 0 13px;
}
.wcs-map-popup__details>div{
	display:grid;
	grid-template-columns:minmax(86px,.55fr) minmax(0,1fr);
	gap:10px;
	margin:0;
	padding-top:7px;
	border-top:1px solid #ececf0;
}
.wcs-map-popup__details dt{
	color:#686872;
	font-size:.78rem;
	font-weight:750;
}
.wcs-map-popup__details dd{
	margin:0;
	color:#111114;
	font-size:.84rem;
	font-weight:700;
}
.wcs-map-popup__external-note{
	margin:0 0 12px;
	padding:9px 10px;
	border-radius:10px;
	background:#eaf3ff;
	color:#174f8f;
	font-size:.8rem;
	line-height:1.4;
}
.wcs-map-popup__button{
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:44px;
	padding:.65rem .9rem;
	border-radius:999px;
	background:#ff007a;
	color:#111114!important;
	font-weight:900;
	text-decoration:none!important;
}
.wcs-map-popup__button:hover,
.wcs-map-popup__button:focus-visible{
	background:#c4005e;
	color:#fff!important;
	outline:2px solid #111114;
	outline-offset:2px;
}
@media(max-width:640px){
	.wcs-map-popup{
		position:absolute;
		left:10px!important;
		right:10px;
		top:auto!important;
		bottom:10px;
		width:auto;
		max-width:none;
		border-radius:14px;
	}
	.wcs-map-popup::after{display:none}
}
