.ln-address-host {
  position: relative;
}

.ln-address-list {
  position: absolute;
  inset-inline: 0;
  top: 100%;
  z-index: 90;
  max-height: min(18rem, 45vh);
  margin-top: 0.25rem;
  overflow-y: auto;
  padding: 0.25rem;
  color: #1a1a1a;
  text-align: left;
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(139, 31, 168, 0.18);
  border-radius: 0.75rem;
  box-shadow: 0 18px 45px rgba(17, 17, 17, 0.2);
  backdrop-filter: blur(16px);
}

.ln-address-list[hidden] {
  display: none;
}

.ln-address-option {
  padding: 0.625rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.35;
  cursor: pointer;
}

.ln-address-option:hover,
.ln-address-option[aria-selected="true"] {
  background: #f7f4f9;
}

.ln-address-credit {
  margin-top: 0.25rem;
  padding: 0.375rem 0.75rem 0.25rem;
  color: #666;
  font-size: 0.625rem;
  border-top: 1px solid rgba(139, 31, 168, 0.12);
}

.ln-address-credit a,
.ln-geoapify-privacy a,
.ln-address-privacy-note a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ln-address-privacy-note {
  margin-top: 0.375rem;
  color: #4a4a4a;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.35;
}

.ln-address-privacy-note--on-dark {
  color: #d1d5db;
}

.ln-address-loading {
  background-image: linear-gradient(90deg, transparent, rgba(139, 31, 168, 0.14), transparent);
  background-size: 220% 100%;
  animation: ln-address-loading 1.2s linear infinite;
}

.ln-geoapify-privacy {
  margin-top: 2rem;
}

.ln-geoapify-privacy h2 {
  font-size: 1.125rem;
}

.ln-geoapify-privacy p {
  margin-top: 0.5rem;
  color: #4a4a4a;
  font-size: 0.9375rem;
  line-height: 1.65;
}

@keyframes ln-address-loading {
  to { background-position: -220% 0; }
}

@media (prefers-reduced-motion: reduce) {
  .ln-address-loading { animation: none; }
}
