/* Assistant IA — widget de chat (palette noir / ivoire / or du site).
   Sits under the consent banner (z-index 90) and the consultation modal (100). */
.mx-launcher{
  position:fixed; right:22px; bottom:22px; z-index:80;
  display:flex; align-items:center; gap:12px;
  background:var(--ink); color:var(--paper);
  border:1px solid var(--brick); border-radius:40px;
  padding:8px 20px 8px 8px; cursor:pointer;
  font-family:'Jost', sans-serif; font-size:14px; font-weight:500;
  box-shadow:0 18px 40px -14px rgba(0,0,0,.55);
  transition:transform .2s ease, background .2s ease;
}
.mx-launcher:hover{transform:translateY(-2px); background:#1d1813;}
.mx-launcher .mx-avatar{width:44px; height:44px;}
.mx-launcher .mx-label small{display:block; font-family:'Space Mono', monospace; font-size:10px; letter-spacing:.06em; color:var(--brick-soft); text-transform:uppercase;}
.mx-status-dot{display:inline-block; width:7px; height:7px; border-radius:50%; background:#6fcf97; margin-right:6px;}

.mx-avatar{display:block; border-radius:50%;}

.mx-panel{
  position:fixed; right:22px; bottom:22px; z-index:85;
  width:min(380px, calc(100vw - 32px)); height:min(560px, calc(100vh - 44px));
  display:none; flex-direction:column;
  background:var(--paper); color:var(--ink);
  border:1px solid var(--brick); border-radius:var(--radius);
  box-shadow:0 30px 70px -20px rgba(0,0,0,.6);
  font-family:'Jost', sans-serif;
}
.mx-panel.open{display:flex;}
.mx-head{
  display:flex; align-items:center; gap:12px; padding:14px 16px;
  background:var(--ink); color:var(--paper); border-bottom:1px solid var(--brick);
}
.mx-head .mx-avatar{width:40px; height:40px; flex:none;}
.mx-head .mx-title{flex:1; line-height:1.25;}
.mx-head .mx-title b{font-family:'Cormorant Garamond', serif; font-size:19px; font-weight:600; display:block;}
.mx-head .mx-title span{font-family:'Space Mono', monospace; font-size:10.5px; color:var(--brick-soft); letter-spacing:.04em;}
.mx-close{
  background:none; border:1px solid rgba(247,242,231,.3); color:var(--paper);
  width:30px; height:30px; border-radius:50%; cursor:pointer; font-size:16px; line-height:1;
}
.mx-close:hover{border-color:var(--brick-soft); color:var(--brick-soft);}

.mx-log{flex:1; overflow-y:auto; padding:16px; display:flex; flex-direction:column; gap:10px; background:var(--paper);}
.mx-msg{max-width:86%; padding:10px 13px; font-size:14.5px; line-height:1.5; white-space:pre-wrap; word-wrap:break-word; border-radius:var(--radius);}
.mx-msg.bot{align-self:flex-start; background:var(--paper-alt); border:1px solid var(--line);}
.mx-msg.user{align-self:flex-end; background:var(--ink); color:var(--paper);}
.mx-msg.note{align-self:center; max-width:100%; background:none; border:none; padding:2px 0; font-family:'Space Mono', monospace; font-size:11px; color:var(--ink-soft); text-align:center;}
.mx-typing{align-self:flex-start; font-family:'Space Mono', monospace; font-size:12px; color:var(--ink-soft);}

.mx-chips{display:flex; flex-wrap:wrap; gap:8px; padding:0 16px 12px; background:var(--paper);}
.mx-chip{
  background:none; border:1px solid var(--brick); color:var(--ink); border-radius:20px;
  padding:6px 12px; font-family:'Jost', sans-serif; font-size:13px; cursor:pointer;
}
.mx-chip:hover{background:var(--brick); color:var(--ink);}

.mx-form{display:flex; gap:8px; padding:12px 14px; border-top:1px solid var(--line); background:var(--paper);}
.mx-form input{
  flex:1; min-width:0; padding:11px 12px; border:1px solid var(--line); background:#fff;
  font-family:'Jost', sans-serif; font-size:15px; color:var(--ink); border-radius:var(--radius);
}
.mx-form input:focus{border-color:var(--brick); outline:none;}
.mx-form button{
  background:var(--ink); color:var(--paper); border:none; padding:0 16px; cursor:pointer;
  font-family:'Jost', sans-serif; font-weight:600; font-size:14px; border-radius:var(--radius);
}
.mx-form button:hover{background:var(--route);}
.mx-form button:disabled{opacity:.5; cursor:default;}
.mx-foot{padding:0 16px 10px; font-size:11px; color:var(--ink-soft); background:var(--paper);}

@media (max-width:560px){
  .mx-launcher .mx-label{display:none;}
  .mx-launcher{padding:6px;}
  .mx-panel{right:8px; bottom:8px; width:calc(100vw - 16px); height:calc(100vh - 16px);}
}
@media (prefers-reduced-motion: reduce){
  .mx-launcher{transition:none;}
}

/* Hide the "Powered by Netlify" badge that Netlify injects in the bottom-right
   corner: it sits on top of the assistant's chat bubble. */
#nl-badge-frame { display: none !important; }
