.messages-location-card {
  display: block !important;
  width: min(360px, 100%);
  max-width: 100%;
  overflow: hidden;
  border: 1px solid #d8e3e6 !important;
  border-radius: 16px !important;
  background: #ffffff !important;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
  color: #17242b !important;
  text-decoration: none !important;
}

.messages-location-preview {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
  min-height: 132px;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(31, 111, 120, 0.12) 1px, transparent 1px),
    linear-gradient(0deg, rgba(31, 111, 120, 0.12) 1px, transparent 1px),
    linear-gradient(145deg, #eaf5f6, #f7fbfc);
  background-size: 28px 28px, 28px 28px, auto;
}

.messages-location-preview-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.messages-location-preview-fallback {
  position: absolute;
  inset: auto 12px 10px;
  display: none;
  color: #547078;
  font-size: 0.72rem;
  font-weight: 700;
  text-align: center;
}

.messages-location-preview.preview-unavailable .messages-location-preview-fallback {
  display: block;
}

.messages-location-pin {
  position: absolute;
  top: 50%;
  left: 50%;
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  transform: translate(-50%, -56%);
  border: 3px solid #ffffff;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 5px 16px rgba(15, 23, 42, 0.24);
  color: #e04444;
}

.messages-location-pin svg {
  width: 28px;
  height: 28px;
  fill: #e04444;
  stroke: #c33131;
  stroke-width: 0.7;
}

.messages-location-details {
  display: grid !important;
  gap: 3px !important;
  padding: 11px 13px 12px !important;
}

.messages-location-details strong {
  color: #17242b !important;
  font-size: 0.86rem;
  font-weight: 800;
}

.messages-location-coordinates {
  color: #72848c !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.68rem !important;
}

.messages-location-action {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  margin-top: 3px;
  color: #0f747b !important;
  font-size: 0.72rem;
  font-weight: 800;
}

.messages-location-action::after {
  content: "↗";
  margin-inline-start: 5px;
  font-size: 0.74rem;
}

.messages-location-card:hover,
.messages-location-card:focus-visible {
  border-color: #9fc9cd !important;
  box-shadow: 0 5px 16px rgba(15, 116, 123, 0.13);
}

.messages-location-card:focus-visible {
  outline: 2px solid rgba(15, 116, 123, 0.45);
  outline-offset: 2px;
}

/* Keep the location card readable inside the dark outgoing bubble. */
.conversation-message-row.mine .messages-location-card,
.direct-message-bubble.mine .messages-location-card {
  background: #ffffff !important;
  color: #17242b !important;
}

@media (max-width: 700px) {
  .messages-location-card {
    width: min(310px, 100%);
  }

  .messages-location-preview {
    min-height: 118px;
  }

  .messages-location-details {
    padding: 9px 11px 10px !important;
  }
}
