/* Chat du site — widget Jordan Mathieu Canin. Aucune dépendance. Préfixe .jmc- */
.jmc-root{--jmc-accent:#D8904A;--jmc-accent-d:#A9672E;--jmc-navy:#16213e;--jmc-bg:#F7F3EA;--jmc-line:#E6DDD0;--jmc-olive:#7B8060;--jmc-muted:#6F6A63;--jmc-ink:#1F1F1F;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.45;color:var(--jmc-ink);-webkit-text-size-adjust:100%;text-size-adjust:100%}
.jmc-root *,.jmc-root *::before,.jmc-root *::after{box-sizing:border-box}
.jmc-root button,.jmc-root textarea,.jmc-root input{font:inherit;color:inherit}
.jmc-bubble{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:99990;width:60px;height:60px;border-radius:50%;border:0;padding:0;
  background:var(--jmc-accent);color:#fff;font-size:28px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(216,144,74,.5);transition:transform .15s ease}
.jmc-bubble:hover{transform:scale(1.06)}
.jmc-bubble:focus-visible,.jmc-root button:focus-visible,.jmc-root textarea:focus-visible,.jmc-root input:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 6px var(--jmc-navy);outline-offset:0}
.jmc-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:99px;background:#C8372D;color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff}
.jmc-badge[hidden]{display:none}
.jmc-panel{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:99991;width:380px;height:min(560px,calc(100vh - 40px));height:min(560px,calc(100dvh - 40px));
  display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(22,33,62,.32),0 0 0 1px rgba(22,33,62,.08);animation:jmc-in .18s ease-out}
.jmc-panel[hidden]{display:none}
@keyframes jmc-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.jmc-head{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:12px 8px 12px 14px;background:var(--jmc-navy);color:#fff}
.jmc-av{flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:var(--jmc-accent);color:var(--jmc-navy);font-weight:800;display:flex;align-items:center;justify-content:center}
.jmc-ttl{flex:1;min-width:0}.jmc-ttl b{display:block;font-size:15px}.jmc-ttl span{display:block;font-size:12.5px;color:#cfd6e6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.jmc-ib{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.jmc-ib:hover{background:rgba(255,255,255,.12)}
.jmc-ib svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.jmc-log{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--jmc-bg);padding:14px 12px;display:flex;flex-direction:column;gap:8px}
.jmc-m{max-width:86%;padding:9px 12px;border-radius:16px;overflow-wrap:anywhere;white-space:pre-wrap}
.jmc-in{align-self:flex-start;background:#fff;border:1px solid var(--jmc-line);border-top-left-radius:5px}
.jmc-jm{align-self:flex-start;background:#E8F0E2;border:1px solid #C9DABB;border-top-left-radius:5px}
.jmc-me{align-self:flex-end;background:var(--jmc-accent-d);color:#fff;border-top-right-radius:5px}
.jmc-me a{color:#fff}
.jmc-who{font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--jmc-olive);margin-bottom:2px}
.jmc-sys{align-self:center;max-width:92%;text-align:center;font-size:12.5px;color:var(--jmc-muted);background:rgba(0,0,0,.06);border-radius:99px;padding:5px 12px}
.jmc-m a{color:var(--jmc-accent-d);font-weight:600;text-underline-offset:2px}
.jmc-st{font-size:11.5px;opacity:.85;margin-top:3px;white-space:normal}
.jmc-st button{border:0;background:transparent;color:inherit;text-decoration:underline;cursor:pointer;padding:4px 2px;min-height:32px}
.jmc-m img.jmc-th{display:block;max-width:100%;max-height:180px;border-radius:10px;margin-bottom:4px}
.jmc-typing{align-self:flex-start;display:flex;gap:4px;padding:11px 14px;background:#fff;border:1px solid var(--jmc-line);border-radius:16px;border-top-left-radius:5px}
.jmc-typing i{width:7px;height:7px;border-radius:50%;background:var(--jmc-muted);animation:jmc-b 1.1s infinite ease-in-out}
.jmc-typing i:nth-child(2){animation-delay:.15s}.jmc-typing i:nth-child(3){animation-delay:.3s}
@keyframes jmc-b{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}
.jmc-chips{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0}
.jmc-chips button{min-height:40px;border:1px solid var(--jmc-accent);background:#fff;color:var(--jmc-accent-d);border-radius:99px;padding:6px 13px;font-size:14px;font-weight:700;cursor:pointer}
.jmc-chips button:hover{background:#FFF8EF}
.jmc-banner{flex:0 0 auto;background:#FFF1D6;color:#6b4300;font-size:13px;padding:7px 12px;border-top:1px solid #f0d9a8}
.jmc-banner[hidden]{display:none}.jmc-banner.jmc-err{background:#FDE8E7;color:#8f1d16;border-top-color:#f3c3bf}
.jmc-consent{flex:0 0 auto;display:flex;gap:9px;align-items:flex-start;padding:9px 12px;background:#FFF8EF;border-top:1px solid var(--jmc-line);font-size:13px;line-height:1.35}
.jmc-consent[hidden]{display:none}
.jmc-consent input{flex:0 0 22px;width:22px;height:22px;margin:0;accent-color:var(--jmc-accent-d)}
.jmc-consent label{flex:1;cursor:pointer;padding:2px 0}.jmc-consent a{color:var(--jmc-accent-d)}
.jmc-form{flex:0 0 auto;display:flex;align-items:flex-end;gap:6px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--jmc-line);background:#fff}
.jmc-form textarea{flex:1;min-width:0;resize:none;border:1px solid var(--jmc-line);background:var(--jmc-bg);border-radius:20px;padding:10px 14px;font-size:16px;line-height:1.35;max-height:120px;min-height:44px}
.jmc-form textarea:disabled{opacity:.6}
.jmc-btn{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}
.jmc-btn svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.jmc-att{background:transparent;color:var(--jmc-accent-d)}.jmc-att:hover{background:var(--jmc-bg)}
.jmc-snd{background:var(--jmc-accent-d);color:#fff}.jmc-snd:disabled{opacity:.45;cursor:default}
.jmc-foot{flex:0 0 auto;text-align:center;font-size:11.5px;color:var(--jmc-muted);padding:0 10px calc(6px + env(safe-area-inset-bottom));background:#fff}
.jmc-foot a{color:var(--jmc-muted)}
.jmc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
html.jmc-lock,html.jmc-lock body{overflow:hidden!important}
@media (max-width:640px){
  .jmc-panel{inset:0;width:100%;height:100%;border-radius:0;box-shadow:none;animation:none}
  .jmc-head{padding-top:calc(12px + env(safe-area-inset-top))}
  .jmc-log{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
}
/* Invitation discrète à gauche du bouton : petite, jamais plein écran, ne recouvre pas le bouton */
.jmc-invite{position:fixed;right:calc(max(16px,env(safe-area-inset-right)) + 70px);bottom:calc(max(16px,env(safe-area-inset-bottom)) + 8px);z-index:99989;display:flex;align-items:center;gap:2px;
  max-width:min(260px,calc(100vw - 110px));padding:4px 4px 4px 14px;background:#fff;border:1px solid var(--jmc-line);border-radius:18px 18px 6px 18px;box-shadow:0 8px 24px rgba(22,33,62,.18);animation:jmc-inv .25s ease-out}
.jmc-invite-txt{flex:1;min-width:0;border:0;background:transparent;padding:6px 2px;text-align:left;font-size:14px;font-weight:600;line-height:1.3;color:var(--jmc-navy);cursor:pointer}
.jmc-invite-txt:hover{color:var(--jmc-accent-d)}
.jmc-invite-x{flex:0 0 32px;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:var(--jmc-muted);cursor:pointer;display:flex;align-items:center;justify-content:center}
.jmc-invite-x:hover{background:var(--jmc-bg)}
.jmc-invite-x svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round}
@keyframes jmc-inv{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:640px){.jmc-invite{max-width:calc(100vw - 104px);padding-left:12px}.jmc-invite-txt{font-size:13.5px}}
/* ───── v4 (17/10/2026) : protection contre les styles du site + nouveau design ───── */
.jmc-root .jmc-panel{padding:0!important;margin:0!important;min-height:0!important;max-width:none!important;opacity:1!important;transform:none!important;visibility:visible!important;text-align:left}
.jmc-root .jmc-panel *{letter-spacing:normal;text-transform:none}
.jmc-root .jmc-who{text-transform:uppercase;letter-spacing:.5px}
.jmc-av{background:#fff;overflow:hidden;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.jmc-av img{display:block;width:100%;height:100%;object-fit:cover}
.jmc-form textarea::placeholder{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#8a847b;opacity:1}
.jmc-form textarea:focus{outline:none;border-color:var(--jmc-accent);background:#fff;box-shadow:0 0 0 3px rgba(216,144,74,.18)}
@media (min-width:641px){
  .jmc-panel{right:24px;bottom:24px;width:400px;height:min(640px,calc(100vh - 48px));height:min(640px,calc(100dvh - 48px));border-radius:24px;background:#FBF8F3;
    box-shadow:0 30px 80px rgba(22,33,62,.30),0 2px 8px rgba(22,33,62,.10),0 0 0 1px rgba(22,33,62,.06)}
  .jmc-head{padding:16px 10px 16px 18px;gap:12px;background:linear-gradient(135deg,#22325a 0%,#16213e 70%)}
  .jmc-av{flex:0 0 44px;width:44px;height:44px}
  .jmc-ttl b{font-size:16px;font-weight:700}
  .jmc-ttl span{font-size:13px;color:#c9d2e6;margin-top:1px}
  .jmc-ib{flex:0 0 38px;width:38px;height:38px}
  .jmc-ib svg{width:19px;height:19px}
  .jmc-log{background:#FBF8F3;padding:18px 16px 12px;gap:10px}
  .jmc-m{max-width:84%;padding:10px 14px;font-size:14.5px;line-height:1.5}
  .jmc-in{border:0;border-radius:18px 18px 18px 6px;box-shadow:0 1px 2px rgba(22,33,62,.06),0 6px 16px rgba(22,33,62,.05)}
  .jmc-jm{border-radius:18px 18px 18px 6px}
  .jmc-me{background:linear-gradient(135deg,#C07A3A,#A9672E);border-radius:18px 18px 6px 18px;box-shadow:0 4px 12px rgba(169,103,46,.22)}
  .jmc-chips{gap:7px;padding:4px 0 2px}
  .jmc-chips button{min-height:36px;padding:6px 14px;font-size:13.5px;font-weight:600;border:1.5px solid rgba(216,144,74,.6);background:#fff;transition:background .15s,color .15s,border-color .15s}
  .jmc-chips button:hover{background:var(--jmc-accent);border-color:var(--jmc-accent);color:#fff}
  .jmc-consent{padding:10px 16px;font-size:12.5px;gap:10px;background:#FFF7EC}
  .jmc-consent input{flex:0 0 18px;width:18px;height:18px;margin-top:1px}
  .jmc-form{padding:10px 12px 8px;gap:6px;align-items:center}
  .jmc-form textarea{font-size:15px;min-height:46px;padding:12px 16px;border-radius:23px;background:#F6F1E8;border-color:transparent}
  .jmc-btn{flex:0 0 42px;width:42px;height:42px}
  .jmc-snd{background:var(--jmc-accent);box-shadow:0 4px 12px rgba(216,144,74,.35)}
  .jmc-snd:not(:disabled):hover{background:var(--jmc-accent-d)}
  .jmc-foot{font-size:11px;padding:0 14px 10px}
  .jmc-bubble{right:24px;bottom:24px;width:62px;height:62px}
  .jmc-invite{right:100px;bottom:32px}
}
@media (prefers-reduced-motion:reduce){.jmc-panel,.jmc-bubble,.jmc-typing i,.jmc-invite{animation:none!important;transition:none!important}}
@media print{.jmc-root{display:none}}
