/* Suggestions while typing a place (place-input.js): a calm list under the field, like the other menus. */
.place-field { position: relative; min-width: 0; width: 100%; }
.place-list {
  position: absolute; z-index: 60; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none;
  max-height: 336px; overflow-y: auto; background: var(--c-surface, #FFFFFF); border: 1px solid var(--c-border, #E1E4E8);
  border-radius: var(--r-md, 10px); box-shadow: var(--shadow-md, 0 8px 24px rgba(15, 36, 56, .08)); text-align: left;
}
.place-option {
  display: flex; flex-direction: column; justify-content: center; min-height: 44px; padding: var(--sp-1, 4px) var(--sp-3, 12px);
  border-radius: var(--r-sm, 6px); cursor: pointer;
}
.place-option:hover, .place-option[aria-selected="true"] { background: var(--c-info-soft, #ECEFF3); }
.place-name { color: var(--c-navy, #0F2438); font-weight: var(--fw-semibold, 600); line-height: var(--lh-snug, 1.25); overflow-wrap: anywhere; }
.place-detail { color: var(--c-muted, #5E6873); font-size: var(--fs-sm, .875rem); line-height: var(--lh-snug, 1.25); }
/* "Оберіть місто зі списку." where a page has no error element of its own (home page search) */
.place-error { margin: var(--sp-1, 4px) 0 0; color: var(--c-danger, #B42318); font-size: var(--fs-sm, .875rem); font-weight: var(--fw-regular, 400); line-height: var(--lh-snug, 1.25); }
.place-error[hidden] { display: none; }
.place-hint { margin: var(--sp-2, 8px) 0 0; color: var(--c-muted, #5E6873); font-size: var(--fs-sm, .875rem); line-height: var(--lh-snug, 1.25); }
