/* Saltfah Floating Contact Button */

.sorfah-floating-contact {
  position: fixed;
  z-index: 999999;
  bottom: var(--sfcb-desktop-bottom, 28px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: none;
}

.sorfah-floating-right {
  right: var(--sfcb-desktop-side, 24px);
}

.sorfah-floating-left {
  left: var(--sfcb-desktop-side, 24px);
}

.sorfah-contact-btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 190px;
  padding: 12px 16px;
  border-radius: 999px;
  text-decoration: none !important;
  color: #fff !important;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 34px rgba(0,0,0,.38);
  transform: translateZ(0);
  transition: transform .22s ease, box-shadow .22s ease, filter .22s ease;
}

.sorfah-contact-btn:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 20px 42px rgba(0,0,0,.46);
  filter: brightness(1.07);
}

.sorfah-contact-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.16) 45%, transparent 62%);
  transform: translateX(-130%) skewX(-16deg);
  transition: transform .65s ease;
  pointer-events: none;
}

.sorfah-contact-btn:hover::after {
  transform: translateX(130%) skewX(-16deg);
}

.sorfah-contact-icon {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  background: rgba(255,255,255,.16);
}

.sorfah-contact-text {
  display: flex;
  flex-direction: column;
  line-height: 1.05;
  position: relative;
  z-index: 2;
}

.sorfah-contact-text strong {
  font-size: 15px;
  font-weight: 950;
  color: #fff;
}

.sorfah-contact-text small {
  margin-top: 4px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(255,255,255,.82);
}

.sorfah-line-btn {
  background: linear-gradient(135deg, #10c85a, #00a94f);
}

.sorfah-telegram-btn {
  background: linear-gradient(135deg, #2aa7df, #1478c8);
}

/* Premium */
.sorfah-floating-style-premium .sorfah-line-btn {
  box-shadow: 0 18px 40px rgba(11, 200, 91, .28), 0 0 22px rgba(16, 200, 90, .18);
}

.sorfah-floating-style-premium .sorfah-telegram-btn {
  box-shadow: 0 18px 40px rgba(42, 167, 223, .26), 0 0 22px rgba(42, 167, 223, .16);
}

/* Glass */
.sorfah-floating-style-glass .sorfah-contact-btn {
  background: rgba(14,18,30,.72) !important;
  backdrop-filter: blur(14px);
  border-color: rgba(255,255,255,.18);
}

.sorfah-floating-style-glass .sorfah-line-btn .sorfah-contact-icon {
  background: #10c85a;
}

.sorfah-floating-style-glass .sorfah-telegram-btn .sorfah-contact-icon {
  background: #2aa7df;
}

/* Minimal */
.sorfah-floating-style-minimal .sorfah-contact-btn {
  min-width: 160px;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(0,0,0,.24);
}

/* Circle */
.sorfah-floating-style-circle .sorfah-contact-btn {
  min-width: 56px;
  width: 56px;
  height: 56px;
  padding: 0;
  justify-content: center;
}

.sorfah-floating-style-circle .sorfah-contact-text {
  display: none;
}

.sorfah-floating-style-circle .sorfah-contact-icon {
  width: 56px;
  height: 56px;
  background: transparent;
}

/* Pulse */
.sorfah-floating-contact.has-pulse .sorfah-line-btn::before,
.sorfah-floating-contact.has-pulse .sorfah-telegram-btn::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: inherit;
  z-index: -1;
  animation: sorfahContactPulse 1.8s ease-in-out infinite;
}

.sorfah-floating-contact.has-pulse .sorfah-line-btn::before {
  background: rgba(16, 200, 90, .25);
}

.sorfah-floating-contact.has-pulse .sorfah-telegram-btn::before {
  background: rgba(42, 167, 223, .22);
}

@keyframes sorfahContactPulse {
  0%, 100% { transform: scale(.96); opacity: .32; }
  50% { transform: scale(1.10); opacity: .72; }
}

/* Visibility */
@media (min-width: 769px) {
  .sorfah-floating-contact.hide-desktop {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .sorfah-floating-contact {
    bottom: var(--sfcb-mobile-bottom, 18px);
    gap: 8px;
  }

  .sorfah-floating-right {
    right: var(--sfcb-mobile-side, 14px);
  }

  .sorfah-floating-left {
    left: var(--sfcb-mobile-side, 14px);
  }

  .sorfah-floating-contact.hide-mobile {
    display: none !important;
  }

  .sorfah-mobile-mode-compact .sorfah-contact-btn {
    min-width: 54px;
    width: 54px;
    height: 54px;
    padding: 0;
    justify-content: center;
  }

  .sorfah-mobile-mode-compact .sorfah-contact-text {
    display: none;
  }

  .sorfah-mobile-mode-compact .sorfah-contact-icon {
    width: 54px;
    height: 54px;
    background: transparent;
  }

  .sorfah-mobile-mode-full .sorfah-contact-btn {
    min-width: 168px;
    padding: 11px 13px;
  }

  .sorfah-contact-text strong {
    font-size: 14px;
  }

  .sorfah-contact-text small {
    font-size: 11px;
  }
}
