.locator-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 11px;
  margin-bottom: 15px;
}
.locator-tools .map-filters {
  margin: 0;
}
.locator-types {
  display: flex;
  width: fit-content;
  max-width: 100%;
  flex-wrap: wrap;
  gap: 3px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: var(--surface);
}
.locator-types button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  border-radius: 7px;
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 680;
  color: var(--muted);
}
.locator-types button[aria-pressed="true"] {
  background: var(--forest);
  color: var(--paper);
}
.locator-types button:not([aria-pressed="true"]):hover {
  background: var(--tint);
  color: var(--ink);
}
.locator-types button:not([aria-pressed="true"]) svg,
.map-kind svg {
  color: var(--kind-color);
}
.kind-retailers {
  --kind-color: #376644;
}
.kind-events {
  --kind-color: #99472c;
}
.kind-news {
  --kind-color: #345a91;
}
body:is([data-theme="night"], [data-theme="marquee"])
  .locator-types
  :is(.kind-retailers, .kind-events, .kind-news) {
  --kind-color: currentColor;
}
.map-view .map-item {
  gap: 5px;
}
.map-side .map-item button[data-map-select] {
  width: 100%;
  min-width: 0;
}
.map-side .map-item button[data-map-select] > span {
  min-width: 0;
}
.map-side .map-item img {
  flex: none;
  height: 55px;
}
.map-kind,
.map-side .map-kind {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 4px;
}
.map-kind svg,
.map-item .map-menu-hits svg {
  flex: none;
  vertical-align: middle;
}
.map-item .map-menu-hits,
.map-popup .map-menu-hits {
  color: var(--ink);
  line-height: 1.4;
  margin-top: 5px;
}
.map-menu-hits .map-sample {
  font-size: 9px;
  font-weight: 650;
  color: var(--muted);
}
.map-side .map-details {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  width: fit-content;
  text-underline-offset: 2px;
}
.map-popup > b,
.map-popup > small {
  display: block;
  margin: 3px 0;
}
.map-popup > b {
  font-size: 15px;
  line-height: 1.2;
}
.map-popup > small {
  font-size: 11px;
  line-height: 1.5;
}
.map-popup,
.map-popup .map-menu-hits {
  color: #25372c;
}
.map-popup .pin-actions {
  display: grid;
  gap: 7px;
  margin-top: 8px;
}
.map-popup .pin-actions > a {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  width: fit-content;
}
.map-popup .pin-claim,
.map-popup .pin-source {
  font-size: 11px;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.map-canvas .mk-retailers {
  background: #376644;
}
.map-canvas .mk-events {
  background: #99472c;
  border-radius: 8px;
  transform: none;
}
.map-canvas .mk-events svg {
  transform: none;
}
.map-canvas .mk-news {
  background: #345a91;
  border-radius: 50%;
}
.map-canvas .pinmark.on {
  outline: 3px solid #f6bd4c;
  box-shadow: 0 0 0 5px #20372666;
  z-index: 10;
}
.map-canvas .map-cluster {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #293d36;
  color: white;
  font-size: 13px;
  box-shadow: 0 1px 6px #263b334f;
}
.map-cluster > span {
  display: flex;
  position: absolute;
  bottom: -3px;
  gap: 2px;
  padding: 1px 3px;
  background: #f9fbf3;
  border-radius: 9px;
}
.map-cluster i {
  width: 6px;
  height: 6px;
  display: block;
  border-radius: 50%;
}
.dot-retailers {
  background: #376644;
}
.dot-events {
  background: #99472c;
}
.dot-news {
  background: #345a91;
}
.map-list-empty p {
  margin: 7px 0 0;
}
.atlas-toolbar {
  flex-wrap: wrap;
}
.atlas-toolbar > div {
  flex-wrap: wrap;
}
@media (max-width: 550px) {
  .locator-types {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .locator-types button {
    justify-content: center;
    font-size: 11px;
    padding: 5px 2px;
    gap: 3px;
  }
  .locator-types svg {
    width: 13px;
    height: 13px;
  }
  .locator-tools {
    gap: 7px;
    margin-bottom: 10px;
  }
  .atlas-toolbar {
    gap: 4px;
  }
}

.map-canvas.has-geography {
  background: #bad6d5;
}
.atlas-mapwrap .map-canvas {
  position: absolute;
  inset: 0;
}
.atlas-cover .atlas-mapwrap {
  flex: 1 1 auto;
  height: auto;
  min-height: clamp(292px, 25vw, 370px);
}
.inline-map .atlas-mapwrap {
  height: clamp(280px, 30vw, 430px);
}
@media (min-width: 621px) {
  .atlas-cover {
    grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1.65fr);
  }
  .atlas-intro {
    container-type: inline-size;
    padding-inline: clamp(16px, 2.5vw, 36px);
  }
  .atlas-intro h1 {
    font-size: clamp(26px, 18cqw, 68px);
  }
  .atlas-links {
    flex-wrap: wrap;
  }
}
@media (max-width: 620px) {
  .atlas-cover .atlas-mapwrap {
    height: clamp(265px, 65vw, 335px);
    min-height: 0;
    flex: none;
  }
}
