/* ==========================================================================
   L'ASSISTANT DE MAXIME, version IA (21 septembre 2026)
   Même bulle, même marque que l'ancienne version guidée par boutons, mais une
   vraie conversation. Les couleurs viennent des variables du site (repli en dur).
   Les classes ml-asst, ml-asst-fab, ml-asst-chip et ml-asst-panel sont GARDÉES :
   onglets-rolex.js s'y réfère pour mettre la bulle en retrait sur les chiffres.
   ========================================================================== */
.ml-asst{
  --a-bg:var(--bg,#FFFFFF);--a-paper:var(--paper,#FAF7F1);--a-ink:var(--ink,#1B1B1B);
  --a-ink-soft:var(--ink-soft,#4A4744);--a-muted:var(--muted,#8B857C);--a-gold:var(--gold,#A9792F);
  --a-gold-deep:var(--gold-deep,#8A6526);--a-gold-warm:var(--gold-warm,#E7C989);--a-line:var(--line,#E7E1D6);
  --a-line-soft:var(--line-soft,#F0EBE1);--a-font:'Jost',-apple-system,system-ui,sans-serif;--a-serif:'Fraunces',Georgia,serif;
  --a-z:2147483000;position:fixed;inset:auto 24px 24px auto;z-index:var(--a-z);
  font-family:var(--a-font);color:var(--a-ink);line-height:1.5;box-sizing:border-box;
}
.ml-asst *,.ml-asst *::before,.ml-asst *::after{box-sizing:border-box}
.ml-asst.ml-asst--eviter-calendly{bottom:96px}

/* ----- Bouton rond ---------------------------------------------------------- */
.ml-asst-fab{width:62px;height:62px;border-radius:50%;border:2px solid var(--a-gold);background:var(--a-paper);padding:0;cursor:pointer;
  position:relative;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(27,27,27,.18);transition:transform .2s,box-shadow .2s}
.ml-asst-fab:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(27,27,27,.24)}
.ml-asst-fab:focus-visible{outline:2px solid var(--a-gold);outline-offset:3px}
.ml-asst-fab img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.ml-asst-fab .mlia-pt{position:absolute;top:-3px;right:-3px;width:16px;height:16px;border-radius:50%;background:var(--a-gold);border:2px solid var(--a-paper)}
.ml-asst-fab::after{content:"";position:absolute;inset:-2px;border-radius:50%;border:2px solid var(--a-gold);opacity:0;pointer-events:none}
.ml-asst-fab.mlia-appel::after{animation:mliaHalo 2.4s ease-out infinite}
@keyframes mliaHalo{0%{opacity:.7;transform:scale(1)}70%,100%{opacity:0;transform:scale(1.45)}}

/* ----- Bulle d'accueil ------------------------------------------------------ */
.ml-asst-chip{position:absolute;right:76px;bottom:6px;width:max-content;max-width:250px;opacity:0;transform:translateY(8px) scale(.96);transform-origin:100% 100%;
  pointer-events:none;visibility:hidden;transition:opacity .35s,transform .35s,visibility 0s linear .35s}
.ml-asst-chip.on{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .35s,transform .35s cubic-bezier(.2,1.4,.4,1)}
.mlia-chip-ouvrir{display:block;width:100%;text-align:left;font-family:inherit;cursor:pointer;background:var(--a-paper);color:var(--a-ink);border:1px solid var(--a-gold);
  border-radius:16px 16px 4px 16px;padding:11px 16px 12px;box-shadow:0 12px 30px rgba(27,27,27,.18);position:relative;transition:transform .2s,box-shadow .2s}
.mlia-chip-ouvrir::after{content:"";position:absolute;right:-6px;bottom:12px;width:10px;height:10px;background:var(--a-paper);border-right:1px solid var(--a-gold);border-top:1px solid var(--a-gold);transform:rotate(45deg)}
.mlia-chip-ouvrir:hover{transform:translateY(-2px)}
.mlia-chip-qui{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--a-gold-deep);margin:0 0 3px}
.mlia-chip-msg{display:none;font-size:15px;font-weight:500;line-height:1.35;color:var(--a-ink)}
.mlia-chip-msg b{display:block;font-weight:600}
.ml-asst-chip.dit .mlia-chip-msg{display:block}
.mlia-points{display:inline-flex;gap:4px;padding:6px 0 3px}
.mlia-points i{width:6px;height:6px;border-radius:50%;background:var(--a-gold);animation:mliaPoints 1s ease-in-out infinite}
.mlia-points i:nth-child(2){animation-delay:.15s}.mlia-points i:nth-child(3){animation-delay:.3s}
@keyframes mliaPoints{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-3px)}}
.ml-asst-chip.dit .mlia-points{display:none}
.mlia-chip-x{position:absolute;top:-9px;left:-9px;z-index:1;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;
  background:var(--a-bg);color:var(--a-ink-soft);border:1px solid var(--a-line);box-shadow:0 3px 10px rgba(27,27,27,.16)}
.mlia-chip-x:hover{color:var(--a-ink);border-color:var(--a-gold)}

/* ----- Panneau -------------------------------------------------------------- */
.ml-asst-panel{position:absolute;right:0;bottom:78px;width:392px;max-width:calc(100vw - 32px);height:min(680px,calc(100vh - 120px));
  background:var(--a-bg);border:1px solid var(--a-line);border-radius:20px;box-shadow:0 30px 80px rgba(27,27,27,.28);display:flex;flex-direction:column;overflow:hidden;
  opacity:0;transform:translateY(12px) scale(.98);pointer-events:none;transition:opacity .22s,transform .22s}
.ml-asst-panel.on{opacity:1;transform:none;pointer-events:auto}
.mlia-head{display:flex;align-items:center;gap:11px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--a-line);background:var(--a-paper);flex:none}
.mlia-head img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1.5px solid var(--a-gold);flex:none}
.mlia-head .t{flex:1;min-width:0}
.mlia-head .t b{display:block;font-size:14.5px;font-weight:600;color:var(--a-ink)}
.mlia-head .t span{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--a-muted)}
.mlia-head .t span i{width:7px;height:7px;border-radius:50%;background:#2E8B57;flex:none}
.mlia-head .t span i.mlia-faux{background:var(--a-gold)}
.mlia-close{background:none;border:0;cursor:pointer;color:var(--a-muted);padding:6px;border-radius:8px;display:flex}
.mlia-close:hover{color:var(--a-ink);background:var(--a-line-soft)}
.mlia-close:focus-visible,.ml-asst-panel button:focus-visible,.ml-asst-panel a:focus-visible,.ml-asst-panel input:focus-visible,.ml-asst-panel textarea:focus-visible{outline:2px solid var(--a-gold);outline-offset:2px}

/* ----- Fil de conversation ---------------------------------------------------- */
.mlia-fil{flex:1;overflow-y:auto;padding:16px 14px 8px;background:var(--a-bg);scroll-behavior:smooth}
.mlia-fil::-webkit-scrollbar{width:8px}.mlia-fil::-webkit-scrollbar-thumb{background:var(--a-line);border-radius:8px}
.mlia-note{font-size:11px;color:var(--a-muted);text-align:center;margin:0 0 14px;line-height:1.45;padding:0 8px}
.mlia-note a{color:var(--a-ink-soft)}
.mlia-msg{display:flex;gap:8px;margin:0 0 10px;align-items:flex-end}
.mlia-msg.moi{flex-direction:row-reverse}
.mlia-msg img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--a-line)}
.mlia-bulle{max-width:84%;padding:11px 14px;font-size:14.5px;line-height:1.5;color:var(--a-ink);background:var(--a-paper);border:1px solid var(--a-line-soft);border-radius:16px 16px 16px 4px;white-space:pre-wrap;overflow-wrap:anywhere}
.mlia-msg.moi .mlia-bulle{background:#fff;border:1px solid var(--a-gold-warm);border-radius:16px 16px 4px 16px}
.mlia-bulle.mlia-ecrit::after{content:"";display:inline-block;width:7px;height:16px;margin-left:2px;vertical-align:-3px;background:var(--a-gold);animation:mliaCurseur .9s steps(2) infinite}
@keyframes mliaCurseur{50%{opacity:0}}
.mlia-attente{display:inline-flex;gap:4px;padding:2px 0}
.mlia-attente i{width:7px;height:7px;border-radius:50%;background:var(--a-gold);animation:mliaPoints 1s ease-in-out infinite}
.mlia-attente i:nth-child(2){animation-delay:.15s}.mlia-attente i:nth-child(3){animation-delay:.3s}
.mlia-erreur{font-size:12.5px;color:#B4232A;margin:0 0 10px;text-align:center}

/* Cartes d'action */
.mlia-carte{margin:0 0 12px 34px;max-width:84%;background:#fff;border:1px solid var(--a-line);border-radius:14px;padding:13px 14px;box-shadow:0 8px 24px -14px rgba(27,27,27,.3)}
.mlia-carte b{display:block;font-size:14px;font-weight:600;margin:0 0 4px}
.mlia-carte p{margin:0 0 10px;font-size:13px;color:var(--a-ink-soft);line-height:1.5}
.mlia-btn{font-family:inherit;display:block;width:100%;background:var(--a-gold);color:#fff;border:0;border-radius:11px;padding:12px 16px;font-size:14.5px;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:background .18s}
.mlia-btn:hover{background:var(--a-gold-deep)}
.mlia-btn.secondaire{background:#fff;color:var(--a-ink);border:1px solid var(--a-line);margin-top:8px}
.mlia-btn.secondaire:hover{border-color:var(--a-gold);background:var(--a-paper)}
.mlia-btn[disabled]{opacity:.6;cursor:default}
.mlia-tel{display:flex;align-items:center;gap:9px;justify-content:center;margin-top:8px;font-size:14px;font-weight:600;color:var(--a-ink);text-decoration:none}
.mlia-tel svg{width:16px;height:16px;stroke:var(--a-gold);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* Carte des taux (Banque du Canada) */
.mlia-taux{list-style:none;margin:0 0 8px;padding:0}
.mlia-taux li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 0;border-top:1px solid var(--a-line-soft);font-size:13px;color:var(--a-ink-soft)}
.mlia-taux li:first-child{border-top:0}
.mlia-taux b{font-size:18px;font-weight:600;color:var(--a-ink);grid-row:span 2;align-self:center;font-variant-numeric:tabular-nums}
.mlia-taux small{font-size:11px;color:var(--a-muted)}
.mlia-source{display:block;font-size:11px;color:var(--a-muted);margin-top:4px}
/* Formulaire de coordonnées, avec consentement */
.mlia-form label{display:block;font-size:12px;color:var(--a-ink-soft);margin:0 0 4px}
.mlia-form input[type=text],.mlia-form input[type=email],.mlia-form input[type=tel]{width:100%;font-family:inherit;font-size:14.5px;padding:10px 12px;border:1px solid var(--a-line);border-radius:10px;background:var(--a-bg);color:var(--a-ink);margin:0 0 10px}
.mlia-form input:focus{outline:none;border-color:var(--a-gold)}
.mlia-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--a-muted);line-height:1.5;margin:2px 0 12px}
.mlia-consent input{margin-top:3px;flex:none}
.mlia-consent a{color:var(--a-ink-soft);text-decoration:underline}
.mlia-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Suggestions (puces) */
.mlia-puces{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 12px 34px}
.mlia-puces button{font-family:inherit;font-size:12.5px;font-weight:500;color:var(--a-ink);background:#fff;border:1px solid var(--a-line);border-radius:999px;padding:7px 12px;cursor:pointer;transition:border-color .18s,background .18s}
.mlia-puces button:hover{border-color:var(--a-gold);background:var(--a-paper)}

/* ----- Zone de saisie ---------------------------------------------------------- */
.mlia-saisie{flex:none;display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;border-top:1px solid var(--a-line);background:var(--a-bg)}
/* height et min-height forcés : le site pose sa propre hauteur sur tous les textarea (formulaires de contact) */
.mlia-saisie textarea{flex:1;font-family:inherit;font-size:14.5px;line-height:1.4;padding:10px 12px;border:1px solid var(--a-line);border-radius:14px;background:var(--a-bg);color:var(--a-ink);resize:none;height:42px;max-height:120px!important;min-height:42px!important;margin:0!important;width:auto!important}
.mlia-saisie textarea:focus{outline:none;border-color:var(--a-gold)}
.mlia-envoi,.mlia-micro{flex:none;width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--a-gold);color:#fff;transition:background .18s,transform .18s}
.mlia-envoi:hover{background:var(--a-gold-deep)}
.mlia-envoi[disabled]{background:var(--a-line);cursor:default}
.mlia-envoi svg,.mlia-micro svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mlia-micro{background:#fff;color:var(--a-ink-soft);border:1px solid var(--a-line)}
.mlia-micro:hover{border-color:var(--a-gold);color:var(--a-ink)}
.mlia-micro.on{background:var(--a-ink);color:#fff;border-color:var(--a-ink);animation:mliaMicro 1.2s ease-in-out infinite}
@keyframes mliaMicro{50%{transform:scale(1.08)}}
.mlia-micro[hidden]{display:none}
.mlia-pied{flex:none;font-size:10.5px;color:var(--a-muted);text-align:center;padding:0 12px 8px;background:var(--a-bg)}

/* ----- Mode secours (service en pause) ---------------------------------------- */
.mlia-secours{padding:8px 4px}
.mlia-secours p{font-size:13.5px;color:var(--a-ink-soft);margin:0 0 12px}
.mlia-secours .mlia-btn{margin-bottom:8px}

@media (prefers-reduced-motion:reduce){.ml-asst-fab,.ml-asst-chip,.mlia-chip-ouvrir,.ml-asst-panel{transition:none!important}
  .ml-asst-fab.mlia-appel::after,.mlia-points i,.mlia-attente i,.mlia-bulle.mlia-ecrit::after,.mlia-micro.on{animation:none!important}.mlia-fil{scroll-behavior:auto}}

/* ----- Mobile : plein écran ---------------------------------------------------- */
@media (max-width:640px){
  .ml-asst{inset:auto 16px 16px auto}
  .ml-asst.ml-asst--eviter-calendly{bottom:16px}
  .ml-asst-panel{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border-radius:0;bottom:0;right:0}
  .mlia-head{padding-top:max(14px,env(safe-area-inset-top))}
  .mlia-saisie{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .ml-asst-fab{width:58px;height:58px}
  .ml-asst-chip{right:70px;bottom:4px;max-width:min(230px,calc(100vw - 104px))}
  .mlia-chip-ouvrir{padding:10px 14px 11px}.mlia-chip-msg{font-size:14px}
  .mlia-bulle,.mlia-carte{max-width:88%}
}
