/* ===== WIDGET CHATBOT — Doubs Digital ===== */
.dd-launcher{
  position:fixed;bottom:24px;right:24px;z-index:9995;
  width:58px;height:58px;border-radius:50%;border:2px solid rgba(255,255,255,.6);cursor:pointer;
  background:linear-gradient(135deg,#4a8fe7,#9b7df0);
  box-shadow:0 8px 24px -6px rgba(155,125,240,.6);
  padding:0;overflow:hidden;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  -webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);will-change:transform;
  transition:transform .3s,box-shadow .3s;
}
.dd-launcher img{display:block;width:58px;height:58px;max-width:58px;max-height:58px;object-fit:cover;border-radius:50%;pointer-events:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.dd-launcher:hover{transform:scale(1.08);box-shadow:0 12px 32px -6px rgba(155,125,240,.75)}
.dd-launcher .dd-chatdot{
  position:absolute;top:-1px;right:-1px;width:16px;height:16px;border-radius:50%;
  background:#52c98a;border:2px solid #eef1f7;
  animation:dd-ping 2.4s infinite;
}
@keyframes dd-ping{0%{box-shadow:0 0 0 0 rgba(82,201,138,.5)}70%{box-shadow:0 0 0 9px rgba(82,201,138,0)}100%{box-shadow:0 0 0 0 rgba(82,201,138,0)}}

/* Bulle teaser */
.dd-teaser{
  position:fixed;bottom:32px;right:92px;z-index:9994;
  background:rgba(255,255,255,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.7);
  border-radius:18px 18px 4px 18px;
  padding:11px 15px;max-width:220px;
  box-shadow:0 8px 28px -8px rgba(60,66,90,.25);
  font-family:'Inter Tight',sans-serif;font-size:.84rem;color:#161a26;line-height:1.45;
  opacity:0;transform:translateX(12px) scale(.92);pointer-events:none;
  transition:opacity .4s cubic-bezier(.2,.8,.2,1),transform .4s cubic-bezier(.2,.8,.2,1);
}
.dd-teaser.show{opacity:1;transform:translateX(0) scale(1);pointer-events:auto;cursor:pointer}
.dd-teaser strong{display:block;font-family:'Bricolage Grotesque',sans-serif;font-size:.88rem;margin-bottom:2px}

/* Chat window */
.dd-chatbox{
  position:fixed;bottom:90px;right:24px;z-index:9993;
  width:min(360px,calc(100vw - 48px));
  border-radius:22px;overflow:hidden;
  box-shadow:0 24px 60px -16px rgba(60,66,90,.35);
  transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;
  transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s;
}
.dd-chatbox.open{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
.dd-chathead{background:linear-gradient(135deg,#4a8fe7,#9b7df0);padding:16px 18px;display:flex;align-items:center;gap:12px}
.dd-chathead-avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.dd-chathead-info{flex:1}
.dd-chathead-name{color:#fff;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:.95rem}
.dd-chathead-status{color:rgba(255,255,255,.85);font-size:.75rem;display:flex;align-items:center;gap:5px}
.dd-chathead-status::before{content:"";width:7px;height:7px;border-radius:50%;background:#52c98a;display:inline-block}
.dd-chatclose-btn{background:rgba(255,255,255,.2);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s}
.dd-chatclose-btn:hover{background:rgba(255,255,255,.35)}
.dd-chatmsgs{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);height:300px;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.dd-chatmsg{max-width:82%;font-family:'Inter Tight',sans-serif;font-size:.875rem;line-height:1.5;padding:10px 14px;border-radius:16px}
.dd-chatmsg.bot{align-self:flex-start;background:rgba(255,255,255,.9);color:#161a26;border-bottom-left-radius:4px}
.dd-chatmsg.user{align-self:flex-end;background:linear-gradient(135deg,#4a8fe7,#9b7df0);color:#fff;border-bottom-right-radius:4px}
.dd-chatmsg.typing{align-self:flex-start;background:rgba(255,255,255,.9);padding:12px 16px}
.dd-chatmsg.typing span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6e7589;margin:0 2px;animation:dd-dot 1.2s infinite}
.dd-chatmsg.typing span:nth-child(2){animation-delay:.2s}
.dd-chatmsg.typing span:nth-child(3){animation-delay:.4s}
@keyframes dd-dot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-6px)}}
.dd-chatfoot{background:rgba(255,255,255,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:12px;border-top:1px solid rgba(22,26,38,.08);display:flex;gap:8px}
.dd-chatinput{flex:1;background:rgba(255,255,255,.9);border:1px solid rgba(22,26,38,.1);border-radius:12px;padding:10px 13px;font-family:'Inter Tight',sans-serif;font-size:.875rem;color:#161a26;outline:none;transition:border-color .2s;resize:none;cursor:text!important;pointer-events:auto!important;-webkit-user-select:text!important;user-select:text!important}
.dd-chatinput:focus{border-color:#9b7df0}
.dd-chatsend{width:38px;height:38px;border-radius:11px;border:none;cursor:pointer;flex-shrink:0;background:linear-gradient(135deg,#4a8fe7,#9b7df0);color:#fff;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:transform .2s,opacity .2s}
.dd-chatsend:hover{transform:scale(1.08)}
.dd-chatsend:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* Dark mode */
@media(prefers-color-scheme:dark){
  .dd-teaser{background:rgba(30,35,55,.92);color:#e8ecf5;border-color:rgba(255,255,255,.15)}
  .dd-chatmsgs{background:rgba(20,22,36,.9)}
  .dd-chatmsg.bot{background:rgba(30,35,55,.9);color:#e8ecf5}
  .dd-chatmsg.typing{background:rgba(30,35,55,.9)}
  .dd-chatfoot{background:rgba(20,22,36,.9);border-color:rgba(255,255,255,.08)}
  .dd-chatinput{background:rgba(255,255,255,.07);color:#e8ecf5;border-color:rgba(255,255,255,.12)}
  .dd-launcher .dd-chatdot{border-color:#0f1117}
}

@media(hover:none),(pointer:coarse){
  .dd-chatfoot,.dd-chatinput,.dd-chatsend{pointer-events:auto!important}
}
@media(max-width:480px){
  .dd-chatbox{left:12px;right:12px;width:auto;bottom:80px}
  .dd-launcher{bottom:16px;right:16px}
  .dd-teaser{right:82px;max-width:180px;font-size:.8rem}
}
