.floating-button {
/* Эффект выпуклости с помощью тени */
  box-shadow:
    /* Первая (внутренняя) тень: делает кнопку приподнятой и мягкой */
    0 4px 6px rgba(0, 0, 0, 0.1),
    /* Вторая (внешняя) тень: более заметная, для "парящего" эффекта */
    0 10px 20px rgba(0, 0, 0, 0.15);

/* Для дополнительной плавности при взаимодействии (например, при наведении) */
  transition: box-shadow 0.3s ease;
}
.message-bubble-tourist {
  --bg-color: #fff;
  background-color: var(--bg-color);
}
.message-bubble-tourist.edit-mode {
  --bg-color: #3b7ddd;
  color: #fff !important;
}
.message-bubble-manager:not(.edit-mode) a,
.message-bubble-tourist.edit-mode a {
  color: #fff !important; /* цвет ссылки в синей тучке */
}
.message-bubble-manager:not(.edit-mode) a:hover,
.message-bubble-tourist.edit-mode a:hover {
  color: #e9ecef !important; /* hover цвет ссылки в синей тучке */
}
.message-bubble-manager {
  --bg-color: #3b7ddd;
  background-color: var(--bg-color);
}
.message-bubble-manager.edit-mode {
  --bg-color: #e9ecef;
  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;;
}
.message-bubble-left {
  border-bottom-left-radius: 0 !important;
}
.message-bubble-right {
  border-bottom-right-radius: 0 !important;
}
.is-read {
  opacity: 0.75;
}
.chat {
  --navbar-height: 4rem;
  --spacing: 0.5rem;
  height: 100%;
  width: 100%;
  z-index: 1005;
}
.chat-messages {
  overflow-y: auto;
  z-index: 1004;
}
.chat-header {
  box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.25);
}
.chat-footer {
  box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.04);
}
@media screen and (max-width: 767.98px) {
  .chat {
    border-width: 0 !important;
    border-radius: 0 !important;
    position: relative !important;
  }
  .chat-header,
  .chat-footer {
    border-radius: 0 !important;
    position: fixed;
    z-index: 1005;
  }
  .chat-header {
    top: 0;
  }
  .chat-footer {
    bottom: 0;
  }
  .chat.show ~ * {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .chat {
    height: calc(100% - (var(--navbar-height) + var(--spacing) * 2));
    width: 30rem;
    top: calc(var(--navbar-height) + var(--spacing));
    right: var(--spacing);
  }
}
.open-chat {
  .tail::after {
    content: '';
    position: absolute;
    width: 0;
    height: 0;
    border: 0.8rem solid transparent;
    border-top: 0;
    border-bottom: 0.8rem solid #3b7ddd;
    z-index: -1;
    bottom: 20%;
    right: -0.6rem;
    transform: rotate(10deg);
  }
  &:hover {
    --btn-primary-hover-bg-color: #3571c7;
    --btn-primary-hover-border-color: #2f64b1;
    .btn-primary {
      background-color: var(--btn-primary-hover-bg-color);
      border-color: var(--btn-primary-hover-border-color);
    }
    .tail::after {
      border-bottom-color: var(--btn-primary-hover-bg-color);
    }
  }
}