/* Widget de WhatsApp (app/WhatsApp.php). Para trocar as cores, mexa só nas variáveis. */
.nsw{
	--nsw-cor:#2eb844;
	--nsw-cor-esc:#27a03b;
	--nsw-fundo:#f2f5f8;
	--nsw-txt:#3a3f47;
	--nsw-mudo:#9aa3ad;
	--nsw-raio:8px;
	position:fixed;
	right:var(--nsw-lado,20px);
	bottom:var(--nsw-baixo,20px);
	z-index:9990;
	display:flex;
	align-items:center;
	gap:12px;
	font-family:inherit;
	font-size: 14px;
	line-height:1.35
	}
.nsw-esquerda{right:auto;left:var(--nsw-lado,20px);flex-direction:row-reverse}
.nsw *,.nsw *::before,.nsw *::after{box-sizing:border-box}

/* botão flutuante */
.nsw-btn{width:56px;height:56px;border:0;border-radius:50%;padding:0;background:var(--nsw-cor);color:#fff;display:grid;place-items:center;cursor:pointer;
	box-shadow:0 6px 18px rgba(0,0,0,.22);transition:background .2s,transform .2s}
.nsw-btn:hover{background:var(--nsw-cor-esc);transform:scale(1.05)}
.nsw-btn:focus-visible{outline:3px solid #fff;outline-offset:-6px;box-shadow:0 0 0 3px var(--nsw-cor),0 6px 18px rgba(0,0,0,.22)}
.nsw-btn svg{display:block}
.nsw-fecha{display:none!important}
.nsw.aberta .nsw-abre{display:none}
.nsw.aberta .nsw-fecha{display:block!important}

/* balão de convite (some quando a pessoa abre a janela) */
.nsw-balao{font-size:var(--nsw-fonte,inherit);background:var(--nsw-fundo);color:var(--nsw-txt);padding:12px 18px;border-radius:var(--nsw-raio);width:var(--nsw-balao,auto);max-width:calc(100vw - 110px);box-shadow:0 4px 14px rgba(0,0,0,.14);animation:nsw-entra .4s ease both .6s}
.nsw-balao strong{font-weight:700}
.nsw.aberta .nsw-balao,.nsw.sem-balao .nsw-balao{display:none}

/* janela */
.nsw-janela{position:absolute;bottom:72px;right:0;width:min(360px,calc(100vw - 40px));background:#fff;border-radius:var(--nsw-raio);overflow:hidden;
	box-shadow:0 10px 40px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .2s,transform .2s,visibility .2s}
.nsw-esquerda .nsw-janela{right:auto;left:0}
.nsw.aberta .nsw-janela{opacity:1;visibility:visible;transform:none}
.nsw-topo{background:var(--nsw-cor);color:#fff;display:flex;align-items:center;gap:16px;padding:22px 24px 20px}
.nsw-topo-ic{flex:none}
.nsw-titulo{margin:0;font-size: 1rem;font-weight:500}
.nsw-corpo{padding:14px 18px 20px;max-height:min(60vh,480px);overflow-y:auto}
.nsw-sub{margin:0 0 14px;color:var(--nsw-mudo);font-size:.9rem}
.nsw-lista{list-style:none;margin:0;padding:0;display:grid;gap:12px}

/* setor: normal e com o mouse por cima */
.nsw-item{display:flex;align-items:center;gap:14px;padding:12px 16px 12px 12px;background:var(--nsw-fundo);border-left:3px solid var(--nsw-cor);border-radius:var(--nsw-raio);
	color:var(--nsw-txt);text-decoration:none;transition:background .2s,box-shadow .2s,transform .2s}
.nsw-item:hover,.nsw-item:focus-visible{background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.14);transform:translateY(-1px)}
.nsw-item:focus-visible{outline:2px solid var(--nsw-cor);outline-offset:2px}
.nsw-av{flex:none}
.nsw-nome{flex:1;min-width:0;font-size: 0.8rem;overflow-wrap:anywhere}
.nsw-go{flex:none;color:var(--nsw-cor)}

@keyframes nsw-entra{from{opacity:0;transform:translateX(8px)}to{opacity:1;transform:none}}
@media (max-width:480px){.nsw{right:min(var(--nsw-lado,20px),14px);bottom:min(var(--nsw-baixo,20px),14px)}.nsw-esquerda{left:min(var(--nsw-lado,20px),14px)}.nsw-balao{padding:10px 14px;font-size:.9rem}}
@media (prefers-reduced-motion:reduce){.nsw *{transition:none!important;animation:none!important}}
