/* hf-map-v4.css — t_1a8bcd5b (30.09.2026): карта списка — доводка. Черновик до утверждения Данилом.
   - кластер: тёмный кружок с числом (вместо синих «пузырей» Яндекса), крупнее при наведении;
   - на полноэкранной карте телефона сверху: «Фильтры» (та же шторка поверх карты) + число отелей; ✕ справа;
   - «Искать в этой области» — под верхней строкой, не поверх неё. Только токены кита. */
.hf-mcl { position: absolute; left: 0; top: 0; transform: translate(-50%, -50%); min-width: 40px; height: 40px; padding: 0 10px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; border-radius: var(--r-pill); background: var(--ink); color: #fff;
  border: 3px solid #fff; box-shadow: 0 2px 10px rgba(18,33,59,.28); font: 700 14px/1 var(--font, inherit); cursor: pointer; transition: transform .15s var(--vs-ease); }
.hf-mcl:hover { transform: translate(-50%, -50%) scale(1.08); }
.hf-mcl b, .hf-mcl b:hover { color: #fff; font-weight: 700; font-size: 14px; }
.hf-mcl { min-width: 34px; height: 34px; border-width: 2px; }
.hf-mpin { font-weight: 700; font-size: 13px; }

.hf-maptop { display: none; }
body.hf-map-open .hf-maptop { position: absolute; left: 12px; right: 64px; top: calc(14px + env(safe-area-inset-top)); z-index: 7; display: flex; align-items: center; gap: 8px; pointer-events: none; }
.hf-maptop__f { pointer-events: auto; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border: 0; border-radius: var(--r-pill);
  background: var(--card); color: var(--ink); box-shadow: var(--sh-2); font: 600 14px/1 var(--font, inherit); cursor: pointer; }
.hf-maptop__f svg { width: 18px; height: 18px; fill: none; stroke: var(--blue); stroke-width: 2; stroke-linecap: round; }
.hf-maptop__f i { min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--r-pill); background: var(--blue); color: #fff; font: 700 11px/18px var(--font, inherit); font-style: normal; text-align: center; }
.hf-maptop__f i[hidden] { display: none; }
.hf-maptop__n { pointer-events: none; height: 32px; padding: 0 12px; display: inline-flex; align-items: center; border-radius: var(--r-pill); background: var(--glass);
  box-shadow: var(--sh-1); font: 600 13px/1 var(--font, inherit); color: var(--ink-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.hf-map-open .hf-maparea { top: calc(64px + env(safe-area-inset-top)); }
/* шторка фильтров поверх полноэкранной карты */
body.hf-map-open .hf-scrim { z-index: 96; }
body.hf-map-open .hf-sheet { z-index: 100; }
