.cxt-pulse-host{
  box-sizing:border-box;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  isolation:isolate;
  contain:layout style;
}
.cxt-pulse-host *{box-sizing:border-box}
.cxt-pulse-frame{
  display:block!important;
  width:100%!important;
  min-height:250px;
  border:0!important;
  background:transparent!important;
  visibility:visible!important;
  opacity:1!important;
}
.cxt-pulse-host--inline,
.cxt-pulse-host--bottom{
  position:relative!important;
  z-index:10!important;
  width:min(760px,calc(100% - 32px))!important;
  margin:40px auto!important;
}

/* 2.1.6 — launcher autonome carré 60 × 60. */
.cxt-pulse-host--floating{
  position:fixed!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  top:auto!important;
  z-index:2147481800!important;
  width:60px!important;
  height:60px!important;
  margin:0!important;
  overflow:visible!important;
  transition:opacity .14s ease;
}
.cxt-pulse-launcher{
  all:unset;
  box-sizing:border-box!important;
  position:absolute!important;
  inset:0!important;
  width:60px!important;
  height:60px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(82,63,98,.18)!important;
  border-radius:16px!important;
  background:rgba(255,253,251,.98)!important;
  color:#5f4374!important;
  box-shadow:0 12px 34px rgba(39,31,29,.16)!important;
  backdrop-filter:blur(10px);
  cursor:pointer!important;
  pointer-events:auto!important;
}
.cxt-pulse-launcher:hover{background:#fff!important;box-shadow:0 15px 38px rgba(39,31,29,.2)!important}
.cxt-pulse-launcher:focus-visible{outline:3px solid rgba(95,67,116,.28)!important;outline-offset:3px!important}
.cxt-pulse-launcher svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.cxt-pulse-launcher-dot{position:absolute;right:5px;top:5px;width:9px;height:9px;border:2px solid #fff;border-radius:99px;background:#7f5aa0;box-shadow:0 0 0 3px rgba(127,90,160,.10)}
.cxt-pulse-popover{
  position:absolute!important;
  top:0;
  left:68px;
  width:min(390px,calc(100vw - 88px))!important;
  max-width:390px!important;
  filter:drop-shadow(0 18px 42px rgba(0,0,0,.28));
  transform-origin:center left;
  transition:opacity .16s ease,transform .16s ease;
}
.cxt-pulse-popover[hidden]{display:block!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateX(-8px) scale(.985)!important}
.cxt-pulse-popover:not([hidden]){opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
.cxt-pulse-popover .cxt-pulse-frame{min-height:265px}
.cxt-pulse-host--floating.is-cxt-pulse-suspended{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
@media(max-width:700px),(pointer:coarse) and (max-height:700px){
  .cxt-pulse-popover{width:min(320px,calc(100vw - 84px))!important;max-width:320px!important;height:min(440px,calc(100vh - 24px));height:min(440px,calc(100svh - 24px));max-height:none!important;overflow:hidden!important;border-radius:18px}
  .cxt-pulse-popover .cxt-pulse-frame{height:100%!important;min-height:100%!important}
  .cxt-pulse-host--inline,.cxt-pulse-host--bottom{width:calc(100% - 24px)!important;margin:28px auto!important}
}
@media(prefers-reduced-motion:reduce){.cxt-pulse-host--floating,.cxt-pulse-popover{transition:none}}


/* 2.1.19 — iframe flottante chargée uniquement au premier clic. */
.cxt-pulse-host--floating.is-cxt-pulse-loading .cxt-pulse-popover::before{
  content:"Chargement…";position:absolute;inset:0;z-index:2;display:grid;place-items:center;
  border-radius:18px;background:rgba(255,253,251,.96);color:#6b527d;font:700 13px/1.2 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.cxt-pulse-host--floating.is-cxt-pulse-loading .cxt-pulse-frame{opacity:.01!important}

/* 2.1.21 — bascule rapide Live / Consent / Pulse : la fermeture imposée par
   un autre outil est instantanée afin d'éviter les panneaux fantômes pendant
   les transitions. */
.cxt-pulse-host--floating.is-cxt-utility-switching .cxt-pulse-popover{transition:none!important}

/* 2.1.22 — dans le dock mobile, l'ouverture/fermeture Pulse répond au toucher
   sans animation de panneau. L'iframe reste vivante après son premier chargement. */
@media(max-width:700px),(pointer:coarse) and (max-height:700px){
  .cxt-pulse-host--floating.is-cxt-navigation-docked .cxt-pulse-popover{transition:none!important}
}
