/* Universal CTAs - injected on every page (ANIM FORCE) */
.floating-cta{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:999999;display:flex;flex-direction:column;gap:12px}
.floating-cta a{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border-radius:999px;font-weight:900;text-decoration:none;min-width:240px;box-shadow:0 14px 34px rgba(15,16,42,.22)}
@keyframes forceBeat{0%,40%,100%{transform:scale(1)}20%{transform:scale(1.10)}}
@keyframes forceGlowG{0%,100%{box-shadow:0 14px 34px rgba(15,16,42,.22),0 0 0 0 rgba(37,211,102,0)}50%{box-shadow:0 20px 46px rgba(15,16,42,.28),0 0 0 16px rgba(37,211,102,.30)}}
@keyframes forceGlowB{0%,100%{box-shadow:0 14px 34px rgba(15,16,42,.22),0 0 0 0 rgba(59,130,246,0)}50%{box-shadow:0 20px 46px rgba(15,16,42,.28),0 0 0 16px rgba(59,130,246,.30)}}

/* FORCE animations with !important so page CSS cannot cancel them */
.floating-cta a.wa{
  background:#25D366;color:#052b15;border:1px solid rgba(255,255,255,.45);
  animation:forceBeat 1.25s ease-in-out infinite, forceGlowG 1.25s ease-in-out infinite !important;
}
.floating-cta a.ph{
  background:#2563EB;color:#fff;border:1px solid rgba(255,255,255,.35);
  animation:forceBeat 1.35s ease-in-out infinite, forceGlowB 1.35s ease-in-out infinite !important;
}
.floating-cta a.wa:before{content:"💬";font-size:18px;line-height:1}
.floating-cta a.ph:before{content:"📞";font-size:18px;line-height:1}
@media (max-width:720px){.floating-cta{right:12px}.floating-cta a{min-width:auto;padding:12px 14px}.floating-cta a span{display:none}}

/* Mobile bottom bar */
.bbar{position:fixed;left:10px;right:10px;bottom:10px;z-index:99999;display:none;gap:10px}
.bbar a{flex:1;display:flex;align-items:center;justify-content:center;padding:14px 14px;border-radius:16px;font-weight:900;text-decoration:none}
.bbar-wa{
  background:#25D366;color:#06331a;
  animation:forceBeat 1.25s ease-in-out infinite, forceGlowG 1.25s ease-in-out infinite !important;
}
.bbar-call{
  background:#2563EB;color:#ffffff;
  animation:forceBeat 1.35s ease-in-out infinite, forceGlowB 1.35s ease-in-out infinite !important;
}
@media (max-width:720px){.bbar{display:flex}}

@media (prefers-reduced-motion: reduce){
  .floating-cta a.wa,.floating-cta a.ph,.bbar-wa,.bbar-call{animation:none!important}
}

/* Extra small phones */
@media (max-width:380px){
  .bbar{flex-direction:column;gap:8px}
  .bbar a{border-radius:14px}
}
