/* Карта + пин */
.delivery-map-wrap { position: relative; }
.delivery-map-canvas { width: 100%; border-radius: 12px; overflow: hidden; }

/* Низ контейнера = центр карты (кончик треугольника совпадает с точкой) */
.delivery-map-pin {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 64px;                 /* 48 (кружок) + 16 (носик) */
  transform: translate(-50%, -100%);
  z-index: 10;
  pointer-events: none;
  transition: transform .15s ease, filter .15s ease;
}
.delivery-map-pin.is-moving {
  transform: translate(-50%, calc(-100% - 10px));
  filter: drop-shadow(0 6px 10px rgba(0,0,0,.4));
}

/* Кружок */
.delivery-map-pin .pin-dot {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #000;
  box-shadow: 0 2px 10px rgba(0,0,0,.35);
}

/* Носик — указывает ровно в центр карты */
.delivery-map-pin .pin-dot .pin-dot-stick {
  position: absolute;
  left: 45%;
  top: 42px;
  width: 4px;
  height: 23px;
  border-left: 4px solid #000;
  border-radius: 20px;
}

/* Поле адреса + дропдаун */
.dm-field { display:flex; flex-direction:column; gap:6px; max-width: 460px; }
.dm-label { font: 600 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial; color:#757575; }
.dm-input-wrap { position: relative; }
.dm-input {
  width: 100%; height: 44px; padding: 12px 40px 12px 14px !important;
  border: 0; border-radius: 10px !important; background: #ececec !important; color: #1f1f1f !important;
  font: 14px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial;
  outline: none !important;
}
.dm-input::placeholder { color:#9a9a9a; }
.dm-clear {
  position: absolute; right: 5px; top: 50%; transform: translateY(-50%);
  width: 20px !important; height: 20px !important; min-height: 20px !important; border: 0; border-radius: 50%;
  background: #d6d6d6; cursor: pointer; padding: 10px !important;
}
.dm-clear::before { content:'✕'; display:block; text-align:center; font: 10px/20px system-ui,Arial; color:#555; }
.dm-clear:hover { background:#cfcfcf; }

.dm-suggest-list {
  position: absolute; left: 0; right: 0; top: calc(100% + 6px);
  display: none; margin: 0; padding: 6px 0; list-style: none;
  background: #fff; border: 1px solid #e5e5e5; border-radius: 10px;
  box-shadow: 0 10px 25px rgba(0,0,0,.12);
  max-height: 280px; overflow: auto; z-index: 10000;
}
.dm-suggest-item { padding: 10px 14px; cursor: pointer; font: 14px/1.35 system-ui,Arial; color:#222; }
.dm-suggest-item:hover, .dm-suggest-item.is-active { background:#f5f5f5; }
