.location-picker { min-width:0; margin:.75rem 0; border:1px solid var(--border); border-radius:14px; background:var(--surface,#fff); overflow:hidden; }
.location-picker [hidden] { display:none !important; }
.location-picker-heading { display:flex; align-items:center; gap:.8rem; padding:1rem; }
.location-picker-icon { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; border-radius:12px; background:rgba(37,99,235,.1); color:var(--accent,#2563eb); font-size:1.25rem; }
.location-picker-heading > div { flex:1; min-width:0; }
.location-picker-heading p { margin:.25rem 0 0; font-size:.82rem; color:var(--text-muted); overflow-wrap:anywhere; }
.location-picker [data-location-panel] { padding:0 1rem 1rem; }
.location-picker label { display:block; margin:.8rem 0; }
.location-picker textarea.form-input { font:inherit; font-size:.8rem; resize:vertical; padding:.65rem; }
.location-picker .form-input { width:100%; min-width:0; }
.location-picker-tabs { display:flex; gap:.5rem; padding-bottom:.5rem; border-bottom:1px solid var(--border); }
.location-picker-tabs button { flex:1; }
.location-picker-tabs [aria-pressed=true] { color:var(--accent,#2563eb); border-color:var(--accent,#2563eb); background:rgba(37,99,235,.08); }
.location-picker-search > span { display:flex; gap:.5rem; margin-top:.4rem; }
.location-picker-search input { flex:1; }
.location-picker-search button { flex:none; }
.location-picker-actions,.location-picker-footer { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; justify-content:space-between; margin:.65rem 0; }
.location-picker-actions span,.location-picker-footer span { font-size:.8rem; color:var(--text-muted); }
.location-picker button,.location-picker-google-help a { min-height:44px; }
.location-picker-status { margin:.75rem 0; padding:.7rem .8rem; background:rgba(37,99,235,.06); border-radius:8px; font-size:.85rem; color:var(--text-muted); overflow-wrap:anywhere; }
.location-picker-map,.location-picker-google-map { width:100%; height:clamp(300px,45vh,420px); border:1px solid var(--border); border-radius:10px; z-index:0; }
.location-picker-google-map { display:block; margin-top:.8rem; }
.location-picker-google-help { margin:1rem 0; padding:.9rem; border:1px solid var(--border); border-radius:10px; font-size:.88rem; }
.location-picker-google-help p { margin:.4rem 0; color:var(--text-muted); line-height:1.6; }
.location-picker-google-help a { display:inline-flex; align-items:center; gap:.4rem; color:var(--accent,#2563eb); }
.location-picker-results { display:grid; gap:.4rem; margin-bottom:.5rem; }
.location-picker-results button { min-height:44px; padding:.65rem .75rem; text-align:left; white-space:normal; overflow-wrap:anywhere; border:1px solid var(--border); border-radius:8px; }
.location-picker button:focus-visible,.location-picker a:focus-visible { outline:3px solid var(--accent,#2563eb); outline-offset:2px; }
@media(max-width:520px) { .location-picker-heading { flex-wrap:wrap; }.location-picker-heading > button { width:100%; }.location-picker-search > span { flex-wrap:wrap; }.location-picker-search button { width:100%; }.location-picker-tabs { flex-wrap:wrap; }.location-picker-tabs button { flex-basis:130px; } }
