/* Deutschlandkarte (Plugin Regionen) */
.rk-wrap { display: grid; grid-template-columns: minmax(250px, var(--rk-w, 42%)) 1fr; gap: 22px; align-items: stretch; }
.rk-wrap.rk-right { grid-template-columns: 1fr minmax(250px, var(--rk-w, 42%)); }
.rk-wrap.rk-right .rk-map { order: 2; }
.rk-cats { display: flex; flex-direction: column; min-width: 0; }
.rk-cats > h2 { margin-top: 0; }
.rk-cats .catgrid { flex: 1; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; }
.rk-cols-3 .rk-cats .catgrid { grid-template-columns: repeat(3, 1fr); }
.rk-cats .cat { justify-content: center; }

.rk-map { position: relative; border-radius: var(--radius, 10px); padding: 16px 16px 14px; color: var(--rk-ink, #fff); display: flex; flex-direction: column; min-width: 0; }
.rk-bg-header { background: linear-gradient(135deg, var(--hero-from, #b0153a), var(--hero-to, #4a0a1c)); }
.rk-bg-color, .rk-bg-light { background: var(--rk-bg); }
.rk-bg-light { border: 1px solid var(--line, #e6e6e6); }
.rk-map h3 { margin: 0 0 2px; font-size: 1.05rem; color: inherit; }
.rk-map p { margin: 0 0 8px; font-size: .85rem; color: var(--rk-muted); }
.rk-svgbox { position: relative; flex: 1; display: flex; align-items: center; justify-content: center; }
.rk-map svg { width: 100%; height: auto; max-height: 440px; display: block; overflow: visible; }
.rk-map path { fill: var(--rk-fill); fill-opacity: var(--rk-fill-op, .22); stroke: var(--rk-line); stroke-opacity: .9; stroke-width: 1; stroke-linejoin: round; cursor: pointer; transition: fill .15s, fill-opacity .15s; }
.rk-map path.rk-zero { fill-opacity: calc(var(--rk-fill-op, .22) * .45); }
.rk-map a:hover path, .rk-map a:focus path, .rk-map a.rk-on path, .rk-map path.rk-current { fill: var(--rk-hover); fill-opacity: 1; stroke-opacity: 1; }
.rk-map a:focus { outline: none; }
.rk-map a:focus-visible path { stroke-width: 2.5; }
.rk-tip { position: absolute; z-index: 3; background: #fff; color: #1f1f1f; border-radius: 8px; padding: 6px 10px; font-size: .85rem; line-height: 1.3; box-shadow: 0 6px 18px rgba(0,0,0,.25); pointer-events: none; white-space: nowrap; transform: translate(-50%, calc(-100% - 12px)); }
.rk-tip b { display: block; }
.rk-tip span { color: #6b6b6b; font-size: .8rem; }
.rk-select { margin-top: 10px; width: 100%; padding: 8px 10px; border-radius: 8px; border: 1px solid rgba(0,0,0,.08); font: inherit; background: #fff; color: #1f1f1f; }

@media (max-width: 820px) {
  .rk-wrap, .rk-wrap.rk-right { grid-template-columns: 1fr; }
  .rk-wrap.rk-right .rk-map { order: 0; }
  .rk-m-bottom .rk-map, .rk-wrap.rk-right.rk-m-bottom .rk-map { order: 2; }
  .rk-m-hide .rk-map { display: none; }
  .rk-cats .catgrid, .rk-cols-3 .rk-cats .catgrid { grid-auto-rows: auto; grid-template-columns: 1fr 1fr; }
  .rk-map svg { max-height: 380px; }
}

/* Regionsseite */
.rk-info { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; margin: 0 0 14px; }
.rk-badge { background: var(--accent, #b0153a); color: #fff; border-radius: 999px; padding: 4px 12px; font-weight: 600; font-size: .9rem; }
.rk-x { font-size: .9rem; }
.rk-cities { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; width: 100%; }
.rk-cities .chip .muted { font-size: .8em; }
