/* ═══════════ Mapbox GL arayüzü — tema uyumlu ═══════════ */

/* kontroller: yuvarlatılmış, cam */
.mapboxgl-ctrl-bottom-right { right: calc(var(--gap) - 10px); bottom: calc(var(--gap) - 10px); }
.mapboxgl-ctrl-group {
  background: var(--glass-strong) !important;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--line); border-radius: var(--r-md) !important;
  box-shadow: var(--shadow-md) !important; overflow: hidden;
}
.mapboxgl-ctrl-group button { width: 38px; height: 38px; }
.mapboxgl-ctrl-group button + button { border-top: 1px solid var(--line) !important; }
.mapboxgl-ctrl-group button:hover { background: var(--surface-2) !important; }
:root[data-theme="dark"] .mapboxgl-ctrl-icon { filter: invert(1) hue-rotate(180deg) brightness(1.15); }

.mapboxgl-ctrl-scale {
  background: var(--glass-strong) !important; color: var(--text-2) !important;
  border: 1px solid var(--line) !important; border-top: 0 !important;
  border-radius: 0 0 8px 8px; font: 600 10.5px var(--font) !important; padding: 1px 6px !important;
}
.mapboxgl-ctrl-attrib {
  background: var(--glass) !important; color: var(--text-3) !important;
  border-radius: var(--r-pill) 0 0 var(--r-pill); font: 500 10px var(--font) !important;
}
.mapboxgl-ctrl-attrib a { color: var(--text-2) !important; }
.mapboxgl-ctrl-logo { opacity: .75; }

/* açılır balon */
.mapboxgl-popup-content {
  background: var(--glass-strong) !important;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  color: var(--text); border: 1px solid var(--line);
  border-radius: var(--r-lg) !important; box-shadow: var(--shadow-lg) !important;
  padding: 14px 16px 12px !important; font-family: var(--font);
}
.mapboxgl-popup-tip { display: none; }
.mapboxgl-popup-close-button {
  width: 28px; height: 28px; top: 8px !important; right: 8px !important;
  border-radius: 50%; color: var(--text-3); font-size: 18px; line-height: 1;
}
.mapboxgl-popup-close-button:hover { background: var(--surface-2) !important; color: var(--text); }

.pop { min-width: 220px; max-width: 290px; }
.pop .kicker { font-size: 10px; }
.pop__title { font-family: var(--display); font-size: var(--fs-md); font-weight: 700; letter-spacing: -.01em; margin: 3px 28px 10px 0; line-height: 1.3; }
.pop__table { width: 100%; border-collapse: collapse; font-size: var(--fs-xs); }
.pop__table td { padding: 4px 0; vertical-align: top; border-top: 1px solid var(--line); }
.pop__table td:first-child { color: var(--text-3); padding-right: 12px; width: 44%; }
.pop__table td:last-child { font-weight: 600; word-break: break-word; }
.pop__scroll { max-height: 260px; overflow-y: auto; }

/* sorgu işareti */
.pulse-marker {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--hot); border: 3px solid #fff;
  box-shadow: 0 0 0 0 color-mix(in srgb, var(--hot) 60%, transparent);
  animation: pulse 1.4s ease-out infinite;
}
@keyframes pulse { to { box-shadow: 0 0 0 18px transparent; } }
