/* ContrasteLab V86 — floating Mini Bot launcher */
:root{
  --cl-bot-pink:#f55ccc;
  --cl-bot-violet:#7b61ff;
  --cl-bot-blue:#5d8cff;
}
.cl-minibot-launcher{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:1006;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0;
  border:0;
  background:transparent;
  color:#fff;
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translate3d(0,20px,0) scale(.96);
  transition:opacity .35s ease, transform .35s ease, visibility .35s ease;
  -webkit-tap-highlight-color:transparent;
}
.cl-minibot-launcher.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate3d(0,0,0) scale(1);
}
.cl-minibot-launcher.is-hidden-by-section{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translate3d(0,18px,0) scale(.95)!important;
}
.cl-minibot-launcher__copy{
  position:relative;
  width:238px;
  min-height:76px;
  padding:13px 46px 13px 16px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:22px;
  background:rgba(12,11,20,.92);
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 0 1px rgba(126,87,255,.08) inset;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  text-align:left;
  overflow:hidden;
}
.cl-minibot-launcher__copy:before{
  content:"";
  position:absolute;
  inset:auto -22px -35px auto;
  width:105px;height:105px;border-radius:50%;
  background:radial-gradient(circle,rgba(245,92,204,.26),rgba(93,140,255,0) 70%);
  pointer-events:none;
}
.cl-minibot-launcher__copy small,
.cl-minibot-launcher__copy strong,
.cl-minibot-launcher__copy em{display:block;position:relative;z-index:1;}
.cl-minibot-launcher__copy small{
  margin-bottom:2px;
  color:#b8b5c8;
  font:600 11px/1.25 Arial,sans-serif;
  letter-spacing:.01em;
}
.cl-minibot-launcher__copy strong{
  color:#fff;
  font:800 15px/1.2 Arial,sans-serif;
}
.cl-minibot-launcher__copy em{
  margin-top:5px;
  color:#f4a6e4;
  font:700 11px/1.2 Arial,sans-serif;
  font-style:normal;
}
.cl-minibot-launcher__arrow{
  position:absolute;
  right:15px;
  top:50%;
  width:25px;height:25px;
  margin-top:-12.5px;
  border-radius:50%;
  display:grid;place-items:center;
  background:linear-gradient(135deg,var(--cl-bot-pink),var(--cl-bot-blue));
  color:#fff;
  font:900 14px/1 Arial,sans-serif;
  box-shadow:0 6px 18px rgba(123,97,255,.3);
  animation:clBotArrow 1.5s ease-in-out infinite;
}
.cl-minibot-launcher__orb{
  position:relative;
  flex:0 0 80px;
  width:80px;height:80px;
  border-radius:50%;
  display:grid;place-items:center;
  background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.2),rgba(255,255,255,.04) 52%,rgba(124,87,255,.12));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 16px 44px rgba(0,0,0,.42),0 0 35px rgba(128,84,255,.2);
  isolation:isolate;
}
.cl-minibot-launcher__orb:before,
.cl-minibot-launcher__orb:after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border:1px solid rgba(242,98,209,.36);
  animation:clBotRing 2.6s ease-out infinite;
  z-index:-1;
}
.cl-minibot-launcher__orb:after{
  inset:-13px;
  border-color:rgba(102,126,255,.24);
  animation-delay:1.3s;
}
.cl-minibot-launcher__orb img{
  width:78px;height:78px;
  object-fit:contain;
  transform-origin:50% 70%;
  animation:clBotFloat 2.8s ease-in-out infinite;
  filter:drop-shadow(0 9px 13px rgba(0,0,0,.26));
  transition:opacity .16s ease,transform .2s ease;
}
.cl-minibot-launcher__dot{
  position:absolute;
  top:3px;right:5px;
  width:13px;height:13px;
  border-radius:50%;
  background:#ff5bcf;
  border:3px solid #12101b;
  box-shadow:0 0 0 0 rgba(255,91,207,.7);
  animation:clBotPing 1.8s ease-out infinite;
}
.cl-minibot-launcher:hover .cl-minibot-launcher__copy,
.cl-minibot-launcher:focus-visible .cl-minibot-launcher__copy{
  border-color:rgba(246,112,214,.5);
  box-shadow:0 20px 55px rgba(0,0,0,.42),0 0 34px rgba(121,86,255,.15);
}
.cl-minibot-launcher:hover .cl-minibot-launcher__orb img{transform:translateY(-4px) rotate(-4deg) scale(1.05);}
.cl-minibot-launcher:focus-visible{outline:3px solid rgba(122,103,255,.7);outline-offset:5px;border-radius:26px;}

/* Keep the old back-to-top control from fighting for the same corner. */
.back-to-top{right:auto!important;left:24px!important;bottom:24px!important;}

@keyframes clBotFloat{0%,100%{transform:translateY(0) rotate(0deg)}45%{transform:translateY(-7px) rotate(-2deg)}70%{transform:translateY(-2px) rotate(1.5deg)}}
@keyframes clBotRing{0%{opacity:.55;transform:scale(.88)}70%,100%{opacity:0;transform:scale(1.15)}}
@keyframes clBotPing{0%{box-shadow:0 0 0 0 rgba(255,91,207,.6)}70%,100%{box-shadow:0 0 0 12px rgba(255,91,207,0)}}
@keyframes clBotArrow{0%,100%{transform:translateX(0)}45%{transform:translateX(3px)}}

@media (max-width:767px){
  .cl-minibot-launcher{right:12px;bottom:13px;gap:8px;}
  .cl-minibot-launcher__copy{
    width:205px;
    min-height:64px;
    padding:10px 40px 10px 13px;
    border-radius:18px;
  }
  .cl-minibot-launcher__copy small{font-size:10px;}
  .cl-minibot-launcher__copy strong{font-size:13px;}
  .cl-minibot-launcher__copy em{font-size:10px;margin-top:3px;}
  .cl-minibot-launcher__arrow{right:11px;width:23px;height:23px;font-size:13px;}
  .cl-minibot-launcher__orb{flex-basis:66px;width:66px;height:66px;}
  .cl-minibot-launcher__orb img{width:65px;height:65px;}
  .cl-minibot-launcher__dot{width:11px;height:11px;border-width:2px;}
  .back-to-top{left:12px!important;bottom:12px!important;width:44px!important;height:44px!important;line-height:44px!important;}
}
@media (max-width:420px){
  .cl-minibot-launcher__copy{width:188px;}
  .cl-minibot-launcher__copy small{display:none;}
  .cl-minibot-launcher__copy strong{font-size:12.5px;}
  .cl-minibot-launcher__copy em{font-size:9.5px;}
}
@media (prefers-reduced-motion:reduce){
  .cl-minibot-launcher *,
  .cl-minibot-launcher *:before,
  .cl-minibot-launcher *:after{animation:none!important;transition:none!important;}
}



/* V132: same floating Mini Bot on every route. */
.cl-minibot-launcher__bubble{position:absolute;right:-8px;top:-18px;min-width:72px;padding:5px 8px;background:#fff;color:#262035;border:1px solid #d6c6eb;border-radius:999px;font-size:10px;font-weight:800;line-height:1.2;pointer-events:none;box-shadow:0 8px 22px rgba(13,10,27,.2)}
.cl-minibot-launcher__cta{display:none!important}
body.cl-minibot-open .cl-minibot-launcher-wrap{display:none!important}
html body.cl130-scrolled .cl-minibot-launcher.is-compact .cl-minibot-launcher__bubble{display:none}
@media(max-width:767px){.cl-minibot-launcher__bubble{right:-3px;top:-14px;font-size:9px}}
@media (prefers-reduced-motion: reduce){.cl-minibot-launcher,.cl-minibot-launcher *{animation:none!important}}
/* fullscreen diagnosis exists across the site, but should never take page space until opened */
body.cl-is-service-page .cl-ai-dx:not(.is-fullscreen){display:none!important}
body.cl-is-service-page .cl-ai-dx.is-fullscreen{display:block!important}
