    /* The requested DIV container */
    .wa-cta{
      position: fixed;
      z-index: 800;
      right: 1%;
      bottom: 1%;
      display: inline-flex;
      align-items: center;
      gap: 12px;
      padding: 14px 18px;
      border-radius: 999px;
      background: white;
      border: 1px solid rgba(37,211,102,.35);
      color: var(--text);
      box-shadow: 0 12px 30px rgba(0,0,0,.28);
      cursor: pointer;
      user-select: none;
      transform: translateZ(0);
      transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
      overflow: hidden;
    }

    .wa-cta:hover{
      transform: translateY(-2px);
      box-shadow: 0 18px 40px rgba(0,0,0,.35);
      border-color: rgba(37,211,102,.55);
    }

    .wa-cta:active{
      transform: translateY(0);
    }

    .wa-icon{
      width: 42px;
      height: 42px;
      border-radius: 50%;
      display: grid;
      place-items: center;
      background: var(--wa);
      color: #06240f;
      box-shadow: 0 10px 22px rgba(37,211,102,.30);
      position: relative;
      flex: 0 0 auto;
    }

    .wa-icon i{
      font-size: 22px;
      color: #071b10;
    }

    /* fallback icon (if FA fails) */
    .wa-icon .fallback{
      display:none;
      font-weight: 900;
      font-size: 18px;
      letter-spacing: .5px;
    }
    .no-fa .wa-icon i{ display:none; }
    .no-fa .wa-icon .fallback{ display:block; }

    .wa-text{
      display:flex;
      flex-direction: column;
      line-height: 1.05;
    }

    .wa-title{
      font-weight: 800;
      font-size: 14px;
      letter-spacing: .2px;
    }

    .wa-sub{
      opacity: .85;
      font-size: 12px;
      margin-top: 3px;
    }

    /* “timely” attention: gentle pulse + glow */
    .wa-cta.pulse .wa-icon{
      animation: pulse 1.6s ease-in-out infinite;
    }

    .wa-cta.pulse::before{
      content:"";
      position:absolute;
      inset:-60%;
      background: radial-gradient(circle at 30% 30%, rgba(37,211,102,.22), transparent 55%);
      animation: drift 2.8s ease-in-out infinite;
      pointer-events:none;
    }

    /* click ripple */
    .ripple{
      position:absolute;
      border-radius:50%;
      transform: scale(0);
      opacity: .55;
      background: rgba(37,211,102,.55);
      animation: ripple .55s ease-out forwards;
      pointer-events:none;
    }

    /* Small “ping” dot to suggest online/ready */
    .status-dot{
      position:absolute;
      right: 2px;
      bottom: 2px;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #7CFFB2;
      border: 2px solid rgba(15,23,42,.85);
      box-shadow: 0 0 0 0 rgba(124,255,178,.55);
      animation: ping 2.2s ease-out infinite;
    }

    @keyframes pulse{
      0%,100%{ transform: scale(1); }
      50%{ transform: scale(1.06); }
    }

    @keyframes drift{
      0%,100%{ transform: translate(-2%, -2%); }
      50%{ transform: translate(2%, 2%); }
    }

    @keyframes ripple{
      to{
        transform: scale(1);
        opacity: 0;
      }
    }

    @keyframes ping{
      0%{ box-shadow: 0 0 0 0 rgba(124,255,178,.55); }
      70%{ box-shadow: 0 0 0 10px rgba(124,255,178,0); }
      100%{ box-shadow: 0 0 0 0 rgba(124,255,178,0); }
    }

    /* optional: reduce motion for accessibility */
    @media (prefers-reduced-motion: reduce){
      .wa-cta.pulse .wa-icon,
      .wa-cta.pulse::before,
      .status-dot{ animation: none !important; }
    }