/* ==========================================================================
   FDED · Chatbot maison (widget flottant) — Style Gimont
   À placer dans : gimont-child/assets/fded/css/chatbot.css
   Tout est préfixé .fdedcb pour ne pas entrer en conflit avec le thème.
   ========================================================================== */
.fdedcb, .fdedcb *{box-sizing:border-box}
.fdedcb{
  --red:#d82221;--red-dark:#b81b1a;--red-light:#fbe8e8;
  --navy:#082060;--navy-light:#1e3165;--green:#4FAE3D;--green-dark:#3D8A30;--orange:#ff9000;
  --bg:#f3f4f7;--border:#e0e0e0;--border-soft:#e8e8e8;--t700:#343434;--t500:#6b6c70;--t400:#B0B8CF;
  --fp:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  --fd:'Raleway','Manrope',sans-serif;
  font-family:var(--fp);
}

/* ---- Launcher (bulle flottante) ---- */
.fdedcb-launcher{position:fixed;bottom:22px;right:22px;z-index:99998;display:flex;align-items:center;gap:12px}
.fdedcb-greet{background:#fff;padding:11px 16px;border-radius:14px;font-size:13.5px;font-weight:600;color:var(--navy);box-shadow:0 8px 30px rgba(8,32,96,.2);max-width:210px;position:relative;line-height:1.4}
.fdedcb-greet b{color:var(--red)}
.fdedcb-greet::after{content:"";position:absolute;right:-7px;bottom:16px;width:14px;height:14px;background:#fff;transform:rotate(45deg)}
.fdedcb-greet__x{position:absolute;top:-10px;right:-10px;width:24px;height:24px;background:var(--navy);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.2);padding:0;font-family:Arial,sans-serif}
.fdedcb-greet__x:hover{background:var(--red)}
.fdedcb-bubble{width:62px;height:62px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;box-shadow:0 10px 30px rgba(79,174,61,.45);cursor:pointer;transition:transform .2s;flex-shrink:0;border:none}
.fdedcb-bubble:hover{transform:scale(1.08)}
.fdedcb-bubble svg{width:28px;height:28px;display:block;margin-top:2px}
.fdedcb-badge{position:absolute;top:-2px;right:-2px;width:20px;height:20px;background:var(--red);color:#fff;border-radius:50%;font-size:11px;font-weight:800;display:grid;place-items:center;border:2px solid #fff}

/* ---- Fenêtre ---- */
.fdedcb-win{position:fixed;bottom:22px;right:22px;z-index:99999;width:374px;max-width:calc(100vw - 30px);height:600px;max-height:calc(100vh - 44px);background:#fff;border-radius:16px;box-shadow:0 30px 80px rgba(8,32,96,.35);display:none;flex-direction:column;overflow:hidden}
.fdedcb-win.fdedcb-open{display:flex;animation:fdedcb-pop .3s ease}
@keyframes fdedcb-pop{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}

/* header */
.fdedcb-head{background:linear-gradient(120deg,var(--navy),var(--navy-light));color:#fff;padding:18px 18px 18px;position:relative;flex-shrink:0}
.fdedcb-head::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--red),var(--orange),var(--green))}
.fdedcb-head__row{display:flex;align-items:center;gap:11px}
.fdedcb-av{width:42px;height:42px;border-radius:50%;background:#fff;display:grid;place-items:center;flex-shrink:0;overflow:hidden}
.fdedcb-av img{width:100%;height:100%;object-fit:contain}
.fdedcb-av span{font-family:var(--fd);font-weight:800;color:var(--navy);font-size:13px}
.fdedcb-av span em{color:var(--red);font-style:normal}
.fdedcb-id b{font-family:var(--fd);font-size:16px;font-weight:800;display:block;line-height:1.2;color:#fff}
.fdedcb-id small{font-size:11.5px;opacity:.85;display:flex;align-items:center;gap:5px}
.fdedcb-id small::before{content:"";width:7px;height:7px;background:#4ade80;border-radius:50%}
.fdedcb-x{margin-left:auto;cursor:pointer;font-size:20px;line-height:1;font-family:Arial,sans-serif;background:rgba(255,255,255,.18);border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;flex-shrink:0;padding:0}
.fdedcb-x:hover{background:rgba(255,255,255,.35);transform:scale(1.1)}

/* onglets */
.fdedcb-tabs{display:flex;background:#fff;border-bottom:1px solid var(--border-soft);flex-shrink:0}
.fdedcb-tab{flex:1;padding:13px;text-align:center;font-size:13px;font-weight:700;color:var(--t500);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;transition:all .2s;font-family:var(--fp)}
.fdedcb-tab.active{color:var(--navy);border-bottom-color:var(--red)}

.fdedcb-panel{flex:1;overflow:hidden;display:none;flex-direction:column;min-height:0}
.fdedcb-panel.active{display:flex}

/* corps chat */
.fdedcb-body{flex:1;overflow-y:auto;padding:18px 14px;display:flex;flex-direction:column;gap:11px;background:var(--bg)}
.fdedcb-msg{max-width:86%}
.fdedcb-msg.bot{align-self:flex-start}
.fdedcb-msg.user{align-self:flex-end}
.fdedcb-msg__b{padding:11px 14px;font-size:13.5px;line-height:1.5;white-space:pre-line}
.fdedcb-msg.bot .fdedcb-msg__b{background:#fff;color:#222;border-radius:4px 14px 14px 14px;box-shadow:0 2px 8px rgba(8,32,96,.06)}
.fdedcb-msg.user .fdedcb-msg__b{background:var(--navy);color:#fff;border-radius:14px 4px 14px 14px}
.fdedcb-msg__b a{color:var(--red);font-weight:700;text-decoration:underline}
.fdedcb-quick{display:flex;flex-direction:column;gap:7px;align-self:flex-start;max-width:92%}
.fdedcb-qbtn{background:#fff;border:1.5px solid var(--navy);color:var(--navy);padding:9px 14px;border-radius:50px;font-family:var(--fp);font-weight:600;font-size:12.8px;cursor:pointer;text-align:left;transition:all .2s}
.fdedcb-qbtn:hover{background:var(--navy);color:#fff}
.fdedcb-qbtn.back{border-color:#bbb;color:#666}
.fdedcb-qbtn.back:hover{background:#666;color:#fff}
.fdedcb-qbtn.end{border-color:var(--green);color:var(--green-dark)}
.fdedcb-qbtn.end:hover{background:var(--green);color:#fff}
.fdedcb-typing{align-self:flex-start;background:#fff;padding:12px 15px;border-radius:4px 14px 14px 14px;box-shadow:0 2px 8px rgba(8,32,96,.06);display:flex;gap:4px}
.fdedcb-typing span{width:6px;height:6px;background:#bbb;border-radius:50%;animation:fdedcb-blink 1.2s infinite}
.fdedcb-typing span:nth-child(2){animation-delay:.2s}
.fdedcb-typing span:nth-child(3){animation-delay:.4s}
@keyframes fdedcb-blink{0%,60%,100%{opacity:.3}30%{opacity:1}}

/* footer */
.fdedcb-foot{padding:11px 14px;background:#fff;border-top:1px solid #eee;display:flex;align-items:center;gap:9px;flex-shrink:0}
.fdedcb-foot input{flex:1;border:none;outline:none;font-size:13px;color:#999;font-family:var(--fp);background:none}
.fdedcb-reset{background:none;border:none;cursor:pointer;color:var(--t400);font-size:18px;flex-shrink:0}
.fdedcb-reset:hover{color:var(--red)}

/* FAQ interne */
.fdedcb-faq{padding:16px 14px;background:var(--bg);flex:1;overflow-y:auto}
.fdedcb-faqsearch{position:relative;margin-bottom:14px}
.fdedcb-faqsearch input{width:100%;padding:11px 14px 11px 38px;border:1.5px solid var(--border);border-radius:50px;font-family:var(--fp);font-size:13px;outline:none}
.fdedcb-faqsearch input:focus{border-color:var(--navy)}
.fdedcb-faqsearch svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--t400)}
.fdedcb-faqcat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--t400);margin:14px 0 7px}
.fdedcb-fqa{background:#fff;border:1px solid var(--border);border-radius:8px;margin-bottom:7px;overflow:hidden}
.fdedcb-fqa__q{padding:12px 14px;font-size:13px;font-weight:600;color:var(--navy);cursor:pointer;display:flex;justify-content:space-between;gap:10px;align-items:center}
.fdedcb-fqa__q .ic{width:20px;height:20px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:13px;flex-shrink:0;transition:transform .3s,background .3s}
.fdedcb-fqa.open .ic{transform:rotate(45deg);background:var(--red)}
.fdedcb-fqa__a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.fdedcb-fqa__a-in{padding:0 14px 13px;font-size:12.8px;line-height:1.6;color:var(--t700);white-space:pre-line}
.fdedcb-fqa__a-in a{color:var(--red);font-weight:700;text-decoration:underline}
.fdedcb-powered{text-align:center;font-size:10px;color:#bbb;padding:6px;background:#fff;flex-shrink:0}

@media(max-width:480px){
  .fdedcb-win{height:calc(100vh - 30px);bottom:15px;right:15px}
  .fdedcb-launcher{bottom:15px;right:15px}
  .fdedcb-greet{display:none}
}
