/* Q Chat Widget v1.7.0 */
#q-chat-widget-root{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-size:14px;line-height:1.5;z-index:999999;position:relative}

/* SVG Icon Protection — prevent theme overrides */
#q-chat-widget-root svg{display:inline-block!important;visibility:visible!important;opacity:1!important;width:auto;height:auto;max-width:none;max-height:none;position:static;overflow:visible;clip:auto;clip-path:none;fill:currentColor;vertical-align:middle;box-sizing:content-box}
#q-chat-widget-root svg[stroke="currentColor"]{fill:none!important;stroke:currentColor}
#q-chat-widget-root .qc-launcher svg{width:28px;height:28px}
#q-chat-widget-root .qc-header-btn svg{width:16px;height:16px}
#q-chat-widget-root .qc-send-btn svg{width:20px;height:20px}
#q-chat-widget-root .qc-contact-cta svg{width:14px;height:14px}

/* Launcher - Modern Circular Button (Intercom-style) */
.qc-launcher{position:fixed;bottom:24px;z-index:999999;width:60px;height:60px;border-radius:50%;background:var(--qc-primary,#6C5CE7);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(108,92,231,.35);transition:all .4s cubic-bezier(.4,0,.2,1);outline:none}
.qc-launcher:hover{transform:scale(1.1);box-shadow:0 8px 28px rgba(108,92,231,.5)}
.qc-launcher:active{transform:scale(.95)}
.qc-launcher-active{background:var(--qc-primary,#6C5CE7);box-shadow:0 4px 16px rgba(108,92,231,.35)}
.qc-launcher svg{transition:transform .3s ease}
.qc-launcher:hover svg{transform:rotate(8deg)}
.qc-launcher-active svg{transform:rotate(0)!important}
.qc-unread-badge{position:absolute;top:-4px;right:-4px;background:#FF6B6B;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 2px 8px rgba(255,107,107,.5);animation:qcBadgePop .3s ease}
@keyframes qcBadgePop{from{transform:scale(0)}to{transform:scale(1)}}

/* Attention Bubble */
.qc-attention-bubble{position:fixed;bottom:96px;z-index:999998;background:#fff;border-radius:16px;padding:12px 16px;box-shadow:0 8px 32px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;gap:8px;animation:qcBubbleIn .5s cubic-bezier(.4,0,.2,1);max-width:280px}
.qc-bubble-text{font-size:14px;color:#2D3436;line-height:1.4}
.qc-bubble-close{background:none;border:none;color:#B2BEC3;font-size:18px;cursor:pointer;padding:0 0 0 4px;line-height:1;flex-shrink:0}
.qc-bubble-close:hover{color:#636E72}
.qc-attention-bubble::after{content:'';position:absolute;bottom:-6px;width:12px;height:12px;background:#fff;transform:rotate(45deg);box-shadow:3px 3px 4px rgba(0,0,0,.05)}
.qc-attention-bubble[style*="right"]::after{right:32px}
.qc-attention-bubble[style*="left"]::after{left:32px}
@keyframes qcBubbleIn{from{opacity:0;transform:translateY(10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}

/* Chat Window */
.qc-window{position:fixed;bottom:96px;z-index:999998;width:var(--qc-width,380px);height:var(--qc-height,600px);max-height:60vh;max-width:calc(100vw - 32px);background:var(--qc-bg,#fff);border-radius:var(--qc-radius,16px);box-shadow:none;display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .4s cubic-bezier(.4,0,.2,1),transform .4s cubic-bezier(.4,0,.2,1),visibility .4s}
.qc-window-open{opacity:1;visibility:visible;pointer-events:auto;box-shadow:0 12px 48px rgba(0,0,0,.12),0 2px 8px rgba(0,0,0,.06)}

/* Animations */
.qc-anim-slide-up{transform:translateY(20px)}
.qc-anim-slide-up.qc-window-open{transform:translateY(0)}
.qc-anim-fade-in{transform:scale(.95)}
.qc-anim-fade-in.qc-window-open{transform:scale(1)}
.qc-anim-scale{transform:scale(.8)}
.qc-anim-scale.qc-window-open{transform:scale(1)}
.qc-anim-none{transform:none}

/* Header */
.qc-header{background:linear-gradient(135deg,var(--qc-primary,#6C5CE7),var(--qc-secondary,#A29BFE));color:#fff;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.qc-header-info{display:flex;align-items:center;gap:12px}
.qc-header-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.3)}
.qc-header-title{font-weight:600;font-size:16px;letter-spacing:-.2px}
.qc-header-status{font-size:12px;opacity:.9;display:flex;align-items:center;gap:5px;margin-top:2px}
.qc-status-dot{width:7px;height:7px;border-radius:50%;background:#55EFC4;display:inline-block;animation:qcPulse 2s infinite}
.qc-header-actions{display:flex;gap:6px}
.qc-header-btn{background:rgba(255,255,255,.15);border:none;color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.qc-header-btn:hover{background:rgba(255,255,255,.3)}
@keyframes qcPulse{0%,100%{opacity:1}50%{opacity:.4}}

/* Body */
.qc-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;background:var(--qc-bg,#fff)}
.qc-body::-webkit-scrollbar{width:4px}
.qc-body::-webkit-scrollbar-thumb{background:rgba(0,0,0,.1);border-radius:10px}

/* Messages */
.qc-message{display:flex;flex-direction:column;max-width:82%;animation:qcMsgIn .35s cubic-bezier(.4,0,.2,1)}
.qc-message-bot{align-self:flex-start}
.qc-message-visitor{align-self:flex-end}
.qc-message-content{padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word}
.qc-message-bot .qc-message-content{background:#F0F0F5;color:var(--qc-text,#2D3436);border-bottom-left-radius:4px}
.qc-message-visitor .qc-message-content{background:var(--qc-primary,#6C5CE7);color:#fff;border-bottom-right-radius:4px}
.qc-message-time{font-size:11px;color:#999;margin-top:4px;padding:0 4px}
.qc-message-visitor .qc-message-time{text-align:right}
@keyframes qcMsgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Code */
.qc-code-block{background:#1E1E2E;color:#A6E3A1;padding:12px;border-radius:8px;overflow-x:auto;font-family:'Fira Code',monospace;font-size:13px;margin:8px 0;white-space:pre-wrap}
.qc-inline-code{background:rgba(108,92,231,.1);color:var(--qc-primary,#6C5CE7);padding:2px 6px;border-radius:4px;font-family:monospace;font-size:13px}
.qc-message-visitor .qc-code-block{background:rgba(0,0,0,.2);color:#fff}
.qc-message-visitor .qc-inline-code{background:rgba(255,255,255,.2);color:#fff}
.qc-message-content a{color:inherit;text-decoration:underline}
.qc-message-content strong{font-weight:600}

/* Typing Indicator */
.qc-typing-indicator{display:flex;flex-direction:column;gap:6px;padding:10px 14px}
.qc-typing-agent{font-size:12px;color:var(--qc-primary,#6C5CE7);font-weight:600;letter-spacing:.2px}
.qc-typing-dots{display:flex;gap:5px;align-items:center}
.qc-typing-dots span{width:7px;height:7px;border-radius:50%;background:#B2BEC3;animation:qcTyping 1.4s infinite ease-in-out both}
.qc-typing-dots span:nth-child(2){animation-delay:.2s}
.qc-typing-dots span:nth-child(3){animation-delay:.4s}
@keyframes qcTyping{0%,80%,100%{transform:scale(.5);opacity:.5}40%{transform:scale(1);opacity:1}}

/* Suggestions */
.qc-suggestions{display:flex;flex-wrap:wrap;gap:8px;padding:4px 0}
.qc-suggestion-chip{background:transparent;border:1.5px solid var(--qc-primary,#6C5CE7);color:var(--qc-primary,#6C5CE7);padding:8px 16px;border-radius:20px;cursor:pointer;font-size:13px;transition:all .25s ease;white-space:nowrap}
.qc-suggestion-chip:hover{background:var(--qc-primary,#6C5CE7);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(108,92,231,.25)}

/* Lead Form */
.qc-lead-form{background:linear-gradient(135deg,rgba(108,92,231,.04),rgba(162,155,254,.04));border:1px solid rgba(108,92,231,.12);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:10px;animation:qcMsgIn .35s ease}
.qc-form-title{font-weight:600;font-size:15px;color:var(--qc-text,#2D3436)}
.qc-form-input{width:100%;padding:10px 12px;border:1.5px solid #E0E0E0;border-radius:8px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s;background:var(--qc-bg,#fff);color:var(--qc-text,#2D3436);box-sizing:border-box}
.qc-form-input:focus{border-color:var(--qc-primary,#6C5CE7);box-shadow:0 0 0 3px rgba(108,92,231,.1)}
.qc-consent-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#636E72;cursor:pointer}
.qc-consent-label input{accent-color:var(--qc-primary,#6C5CE7)}
.qc-form-submit{width:100%;padding:10px;background:var(--qc-primary,#6C5CE7);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease}
.qc-form-submit:hover{opacity:.9;transform:translateY(-1px)}
.qc-thank-you{text-align:center;padding:20px;color:var(--qc-primary,#6C5CE7);font-weight:600;font-size:15px}

/* Footer */
.qc-footer{padding:12px 16px;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0;background:var(--qc-bg,#fff)}
.qc-input-wrap{display:flex;align-items:flex-end;gap:8px;background:#F5F5FA;border-radius:12px;padding:6px 10px}
.qc-input{flex:1;border:none;background:transparent;resize:none;outline:none;font-size:14px;max-height:100px;color:var(--qc-text,#2D3436);font-family:inherit;line-height:1.4;padding:4px 0}
.qc-input::placeholder{color:#B2BEC3}
.qc-send-btn{background:var(--qc-primary,#6C5CE7);color:#fff;border:none;width:36px;height:36px;border-radius:10px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .25s ease}
.qc-send-btn:hover{opacity:.85;transform:scale(1.05)}
.qc-branding{text-align:center;font-size:11px;color:#B2BEC3;margin-top:8px}

/* Request Quote CTA */
.qc-contact-cta{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:8px 12px;background:transparent;border:1.5px solid var(--qc-primary,#6C5CE7);color:var(--qc-primary,#6C5CE7);border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;transition:all .25s ease;letter-spacing:.2px}
.qc-contact-cta:hover{background:var(--qc-primary,#6C5CE7);color:#fff}
.qc-contact-cta svg{flex-shrink:0}
.qc-dark .qc-contact-cta{border-color:var(--qc-secondary,#A29BFE);color:var(--qc-secondary,#A29BFE)}
.qc-dark .qc-contact-cta:hover{background:var(--qc-primary,#6C5CE7);color:#fff;border-color:var(--qc-primary,#6C5CE7)}

/* Disabled state for send */
.qc-send-btn:disabled,.qc-input:disabled{opacity:.5;cursor:not-allowed}

/* Dark Mode */
.qc-dark{--qc-bg:#1A1A2E;--qc-text:#E0E0E0}
.qc-dark .qc-body{background:#1A1A2E}
.qc-dark .qc-message-bot .qc-message-content{background:#2D2D44;color:#E0E0E0}
.qc-dark .qc-input-wrap{background:#2D2D44}
.qc-dark .qc-input{color:#E0E0E0}
.qc-dark .qc-footer{background:#1A1A2E;border-top-color:rgba(255,255,255,.06)}
.qc-dark .qc-form-input{background:#2D2D44;border-color:#3D3D55;color:#E0E0E0}
.qc-dark .qc-form-title{color:#E0E0E0}
.qc-dark .qc-lead-form{background:rgba(45,45,68,.5);border-color:rgba(108,92,231,.25)}
.qc-dark .qc-suggestion-chip{border-color:var(--qc-primary);color:var(--qc-primary)}
.qc-dark .qc-suggestion-chip:hover{background:var(--qc-primary);color:#fff}
.qc-dark .qc-code-block{background:#12121E}
.qc-dark .qc-inline-code{background:rgba(108,92,231,.2)}
.qc-dark .qc-typing-agent{color:var(--qc-secondary,#A29BFE)}

/* Mobile Optimization */
@media(max-width:480px){
    .qc-window{width:calc(100vw - 16px);max-height:60vh;bottom:88px;left:8px!important;right:8px!important;border-radius:16px 16px 12px 12px}
    .qc-launcher{bottom:16px}
    .qc-attention-bubble{bottom:84px;left:16px!important;right:16px!important;max-width:none}
    .qc-header{padding:14px 16px}
    .qc-body{padding:12px}
    .qc-footer{padding:10px 12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
}

@supports(padding-bottom: env(safe-area-inset-bottom)){
    .qc-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}
    .qc-launcher{bottom:max(24px,calc(env(safe-area-inset-bottom) + 8px))}
}
