/* Address field with Google Maps suggestions (used on the public and admin complaint forms) */
.addr { display: grid; gap: 6px; min-width: 0; }
.addr > label { font-weight: 600; font-size: .9rem; color: #1b1b1f; }
.addr-box { position: relative; }
.addr-box input { width: 100%; }
.addr-list {
  position: absolute; z-index: 50; left: 0; right: 0; top: calc(100% + 6px); list-style: none; margin: 0; padding: 6px;
  background: #fff; border: 1px solid #ececf1; border-radius: 14px; box-shadow: 0 18px 40px rgba(20, 0, 0, .14); max-height: 320px; overflow-y: auto;
}
.addr-list [role=option] { display: block; padding: 10px 12px; border-radius: 10px; cursor: pointer; line-height: 1.35; font-size: .92rem; color: #4a4a55; }
.addr-list [role=option] b { color: #1b1b1f; margin-right: 6px; }
.addr-list [role=option] span { color: #8a8a96; font-size: .85rem; }
.addr-list [role=option].on, .addr-list [role=option]:hover { background: #fdecec; }
.addr-google { text-align: right; font-size: .7rem; color: #9a9aa5; padding: 4px 8px 2px; }
.addr-tools { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.addr-locate {
  font: inherit; font-size: .85rem; font-weight: 600; color: #e30613; background: #fdecec; border: 1px solid #f6c9c9;
  border-radius: 30px; padding: 7px 14px; cursor: pointer;
}
.addr-locate:hover { background: #fbdcdc; }
.addr-locate:disabled { opacity: .6; cursor: wait; }
.addr-status { font-size: .85rem; font-weight: 600; color: #8a8a96; }
.addr-status.ok { color: #18803a; }
.addr-status.err { color: #b8000c; }
.addr-hint { font-size: .8rem; color: #8a8a96; font-weight: 400; }
.addr-off .addr-hint { display: none; }
.addr-coords { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.addr-coords label { display: grid; gap: 4px; font-size: .82rem; font-weight: 600; color: #52514e; }
