/* =====================================================
   ДЕНТОН — FAB-кнопки + кнопка «наверх»
   Правый нижний угол, фиксированные
   ===================================================== */

.fab-container {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 90;
}

/* Общий стиль FAB */
.fab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: 600;
  font-size: .85rem;
  transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
  box-shadow: 0 3px 12px rgba(38,70,83,.18);
}

.fab svg {
  flex-shrink: 0;
}

/* --- 2ГИС --- */
.fab--2gis {
  background: #00B8E4;
  color: #fff;
  padding: 0 16px;
  height: 48px;
}
.fab--2gis:hover {
  background: #009CC7;
  transform: translateY(-2px);
  box-shadow: 0 5px 18px rgba(0,184,228,.35);
  color: #fff;
}

/* --- Яндекс Карты --- */
.fab--yandex {
  background: #FF3B30;
  color: #fff;
  padding: 0 16px;
  height: 48px;
}
.fab--yandex:hover {
  background: #E03228;
  transform: translateY(-2px);
  box-shadow: 0 5px 18px rgba(255,59,48,.35);
  color: #fff;
}

/* --- Наверх --- */
.fab--top {
  background: var(--primary);
  color: #fff;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .3s ease, visibility .3s ease, transform .3s ease, background .25s ease;
}
.fab--top.fab--visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.fab--top:hover {
  background: var(--accent);
  transform: translateY(-2px);
}

/* --- Мобильные: круглые без текста, 48px --- */
@media (max-width: 767px) {
  .fab-container {
    bottom: 16px;
    right: 16px;
    gap: 8px;
  }
  .fab--2gis,
  .fab--yandex {
    width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 50%;
  }
  .fab--2gis .fab__text,
  .fab--yandex .fab__text {
    display: none;
  }
  .fab--top {
    width: 48px;
    height: 48px;
  }
}

/* --- Десктоп: прямоугольные с текстом --- */
@media (min-width: 768px) {
  .fab--2gis .fab__text,
  .fab--yandex .fab__text {
    display: inline;
  }
  .fab--top {
    width: 44px;
    height: 44px;
  }
}