/* New-place dialog: only the body scrolls; the save bar stays below it, so it never covers a result or a field. */
.poi-card-body {
  scroll-padding-top: 12px;
  scroll-padding-bottom: 12px;
}

.poi-save-bar {
  flex: 0 0 auto;
  display: grid;
  gap: 8px;
  padding: 10px 25px max(12px, env(safe-area-inset-bottom, 0px));
  border-top: 1px solid #d8eaf1;
  border-radius: 0 0 22px 22px;
  background: #fff;
  box-shadow: 0 -8px 16px rgba(8, 47, 73, 0.08);
}

.poi-save-bar[hidden] { display: none; }
.poi-save-bar .poi-actions { margin-top: 0; }

.poi-save-message {
  margin: 0 !important;
  padding: 8px 10px;
  border-radius: 10px;
  background: #eef6f9;
  color: #29434f !important;
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.45;
}

.poi-save-message:empty { display: none; }
.poi-save-message[data-state="error"] { background: #fef2f2; color: #991b1b !important; font-weight: 800; }
.poi-save-message[data-state="success"] { background: #ecfdf5; color: #166534 !important; }

.poi-pick-start { display: grid; gap: 4px; }

/* × stays at the top corner of the card while the body scrolls. */
#poiDialog .dialog-close { z-index: 3; border-radius: 12px; background: rgba(255, 255, 255, .94); box-shadow: 0 2px 10px rgba(8, 47, 73, .14); }

@media (max-width: 760px), (max-width: 1000px) and (max-height: 600px) {
  .poi-save-bar { padding: 10px 19px max(12px, env(safe-area-inset-bottom, 0px)); }
}
