/* Nhãn phường, tooltip, ô chọn Phường/Xã trên bản đồ */
.wm-lab-wrap { background: none; border: 0; }
.wm-lab {
  position: absolute; transform: translate(-50%, -50%); white-space: nowrap;
  display: inline-flex; align-items: center; gap: 5px;
  height: 22px; padding: 0 8px; border-radius: 11px; border: 1px solid rgba(214, 58, 82, .35);
  background: rgba(255, 255, 255, .88); color: #222; font: 600 11.5px/1 Inter, system-ui, sans-serif;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .12); cursor: pointer; pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
}
.wm-lab b { background: #d63a52; color: #fff; border-radius: 8px; padding: 1px 5px; font-size: 10.5px; font-weight: 700; }
.wm-lab.empty { color: #777; border-color: rgba(0, 0, 0, .15); }
.wm-lab:hover { background: #fff; border-color: #d63a52; }
.wm-lab.sel { background: #d63a52; color: #fff; border-color: #d63a52; z-index: 2; }
.wm-lab.sel b { background: #fff; color: #d63a52; }
.wm-tip.leaflet-tooltip { border: 0; border-radius: 8px; padding: 5px 9px; font: 500 12px/1.3 Inter, system-ui, sans-serif; color: #222; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.wm-tip.leaflet-tooltip b { font-weight: 700; }
@media (max-width: 900px) {
  .wm-lab { height: 26px; padding: 0 10px; font-size: 12px; }
}

/* Bottom-sheet danh sách trên điện thoại (3 nấc: peek / half / full), kéo ở thanh nắm hoặc tiêu đề */
.ms-grab { display: none; }
@media (max-width: 900px) {
  .ms { --sh: 96px; }
  .ms-dock { display: none !important; }
  .ms:not([data-mlist="1"]) .ms-listcol {
    display: flex; position: absolute; inset: auto 0 0 0; top: auto; height: var(--shf, 100%); z-index: 1150;
    border-radius: 18px 18px 0 0; border: 0; background: #fff; overflow: hidden;
    box-shadow: 0 -6px 24px rgba(0, 0, 0, .2);
    /* cao cố định, dịch bằng transform (JS đặt) → kéo mượt, không reflow */
    transform: translate3d(0, calc(var(--shf, 100%) - var(--sh)), 0); will-change: transform; contain: layout paint;
  }
  .ms.sh-anim:not([data-mlist="1"]) .ms-listcol { transition: transform .22s cubic-bezier(.2, .8, .2, 1); }
  .ms[data-mlist="1"] .ms-listcol { transform: none !important; height: auto; }
  .ms.sh-drag .ms-mapcol { pointer-events: none; }
  .ms.sh-drag, .ms.sh-drag * { user-select: none; -webkit-user-select: none; }
  .ms:not([data-mlist="1"]):not([data-sheet="full"]) .ms-scroll { overflow: hidden; touch-action: none; }
  .ms:not([data-mlist="1"]) .ms-scroll { padding-bottom: calc(96px + var(--hid, 0px) + env(safe-area-inset-bottom)); overscroll-behavior: contain; }
  .ms:not([data-mlist="1"]) .ms-grab {
    display: flex; flex: none; justify-content: center; align-items: center; height: 26px; cursor: grab; touch-action: none;
  }
  .ms-grab i { width: 44px; height: 5px; border-radius: 3px; background: #cfd4da; }
  .ms:not([data-mlist="1"]) .ms-lh { touch-action: none; cursor: grab; padding-top: 0; }
  .ms:not([data-mlist="1"]) .ms-locate,
  .ms:not([data-mlist="1"]) .ms-mnote { bottom: calc(min(var(--sh), 60%) + 12px); }
  .ms:not([data-mlist="1"]) .ms-draw-hint { bottom: calc(var(--sh) + 12px); }
  .ms:not([data-mlist="1"]) .ms-mapcol .leaflet-bottom { bottom: min(var(--sh), 60%); }
  .ms-locate { transition: bottom .26s cubic-bezier(.2, .8, .2, 1); }
}
