/* Assistant CrossCX — styles du composant (préfixe .cxa, sans dépendance au thème) */
.cxa{--cxa-bg:#fff;--cxa-surface:#f3f9fc;--cxa-surface-2:#e7f2f8;--cxa-ink:#0c1a2e;--cxa-ink-2:#536880;--cxa-ink-3:#7f95a3;--cxa-line:#d5e4ec;
  --cxa-brand:#0099cb;--cxa-brand-ink:#0a6f94;--cxa-glow:rgba(0,153,203,.18);
  position:relative;background:var(--cxa-bg);border:1px solid var(--cxa-line);border-radius:18px;box-shadow:0 12px 34px rgba(11,36,52,.09);padding:18px 18px 14px;
  font-family:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:var(--cxa-ink);font-size:16px;line-height:1.5;box-sizing:border-box;
  /* largeur : centré, jamais plus large que --cxa-max (880 px par défaut, réglable par l'attribut largeur="…" du code court) */
  width:100%;max-width:min(100%,var(--cxa-max,880px));margin-inline:auto;min-width:0;
  /* ancre #cxa-orient : on s'arrête sous l'en-tête fixe du site */
  scroll-margin-top:120px}
.cxa *,.cxa *::before,.cxa *::after{box-sizing:border-box}
.cxa::before{content:"";position:absolute;inset:-1px;border-radius:18px;padding:1px;background:linear-gradient(120deg,#0099cb,#6a8232,#7a8e5e);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;pointer-events:none}
.cxa p{margin:0}
.cxa :where(button){font:inherit;color:inherit} /* :where() : les classes .cxa-btn, .cxa-chip, .cxa-tile… gardent la main sur la graisse et la taille */
.cxa :focus-visible{outline:3px solid var(--cxa-brand);outline-offset:2px;border-radius:6px}
.cxa-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.cxa-head label{font-weight:800;font-size:1.08rem;letter-spacing:-.01em;margin:0;cursor:text;flex:1 1 200px}
/* « Parler à quelqu'un » (et « Appeler » si un numéro est fourni) : toujours accessible, à droite du titre */
.cxa-human{display:flex;gap:6px;flex:none;margin-left:auto}
.cxa-human .cxa-btn{min-height:34px;padding:6px 12px;font-size:.8rem;white-space:nowrap}
.cxa-pulse{width:10px;height:10px;border-radius:50%;background:var(--cxa-brand);box-shadow:0 0 0 0 var(--cxa-glow);animation:cxa-pulse 2.2s ease-out infinite;flex:none;margin-top:9px}
@keyframes cxa-pulse{0%{box-shadow:0 0 0 0 var(--cxa-glow)}70%{box-shadow:0 0 0 12px transparent}100%{box-shadow:0 0 0 0 transparent}}
.cxa-input{display:flex;gap:8px;background:var(--cxa-surface);border:1.5px solid var(--cxa-line);border-radius:14px;padding:6px 6px 6px 14px;margin:0;transition:border-color .15s,box-shadow .15s}
.cxa-input:focus-within{border-color:var(--cxa-brand);box-shadow:0 0 0 4px var(--cxa-glow)}
.cxa-input input[type="text"]{flex:1;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;font:inherit;font-size:1rem;color:var(--cxa-ink);outline:none;padding:8px 0;margin:0;height:auto}
.cxa-input input::placeholder{color:var(--cxa-ink-3)}
.cxa-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.cxa-send-ic{display:none;width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.cxa-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:999px;font-weight:700;font-size:.95rem;text-decoration:none!important;border:1.5px solid transparent;cursor:pointer;min-height:44px;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s;background:transparent}
.cxa-primary{background:var(--cxa-brand)!important;color:#fff!important;box-shadow:0 6px 18px var(--cxa-glow)}
.cxa-primary:hover{transform:translateY(-1px);color:#fff!important}
.cxa-ghost{border-color:var(--cxa-line);color:var(--cxa-ink)!important;background:var(--cxa-bg)}
.cxa-ghost:hover{background:var(--cxa-surface)}
.cxa-ai{background:var(--cxa-ink)!important;color:#fff!important;border-color:var(--cxa-ink)}
.cxa-sm{padding:8px 13px;font-size:.86rem;min-height:38px}
.cxa-roles{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:12px;font-size:.82rem;color:var(--cxa-ink-3)}
.cxa-role{border:1px solid var(--cxa-line);background:transparent;border-radius:999px;padding:5px 10px;font-size:.8rem;font-weight:600;color:var(--cxa-ink-2);cursor:pointer;min-height:32px;line-height:1.2}
.cxa-role.is-on{background:var(--cxa-ink);color:#fff;border-color:var(--cxa-ink)}
.cxa-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cxa-chip{display:inline-flex;align-items:center;gap:8px;text-align:left;border:1.5px solid var(--cxa-line);background:var(--cxa-bg);border-radius:999px;padding:7px 12px;font-size:.85rem;font-weight:600;color:var(--cxa-ink);cursor:pointer;min-height:38px;line-height:1.25;transition:border-color .15s,transform .15s}
.cxa-chip .d,.cxa-mod .d{width:8px;height:8px;border-radius:50%;background:var(--m);flex:none}
.cxa-chip:hover{border-color:var(--m);transform:translateY(-1px)}
.cxa-chip.is-on{background:color-mix(in srgb,var(--m) 12%,transparent);border-color:var(--m)}
/* sujets en tuiles, par groupes (icône + libellé), distincts selon le profil */
.cxa-chips.is-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 18px;align-items:start}
.cxa-group{min-width:0}
.cxa-group-title{display:flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cxa-ink-3);margin:0 0 7px 2px}
.cxa-group-title .d{width:7px;height:7px;border-radius:50%;background:var(--m);flex:none}
.cxa-tile{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1.5px solid var(--cxa-line);background:var(--cxa-bg);border-radius:12px;padding:5px 10px 5px 5px;font:inherit;font-size:.86rem;font-weight:600;color:var(--cxa-ink)!important;text-decoration:none!important;cursor:pointer;min-height:44px;line-height:1.25;transition:border-color .15s,transform .15s,background .15s,box-shadow .15s}
.cxa-tile+.cxa-tile{margin-top:6px}
.cxa-tile .ic{flex:none;width:32px;height:32px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--m) 14%,transparent);color:var(--m)}
.cxa-tile .ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cxa-tile .t{flex:1;min-width:0}
.cxa-tile:hover{border-color:var(--m);background:color-mix(in srgb,var(--m) 5%,var(--cxa-bg));transform:translateY(-1px);box-shadow:0 6px 16px rgba(11,36,52,.08)}
.cxa-tile.is-on{border-color:var(--m);background:color-mix(in srgb,var(--m) 10%,transparent)}
.cxa-tile.is-on .ic{background:var(--m);color:#fff}
.cxa-chips.is-grid .cxa-chip--wide{grid-column:1/-1;justify-self:start}
.cxa-more{display:none;border:0;background:transparent;color:var(--cxa-brand-ink);font-weight:700;font-size:.85rem;cursor:pointer;padding:8px 4px;min-height:38px}
/* la réponse s'ouvre dans la continuité de la question ; profils et sujets restent en dessous */
.cxa-answer{margin-top:12px;border-top:1px dashed var(--cxa-line);border-bottom:1px dashed var(--cxa-line);padding:14px 0 16px;animation:cxa-rise .35s ease}
.cxa-answer[hidden]{display:none!important}
@keyframes cxa-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.cxa-ans-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cxa-kicker{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cxa-ink-3)}
.cxa-mod{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--m) 13%,transparent);color:var(--cxa-ink)}
.cxa-ans-text{margin-top:10px;font-size:1.02rem}
.cxa-points{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.cxa-points li{display:flex;gap:10px;font-size:.93rem;color:var(--cxa-ink-2);padding:8px 12px;border-radius:10px;background:var(--cxa-surface);margin:0}
.cxa-points li b{color:var(--cxa-ink);white-space:nowrap}
.cxa-ex{margin-top:10px;background:var(--cxa-surface);border-radius:12px;padding:10px 14px}
.cxa-ex summary{cursor:pointer;font-weight:700;font-size:.9rem;color:var(--cxa-brand-ink)}
.cxa-ex p{margin-top:8px;color:var(--cxa-ink-2);font-size:.95rem}
.cxa-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.cxa-links .cxa-btn{padding:9px 14px;font-size:.88rem}
.cxa .cxa-foot{margin-top:20px;font-size:.82rem;color:var(--cxa-ink-3)}
.cxa-foot a{color:var(--cxa-brand-ink);font-weight:600}
/* version « une ligne » : titre, question et rôle ; les sujets, la réponse et la note apparaissent à l'ouverture (clic sur le bouton ou sur un profil) */
.cxa--line .cxa-chips,.cxa--line .cxa-more,.cxa--line .cxa-foot{display:none!important}
.cxa--line .cxa-roles{margin-bottom:2px}
.cxa.is-expanded .cxa-chips,.cxa.is-expanded .cxa-foot{animation:cxa-rise .35s ease}
/* contextes blog / module : les profils n'apparaissent qu'après « Autres sujets » (élargissement) */
.cxa--blog .cxa-roles,.cxa--mod .cxa-roles{display:none}
.cxa.is-wide .cxa-roles{display:flex}
.cxa-chip--wide{border-style:dashed;color:var(--cxa-ink-2);--m:#7f95a3}
/* mode flottant : bulle en bas à droite, panneau au-dessus (déplacé sous <body> par le script) */
.cxa-float{--cxa-ink:#0c1a2e;--cxa-brand:#0099cb;--cxa-glow:rgba(0,153,203,.28);position:fixed;right:20px;bottom:20px;z-index:99990;font-family:'Plus Jakarta Sans',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}
.cxa-float-btn{display:inline-flex;align-items:center;gap:10px;max-width:calc(100vw - 40px);background:var(--cxa-ink);color:#fff;border:0;border-radius:999px;padding:12px 20px 12px 16px;font:inherit;font-weight:700;font-size:.95rem;line-height:1.2;box-shadow:0 12px 32px rgba(11,36,52,.3);cursor:pointer;transition:transform .15s,box-shadow .15s}
.cxa-float-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(11,36,52,.34)}
.cxa-float-dot{width:10px;height:10px;border-radius:50%;background:var(--cxa-brand);box-shadow:0 0 0 0 var(--cxa-glow);animation:cxa-pulse 2.2s ease-out infinite;flex:none}
.cxa-float-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cxa-float.is-open .cxa-float-btn{display:none}
.cxa-float-panel{position:fixed;right:20px;bottom:20px;width:min(440px,calc(100vw - 40px));max-height:min(82vh,760px);display:flex;flex-direction:column;background:#fff;border-radius:18px;box-shadow:0 24px 64px rgba(11,36,52,.32);overflow:hidden;animation:cxa-rise .25s ease}
.cxa-float-panel[hidden]{display:none!important}
.cxa-float-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px 11px 18px;background:var(--cxa-ink);color:#fff;font-weight:800;font-size:.86rem;letter-spacing:.04em;text-transform:uppercase;flex:none}
.cxa-float-close{border:0;background:transparent;color:#fff;font:inherit;font-size:1.6rem;line-height:1;cursor:pointer;padding:2px 9px 5px;border-radius:8px;min-width:36px;min-height:36px}
.cxa-float-close:hover{background:rgba(255,255,255,.16)}
.cxa-float-body{overflow:auto;-webkit-overflow-scrolling:touch;min-height:0;overscroll-behavior:contain}
.cxa.cxa--float{border:0;border-radius:0;box-shadow:none;max-width:none;width:100%;margin:0;padding:16px 16px 12px}
.cxa.cxa--float::before{display:none}
.cxa--float .cxa-head label{font-size:1rem}
.cxa--float .cxa-chips .cxa-chip,.cxa--float .cxa-tile{font-size:.82rem}
.cxa--float .cxa-chips.is-grid{grid-template-columns:1fr;gap:12px}
/* conversation IA */
.cxa-ai-box{margin-top:12px;border:1.5px solid var(--cxa-ink);border-radius:12px;padding:12px 14px;background:var(--cxa-surface)}
.cxa-ai-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.74rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--cxa-ink-2)}
.cxa-ai-dot{width:9px;height:9px;border-radius:50%;background:var(--cxa-brand);animation:cxa-pulse 1.6s ease-out infinite}
.cxa-ai-dot.done{animation:none}
.cxa-ai-stop{margin-left:auto}
.cxa-ai-stop[hidden],.cxa-ai-form[hidden]{display:none!important}
.cxa-thread{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.cxa-msg{max-width:92%;padding:9px 13px;border-radius:14px;font-size:.98rem;white-space:pre-wrap;line-height:1.5}
.cxa-msg.user{align-self:flex-end;background:var(--cxa-ink);color:#fff;border-bottom-right-radius:4px}
.cxa-msg.bot{align-self:flex-start;background:var(--cxa-bg);border:1px solid var(--cxa-line);border-bottom-left-radius:4px}
.cxa-msg.bot.thinking{color:var(--cxa-ink-3);font-style:italic}
.cxa-ai-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cxa-ai-form{display:flex;gap:8px;margin:10px 0 0}
.cxa-ai-input{flex:1;min-width:0;border:1.5px solid var(--cxa-line)!important;border-radius:999px!important;padding:9px 14px;font:inherit;font-size:.95rem;background:var(--cxa-bg);color:var(--cxa-ink);height:auto}
.cxa-ai-input:focus{outline:none;border-color:var(--cxa-brand)!important;box-shadow:0 0 0 3px var(--cxa-glow)}
.cxa-ai-foot{margin-top:8px;font-size:.78rem;color:var(--cxa-ink-3)}
/* mobile : le gabarit du thème n'a pas de marge latérale — le composant prévoit la sienne */
@media (max-width:768px){
  .cxa{width:auto;margin-inline:16px;padding:16px 14px 12px;scroll-margin-top:90px}
  /* lisibilité sur téléphone : question et sujets un cran plus grands, bouton plus compact pour laisser la place à la question */
  .cxa-input{padding:5px 5px 5px 12px}
  .cxa-input input[type="text"]{font-size:.95rem}
  .cxa-input .cxa-btn{padding:9px 14px;font-size:.9rem;min-height:40px}
  .cxa-role{font-size:.86rem;padding:6px 11px}
  .cxa-group-title{font-size:.74rem}
  .cxa-tile{font-size:.97rem;padding:6px 10px 6px 6px}
  .cxa-tile .ic{width:34px;height:34px}
  .cxa-tile .ic svg{width:18px;height:18px}
  .cxa-human .cxa-btn{font-size:.84rem}
}
@media (max-width:480px){
  /* téléphone : le bouton devient une flèche ronde pour laisser toute la place à la question */
  .cxa-input .cxa-send{padding:0;width:44px;min-width:44px;height:44px;min-height:44px;border-radius:50%}
  .cxa-send-txt{position:absolute;left:-9999px}
  .cxa-send-ic{display:block}
  .cxa-chips:not(.is-open) .cxa-chip:nth-child(n+6):not(.cxa-chip--wide){display:none}
  .cxa-chips.is-grid{grid-template-columns:1fr;gap:12px}
  .cxa-chips.is-grid:not(.is-open) .cxa-group:nth-child(n+2){display:none}
  .cxa-more{display:inline-flex}
  .cxa-chips.is-open + .cxa-more,.cxa-more[hidden]{display:none!important}
  .cxa-points li{flex-direction:column;gap:2px}
  /* flottant : la bulle reste discrète, le panneau devient une feuille pleine largeur */
  .cxa-float{right:12px;bottom:12px}
  .cxa-float-btn{padding:11px 16px 11px 14px;font-size:.9rem;max-width:calc(100vw - 24px)}
  .cxa-float-panel{right:0;bottom:0;left:0;width:auto;max-height:88vh;border-radius:18px 18px 0 0}
  .cxa.cxa--float{width:auto;margin-inline:0;padding:14px 14px 12px}
}
@media (prefers-reduced-motion:reduce){.cxa *{animation:none!important;transition:none!important}}
