/* Плавающая кнопка-помощь */
    .heart-float {
      position: fixed;
      left: 28px;
      bottom: 28px;
      z-index: 9000;
      cursor: pointer;
      user-select: none;
    }

    .heart-pulse {
      width: 68px;
      height: 68px;
      background: radial-gradient(circle at 30% 30%, #ff758c, #ff4d6d);
      border-radius: 50%;
      display: grid;
      place-items: center;
      box-shadow: 0 8px 24px rgba(255, 77, 109, 0.38);
      animation: heartbeat 1.8s infinite ease-in-out;
      margin-left: 33%;
    }

    @keyframes heartbeat {
      0%, 100%   { transform: scale(1);   box-shadow: 0 8px 24px rgba(255,77,109,0.38); }
      50%        { transform: scale(1.12); box-shadow: 0 12px 36px rgba(255,77,109,0.55); }
    }

    .heart-pulse i {
      font-size: 30px;
      color: white;
    }

    .heart-label {
      margin-top: 10px;
      background: #fff9e6;
      color: #d63031;
      font-weight: 700;
      padding: 6px 16px;
      border-radius: 30px;
      font-size: 15px;
      box-shadow: 0 4px 12px rgba(0,0,0,0.14);
      white-space: nowrap;
    }

    /* Затемнение + карточка поддержки */
    .fade-bg {
      position: fixed;
      inset: 0;
      background: rgba(22, 22, 38, 0.78);
      backdrop-filter: blur(6px);
      z-index: 9500;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.28s ease;
    }

    .fade-bg.visible {
      opacity: 1;
      pointer-events: all;
    }

    .support-card {
      position: fixed;
      inset: 0;
      margin: auto;
      width: min(92%, 460px);
      max-height: 40%;
      overflow-y: auto;
      background: linear-gradient(145deg, #ffffff, #f8f9ff);
      border-radius: 24px;
      box-shadow: 0 30px 80px rgba(0,0,0,0.42);
      padding: 36px 28px 40px;
      transform: translateY(60px) scale(0.94);
      opacity: 0;
      transition: all 0.42s cubic-bezier(0.34, 1.56, 0.64, 1);
      pointer-events: none;
    }

    .fade-bg.visible .support-card {
      transform: translateY(0) scale(1);
      opacity: 1;
      pointer-events: all;
    }

    .close-cross {
      position: absolute;
      top: 18px;
      right: 22px;
      font-size: 38px;
      color: #aaa;
      background: none;
      border: none;
      cursor: pointer;
      line-height: 1;
      transition: color 0.2s, transform 0.2s;
    }

    .close-cross:hover {
      color: #e74c3c;
      transform: rotate(90deg);
    }

    .support-title {
      margin: 0 0 14px;
      color: #c0392b;
      font-size: 2.1rem;
      text-align: center;
      letter-spacing: -0.5px;
    }

    .support-hint {
      margin: 0 0 32px;
      color: #5f6a7a;
      text-align: center;
      font-size: 1.08rem;
      line-height: 1.45;
    }

    .payment-tiles {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
      gap: 20px;
      margin: 0 0 32px;
    }

    .payment-option {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 18px 12px;
      background: #f9fbfd;
      border-radius: 16px;
      text-decoration: none;
      color: #2d3436;
      transition: all 0.28s ease;
      box-shadow: 0 4px 14px rgba(0,0,0,0.06);
    }

    .payment-option:hover {
      transform: translateY(-8px) scale(1.04);
      box-shadow: 0 14px 34px rgba(0,0,0,0.14);
      background: white;
    }

    .payment-option img {
      height: 54px;
      width: auto;
      margin-bottom: 12px;
      object-fit: contain;
    }

    .payment-name {
      font-weight: 650;
      font-size: 0.98rem;
    }

    .after-note {
      color: #7a869a;
      font-size: 0.92rem;
      text-align: center;
      line-height: 1.5;
      padding-top: 20px;
      border-top: 1px solid #eef0f4;
    }

    @media (max-width: 480px) {
      .heart-float { left: 16px; bottom: 16px; }
      .heart-pulse  { width: 58px; height: 58px; }
      .heart-pulse i { font-size: 26px; }
      .support-card { padding: 28px 20px 36px; }
    }