.floating-map-btn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  height: 60px;
  background-color: var(--greek-blue, #0d6efd);
  color: white;
  border-radius: 30px;
  display: flex;
  align-items: center;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
  z-index: 1050;
  text-decoration: none;
  transition: box-shadow 0.3s ease;
  overflow: hidden;
}

.floating-map-btn:hover {
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  color: white;
}

.floating-text-container {
  max-width: 250px;
  overflow: hidden;
  transition: max-width 0.6s cubic-bezier(0.25, 1, 0.5, 1);
  display: flex;
  align-items: center;
}

.floating-text {
  white-space: nowrap;
  padding-left: 24px;
  font-weight: 600;
  color: white;
}

.floating-icon {
  min-width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.floating-icon i {
  font-size: 1.6rem;
}

/* Klasa zwijająca tekst */
.floating-map-btn.collapsed .floating-text-container {
  max-width: 0;
}

/* Rozwinięcie przy najechaniu kursorem */
.floating-map-btn.collapsed:hover .floating-text-container {
  max-width: 210px;
}

/* Animacja podwójnego podskoku */
@keyframes doubleBounce {
  0%,
  100% {
    transform: translateY(0);
  }
  25%,
  75% {
    transform: translateY(-8px);
  }
  50% {
    transform: translateY(0);
  }
}

.floating-map-btn.bounce {
  animation: doubleBounce 1.2s ease-in-out;
}

@media (max-width: 768px) {
  .floating-map-btn {
    bottom: 20px;
    right: 20px;
    height: 50px;
    border-radius: 25px;
  }
  .floating-icon {
    min-width: 50px;
    height: 50px;
  }
  .floating-icon i {
    font-size: 1.3rem;
  }
  .floating-text {
    padding-left: 18px;
    font-size: 0.95rem;
  }
}
