.man-map-camera-controls {
  --man-map-control-bg: rgba(255, 255, 255, 0.96);
  --man-map-control-fg: #3c4043;
  --man-map-control-border: #dadce0;
  --man-map-control-hover: #f1f3f4;
  width: 42px;
  border: 1px solid var(--man-map-control-border);
  border-radius: 5px;
  background: var(--man-map-control-bg);
  box-shadow: 0 1px 4px rgba(60, 64, 67, 0.32);
  color: var(--man-map-control-fg);
  isolation: isolate;
}

.dark .man-map-camera-controls,
html[data-theme="dark"] .man-map-camera-controls,
body[data-theme="dark"] .man-map-camera-controls {
  --man-map-control-bg: rgba(32, 33, 36, 0.96);
  --man-map-control-fg: #e8eaed;
  --man-map-control-border: #5f6368;
  --man-map-control-hover: #303134;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.52);
}

.man-map-camera-controls .man-map-camera-control-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--man-map-control-border) !important;
  border-radius: 0 !important;
  background: var(--man-map-control-bg) !important;
  color: var(--man-map-control-fg) !important;
  line-height: 1 !important;
  cursor: pointer;
  transition: background-color 120ms ease, color 120ms ease;
}

.man-map-camera-controls .man-map-camera-control-button:last-child {
  border-bottom: 0 !important;
}

.man-map-camera-controls .man-map-camera-control-button:hover {
  background: var(--man-map-control-hover) !important;
}

.man-map-camera-controls .man-map-camera-control-button:focus-visible {
  outline: 2px solid #1a73e8 !important;
  outline-offset: -3px;
}

.man-map-camera-controls .man-map-camera-control-button:disabled {
  cursor: wait;
  opacity: 0.5;
}

.man-map-control-icon {
  display: block;
  width: 24px;
  height: 24px;
  background-color: currentColor;
  background-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 24px 24px;
  mask-size: 24px 24px;
}

.man-map-control-icon-compass {
  width: 28px;
  height: 28px;
  background: transparent url("/assets/compass-svgrepo-com.svg") center / 28px 28px no-repeat;
  -webkit-mask-image: none;
  mask-image: none;
  transform-origin: center;
  transition: transform 180ms ease;
}

.man-map-control-icon-location {
  -webkit-mask-image: url("/assets/location-crosshairs-svgrepo-com.svg");
  mask-image: url("/assets/location-crosshairs-svgrepo-com.svg");
}

.man-map-control-zoom-label {
  display: block;
  width: 24px;
  font: 300 28px/24px Arial, sans-serif;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .man-map-control-icon-compass,
  .man-map-camera-controls .man-map-camera-control-button {
    transition: none;
  }
}
