.location-search { min-width: 0; }
.location-search-field { position: relative; }
.location-search-icon { position: absolute; top: 50%; left: 14px; transform: translateY(-50%); color: #987039; pointer-events: none; }
.horathipbordhi-app .location-search-input { min-height: 54px; padding: 12px 47px 12px 42px; border: 1px solid #d9c6a6; border-radius: 12px; background: #fffcf6; font-size: max(16px, calc(1rem * var(--astrologer-font-scale, 1))); }
.horathipbordhi-app .location-search-input::placeholder { font-size: 13px; color: #8d7a65; opacity: 1; }
.location-search-input::-webkit-search-cancel-button { -webkit-appearance: none; }
.location-search-clear { position: absolute; inset: 5px 4px auto auto; display: flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; padding: 0; border: 0; border-radius: 9px; color: #866b4d; background: transparent; cursor: pointer; touch-action: manipulation; }
.location-search-clear:hover { color: #65090d; background: #f2e5d0; }
.location-search-clear[hidden] { display: none; }
.location-search-help { margin: 7px 0 0; color: #827363; font-size: 12px; line-height: 1.6; }
.location-search-status { color: #8b622c; font-size: 12px; line-height: 1.6; margin-top: 5px; overflow-wrap: anywhere; }
.location-search-status:empty { display: none; }
.location-search .location-search-results { position: static; width: 100%; max-height: min(320px, 45svh); margin-top: 10px; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; border: 1px solid #dfcfb4; border-radius: 12px; background: #fffcf6; box-shadow: 0 5px 16px #65090d08; scrollbar-width: thin; scrollbar-color: #cdb18a #fffcf6; }
.location-search-option { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 5px; position: relative; width: 100%; min-height: 70px; margin: 0; padding: 13px 36px 13px 15px; border: 0; border-bottom: 1px solid #ede3d5; border-radius: 0; background: transparent; color: #382c23; text-align: left; font: inherit; cursor: pointer; touch-action: manipulation; }
.location-search-option:last-child { border-bottom: 0; }
.location-search-option { box-sizing: border-box; appearance: none; -webkit-appearance: none; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: #d9bc8655; }
/* The whole row is one touch target, including its text, icon and padding. */
.location-search-option > * { pointer-events: none; }
.location-search-option:hover, .location-search-option.is-active, .location-search-option[aria-selected="true"] { background: #f3e7d4; }
.location-search-option.is-active, .location-search-option[aria-selected="true"] { box-shadow: inset 3px 0 #8e682e; }
.location-search-option:active { background: #e9d7b8; box-shadow: inset 3px 0 #8e682e; }
.location-search-option-title { color: #65090d; font-size: max(15px, calc(.95rem * var(--astrologer-font-scale, 1))); font-weight: 600; line-height: 1.55; overflow-wrap: anywhere; }
.location-search-option-detail { display: block; color: #796953; font-size: max(12px, calc(.78rem * var(--astrologer-font-scale, 1))); line-height: 1.6; overflow-wrap: anywhere; }
.location-search-option > svg { position: absolute; right: 13px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; color: #a27c43; }
.location-search-selected { display: flex; align-items: flex-start; gap: 9px; margin-top: 10px; padding: 12px 13px; border: 1px solid #ddcaa8; border-radius: 10px; background: #f8f0e1; color: #6a4d26; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
.location-search-selected[hidden] { display: none; }
.location-search-selected > svg { flex-shrink: 0; margin-top: 2px; }
.location-search-selected strong { display: block; margin-bottom: 3px; color: #65090d; font-size: 11px; font-weight: 600; }
.location-search-clear:focus-visible, .location-search-option:focus-visible { outline: 2px solid #a98040; outline-offset: -3px; }
@media (max-width: 359px) {
    .horathipbordhi-app .location-search-input::placeholder { font-size: 12px; }
    .location-search-option { padding-left: 12px; }
}
@media print { .location-search-results, .location-search-clear, .location-search-help, .location-search-status { display: none !important; } }
