/* ===== CHATBOT FLOAT — synchronisé avec index.html ===== */
.cb-float{position:fixed;bottom:calc(2rem + env(safe-area-inset-bottom,0px));right:calc(2rem + env(safe-area-inset-right,0px));z-index:1000;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}
body.footer-visible .cb-float{opacity:0;pointer-events:none;transition:opacity .3s}
.cb-toggle{width:56px;height:56px;border-radius:50%;background:var(--navy-dark);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 22px rgba(28,43,107,.5);transition:transform .2s,box-shadow .2s;position:relative;animation:cb-pulse 2.8s ease-in-out infinite}
.cb-toggle:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(28,43,107,.65)}
.cb-badge{position:absolute;top:-1px;right:-1px;width:13px;height:13px;background:var(--gold);border-radius:50%;border:2px solid #fff;display:none}
@keyframes cb-pulse{0%,100%{box-shadow:0 4px 22px rgba(28,43,107,.5)}50%{box-shadow:0 4px 30px rgba(28,43,107,.7),0 0 0 8px rgba(28,43,107,.08)}}
.cb-window{width:330px;max-width:calc(100vw - 2rem);background:#fff;border-radius:20px;box-shadow:0 12px 50px rgba(0,0,0,.18);display:none;flex-direction:column;overflow:hidden;transform:scale(.92) translateY(12px);opacity:0;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .25s ease;transform-origin:bottom right;height:500px}
.cb-window.cb-open{transform:scale(1) translateY(0);opacity:1}
.cb-head{background:var(--navy-dark);padding:.9rem 1rem;display:flex;align-items:center;gap:.7rem}
.cb-avatar{width:36px;height:36px;border-radius:50%;background:var(--grad-gold);display:flex;align-items:center;justify-content:center;color:var(--navy-dark);font-size:1rem;font-weight:800;flex-shrink:0}
.cb-head-name{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:#fff;line-height:1.2}
.cb-head-status{font-size:.65rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:.3rem;margin-top:.15rem}
.cb-head-status::before{content:'';width:6px;height:6px;background:#4ade80;border-radius:50%;display:inline-block;flex-shrink:0}
.cb-close{background:rgba(255,255,255,.12);border:none;cursor:pointer;color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s;margin-left:auto;flex-shrink:0}
.cb-close:hover{background:rgba(255,255,255,.22)}
.cb-msgs{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:.75rem .85rem}
.cb-msgs::-webkit-scrollbar{width:3px}
.cb-msgs::-webkit-scrollbar-thumb{background:rgba(28,43,107,.15);border-radius:3px}
.cb-msg{margin-bottom:.45rem}
.cb-bubble{display:block;max-width:82%;padding:.5rem .8rem;border-radius:14px;font-size:.8rem;line-height:1.5;font-family:var(--font-display);word-break:break-word;position:static!important;border-radius:14px!important}
.cb-msg.bot .cb-bubble{margin-right:auto;background:#f0f2f8;color:var(--navy-dark);border-bottom-left-radius:3px!important}
.cb-msg.usr .cb-bubble{margin-left:auto;background:var(--navy-dark);color:#fff;border-bottom-right-radius:3px!important}
.cb-msg.bot .cb-bubble a{color:var(--gold);text-decoration:underline;cursor:pointer}
.cb-typing .cb-bubble{display:flex!important;gap:4px;align-items:center;padding:.55rem .8rem}
.cb-dot{width:6px;height:6px;background:#b0b8d0;border-radius:50%;animation:cb-dot .9s ease-in-out infinite}
.cb-dot:nth-child(2){animation-delay:.18s}.cb-dot:nth-child(3){animation-delay:.36s}
@keyframes cb-dot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}
.cb-chips{padding:.3rem .85rem .5rem;display:flex;flex-wrap:wrap;gap:.35rem}
.cb-chip{background:#f0f2f8;border:1.5px solid transparent;color:var(--navy-dark);font-family:var(--font-display);font-size:.7rem;font-weight:600;padding:.3rem .7rem;border-radius:50px;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap}
.cb-chip:hover{background:#e4e8f4;border-color:rgba(28,43,107,.2)}
.cb-foot{display:flex;align-items:center;gap:.45rem;padding:.6rem .85rem;border-top:1px solid #f0f0f0}
.cb-input{flex:1;border:1.5px solid #e8eaf0;border-radius:50px;padding:.45rem .9rem;font-size:max(16px,.78rem);font-family:var(--font-display);outline:none;transition:border-color .2s;color:var(--navy-dark)}
.cb-input:focus{border-color:var(--navy-dark)}
.cb-send{width:32px;height:32px;border-radius:50%;background:var(--navy-dark);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s,transform .1s;flex-shrink:0}
.cb-send:hover{background:#243480}.cb-send:active{transform:scale(.93)}
@media(max-width:480px){.cb-float{bottom:calc(1.2rem + env(safe-area-inset-bottom,0px));right:calc(1.2rem + env(safe-area-inset-right,0px))}.cb-window{width:calc(100vw - 2.4rem);max-height:480px}}
