/* ==========================================================================
   Standortkarte in der globalen Row „Verkaufen Sie Ihre Immobilie an DISTLER"
   (BB-Template 892, rechte Spalte). Ersetzt die frühere statische Grafik.
   Heller Strich auf dunklem Grund, Punkte verlinken auf die Standortseiten.
   ========================================================================== */

.ds-demap {
    --dm-line:  rgba(255, 255, 255, .62);
    --dm-dot:   #ffffff;
    --dm-gold:  var(--ds-gold-soft, #CDAE78);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .9rem;
    width: 100%;
}

.ds-demap__svg {
    display: block;
    width: 100%;
    max-width: 460px;
    height: auto;
    max-height: min(66vh, 600px);
    overflow: visible;
}

/* Umrisse der Bundesländer: dünne, helle Linie ohne Füllung */
.ds-demap__land path {
    fill: none;
    stroke: var(--dm-line);
    stroke-width: 2.2;
    stroke-linejoin: round;
    stroke-linecap: round;
    vector-effect: non-scaling-stroke;
}

/* Ankaufsorte */
.ds-demap__pin { cursor: pointer; }
.ds-demap__hit { fill: transparent; }
.ds-demap__dot {
    fill: var(--dm-dot);
    stroke: var(--ds-navy, #2B435D);
    stroke-width: 3;
    transition: fill .2s ease;
}
.ds-demap__pin:hover .ds-demap__dot,
.ds-demap__pin:focus-visible .ds-demap__dot { fill: var(--dm-gold); }
.ds-demap__pin:focus-visible { outline: none; }
.ds-demap__pin:focus-visible .ds-demap__hit { fill: rgba(205, 174, 120, .3); }

/* Hinweiszeile unter der Karte */
.ds-demap__hinweis { margin: 0; text-align: center; }
/* Die globale Linkfarbe (Navy) muss hier weichen, sonst steht Navy auf Navy. */
html .ds-demap__hinweis a,
html .fl-builder-content .ds-demap__hinweis a {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    width: auto;
    max-width: 100%;
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff !important;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, .4);
    padding-bottom: 2px;
    transition: color .2s ease, border-color .2s ease;
}
html .ds-demap__hinweis a:hover,
html .ds-demap__hinweis a:focus-visible,
html .fl-builder-content .ds-demap__hinweis a:hover,
html .fl-builder-content .ds-demap__hinweis a:focus-visible {
    color: var(--dm-gold) !important;
    border-bottom-color: var(--dm-gold);
}
.ds-demap__hinweis svg { width: 17px; height: 17px; }

/* Die Karte ersetzt ein Foto-Modul: dessen Reste dürfen keinen Rahmen erzeugen */
.fl-node-5qy1vc2g6el9 .fl-module-content { margin: 0; }
.fl-node-5qy1vc2g6el9 .fl-photo,
.fl-node-5qy1vc2g6el9 .fl-photo-content { display: block; width: 100%; }

@media (max-width: 992px) {
    .ds-demap__svg { max-width: 340px; }
}
@media (max-width: 768px) {
    .ds-demap { margin-top: 1.6rem; }
    .ds-demap__svg { max-width: 290px; }
}

@media (prefers-reduced-motion: reduce) {
    .ds-demap * { transition-duration: .01ms !important; }
}
