.host-map-marker:is(.role-public_map_store,.role-public_map_place) {
  --vendor-marker-color:#405764;
  --marker-selected-scale:1;
  position:relative;
  display:grid;
  place-items:center;
  width:2.75rem;
  height:3.35rem;
  padding:0 0 .55rem;
  border:0;
  background:transparent;
  filter:drop-shadow(0 .22rem .28rem rgb(0 0 0 / 42%));
  isolation:isolate;
  transform:scale(var(--marker-selected-scale));
  transform-origin:50% 100%;
}
.host-map-marker:is(.role-public_map_store,.role-public_map_place)::before {
  content:"";
  position:absolute;
  z-index:-2;
  top:.08rem;
  width:2.35rem;
  height:2.35rem;
  border:2px solid rgb(255 255 255 / 88%);
  border-radius:50% 50% 50% 0;
  background:var(--vendor-marker-color);
  transform:rotate(-45deg);
}
.host-map-marker:is(.role-public_map_store,.role-public_map_place)::after {
  content:"";
  position:absolute;
  z-index:-1;
  top:.43rem;
  width:1.48rem;
  height:1.48rem;
  border-radius:50%;
  background:#fff;
}
.host-map-marker:is(.role-public_map_store,.role-public_map_place).is-taxi-service::before {
  border-color:#050505;
}
.host-map-marker:is(.role-public_map_store,.role-public_map_place).is-taxi-service::after {
  border:2px solid #050505;
}
.host-map-marker:is(.role-public_map_store,.role-public_map_place).is-selected {
  --marker-selected-scale:1.12;
  outline:0;
  filter:drop-shadow(0 0 .32rem #1769aa) drop-shadow(0 .22rem .28rem rgb(0 0 0 / 42%));
}
.host-map-marker:is(.role-public_map_store,.role-public_map_place) img {
  z-index:1;
  display:block;
  width:1.18rem;
  height:1.18rem;
  border-radius:50%;
  object-fit:contain;
}
.map-marker-status-closed {
  position:absolute;
  z-index:4;
  top:-.12rem;
  right:-.12rem;
  display:block;
  width:1.02rem;
  height:1.02rem;
  border:.16rem solid #c5162e;
  border-radius:50%;
  background:#fff;
  box-shadow:0 .08rem .2rem rgb(0 0 0 / 42%);
  box-sizing:border-box;
}
.map-marker-status-closed::after {
  content:"";
  position:absolute;
  left:.05rem;
  right:.05rem;
  top:50%;
  height:.15rem;
  border-radius:999px;
  background:#c5162e;
  transform:translateY(-50%) rotate(-45deg);
}
.host-map-marker:is(.role-public_map_store,.role-public_map_place) > .map-marker-status-closed {
  top:.66rem;
  left:50%;
  right:auto;
  transform:translateX(-50%);
}
.host-map-cluster > .map-marker-status-closed {
  top:50%;
  left:50%;
  right:auto;
  transform:translate(-50%,-50%);
}
.map-place-badge { position:relative; }
.map-place-badge .map-marker-status-closed { top:-.28rem;right:-.28rem; }
.map-place-card.is-service-closed { border-left-color:#c5162e; }
.public-map-place-closure { border-left:.35rem solid #c5162e;background:#fff1f2;color:#64101c; }
.host-map-cluster.public-map-store-cluster {
  position:relative;
  min-width:3.25rem;
  border:2px solid rgb(255 255 255 / 92%);
  background:var(--store-cluster-fill,#405764);
  box-shadow:0 .22rem .5rem rgb(0 0 0 / 36%);
}
.host-map-cluster .public-map-store-cluster-badges {
  display:flex;
  justify-content:center;
  gap:.08rem;
  margin:0 0 .18rem;
}
.host-map-cluster .public-map-store-cluster-badges img {
  display:block;
  width:.88rem;
  height:.88rem;
  border:1px solid rgb(255 255 255 / 92%);
  border-radius:50%;
  background:#fff;
  object-fit:contain;
}
.host-map-cluster .host-map-cluster-label {
  display:block;
  margin-top:.12rem;
  font-size:.56rem;
  line-height:1;
  text-transform:uppercase;
}
