.as-contact-buttons {
  position: fixed;
  inset: 0;
  z-index: 999999;
  pointer-events: none;
}

.as-contact-buttons .as-contact-btn {
  position: fixed;
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  width: 62px;
  height: 62px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  color: #fff !important;
  pointer-events: auto;
  overflow: visible;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .22);
  animation: asSoftAttention 4s ease-in-out infinite;
  border: 0;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  transform: translateZ(0);
}

.as-contact-buttons .as-call-btn {
  left: 18px;
  background: linear-gradient(135deg, #d90016, #ff2a38);
}

.as-contact-buttons .as-whatsapp-btn {
  right: 18px;
  background: linear-gradient(135deg, #2bc76f, #16ad5c);
}

.as-contact-buttons .as-contact-btn::before {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 24px;
  background: inherit;
  opacity: .25;
  z-index: -1;
  animation: asGlowPulse 2.8s ease-out infinite;
}

.as-contact-buttons .as-contact-btn:hover,
.as-contact-buttons .as-contact-btn:focus-visible {
  color: #fff !important;
  filter: brightness(1.03);
}

.as-contact-buttons .as-contact-btn:focus-visible {
  outline: 3px solid rgba(255,255,255,.95);
  outline-offset: 3px;
}

@keyframes asGlowPulse {
  0%   { transform: scale(.95); opacity: .35; }
  70%  { transform: scale(1.28); opacity: 0; }
  100% { transform: scale(1.28); opacity: 0; }
}

@keyframes asSoftAttention {
  0%, 75%, 100% { transform: translateY(0) scale(1); }
  82% { transform: translateY(-5px) scale(1.04); }
  88% { transform: translateY(0) scale(1); }
  94% { transform: translateY(-3px) scale(1.02); }
}

@media screen and (min-width: 769px) {
  .as-contact-buttons .as-call-btn {
    left: auto;
    right: 18px;
    bottom: 92px;
  }

  .as-contact-buttons .as-whatsapp-btn {
    right: 18px;
    bottom: 18px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .as-contact-buttons .as-contact-btn,
  .as-contact-buttons .as-contact-btn::before {
    animation: none;
  }
}




/* İkonlar CSS mask olarak çizilir. Böylece tema/Elementor'un global SVG stilleri ikonları bozamaz. */
.as-contact-buttons .as-contact-icon {
  display: block !important;
  flex: 0 0 auto;
  background: #fff !important;
  position: relative;
  z-index: 2;
}

.as-contact-buttons .as-phone-icon {
  width: 31px;
  height: 31px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79a15.46 15.46 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6.62 10.79a15.46 15.46 0 0 0 6.59 6.59l2.2-2.2a1 1 0 0 1 1.02-.24c1.12.37 2.33.57 3.57.57a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1C10.61 21 3 13.39 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.as-contact-buttons .as-whatsapp-icon {
  width: 30px;
  height: 30px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.25a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.984-.59-.525-.986-1.17-1.103-1.369-.116-.198-.013-.304.086-.403.09-.088.197-.232.296-.346.099-.116.133-.198.198-.33.065-.133.034-.25-.016-.35-.05-.099-.445-1.076-.61-1.47-.16-.389-.323-.336-.445-.342-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.527.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.25a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.984-.59-.525-.986-1.17-1.103-1.369-.116-.198-.013-.304.086-.403.09-.088.197-.232.296-.346.099-.116.133-.198.198-.33.065-.133.034-.25-.016-.35-.05-.099-.445-1.076-.61-1.47-.16-.389-.323-.336-.445-.342-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.527.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z'/%3E%3C/svg%3E") center / contain no-repeat;
}
