/* Keep the final footer links reachable above the floating call card. */
body { padding-bottom: calc(108px + env(safe-area-inset-bottom, 0px)); }
.ws-call-card {
  position: fixed;
  z-index: 100;
  right: calc(24px + env(safe-area-inset-right, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  display: flex;
  align-items: center;
  gap: 12px;
  width: 256px;
  max-width: calc(100% - 48px);
  min-height: 76px;
  padding: 14px 16px;
  border: 1px solid #258bc2;
  border-radius: 18px;
  background: linear-gradient(125deg, #123a55, #081d30 75%);
  color: #f4f8fc;
  box-shadow: 0 12px 36px #0006, inset 0 1px 0 #a6e1ff1a;
  font: 400 13px/1.45 Manrope, "Segoe UI", sans-serif;
  text-decoration: none;
  transition: border-color .2s, box-shadow .2s;
}
.ws-call-card:hover { border-color: #a6e1ff; box-shadow: 0 12px 36px #0006, 0 0 24px #32baff26; }
.ws-call-card:focus-visible { outline: 3px solid #a6e1ff; outline-offset: 4px; }
.ws-call-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 50%; color: #e2f5ff; background: #1376b2; }
.ws-call-icon svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.ws-call-copy { display: grid; gap: 3px; min-width: 0; }
.ws-call-copy strong { font-size: 14px; font-weight: 700; }
.ws-call-copy > span { color: #bed9ed; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ws-call-arrow { margin-left: auto; color: #a6e1ff; font-size: 21px; }
@media (max-width: 860px) {
  /* Consent stays in front on screens where the two cards could overlap. */
  body:has(.ws-consent:not([hidden])) .ws-call-card { visibility: hidden; pointer-events: none; }
}
@media (max-width: 540px) {
  body { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
  .ws-call-card { right: calc(12px + env(safe-area-inset-right, 0px)); bottom: calc(12px + env(safe-area-inset-bottom, 0px)); width: 230px; max-width: calc(100% - 24px); min-height: 68px; padding: 12px; gap: 10px; border-radius: 16px; }
  .ws-call-icon { flex-basis: 36px; height: 36px; }
  .ws-call-copy strong { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) { .ws-call-card { transition: none; } }
