#cb,#cb *{box-sizing:border-box;font-family:Manrope,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:0;text-transform:none}
#cb{position:fixed;right:20px;bottom:20px;z-index:99990;font-size:15px;line-height:1.45;color:#0a1628}
/* Fiches produit : le thème pose déjà « Besoin d'un devis ? » en bas à droite, la bulle passe au-dessus. */
body.single-product #cb{bottom:84px}
#cb button{cursor:pointer;margin:0;min-height:0;box-shadow:none;text-shadow:none}
#cb .cb-btn{width:62px;height:62px;border-radius:50%;border:0;padding:0;background:#0a1628;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(10,22,40,.28);transition:transform .15s}
#cb .cb-btn:hover{transform:scale(1.08);background:#0a1628}
#cb .cb-btn .cb-perso{width:54px;height:54px}
#cb .cb-amorce{position:absolute;right:0;bottom:74px;width:250px;background:#fff;border-radius:14px 14px 4px 14px;padding:14px 34px 14px 16px;box-shadow:0 8px 28px rgba(10,22,40,.22);cursor:pointer;font-weight:600;animation:cb-monte .3s ease-out}
#cb .cb-amorce span{display:block;font-weight:400;font-size:14px;margin-top:2px;color:#475264}
#cb .cb-x{position:absolute;top:6px;right:6px;width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:#475264;font-size:18px;line-height:1;padding:0}
#cb .cb-x:hover{background:#eef0f3;color:#0a1628}
#cb .cb-panneau{position:absolute;right:0;bottom:74px;width:360px;max-width:calc(100vw - 24px);height:520px;max-height:calc(100vh - 110px);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(10,22,40,.3);display:flex;flex-direction:column;overflow:hidden;animation:cb-monte .2s ease-out}
#cb .cb-entete{background:#0a1628;color:#fff;padding:10px 44px 10px 12px;position:relative;display:flex;align-items:center;gap:10px}
#cb .cb-entete .cb-perso{width:60px;height:60px;flex:none}
#cb .cb-titre{font-weight:700;font-size:16px}
#cb .cb-titre small{display:block;font-weight:400;font-size:13px;opacity:.75}
#cb .cb-entete .cb-x{top:12px;right:10px;color:#fff;width:28px;height:28px;font-size:22px}
#cb .cb-entete .cb-x:hover{background:rgba(255,255,255,.15);color:#fff}
#cb .cb-fil{flex:1;overflow-y:auto;padding:14px;background:#f6f7f9;display:flex;flex-direction:column;gap:8px}
#cb .cb-msg{max-width:86%;padding:9px 12px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere}
#cb .cb-b{align-self:flex-start;background:#fff;border:1px solid #e4e7ec;border-bottom-left-radius:4px}
#cb .cb-m{align-self:flex-end;background:#f26b2b;color:#fff;border-bottom-right-radius:4px}
#cb .cb-msg a{color:#d55a1f;font-weight:700;text-decoration:underline}
#cb .cb-prod{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid #e4e7ec;border-radius:12px;padding:8px;text-decoration:none;color:#0a1628}
#cb .cb-prod:hover{border-color:#f26b2b}
#cb .cb-prod img{width:54px;height:54px;object-fit:cover;border-radius:8px;flex:none;background:#eef0f3}
#cb .cb-prod b{display:block;font-size:14px;font-weight:700;line-height:1.3}
#cb .cb-prod i{font-style:normal;font-size:13px;color:#d55a1f;font-weight:600}
#cb .cb-choix{display:flex;flex-wrap:wrap;gap:6px}
#cb .cb-choix button{border:1px solid #f26b2b;background:#fff;color:#d55a1f;border-radius:999px;padding:7px 13px;font-size:14px;font-weight:600;line-height:1.2}
#cb .cb-choix button:hover{background:#f26b2b;color:#fff}
#cb .cb-saisie{display:flex;gap:8px;padding:10px;border-top:1px solid #e4e7ec;background:#fff;margin:0}
#cb .cb-saisie input[type=text]{flex:1;min-width:0;height:42px;border:1px solid #cfd4dc;border-radius:999px;padding:0 14px;font-size:16px;background:#fff;color:#0a1628;margin:0;box-shadow:none}
#cb .cb-saisie input[type=text]:focus{outline:2px solid #f26b2b;outline-offset:0;border-color:#f26b2b}
#cb .cb-saisie button{flex:none;width:42px;height:42px;border-radius:50%;border:0;background:#f26b2b;color:#fff;padding:0;display:flex;align-items:center;justify-content:center}
#cb .cb-saisie button svg{width:18px;height:18px}
#cb .cb-piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
#cb [hidden]{display:none!important}
@keyframes cb-monte{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:480px){#cb{right:12px;bottom:12px}#cb .cb-panneau{width:calc(100vw - 24px)}}
/* ---- le personnage ---- */
#cb .cb-perso{display:block;line-height:0}
#cb .cb-tete{width:100%;height:100%;display:block;overflow:visible}
#cb .cb-tete *{transform-box:fill-box;transform-origin:center;transition:opacity .15s,transform .25s}
#cb .cb-t-trait path{fill:none;stroke:#2b1a0a;stroke-width:2.6;stroke-linecap:round}
#cb .cb-t-corps{animation:cb-flotte 3.2s ease-in-out infinite}
#cb .cb-t-og,#cb .cb-t-od{animation:cb-cligne 4.6s infinite}
#cb .cb-t-ag,#cb .cb-t-ad,#cb .cb-t-b2,#cb .cb-t-b3,#cb .cb-t-b4,#cb .cb-t-b5,#cb .cb-t-joue{opacity:0}
#cb .cb-tete[data-h=repos] .cb-t-yeux{transform:translate(var(--cbx,0),var(--cby,0));transition:transform .1s}
#cb .cb-tete[data-h=pense] .cb-t-corps{animation:cb-pense 1.1s ease-in-out infinite}
#cb .cb-tete[data-h=pense] .cb-t-yeux{transform:translate(-2.5px,-3px)}
#cb .cb-tete[data-h=pense] .cb-t-sd{transform:translateY(-3px) rotate(-8deg)}
#cb .cb-tete[data-h=pense] .cb-t-b1,#cb .cb-tete[data-h=triste] .cb-t-b1,#cb .cb-tete[data-h=content] .cb-t-b1,#cb .cb-tete[data-h=ecoute] .cb-t-b1{opacity:0}
#cb .cb-tete[data-h=pense] .cb-t-b3{opacity:1;transform:translateX(3px)}
#cb .cb-tete[data-h=ecoute] .cb-t-yeux{transform:translate(-1.5px,3px)}
#cb .cb-tete[data-h=ecoute] .cb-t-sg,#cb .cb-tete[data-h=ecoute] .cb-t-sd{transform:translateY(-2.5px)}
#cb .cb-tete[data-h=ecoute] .cb-t-b5{opacity:1}
#cb .cb-tete[data-h=ecoute] .cb-t-corps{animation:cb-ecoute 1.4s ease-in-out infinite}
#cb .cb-tete[data-h=content] .cb-t-og,#cb .cb-tete[data-h=content] .cb-t-od,#cb .cb-tete[data-h=clin] .cb-t-od{opacity:0;animation:none}
#cb .cb-tete[data-h=content] .cb-t-ag,#cb .cb-tete[data-h=content] .cb-t-ad,#cb .cb-tete[data-h=clin] .cb-t-ad{opacity:1}
#cb .cb-tete[data-h=content] .cb-t-b2,#cb .cb-tete[data-h=content] .cb-t-joue,#cb .cb-tete[data-h=clin] .cb-t-joue{opacity:1}
#cb .cb-tete[data-h=content] .cb-t-joue,#cb .cb-tete[data-h=clin] .cb-t-joue{opacity:.55}
#cb .cb-tete[data-h=content] .cb-t-corps{animation:cb-saute .7s ease-out 2}
#cb .cb-tete[data-h=clin] .cb-t-corps{animation:cb-salut .9s ease-in-out 2}
#cb .cb-tete[data-h=clin] .cb-t-b1{transform:scale(1.15)}
#cb .cb-tete[data-h=triste] .cb-t-b4{opacity:1}
#cb .cb-tete[data-h=triste] .cb-t-sg{transform:rotate(-16deg) translateY(1px)}
#cb .cb-tete[data-h=triste] .cb-t-sd{transform:rotate(16deg) translateY(1px)}
#cb .cb-tete[data-h=triste] .cb-t-yeux{transform:translateY(1.5px)}
#cb .cb-tete[data-h=triste] .cb-t-corps{animation:cb-non .5s ease-in-out 2}
#cb .cb-pts{display:flex;gap:4px;align-items:center;padding:13px 14px}
#cb .cb-pts span{width:7px;height:7px;border-radius:50%;background:#9aa3b2;animation:cb-pt 1s infinite}
#cb .cb-pts span:nth-child(2){animation-delay:.15s}
#cb .cb-pts span:nth-child(3){animation-delay:.3s}
@keyframes cb-flotte{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-1.6px) rotate(1.5deg)}}
@keyframes cb-cligne{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes cb-pense{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(-3deg) translateY(-1px)}}
@keyframes cb-ecoute{0%,100%{transform:rotate(3deg)}50%{transform:rotate(5deg) translateY(1px)}}
@keyframes cb-saute{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-5px) scale(1.08)}65%{transform:translateY(1px) scale(.97)}}
@keyframes cb-salut{0%,100%{transform:rotate(0)}30%{transform:rotate(-10deg)}70%{transform:rotate(8deg)}}
@keyframes cb-non{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-2.5px) rotate(-4deg)}75%{transform:translateX(2.5px) rotate(4deg)}}
@keyframes cb-pt{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}
@media (prefers-reduced-motion:reduce){#cb .cb-tete *,#cb .cb-pts span{animation:none!important}#cb .cb-amorce,#cb .cb-panneau{animation:none}#cb .cb-btn{transition:none}}
