/* =============================================================
   .messenger-bar — FAB bottom-right (mobile)
   ============================================================= */
.messenger-bar {
  position: fixed;
  right: calc(var(--space-md) + var(--safe-right));
  bottom: calc(var(--space-md) + var(--safe-bottom));
  z-index: var(--z-header);
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-end;
  gap: var(--space-sm);
}

.messenger-bar__toggle {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: var(--color-accent);
  color: var(--color-text-inverse);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 24px rgba(17, 17, 17, 0.25);
}

.messenger-bar__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity var(--duration-base) var(--ease-out),
              transform var(--duration-base) var(--ease-out);
}

.messenger-bar.is-open .messenger-bar__list {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.messenger-bar__link {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(17, 17, 17, 0.12);
}
