.journey-consent {
  position: fixed;
  z-index: 10000;
  inset-inline: 1rem;
  bottom: 4.5rem;
  max-width: 44rem;
  margin-inline: auto;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(0, 0, 0, .18);
  border-radius: .5rem;
  background: #fff;
  color: #111;
  box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
  font: 400 1rem/1.5 ui-sans-serif, system-ui, sans-serif;
}

.journey-consent[hidden],
.journey-privacy-choice[hidden] {
  display: none;
}

.journey-consent p {
  max-width: none;
  margin: 0 0 .85rem;
}

.journey-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

.journey-consent button,
.journey-privacy-choice {
  min-height: 44px;
  padding: .55rem 1rem;
  border: 1px solid #164d75;
  border-radius: .3rem;
  background: #164d75;
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.journey-consent button[data-journey-choice="denied"] {
  background: #fff;
  color: #164d75;
}

.journey-privacy-choice {
  position: fixed;
  z-index: 9999;
  right: 1rem;
  bottom: 1rem;
  box-shadow: 0 4px 18px rgba(0, 0, 0, .18);
  font-size: .9rem;
}

.journey-consent button:focus-visible,
.journey-privacy-choice:focus-visible {
  outline: 3px solid #8eb6dc;
  outline-offset: 3px;
}

@media (max-width: 480px) {
  .journey-consent {
    inset-inline: .65rem;
    bottom: 4.2rem;
    padding: .85rem;
  }

  .journey-privacy-choice {
    right: .65rem;
    bottom: .65rem;
  }
}