.rs-location { position: relative; }
.rs-location > input { padding-right: 42px; }
.rs-location-spinner { position: absolute; right: 13px; top: 17px; width: 15px; height: 15px; border: 2px solid var(--line-2, #d9d1c8); border-top-color: var(--accent, #825f47); border-radius: 50%; animation: rs-location-spin .65s linear infinite; }
.rs-location-pop { position: absolute; top: calc(100% - 1px); left: 0; right: 0; z-index: 90; display: none; max-height: min(360px, 55vh); overflow-y: auto; padding: 6px; border: 1px solid var(--line, #e4ddd5); border-radius: 10px; background: var(--surface, #fff); box-shadow: 0 18px 50px rgba(38, 31, 26, .16); }
.rs-location-pop[data-open="true"] { display: block; }
.rs-location-option { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; padding: 10px 11px; border: 0; border-radius: 8px; background: transparent; color: var(--ink, #211c18); font: inherit; text-align: left; cursor: pointer; }
.rs-location-option:hover, .rs-location-option[aria-selected="true"] { background: var(--accent-soft, #f2e8df); }
.rs-location-option b { display: block; font-size: 14px; line-height: 1.3; }
.rs-location-option span { display: block; margin-top: 2px; color: var(--muted, #71675f); font-size: 12px; line-height: 1.35; }
.rs-location-powered { padding: 8px 10px 4px; border-top: 1px solid var(--line, #e4ddd5); color: var(--muted, #71675f); font-size: 11px; font-weight: 650; text-align: right; }
.rs-location-status { display: block; min-height: 18px; margin-top: 6px; color: var(--muted, #71675f); font-size: 12px; line-height: 1.4; }
.rs-location-status[data-verified="true"] { color: var(--accent, #825f47); font-weight: 700; }
@keyframes rs-location-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .rs-location-spinner { animation-duration: 1.5s; } }
