/* AI Voice Assistant widget */
.vc-fab{position:fixed;right:80px;bottom:22px;z-index:950;display:flex;align-items:center;gap:9px;padding:12px 18px 12px 14px;border-radius:50px;background:linear-gradient(135deg,#1a2234,#121722);border:1px solid rgba(36,191,255,.45);color:#fff;font-weight:600;font-size:14px;box-shadow:0 14px 34px rgba(0,0,0,.45),0 0 0 4px rgba(36,191,255,.08);transition:.3s var(--ease)}
.vc-fab:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 34px rgba(0,0,0,.45),var(--glow)}
.vc-fab i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#04121f;font-size:14px}
.vc-fab-dot{position:absolute;top:6px;left:36px;width:9px;height:9px;border-radius:50%;background:#3ddc97;box-shadow:0 0 0 0 rgba(61,220,151,.6);animation:vcPing 2s infinite}
@keyframes vcPing{70%{box-shadow:0 0 0 8px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
.vc-panel{position:fixed;right:20px;bottom:86px;z-index:960;width:min(370px,calc(100vw - 32px));max-height:calc(100dvh - 120px);display:flex;flex-direction:column;border-radius:24px;background:linear-gradient(180deg,#151a25,#0f1219);border:1px solid var(--line-2);box-shadow:0 40px 90px rgba(0,0,0,.6),0 0 0 1px rgba(36,191,255,.08);overflow:hidden;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .25s,transform .25s var(--ease)}
.vc-panel.open{opacity:1;transform:none}
.vc-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line)}
.vc-head b{display:block;color:#fff;font-size:15px}
.vc-head small{color:var(--muted);font-size:12px;display:flex;align-items:center;gap:6px}
.vc-live-dot{width:7px;height:7px;border-radius:50%;background:var(--dim)}
.vc-panel[data-state=live] .vc-live-dot{background:#ff5d5d;animation:vcPing 1.6s infinite}
.vc-x{width:34px;height:34px;border-radius:10px;background:#1c2029;border:1px solid var(--line);color:#fff}
.vc-stage{padding:22px 18px 8px;text-align:center}
.vc-orb{--s:calc(1 + var(--lvl,0) * .35);position:relative;width:104px;height:104px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#6fe0ff,#0a84ff 60%,#0a3c7a);color:#04121f;font-size:28px;box-shadow:0 0 40px rgba(36,191,255,.35);transition:transform .12s}
.vc-orb span{position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(36,191,255,.35);opacity:0}
.vc-panel[data-state=live] .vc-orb{transform:scale(var(--s))}
.vc-panel[data-state=connecting] .vc-orb span,.vc-panel.ai-talking .vc-orb span{animation:vcRing 1.6s infinite}
.vc-orb span:nth-child(2){animation-delay:.8s!important}
@keyframes vcRing{0%{opacity:.9;transform:scale(.9)}100%{opacity:0;transform:scale(1.5)}}
.vc-panel.ai-talking .vc-orb{background:radial-gradient(circle at 35% 30%,#b7f0ff,#24bfff 55%,#0a84ff)}
.vc-panel.muted .vc-orb{filter:grayscale(.8);opacity:.7}
.vc-status{color:#fff;font-weight:600;font-size:15px}
.vc-timer{font-family:var(--display);font-size:13px;color:var(--muted);margin-top:2px;letter-spacing:1px}
.vc-panel.low-time .vc-timer{color:#ffb547}
.vc-idle-copy{padding:6px 20px 20px;text-align:center}
.vc-idle-copy p{color:#aeb5c2;font-size:13.5px;line-height:1.6;margin-bottom:14px}
.vc-note{display:block;margin-top:12px;color:var(--dim);font-size:11.5px;line-height:1.5}
.vc-log{display:none;flex:1;min-height:90px;max-height:220px;overflow-y:auto;padding:6px 16px 10px;gap:8px;flex-direction:column}
.vc-line{max-width:88%;padding:8px 12px;border-radius:14px;font-size:13px;line-height:1.5;color:#e7eaf0;background:#1c2230}
.vc-line.user{align-self:flex-end;background:rgba(36,191,255,.16);border-bottom-right-radius:4px}
.vc-line.ai{align-self:flex-start;border-bottom-left-radius:4px}
.vc-controls{display:none;gap:10px;padding:12px 16px 18px;justify-content:center}
.vc-btn{display:flex;align-items:center;gap:8px;padding:11px 18px;border-radius:50px;background:#1c2029;border:1px solid var(--line-2);color:#fff;font-weight:600;font-size:13.5px}
.vc-btn[aria-pressed=true]{background:#ffb547;color:#1a1200;border-color:transparent}
.vc-btn.end{background:#e5484d;border-color:transparent}
.vc-ended{display:none;padding:4px 20px 20px;text-align:center}
.vc-ended form{display:grid;gap:9px}
.vc-ended form p{color:#cfd6e2;font-size:13.5px}
.vc-ended input{width:100%;padding:11px 14px;border-radius:12px;background:#0f1218;border:1px solid var(--line-2);color:#fff;font-size:14px}
.vc-done{color:#3ddc97;font-size:14px;font-weight:500}
.vc-end-actions{display:flex;gap:10px;justify-content:center;margin-top:14px}
.vc-err{margin:0 16px 16px;padding:10px 12px;border-radius:12px;background:rgba(229,72,77,.12);border:1px solid rgba(229,72,77,.35);color:#ffb3b3;font-size:12.5px;line-height:1.5}
.vc-err a{color:#fff;font-weight:600;text-decoration:underline}
.vc-panel[data-state=connecting] .vc-idle-copy #vcStart{opacity:.6;pointer-events:none}
.vc-panel[data-state=live] .vc-idle-copy,.vc-panel[data-state=ended] .vc-idle-copy{display:none}
.vc-panel[data-state=live] .vc-log,.vc-panel[data-state=ended] .vc-log{display:flex}
.vc-panel[data-state=live] .vc-controls{display:flex}
.vc-panel[data-state=ended] .vc-ended{display:block}
.vc-panel[data-state=ended] .vc-timer{display:none}
@media (max-width:760px){
  .vc-fab{right:72px;bottom:16px;padding:10px 14px 10px 10px;font-size:13px}
  .vc-panel{right:16px;left:16px;width:auto;bottom:76px}
}
@media (max-width:380px){.vc-fab-tx{display:none}.vc-fab{padding:10px}}

/* ---------- call-screen pieces (hidden in the small desktop panel) ---------- */
.vc-call-tag,.vc-name,.vc-elapsed{display:none}
.vc-btn.cc{display:none}
.vc-orb.has-img{background:#0b1531;padding:0;overflow:visible}
.vc-orb img{width:100%;height:100%;border-radius:50%;object-fit:cover;position:relative;z-index:1}
.vc-orb span:nth-child(3){animation-delay:.4s!important}
.vc-panel.no-cc .vc-log{visibility:hidden}

/* ---------- MOBILE: full-screen phone call ---------- */
@media (max-width:760px){
  html.vc-calling,html.vc-calling body{overflow:hidden;overscroll-behavior:none}
  html.vc-calling .vc-fab,html.vc-calling .wa-float,html.vc-calling .to-top,html.vc-calling .sound-btn{display:none!important}
  html.vc-calling .vc-panel{position:fixed;inset:0;left:0;right:0;top:0;bottom:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0;z-index:9500;
    padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);opacity:1;transform:none;color:#fff;
    background:radial-gradient(120% 70% at 50% 0%,#1d4fae 0%,rgba(29,79,174,0) 60%),radial-gradient(90% 60% at 50% 100%,#0a3d6b 0%,rgba(10,61,107,0) 70%),linear-gradient(180deg,#0b1736,#060b1a)}
  html.vc-calling .vc-head{border:0;padding:14px 18px 0;justify-content:flex-end}
  html.vc-calling .vc-head>div{display:none}
  html.vc-calling .vc-panel[data-state=live] .vc-x,html.vc-calling .vc-panel[data-state=connecting] .vc-x{visibility:hidden}
  html.vc-calling .vc-x{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.15);color:#fff}
  html.vc-calling .vc-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 24px 0;min-height:0}
  html.vc-calling .vc-call-tag{display:flex;align-items:center;gap:7px;font-size:12.5px;color:rgba(255,255,255,.7);margin-bottom:34px;letter-spacing:.3px}
  html.vc-calling .vc-orb{width:min(150px,38vw);height:min(150px,38vw);font-size:46px;margin-bottom:26px;box-shadow:0 0 0 10px rgba(255,255,255,.04),0 0 60px rgba(36,191,255,.45)}
  html.vc-calling .vc-orb span{inset:-14px;border-color:rgba(140,210,255,.45)}
  html.vc-calling .vc-panel[data-state=connecting] .vc-orb span,html.vc-calling .vc-panel.ai-talking .vc-orb span{animation:vcRing 1.8s infinite}
  html.vc-calling .vc-name{display:block;font-family:var(--display);font-size:clamp(26px,7.5vw,32px);font-weight:700;color:#fff;letter-spacing:-.3px;text-align:center;line-height:1.15}
  html.vc-calling .vc-status{margin-top:6px;font-weight:500;font-size:15px;color:rgba(255,255,255,.75)}
  html.vc-calling .vc-elapsed{display:block;margin-top:6px;font-size:15px;font-variant-numeric:tabular-nums;color:#fff;letter-spacing:1px}
  html.vc-calling .vc-timer{font-size:12px;color:rgba(255,255,255,.5);margin-top:2px}
  html.vc-calling .vc-panel.low-time .vc-timer{color:#ffb547}
  html.vc-calling .vc-log{flex:0 0 auto;max-height:24dvh;min-height:0;margin:10px 16px 0;padding:6px 4px;
    -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%);mask-image:linear-gradient(180deg,transparent,#000 22%)}
  html.vc-calling .vc-line{background:rgba(255,255,255,.1);color:#fff;font-size:13.5px;backdrop-filter:blur(6px)}
  html.vc-calling .vc-line.user{background:rgba(36,191,255,.28)}
  html.vc-calling .vc-controls{display:none;justify-content:space-evenly;align-items:flex-start;gap:0;padding:22px 18px calc(26px + env(safe-area-inset-bottom))}
  html.vc-calling .vc-panel[data-state=live] .vc-controls,html.vc-calling .vc-panel[data-state=connecting] .vc-controls{display:flex}
  html.vc-calling .vc-btn{flex-direction:column;gap:9px;padding:0;background:none;border:0;font-size:12.5px;font-weight:500;color:rgba(255,255,255,.85);width:84px}
  html.vc-calling .vc-btn i{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:rgba(255,255,255,.14);color:#fff;transition:.2s}
  html.vc-calling .vc-btn:active i{transform:scale(.92)}
  html.vc-calling .vc-btn[aria-pressed=true] i{background:#fff;color:#0b1736}
  html.vc-calling .vc-btn.cc{display:flex}
  html.vc-calling .vc-btn.cc[aria-pressed=true] i{background:rgba(255,255,255,.14);color:#fff}
  html.vc-calling .vc-panel.no-cc .vc-btn.cc i{background:#fff;color:#0b1736}
  html.vc-calling .vc-btn.end{background:none;color:rgba(255,255,255,.85)}
  html.vc-calling .vc-btn.end i{width:72px;height:72px;margin-top:-4px;background:#ff3b30;font-size:26px;box-shadow:0 10px 30px rgba(255,59,48,.45)}
  html.vc-calling .vc-panel[data-state=connecting] .vc-btn.cc,html.vc-calling .vc-panel[data-state=connecting] #vcMute{visibility:hidden}
  html.vc-calling .vc-ended{padding:16px 22px calc(22px + env(safe-area-inset-bottom))}
  html.vc-calling .vc-ended form p,html.vc-calling .vc-done{color:#fff}
  html.vc-calling .vc-ended input{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
  html.vc-calling .vc-ended input::placeholder{color:rgba(255,255,255,.55)}
  html.vc-calling .vc-end-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.08)}
  html.vc-calling .vc-panel[data-state=ended] .vc-log{max-height:16dvh}
  html.vc-calling .vc-panel[data-state=ended] .vc-orb{width:96px;height:96px;font-size:30px;margin-bottom:16px;box-shadow:none;filter:grayscale(.4)}
  html.vc-calling .vc-panel[data-state=ended] .vc-call-tag{margin-bottom:18px}
  html.vc-calling .vc-err{margin:0 18px 18px;background:rgba(229,72,77,.18);color:#ffd2d2}
  html.vc-calling .vc-err a{color:#fff}
}

/* avatar photo */
.vc-fab-av{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 0 0 2px rgba(36,191,255,.5)}
.vc-fab-dot{left:38px;top:7px;z-index:1;border:2px solid #121722}
html.lt .vc-fab-dot{border-color:#fff}
.vc-orb.has-img{background:none;box-shadow:0 0 40px rgba(36,191,255,.4)}
.vc-panel.ai-talking .vc-orb.has-img{background:none;box-shadow:0 0 0 4px rgba(36,191,255,.35),0 0 50px rgba(36,191,255,.6)}
.vc-panel.muted .vc-orb.has-img{filter:none;opacity:1}
@media (max-width:760px){html.vc-calling .vc-orb.has-img{width:min(170px,44vw);height:min(170px,44vw)}}
