/**
 * BWL Karte - Styles (theme-unabhaengig)
 * Anpassbar ueber CSS-Variablen, z. B. im Theme:
 *   :root { --bwl-map-accent: #cc0000; --bwl-map-accent-hover: #990000; }
 */
.bwl-map { margin: 1.6rem 0; }
.bwl-map-frame {
  position: relative; height: var(--bwl-map-h, 420px);
  border: 1px solid var(--bwl-map-border, rgba(0,0,0,.14));
  border-radius: var(--bwl-map-radius, 10px);
  overflow: hidden; background: var(--bwl-map-bg, #eef0f4);
}
.bwl-map-frame iframe { width: 100%; height: 100%; border: 0; display: block; }
.bwl-map-consent {
  position: absolute; inset: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: .55rem; text-align: center; padding: 1.4rem;
}
/* dezentes Karten-Raster als Hintergrund des Platzhalters */
.bwl-map-consent::before {
  content: ""; position: absolute; inset: 0; opacity: .5; pointer-events: none;
  background:
    linear-gradient(var(--bwl-map-border, rgba(0,0,0,.14)) 1px, transparent 1px) 0 0 / 44px 44px,
    linear-gradient(90deg, var(--bwl-map-border, rgba(0,0,0,.14)) 1px, transparent 1px) 0 0 / 44px 44px;
}
.bwl-map-consent > * { position: relative; }
/* Kartennadel aus reinem CSS */
.bwl-map-pin {
  width: 34px; height: 34px; background: var(--bwl-map-accent, #4456a2);
  border-radius: 50% 50% 50% 0; transform: rotate(-45deg); margin-bottom: .5rem;
  box-shadow: 0 6px 16px rgba(0,0,0,.3);
}
.bwl-map-pin::after {
  content: ""; position: absolute; inset: 10px; background: #fff; border-radius: 50%;
}
.bwl-map-name { font-weight: 700; font-size: 1.1rem; color: var(--bwl-map-title, #26305a); }
.bwl-map-address { color: var(--bwl-map-text, #1b1f32); }
.bwl-map-load {
  margin-top: .35rem; border: 0; cursor: pointer;
  background: var(--bwl-map-accent, #4456a2); color: #fff;
  font: inherit; font-weight: 600; letter-spacing: .03em;
  padding: .65rem 1.4rem; border-radius: var(--bwl-map-btn-radius, 6px);
  transition: background .15s ease, transform .15s ease;
}
.bwl-map-load:hover, .bwl-map-load:focus-visible {
  background: var(--bwl-map-accent-hover, #6376c5); transform: translateY(-1px);
}
.bwl-map-note { font-size: .78rem; color: var(--bwl-map-muted, #6c7394); max-width: 42ch; }
.bwl-map-links { margin: .5rem 0 0; font-size: .88rem; }
.bwl-map-links a { color: var(--bwl-map-accent, #4456a2); }
