/* ── Location control button ─────────────────────────────────────────────── */

.location-control {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  user-select: none;
  background: #fff;
  border-radius: 4px;
  /* sits below the default zoom control (two 30 px buttons + gaps) */
  margin-top: 0;
}

.location-control svg {
  width: 18px;
  height: 18px;
  stroke: #555;
  stroke-width: 2;
  fill: none;
  pointer-events: none;
}

.location-control svg circle:first-child {
  fill: #555;
  stroke: none;
}

/* Physical pressed appearance while pointer is held */
.location-control.location-pressing {
  background: #e8e8e8;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.2);
}

/* Latched DOWN / follow-mode active */
.location-control.location-active {
  background: #1a73e8;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.25);
}

.location-control.location-active svg {
  stroke: #fff;
}

.location-control.location-active svg circle:first-child {
  fill: #fff;
  stroke: none;
}

.location-marker {
  background: transparent;
  border: 0;
}

.location-marker-dot,
.location-marker-arrow-wrap {
  width: 14px;
  height: 14px;
  position: relative;
}

.location-marker-dot {
  border: 2px solid #fff;
  border-radius: 50%;
  background: #1a73e8;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.location-marker-arrow {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-bottom: 12px solid #1a73e8;
  transform-origin: 50% 80%;
  margin-left: -5px;
  margin-top: -11px;
  filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.45));
}

.location-marker-centre {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-left: -2.5px;
  margin-top: -2.5px;
  border-radius: 50%;
  border: 1px solid #fff;
  background: #1a73e8;
}
