/* Shared WhatsApp link, revealed after the active page hero has scrolled away. */
.whatsapp-float {
  --whatsapp-green:#128c4a;
  --whatsapp-hover:#08783b;
  position:fixed;
  right:max(24px,env(safe-area-inset-right));
  bottom:calc(max(24px,var(--whatsapp-footer-lift,0px)) + env(safe-area-inset-bottom));
  z-index:45;
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  padding:0;
  border:2px solid #fff;
  border-radius:50%;
  background:var(--whatsapp-green);
  color:#fff;
  box-shadow:0 5px 20px #123d352b;
  text-decoration:none;
  transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.whatsapp-float[hidden] { display:none; }
.whatsapp-float > svg { display:block; width:30px; height:30px; fill:currentColor; }
.whatsapp-float-label {
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) translateX(4px);
  padding:10px 14px;
  border-radius:10px;
  background:#173752;
  color:#fff;
  font:500 13px/1.4 'DM Sans',sans-serif;
  white-space:nowrap;
  box-shadow:0 4px 16px #16365320;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;
}
.whatsapp-float:hover { color:#fff; background:var(--whatsapp-hover); transform:translateY(-3px); box-shadow:0 8px 24px #123d3540; }
.whatsapp-float:focus-visible { outline:3px solid #173752; outline-offset:4px; }
.whatsapp-float:is(:hover,:focus-visible) .whatsapp-float-label { opacity:1; transform:translateY(-50%) translateX(0); }
.whatsapp-float:active { transform:translateY(0); }
@media (max-width:600px) {
  .whatsapp-float { width:52px; height:52px; right:max(16px,env(safe-area-inset-right)); bottom:calc(max(18px,var(--whatsapp-footer-lift,0px)) + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) {
  .whatsapp-float,.whatsapp-float-label { transition:none; }
  .whatsapp-float:hover { transform:none; }
}
@media print { .whatsapp-float { display:none; } }
