/* "Ask VIP" chat widget for VIP AI Agents. Uses the site's own variables: forest green + lime, DM Serif Display and Inter. */
.vc{--vc-w:390px;--vc-bg:var(--forest,#0c3b2d);--vc-bg2:var(--forest-2,#124a39);--vc-lime:var(--lime,#69db23);--vc-ink:var(--ink,#0f241b);--vc-muted:var(--muted,#4a5d54);--vc-line:var(--line,#dce8df);--vc-mint:var(--mint,#f1faea);position:fixed;right:22px;bottom:22px;z-index:70;font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--vc-ink);transition:bottom .25s}
.vc.lift:not(.open){bottom:92px}
.vc *,.vc *:before,.vc *:after{box-sizing:border-box}
.vc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vc-fab{display:flex;align-items:center;gap:10px;height:56px;padding:0 20px 0 8px;border:0;border-radius:999px;cursor:pointer;background:var(--vc-bg);color:#fff;font:inherit;font-size:15px;font-weight:600;line-height:1;box-shadow:0 14px 30px -10px rgba(12,59,45,.6);transition:transform .2s,background .2s}
.vc-fab:hover{background:var(--vc-bg2);transform:translateY(-2px)}
.vc-fab:focus-visible,.vc-x:focus-visible,.vc-chip:focus-visible,.vc-in button:focus-visible,.vc-msg a:focus-visible,.vc-log:focus-visible{outline:3px solid var(--vc-lime);outline-offset:2px}
.vc-fab-ic{width:40px;height:40px;border-radius:50%;background:var(--vc-lime);color:var(--vc-bg);display:grid;place-items:center}
.vc-fab-ic svg{width:22px;height:22px}
.vc.open .vc-fab{display:none}
.vc-panel{position:absolute;right:0;bottom:0;width:var(--vc-w);height:min(620px,calc(100vh - 44px));display:flex;flex-direction:column;background:#fff;border:1px solid var(--vc-line);border-radius:var(--r,22px);box-shadow:0 30px 60px -24px rgba(12,59,45,.38),0 2px 4px rgba(12,59,45,.08);overflow:hidden;animation:vcIn .22s ease-out}
.vc-panel[hidden]{display:none}
@keyframes vcIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.vc-head{display:flex;align-items:center;gap:12px;padding:14px 14px 12px 16px;background:var(--vc-bg);color:#fff}
.vc-av{width:38px;height:38px;flex:none;border-radius:50%;background:var(--vc-lime);color:var(--vc-bg);display:grid;place-items:center}
.vc-av svg{width:21px;height:21px}
.vc-ttl{flex:1;min-width:0}
.vc-ttl strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:19px;font-weight:400;color:#fff;letter-spacing:-.005em;line-height:1.15}
.vc-ttl small{display:block;font-size:12px;color:#cfe4d8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vc-x{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;display:grid;place-items:center}
.vc-x:hover{background:rgba(255,255,255,.12)}
.vc-x svg{width:18px;height:18px}
.vc-log{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain;background:#fff}
.vc-msg{max-width:90%;font-size:14.5px;line-height:1.5;padding:11px 14px;border-radius:16px;overflow-wrap:anywhere}
.vc-bot{background:var(--vc-mint);color:var(--vc-ink);border:1px solid var(--vc-line);border-top-left-radius:4px;align-self:flex-start}
.vc-me{background:var(--vc-bg);color:#fff;border-top-right-radius:4px;align-self:flex-end}
.vc-msg a{color:var(--lime-d,#3f9a0c);text-decoration:underline;text-underline-offset:2px;font-weight:600}
.vc-me a{color:#fff}
.vc-msg strong{font-weight:700;color:inherit}
.vc-acts{display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 4px}
.vc-acts>*{min-width:0}
.vc-chip{display:inline-flex;align-items:center;min-height:38px;font:inherit;font-size:13px;font-weight:600;line-height:1.25;padding:7px 14px;border-radius:999px;border:1.5px solid var(--vc-bg);background:#fff;color:var(--vc-bg);cursor:pointer;text-decoration:none;transition:.15s}
.vc-chip:hover{background:var(--vc-bg);color:#fff}
a.vc-chip[target]:after{content:"↗";margin-left:6px;font-size:12px}
.vc-typing{display:flex;gap:5px;padding:14px 16px}
.vc-typing i{width:7px;height:7px;border-radius:50%;background:var(--vc-muted);animation:vcDot 1s infinite ease-in-out}
.vc-typing i:nth-child(2){animation-delay:.15s}.vc-typing i:nth-child(3){animation-delay:.3s}
@keyframes vcDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.vc-in{display:flex;gap:8px;padding:12px 12px 6px;border-top:1px solid var(--vc-line);background:#fff}
.vc-in input{flex:1;min-width:0;background:#fff;border:1.5px solid var(--vc-line);border-radius:999px;padding:12px 16px;color:var(--vc-ink);font:inherit;font-size:15px}
.vc-in input::placeholder{color:#6b7c73}
.vc-in input:focus{outline:none;border-color:var(--vc-bg);box-shadow:0 0 0 3px rgba(105,219,35,.35)}
.vc-in button{width:46px;height:46px;flex:none;border:0;border-radius:50%;background:var(--vc-lime);color:var(--vc-bg);cursor:pointer;display:grid;place-items:center}
.vc-in button:hover{background:var(--lime-2,#8ae84a)}
.vc-in button svg{width:20px;height:20px}
.vc-foot{margin:0;font-size:11.5px;line-height:1.4;color:var(--vc-muted);text-align:center;padding:4px 14px 12px;background:#fff}
@media(max-width:560px){
 .vc{right:16px;bottom:16px}
 .vc.lift:not(.open){bottom:84px}
 .vc-fab{height:52px;padding:0 6px}.vc-fab-tx{display:none}
 .vc.open{left:0;right:0;bottom:0}
 .vc-panel{position:fixed;left:8px;right:8px;bottom:8px;width:auto;height:min(82vh,640px);height:min(82dvh,640px)}
 .vc-in input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.vc-panel,.vc-typing i{animation:none}.vc-log{scroll-behavior:auto}.vc-fab,.vc{transition:none}}
@media print{.vc{display:none}}
