/* Map tooltip styling */
.map-tooltip .maplibregl-popup-content {
    border-radius: 8px;
    padding: 10px 14px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
    font-family: inherit;
}
.map-tooltip .maplibregl-popup-tip {
    border-top-color: white;
}

/* Dark mode tooltip */
[data-bs-theme="dark"] .map-tooltip .maplibregl-popup-content {
    background: #1a1d23;
    color: #e2e8f0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4);
}
[data-bs-theme="dark"] .map-tooltip .maplibregl-popup-tip {
    border-top-color: #1a1d23;
}
[data-bs-theme="dark"] .maplibregl-popup-content {
    background: #1a1d23;
    color: #e2e8f0;
}
[data-bs-theme="dark"] .maplibregl-popup-anchor-bottom .maplibregl-popup-tip {
    border-top-color: #1a1d23;
}
[data-bs-theme="dark"] .maplibregl-popup-anchor-top .maplibregl-popup-tip {
    border-bottom-color: #1a1d23;
}
[data-bs-theme="dark"] .maplibregl-popup-anchor-left .maplibregl-popup-tip {
    border-right-color: #1a1d23;
}
[data-bs-theme="dark"] .maplibregl-popup-anchor-right .maplibregl-popup-tip {
    border-left-color: #1a1d23;
}

/* Dark mode navigation controls */
[data-bs-theme="dark"] .maplibregl-ctrl-group {
    background: #1a1d23;
    border-color: #2a2e36;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
[data-bs-theme="dark"] .maplibregl-ctrl-group button {
    background-color: #1a1d23;
}
[data-bs-theme="dark"] .maplibregl-ctrl-group button + button {
    border-top-color: #2a2e36;
}
[data-bs-theme="dark"] .maplibregl-ctrl-group button span {
    filter: invert(0.8);
}
[data-bs-theme="dark"] .maplibregl-ctrl-group button:hover {
    background-color: #252830;
}

/* Dark mode attribution */
[data-bs-theme="dark"] .maplibregl-ctrl-attrib {
    background-color: rgba(15, 17, 23, 0.8);
    color: #5a6577;
}
[data-bs-theme="dark"] .maplibregl-ctrl-attrib a {
    color: #6b9cc8;
}

/* Stop marker hover */
.map-stop-marker:hover > div {
    transform: scale(1.15);
    transition: transform 0.15s ease;
}

/* Dark mode map container blend */
[data-bs-theme="dark"] .maplibregl-map {
    border-color: #0f1117;
}
