.chat-widget{position:fixed;right:20px;bottom:20px;z-index:1200;font-family:'Inter',sans-serif}

.chat-toggle{width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(27,58,92,0.35);transition:transform .2s}
.chat-toggle:hover{transform:translateY(-2px) scale(1.04)}
.chat-toggle-icon-close{display:none}
.chat-widget.is-open .chat-toggle-icon-open{display:none}
.chat-widget.is-open .chat-toggle-icon-close{display:block}

.chat-panel{position:absolute;right:0;bottom:74px;width:340px;max-width:calc(100vw - 40px);max-height:min(560px,70vh);display:flex;flex-direction:column;background:var(--white);border-radius:16px;box-shadow:0 20px 60px rgba(20,33,61,0.25);overflow:hidden;border:1px solid rgba(27,58,92,0.1)}
.chat-panel[hidden]{display:none}

.chat-panel-header{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;flex-shrink:0}
.chat-panel-logo{border-radius:50%;background:rgba(255,255,255,0.15);padding:3px;flex-shrink:0}
.chat-panel-title{font-weight:700;font-size:14px}
.chat-panel-status{font-size:11.5px;color:rgba(255,255,255,0.75);display:flex;align-items:center;gap:5px}
.chat-status-dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;display:inline-block}
.chat-panel-close{margin-left:auto;background:none;border:none;color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:.8;padding:4px}
.chat-panel-close:hover{opacity:1}

.chat-panel-body{padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:12px;background:var(--bg)}

.chat-bubble{background:var(--white);border-radius:12px 12px 12px 4px;padding:10px 14px;font-size:13.5px;line-height:1.5;color:var(--dark);box-shadow:0 2px 8px rgba(20,33,61,0.06)}

.chat-log{display:flex;flex-direction:column;gap:8px}
.chat-log:empty{display:none}

.chat-log-item{display:flex;flex-direction:column;gap:6px}
.chat-question-bubble{align-self:flex-end;max-width:85%;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:12px 12px 4px 12px;padding:9px 13px;font-size:13.5px;line-height:1.5;font-weight:500}

.chat-faq-list{display:flex;flex-direction:column;gap:8px}
.chat-faq-btn{text-align:left;background:var(--white);border:1px solid rgba(27,58,92,0.15);border-radius:10px;padding:10px 12px;font-size:13px;font-weight:500;color:var(--primary);cursor:pointer;transition:all .2s}
.chat-faq-btn:hover{background:rgba(27,58,92,0.06);border-color:var(--primary)}

.chat-cta{margin-top:auto;padding-top:8px;border-top:1px solid rgba(27,58,92,0.1)}
.chat-cta-label{font-size:12px;color:var(--mid);margin-bottom:8px;font-weight:600}
.chat-cta-row{display:flex;flex-wrap:wrap;gap:8px}
.chat-cta-btn{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 10px;border-radius:9px;font-size:12.5px;font-weight:600;white-space:nowrap;color:#fff}
.chat-cta-btn--whatsapp{background:#25D366}
.chat-cta-btn--sms{background:var(--secondary)}
.chat-cta-btn--call{background:var(--accent);color:var(--dark)}
.chat-cta-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}

@media (max-width:480px){
    .chat-widget{right:14px;bottom:14px}
    .chat-panel{right:-6px;width:calc(100vw - 28px)}
}
