[data-public-mobile-header] {
  transition: transform 0.18s ease;
  will-change: transform;
}

[data-public-mobile-header].is-scrolled-away {
  transform: translateY(calc(-100% - 2px));
}

.public-mobile-contact.is-magnetic-contact {
  position: fixed !important;
  z-index: 999 !important;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  cursor: grab;
  transition:
    left 0.2s ease,
    right 0.2s ease,
    top 0.2s ease,
    bottom 0.2s ease,
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0.18s ease !important;
}

.public-mobile-contact[data-contact-dock="middle-left"] {
  left: max(14px, env(safe-area-inset-left, 0px)) !important;
  right: auto !important;
  top: clamp(84px, calc(50dvh - 29px), calc(100dvh - 76px)) !important;
  bottom: auto !important;
}

.public-mobile-contact[data-contact-dock="middle-right"] {
  left: auto !important;
  right: max(14px, env(safe-area-inset-right, 0px)) !important;
  top: clamp(84px, calc(50dvh - 29px), calc(100dvh - 76px)) !important;
  bottom: auto !important;
}

.public-mobile-contact[data-contact-dock="bottom-left"] {
  left: max(14px, env(safe-area-inset-left, 0px)) !important;
  right: auto !important;
  top: auto !important;
  bottom: max(14px, env(safe-area-inset-bottom, 0px)) !important;
}

.public-mobile-contact[data-contact-dock="bottom-right"] {
  left: auto !important;
  right: max(14px, env(safe-area-inset-right, 0px)) !important;
  top: auto !important;
  bottom: max(14px, env(safe-area-inset-bottom, 0px)) !important;
}

.public-mobile-contact.is-dragging {
  cursor: grabbing;
  transition: none !important;
}

.public-mobile-contact[data-contact-avoid-overlap] {
  transition: none !important;
  transform: none !important;
}

.public-mobile-contact[data-contact-avoid-overlap]::after {
  animation: none !important;
  opacity: .35;
}

@media (prefers-reduced-motion: reduce) {
  [data-public-mobile-header],
  .public-mobile-contact.is-magnetic-contact {
    transition: none !important;
  }
}
