/* ─── Geo picker dropdown ─── */
.geo-badge { position: relative; }

.geo-picker {
  display: none;
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 9100;
  width: 280px;
  border-radius: .6rem;
  background: var(--paper, #FAFAF7);
  border: 1px solid var(--border, rgba(17,17,17,.1));
  box-shadow: 0 8px 32px -8px rgba(0,0,0,.18);
  padding: .5rem;
  font-size: .85rem;
}
.geo-picker--open { display: block; }

.geo-picker__search {
  margin-bottom: .4rem;
}
.geo-picker__search input {
  width: 100%;
  padding: .45rem .6rem;
  border: 1px solid var(--border, rgba(17,17,17,.1));
  border-radius: .4rem;
  font-size: .85rem;
  background: transparent;
  color: var(--ink, #111);
  outline: none;
}
.geo-picker__search input:focus {
  border-color: var(--pulse, #FF4D2E);
}

.geo-picker__list {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 200px;
  overflow-y: auto;
}
.geo-picker__list li {
  padding: .4rem .6rem;
  border-radius: .3rem;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.geo-picker__list li:hover {
  background: rgba(255,77,46,.07);
}
.geo-picker__list li .city-name {
  font-weight: 500;
}
.geo-picker__list li .city-region {
  font-size: .75rem;
  color: var(--ash, #8A8A85);
}
.geo-picker__list .geo-picker__empty {
  padding: .4rem .6rem;
  color: var(--ash, #8A8A85);
  font-style: italic;
  cursor: default;
}
.geo-picker__list .geo-picker__empty:hover {
  background: none;
}

.geo-picker__locate {
  display: flex;
  align-items: center;
  gap: .4rem;
  width: 100%;
  padding: .45rem .6rem;
  margin-top: .3rem;
  border: none;
  border-top: 1px solid var(--border, rgba(17,17,17,.1));
  background: transparent;
  color: var(--pulse, #FF4D2E);
  font-size: .82rem;
  font-weight: 500;
  cursor: pointer;
  border-radius: 0 0 .4rem .4rem;
}
.geo-picker__locate:hover {
  background: rgba(255,77,46,.05);
}

/* Dark mode */
@media (prefers-color-scheme: dark) {
  .geo-picker {
    background: #1a1a1a;
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 8px 32px -8px rgba(0,0,0,.5);
  }
  .geo-picker__search input {
    border-color: rgba(255,255,255,.15);
    color: #eee;
  }
  .geo-picker__list li:hover {
    background: rgba(255,255,255,.07);
  }
  .geo-picker__locate {
    border-top-color: rgba(255,255,255,.1);
  }
}
