/* Гео-механика места (решение №174): подсказки города и улицы
   под полем и карта, по которой ставят точку. */

/* ── Подсказки адреса ────────────────────────────────────────── */

.place-suggest { position: relative; }

.place-suggest__list {
  position: absolute;
  z-index: 30;
  left: 0;
  right: 0;
  top: 100%;
  margin-top: var(--sp-1);
  max-height: 60cqw;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: none;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  box-shadow: 0 16px 40px var(--sheet-shadow);
  animation: drop-in var(--fast) var(--ease);
}

.place-suggest__list::-webkit-scrollbar { display: none; }

/* ── Карта-пикер ─────────────────────────────────────────────── */

.placemap {
  position: relative;
  min-height: 62cqw;
  margin-top: var(--sp-4);
  overflow: hidden;
  border-radius: var(--r-md);
  background: var(--surface-2);
  cursor: grab;
  /* Жест целиком наш: иначе телефон уводит страницу вместо карты. */
  touch-action: none;
}

.placemap.is-drag { cursor: grabbing; }

.placemap__plane {
  position: absolute;
  left: 0;
  top: 0;
  will-change: transform;
}

/* 256 — не дизайн, а размер тайла OpenStreetMap: картинка приходит
   именно такой, и математика совмещения (lib/mercator.js) считает
   в тех же пикселях. cqw здесь всё бы сдвинул. */
.placemap__tile {
  position: absolute;
  width: 256px;
  height: 256px;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.placemap__pin {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 7.7cqw;
  height: 7.7cqw;
  margin: -7.7cqw 0 0 -3.85cqw;
  color: var(--accent-text);
  pointer-events: none;
}

.placemap__pin .icon { width: 100%; height: 100%; }

.placemap__act .icon { width: var(--fs-md); height: var(--fs-md); }

.placemap__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.5cqw;
  height: 1.5cqw;
  margin: -0.75cqw 0 0 -0.75cqw;
  border-radius: 50%;
  background: var(--accent-text);
}

.placemap__tools {
  position: absolute;
  right: var(--sp-2);
  top: var(--sp-2);
  display: flex;
  flex-direction: column;
  gap: var(--sp-1);
}

.placemap__act {
  display: grid;
  place-items: center;
  width: 10cqw;
  height: 10cqw;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  color: var(--text);
  box-shadow: 0 4px 12px var(--sheet-shadow);
  cursor: pointer;
  transition: background var(--fast) var(--ease);
}

.placemap__act:active { background: var(--surface-2); }

.placemap__credit {
  position: absolute;
  left: var(--sp-2);
  bottom: var(--sp-2);
  padding: 0 var(--sp-1);
  background: var(--toast-bg);
  border-radius: var(--r-sm);
  font-size: var(--fs-xs);
  color: var(--toast-text);
}
