/* evoDEV WhatsApp Chat */
.evodev-wa{--wa-green:#25d366;--wa-bottom:20px;--wa-side:20px;--wa-chat-bg:#efeae2;position:fixed;bottom:var(--wa-bottom);z-index:99980;font-family:inherit;line-height:1.4}
.evodev-wa *,.evodev-wa *::before,.evodev-wa *::after{box-sizing:border-box}
.evodev-wa-right{right:var(--wa-side)}
.evodev-wa-left{left:var(--wa-side)}
.evodev-wa [hidden]{display:none!important}

/* Floating button */
.evodev-wa-fab{position:relative;display:grid;place-items:center;width:60px;height:60px;margin:0;padding:0;border:0;border-radius:50%;background:var(--wa-green);color:#fff;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .2s,box-shadow .2s}
.evodev-wa-right .evodev-wa-fab{margin-left:auto}
.evodev-wa-fab:hover{transform:scale(1.06);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.evodev-wa-fab:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px var(--wa-green)}
.evodev-wa-fab-open,.evodev-wa-fab-close{grid-area:1/1;transition:transform .25s,opacity .25s}
.evodev-wa-fab-open .evodev-wa-ico{width:34px;height:34px}
.evodev-wa-fab-close{width:26px;height:26px;opacity:0;transform:rotate(-90deg)}
.evodev-wa.is-open .evodev-wa-fab-open{opacity:0;transform:rotate(90deg)}
.evodev-wa.is-open .evodev-wa-fab-close{opacity:1;transform:none}
.evodev-wa-fab::before{content:"";position:absolute;inset:0;border-radius:50%;background:var(--wa-green);opacity:.5;animation:evodev-wa-pulse 2.4s ease-out infinite;z-index:-1}
.evodev-wa.is-open .evodev-wa-fab::before,.evodev-wa.was-opened .evodev-wa-fab::before{display:none}
@keyframes evodev-wa-pulse{0%{transform:scale(1);opacity:.5}80%,100%{transform:scale(1.6);opacity:0}}

/* Popup */
.evodev-wa-box{position:absolute;bottom:76px;width:360px;max-width:calc(100vw - 32px);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 40px rgba(0,0,0,.22);opacity:0;transform:translateY(12px) scale(.97);transform-origin:bottom right;transition:opacity .22s,transform .22s;will-change:transform}
.evodev-wa-right .evodev-wa-box{right:0}
.evodev-wa-left .evodev-wa-box{left:0;transform-origin:bottom left}
.evodev-wa.is-open .evodev-wa-box{opacity:1;transform:none}

.evodev-wa-head{position:relative;display:flex;align-items:center;gap:14px;padding:18px 44px 18px 18px;background:#fff}
.evodev-wa-avatar{position:relative;flex:none;width:56px;height:56px;border-radius:50%;background:#dfe5e7}
.evodev-wa-avatar img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.evodev-wa-avatar span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--wa-green);color:#fff;font-size:24px;font-weight:700}
.evodev-wa-avatar.is-online::after{content:"";position:absolute;right:1px;bottom:2px;width:12px;height:12px;border-radius:50%;background:#4ad504;border:2px solid #fff}
.evodev-wa-name{font-size:17px;font-weight:700;color:#111b21;line-height:1.25}
.evodev-wa-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:#8696a0;cursor:pointer}
.evodev-wa-close:hover{background:#f0f2f5;color:#54656f}

.evodev-wa-chat{padding:16px 18px 22px;background-color:var(--wa-chat-bg);background-image:radial-gradient(rgba(0,0,0,.035) 1.2px,transparent 1.3px),radial-gradient(rgba(0,0,0,.025) 1.2px,transparent 1.3px);background-size:22px 22px;background-position:0 0,11px 11px}
.evodev-wa-time{margin:0 0 10px;text-align:center;font-size:12px;color:#8696a0}
.evodev-wa-msg,.evodev-wa-typing{position:relative;display:inline-block;max-width:88%;margin-left:8px;padding:10px 14px;border-radius:0 12px 12px 12px;background:#fff;color:#111b21;font-size:15px;box-shadow:0 1px 1px rgba(0,0,0,.1)}
.evodev-wa-msg::before,.evodev-wa-typing::before{content:"";position:absolute;top:0;left:-8px;border-top:0 solid transparent;border-right:8px solid #fff;border-bottom:10px solid transparent}
.evodev-wa-msg a{color:#027eb5}
.evodev-wa-msg{display:none}
.evodev-wa-typing{display:inline-flex;gap:4px;padding:14px 16px}
.evodev-wa-typing i{width:7px;height:7px;border-radius:50%;background:#9aa6ac;animation:evodev-wa-dot 1s infinite}
.evodev-wa-typing i:nth-child(2){animation-delay:.15s}
.evodev-wa-typing i:nth-child(3){animation-delay:.3s}
@keyframes evodev-wa-dot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.evodev-wa.is-typed .evodev-wa-typing{display:none}
.evodev-wa.is-typed .evodev-wa-msg{display:inline-block;animation:evodev-wa-in .25s ease-out}
@keyframes evodev-wa-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.evodev-wa-send{display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;min-width:190px;margin:22px auto 0;padding:13px 26px;border-radius:999px;background:var(--wa-green);color:#fff!important;font-size:16px;font-weight:700;text-decoration:none!important;box-shadow:0 3px 10px rgba(0,0,0,.15);transition:filter .2s,transform .2s}
.evodev-wa-send:hover{filter:brightness(.95);transform:translateY(-1px)}
.evodev-wa-send .evodev-wa-ico{width:24px;height:24px;flex:none}
img.evodev-wa-ico{display:block;object-fit:contain}

/* Device visibility */
@media (max-width:767px){.evodev-wa-show-desktop{display:none}}
@media (min-width:768px){.evodev-wa-show-mobile{display:none}}
@media (max-width:480px){
  .evodev-wa-fab{width:56px;height:56px}
  .evodev-wa-box{width:calc(100vw - 2 * var(--wa-side))}
}
@media (prefers-reduced-motion:reduce){.evodev-wa *{animation:none!important;transition:none!important}}
