/* Compact homepage hand-off widget. Uses the same design tokens as the hostel explorer. */
.hi-home-location-search,
.hi-home-location-search * { box-sizing: border-box; }

.hi-home-location-search {
  --hi-home-surface: var(--_user-mode---light--simp-bg, #fff);
  --hi-home-ink: var(--_user-mode---light--text, #1f2430);
  --hi-home-muted: var(--_user-mode---light--alt-text, #665f57);
  --hi-home-line: var(--_user-mode---light--border, #eae4d8);
  --hi-home-brand: var(--_user-mode---primary--brand-600, #e87722);
  --hi-home-brand-hover: var(--_user-mode---primary--brand-400, #ff9b3d);
  --hi-home-accent: var(--_user-mode---accent--accent-500, #008a73);
  color: var(--hi-home-ink);
  font-family: var(--_typography---font--primary-family, Inter, system-ui, sans-serif);
}

.hi-home-location-search__form { position: relative; display: grid; gap: .75rem; max-width: 48rem; }
.hi-home-location-search__field { position: relative; }
.hi-home-location-search__input { width: 100%; min-height: 3.5rem; border: 1px solid var(--hi-home-line); border-radius: var(--radius--round, 100vw); background: var(--hi-home-surface); color: var(--hi-home-ink); font: inherit; padding: .85rem 1.15rem .85rem 2.85rem; }
.hi-home-location-search__field::before { position: absolute; z-index: 1; top: 50%; left: 1.1rem; width: .85rem; height: .85rem; border: 2px solid var(--hi-home-accent); border-radius: 50%; content: ''; transform: translateY(-65%); }
.hi-home-location-search__field::after { position: absolute; z-index: 1; top: 55%; left: 1.85rem; width: .45rem; height: 2px; background: var(--hi-home-accent); content: ''; transform: rotate(45deg); }
.hi-home-location-search__input:focus-visible { outline: 3px solid color-mix(in srgb, var(--hi-home-brand) 35%, transparent); outline-offset: 3px; }
.hi-home-location-search__choices { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: flex-end; }
.hi-home-location-search__choice { flex: 0 0 auto; }
.hi-home-location-search__choice .button_standard_element { min-height: 2.75rem; }
.hi-home-location-search__suggestions { position: absolute; z-index: 20; top: calc(100% + .5rem); right: 0; left: 0; overflow: hidden; border: 1px solid var(--hi-home-line); border-radius: var(--radius--small, .5rem); background: var(--hi-home-surface); box-shadow: 0 .8rem 2rem rgba(31,36,48,.15); }
.hi-home-location-search__suggestion { display: grid; grid-template-columns: 1.7rem 1fr; gap: .65rem; width: 100%; border: 0; border-bottom: 1px solid var(--hi-home-line); background: transparent; color: inherit; cursor: pointer; font: inherit; padding: .7rem .85rem; text-align: left; }
.hi-home-location-search__suggestion:last-child { border-bottom: 0; }
.hi-home-location-search__suggestion:hover { background: color-mix(in srgb, var(--hi-home-brand) 10%, white); }
.hi-home-location-search__pin { display: grid; width: 1.6rem; height: 1.6rem; place-items: center; border-radius: 50%; background: color-mix(in srgb, var(--hi-home-accent) 13%, white); color: var(--hi-home-accent); font-size: .7rem; font-weight: 800; }
.hi-home-location-search__suggestion small { display: block; margin-top: .1rem; color: var(--hi-home-muted); }
.hi-home-location-search [hidden] { display: none !important; }
