/* The venue card a venue link opens: photo, name, address with Copy, any
   special instructions, then the map choices. Colors lean on the site's
   brand tokens with plain fallbacks so every site in the fleet can carry it
   without theme work. A bottom sheet on phones, a centered card on wider
   screens. */
.rt-maps-choice { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-end; justify-content: center; }
.rt-maps-choice-scrim { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.rt-maps-choice-sheet {
  position: relative;
  width: min(100%, 520px);
  max-height: calc(100vh - 24px);
  overflow-y: auto;
  box-sizing: border-box;
  padding: 18px 16px calc(16px + env(safe-area-inset-bottom, 0px));
  border-radius: 18px 18px 0 0;
  background: #fff;
  color: #111;
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.35);
  animation: rt-maps-choice-up 0.22s ease-out;
}
@keyframes rt-maps-choice-up { from { transform: translateY(24px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rt-maps-choice-sheet { animation: none; } }
@media (min-width: 700px) {
  .rt-maps-choice { align-items: center; padding: 24px; }
  .rt-maps-choice-sheet { border-radius: 18px; padding-bottom: 16px; }
}
.rt-maps-choice-x {
  position: absolute; top: 10px; right: 10px;
  width: 34px; height: 34px; border: 0; border-radius: 50%;
  background: rgba(255, 255, 255, 0.9); color: #333; font-size: 1rem; cursor: pointer; box-shadow: 0 1px 6px rgba(0, 0, 0, 0.25);
}
.rt-maps-choice-photo {
  display: block; width: 100%; height: 160px; object-fit: cover;
  border-radius: 12px; margin: 0 0 12px;
}
@media (min-width: 700px) { .rt-maps-choice-photo { height: 200px; } }
.rt-maps-choice-title { margin: 0 0 4px; padding-right: 36px; font-weight: 800; font-size: 1.15rem; line-height: 1.2; }
.rt-maps-choice-address {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  margin: 0 0 10px; font-size: 0.95rem; color: #444;
}
.rt-maps-choice-address > span { flex: 1 1 200px; }
.rt-maps-choice-copy {
  flex: none; display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 12px; border: 1px solid #cfcfcf; border-radius: 999px;
  background: #fff; color: #222; font: inherit; font-size: 0.85rem; font-weight: 700; cursor: pointer;
}
.rt-maps-choice-copy.is-done { border-color: #2e7d32; color: #2e7d32; }
.rt-maps-choice-notes {
  display: flex; gap: 8px; align-items: flex-start;
  margin: 0 0 12px; padding: 10px 12px; border-radius: 10px;
  background: #fff7e0; color: #4a3b00; font-size: 0.92rem; line-height: 1.35;
}
.rt-maps-choice-notes i { margin-top: 3px; }
.rt-maps-choice-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 8px 0 0;
  padding: 14px 16px;
  border: 0;
  border-radius: 12px;
  background: var(--rt-primary, #1c1c1c);
  color: var(--rt-on-primary, #fff);
  font: inherit;
  font-weight: 700;
  font-size: 1.05rem;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
a.rt-maps-choice-btn:hover, a.rt-maps-choice-btn:focus { color: var(--rt-on-primary, #fff); text-decoration: none; }
.rt-maps-choice-btn i { font-size: 1.2em; }
.rt-maps-choice-btn--web { background: #2b2b2b; color: #fff; }
.rt-maps-choice-btn--cancel { background: #f0f0f0; color: #333; font-weight: 600; }
