/* BOTÕES FLOAT */

.cta-whatsapp,
.cta-topo{
  position:fixed;
  z-index:99999;
  opacity:0;
  transform:translateY(20px);
  pointer-events:none;
  transition:all .35s ease;
}

/* WhatsApp */
.cta-whatsapp{
  bottom:20px;
  right:20px;
  width:60px;
  height:60px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:26px;
  box-shadow:0 10px 25px rgba(0,0,0,.25);
}

/* Topo */
.cta-topo{
  bottom:20px;
  left:20px;
  width:50px;
  height:50px;
  border-radius:50%;
  background:#e30613;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:20px;
  cursor:pointer;
}

/* VISÍVEL */
.cta-show{
  opacity:1 !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}

/* HOVER */
.cta-whatsapp:hover,
.cta-topo:hover{
  transform:scale(1.1);
}

/* PULSE WHATS */
@keyframes pulse{
  0%{transform:scale(1)}
  50%{transform:scale(1.1)}
  100%{transform:scale(1)}
}

.cta-whatsapp{
  animation:pulse 2s infinite;
}



/* PARALLAX SUAVE */

.service-card img{
  will-change:transform;
}



/* =========================================
   WHATSAPP PREMIUM FLOAT
========================================= */

.cta-whatsapp-premium{
  position:fixed;

  right:22px;
  bottom:22px;

  width:78px;
  height:78px;

  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      #25D366,
      #128C7E);

  display:flex;
  align-items:center;
  justify-content:center;

  z-index:99999;

  box-shadow:
    0 10px 35px rgba(37,211,102,.45);

  transition:
    transform .35s ease,
    box-shadow .35s ease;

  text-decoration:none;

  overflow:hidden;
}

/* glow */
.cta-whatsapp-premium::before{
  content:"";

  position:absolute;
  inset:-2px;

  border-radius:999px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.35),
      transparent);

  opacity:.6;
}

/* hover */
.cta-whatsapp-premium:hover{
  transform:
    translateY(-8px)
    scale(1.08);

  box-shadow:
    0 18px 45px rgba(37,211,102,.65);
}

/* ícone */
.whatsapp-icon{
  width:34px;
  height:34px;

  color:#fff;

  z-index:2;

  flex-shrink:0;
}

/* texto */
.cta-text{
  position:absolute;

  right:90px;

  background:#111;

  padding:12px 16px;

  border-radius:16px;

  opacity:0;
  visibility:hidden;

  transform:translateX(15px);

  transition:.35s ease;

  min-width:170px;

  box-shadow:
    0 10px 30px rgba(0,0,0,.35);
}

.cta-text span{
  display:block;

  color:#fff;

  font-size:15px;
  font-weight:700;
}

.cta-text small{
  color:#aaa;

  font-size:12px;
}

/* aparecer texto */
.cta-whatsapp-premium:hover .cta-text{
  opacity:1;
  visibility:visible;

  transform:translateX(0);
}

/* pulse */
.whatsapp-pulse{
  position:absolute;

  width:100%;
  height:100%;

  border-radius:999px;

  background:
    rgba(37,211,102,.45);

  animation:whatsPulse 2s infinite;
}

@keyframes whatsPulse{

  0%{
    transform:scale(1);
    opacity:.8;
  }

  70%{
    transform:scale(1.55);
    opacity:0;
  }

  100%{
    opacity:0;
  }

}

/* mobile */
@media(max-width:768px){

  .cta-whatsapp-premium{
    width:72px;
    height:72px;

    right:18px;
    bottom:18px;
  }

  .whatsapp-icon{
    width:30px;
    height:30px;
  }

  .cta-text{
    display:none;
  }
}



/* =========================================
   BOTÃO VOLTAR AO TOPO PREMIUM
========================================= */

.cta-topo{
  position:fixed;

  right:24px;
  bottom:118px;

  width:58px;
  height:58px;

  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      #1a1a1a,
      #2b2b2b);

  color:#fff;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:26px;
  font-weight:700;

  cursor:pointer;

  z-index:99998;

  opacity:0;
  visibility:hidden;

  transform:
    translateY(20px);

  transition:
    opacity .35s ease,
    transform .35s ease,
    box-shadow .35s ease;

  box-shadow:
    0 10px 30px rgba(0,0,0,.35);

  backdrop-filter:blur(10px);
}

/* aparece */
.cta-topo.show{
  opacity:1;
  visibility:visible;

  transform:
    translateY(0);
}

/* hover */
.cta-topo:hover{
  transform:
    translateY(-6px)
    scale(1.08);

  box-shadow:
    0 18px 40px rgba(0,0,0,.5);
}

/* glow */
.cta-topo::before{
  content:"";

  position:absolute;
  inset:0;

  border-radius:18px;

  background:
    linear-gradient(
      135deg,
      rgba(255,255,255,.15),
      transparent);

  pointer-events:none;
}

/* mobile */
@media(max-width:768px){

  .cta-topo{
    width:52px;
    height:52px;

    bottom:102px;
    right:18px;

    font-size:22px;
  }

}




/* =========================================
   FIX BOTÃO TOPO
========================================= */

.cta-topo{
  pointer-events:auto !important;
  user-select:none;

  cursor:pointer !important;
}

/* garante clique correto */
.cta-topo *{
  pointer-events:none;
}
