/* Global location picker — shared across signup, profile, settings, admin. */
.location-picker {
  position: relative;
}
.location-picker .lp-input {
  width: 100%;
  box-sizing: border-box;
  padding: 12px 14px;
  font-size: 15px;
  color: var(--black, #222);
  background: #fff;
  border: 1px solid var(--border, #e0e0e0);
  border-radius: var(--radius-md, 10px);
}
.location-picker .lp-input:focus {
  outline: none;
  border-color: var(--orange, #ffa500);
  box-shadow: 0 0 0 3px rgba(255, 165, 0, 0.15);
}
.location-picker .lp-results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 60;
  text-align: left; /* never inherit a centered container (e.g. a hero) */
  background: #fff;
  border: 1px solid var(--border, #e0e0e0);
  border-radius: var(--radius-md, 10px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  max-height: 280px;
  overflow-y: auto;
  /* Keep it scrollable but hide the (ugly) scrollbar. */
  scrollbar-width: none;              /* Firefox */
  -ms-overflow-style: none;           /* old Edge/IE */
}
.location-picker .lp-results::-webkit-scrollbar { width: 0; height: 0; display: none; } /* WebKit */
.location-picker .lp-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 10px 14px;
  cursor: pointer;
  border-bottom: 1px solid var(--border-light, #f0f0f0);
}
.location-picker .lp-item:last-child { border-bottom: 0; }
.location-picker .lp-item:hover { background: var(--off-white, #fafafa); }
.location-picker .lp-main { font-size: 14px; font-weight: 500; color: var(--black, #222); }
.location-picker .lp-sub  { font-size: 12px; color: var(--gray, #666); }
