.h2o-wrap{
  max-width:980px;
  margin:24px auto;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:#172033;
}
.h2o-panel{
  background:#fff;
  border:1px solid #e3e7ee;
  border-radius:18px;
  box-shadow:0 12px 35px rgba(20,35,60,.08);
  overflow:hidden;
}
.h2o-brand{
  display:flex;
  align-items:center;
  padding:12px 20px;
  border-bottom:1px solid #eef1f5;
  min-height:26px;
}
.h2o-brand-badge{
  display:block;
  width:54px;
  height:auto;
  border-radius:5px;
}
.h2o-presel{padding:28px}.h2o-presel h2{margin:0 0 8px;font-size:25px;letter-spacing:-.02em}.h2o-presel>p{margin:0 0 22px;color:#667085}.h2o-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.h2o-presel-context{margin:18px 0 0!important;color:#667085;font-size:13.5px;line-height:1.5;text-align:center}
.h2o-tile{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:82px;
  padding:16px;
  border:1px solid #dfe5ee;
  border-radius:14px;
  background:linear-gradient(145deg,#f9fbfd 0%,#f6f9fc 100%);
  color:#17263a;
  text-align:center;
  font-family:inherit;
  font-size:15.75px;
  font-weight:700;
  line-height:1.26;
  letter-spacing:.018em;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(22,42,68,.025);
  transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease;
}
.h2o-tile::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-45% -20%;
  background:radial-gradient(circle at 50% 50%,rgba(106,184,223,.12) 0%,rgba(106,184,223,.04) 38%,transparent 70%);
  opacity:0;
  transform:scale(.82);
  transition:opacity .25s ease,transform .32s cubic-bezier(.2,.7,.2,1);
}
.h2o-tile::after{
  content:"";
  position:absolute;
  top:-40%;
  left:-38%;
  width:24%;
  height:180%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);
  opacity:0;
  pointer-events:none;
}
.h2o-tile-title{position:relative;z-index:1;display:block;white-space:nowrap;transition:transform .22s ease,color .22s ease}
.h2o-tile:hover{
  transform:translateY(-3px);
  border-color:rgba(106,184,223,.58);
  background:linear-gradient(145deg,#ffffff 0%,#f5fafc 100%);
  color:#102940;
  box-shadow:0 14px 28px rgba(15,39,65,.12),0 0 0 1px rgba(106,184,223,.08);
}
.h2o-tile:hover::before{opacity:1;transform:scale(1)}
.h2o-tile:hover::after{opacity:.8;animation:h2o-tile-sheen .72s ease-out forwards}
.h2o-tile:hover .h2o-tile-title{transform:translateY(-1px)}
.h2o-tile:focus-visible{outline:3px solid rgba(106,184,223,.24);outline-offset:2px;border-color:#6ab8df}
.h2o-tile small{position:relative;z-index:1;display:block;margin-top:5px;font-size:12.5px;line-height:1.25;font-weight:700;letter-spacing:.025em;color:#667085;text-align:center;text-transform:uppercase;white-space:nowrap}
@keyframes h2o-tile-sheen{from{left:-38%}to{left:118%}}
.h2o-chat{padding:18px}.h2o-log{min-height:280px;max-height:650px;overflow:auto;padding:8px}
/* Inline : compact tant que l'utilisateur n'a pas encore envoyé son premier message.
   Dès le démarrage, la conversation s'ouvre dans une hauteur maîtrisée et le fil
   défile indépendamment afin de garder la zone de saisie visible. */
.h2o-mode-inline .h2o-chat:not(.is-started) .h2o-log{height:0;min-height:0;max-height:0;overflow:hidden;padding-top:0;padding-bottom:0;opacity:0}
.h2o-mode-inline .h2o-chat.is-started{height:clamp(320px,52vh,500px);display:flex;flex-direction:column;box-sizing:border-box}
.h2o-mode-inline .h2o-chat.is-started .h2o-log{flex:1;min-height:0;max-height:none;overscroll-behavior:contain;opacity:1}
.h2o-mode-inline .h2o-chat.is-started .h2o-input-row{flex:0 0 auto;background:#fff}
.h2o-msg{max-width:84%;padding:12px 15px;border-radius:14px;margin:9px 0;line-height:1.48}.h2o-msg.user{margin-left:auto;background:#172033;color:#fff}.h2o-msg.assistant{margin-right:auto;background:#f2f5f8;color:#172033}.h2o-loading small{display:block;color:#697586}.h2o-dots{letter-spacing:4px}.h2o-input-row{display:flex;gap:8px;border-top:1px solid #eef1f5;padding-top:14px}.h2o-input-row input{flex:1;border:1px solid #d4dae3;border-radius:12px;padding:13px 14px;font-size:15px}.h2o-input-row button,.h2o-mail button{border:0;border-radius:10px;background:#172033;color:#fff;padding:0 18px;cursor:pointer}.h2o-answer{max-width:100%}.h2o-premium-title{font-size:1.4em;font-weight:800;margin-bottom:18px}.h2o-answer-section{margin:0;padding:18px 0;border-top:1px solid #e4e9f0}.h2o-premium-title+.h2o-answer-section{border-top:0;padding-top:0}.h2o-answer-section h3{font-size:1.08em;margin:0 0 10px}.h2o-answer-section ul{padding-left:20px;margin:8px 0}.h2o-prose p{margin:0 0 11px}.h2o-prose p:last-child{margin-bottom:0}.h2o-points-prose,.h2o-warnings-prose{padding:12px 14px;background:#fff;border-left:3px solid #c8d1dd;border-radius:0 8px 8px 0}.h2o-price{font-size:1.04em;margin:0}.h2o-cta{font-weight:700}.h2o-directory-cta{padding:13px 15px;border:1px solid #d8e6ef;border-radius:10px;background:#f7fbfd}.h2o-directory-cta p{margin:0 0 9px}.h2o-directory-cta p:last-child{margin-bottom:0}.h2o-directory-link{display:inline-block;font-weight:700;text-decoration:none}.h2o-mail{max-width:92%}.h2o-mail>div{display:flex;gap:8px;margin-top:10px}.h2o-mail input{flex:1;padding:9px;border:1px solid #ccd4df;border-radius:8px}.h2o-mail button{padding:8px 14px}.h2o-mail small{display:block;margin-top:7px}.h2o-end{padding:4px 0}.h2o-msg.assistant .h2o-answer{background:transparent}.h2o-msg.assistant:has(.h2o-answer){max-width:96%}
@media(max-width:760px){.h2o-grid{grid-template-columns:1fr}.h2o-presel{padding:20px}.h2o-msg{max-width:94%}.h2o-mode-inline .h2o-chat.is-started{height:min(62dvh,460px)}}
@media(prefers-reduced-motion:reduce){.h2o-tile,.h2o-tile::before,.h2o-tile-title{transition:none}.h2o-tile:hover{transform:none}.h2o-tile:hover::after{animation:none;display:none}}

/* Mode flottant H2iA */
.h2o-mode-float{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:999999;
  width:auto;
  max-width:none;
  margin:0;
}
.h2o-float-launcher{
  display:flex;
  align-items:center;
  gap:11px;
  min-height:58px;
  padding:8px 15px 8px 9px;
  border:1px solid rgba(35,67,94,.14);
  border-radius:18px;
  background:rgba(255,255,255,.97);
  color:#17263a;
  font:inherit;
  cursor:pointer;
  box-shadow:0 14px 38px rgba(15,39,65,.18),0 2px 7px rgba(15,39,65,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:transform .22s cubic-bezier(.2,.7,.2,1),box-shadow .22s ease,border-color .22s ease;
}
.h2o-float-launcher:hover{
  transform:translateY(-2px);
  border-color:rgba(106,184,223,.55);
  box-shadow:0 18px 46px rgba(15,39,65,.22),0 0 0 1px rgba(106,184,223,.08);
}
.h2o-float-launcher:focus-visible,.h2o-float-close:focus-visible{
  outline:3px solid rgba(106,184,223,.28);
  outline-offset:2px;
}
.h2o-float-launcher-logo{
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:13px;
  background:#f7fafc;
  box-shadow:inset 0 0 0 1px rgba(23,38,58,.06);
  overflow:hidden;
  flex:0 0 auto;
}
.h2o-float-launcher-logo img{display:block;width:38px;height:auto;border-radius:5px}
.h2o-float-launcher-copy{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1;text-align:left}
.h2o-float-launcher-copy strong{font-size:15px;font-weight:800;letter-spacing:.01em}
.h2o-float-launcher-copy small{margin-top:4px;font-size:12.5px;color:#637083;font-weight:600;white-space:nowrap}
.h2o-mode-float.is-float-open .h2o-float-launcher{opacity:0;pointer-events:none;transform:translateY(8px) scale(.97)}
.h2o-float-shell{
  position:fixed;
  right:24px;
  bottom:24px;
  width:min(450px,calc(100vw - 48px));
  height:min(730px,calc(100vh - 48px));
  max-height:calc(100dvh - 48px);
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid rgba(31,52,73,.12);
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 26px 70px rgba(15,39,65,.24),0 4px 14px rgba(15,39,65,.1);
  transform-origin:bottom right;
  animation:h2o-float-in .22s cubic-bezier(.2,.7,.2,1) both;
}
.h2o-float-shell[hidden]{display:none!important}
@keyframes h2o-float-in{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
.h2o-float-header{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:66px;
  padding:11px 12px 11px 16px;
  border-bottom:1px solid #edf1f5;
  background:linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
}
.h2o-float-header-brand{display:flex;align-items:center;gap:11px;min-width:0}
.h2o-float-header-brand img{display:block;width:49px;height:auto;border-radius:5px;flex:0 0 auto}
.h2o-float-header-brand div{display:flex;flex-direction:column;min-width:0}
.h2o-float-header-brand strong{font-size:14.5px;line-height:1.2;color:#17263a}
.h2o-float-header-brand span{margin-top:3px;font-size:11.5px;line-height:1.2;color:#748093}
.h2o-float-close{
  width:38px;
  height:38px;
  flex:0 0 38px;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#5d6878;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  transition:background .18s ease,color .18s ease;
}
.h2o-float-close:hover{background:#f1f4f7;color:#17263a}
.h2o-float-body{flex:1;min-height:0;overflow:hidden}
.h2o-mode-float .h2o-panel{
  height:100%;
  display:flex;
  flex-direction:column;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow:hidden;
}
.h2o-mode-float .h2o-presel{
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding:20px;
}
.h2o-mode-float .h2o-presel h2{font-size:21px;margin-bottom:7px}
.h2o-mode-float .h2o-presel>p{font-size:13px;line-height:1.45;margin-bottom:16px}
.h2o-mode-float .h2o-presel-context{display:none}
.h2o-mode-float .h2o-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.h2o-mode-float .h2o-tile{
  min-height:68px;
  padding:10px 9px;
  border-radius:12px;
  font-size:11.8px;
  line-height:1.22;
  letter-spacing:.012em;
}
.h2o-mode-float .h2o-tile small{font-size:10px;margin-top:4px;white-space:normal}
.h2o-mode-float .h2o-tile-a9{grid-column:1 / -1}
.h2o-mode-float .h2o-chat{
  flex:1;
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:0;
}
.h2o-mode-float .h2o-chat[hidden]{display:none!important}
.h2o-mode-float .h2o-log{
  flex:1;
  min-height:0;
  max-height:none;
  padding:14px 14px 8px;
  overscroll-behavior:contain;
}
.h2o-mode-float .h2o-msg{max-width:90%;font-size:13.4px;padding:10px 12px;margin:7px 0}
.h2o-mode-float .h2o-msg.assistant:has(.h2o-answer){max-width:100%}
.h2o-mode-float .h2o-premium-title{font-size:1.22em;margin-bottom:13px}
.h2o-mode-float .h2o-answer-section{padding:14px 0}
.h2o-mode-float .h2o-answer-section h3{font-size:1em}
.h2o-mode-float .h2o-input-row{
  flex:0 0 auto;
  margin:0;
  padding:12px 14px 14px;
  background:#fff;
  border-top:1px solid #edf1f5;
  box-shadow:0 -6px 18px rgba(20,35,60,.025);
}
.h2o-mode-float .h2o-input-row input{min-width:0;font-size:14px;padding:12px 13px}
.h2o-mode-float .h2o-input-row button{width:44px;padding:0;flex:0 0 44px}
.h2o-mode-float .h2o-mail{max-width:100%}

@media(max-width:600px){
  body.h2o-float-open-body{overflow:hidden}
  .h2o-mode-float{right:14px;bottom:14px}
  .h2o-float-launcher{min-height:56px;border-radius:17px;padding-right:13px}
  .h2o-float-launcher-logo{width:42px;height:42px}
  .h2o-float-launcher-logo img{width:36px}
  .h2o-float-launcher-copy small{font-size:11.5px}
  .h2o-float-shell{
    left:8px;
    right:8px;
    bottom:8px;
    width:auto;
    height:calc(100dvh - 16px);
    max-height:calc(100dvh - 16px);
    border-radius:18px;
  }
  .h2o-float-header{min-height:62px;padding-left:13px}
  .h2o-mode-float .h2o-presel{padding:16px}
  .h2o-mode-float .h2o-presel h2{font-size:20px}
  .h2o-mode-float .h2o-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .h2o-mode-float .h2o-tile{min-height:64px;font-size:11px;padding:9px 7px}
}

@media(prefers-reduced-motion:reduce){
  .h2o-float-shell{animation:none}
  .h2o-float-launcher{transition:none}
}
