/* Floating call button — mobile only, bottom-left */
@media screen and (max-width: 980px) {
  .abrashino-call-fab {
    position: fixed;
    left: 18px;
    bottom: 24px;
    z-index: 996;
    display: block;
    text-decoration: none;
    -webkit-tap-highlight-color: transparent;
    touch-action: manipulation;
  }

  .abrashino-call-fab__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #384958;
    box-shadow:
      0 4px 16px rgba(56, 73, 88, 0.5),
      0 0 0 0 rgba(56, 73, 88, 0.45);
    animation:
      abrashino-call-pulse 2s ease-out infinite,
      abrashino-call-buzz 4s ease-in-out infinite;
  }

  .abrashino-call-fab__btn::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    border: 2px solid rgba(255, 255, 255, 0.55);
    animation: abrashino-call-ring 2s ease-out infinite;
    pointer-events: none;
  }

  .abrashino-call-fab__icon {
    width: 36px;
    height: 36px;
    display: block;
    object-fit: contain;
  }

  .abrashino-call-fab:active .abrashino-call-fab__btn {
    transform: scale(0.94);
    animation: none;
  }

  @keyframes abrashino-call-pulse {
    0% {
      box-shadow:
        0 4px 16px rgba(56, 73, 88, 0.5),
        0 0 0 0 rgba(56, 73, 88, 0.45);
    }
    70% {
      box-shadow:
        0 4px 16px rgba(56, 73, 88, 0.5),
        0 0 0 16px rgba(56, 73, 88, 0);
    }
    100% {
      box-shadow:
        0 4px 16px rgba(56, 73, 88, 0.5),
        0 0 0 0 rgba(56, 73, 88, 0);
    }
  }

  @keyframes abrashino-call-ring {
    0% {
      transform: scale(1);
      opacity: 1;
    }
    100% {
      transform: scale(1.35);
      opacity: 0;
    }
  }

  @keyframes abrashino-call-buzz {
    0%,
    78%,
    100% {
      transform: rotate(0) scale(1);
    }
    80% {
      transform: rotate(-6deg) scale(1.04);
    }
    82% {
      transform: rotate(6deg) scale(1.04);
    }
    84% {
      transform: rotate(-5deg) scale(1.03);
    }
    86% {
      transform: rotate(5deg) scale(1.03);
    }
    88% {
      transform: rotate(-3deg) scale(1.02);
    }
    90% {
      transform: rotate(3deg) scale(1.02);
    }
    92% {
      transform: rotate(0) scale(1);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .abrashino-call-fab__btn,
    .abrashino-call-fab__btn::before {
      animation: none;
    }
  }
}

@media screen and (min-width: 981px) {
  .abrashino-call-fab {
    display: none !important;
  }
}
