/* Assistant guidé « Expliquez-nous votre situation » (12/10/2026) — charte du site : navy #0e2440, or #e8c887, Archivo. */
.mc-chat { position:fixed; right:16px; bottom:16px; z-index:120; font-family:inherit; }
.mc-chat *, .mc-chat *::before, .mc-chat *::after { box-sizing:border-box; }

.mc-chat-bulle { display:inline-flex; align-items:center; gap:10px; padding:14px 20px; border:0; border-radius:999px;
  background:#0e2440; color:#fff; font:inherit; font-size:15px; font-weight:600; letter-spacing:-0.01em; cursor:pointer;
  box-shadow:0 14px 38px rgba(14,36,64,0.32); transition:transform .22s, box-shadow .22s, background .22s; }
.mc-chat-bulle:hover { transform:translateY(-2px); box-shadow:0 18px 46px rgba(14,36,64,0.4); }
.mc-chat-bulle-i { display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; flex:none;
  border-radius:50%; background:#e8c887; color:#0e2440; font-size:13px; }
.mc-chat[data-ouvert="1"] .mc-chat-bulle { display:none; }

.mc-chat-p { width:min(380px, calc(100vw - 32px)); max-height:min(620px, calc(100vh - 32px)); display:flex; flex-direction:column;
  background:#fff; border-radius:22px; overflow:hidden; box-shadow:0 26px 70px rgba(14,36,64,0.3); border:1px solid rgba(14,36,64,0.08); }
.mc-chat-p[hidden] { display:none; }

.mc-chat-tete { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 18px 14px; background:#0e2440; color:#fff; }
.mc-chat-titre { margin:0; font-size:16.5px; font-weight:600; letter-spacing:-0.015em; }
.mc-chat-sous { margin:4px 0 0; font-size:13px; color:rgba(255,255,255,0.72); }
.mc-chat-fermer { flex:none; width:32px; height:32px; border:0; border-radius:50%; background:rgba(255,255,255,0.12); color:#fff;
  font-size:14px; line-height:1; cursor:pointer; }
.mc-chat-fermer:hover { background:rgba(255,255,255,0.22); }
.mc-chat-apercu { margin:0; padding:9px 18px; background:#fdf4e0; color:#6b4e12; font-size:12.5px; }
.mc-chat-apercu code { font-size:12px; }

.mc-chat-prog { height:3px; background:rgba(14,36,64,0.08); }
.mc-chat-prog-b { display:block; height:100%; width:0; background:#e8c887; transition:width .3s ease; }

.mc-chat-corps { flex:1; overflow-y:auto; padding:18px; display:flex; flex-direction:column; gap:14px; }
.mc-chat-corps:focus { outline:none; }
.mc-chat-q { margin:0; font-size:15.5px; line-height:1.5; font-weight:500; color:#0e2440; }
.mc-chat-aide { margin:0; font-size:13px; color:rgba(14,36,64,0.6); }
.mc-chat-choix { display:flex; flex-direction:column; gap:9px; }
.mc-chat-b { width:100%; text-align:left; padding:13px 15px; border:1px solid rgba(14,36,64,0.16); border-radius:14px;
  background:#fff; color:#0e2440; font:inherit; font-size:14.5px; line-height:1.45; cursor:pointer;
  transition:border-color .18s, background .18s, transform .18s; }
.mc-chat-b:hover { border-color:#0e2440; background:#f6f8fb; transform:translateX(2px); }
.mc-chat-b:focus-visible, .mc-chat-champ:focus-visible, .mc-chat-fermer:focus-visible, .mc-chat-bulle:focus-visible,
.mc-chat-env:focus-visible, .mc-chat-retour:focus-visible { outline:3px solid #b8892f; outline-offset:2px; }

.mc-chat-champ { width:100%; padding:12px 14px; border:1px solid rgba(14,36,64,0.18); border-radius:12px; background:#fff;
  font:inherit; font-size:16px; color:#0e2440; }
.mc-chat-champ::placeholder { color:rgba(14,36,64,0.42); }
.mc-chat-l { display:flex; flex-direction:column; gap:5px; font-size:13px; font-weight:500; color:#0e2440; }
.mc-chat-form { display:flex; flex-direction:column; gap:11px; }
.mc-chat-piege { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.mc-chat-rgpd { display:flex; align-items:flex-start; gap:9px; font-size:12.5px; line-height:1.5; color:rgba(14,36,64,0.72); }
.mc-chat-rgpd input { margin-top:2px; width:17px; height:17px; flex:none; accent-color:#0e2440; }
.mc-chat-env { padding:14px 18px; border:0; border-radius:999px; background:#0e2440; color:#fff; font:inherit; font-size:15px;
  font-weight:600; cursor:pointer; }
.mc-chat-env:hover { background:#16335a; }
.mc-chat-env[disabled] { opacity:.6; cursor:progress; }
.mc-chat-retour { align-self:flex-start; padding:4px 0; border:0; background:none; color:rgba(14,36,64,0.6); font:inherit;
  font-size:13px; text-decoration:underline; cursor:pointer; }
.mc-chat-retour:hover { color:#0e2440; }
.mc-chat-err { margin:0; padding:10px 12px; border-radius:10px; background:#fdecec; color:#8c1c1c; font-size:13px; }

.mc-chat-recap { margin:0; padding:12px 14px; border-radius:12px; background:#f6f8fb; font-size:13px; line-height:1.6; color:rgba(14,36,64,0.78); }
.mc-chat-recap b { color:#0e2440; font-weight:600; }
.mc-chat-fin { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.mc-chat-fin-i { width:46px; height:46px; border-radius:50%; background:#e8c887; color:#0e2440; display:flex; align-items:center;
  justify-content:center; font-size:21px; }
.mc-chat-fin-t { margin:0; font-size:17px; font-weight:600; letter-spacing:-0.015em; color:#0e2440; }
.mc-chat-fin-s { margin:0; font-size:14px; line-height:1.6; color:rgba(14,36,64,0.7); }
.mc-chat-fin a { color:#0e2440; font-weight:600; text-decoration:underline; }

.mc-chat-pied { margin:0; padding:11px 18px; border-top:1px solid rgba(14,36,64,0.08); background:#fbfcfd;
  font-size:11.5px; line-height:1.5; color:rgba(14,36,64,0.55); }
.mc-chat-pied a { color:rgba(14,36,64,0.75); text-decoration:underline; }

@media (max-width:560px) {
  .mc-chat { right:12px; bottom:12px; left:12px; }
  .mc-chat-bulle { width:100%; justify-content:center; }
  .mc-chat-p { width:100%; max-height:calc(100svh - 24px); }
  .mc-chat-corps { padding:16px; }
  /* 13/10 : sur mobile, la bulle pleine largeur recouvrait le 2e bouton du hero → cachée tant qu'on est dans le hero. */
  .mc-chat:not([data-ouvert="1"]):not([data-defile="1"]) .mc-chat-bulle { opacity:0; transform:translateY(24px); pointer-events:none; }
  .mc-chat-bulle { transition:transform .25s, opacity .25s, box-shadow .22s, background .22s; }
}
@media (prefers-reduced-motion:reduce) {
  .mc-chat-bulle, .mc-chat-b, .mc-chat-prog-b { transition:none; }
}
