:root {
  --sfcw-color: #f3272f;
  --sfcw-color-rgb: 243, 39, 47;
}

.sfcw-widget,
.sfcw-widget * {
  box-sizing: border-box;
}

.sfcw-widget {
  position: fixed;
  right: 28px;
  bottom: 24px;
  z-index: 999999;
  direction: rtl;
  font-family: Tahoma, Arial, sans-serif;
}

.sfcw-widget__panel {
  position: absolute;
  right: 0;
  bottom: 82px;
  width: 190px;
  padding: 7px;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(28, 33, 45, .16);
  opacity: 0;
  visibility: hidden;
  transform: translateY(15px) scale(.96);
  transform-origin: bottom right;
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.sfcw-widget.is-open .sfcw-widget__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.sfcw-widget__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 41px;
  padding: 9px 8px 9px 10px;
  border-bottom: 1px solid #f1f1f1;
  border-radius: 9px;
  color: #4b4b4b;
  text-decoration: none !important;
  font-size: 13px;
  line-height: 1.6;
  white-space: nowrap;
  transition: background-color .18s ease, transform .18s ease;
}

.sfcw-widget__item:last-child {
  border-bottom: 0;
}

.sfcw-widget__item:hover,
.sfcw-widget__item:focus {
  color: #333;
  background: #f8f9fb;
  transform: translateX(-2px);
  outline: none;
}

.sfcw-widget__item-icon {
  width: 21px;
  height: 21px;
  flex: 0 0 21px;
  display: grid;
  place-items: center;
  color: #202124;
}

.sfcw-widget__item-icon svg {
  width: 19px;
  height: 19px;
  display: block;
}

.sfcw-widget__item-icon--telegram {
  color: #229ed9;
}

.sfcw-widget__item-icon--whatsapp {
  color: #20c56b;
}

.sfcw-widget__item-icon--instagram {
  color: #e1306c;
}

@keyframes sfcwButtonShake {
  0%, 76%, 100% {
    transform: translate3d(0, 0, 0) rotate(0);
  }
  80% {
    transform: translate3d(-4px, 0, 0) rotate(-5deg);
  }
  84% {
    transform: translate3d(4px, 0, 0) rotate(5deg);
  }
  88% {
    transform: translate3d(-3px, 0, 0) rotate(-4deg);
  }
  92% {
    transform: translate3d(3px, 0, 0) rotate(4deg);
  }
  96% {
    transform: translate3d(0, 0, 0) rotate(0);
  }
}

@keyframes sfcwHaloPulse {
  0% {
    opacity: 0;
    transform: scale(.72);
  }
  35% {
    opacity: .17;
  }
  65% {
    opacity: .12;
  }
  100% {
    opacity: 0;
    transform: scale(1.42);
  }
}

button.sfcw-widget__button,
button.sfcw-widget__button:hover,
button.sfcw-widget__button:focus,
button.sfcw-widget__button:active {
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 0 !important;
  float: none !important;
  clear: none !important;

  width: 68px !important;
  min-width: 68px !important;
  max-width: 68px !important;
  height: 68px !important;
  min-height: 68px !important;
  max-height: 68px !important;

  display: grid !important;
  place-items: center !important;
  flex: 0 0 68px !important;

  padding: 0 !important;
  margin: 0 !important;

  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-radius: 50% !important;

  background-color: var(--sfcw-color) !important;
  background-image: none !important;
  background-clip: border-box !important;

  color: #fff !important;
  font: inherit !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: normal !important;
  text-align: center !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  text-transform: none !important;
  white-space: normal !important;

  cursor: pointer !important;
  isolation: isolate !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  vertical-align: middle !important;
  outline: 0 !important;
  transform-origin: center center !important;

  box-shadow: 0 8px 22px rgba(var(--sfcw-color-rgb), .35) !important;
  filter: none !important;

  animation: sfcwButtonShake 2.6s ease-in-out infinite !important;
  transition: transform .2s ease, box-shadow .2s ease !important;

  -webkit-appearance: none !important;
  appearance: none !important;
  -webkit-tap-highlight-color: transparent;
}

button.sfcw-widget__button::before {
  content: "" !important;
  box-sizing: border-box !important;
  position: absolute !important;
  inset: -8px !important;
  z-index: -1 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: rgba(var(--sfcw-color-rgb), .7) !important;
  box-shadow: none !important;
  opacity: 0;
  transform: scale(.72);
  animation: sfcwHaloPulse 1.55s ease-out infinite !important;
  pointer-events: none !important;
}

button.sfcw-widget__button:hover {
  animation-play-state: paused !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 11px 26px rgba(var(--sfcw-color-rgb), .4) !important;
}

button.sfcw-widget__button:focus-visible {
  outline: 3px solid #1a73e8 !important;
  outline-offset: 5px !important;
}

.sfcw-widget.is-open button.sfcw-widget__button {
  animation: none !important;
  transform: none !important;
}

.sfcw-widget.is-open button.sfcw-widget__button::before {
  animation: none !important;
  opacity: 0 !important;
}

button.sfcw-widget__button svg {
  position: absolute !important;
  inset: auto !important;
  width: 31px !important;
  min-width: 31px !important;
  max-width: 31px !important;
  height: 31px !important;
  min-height: 31px !important;
  max-height: 31px !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  color: currentColor !important;
  overflow: visible !important;
  pointer-events: none !important;
  transition: opacity .18s ease, transform .22s ease !important;
}

.sfcw-widget .sfcw-widget__headset {
  opacity: 1 !important;
  transform: scale(1) rotate(0) !important;
}

.sfcw-widget .sfcw-widget__close {
  opacity: 0 !important;
  transform: scale(.7) rotate(-90deg) !important;
}

.sfcw-widget.is-open .sfcw-widget__headset {
  opacity: 0 !important;
  transform: scale(.7) rotate(90deg) !important;
}

.sfcw-widget.is-open .sfcw-widget__close {
  opacity: 1 !important;
  transform: scale(1) rotate(0) !important;
}

@media (max-width: 600px) {
  .sfcw-widget {
    right: 18px;
    bottom: 18px;
  }

  .sfcw-widget__panel {
    bottom: 76px;
    width: 185px;
  }

  button.sfcw-widget__button,
  button.sfcw-widget__button:hover,
  button.sfcw-widget__button:focus,
  button.sfcw-widget__button:active {
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    flex-basis: 62px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sfcw-widget__panel,
  .sfcw-widget__item,
  button.sfcw-widget__button,
  button.sfcw-widget__button:hover,
  button.sfcw-widget__button:focus,
  button.sfcw-widget__button:active,
  button.sfcw-widget__button::before,
  button.sfcw-widget__button svg {
    animation: none !important;
    transition: none !important;
  }
}
