/* ---------- Assistant RN Martinique ---------- */
.rnc-lanceur{position:fixed;right:20px;bottom:20px;bottom:calc(20px + env(safe-area-inset-bottom));z-index:50;width:62px;height:62px;border-radius:50%;border:0;cursor:pointer;background:var(--bleu,#0B2A5B);color:#fff;box-shadow:0 12px 30px rgba(11,42,91,.35),0 0 0 4px #fff;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}
.rnc-lanceur:hover{transform:translateY(-2px) scale(1.04);background:var(--bleu-2,#123B78)}
.rnc-lanceur:focus-visible{outline:3px solid var(--rouge,#E1000F);outline-offset:4px}
.rnc-lanceur svg{width:28px;height:28px;fill:currentColor}
.rnc-point{position:absolute;top:-2px;right:-2px;width:22px;height:22px;border-radius:50%;background:var(--rouge,#E1000F);color:#fff;font:800 .78rem/22px var(--sans,Arial,sans-serif);text-align:center;box-shadow:0 0 0 3px #fff}
html.rnc-actif .rnc-lanceur{transform:scale(.92)}
html.rnc-actif .rnc-point{display:none}

.rnc-invite{position:fixed;right:20px;bottom:96px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:50;max-width:250px;background:#fff;color:#12253F;border-radius:16px 16px 4px 16px;padding:14px 38px 14px 16px;box-shadow:0 14px 34px rgba(11,42,91,.22);border-left:4px solid var(--rouge,#E1000F);font-family:var(--sans,Arial,sans-serif);font-size:.88rem;line-height:1.4;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:.35s}
.rnc-invite.rnc-visible{opacity:1;visibility:visible;transform:none}
.rnc-invite b{display:block;color:var(--bleu,#0B2A5B);text-transform:uppercase;letter-spacing:.04em;font-size:.84rem;margin-bottom:3px}
.rnc-invite span{color:var(--gris,#5C6675)}
.rnc-invite-x{position:absolute;top:6px;right:6px;width:26px;height:26px;border:0;background:none;border-radius:50%;cursor:pointer;color:var(--gris-2,#8A93A0);display:flex;align-items:center;justify-content:center}
.rnc-invite-x:hover{background:#EEF1F6}
.rnc-invite-x svg{width:16px;height:16px;fill:currentColor}

.rnc-panneau{position:fixed;right:20px;bottom:96px;bottom:calc(96px + env(safe-area-inset-bottom));z-index:90;width:390px;height:min(620px,calc(100vh - 130px));height:min(620px,calc(100dvh - 130px));display:flex;flex-direction:column;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 24px 60px rgba(11,42,91,.30);font-family:var(--sans,Arial,sans-serif);color:#12253F;opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transform-origin:bottom right;transition:opacity .25s,transform .25s,visibility .25s}
.rnc-panneau.rnc-ouvert{opacity:1;visibility:visible;transform:none}

.rnc-tete{display:flex;align-items:center;gap:12px;padding:14px 12px 14px 16px;background:var(--bleu,#0B2A5B);color:#fff}
.rnc-tete img{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.rnc-titre{flex:1;min-width:0;line-height:1.25}
.rnc-titre b{display:block;font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.rnc-titre small{display:flex;align-items:center;gap:6px;font-size:.76rem;color:#C6D4E8}
.rnc-titre small i{width:7px;height:7px;border-radius:50%;background:#3DDC84;flex:none}
.rnc-btn-tete{width:36px;height:36px;flex:none;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.rnc-btn-tete:hover,.rnc-btn-tete:focus-visible{background:rgba(255,255,255,.14);outline:none}
.rnc-btn-tete svg{width:20px;height:20px;fill:currentColor}
.rnc-trico{display:flex;height:4px;flex:none}
.rnc-trico i{flex:1}.rnc-trico i:nth-child(1){background:var(--bleu,#0B2A5B)}.rnc-trico i:nth-child(2){background:#fff}.rnc-trico i:nth-child(3){background:var(--rouge,#E1000F)}

.rnc-fil{position:relative;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:18px 14px 8px;background:var(--ivoire,#F6F4EF);display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.rnc-msg{max-width:88%;font-size:.9rem;line-height:1.5;padding:11px 14px;border-radius:16px;word-wrap:break-word;animation:rnc-entree .25s ease}
.rnc-msg p{margin:0 0 .55em}.rnc-msg p:last-child{margin-bottom:0}
.rnc-msg ul{margin:.2em 0 .6em;padding-left:1.15em}.rnc-msg li{margin-bottom:.25em}
.rnc-msg li::marker{color:var(--rouge,#E1000F)}
.rnc-msg strong{color:var(--bleu,#0B2A5B)}
.rnc-msg em{color:var(--gris,#5C6675);font-style:normal;font-size:.84em}
.rnc-bot{align-self:flex-start;background:#fff;border-bottom-left-radius:4px;box-shadow:0 2px 8px rgba(11,42,91,.07)}
.rnc-moi{align-self:flex-end;background:var(--bleu,#0B2A5B);color:#fff;border-bottom-right-radius:4px}
.rnc-compl{padding-top:8px;border-top:1px solid #EEF1F6;margin-top:8px!important}
.rnc-ia{font-size:.72rem;color:var(--gris-2,#8A93A0);margin:8px 0 0!important;font-style:italic}
.rnc-note a{color:inherit;text-decoration:underline}
.rnc-voir{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gris-2,#8A93A0);margin:10px 0 0!important}

.rnc-liens{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rnc-lien{display:inline-flex;align-items:center;gap:5px;padding:7px 12px;border-radius:999px;background:var(--rouge,#E1000F);color:#fff!important;font-size:.8rem;font-weight:700;text-decoration:none!important;transition:background .2s}
.rnc-lien:hover{background:var(--rouge-2,#B00009)}
.rnc-lien:nth-child(n+2){background:#EEF3FA;color:var(--bleu,#0B2A5B)!important}
.rnc-lien:nth-child(n+2):hover{background:#DDE7F5}

.rnc-puces{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.rnc-puce{font:600 .8rem/1.3 var(--sans,Arial,sans-serif);color:var(--bleu,#0B2A5B);background:#fff;border:1.5px solid #C9D6EA;border-radius:999px;padding:7px 12px;cursor:pointer;text-align:left;transition:.2s}
.rnc-puce:hover,.rnc-puce:focus-visible{border-color:var(--bleu,#0B2A5B);background:#EEF3FA;outline:none}

.rnc-tape{display:flex;gap:5px;padding:14px 16px}
.rnc-tape span{width:7px;height:7px;border-radius:50%;background:var(--gris-2,#8A93A0);animation:rnc-saut 1s infinite}
.rnc-tape span:nth-child(2){animation-delay:.15s}.rnc-tape span:nth-child(3){animation-delay:.3s}

.rnc-saisie{display:flex;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #E4E8EF;flex:none}
.rnc-saisie input{flex:1;min-width:0;height:44px;padding:0 16px;border:1.5px solid #D6DEEA;border-radius:999px;font:16px var(--sans,Arial,sans-serif);color:#12253F;background:#FCFDFF;margin:0}
.rnc-saisie input:focus{outline:none;border-color:var(--bleu-clair,#1E5AA8);box-shadow:0 0 0 3px rgba(30,90,168,.15)}
.rnc-saisie button{width:44px;height:44px;flex:none;border:0;border-radius:50%;background:var(--rouge,#E1000F);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}
.rnc-saisie button:hover{background:var(--rouge-2,#B00009)}
.rnc-saisie button svg{width:20px;height:20px;fill:currentColor;margin-left:2px}
.rnc-note{margin:0;padding:0 12px 10px;background:#fff;text-align:center;font-size:.7rem;color:var(--gris-2,#8A93A0);flex:none}
.rnc-masque{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* correctif : la bulle de notification vide du site restait visible en bas de l'écran */
.alerte:empty{opacity:0;visibility:hidden;pointer-events:none}

@keyframes rnc-entree{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes rnc-saut{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}

@media (max-width:600px){
  .rnc-lanceur{right:14px;bottom:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:56px;height:56px}
  .rnc-invite{right:14px;bottom:84px;bottom:calc(84px + env(safe-area-inset-bottom))}
  .rnc-panneau{inset:0;width:auto;height:auto;border-radius:0;padding-bottom:env(safe-area-inset-bottom);transform:translateY(24px)}
  html.rnc-actif,html.rnc-actif body{overflow:hidden}
  html.rnc-actif .rnc-lanceur{display:none}
  .rnc-msg{max-width:92%}
}
@media (prefers-reduced-motion:reduce){
  .rnc-panneau,.rnc-invite,.rnc-lanceur,.rnc-msg{transition:none;animation:none}
  .rnc-tape span{animation:none}
}
@media print{.rnc-lanceur,.rnc-invite,.rnc-panneau{display:none!important}}
