.jmos-context-back-slot {
  position: sticky;
  top: 0;
  z-index: 900;
  display: flex;
  width: fit-content;
  max-width: calc(100% - 24px);
  margin: 8px 12px;
}

.jmos-context-back-link {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid rgba(24, 36, 48, 0.28);
  border-radius: 999px;
  background: #fff;
  color: #17232d;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.13);
  font: 700 0.9rem/1.2 system-ui, sans-serif;
  text-decoration: none;
}

.jmos-context-back-link:hover,
.jmos-context-back-link:focus-visible {
  border-color: currentColor;
  text-decoration: underline;
}

.jmos-context-back-link[aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.65;
}

/* The map is a full-screen canvas. Its contextual return control must float
   above the canvas instead of becoming a new row that changes its height. */
body[data-jmos-public-experience="map"] .jmos-context-back-slot {
  position: fixed;
  z-index: 1400;
  top: calc(58px + env(safe-area-inset-top, 0px));
  left: max(12px, env(safe-area-inset-left, 0px));
  margin: 0;
}

@media (max-width: 520px) {
  .jmos-context-back-slot {
    position: relative;
    margin: 6px 8px;
    max-width: calc(100% - 16px);
  }

  body[data-jmos-public-experience="map"] .jmos-context-back-slot {
    position: fixed;
    margin: 0;
  }

  .jmos-context-back-link {
    min-height: 44px;
    padding: 9px 13px;
  }
}
