.whatsapp-float {
  position: fixed;
  z-index: 2147483647;
  right: clamp(1rem, 2.2vw, 2rem);
  left: auto;
  bottom: clamp(1rem, 2.2vw, 2rem);
  width: 3.55rem;
  height: 3.55rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #25d366;
  box-shadow: 0 .8rem 1.7rem rgba(19, 84, 48, .3);
  transition: transform .2s ease, box-shadow .2s ease;
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible {
  transform: translateY(-.2rem) scale(1.05);
  box-shadow: 0 1rem 2rem rgba(19, 84, 48, .38);
}

.whatsapp-float svg { width: 1.8rem; height: 1.8rem; fill: currentColor; }

.whatsapp-float span {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Footer compacto y estable en pantallas pequeñas. */
@media (max-width:760px) {
  footer {
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:1rem;
    width:100%;
    max-width:100%;
    min-width:0;
    padding-left:1.3rem !important;
    padding-right:1.3rem !important;
  }

  footer > span,
  footer > a { max-width:100%; overflow-wrap:anywhere; }

  footer .signature-mark {
    order:-1;
    align-self:center;
    width:5.2rem;
    height:auto;
  }

  footer .footer-links {
    display:flex;
    flex-wrap:wrap;
    gap:.75rem 1rem;
    margin-top:0;
  }
}

.footer-links a[href*="instagram.com"] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  font-size:0;
  border:1px solid currentColor;
  border-radius:.55rem;
}

.footer-links a[href*="instagram.com"]::before {
  content:"";
  width:1.15rem;
  height:1.15rem;
  background:currentColor;
  -webkit-mask:url("marca/instagram.svg") center / contain no-repeat;
  mask:url("marca/instagram.svg") center / contain no-repeat;
}
