.asl-cont .asl-maplibre-marker {
  background-color: transparent;
  border: 0;
  cursor: pointer;
  height: auto;
  line-height: 0;
  overflow: visible;
  padding: 0;
  position: absolute;
  width: auto;
}

.asl-common-map-marker {
  background: transparent;
  border: 0;
  cursor: pointer;
  line-height: 0;
  padding: 0;
}

.asl-common-map-marker img {
  display: block;
  height: auto;
  max-width: none;
}

.asl-cont .asl-maplibre-marker-image {
  display: block;
  height: auto;
  max-width: none;
  pointer-events: none;
  width: auto;
}

.asl-cont .asl-maplibre-marker.asl-maplibre-marker-bounce .asl-maplibre-marker-image {
  animation: asl-maplibre-marker-bounce 700ms ease-in-out infinite;
  transform-origin: center bottom;
  will-change: transform;
}

@keyframes asl-maplibre-marker-bounce {
  0%, 100% { transform: translateY(0); }
  45% { transform: translateY(-16px); }
  65% { transform: translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
  .asl-cont .asl-maplibre-marker.asl-maplibre-marker-bounce .asl-maplibre-marker-image {
    animation: none;
  }
}

.asl-cont .asl-maplibre-marker > span {
  display: block;
  font-size: 12px;
  font-weight: 700;
  left: 50%;
  position: absolute;
  top: 8px;
  transform: translateX(-50%);
}

.asl-cont .maplibregl-popup {
  max-width: min(var(--asl-infobox-width, 320px), calc(100vw - 32px)) !important;
  width: var(--asl-infobox-width, 320px);
}

.asl-cont .asl-maplibre-infobox .maplibregl-popup-content {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.asl-cont .asl-maplibre-infobox .infoWindow,
.asl-cont .asl-maplibre-infobox .infowindowContent {
  max-width: 100%;
  width: 100% !important;
}

.asl-cont .asl-maplibre-infobox .arrow-down {
  display: none !important;
}

.asl-cont .asl-maplibre-infobox.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,
.asl-cont .asl-maplibre-infobox.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,
.asl-cont .asl-maplibre-infobox.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip {
  border-top-color: var(--sl-infobox-bg, #fff);
}

.asl-cont .asl-maplibre-infobox .maplibregl-popup-close-button {
  align-items: center;
  background-color: transparent;
  border: 0;
  display: flex;
  font-size: 12px;
  height: 32px;
  justify-content: center;
  line-height: 1;
  padding: 0;
  pointer-events: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  z-index: 10;
}

.asl-cont .asl-maplibre-custom-control {
  position: absolute;
  right: 10px;
  top: 10px;
  z-index: 5;
}

.asl-cont .maplibregl-ctrl-attrib.maplibregl-compact:not(.maplibregl-compact-show) .maplibregl-ctrl-attrib-inner {
  display: none;
}

.asl-cont .maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button {
  display: block;
  list-style: none;
  margin: 0;
}

.asl-cont .maplibregl-ctrl-attrib-inner {
  line-height: 18px;
  max-width: min(360px, calc(100vw - 44px));
  padding: 2px 6px;
  white-space: normal;
}

.asl-cont .maplibregl-ctrl-attrib-inner a {
  display: inline;
  font-size: 10px;
  line-height: 18px;
}
