/* WP Live Chat Pro – Widget CSS v3 */
#wplc-root { position:fixed;bottom:24px;z-index:99999;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
#wplc-root[data-position="right"] { right:24px; }
#wplc-root[data-position="left"]  { left:24px; }

#wplcLauncher { width:58px;height:58px;border-radius:50%;background:var(--wplc-color,#2271b1);border:none;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;position:relative; }
#wplcLauncher:hover { transform:scale(1.08);box-shadow:0 6px 22px rgba(0,0,0,.3); }
#wplcLauncher svg { width:26px;height:26px;fill:#fff;pointer-events:none; }
#wplcLauncherBadge { position:absolute;top:-4px;right:-4px;background:#d63638;color:#fff;font-size:10px;font-weight:700;width:18px;height:18px;border-radius:50%;display:none;align-items:center;justify-content:center; }

#wplcBox { width:370px;height:540px;background:#fff;border-radius:18px;box-shadow:0 10px 44px rgba(0,0,0,.18);display:none;flex-direction:column;overflow:hidden;position:absolute;bottom:72px; }
#wplc-root[data-position="right"] #wplcBox { right:0; }
#wplc-root[data-position="left"]  #wplcBox { left:0; }
#wplcBox.is-open { display:flex;animation:wplcPop .22s ease; }
@keyframes wplcPop { from{transform:scale(.9) translateY(14px);opacity:0} to{transform:scale(1) translateY(0);opacity:1} }

/* Header */
#wplcHeader { background:var(--wplc-color,#2271b1);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0; }
.wplc-header-left { display:flex;align-items:center;gap:10px; }
.wplc-header-avatar { width:38px;height:38px;background:rgba(255,255,255,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px; }
.wplc-header-title { color:#fff;font-size:15px;font-weight:700; }
.wplc-header-sub   { color:rgba(255,255,255,.8);font-size:12px; }
#wplcCloseBtn { background:none;border:none;color:rgba(255,255,255,.8);font-size:20px;cursor:pointer;padding:4px;line-height:1; }
#wplcCloseBtn:hover { color:#fff; }

/* Status bar */
#wplcStatusBar { padding:6px 16px;font-size:12px;text-align:center;display:none;flex-shrink:0; }
#wplcStatusBar.waiting { background:#fff8e5;color:#9a6700;display:block; }
#wplcStatusBar.active  { background:#edfaef;color:#1a7a2e;display:block; }
#wplcStatusBar.closed  { background:#f0f0f1;color:#646970;display:block; }

/* Pre-chat form */
#wplcPreChat { flex:1;padding:16px;display:flex;flex-direction:column;gap:10px;overflow-y:auto; }
.wplc-form-group { display:flex;flex-direction:column;gap:4px; }
.wplc-form-label { font-size:13px;font-weight:600;color:#3c434a; }
.wplc-req { color:#d63638; }
.wplc-form-input { border:1px solid #c3c4c7;border-radius:8px;padding:9px 12px;font-size:14px;outline:none;transition:border .15s;font-family:inherit; }
.wplc-form-input:focus { border-color:var(--wplc-color,#2271b1);box-shadow:0 0 0 2px rgba(34,113,177,.13); }
.wplc-field-error { color:#d63638;font-size:12px;min-height:16px; }
.wplc-start-btn { background:var(--wplc-color,#2271b1);color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .15s;margin-top:4px; }
.wplc-start-btn:hover { opacity:.88; }

/* Messages */
#wplcMessages { flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f8f9fa; }
.wplc-msg { max-width:82%;display:flex;flex-direction:column;gap:3px; }
.wplc-msg.visitor { align-self:flex-end; }
.wplc-msg.agent   { align-self:flex-start; }
.wplc-msg.bot     { align-self:flex-start; }
.wplc-msg.system  { align-self:center;max-width:92%; }
.wplc-msg-bubble  { padding:9px 13px;border-radius:16px;font-size:14px;line-height:1.5;word-break:break-word; }
.wplc-msg.visitor .wplc-msg-bubble { background:var(--wplc-color,#2271b1);color:#fff;border-bottom-right-radius:4px; }
.wplc-msg.agent   .wplc-msg-bubble { background:#fff;border:1px solid #e0e0e0;color:#1d2327;border-bottom-left-radius:4px; }
.wplc-msg.bot     .wplc-msg-bubble { background:#f0f7ff;border:1px solid #c0d9f0;color:#1d2327;border-bottom-left-radius:4px; }
.wplc-msg.system  .wplc-msg-bubble { background:#e8e8e8;color:#666;font-size:12px;border-radius:8px;text-align:center; }
.wplc-msg-time { font-size:10px;color:#aaa; }
.wplc-msg.visitor .wplc-msg-time { text-align:right; }

/* Rating box */
#wplcRatingBox { padding:16px;background:#fff;flex-shrink:0; }

/* Input */
#wplcInputArea { display:flex;gap:8px;padding:10px 14px;background:#fff;border-top:1px solid #e8e8e8;flex-shrink:0;align-items:flex-end; }
#wplcInput { flex:1;border:1px solid #c3c4c7;border-radius:20px;padding:9px 14px;font-size:14px;outline:none;resize:none;font-family:inherit;transition:border .15s;line-height:1.4; }
#wplcInput:focus { border-color:var(--wplc-color,#2271b1); }
.wplc-attach-btn { cursor:pointer;font-size:18px;flex-shrink:0;padding:4px;line-height:1;align-self:center; }
#wplcSendBtn { background:var(--wplc-color,#2271b1);border:none;border-radius:50%;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s; }
#wplcSendBtn:hover { opacity:.85; }
#wplcSendBtn svg { width:16px;height:16px;fill:#fff; }

#wplcMessages::-webkit-scrollbar { width:4px; }
#wplcMessages::-webkit-scrollbar-thumb { background:#ccc;border-radius:4px; }

/* Mobile */
@media (max-width:480px) {
    #wplcBox { width:calc(100vw - 20px);right:10px !important;left:10px !important;bottom:68px; }
}
