/* Bubble message general styling */
.bubble {
  position: fixed;
  display: inline-block;
  padding: 12px;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  border-radius: 20px;
  animation: pop 0.3s ease-out;
  animation-fill-mode: forwards;
  opacity: 0;
  visibility: hidden;
  bottom: 110px;
  right: 60px;
  max-width: 150x;
  word-wrap: break-word;
}

.bubble:after {
  content: "";
  position: absolute;
  bottom: -15px;
  right: 30px;
  width: 0;
  height: 0;
  border-left: var(--tail-width, 10px) solid transparent;
  border-right: var(--tail-width, 10px) solid transparent;
  transform: rotate(var(--tail-rotation, -15deg));
}

@keyframes pop {
  0% { transform: scale(0); opacity: 0; visibility: hidden; }
  100% { transform: scale(1); opacity: 1; visibility: visible; }
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .bubble {
    font-size: 14px;
    bottom: 90px;
    right: 40px;
  }
}

@media (max-width: 600px) {
  .bubble {
    font-size: 12px;
    bottom: 68px;
    right: 26px;
  }

  .bubble:after {
    border-right: 5px solid transparent;
    transform: rotate(-20deg);
  }
}
