/* ══ CHATBOT DANNYAI ══════════════════════════════════════════ */
.cb-launcher{position:fixed;right:22px;bottom:22px;z-index:9000;width:58px;height:58px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;box-shadow:0 8px 26px rgba(99,102,241,.45);display:flex;align-items:center;justify-content:center;transition:transform .15s,box-shadow .15s}
.cb-launcher:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(99,102,241,.6)}
.cb-launcher svg{width:26px;height:26px}
.cb-launcher .cb-chat-icon{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.cb-launcher .cb-close-icon{display:none}
.cb-launcher.open .cb-chat-icon{display:none}
.cb-launcher.open .cb-close-icon{display:block}
.cb-dot{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:#fbbf24;border:2px solid #fff}
.cb-launcher.open .cb-dot{display:none}

.cb-panel{position:fixed;right:22px;bottom:92px;z-index:9000;width:370px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 130px);background:#fff;border-radius:16px;box-shadow:0 24px 60px rgba(16,24,40,.28);display:none;flex-direction:column;overflow:hidden;font-family:'DM Sans',system-ui,sans-serif}
.cb-panel.open{display:flex}

.cb-head{background:linear-gradient(135deg,#1a2744,#243257);padding:16px 18px;position:relative;overflow:hidden;flex-shrink:0;display:flex;align-items:center;gap:12px}
.cb-head-avatar{position:relative;z-index:1;width:42px;height:42px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(255,255,255,.25);box-shadow:0 4px 14px rgba(0,0,0,.3)}
.cb-head::after{content:'';position:absolute;top:-70px;right:-40px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(251,191,36,.25),transparent 70%);pointer-events:none}
.cb-head-title{position:relative;font-family:'Playfair Display',Georgia,serif;font-size:17px;font-weight:700;color:#fff}
.cb-head-sub{position:relative;font-size:11.5px;color:rgba(255,255,255,.6);margin-top:3px;display:flex;align-items:center;gap:6px}
.cb-head-sub::before{content:'';width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 8px rgba(52,211,153,.8)}

.cb-body{flex:1;min-height:0;overflow-y:auto;padding:18px 16px 8px;background:linear-gradient(180deg,#fdfaf4,#f7f0e6)}
.cb-body::-webkit-scrollbar{width:6px}
.cb-body::-webkit-scrollbar-thumb{background:rgba(26,39,68,.18);border-radius:4px}

.cb-ligne{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}
.cb-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1px solid #e8e4dc;background:#fff;box-shadow:0 2px 6px rgba(26,39,68,.10)}
.cb-ligne .cb-msg{margin-bottom:0;max-width:100%}
.cb-msg{max-width:86%;font-size:13.5px;line-height:1.6;padding:11px 14px;border-radius:14px;margin-bottom:10px;white-space:pre-line;animation:cb-in .22s ease-out}
.cb-msg.bot{background:#fff;color:#1a1a2e;border:1px solid #e8e4dc;border-bottom-left-radius:5px;box-shadow:0 2px 8px rgba(26,39,68,.05)}
.cb-msg.user{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;margin-left:auto;border-bottom-right-radius:5px}
.cb-msg strong{font-weight:700}
.cb-msg a{color:#2563eb;font-weight:600}
@keyframes cb-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.cb-typing{display:flex;gap:4px;padding:13px 14px;background:#fff;border:1px solid #e8e4dc;border-radius:14px;border-bottom-left-radius:5px;width:fit-content;margin-bottom:10px;margin-left:38px}
.cb-typing i{width:6px;height:6px;border-radius:50%;background:#94a3b8;animation:cb-bounce 1.1s infinite}
.cb-typing i:nth-child(2){animation-delay:.15s}
.cb-typing i:nth-child(3){animation-delay:.3s}
@keyframes cb-bounce{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

.cb-actions{display:flex;flex-direction:column;gap:7px;padding:4px 16px 16px;flex-shrink:0;background:linear-gradient(180deg,#f7f0e6,#f7f0e6)}
.cb-btn{text-align:left;background:#fff;border:1px solid #e8e4dc;border-bottom:3px solid #c3cad9;border-radius:10px;padding:10px 13px;font-size:13px;font-weight:600;color:#1a2744;cursor:pointer;font-family:inherit;transition:transform .12s,box-shadow .12s,border-color .12s;position:relative;overflow:hidden;padding-left:18px}
.cb-btn::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#fbbf24,#f97362)}
.cb-btn:hover{transform:translateY(-1px);border-bottom-color:#8b5cf6;box-shadow:0 5px 14px rgba(26,39,68,.12)}
.cb-btn.primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#fff;border-color:transparent;border-bottom-color:#2f4fbd;text-align:center;padding-left:13px}
.cb-btn.primary::before{display:none}
.cb-btn.ghost{background:transparent;border:1px solid #d8d2c6;border-bottom-width:1px;color:#64748b;font-weight:500;text-align:center;padding-left:13px}
.cb-btn.ghost::before{display:none}

.cb-form{display:flex;flex-direction:column;gap:9px;padding:4px 16px 16px;flex-shrink:0}
.cb-form label{font-size:11px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.6px}
.cb-form input,.cb-form textarea{width:100%;border:1px solid #e8e4dc;border-radius:9px;padding:10px 12px;font-size:13px;font-family:inherit;color:#1a1a2e;background:#fff}
.cb-form input:focus,.cb-form textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.cb-form textarea{resize:vertical;min-height:64px}
.cb-hp{position:absolute;left:-9999px}
.cb-error{font-size:12px;color:#dc2626;font-weight:600}

.cb-foot{padding:8px 16px 12px;font-size:10.5px;color:#94a3b8;text-align:center;flex-shrink:0;border-top:1px solid #eee8dd;background:#f7f0e6}

@media(max-width:480px){
  .cb-panel{right:12px;left:12px;bottom:84px;width:auto;height:calc(100vh - 110px)}
  .cb-launcher{right:16px;bottom:16px;width:52px;height:52px}
}
