/* Mobile-only floating call button — size/position synced via floating-call-button-align.js */
@media (max-width: 767px) {
  #floating-call-button {
    position: fixed;
    bottom: calc(58px + 52px);
    left: 20px;
    z-index: 9999;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: linear-gradient(145deg, #1a8cff 0%, #0d6efd 100%);
    color: #fff;
    text-decoration: none;
    border: none;
    box-shadow:
      0 4px 16px rgba(0, 0, 0, 0.38),
      0 0 0 1px rgba(255, 255, 255, 0.1) inset;
    transition: transform 0.2s ease, filter 0.2s ease, box-shadow 0.2s ease;
    -webkit-tap-highlight-color: transparent;
  }

  #floating-call-button::before {
    content: "";
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    pointer-events: none;
    animation: shimmer-pulse 2.5s ease-out infinite;
  }

  #floating-call-button svg {
    width: 36px;
    height: 36px;
    fill: currentColor;
    position: relative;
    z-index: 1;
  }

  #floating-call-button:hover,
  #floating-call-button:focus-visible {
    transform: scale(1.06);
    filter: brightness(1.06);
    box-shadow:
      0 6px 20px rgba(13, 110, 253, 0.45),
      0 0 0 1px rgba(255, 255, 255, 0.12) inset;
  }

  #floating-call-button:active {
    transform: scale(0.96);
  }
}

@media (min-width: 768px) {
  #floating-call-button {
    display: none !important;
  }
}

@keyframes shimmer-pulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(26, 140, 255, 0.55);
  }
  55% {
    transform: scale(1.12);
    box-shadow: 0 0 0 14px rgba(26, 140, 255, 0.18);
  }
  100% {
    transform: scale(1.35);
    box-shadow: 0 0 0 28px rgba(26, 140, 255, 0);
  }
}
