/* ============================================================
   PJ KAPTEIN WOONSUPPORT - Premium chat widget (self-contained)
   Injected by js/widget.js on every page.
   ============================================================ */
.pjw,.pjw *{box-sizing:border-box}
.pjw{
  --g:#39FF14; --g-soft:rgba(57,255,20,.5);
  position:fixed;right:clamp(16px,3vw,30px);bottom:clamp(16px,3vw,30px);z-index:9990;
  font-family:"Archivo",system-ui,sans-serif;
}
@media(prefers-reduced-motion:reduce){ .pjw *{animation:none!important} }

/* ---------- FLOATING ORB ---------- */
.pjw-orb{
  position:relative;width:66px;height:66px;border-radius:50%;cursor:pointer;
  display:grid;place-items:center;will-change:transform;
  transform:translate(var(--mx,0px),var(--my,0px)) scale(var(--s,1));
  transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .3s;
}
.pjw-orb-ring{
  position:absolute;inset:-3px;border-radius:50%;
  background:conic-gradient(from 0deg,var(--g) 0deg,rgba(57,255,20,.04) 110deg,rgba(57,255,20,.04) 250deg,var(--g) 360deg);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 2.5px));
  animation:pjw-spin 7s linear infinite;
  filter:drop-shadow(0 0 5px var(--g-soft));
}
.pjw-orb-core{
  position:absolute;inset:5px;border-radius:50%;
  background:radial-gradient(120% 120% at 30% 25%,rgba(40,40,40,.9),rgba(8,8,8,.92));
  backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);
  display:grid;place-items:center;
  box-shadow:0 10px 34px -10px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.06);
  animation:pjw-breathe 4.5s ease-in-out infinite;
}
.pjw-orb-core svg{width:26px;height:26px;color:#fff;transition:color .3s,transform .4s var(--ease,cubic-bezier(.22,.61,.36,1))}
.pjw-orb:hover .pjw-orb-ring{animation-duration:2.4s}
.pjw-orb:hover .pjw-orb-core svg{color:var(--g)}
.pjw-orb::after{ /* hover pulse */
  content:"";position:absolute;inset:0;border-radius:50%;border:1px solid var(--g);opacity:0;
}
.pjw-orb:hover::after{animation:pjw-pulse 1.4s ease-out infinite}
.pjw-badge{display:none!important;
  position:absolute;top:-3px;right:-3px;width:18px;height:18px;border-radius:50%;
  background:var(--g);color:#06210A;font-size:11px;font-weight:800;display:grid;place-items:center;
  box-shadow:0 0 0 2px #060606,0 0 12px var(--g-soft);z-index:2;
}
@keyframes pjw-spin{to{transform:rotate(1turn)}}
@keyframes pjw-breathe{0%,100%{box-shadow:0 10px 34px -10px rgba(0,0,0,.8),0 0 0 0 rgba(57,255,20,0),inset 0 1px 0 rgba(255,255,255,.06)}50%{box-shadow:0 10px 34px -10px rgba(0,0,0,.8),0 0 26px -2px rgba(57,255,20,.35),inset 0 1px 0 rgba(255,255,255,.06)}}
@keyframes pjw-pulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.5);opacity:0}}

/* ---------- WINDOW (morph open) ---------- */
.pjw-win{
  position:absolute;right:0;bottom:0;width:min(420px,calc(100vw - 32px));height:min(620px,calc(100dvh - 110px));
  border-radius:24px;padding:1.6px;overflow:hidden;
  transform-origin:bottom right;transform:scale(.18);opacity:0;pointer-events:none;
  transition:transform .5s cubic-bezier(.34,1.4,.5,1),opacity .32s ease;
  box-shadow:0 40px 100px -24px rgba(0,0,0,.85);
}
.pjw.open .pjw-win{transform:scale(1);opacity:1;pointer-events:auto}
.pjw.open .pjw-orb{opacity:0;pointer-events:none}
/* moving energy border */
.pjw-win::before{
  content:"";position:absolute;top:50%;left:50%;width:180%;height:180%;
  background:conic-gradient(from 0deg,var(--g),rgba(57,255,20,0) 18%,rgba(57,255,20,0) 50%,var(--g) 62%,rgba(57,255,20,0) 80%,rgba(57,255,20,0));
  transform:translate(-50%,-50%);animation:pjw-spin 4.2s linear infinite;z-index:0;
}
.pjw-win::after{ /* soft glow trail */
  content:"";position:absolute;top:50%;left:50%;width:180%;height:180%;
  background:conic-gradient(from 0deg,var(--g),transparent 16%,transparent 84%,transparent);
  transform:translate(-50%,-50%);animation:pjw-spin 4.2s linear infinite;filter:blur(11px);opacity:.5;z-index:0;
}
.pjw-inner{
  position:relative;z-index:1;width:100%;height:100%;border-radius:22.5px;overflow:hidden;
  background:rgba(9,10,9,.86);backdrop-filter:blur(26px) saturate(1.2);
  display:flex;flex-direction:column;
  border:1px solid rgba(255,255,255,.06);
}

/* ---------- HEADER ---------- */
.pjw-head{display:flex;align-items:center;gap:13px;padding:18px 18px 16px;border-bottom:1px solid rgba(255,255,255,.07);position:relative}
.pjw-logo{width:42px;height:42px;border-radius:12px;background:var(--g);color:#06210A;display:grid;place-items:center;font-weight:800;font-size:17px;letter-spacing:0;flex:none;box-shadow:0 0 22px -6px var(--g-soft)}
.pjw-htxt{flex:1;min-width:0}
.pjw-htxt b{display:block;font-size:15.5px;font-weight:700;color:#fff;letter-spacing:-.01em}
.pjw-htxt .pjw-status{display:flex;align-items:center;gap:7px;font-size:12px;color:#9aa39a;margin-top:3px}
.pjw-dot{width:7px;height:7px;border-radius:50%;background:var(--g);box-shadow:0 0 8px var(--g);animation:pjw-dot 2s infinite}
@keyframes pjw-dot{0%,100%{opacity:1}50%{opacity:.3}}
.pjw-close{flex:none;width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.12);background:transparent;color:#cfd2cc;cursor:pointer;display:grid;place-items:center;transition:.25s}
.pjw-close:hover{border-color:var(--g);color:#fff;transform:rotate(90deg)}
.pjw-close svg{width:15px;height:15px}

/* ---------- MESSAGES ---------- */
.pjw-body{flex:1;overflow-y:auto;padding:20px 18px 6px;display:flex;flex-direction:column;gap:12px;scrollbar-width:none;scrollbar-color:rgba(255,255,255,.16) transparent}
.pjw-body::-webkit-scrollbar{width:0;display:none}.pjw-body::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:12px}
.pjw-row{display:flex;gap:9px;max-width:88%;animation:pjw-in .45s cubic-bezier(.22,.61,.36,1) both}
.pjw-row.bot{align-self:flex-start}
.pjw-row.me{align-self:flex-end;flex-direction:row-reverse}
.pjw-av{width:28px;height:28px;border-radius:12px;background:var(--g);color:#06210A;display:grid;place-items:center;font-size:11px;font-weight:800;flex:none}
.pjw-bub{padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.5;color:#e8eae6}
.pjw-row.bot .pjw-bub{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-top-left-radius:5px}
.pjw-row.me .pjw-bub{background:rgba(57,255,20,.12);border:1px solid rgba(57,255,20,.28);color:#eaffe5;border-top-right-radius:5px}
@keyframes pjw-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.pjw-typing{display:flex;gap:5px;padding:14px 16px;align-self:flex-start;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:18px;border-top-left-radius:5px}
.pjw-typing i{width:7px;height:7px;border-radius:50%;background:var(--g);opacity:.5;animation:pjw-bounce 1.3s infinite}
.pjw-typing i:nth-child(2){animation-delay:.18s}.pjw-typing i:nth-child(3){animation-delay:.36s}
@keyframes pjw-bounce{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}

/* ---------- QUICK ACTIONS + INPUT ---------- */
.pjw-foot{padding:6px 16px 16px;display:flex;flex-direction:column;gap:10px}
.pjw-qa{display:flex;flex-wrap:wrap;gap:8px}
.pjw-chip{
  display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:40px;cursor:pointer;white-space:nowrap;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.14);color:#e8eae6;
  font-family:inherit;font-size:13px;font-weight:500;transition:.28s cubic-bezier(.22,.61,.36,1);
  animation:pjw-in .4s both;
}
.pjw-chip:hover{border-color:var(--g);color:#fff;background:rgba(57,255,20,.08);box-shadow:0 8px 26px -12px var(--g-soft);transform:translateY(-1px)}
.pjw-chip svg{width:15px;height:15px;color:var(--g)}
.pjw-inputbar{display:flex;align-items:center;gap:8px;padding:7px 7px 7px 16px;border-radius:40px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);transition:.3s}
.pjw-inputbar:focus-within{border-color:var(--g);box-shadow:0 0 0 3px rgba(57,255,20,.12)}
.pjw-inputbar input{flex:1;min-width:0;background:none;border:0;outline:none;color:#fff;font-family:inherit;font-size:14px}
.pjw-inputbar input::placeholder{color:#7c817a}
.pjw-send{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:var(--g);color:#06210A;cursor:pointer;display:grid;place-items:center;transition:.25s;box-shadow:0 0 18px -6px var(--g-soft)}
.pjw-send:hover{transform:scale(1.08)}
.pjw-send svg{width:17px;height:17px}

/* ---------- MOBILE ---------- */
@media(max-width:520px){
  .pjw{right:14px;bottom:14px}
  .pjw-win{width:calc(100vw - 24px);height:min(78dvh,600px)}
  .pjw-orb{width:60px;height:60px}
}
