/* ═══ Chatbot Widget ═══ */
.cb-widget{position:fixed;bottom:96px;right:20px;z-index:9999;font-family:'Inter',sans-serif}
/* Expliciet !important om globale button{max-width:100%} te overrulen */
.cb-widget .cb-toggle{width:60px!important;height:60px!important;min-width:60px!important;min-height:60px!important;max-width:60px!important;border-radius:50%!important;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.2);display:flex!important;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;flex-shrink:0;padding:0!important;box-sizing:content-box!important}
.cb-toggle{width:60px;height:60px;min-width:60px;min-height:60px;max-width:60px;border-radius:50%;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(0,0,0,.2);display:flex;align-items:center;justify-content:center;transition:transform .2s,box-shadow .2s;flex-shrink:0;padding:0;box-sizing:content-box}
.cb-toggle:hover{transform:scale(1.08);box-shadow:0 6px 28px rgba(0,0,0,.3)}
.cb-badge{position:absolute;top:-2px;right:-2px;width:20px;height:20px;border-radius:50%;background:#ef4444;color:#fff;font-size:.7rem;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.cb-badge.hide{display:none}
.cb-panel{position:absolute;bottom:72px;right:0;width:380px;max-width:calc(100vw - 30px);height:520px;max-height:calc(100vh - 120px);background:#fff;border-radius:18px;box-shadow:0 10px 50px rgba(0,0,0,.15);display:none;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0}
.cb-panel.open{display:flex;animation:cbSlideUp .3s ease}
@keyframes cbSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.cb-header{padding:16px 18px;color:#fff;display:flex;align-items:center;justify-content:space-between}
.cb-header-info{display:flex;align-items:center;gap:10px}
.cb-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.cb-header strong{font-size:.9rem;display:block}
.cb-status{font-size:.7rem;opacity:.8;display:flex;align-items:center;gap:4px}
.cb-status::before{content:'';width:6px;height:6px;border-radius:50%;background:#4ade80;display:inline-block}
.cb-close{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;opacity:.8}
.cb-close:hover{opacity:1;background:rgba(255,255,255,.15)}
.cb-msgs{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:#f8fafc}
.cb-msg{display:flex;gap:8px;max-width:88%;animation:cbFade .3s ease}
.cb-msg.bot{align-self:flex-start}
.cb-msg.user{align-self:flex-end;flex-direction:row-reverse}
.cb-msg .bubble{padding:10px 14px;border-radius:14px;font-size:.85rem;line-height:1.5;word-break:break-word}
.cb-msg.bot .bubble{background:#fff;color:#1e293b;border:1px solid #e2e8f0;border-top-left-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.cb-msg.user .bubble{background:#ff6b35;color:#fff;border-top-right-radius:4px}
.cb-msg .av{width:28px;height:28px;border-radius:50%;background:#0f172a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;flex-shrink:0}
.cb-msg.user .av{background:#ff6b35}
@keyframes cbFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.cb-typing{display:flex;gap:4px;padding:8px 14px;align-self:flex-start}
.cb-typing span{width:7px;height:7px;border-radius:50%;background:#cbd5e1;animation:cbDot 1.2s infinite}
.cb-typing span:nth-child(2){animation-delay:.2s}
.cb-typing span:nth-child(3){animation-delay:.4s}
@keyframes cbDot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}
.cb-quick{padding:8px 12px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-top:1px solid #f1f5f9;background:#fff;flex-shrink:0}.cb-quick::-webkit-scrollbar{display:none}
.cb-quick button{padding:6px 12px;border:1px solid #e2e8f0;border-radius:20px;background:#f8fafc;font-size:.78rem;font-weight:600;color:#334155;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0}
.cb-quick button:hover{border-color:#ff6b35;color:#ff6b35;background:#fff7ed}
.cb-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #e2e8f0;background:#fff}
.cb-input input{flex:1;border:1px solid #e2e8f0;border-radius:24px;padding:10px 16px;font-size:.85rem;outline:none;transition:border-color .15s}
.cb-input input:focus{border-color:#ff6b35}
.cb-input button{width:40px;height:40px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .15s}
.cb-input button:hover{transform:scale(1.08)}
/* Lead form in chat */
.cb-form{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px;margin-top:4px}
.cb-form label{display:block;font-size:.75rem;font-weight:700;color:#64748b;margin-bottom:3px}
.cb-form input,.cb-form select,.cb-form textarea{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:8px;font-size:.82rem;margin-bottom:8px}
.cb-form button{width:100%;padding:10px;border:none;border-radius:10px;font-weight:700;color:#fff;cursor:pointer;font-size:.85rem}
@media(max-width:640px){
  .cb-widget{bottom:90px;right:14px;left:auto}
  .cb-widget .cb-toggle{width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;max-width:58px!important}
  .cb-toggle{width:58px;height:58px;min-width:58px;min-height:58px;max-width:58px}
  .cb-panel{position:fixed;left:0;right:0;bottom:0;top:auto;width:100%;max-width:100%;border-radius:20px 20px 0 0;height:78vh;max-height:78vh;box-shadow:0 -8px 40px rgba(0,0,0,.18)}
  .cb-panel.open{display:flex;animation:cbSlideUpMobile .32s cubic-bezier(.4,0,.2,1)}
  @keyframes cbSlideUpMobile{from{transform:translateY(100%)}to{transform:translateY(0)}}
  .cb-msgs{padding:12px}
  .cb-header{padding:13px 16px}
  .cb-input{padding:10px 12px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .cb-quick{padding:8px 12px}
  .cb-msg{max-width:95%}
}
