/* Acceso de WhatsApp exclusivo del Home. */
:root {
  --whatsapp-float-size: 60px;
  --whatsapp-float-offset: 24px;
}

.whatsapp-float {
  position: fixed;
  right: max(var(--whatsapp-float-offset), env(safe-area-inset-right));
  bottom: max(var(--whatsapp-float-offset), env(safe-area-inset-bottom));
  z-index: 70;
  display: grid;
  width: var(--whatsapp-float-size);
  height: var(--whatsapp-float-size);
  place-items: center;
  border-radius: 50%;
  background: #25D366;
  box-shadow: 0 8px 22px rgba(8, 8, 8, .24);
  transition: transform 160ms ease, box-shadow 160ms ease;
}

.whatsapp-float img {
  display: block;
  width: 100%;
  height: 100%;
}

.whatsapp-float:hover {
  transform: translateY(-2px);
  box-shadow: 0 11px 27px rgba(8, 8, 8, .3);
}

.whatsapp-float:focus-visible {
  outline: 3px solid #f2eee6;
  outline-offset: 4px;
  box-shadow: 0 0 0 6px #080808, 0 11px 27px rgba(8, 8, 8, .3);
}

/* Mantiene separados los dos controles flotantes del Home. */
.back-to-top {
  bottom: calc(max(var(--whatsapp-float-offset), env(safe-area-inset-bottom)) + var(--whatsapp-float-size) + 12px);
}

/* Reserva un área libre de enlaces cuando el usuario llega al pie. */
.site-footer {
  padding-bottom: calc(2rem + var(--whatsapp-float-size) + var(--whatsapp-float-offset));
}

/* El aviso de versión tiene prioridad espacial mientras está visible. */
body:has(.site-update-notice:not([hidden])) .whatsapp-float {
  bottom: calc(max(var(--whatsapp-float-offset), env(safe-area-inset-bottom)) + 10.5rem);
}

@media (max-width: 768px) {
  :root {
    --whatsapp-float-size: 54px;
    --whatsapp-float-offset: 16px;
  }

  .site-footer {
    padding-bottom: calc(2rem + var(--whatsapp-float-size) + var(--whatsapp-float-offset));
  }

  body:has(.site-update-notice:not([hidden])) .whatsapp-float {
    bottom: calc(max(var(--whatsapp-float-offset), env(safe-area-inset-bottom)) + 11rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .whatsapp-float {
    transition: none;
  }
}
