.fchat{position:fixed;right:20px;bottom:var(--fc-bottom,20px);z-index:9500;font-family:var(--fc-fb,system-ui),system-ui,sans-serif;font-size:15px;line-height:1.45;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fchat[hidden]{display:none}
.fchat-bulle{position:relative;width:60px!important;height:60px!important;padding:0!important;border-radius:50%!important;background:var(--fc-p)!important;color:#fff!important;border:0!important;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.25);transition:transform .15s}
.fchat-bulle:hover{transform:scale(1.06)}.fchat-bulle svg{width:30px;height:30px}
.fchat-mini{position:absolute;left:-6px;bottom:-4px;width:26px;height:26px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px #fff,0 2px 6px rgba(0,0,0,.25);background:#fff}
.fchat-badge{position:absolute;top:-4px;right:-6px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#D93025;color:#fff;font-size:.75rem;font-weight:700;line-height:22px;text-align:center;box-shadow:0 0 0 2px #fff;animation:fchat-pop .3s}
.fchat-badge[hidden]{display:none}
.fchat.est-ouvert .fchat-bulle,.fchat.est-ouvert .fchat-notifs{display:none}
@keyframes fchat-pop{from{transform:scale(.4)}to{transform:scale(1)}}
.fchat-notifs{display:flex;flex-direction:column;align-items:flex-end;gap:8px;max-width:340px}
.fchat-notif{display:flex;gap:.7rem;align-items:flex-start;background:var(--fc-b);color:var(--fc-t);border-radius:14px;padding:.75rem .95rem;box-shadow:0 14px 40px rgba(0,0,0,.2);cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .4s;max-width:340px}
.fchat-notif.est-visible{opacity:1;transform:none}.fchat-notif.disparait{opacity:0;transform:translateY(6px);transition:opacity .9s,transform .9s}
.fchat-notif b{display:block;font-size:.78rem;color:var(--fc-p);margin-bottom:.15rem}.fchat-notif p{margin:0;font-size:.92rem;line-height:1.4}
.fchat-av{width:36px;height:36px;border-radius:50%;background:var(--fc-p);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex:none;object-fit:cover;font-family:var(--fc-ft,inherit),inherit}
.fchat-fen{width:370px;max-width:calc(100vw - 24px);height:540px;max-height:calc(100vh - 40px);background:var(--fc-b);color:var(--fc-t);border-radius:16px;box-shadow:0 22px 60px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;animation:fchat-in .25s}
.fchat-fen[hidden]{display:none}
@keyframes fchat-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.fchat-tete{display:flex;align-items:center;gap:.7rem;background:var(--fc-f);color:#fff;padding:.75rem .9rem}.fchat-tete .fchat-av{box-shadow:0 0 0 2px rgba(255,255,255,.35)}
.fchat-tete-t b{display:block;font-size:1rem;line-height:1.2}.fchat-tete-t span{font-size:.78rem;opacity:.8}.fchat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3ddc84;vertical-align:middle;margin:0 2px 2px 0}
.fchat-reduire{display:none;margin-left:auto;align-items:center;gap:.3rem;background:rgba(255,255,255,.15);border:0;color:#fff!important;border-radius:999px;padding:.45rem .9rem .45rem .7rem;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}
.fchat-x{margin-left:auto;background:rgba(255,255,255,.15);border:0;color:#fff!important;width:30px;height:30px;border-radius:50%;cursor:pointer;font-size:.9rem;line-height:30px;padding:0}
.fchat-fil{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.55rem;background:var(--fc-c)}
.fchat-m{max-width:86%;padding:.6rem .85rem;border-radius:14px;white-space:pre-wrap;word-wrap:break-word;animation:fchat-in .2s}
.fchat-m--bot{background:var(--fc-b);border-bottom-left-radius:4px;align-self:flex-start;box-shadow:0 2px 8px rgba(0,0,0,.06)}.fchat-m--moi{background:var(--fc-p);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.fchat-m a{color:var(--fc-p);font-weight:600;text-decoration:underline}
.fchat-ecrit{align-self:flex-start;display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--fc-t);opacity:.7}.fchat-ecrit i{display:inline-flex;gap:3px;background:var(--fc-b);padding:.55rem .7rem;border-radius:14px;border-bottom-left-radius:4px}
.fchat-ecrit i span{width:6px;height:6px;border-radius:50%;background:var(--fc-t);opacity:.45;animation:fchat-dots 1.2s infinite}.fchat-ecrit i span:nth-child(2){animation-delay:.2s}.fchat-ecrit i span:nth-child(3){animation-delay:.4s}
@keyframes fchat-att{0%,100%{opacity:.35}50%{opacity:1}}.fchat-ecrit i.fchat-att span{width:8px;height:8px;animation:fchat-att 1.4s infinite;background:var(--fc-p);opacity:.8}
@keyframes fchat-dots{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:.9}}
.fchat-form{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid rgba(0,0,0,.08);background:var(--fc-b)}
.fchat-form textarea{flex:1;resize:none;border:1.5px solid rgba(0,0,0,.15);border-radius:10px;padding:.55rem .75rem;font:inherit;color:inherit;background:var(--fc-b);max-height:110px}
.fchat-form button{background:var(--fc-p)!important;color:#fff!important;border:0!important;border-radius:10px!important;width:44px!important;padding:0!important;cursor:pointer;flex:none}.fchat-form button[disabled]{opacity:.5;cursor:default}
.fchat-ts{position:absolute;left:-9999px}
@media(max-width:600px){.fchat{right:12px;bottom:max(12px,var(--fc-bottom,12px))}.fchat-notifs{max-width:calc(100vw - 90px)}
.fchat.est-ouvert .fchat-fen{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;border-radius:0;box-shadow:none;animation:fchat-up .25s;overflow:hidden;touch-action:none}
.fchat.est-ouvert .fchat-fil{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fchat.est-ouvert .fchat-form textarea{touch-action:auto}.fchat.est-ouvert .fchat-tete{flex:none}.fchat.est-ouvert .fchat-form{flex:none}
.fchat.est-ouvert .fchat-bulle,.fchat.est-ouvert .fchat-notifs{display:none}
.fchat.est-ouvert .fchat-tete{padding:.85rem 1rem;padding-top:max(.85rem,env(safe-area-inset-top))}
.fchat.est-ouvert .fchat-reduire{display:inline-flex}.fchat.est-ouvert .fchat-x{display:none}
.fchat.est-ouvert .fchat-form{padding-bottom:max(.7rem,env(safe-area-inset-bottom))}.fchat-form textarea{font-size:16px}
@keyframes fchat-up{from{transform:translateY(100%)}to{transform:none}}}
html.fchat-lock{overflow:hidden!important;overscroll-behavior:none}body.fchat-lock{position:fixed!important;left:0;right:0;width:100%;overflow:hidden!important}
@media(prefers-reduced-motion:reduce){.fchat *{animation:none!important;transition:none!important}}

/* le bouton « retour en haut » de GeneratePress partage le coin : on le décale à gauche de la bulle */
body:has(#fchat) .generate-back-to-top{right:96px!important}
