/* extracted bare CSS from page 31136 */

/* fusion_code block 1 */
:root{--kv-blue:#011E3F;--kv-accent:#00A3E0;--kv-accent2:#0072B3;--kv-bg:#F8F5F0;--kv-muted:#4B5563;--kv-border:rgba(1,30,63,.12)}
.kv-vb{font-family:Barlow,system-ui,Segoe UI,Roboto,Arial,sans-serif;color:var(--kv-blue);max-width:1170px;margin:0 auto;padding:8px 14px 56px;box-sizing:border-box;overflow-x:clip}
.kv-vb *,.kv-vb *::before,.kv-vb *::after{box-sizing:border-box}
.kv-vb a{text-decoration:none;color:inherit}
.kv-vb img,.kv-vb svg{max-width:100%;height:auto;display:block}

/* Hero – dark CD navy (readable white text) */
.kv-vb-hero{
  position:relative;border-radius:20px;overflow:hidden;margin-bottom:20px;
  background:linear-gradient(125deg,#011E3F 0%,#023056 55%,#00A3E0 145%);
  box-shadow:0 16px 44px rgba(1,30,63,.18);color:#fff;
}
.kv-vb-hero__inner{padding:34px 22px 30px;max-width:720px}
.kv-vb-hero__eyebrow{
  display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:1.6px;
  text-transform:uppercase;color:#9adfff;margin-bottom:10px;
}
.kv-vb-hero h1{
  font-family:Bitter,Georgia,serif;font-size:clamp(1.7rem,4.8vw,2.55rem);
  line-height:1.12;margin:0 0 12px;color:#fff;
}
.kv-vb-hero p{margin:0;font-size:1.05rem;line-height:1.55;color:rgba(255,255,255,.92)}
.kv-vb-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.kv-vb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:46px;padding:12px 20px;border-radius:999px;font-weight:700;font-size:.94rem;
}
.kv-vb-btn--primary{background:#00A3E0;color:#fff!important;box-shadow:0 8px 22px rgba(0,163,224,.32)}
.kv-vb-btn--primary:hover{background:#0090c7}
.kv-vb-btn--ghost{background:rgba(255,255,255,.12);color:#fff!important;border:1px solid rgba(255,255,255,.3)}
.kv-vb-btn--line{background:#fff;color:var(--kv-blue)!important;border:1.5px solid rgba(1,30,63,.14)}
.kv-vb-btn--line:hover{border-color:var(--kv-accent);color:var(--kv-accent)!important}

.kv-vb-sec{margin:18px 0 12px}
.kv-vb-sec h2{font-family:Bitter,Georgia,serif;font-size:clamp(1.25rem,3vw,1.6rem);margin:0 0 8px;color:var(--kv-blue)}
.kv-vb-sec p{margin:0;color:var(--kv-muted);line-height:1.55;max-width:760px}

/* Map shell + optimal interactive map (restored from working map) */
.kv-vb-map{
  background:#fff;border:1px solid var(--kv-border);border-radius:18px;overflow:hidden;
  box-shadow:0 12px 32px rgba(1,30,63,.08);margin:14px 0 24px;
}
.kv-vb-map__head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;
  padding:12px 14px;background:linear-gradient(180deg,#fff,#F8F5F0);
  border-bottom:1px solid var(--kv-border);
}
.kv-vb-map__head strong{font-family:Bitter,Georgia,serif;color:var(--kv-blue)}
.kv-vb-map__head span{font-size:.82rem;font-weight:600;color:var(--kv-muted)}

#afd-map-app{width:100%;max-width:100%;margin:0;position:relative;padding:8px}
#afd-map-container{width:100%;min-height:280px}
#afd-map-container svg{
  width:100%;height:auto;display:block;
  filter:brightness(1.08) contrast(1.05) drop-shadow(0 12px 30px rgba(0,0,0,.25));
}
.afd-map-loading{text-align:center;padding:48px 16px;color:var(--kv-muted);font-weight:600}
.afd-map-loading a{color:var(--kv-accent);text-decoration:underline}

/* Alle Gemeinden */
#afd-map-container #Municipalities path{
  fill:#f2f2f2;stroke:#cc0000;stroke-width:2px;
  vector-effect:non-scaling-stroke;transition:all .25s ease;transform-origin:center;
}
#afd-map-container #Municipalities:hover path{opacity:.4}
#afd-map-container #Municipalities path:hover{opacity:1;stroke-width:5px;fill:#fff}

/* Klickbare Verbände – AfD-Blau */
#afd-map-container #Municipalities path.afd-clickable{
  fill:#3c91ce;stroke:#0f2a44;stroke-width:2.5px;cursor:pointer;
}
#afd-map-container #Municipalities path.afd-clickable:hover{fill:#5aa8e0}
.afd-clickable{cursor:pointer}
.afd-clickable:hover{
  stroke-width:7px!important;
  transform:scale(1.03);
  filter:drop-shadow(0 0 12px rgba(204,0,0,.9)) drop-shadow(0 0 25px rgba(204,0,0,.4));
  animation:afdPulse 1.2s infinite;
}
@keyframes afdPulse{
  0%{filter:drop-shadow(0 0 5px rgba(204,0,0,.5))}
  50%{filter:drop-shadow(0 0 15px rgba(204,0,0,.9))}
  100%{filter:drop-shadow(0 0 5px rgba(204,0,0,.5))}
}

#afd-map-container text{fill:#0f2a44!important;font-weight:600}
#afd-tooltip{
  position:fixed;pointer-events:none;z-index:99999;
  background:rgba(15,30,50,.95);color:#fff;font-size:13px;padding:8px 10px;
  border-left:3px solid #cc0000;border-radius:4px;
  box-shadow:0 6px 18px rgba(0,0,0,.3);opacity:0;transform:translateY(5px);
  transition:all .15s ease;white-space:nowrap;font-family:Barlow,system-ui,sans-serif;
}
#afd-tooltip.active{opacity:1;transform:translateY(0)}

/* Association cards */
.kv-vb-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0 26px}
.kv-vb-card{
  display:block;background:#fff;border:1px solid var(--kv-border);border-radius:16px;
  padding:18px 16px;box-shadow:0 8px 22px rgba(1,30,63,.05);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  min-width:0;
}
.kv-vb-card:hover{
  transform:translateY(-3px);border-color:rgba(0,163,224,.4);
  box-shadow:0 16px 36px rgba(0,163,224,.14);
}
.kv-vb-card__badge{
  display:inline-block;font-size:.7rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;
  color:#00A3E0;background:rgba(0,163,224,.1);padding:4px 9px;border-radius:999px;margin-bottom:10px;
}
.kv-vb-card h3{font-family:Bitter,Georgia,serif;font-size:1.15rem;margin:0 0 6px;color:var(--kv-blue)}
.kv-vb-card p{margin:0 0 12px;color:var(--kv-muted);font-size:.92rem;line-height:1.4}
.kv-vb-card__cta{font-weight:700;font-size:.9rem;color:var(--kv-blue)}
.kv-vb-card:hover .kv-vb-card__cta{color:var(--kv-accent)}

/* CTA band – ALWAYS dark so white/light text is readable */
.kv-vb-cta{
  margin:10px 0 8px;padding:34px 20px;border-radius:20px;text-align:center;color:#fff;
  background:linear-gradient(125deg,#011E3F 0%,#023056 48%,#00A3E0 140%);
  box-shadow:0 16px 44px rgba(1,30,63,.18);
}
.kv-vb-cta h2{font-family:Bitter,Georgia,serif;font-size:clamp(1.35rem,3.5vw,1.85rem);margin:0 0 10px;color:#fff}
.kv-vb-cta p{margin:0 auto 10px;max-width:560px;color:rgba(255,255,255,.92);line-height:1.55;font-size:1.05rem}
.kv-vb-cta p.kv-vb-cta__lead{font-size:clamp(1.15rem,2.8vw,1.4rem);font-weight:700;color:#fff}
.kv-vb-cta p.kv-vb-cta__small{font-size:.92rem;opacity:.88;margin-bottom:20px}
.kv-vb-cta .kv-vb-btn--ghost{color:#fff!important}

.kv-vb-note{
  margin-top:18px;padding:14px 16px;border-radius:14px;background:var(--kv-bg);
  border:1px solid var(--kv-border);color:var(--kv-muted);font-size:.9rem;line-height:1.5;
}

@media(min-width:760px){
  .kv-vb{padding:10px 18px 64px}
  .kv-vb-hero__inner{padding:42px 32px}
  .kv-vb-grid{grid-template-columns:1fr 1fr}
  .kv-vb-hero__actions{flex-direction:row}
}
@media(min-width:1000px){
  .kv-vb-grid{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:759px){
  .kv-vb-hero__actions,.kv-vb-cta .kv-vb-hero__actions{flex-direction:column}
  .kv-vb-btn{width:100%}
  #afd-map-app{padding:4px}
}


/* map-frame 2026 – wertiger Rahmen, Intro/Legende aus */
.kv-map-frame,
#afd-map-app.kv-map-frame,
#afd-map-container.kv-map-frame,
.kv-vb-map.kv-map-frame,
.afd-map-container.kv-map-frame {
  position: relative;
  margin: 8px auto 28px !important;
  padding: 14px !important;
  max-width: 980px;
  background:
    linear-gradient(180deg, #ffffff 0%, #F8F5F0 100%);
  border: 1px solid rgba(1, 30, 63, 0.12);
  border-radius: 18px !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 12px 36px rgba(1, 30, 63, 0.10),
    0 2px 8px rgba(1, 30, 63, 0.06);
  box-sizing: border-box;
}
.kv-map-frame::before,
#afd-map-app.kv-map-frame::before,
#afd-map-container.kv-map-frame::before {
  content: '';
  display: block;
  height: 3px;
  margin: -14px -14px 14px -14px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(90deg, #011E3F 0%, #00A3E0 55%, #011E3F 100%);
}
.kv-map-frame svg,
.kv-map-frame #afd-map-app svg,
#afd-map-container svg,
.kv-vb-map svg {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  background: #fff;
}
/* hide leftover intro/legend copy if still in DOM */
.kv-vb-map-intro,
.kv-map-intro,
.kv-vb-intro,
.kv-vb-legend,
.kv-map-legend,
.afd-map-legend {
  display: none !important;
}