/* Botão flutuante do WhatsApp + mini formulário (nome, e-mail, empresa) */
.wa-fab{position:fixed;z-index:58;right:max(16px,calc((100vw - 480px)/2 + 16px));bottom:calc(18px + env(safe-area-inset-bottom,0px));display:grid;place-items:center;width:56px;height:56px;padding:0;border:0;border-radius:8px;cursor:pointer;
  background:linear-gradient(180deg,#17dd78 0%,#00a651 100%);color:#03150c;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.3),0 10px 26px -8px rgba(23,221,119,.55),0 4px 10px rgba(0,0,0,.5);
  transition:transform .25s var(--fx-ease,ease),box-shadow .25s,bottom .3s var(--fx-ease,ease)}
.wa-fab svg{width:28px;height:28px;fill:currentColor;transition:transform .25s var(--fx-ease,ease)}
.wa-fab::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid #17dd78;opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){.wa-fab:not([aria-expanded="true"])::after{animation:wa-ping 3.2s ease-out 1.5s infinite}}
@keyframes wa-ping{0%{opacity:.75;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.55)}}
@media (hover:hover){.wa-fab:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 14px 30px -8px rgba(23,221,119,.75),0 6px 12px rgba(0,0,0,.5)}.wa-fab:hover svg{transform:scale(1.08)}}
.wa-fab:active{transform:scale(.96)}
.wa-fab:focus-visible{outline:2px solid #fff;outline-offset:3px}
/* sobe acima do CTA fixo quando ele está visível */
body:has(.sticky.on) .wa-fab{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.wa-fab .wa-ico-close{display:none}
.wa-fab[aria-expanded="true"] .wa-ico-chat{display:none}
.wa-fab[aria-expanded="true"] .wa-ico-close{display:block}

.wa-panel{position:fixed;z-index:59;right:max(16px,calc((100vw - 480px)/2 + 16px));bottom:calc(86px + env(safe-area-inset-bottom,0px));width:min(340px,calc(100vw - 32px));max-height:calc(100dvh - 130px);overflow:auto;
  padding:20px 18px 18px;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:rgba(10,10,10,.72);color:#fff;font-family:var(--font-b,system-ui,sans-serif);
  -webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 -1px 0 rgba(0,0,0,.32),0 1px 2px rgba(0,0,0,.55),0 18px 48px rgba(0,0,0,.6);
  opacity:0;transform:translateY(12px) scale(.98);transform-origin:100% 100%;visibility:hidden;transition:opacity .25s ease,transform .3s var(--fx-ease,ease),visibility 0s linear .3s}
body:has(.sticky.on) .wa-panel{bottom:calc(164px + env(safe-area-inset-bottom,0px))}
.wa-panel.open{opacity:1;transform:none;visibility:visible;transition:opacity .25s ease,transform .3s var(--fx-ease,ease),visibility 0s}
.wa-panel__head{display:flex;align-items:flex-start;gap:12px;margin-bottom:14px}
.wa-panel__logo{flex:none;width:40px;height:40px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(0,0,0,.5))}
.wa-panel__t{margin:0;font:700 17px/1.25 var(--font-h,system-ui,sans-serif);letter-spacing:-.02em}
.wa-panel__s{margin:2px 0 0;font-size:13px;line-height:1.4;color:rgba(255,255,255,.65)}
.wa-panel__x{flex:none;margin:-6px -8px 0 auto;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:8px;background:none;color:rgba(255,255,255,.7);cursor:pointer}
.wa-panel__x:hover{color:#fff}
.wa-panel__x svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.wa-panel__x:focus-visible,.wa-send:focus-visible{outline:2px solid #17dd78;outline-offset:2px}
.wa-field{display:grid;gap:6px;margin-bottom:12px}
.wa-field label{font:600 13px/1.2 var(--font-h,system-ui,sans-serif);color:rgba(255,255,255,.85)}
.wa-input{width:100%;min-height:48px;padding:0 14px;border-radius:8px;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.45);color:#fff;font-size:16px;font-family:inherit}
.wa-input::placeholder{color:rgba(255,255,255,.4)}
.wa-input:focus{border-color:#17dd78;box-shadow:0 0 0 3px rgba(23,221,119,.22);outline:none}
.wa-field[data-err] .wa-input{border-color:#ff6b6b}
.wa-err{font-size:12.5px;line-height:1.3;color:#ff8a8a}
.wa-send{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:4px;padding:0 16px;border:0;border-radius:8px;cursor:pointer;
  background:linear-gradient(180deg,#17dd78,#00a651);color:#03150c;font:700 15px/1 var(--font-h,system-ui,sans-serif);letter-spacing:-.01em;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 24px -12px rgba(23,221,119,.6);transition:transform .2s,filter .2s}
.wa-send svg{width:20px;height:20px;fill:currentColor}
@media (hover:hover){.wa-send:hover{transform:translateY(-1px);filter:brightness(1.06)}}
.wa-send:active{transform:scale(.98)}
.wa-note{margin:10px 0 0;font-size:12px;line-height:1.45;color:rgba(255,255,255,.55);text-align:center}
.wa-preview{margin:0 0 12px;padding:10px 12px;border-radius:8px;border:1px solid rgba(255,200,87,.45);background:rgba(255,200,87,.08);color:#ffd98a;font-size:12.5px;line-height:1.4}
.wa-preview[hidden]{display:none}
@media (prefers-reduced-motion:reduce){.wa-fab::after{animation:none}.wa-panel{transition:none}}
@media (prefers-reduced-motion:no-preference){.wa-fab{animation:wa-in .6s var(--fx-ease,ease) 1.2s backwards}}
@keyframes wa-in{from{opacity:0;transform:translateY(-16px)}}
/* desktop */
@media (min-width:1024px){
  .wa-fab,body:has(.sticky.on) .wa-fab{right:32px;bottom:32px}
  .wa-panel,body:has(.sticky.on) .wa-panel{right:32px;bottom:112px;width:380px}
}
.wa-note a{color:#17dd78;text-underline-offset:3px}
