/* Elfy floating launcher — site-wide head + speech bubble; opens the /quote immersive chat */
.elfy-fab{position:fixed;right:18px;bottom:18px;z-index:9998;display:flex;align-items:center;gap:10px;
  text-decoration:none;font-family:'Poppins',system-ui,sans-serif}
.elfy-fab-bubble{position:relative;background:#fff;color:#0f3b2e;font-weight:600;font-size:14px;line-height:1.2;
  padding:10px 14px;border-radius:16px;white-space:nowrap;box-shadow:0 10px 26px rgba(8,20,30,.22);
  transform-origin:right center;animation:elfyFabIn .45s cubic-bezier(.2,1.3,.5,1) 1.1s both, elfyFabFloat 3.4s ease-in-out 1.6s infinite}
.elfy-fab-bubble::after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);
  border:7px solid transparent;border-left-color:#fff}
.elfy-fab-wave{display:inline-block;animation:elfyFabWave 1.6s ease-in-out 2s infinite;transform-origin:70% 80%}
.elfy-fab-head{position:relative;width:64px;height:64px;border-radius:50%;flex:0 0 auto;
  background:radial-gradient(120% 120% at 30% 20%,#1ec07a,#0c6f48);
  display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(12,111,72,.45);
  animation:elfyFabBob 3s ease-in-out infinite}
.elfy-fab-head::before{content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 rgba(30,192,122,.55);animation:elfyFabPulse 2.6s ease-out infinite}
.elfy-fab-head svg{width:54px;height:54px;position:relative}
.elfy-fab:hover .elfy-fab-head{transform:scale(1.06)}
.elfy-fab:hover .elfy-fab-bubble{background:#f3fff9}
@keyframes elfyFabBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes elfyFabPulse{0%{box-shadow:0 0 0 0 rgba(30,192,122,.5)}70%{box-shadow:0 0 0 16px rgba(30,192,122,0)}100%{box-shadow:0 0 0 0 rgba(30,192,122,0)}}
@keyframes elfyFabIn{from{opacity:0;transform:scale(.6) translateX(12px)}to{opacity:1;transform:scale(1) translateX(0)}}
@keyframes elfyFabFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes elfyFabWave{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(16deg)}85%{transform:rotate(-8deg)}}
@media(max-width:480px){.elfy-fab{right:12px;bottom:12px;gap:8px}.elfy-fab-head{width:56px;height:56px}.elfy-fab-head svg{width:46px;height:46px}.elfy-fab-bubble{font-size:13px;padding:8px 12px}}
@media(prefers-reduced-motion:reduce){.elfy-fab *{animation:none!important}}

/* Mobile: lift the launcher above the sticky .mobile-bottom-menu (~71px tall) so it
   never covers the bottom CTAs; respect iOS safe-area. */
@media(max-width:768px){
  .elfy-fab{bottom:calc(82px + env(safe-area-inset-bottom, 0px))}
}
