.route-karte { overflow: hidden; }
.route-vorschau { margin: 0; min-width: 0; }
.route-vorschau svg { display: block; width: 100%; height: auto; border-radius: 12px; background: radial-gradient(ellipse at center, #f6faf6, #e8f0eb); border: 1px solid var(--line); }
.route-vorschau figcaption { margin-top: 8px; }
.route-linie { fill: none; stroke: #176c4d; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.route-linie-punkt { fill: #176c4d; }
.route-start, .route-ende { stroke: #fff; stroke-width: 2; }
.route-start { fill: #176c4d; }
.route-ende { fill: #d59100; }
.route-kartenflaeche { height: 340px; width: 100%; border-radius: 12px; border: 1px solid var(--line); isolation: isolate; background: #e8f0eb; }
.route-kartenflaeche[hidden] { display: none; }
.route-kartenflaeche .leaflet-control-attribution { font-size: 11px; line-height: 1.5; }
.route-kartenflaeche.leaflet-container .leaflet-control-zoom a { width: 48px; height: 48px; line-height: 48px; }
.route-vorschau-details .route-vorschau { margin-top: 12px; }
@media (max-width: 440px) { .route-kartenflaeche { height: 290px; } }
@media print { .route-karte .btn, .route-kartenflaeche { display: none; } }

.route-kartenflaeche.leaflet-container { background: #f4f1e8; }
.leaflet-tooltip.osm-place-label { background: transparent; border: 0; box-shadow: none; color: #455348; font-weight: 600; font-size: 11px; text-shadow: 0 1px 3px white, 1px 0 3px white; }
.leaflet-tooltip.osm-place-label::before { display: none; }
.leaflet-tooltip.osm-street-label { background: transparent; border: 0; box-shadow: none; color: #625e56; font-size: 10px; text-shadow: 0 1px 2px white, 1px 0 2px white, -1px 0 2px white; }
.leaflet-tooltip.osm-street-label::before { display: none; }
