/* ============================================================
   v696: Kartenbild der Streckenübersicht wie im Google-Earth-Export (Definition v678/v679).
   Weit: kleine Statuspunkte (weißer Ring, Statusfarbe) · ab Zoom 17 mit Kurznamen · ab Zoom 18 Ril-Symbole.
   Der Knopf bleibt als unsichtbare Tippfläche größer als der sichtbare Punkt.
   v698: gilt auch für die Deutschlandkarte (.projektstrecken-osm-map).
   ============================================================ */
:is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-punkt {
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}

:is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-symbol {
  width: 34px;
  height: 34px;
  margin: -17px 0 0 -17px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  box-shadow: none;
}

.strecken-osm-punkt {
  display: block;
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--strecken-marker-farbe, #d93025);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .55), 0 1px 3px rgba(0, 0, 0, .35);
  transition: transform .12s ease;
}

.strecken-osm-marker.hat-label .strecken-osm-punkt {
  width: 14px;
  height: 14px;
}

.strecken-osm-marker.ist-punkt:hover .strecken-osm-punkt,
.strecken-osm-marker.ist-punkt:focus-visible .strecken-osm-punkt {
  transform: scale(1.35);
}

.strecken-osm-marker.ist-punkt.ist-naechstes .strecken-osm-punkt {
  transform: scale(1.5);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .55), 0 0 0 5px var(--strecken-marker-halo-aktiv, rgba(217, 48, 37, .22));
}

.strecken-osm-symbolbild {
  display: block;
  width: 34px;
  height: 34px;
  pointer-events: none;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .35));
  transition: transform .12s ease;
}

.strecken-osm-marker.ist-symbol:hover .strecken-osm-symbolbild,
.strecken-osm-marker.ist-symbol:focus-visible .strecken-osm-symbolbild,
.strecken-osm-marker.ist-symbol.ist-naechstes .strecken-osm-symbolbild {
  transform: scale(1.15);
}

/* Beschriftung rechts neben Punkt bzw. Symbol, gleicher Abstand (6 px) zur sichtbaren Kante. */
:is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-punkt.hat-label::after,
:is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-punkt.hat-detail-label::before {
  left: 25px;
}

:is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-symbol.hat-label::after,
:is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-symbol.hat-detail-label::before {
  left: 40px;
}

@media (max-width: 700px) {
  :is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-punkt {
    width: 30px;
    height: 30px;
    margin: -15px 0 0 -15px;
  }

  :is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-punkt.hat-label::after,
  :is(#streckenGpsKarte, .projektstrecken-osm-map) .strecken-osm-marker.ist-punkt.hat-detail-label::before {
    left: 28px;
  }
}

/* km-Marken entlang des Streckenverlaufs: Ril-Doppelkreis, Beschriftung rot mit weißem Rand. */
.strecken-osm-km-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* Über den Element-Punkten (7), damit der Doppelkreis nie verdeckt ist; Antippen geht hindurch. */
.strecken-osm-bewegt .strecken-osm-km-layer {
  z-index: 8;
}

.strecken-km-marke {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 5px;
  transform: translate(-7px, -50%);
  white-space: nowrap;
}

.strecken-km-marke.links {
  flex-direction: row-reverse;
  transform: translate(calc(-100% + 7px), -50%);
}

.strecken-km-marke > i {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  box-sizing: border-box;
  border: 2px solid #111;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 4px #111, 0 0 0 1px rgba(255, 255, 255, .9);
}

.strecken-km-marke > span {
  position: relative;
  top: var(--km-versatz, 0px);
  color: #ff3b30;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-shadow: 0 0 2px #fff, 0 0 2px #fff, 0 0 3px #fff, 0 0 4px #fff;
}

/* v697: Ebenen-Menü mit „Kilometer“ und „Betriebsstellen“ – auf dem Desktop vollständig sichtbar, ohne Scrollen. */
@media (min-width: 701px) {
  #streckenGpsKarte .strecken-osm-ebenen-panel {
    /* v718: Platz für die Fußzeilen „Streckenfarbe“ und „Lagepläne ausrichten“ ohne Abschneiden;
       v728: zusätzlich nie über den Kartenrand hinaus (--ebenen-platz setzt das Öffnen des Menüs) */
    max-height: min(540px, calc(100dvh - 110px), var(--ebenen-platz, 540px));
  }
}

/* v735: Betriebsstellen-Schilder zoomen nicht mehr per Klick. Sie zeigen beim Darüberfahren ihre Angaben (title) und
   lassen das Verschieben der Karte durch – Greifen auf einem Namen verschiebt die Karte wie überall. */
.projekt-streckenkarte-betriebsstellen-layer .strecken-osm-betriebsstelle[data-betriebsstelle-info],
.strecken-osm-betriebsstellen-layer .strecken-osm-betriebsstelle[data-betriebsstelle-info] {
  pointer-events: auto;
}

/* v734: Ebene eingeschaltet, aber erst bei näherem Zoom sichtbar – Name gedimmt, Erklärung unten im Menü. */
.strecken-osm-ebenen-panel button.zoomgrenze > span:first-child {
  opacity: .5;
}
.strecken-osm-ebenen-zoomhinweis {
  grid-column: 1 / -1;
  margin: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(79, 127, 240, .1);
  color: #374151;
  font-size: 11px;
  line-height: 1.4;
}
.strecken-osm-ebenen-zoomhinweis[hidden] {
  display: none;
}
html[data-theme="dark"] .strecken-osm-ebenen-zoomhinweis {
  background: rgba(96, 165, 250, .14);
  color: #cbd5e1;
}

/* v698: Deutschlandkarte – km-Marken über den Feldelementen (deren Ebene liegt dort auf 8). */
.projektstrecken-osm-map .strecken-osm-bewegt .strecken-osm-km-layer {
  z-index: 9;
}

/* v698: Ein Schalter mit [hidden] bleibt unsichtbar, auch wenn eine Regel display:flex setzt – z. B. „Flächen (Import)“
   in Projekten ohne Import und der Filter „Entfällt“, solange kein Element entfällt. */
.strecken-osm-ebenen-panel button[hidden],
.strecken-filter-chip[hidden] {
  display: none !important;
}

/* v698: Filterzeile der Deutschlandkarte (Bausteine der GPS-Filter der Projektkarte). */
#projektStreckenkarteFilter {
  flex: 0 0 auto;
  margin: 0 0 8px;
}

/* Breite Fenster: Kennzahlen links neben den Filtern in EINER Zeile – mehr Höhe für die Karte. */
@media (min-width: 1100px) {
  #projektStreckenkarteFilter {
    grid-template-columns: auto minmax(0, 1fr);
    align-items: end;
    column-gap: 18px;
  }

  #projektStreckenkarteFilter .strecken-karten-kennzahlen {
    min-height: 30px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 1px;
    white-space: nowrap;
  }

  #projektStreckenkarteFilter .strecken-karten-filterzusammenfassung {
    grid-column: 1 / -1;
  }
}

/* Handy: Die Filter stehen untereinander; die Auswahlfelder bekommen ihre natürliche Höhe (die Flex-Basis 390px
   wirkte in der Spalte als Höhe) und liegen nebeneinander. */
@media (max-width: 700px) {
  #projektStreckenkarteFilter .strecken-karten-auswahlfilter {
    flex: 0 0 auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* v698: Die globale label-Regel (margin 18px 0 6px) hob „Elementart“ 6 px über „Anlagenzustand“ –
   in der Projektkarte und der Deutschlandkarte. Beide Felder schließen jetzt bündig ab. */
.strecken-karten-auswahlfilter .strecken-karten-typfilter {
  margin: 0;
}

/* v698: Ebenen-Menü der Deutschlandkarte (jetzt mit Kilometer und Betriebsstellen) auf dem Desktop ohne Scrollen,
   begrenzt auf die Kartenhöhe unterhalb der Werkzeugleiste. */
@media (min-width: 701px) {
  .view-projektstreckenkarte .projektstrecken-osm-ebenen .strecken-osm-ebenen-panel {
    max-height: max(238px, min(480px, calc(100dvh - 400px)));
  }
}
