/* Location autocomplete: sits over whatever form styling the host applies. */
.gm-lp-list{
  position:absolute; z-index:99999; left:0; right:0; top:100%;
  margin:2px 0 0; padding:4px; list-style:none;
  max-height:280px; overflow-y:auto; -webkit-overflow-scrolling:touch;
  background:#fff; color:#1d2330;
  border:1px solid #d6dae2; border-radius:8px;
  box-shadow:0 10px 28px rgba(16,24,40,.14);
  font-size:14px; line-height:1.35;
}
.gm-lp-list.gm-lp-up{ top:auto; bottom:100%; margin:0 0 2px; }
.gm-lp-list{ max-width:calc(100vw - 24px); box-sizing:border-box; }
.gm-lp-item{
  display:flex; flex-direction:column; gap:1px;
  padding:8px 10px; border-radius:6px; cursor:pointer;
}
.gm-lp-item.is-active,.gm-lp-item:hover{ background:#eef2ff; }
.gm-lp-name{ font-weight:600; }
.gm-lp-ctx{ font-size:12px; opacity:.68; }
.gm-lp-none{ padding:10px; opacity:.65; }

/* the field itself needs room for the caret and a positioning context */
.gm-lp-wrap{ position:relative; }

@media (max-width:640px){
  .gm-lp-list{
    max-height:min(52vh,300px);
    font-size:16px;              /* 16px stops iOS zooming the page */
    min-width:min(86vw,340px);   /* the field may be far narrower than the labels */
    right:auto;
  }
  .gm-lp-item{ padding:11px 12px; }
  .gm-lp-name{ overflow-wrap:anywhere; }
}

@media (prefers-color-scheme:dark){
  .gm-lp-list{ background:#151a23; color:#e7eaf0; border-color:#2a3140;
               box-shadow:0 10px 28px rgba(0,0,0,.5); }
  .gm-lp-item.is-active,.gm-lp-item:hover{ background:#212a38; }
}
