/* Category colours are shared by map dots, filter keys and numbered results. */
html {
  --map-free: #c8e7d3;
  --map-food: #f5cbb8;
  --map-drink: #ddd0f1;
  --map-event: #f5e1aa;
  --map-sale: #f0c6d7;
  --map-service: #bee6e5;
  --map-station: #cbdaf3;
  --map-access-event: #c5e5f3;
  --map-concession: #f3c3bf;
  --map-heritage: #e5d5b6;
  --map-plan: #ead8c9;
  --map-cluster: #e3ddd1;
  --map-ink: #303747;
}
.pin-free { --pin: var(--map-free); }
.pin-food { --pin: var(--map-food); }
.pin-drink { --pin: var(--map-drink); }
.pin-event { --pin: var(--map-event); }
.pin-sale { --pin: var(--map-sale); }
.pin-service { --pin: var(--map-service); }
.pin-station { --pin: var(--map-station); }
.pin-access-event { --pin: var(--map-access-event); }
.pin-concession { --pin: var(--map-concession); }
.pin-heritage { --pin: var(--map-heritage); }
.pin-plan { --pin: var(--map-plan); }

/* Keep parks, water and streets colourful, with a softer pastel finish. */
.home-map-layer img, .local-map .map-tile {
  filter: saturate(.62) brightness(1.035);
}
.home-map-stage, .local-map { background: #f3f2e9; }

#main .home-map-shell .pin-key,
html.street-page[data-appearance=modern] body.grid-site.street-site .map-number,
html.street-page[data-appearance=modern] body.grid-site.street-site .local-map .map-pin:not(.map-origin) {
  background: var(--pin, var(--map-cluster));
  color: var(--map-ink);
}
#main .home-map-shell .pin-key { box-shadow: inset 0 0 0 1px #30374755; }
html.street-page[data-appearance=modern] body.grid-site.street-site .local-map .map-pin:not(.map-origin) {
  width: 44px;
  height: 44px;
}
html.street-page[data-appearance=modern] body.grid-site.street-site .map-number {
  border-color: #626b68;
}
#main .home-map-shell .home-map-pin,
html.street-page[data-appearance=modern] body.grid-site.street-site .local-map .map-pin:not(.map-origin) {
  background: var(--pin, var(--map-cluster));
  color: var(--map-ink);
  border: 3px solid #fffdf8;
  box-shadow: 0 0 0 1px #626b68, 0 3px 8px #30374730;
}
/* Mixed groups show their actual categories around a clear count. */
#main .home-map-shell .home-map-pin.pin-cluster {
  background: radial-gradient(circle, #fffdf8 57%, transparent 60%), var(--pin-fill, var(--map-cluster));
}
#main .home-map-shell .home-map-pin:focus-visible,
#main .home-map-shell .home-map-pin.is-selected,
html.street-page[data-appearance=modern] body.grid-site.street-site .local-map .map-pin:focus-visible {
  outline: 3px solid var(--map-ink);
  outline-offset: 3px;
  z-index: 4;
}
/* Location stays distinct from place categories and follows the account accent. */
.home-map-origin { box-shadow: 0 0 0 1px #626b68, 0 0 0 8px #fffdf8aa; }

@media (forced-colors: active) {
  #main .home-map-shell .pin-key,
  #main .home-map-shell .home-map-pin,
  #main .home-map-shell .home-map-pin.pin-cluster,
  html.street-page[data-appearance=modern] body.grid-site.street-site .map-number,
  html.street-page[data-appearance=modern] body.grid-site.street-site .local-map .map-pin:not(.map-origin) {
    background: Canvas;
    color: CanvasText;
    border: 1px solid CanvasText;
    box-shadow: none;
  }
  #main .home-map-shell .home-map-pin:focus-visible,
  #main .home-map-shell .home-map-pin.is-selected,
  html.street-page[data-appearance=modern] body.grid-site.street-site .local-map .map-pin:focus-visible {
    outline-color: Highlight;
  }
}
