.ugc{--ugc-g:#2e7d32;--ugc-gd:#1f5f24;--ugc-ink:#111827;--ugc-mut:#6b7280;--ugc-line:#e5e7eb;--ugc-soft:#f3f6f3;position:fixed;right:20px;bottom:20px;z-index:99990;font:14px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ugc-ink)}
.ugc *{box-sizing:border-box}
.ugc [hidden]{display:none!important}
.ugc svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ugc-launch{position:relative;width:60px;height:60px;border-radius:50%;border:0;background:var(--ugc-g);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(17,24,39,.22);transition:transform .18s,background .18s;padding:0;margin-left:auto}
.ugc-launch:hover{background:var(--ugc-gd);transform:translateY(-2px)}
.ugc-launch:focus-visible{outline:3px solid #a5d6a7;outline-offset:3px}
.ugc-launch svg{width:27px;height:27px}
.ugc-launch__i--chat svg{fill:currentColor;stroke:none}
.ugc-launch__i{position:absolute;display:flex;transition:opacity .18s,transform .18s}
.ugc-launch__i--x{opacity:0;transform:rotate(-60deg)}
.ugc.is-open .ugc-launch__i--chat{opacity:0;transform:rotate(60deg)}
.ugc.is-open .ugc-launch__i--x{opacity:1;transform:none}
.ugc-badge{position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:#d03b3b;color:#fff;font-size:11.5px;font-weight:700;line-height:21px;text-align:center;border:2px solid #fff}
.ugc-teaser{position:absolute;right:0;bottom:74px;width:260px;background:#fff;border-radius:14px;padding:14px 34px 14px 16px;box-shadow:0 10px 30px rgba(17,24,39,.18);cursor:pointer;animation:ugcIn .3s ease}
.ugc-teaser p{margin:0;font-size:14px;color:var(--ugc-ink)}
.ugc-teaser:after{content:"";position:absolute;right:24px;bottom:-7px;width:14px;height:14px;background:#fff;transform:rotate(45deg)}
.ugc-teaser__x{position:absolute;top:8px;right:8px;border:0;background:none;color:var(--ugc-mut);cursor:pointer;padding:2px;line-height:0}
.ugc-teaser__x svg{width:16px;height:16px}
.ugc-panel{position:absolute;right:0;bottom:76px;width:370px;height:560px;max-height:calc(100vh - 110px);background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(17,24,39,.25);display:flex;flex-direction:column;overflow:hidden;animation:ugcIn .22s ease}
@keyframes ugcIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.ugc-head{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 18px;background:var(--ugc-ink);color:#fff;border-bottom:4px solid var(--ugc-g)}
.ugc-avatar{width:40px;height:40px;border-radius:50%;background:#fff;flex:none;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ugc-avatar img{width:100%;height:100%;object-fit:cover}
.ugc-head__t{flex:1;min-width:0;display:flex;flex-direction:column}
.ugc-head__t strong{font-size:15.5px;font-weight:700}
.ugc-state{font-size:12.5px;color:#cbd5e1;display:flex;align-items:center;gap:6px}
.ugc-state em{font-style:normal}
.ugc-state i{width:8px;height:8px;border-radius:50%;background:#9ca3af;flex:none}
.ugc-state.is-on i{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.25)}
.ugc-close{border:0;background:rgba(255,255,255,.1);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.ugc-close:hover{background:rgba(255,255,255,.2)}
.ugc-close svg{width:18px;height:18px}
.ugc-body{flex:1;overflow-y:auto;padding:16px 14px 6px;background:#f7f8f7;overscroll-behavior:contain}
.ugc-msgs{display:flex;flex-direction:column;gap:10px}
.ugc-m{display:flex;flex-direction:column;max-width:84%}
.ugc-m__b{padding:10px 13px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
.ugc-m__t{font-size:11px;color:var(--ugc-mut);margin-top:3px}
.ugc-m--agent{align-self:flex-start}
.ugc-m--agent .ugc-m__b{background:#fff;border:1px solid var(--ugc-line);border-bottom-left-radius:4px}
.ugc-m--visitor{align-self:flex-end;align-items:flex-end}
.ugc-m--visitor .ugc-m__b{background:var(--ugc-g);color:#fff;border-bottom-right-radius:4px}
.ugc-m--visitor.is-sending{opacity:.6}
.ugc-m--visitor.is-failed .ugc-m__b{background:#b42318}
.ugc-m--system{align-self:center;max-width:94%}
.ugc-m--system .ugc-m__b{background:transparent;color:var(--ugc-mut);font-size:12.5px;text-align:center;padding:2px 6px}
.ugc-typing{display:flex;gap:4px;padding:10px 13px;background:#fff;border:1px solid var(--ugc-line);border-radius:14px;width:58px;margin-top:10px}
.ugc-typing span{width:7px;height:7px;border-radius:50%;background:#9ca3af;animation:ugcDot 1.2s infinite}
.ugc-typing span:nth-child(2){animation-delay:.15s}.ugc-typing span:nth-child(3){animation-delay:.3s}
@keyframes ugcDot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.ugc-pre{padding:14px 16px 12px;border-top:1px solid var(--ugc-line);background:#fff;display:flex;flex-direction:column;gap:9px;max-height:62%;overflow-y:auto}
.ugc-pre label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;font-weight:600;color:#374151;margin:0}
.ugc-pre input,.ugc-pre textarea,.ugc-compose textarea{width:100%;border:1px solid #d1d5db;border-radius:9px;padding:9px 11px;font:inherit;color:var(--ugc-ink);background:#fff;box-shadow:none;margin:0;min-height:0;height:auto}
.ugc-pre input:focus,.ugc-pre textarea:focus,.ugc-compose textarea:focus{outline:none;border-color:var(--ugc-g);box-shadow:0 0 0 3px rgba(46,125,50,.15)}
.ugc-pre textarea{resize:none}
.ugc .ugc-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.ugc-btn{background:var(--ugc-g);color:#fff;border:0;border-radius:9px;padding:11px;font:inherit;font-weight:700;cursor:pointer;text-transform:none;letter-spacing:0;min-height:0;line-height:1.3}
.ugc-btn:hover{background:var(--ugc-gd)}
.ugc-btn:disabled{opacity:.6;cursor:wait}
.ugc-err{margin:0;color:#b42318;font-size:12.5px}
.ugc-fine{margin:0;font-size:11.5px;color:var(--ugc-mut);text-align:center}
.ugc-fine a{color:var(--ugc-mut);text-decoration:underline}
.ugc-compose{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--ugc-line);background:#fff}
.ugc-compose textarea{resize:none;max-height:120px;line-height:1.4}
.ugc-compose button{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:var(--ugc-g);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;min-height:0}
.ugc-compose button:hover{background:var(--ugc-gd)}
.ugc-compose button svg{width:20px;height:20px;fill:currentColor;stroke:none}
/* keep WoodMart's scroll-to-top button clear of the chat button */
.scrollToTop{bottom:96px!important}
@media (max-width:1024px){.ugc{bottom:72px;right:14px}.scrollToTop{bottom:146px!important}}
@media (max-width:520px){
	.ugc-launch{width:54px;height:54px}
	.ugc.is-open{inset:0;right:0;bottom:0}
	.ugc.is-open .ugc-launch{display:none}
	.ugc-panel{position:fixed;inset:0;width:100%;height:100%;max-height:none;border-radius:0}
	.ugc-teaser{width:230px}
	.ugc-pre input,.ugc-pre textarea,.ugc-compose textarea{font-size:16px}
}
@media (prefers-reduced-motion:reduce){.ugc *{animation:none!important;transition:none!important}}
