/* Значки на карте каталога; цвет берётся из фирменного цвета брокера */
.pm-price { background: none; border: 0; }
.pm-price span { display: inline-block; transform: translate(-50%, -100%); white-space: nowrap; background: #fff; color: #111;
  font: 700 12px/1 system-ui, sans-serif; padding: 6px 9px; border-radius: 999px; box-shadow: 0 2px 8px rgba(0,0,0,.25); position: relative; }
.pm-price span::after { content: ""; position: absolute; left: 50%; bottom: -5px; margin-left: -5px; border: 5px solid transparent; border-bottom: 0; border-top-color: #fff; }
.pm-price.is-active span, .pm-price span:hover { background: var(--brand, var(--accent)); color: #fff; }
.pm-price.is-active span::after, .pm-price span:hover::after { border-top-color: var(--brand, var(--accent)); }
.pm-price.is-sold span { opacity: .55; }
.pm-cluster { background: none; }
.pm-cluster span { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; font: 700 13px system-ui, sans-serif;
  background: var(--brand, var(--accent)); box-shadow: 0 0 0 6px color-mix(in srgb, var(--brand, var(--accent)) 30%, transparent); }
.pm-pop { display: block; color: inherit; text-decoration: none; font: 13px/1.4 system-ui, sans-serif; }
.pm-pop img { width: 100%; height: 120px; object-fit: cover; border-radius: 6px; margin-bottom: 8px; }
.pm-pop b { display: block; margin-bottom: 2px; }
.pm-pop__price { display: block; font-weight: 700; color: var(--brand, var(--accent)); }
.pm-pop__place { display: block; color: #6b7280; }
.pm-empty { padding: 32px 8px; text-align: center; opacity: .7; }
.leaflet-popup-content { margin: 10px; }
