/* Floating WhatsApp button, bottom right on every page. Sits above the cart bar when it is open. */
.wa-fab { position: fixed; z-index: 35; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--cartpad, 0px)); display: inline-flex; align-items: center; gap: 10px; height: 56px; padding: 0 16px 0 14px; border-radius: 999px; background: #1fa855; color: #ffffff; text-decoration: none; font: 600 15px/20px var(--sans); box-shadow: 0 6px 20px rgba(14, 60, 32, 0.35); transition: transform .18s, box-shadow .18s, background-color .18s, bottom .2s; }
.wa-fab:hover { background: #178c46; transform: translateY(-2px); box-shadow: 0 10px 26px rgba(14, 60, 32, 0.4); }
.wa-fab:focus-visible { outline: 3px solid #0b5c2c; outline-offset: 3px; }
.wa-fab svg { width: 28px; height: 28px; flex: none; }
.wa-fab::before { content: ""; position: absolute; inset: 0; border-radius: inherit; border: 2px solid #1fa855; animation: wa-ring 2.8s ease-out infinite; pointer-events: none; }
@keyframes wa-ring { 0% { transform: scale(1); opacity: .7; } 70%, 100% { transform: scale(1.35); opacity: 0; } }
@media (max-width: 640px) { .wa-fab { width: 56px; padding: 0; justify-content: center; } .wa-fab .wa-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { .wa-fab::before { animation: none; display: none; } .wa-fab { transition: none; } }
.fun .wa-fab { border: 2px solid var(--stroke); box-shadow: 4px 4px 0 var(--pop-shadow); font-family: var(--display); }
