.petos-floating-whatsapp {
   --fab-size: clamp(44px, 2.5rem + 1.25vw, 56px);
   --fab-offset: clamp(12px, 0.625rem + 1.5vw, 24px);
   --fab-icon-ratio: 0.58;

   position: fixed;
   bottom: calc(var(--fab-offset) + env(safe-area-inset-bottom, 0px));
   left: calc(var(--fab-offset) + env(safe-area-inset-left, 0px));
   z-index: 9998;
   width: var(--fab-size);
   height: var(--fab-size);
   border-radius: 50%;
   background-color: #25d366;
   box-shadow: 0 clamp(2px, 0.2vw, 4px) clamp(8px, 0.75vw, 12px) rgba(0, 0, 0, 0.35);
   display: flex;
   align-items: center;
   justify-content: center;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
   text-decoration: none;
   padding: 0;
   line-height: 0;
   touch-action: manipulation;
   -webkit-tap-highlight-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
   .petos-floating-whatsapp:hover {
      transform: scale(1.08);
      box-shadow: 0 clamp(3px, 0.3vw, 6px) clamp(12px, 1vw, 16px) rgba(0, 0, 0, 0.4);
   }
}

@media (hover: none) {
   .petos-floating-whatsapp:active {
      transform: scale(0.96);
   }
}

.petos-floating-whatsapp svg {
   width: calc(var(--fab-size) * var(--fab-icon-ratio));
   height: calc(var(--fab-size) * var(--fab-icon-ratio));
   display: block;
   flex-shrink: 0;
}

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

   .petos-floating-whatsapp:hover,
   .petos-floating-whatsapp:active {
      transform: none;
   }
}
