:root{
  --wpls-primary:#2f3cff;
  --wpls-accent:#111827;
  --wpls-surface:#ffffff;
  --wpls-bg:#f6f7fb;
  --wpls-shadow: 0 28px 90px rgba(0,0,0,.28);
}
#wpls-widget{
  position:fixed;right:18px;bottom:18px;z-index:99999;
  font-family:'Poppins', system-ui, -apple-system, Segoe UI, Roboto, Arial;
}
.wpls-fab-wrap{position:relative;display:inline-flex}
#wpls-widget .wpls-fab{
  width:58px !important;height:58px !important;border-radius:9999px !important;
  padding:0 !important;line-height:1 !important;border:0;cursor:pointer;
  box-shadow:0 18px 60px rgba(0,0,0,.28);
  background: radial-gradient(120% 120% at 20% 10%, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 48%),
              linear-gradient(135deg, color-mix(in srgb, var(--wpls-primary) 92%, #000) 0%, var(--wpls-primary) 55%, color-mix(in srgb, var(--wpls-primary) 70%, #000) 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;
  transition: transform .18s ease, filter .18s ease;
}
#wpls-widget .wpls-fab:hover{transform: translateY(-2px);filter:saturate(1.05)}
#wpls-widget .wpls-fab:active{transform: translateY(0px) scale(.98)}
.wpls-fab-ic{
  width:22px;height:22px;display:block;background:#fff;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20 2H4a2 2 0 0 0-2 2v18l4-4h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.wpls-dot{
  position:absolute;width:10px;height:10px;border-radius:9999px;background:#ff3b30;
  top:8px;right:8px;box-shadow:0 8px 20px rgba(0,0,0,.25);display:none;
}
.wpls-fab-close{position:absolute;right:0;bottom:0;background:var(--wpls-primary)}
.wpls-shell{
  position:absolute;right:0;bottom:74px;width:380px;height:620px;
  background:var(--wpls-surface);
  border-radius:28px;overflow:hidden;
  box-shadow: var(--wpls-shadow);
  display:none;border: none;
}
.wpls-chat-head{
  height:74px;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 14px;
  background: radial-gradient(120% 120% at 10% 0%, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 55%),
              linear-gradient(135deg, color-mix(in srgb, var(--wpls-primary) 92%, #000) 0%, var(--wpls-primary) 55%, color-mix(in srgb, var(--wpls-primary) 70%, #000) 100%);
}
.wpls-agent{display:flex;align-items:center;gap:12px}
.wpls-avatar{
  width:46px;height:46px;border-radius:9999px;
  background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.22);
  background-size:cover;background-position:center;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;letter-spacing:-.02em;
}
.wpls-agent-name{font-weight:800;line-height:1.1;font-size:14px}
.wpls-agent-sub{font-size:12px;opacity:.9;margin-top:2px}
.wpls-iconbtn{
  border:0;background:rgba(0,0,0,.14);color:#fff;font-size:16px;cursor:pointer;
  width:42px;height:42px;border-radius:16px;border:1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(10px);
}
.wpls-body{height:calc(100% - 74px);background:var(--wpls-bg);display:flex;flex-direction:column}
.wpls-messages{flex:1;padding:14px;overflow:auto;display:flex;flex-direction:column;gap:12px}
.wpls-msg{
  max-width:84%;padding:12px 14px;border-radius:20px;line-height:1.25;font-size:13px;
  white-space:pre-wrap;word-break:break-word;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.wpls-msg.visitor{align-self:flex-end;background:rgba(17,24,39,.10)}
.wpls-msg.agent{align-self:flex-start;background:#fff;border:1px solid rgba(0,0,0,.06)}
.wpls-msg.system{align-self:center;background:rgba(0,0,0,.06);font-size:12px;max-width:92%;box-shadow:none}
.wpls-nudgebar{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 14px;border-top:1px solid rgba(0,0,0,.06);
  background: color-mix(in srgb, var(--wpls-primary) 7%, #fff);
}
.wpls-nudge-text{font-size:12px;opacity:.85}
.wpls-nudge{
  border:0;background:var(--wpls-primary);color:#fff;padding:10px 14px;border-radius:9999px;cursor:pointer;
  box-shadow:0 14px 40px rgba(47,60,255,.22);font-weight:700;
}
.wpls-form{display:flex;gap:10px;padding:12px 14px;background:#fff;border-top:1px solid rgba(0,0,0,.06)}
.wpls-input{
  flex:1;padding:12px 14px;border-radius:100px;border:1px solid rgba(0,0,0,.12);outline:none;
  font-family:inherit;
}
.wpls-send{
  width:48px;height:48px;border:0;border-radius:9999px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--wpls-primary) 92%, #000) 0%, var(--wpls-primary) 100%);
  color:#fff;cursor:pointer;font-size:16px;
  box-shadow:0 14px 40px rgba(47,60,255,.26);
  display:flex;align-items:center;justify-content:center;
}
@media (max-width: 420px){
  .wpls-shell{width:94vw;right:3vw}
}


/* Close button: only white X, no border/background */
.wpls-iconbtn{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 0 !important;
  font-size: 22px !important;
  opacity: .95;
}
.wpls-iconbtn:hover{opacity:1}

.wpls-send i{color:#fff;font-size:18px;line-height:1}

/* Close button visible, icon only */
.wpls-iconbtn{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #ffffff !important;
  font-size: 20px !important;
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  opacity: 0.9;
}
.wpls-iconbtn:hover{opacity:1}

/* Input and send button fully rounded */
.wpls-input{
  border-radius: 100px !important;
}
.wpls-send{
  border-radius: 100px !important;
}

.wpls-powered{
  font-size:11px;
  text-align:center;
  padding:6px 0 10px;
  color:rgba(0,0,0,.45);
}
.wpls-powered a{
  color:inherit;
  text-decoration:none;
  font-weight:600;
}

/* Widget without border */
.wpls-shell{ border: none !important; }

/* Developed by */
.wpls-dev{
  padding: 6px 14px 14px;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.06);
  font-size: 11px;
  color: rgba(17,24,39,.55);
}
.wpls-dev a{color: rgba(17,24,39,.70); text-decoration: none; font-weight: 700}
.wpls-dev a:hover{text-decoration: underline}


.wpls-input:disabled{opacity:.7;cursor:not-allowed}
.wpls-send:disabled{opacity:.6;cursor:not-allowed}

.wpls-whatsapp{padding:10px 14px 0}

/* WhatsApp button (definitivo) */
#wpls-widget .wpls-whatsapp .wpls-whatsbtn,
#wpls-widget .wpls-whatsapp button.wpls-whatsbtn{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;

  background:#00B259 !important;
  color:#ffffff !important;

  border:0 !important;
  border-radius:100px !important;

  padding:14px 16px !important;
  font-weight:800 !important;
  line-height:1 !important;
  cursor:pointer !important;

  box-shadow:0 14px 40px rgba(0,0,0,.12) !important;
  outline:none !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  text-decoration:none !important;
}
#wpls-widget .wpls-whatsapp .wpls-whatsbtn i{
  font-size:18px !important;
  line-height:1 !important;
}
