/*!
 * Biotifull WhatsApp — widget.
 * Préfixe unique .bfw- ; animations exclusivement sur transform/opacity
 * (composées par le GPU, aucun repaint pendant les boucles).
 */.bfw-root{--bfw-offset-x: 20px;--bfw-offset-y: 20px;--bfw-btn-size: 60px;--bfw-grad-start: #25d366;--bfw-grad-end: #128c7e;--bfw-icon-color: #fff;--bfw-badge-color: #ff3b30;--bfw-panel-bg: #e5ddd5;--bfw-header-bg: #075e54;--bfw-header-text: #fff;--bfw-teaser-width: 220px;--bfw-attn: 8s;--bfw-spring: cubic-bezier(.34, 1.56, .64, 1);--bfw-out: cubic-bezier(.22, 1, .36, 1);position:fixed;right:var(--bfw-offset-x);bottom:var(--bfw-offset-y);z-index:2147483000;font:400 14px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#111b21;-webkit-font-smoothing:antialiased}.bfw-root.bfw-pos-left{right:auto;left:var(--bfw-offset-x)}.bfw-root[data-loading]>:not(noscript){display:none}.bfw-root *,.bfw-root *:before,.bfw-root *:after{box-sizing:border-box}.bfw-root button{font:inherit;margin:0;-webkit-tap-highlight-color:transparent}.bfw-launcher{position:relative;width:var(--bfw-btn-size);height:var(--bfw-btn-size);opacity:0;visibility:hidden;transform:scale(.6)}.bfw-launcher.bfw-visible{opacity:1;visibility:visible;transform:none}.bfw-enter-fade-scale .bfw-visible{animation:bfw-in-fade .5s var(--bfw-spring) both}.bfw-enter-slide-up .bfw-visible{animation:bfw-in-slide .55s var(--bfw-out) both}.bfw-enter-bounce .bfw-visible{animation:bfw-in-bounce .75s var(--bfw-spring) both}.bfw-enter-rotate-in .bfw-visible{animation:bfw-in-rotate .6s var(--bfw-spring) both}@keyframes bfw-in-fade{0%{opacity:0;transform:scale(.4)}}@keyframes bfw-in-slide{0%{opacity:0;transform:translateY(80px)}}@keyframes bfw-in-bounce{0%{opacity:0;transform:scale(.3) translateY(40px)}50%{opacity:1;transform:scale(1.1) translateY(-10px)}70%{transform:scale(.95) translateY(3px)}}@keyframes bfw-in-rotate{0%{opacity:0;transform:rotate(-180deg) scale(.3)}}.bfw-attn{position:relative;z-index:1;width:100%;height:100%}.bfw-button{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-width:56px;min-height:56px;padding:0;border:0;border-radius:50%;cursor:pointer;color:var(--bfw-icon-color);background:linear-gradient(135deg,var(--bfw-grad-start),var(--bfw-grad-end));box-shadow:0 6px 18px #00000042,0 2px 6px #00000029;transition:transform .3s var(--bfw-spring)}.bfw-button svg{width:55%;height:55%;pointer-events:none;transition:transform .3s var(--bfw-spring)}.bfw-button:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;box-shadow:0 14px 30px #00000057;opacity:0;transition:opacity .3s ease;pointer-events:none}.bfw-hover-fx .bfw-button:hover,.bfw-hover-fx .bfw-button:focus-visible{transform:scale(1.08)}.bfw-hover-fx .bfw-button:hover:after,.bfw-hover-fx .bfw-button:focus-visible:after{opacity:1}.bfw-hover-fx .bfw-button:hover svg,.bfw-hover-fx .bfw-button:focus-visible svg{transform:rotate(12deg)}.bfw-button:active{transform:scale(.94)}.bfw-button:focus-visible{outline:3px solid #fff;outline-offset:3px}.bfw-ripple{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;overflow:hidden;pointer-events:none}.bfw-ripple span{position:absolute;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;background:#ffffff80;animation:bfw-ripple .6s ease-out forwards}@keyframes bfw-ripple{0%{transform:scale(0);opacity:1}to{transform:scale(12);opacity:0}}.bfw-badge{position:absolute;top:-3px;right:-3px;z-index:2;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--bfw-badge-color);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 0 0 2px #fff;pointer-events:none}.bfw-visible .bfw-badge{animation:bfw-pop .45s .35s var(--bfw-spring) both}@keyframes bfw-pop{0%{transform:scale(0)}}.bfw-fx{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.bfw-fx-pulse-ring:before,.bfw-fx-pulse-ring:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--bfw-grad-start);opacity:0;animation:bfw-ring var(--bfw-attn) ease-out infinite}.bfw-fx-pulse-ring:after{animation-delay:calc(var(--bfw-attn) * .12)}@keyframes bfw-ring{0%{transform:scale(1);opacity:.5}25%,to{transform:scale(1.7);opacity:0}}.bfw-fx-glow{top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(closest-side,var(--bfw-grad-start),transparent);opacity:0;animation:bfw-glow var(--bfw-attn) ease-in-out infinite}@keyframes bfw-glow{0%,to{opacity:0;transform:scale(.7)}50%{opacity:.55;transform:scale(1)}}.bfw-attn-heartbeat .bfw-attn{animation:bfw-heartbeat var(--bfw-attn) ease-in-out infinite}@keyframes bfw-heartbeat{0%,18%,to{transform:scale(1)}4%{transform:scale(1.14)}8%{transform:scale(1)}12%{transform:scale(1.1)}}.bfw-attn-shake .bfw-attn{animation:bfw-shake var(--bfw-attn) ease-in-out infinite}@keyframes bfw-shake{0%,90%,to{transform:none}91%,95%{transform:translate(-3px) rotate(-8deg)}93%,97%{transform:translate(3px) rotate(8deg)}99%{transform:translate(-1px) rotate(-2deg)}}.bfw-attn-tada .bfw-attn{animation:bfw-tada var(--bfw-attn) ease-in-out infinite}@keyframes bfw-tada{0%,88%,to{transform:none}89%,90%{transform:scale(.92) rotate(-4deg)}91%,93%,95%,97%{transform:scale(1.1) rotate(4deg)}92%,94%,96%{transform:scale(1.1) rotate(-4deg)}}.bfw-hover-fx .bfw-launcher:hover .bfw-attn,.bfw-open .bfw-attn{animation:none}.bfw-open .bfw-fx{display:none}.bfw-teaser{position:absolute;width:max-content;max-width:min(var(--bfw-teaser-width),calc(100vw - 2 * var(--bfw-offset-x)));padding:11px 32px 11px 14px;border-radius:14px;background:#fff;color:#111b21;font-size:14px;line-height:1.35;overflow-wrap:break-word;box-shadow:0 8px 24px #0000002e;cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .35s var(--bfw-spring),visibility 0s .35s}.bfw-teaser.bfw-show{opacity:1;visibility:visible;transform:none;transition-delay:0s}.bfw-tp-top,.bfw-tp-bottom{right:0}.bfw-pos-left .bfw-tp-top,.bfw-pos-left .bfw-tp-bottom{right:auto;left:0}.bfw-tp-top{bottom:calc(var(--bfw-btn-size) + 14px);transform:translateY(10px) scale(.92);transform-origin:bottom right}.bfw-tp-bottom{top:calc(var(--bfw-btn-size) + 14px);transform:translateY(-10px) scale(.92);transform-origin:top right}.bfw-tp-left,.bfw-tp-right{bottom:50%;margin-bottom:-22px}.bfw-tp-left{right:calc(var(--bfw-btn-size) + 14px);transform:translate(10px) scale(.92);transform-origin:right center}.bfw-tp-right{left:calc(var(--bfw-btn-size) + 14px);transform:translate(-10px) scale(.92);transform-origin:left center}.bfw-tp-left,.bfw-tp-right{max-width:min(var(--bfw-teaser-width),calc(100vw - var(--bfw-offset-x) - var(--bfw-btn-size) - 28px))}.bfw-teaser-close{position:absolute;top:4px;right:4px;width:26px;height:26px;padding:0;border:0;border-radius:50%;background:transparent;color:#8696a0;font-size:17px;line-height:26px;cursor:pointer}.bfw-teaser-close:hover{background:#0000000f}.bfw-panel{position:absolute;right:0;bottom:calc(var(--bfw-btn-size) + 16px);display:flex;flex-direction:column;width:360px;max-width:calc(100vw - 24px);height:520px;max-height:calc(100vh - var(--bfw-btn-size) - var(--bfw-offset-y) - 40px);overflow:hidden;border-radius:16px;background:var(--bfw-panel-bg);box-shadow:0 16px 48px #00000047;opacity:0;visibility:hidden;pointer-events:none;transform-origin:bottom right;transition:opacity .3s ease,transform .45s var(--bfw-spring),visibility 0s .45s}.bfw-pos-left .bfw-panel{right:auto;left:0;transform-origin:bottom left}.bfw-tr-morph{transform:translateY(20px) scale(.2)}.bfw-tr-slide-up{transform:translateY(60px);transition-timing-function:ease,cubic-bezier(.16,1.36,.38,1)}.bfw-tr-fade-scale{transform:scale(.9);transform-origin:center;transition-duration:.25s,.25s,0s}.bfw-panel.bfw-show{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}.bfw-head{display:flex;flex:0 0 auto;align-items:center;gap:12px;padding:14px 16px;background:var(--bfw-header-bg);color:var(--bfw-header-text)}.bfw-avatar{display:flex;flex:0 0 42px;align-items:center;justify-content:center;width:42px;height:42px;overflow:hidden;border-radius:50%;background:#ffffff38;font-weight:700}.bfw-avatar img{width:100%;height:100%;object-fit:cover}.bfw-id{flex:1 1 auto;min-width:0}.bfw-name{overflow:hidden;font-size:15px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}.bfw-status{display:flex;align-items:center;gap:5px;font-size:12px;opacity:.85}.bfw-dot{width:8px;height:8px;border-radius:50%;background:#8de3a3}.bfw-off .bfw-dot{background:#c9c9c9}.bfw-close{flex:0 0 34px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#ffffff26;color:inherit;font-size:18px;line-height:34px;cursor:pointer;transition:transform .3s var(--bfw-spring)}.bfw-close:hover{transform:rotate(90deg)}.bfw-body{flex:1 1 auto;padding:16px 12px;overflow-y:auto;overscroll-behavior:contain;background-image:radial-gradient(rgba(0,0,0,.04) 1px,transparent 1px);background-size:16px 16px;-webkit-overflow-scrolling:touch}.bfw-in{opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .4s var(--bfw-out)}.bfw-stagger .bfw-in{transition-delay:calc(var(--i, 0) * 90ms)}.bfw-in.bfw-on{opacity:1;transform:none}.bfw-bubble{max-width:85%;margin-bottom:10px;padding:9px 12px;border-radius:10px 10px 10px 2px;background:#fff;box-shadow:0 1px 1px #0000001a;white-space:pre-line}.bfw-typing{display:inline-flex;gap:4px;margin-bottom:10px;padding:12px 14px;border-radius:10px 10px 10px 2px;background:#fff;box-shadow:0 1px 1px #0000001a}.bfw-typing i{width:7px;height:7px;border-radius:50%;background:#9fb0b8;animation:bfw-typing 1.1s ease-in-out infinite}.bfw-typing i:nth-child(2){animation-delay:.15s}.bfw-typing i:nth-child(3){animation-delay:.3s}@keyframes bfw-typing{0%,60%,to{transform:none;opacity:.45}30%{transform:translateY(-4px);opacity:1}}.bfw-qr{display:block;width:100%;min-height:44px;margin:0 0 8px;padding:10px 14px;border:1px solid rgba(7,94,84,.25);border-radius:20px;background:#fff;color:#075e54;font-size:13.5px;text-align:left;cursor:pointer}.bfw-qr.bfw-on:hover,.bfw-qr.bfw-on:focus-visible{background:#f0faf6;transform:translate(3px);transition-delay:0s}.bfw-foot{flex:0 0 auto;padding:10px 14px;background:#f0f2f5}.bfw-form{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:10px;background:#fff;box-shadow:0 1px 1px #0000001a}.bfw-form input{width:100%;min-height:46px;margin:0;padding:10px 12px;border:1px solid #d5dade;border-radius:8px;background:#fff;color:#111b21;font:inherit;font-size:16px}.bfw-form input:focus{border-color:#25d366;outline:0;box-shadow:0 0 0 2px #25d36640}.bfw-form input[aria-invalid=true]{border-color:#d32f2f}.bfw-err{display:none;color:#d32f2f;font-size:12.5px}.bfw-err.bfw-on{display:block;opacity:1;transform:none}.bfw-cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;padding:0 16px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--bfw-grad-start),var(--bfw-grad-end));color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s ease}.bfw-cta:hover{transform:translateY(-1px)}.bfw-cta:active{transform:none}.bfw-cta svg{width:18px;height:18px}.bfw-noscript-link{position:fixed;right:20px;bottom:20px;z-index:2147483000;padding:12px 18px;border-radius:999px;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 6px 18px #00000040}@media(max-width:480px){.bfw-panel,.bfw-pos-left .bfw-panel{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;max-height:none;border-radius:0;transform-origin:bottom center}.bfw-head{padding-top:max(14px,env(safe-area-inset-top))}.bfw-foot{padding-bottom:max(10px,env(safe-area-inset-bottom))}html.bfw-lock,html.bfw-lock body{overflow:hidden}}@media(prefers-reduced-motion:reduce){.bfw-root *,.bfw-root *:before,.bfw-root *:after{animation:none!important;transition:none!important}.bfw-launcher,.bfw-teaser,.bfw-panel,.bfw-in{transform:none!important}.bfw-fx{display:none}}
