.rmap { --rm-ink:#16384c; --rm-blue:#1056a9; display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);min-width:0;border:1px solid #d4dfe6;border-radius:19px;overflow:hidden;background:#fff;color:var(--rm-ink);isolation:isolate }
.rmap *, .rmap *::before, .rmap *::after { box-sizing:border-box }
.rmap-visual { position:relative;min-width:0 }
.rmap-canvas { height:100%;min-height:535px;width:100%;background:#e5ece3;font-family:inherit;z-index:0 }
.rmap-canvas.leaflet-container { background:#e5ece3;font-family:inherit }
.rmap-aside { display:flex;flex-direction:column;padding:24px 20px 12px;border-left:1px solid #d4dfe6;min-width:0;min-height:0;height:565px }
.rmap-head { display:flex;align-items:center;gap:10px;justify-content:space-between }
.rmap-head h2 { font-size:clamp(21px,2.2vw,28px);line-height:1.1;letter-spacing:-.035em;margin:0 }
.rmap-total { border:1px solid #d6e1eb;border-radius:100px;padding:4px 10px;font-size:13px;font-variant-numeric:tabular-nums;color:var(--rm-blue);line-height:1.3 }
.rmap-note,.rmap-precision,.rmap-empty,.rmap-unavailable { font-size:13px;line-height:1.45;color:#4b6373 }
.rmap-note { margin:9px 0 13px }
.rmap-select { font:inherit;font-size:14px;min-height:43px;max-width:100%;width:100%;border:1px solid #bbcdd8;border-radius:8px;background:#fff;padding:6px 28px 6px 10px;color:var(--rm-ink);margin:0 0 6px }
.rmap-precision { margin:2px 0 8px }
.rmap-list { overflow:auto;min-height:0;flex:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c4d1db transparent }
.rmap-card { display:flex;align-items:center;gap:11px;min-height:75px;padding:10px 2px;color:inherit;text-decoration:none;border-bottom:1px solid #e5ecef }
.rmap-card:hover strong,.rmap-card:focus-visible strong { text-decoration:underline;color:var(--rm-blue) }
.rmap-card img { display:block;flex:0 0 64px;width:64px;height:54px;border-radius:7px;object-fit:cover }
.rmap-card-text { display:flex;flex-direction:column;gap:3px;min-width:0;overflow-wrap:anywhere }
.rmap-card strong { font-size:14px;font-weight:650;line-height:1.27 }
.rmap-location { font-size:12px;line-height:1.25;color:#536572 }
.rmap-price { color:var(--rm-blue);font-size:13px;line-height:1.2;font-variant-numeric:tabular-nums }
.rmap-link-arrow { margin-left:auto;font:22px/1 system-ui;color:#628098 }
.rmap-more,.rmap-fit { appearance:none;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;line-height:1.3;color:var(--rm-blue);background:#fff;border:1px solid #c4d2de;border-radius:9px;min-height:39px;padding:8px 14px }
.rmap-more { flex:none;margin-top:8px;width:100% }
.rmap-fit { position:absolute;left:12px;top:12px;padding:8px 13px;box-shadow:0 2px 9px #24384924;font-family:inherit;font-weight:650 }
.rmap-fit:hover,.rmap-more:hover { background:#eaf3fa }
.rmap button:focus-visible,.rmap a:focus-visible,.rmap select:focus-visible,.rmap-pin:focus-visible { outline:3px solid #2785ce;outline-offset:1px }
.rmap .rmap-pin { display:flex;align-items:center;justify-content:center;min-width:0;border:2px solid #fff;border-radius:22px;background:#123f69;color:#fff;font:bold 14px/1 system-ui;box-shadow:0 2px 7px #16395355;white-space:nowrap;cursor:pointer;z-index:2 }
.rmap .rmap-pin:after { content:"";position:absolute;top:calc(100% - 1px);left:calc(50% - 5px);width:9px;height:9px;transform:rotate(45deg);background:inherit;border-right:2px solid #fff;border-bottom:2px solid #fff }
.rmap .rmap-pin.rmap-cluster { background:#fff;color:#0d5591;border:3px solid #6ea3c9;box-shadow:0 0 0 4px #76aace38 }
.rmap .rmap-pin.rmap-cluster:after { display:none }
.rmap .rmap-pin.is-active { background:#0b76b9;color:#fff;border-color:#fff;box-shadow:0 0 0 5px #2b86c33b }
.rmap .leaflet-control-zoom { border:1px solid #b9c9d2;border-radius:9px;overflow:hidden;box-shadow:0 2px 8px #294e6624 }
.rmap .leaflet-control-zoom a { width:38px;height:38px;line-height:37px;color:#173e59 }
.rmap .leaflet-control-attribution { max-width:100%;font:10px/1.3 system-ui;background:#ffffffed;color:#293e4e;padding:2px 4px }
.rmap .leaflet-control-attribution a { color:#215777 }
.rmap [hidden] { display:none !important }
.rmap-empty,.rmap-unavailable { margin:18px }
.rmap-unavailable { position:absolute;top:42%;left:8%;right:8%;padding:15px;text-align:center;background:#fffffff0;border-radius:8px }
@media(max-width:760px) {
  .rmap { grid-template-columns:1fr;border-radius:14px }
  .rmap-canvas { height:clamp(245px,45svh,380px);min-height:0 }
  .rmap-aside { border:0;border-top:1px solid #d4dfe6;height:auto;min-height:215px;max-height:485px;padding:16px 13px 12px }
  .rmap-head h2 { font-size:21px }
  .rmap-note { margin:6px 0 9px }
  .rmap-list { max-height:280px;min-height:65px }
  .rmap-fit { top:10px;left:10px }
}
@media(prefers-reduced-motion:reduce) { .rmap .leaflet-zoom-animated { transition:none !important } }
