/* === JB WhatsApp Widget – isolado para evitar conflitos === */
.jb-wpp {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99999;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* Botão circular */
.jb-wpp__btn {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #25d366 0%, #1faa55 100%);
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  transition: transform .2s ease, box-shadow .2s ease;
  overflow: hidden;         /* impede overflow da imagem */
  isolation: isolate;       /* evita efeitos estranhos com filtros externos */
}

.jb-wpp__btn:hover { transform: scale(1.08); box-shadow: 0 6px 16px rgba(37,211,102,.4); }
.jb-wpp__btn:active { transform: scale(.95); }

/* Ícone PNG – força tamanho fixo e neutraliza regras globais (Bootstrap) */
.jb-wpp__img {
  width: 32px !important;
  height: 32px !important;
  max-width: 32px !important;
  max-height: 32px !important;
  flex: 0 0 32px !important;
  display: block;
  object-fit: contain;
  image-rendering: -webkit-optimize-contrast;
}

/* Tooltip */
.jb-wpp__tip {
  position: absolute;
  bottom: 70px;
  right: 0;
  background: #25d366;
  color: #fff;
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
}
.jb-wpp__btn:hover + .jb-wpp__tip { opacity: 1; }

/* Animação pulse */
@keyframes jb-pulse {
  0%, 100% { box-shadow: 0 4px 12px rgba(37,211,102,.4); }
  50%      { box-shadow: 0 4px 20px rgba(37,211,102,.6); }
}
.jb-pulse { animation: jb-pulse 2s infinite; }

/* Responsivo */
@media (max-width: 768px) {
  .jb-wpp   { bottom: 15px; right: 15px; }
  .jb-wpp__btn { width: 55px; height: 55px; }
  .jb-wpp__img {
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
  }
  .jb-wpp__tip { font-size: 12px; padding: 8px 12px; }
}
@media (max-width: 480px) {
  .jb-wpp   { bottom: 12px; right: 12px; }
  .jb-wpp__btn { width: 50px; height: 50px; }
  .jb-wpp__img {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }
  .jb-wpp__tip { display: none; }
}
