    /* ── Обёртка ── */
    .fab-wrap {
      position: fixed;
      bottom: 40px;
      right: 40px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      z-index: 999999999;
    }

    /* ── Список кнопок-мессенджеров ── */
    .fab-menu {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 12px;
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;
    }
    .fab-menu.open {
      max-height: 300px;
      opacity: 1;
    }

    /* ── Кнопка мессенджера ── */
    .fab-item {
      width: 54px;
      height: 54px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: 0 4px 16px rgba(0,0,0,0.18);
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      transform: scale(0.7);
      opacity: 0;
      text-decoration: none;
    }
    .fab-menu.open .fab-item {
      transform: scale(1);
      opacity: 1;
    }
    .fab-menu.open .fab-item:nth-child(1) { transition: transform 0.25s 0.05s ease, opacity 0.25s 0.05s, box-shadow 0.2s; }
    .fab-menu.open .fab-item:nth-child(2) { transition: transform 0.25s 0.12s ease, opacity 0.25s 0.12s, box-shadow 0.2s; }
    .fab-menu.open .fab-item:nth-child(3) { transition: transform 0.25s 0.19s ease, opacity 0.25s 0.19s, box-shadow 0.2s; }

    .fab-item:hover {
      transform: scale(1.1);
      box-shadow: 0 6px 22px rgba(0,0,0,0.25);
    }

    .fab-item.viber    { background: #7b519d; }
    .fab-item.whatsapp { background: #25d366; }
    .fab-item.telegram { background: #29a8e8; }

    .fab-item svg {
      width: 28px;
      height: 28px;
      fill: #fff;
    }

    /* ── Главная кнопка ── */
    .fab-main {
      width: 62px;
      height: 62px;
      border-radius: 50%;
      background: #29a8e8;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      box-shadow: 0 4px 18px rgba(41,168,232,0.45);
      border: 5px solid #b8dff7;
      position: relative;
      transition: background 0.3s, transform 0.2s, border-color 0.3s, box-shadow 0.3s;
      flex-shrink: 0;
    }
    .fab-main:hover { transform: scale(1.06); }
    .fab-main.open {
      background: #e05050;
      border-color: #f7b8b8;
      box-shadow: 0 4px 18px rgba(224,80,80,0.4);
    }

    .fab-main svg {
      width: 26px;
      height: 26px;
      fill: #fff;
      transition: transform 0.35s;
    }
    .fab-main.open svg { transform: rotate(45deg); }

    /* ── Badge ── */
    .fab-badge {
      position: absolute;
      top: -2px;
      right: -2px;
      width: 20px;
      height: 20px;
      background: #e8304e;
      border-radius: 50%;
      font-size: 11px;
      font-weight: 700;
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 2px solid #fff;
      font-family: sans-serif;
      transition: opacity 0.2s;
    }
    .fab-main.open .fab-badge { opacity: 0; }
  
