/* ============================================================
   Luciole — Chatbot d'urgence
   Tout est préfixé .lcb- : le thème GeneratePress style les
   boutons et les listes de façon large, on ne lui laisse pas
   la main sur l'intérieur du widget.
   ============================================================ */

.lcb-root{
  --lcb-paper:#FFFFFF;
  --lcb-cream:#FFF9E6;
  --lcb-lilac:#F4F1FF;
  --lcb-purple:#8A7FE8;
  --lcb-purple-soft:#B8B0FF;
  --lcb-purple-deep:#6B5FD0;
  --lcb-ink:#121212;
  --lcb-ink-soft:rgba(18,18,18,.66);
  --lcb-ink-faint:rgba(18,18,18,.44);
  --lcb-line:rgba(18,18,18,.09);
  --lcb-danger:#E5484D;
  --lcb-danger-wash:#FFF1F1;
  --lcb-ok:#2E9E6B;
  --lcb-shadow:0 18px 50px rgba(18,18,18,.22);
  font-family:'Assistant',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---------- bouton flottant ----------
   En bas à gauche : la barre d'appel occupe le bas de l'écran
   et le bouton cookies le coin droit. */
.lcb-fab{
  position:fixed;
  left:20px;
  bottom:90px;
  z-index:9996;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 18px 12px 14px;
  border:none;
  border-radius:999px;
  background:var(--lcb-purple-soft);
  color:var(--lcb-ink);
  font-family:'Raleway',sans-serif;
  font-weight:800;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.06em;
  cursor:pointer;
  box-shadow:var(--lcb-shadow);
  transition:transform .18s ease, background .18s ease;
}
.lcb-fab:hover{transform:translateY(-2px);background:#A99FFF}
.lcb-fab .lcb-fab-img{
  width:30px;height:30px;flex:none;
  border-radius:50%;object-fit:cover;
  margin:-3px 0 -3px -4px;
  box-shadow:0 0 0 2px rgba(255,255,255,.9);
}
.lcb-fab[hidden]{display:none}

.lcb-fab-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--lcb-ok);flex:none;
  box-shadow:0 0 0 3px rgba(46,158,107,.22);
}

/* ---------- panneau ---------- */
.lcb-panel{
  position:fixed;
  left:20px;
  bottom:90px;
  z-index:9997;
  width:376px;
  max-width:calc(100vw - 40px);
  /* Sur iOS, 100vh vaut la hauteur SANS la barre d'adresse : le
     panneau dépasse alors vers le haut et recouvre l'en-tête du
     site. dvh suit la hauteur réellement visible. */
  height:min(620px, calc(100vh - 150px));
  height:min(620px, calc(100dvh - 150px));
  display:flex;
  flex-direction:column;
  background:var(--lcb-cream);
  border-radius:20px;
  box-shadow:var(--lcb-shadow);
  overflow:hidden;
  animation:lcb-in .24s cubic-bezier(.2,.8,.3,1) both;
}
.lcb-panel[hidden]{display:none}
@keyframes lcb-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}

/* ---------- en-tête ---------- */
.lcb-head{
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 14px 14px 18px;
  background:var(--lcb-cream);
  border-bottom:1px solid var(--lcb-line);
}
/* Le portrait d'Elie et Solène. Un anneau clair le détache du
   fond crème sans l'enfermer dans un cadre. */
.lcb-head .lcb-mark{
  width:40px;height:40px;flex:none;
  border-radius:50%;object-fit:cover;
  background:var(--lcb-lilac);
  box-shadow:0 0 0 2px var(--lcb-paper), 0 2px 8px rgba(18,18,18,.14);
}
.lcb-head-who{flex:1;min-width:0}
.lcb-head-name{
  font-family:'Raleway',sans-serif;
  font-weight:800;font-size:13px;
  /* Des prénoms se lisent mieux en casse normale qu'en capitales
     espacées : on garde les capitales pour la marque, pas pour eux. */
  letter-spacing:.01em;
  color:var(--lcb-ink);line-height:1.25;
}
.lcb-head-state{
  display:flex;align-items:center;gap:5px;
  font-size:11.5px;color:var(--lcb-ink-faint);margin-top:2px;
}
.lcb-head-state .lcb-dot{
  width:6px;height:6px;border-radius:50%;flex:none;
  background:var(--lcb-ok);
}
.lcb-close{
  width:32px;height:32px;flex:none;
  border:none;background:transparent;border-radius:50%;
  color:var(--lcb-ink-faint);cursor:pointer;
  font-size:20px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s ease,color .15s ease;
}
.lcb-close:hover{background:rgba(18,18,18,.06);color:var(--lcb-ink)}

/* ---------- fil de conversation ---------- */
.lcb-thread{
  flex:1;
  overflow-y:auto;
  padding:16px 14px 8px;
  display:flex;
  flex-direction:column;
  gap:10px;
  scroll-behavior:smooth;
  overscroll-behavior:contain;
}
.lcb-thread::-webkit-scrollbar{width:5px}
.lcb-thread::-webkit-scrollbar-thumb{background:rgba(18,18,18,.16);border-radius:3px}

.lcb-msg{
  max-width:85%;
  padding:11px 14px;
  border-radius:16px;
  font-size:14.5px;
  line-height:1.5;
  animation:lcb-rise .22s ease both;
  word-wrap:break-word;
}
.lcb-msg--bot{
  background:var(--lcb-paper);
  color:var(--lcb-ink);
  border-bottom-left-radius:5px;
  align-self:flex-start;
  box-shadow:0 2px 10px rgba(18,18,18,.06);
}
.lcb-msg--me{
  background:var(--lcb-purple-soft);
  color:var(--lcb-ink);
  border-bottom-right-radius:5px;
  align-self:flex-end;
  font-weight:600;
}
.lcb-msg strong{font-weight:700}
.lcb-msg .lcb-sub{
  display:block;margin-top:5px;
  font-size:12.5px;color:var(--lcb-ink-faint);line-height:1.45;
}
@keyframes lcb-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.lcb-typing{
  display:flex;gap:4px;align-self:flex-start;
  background:var(--lcb-paper);
  padding:14px 16px;border-radius:16px;border-bottom-left-radius:5px;
  box-shadow:0 2px 10px rgba(18,18,18,.06);
}
.lcb-typing i{
  width:6px;height:6px;border-radius:50%;
  background:var(--lcb-ink-faint);
  animation:lcb-blink 1.15s infinite;
}
.lcb-typing i:nth-child(2){animation-delay:.18s}
.lcb-typing i:nth-child(3){animation-delay:.36s}
@keyframes lcb-blink{0%,60%,100%{opacity:.28}30%{opacity:1}}

/* ---------- carte tarif ---------- */
.lcb-quote{
  align-self:stretch;
  background:var(--lcb-paper);
  border:1px solid rgba(138,127,232,.26);
  border-radius:14px;
  padding:15px;
  box-shadow:0 4px 16px rgba(138,127,232,.1);
  animation:lcb-rise .22s ease both;
}
.lcb-quote-hd{
  font-family:'Raleway',sans-serif;
  font-weight:800;font-size:10px;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--lcb-purple-deep);margin-bottom:10px;
}
.lcb-row{
  display:flex;justify-content:space-between;align-items:baseline;
  gap:12px;padding:5px 0;font-size:13.5px;color:var(--lcb-ink-soft);
}
.lcb-tarifs-btn{
  display:block;width:100%;margin-top:12px;padding:10px 12px;
  background:var(--lcb-lilac);color:var(--lcb-purple-deep);
  border:1px solid rgba(138,127,232,.4);border-radius:10px;
  font:700 13px/1.2 inherit;font-family:inherit;cursor:pointer;
}
.lcb-tarifs-btn:hover{background:#EAE5FF}
.lcb-modal{
  position:absolute;inset:0;z-index:20;
  background:rgba(18,18,18,.38);
  display:flex;align-items:flex-end;justify-content:center;
  padding:12px;border-radius:inherit;
}
.lcb-modal-box{
  background:var(--lcb-paper);border-radius:14px;width:100%;
  max-height:100%;display:flex;flex-direction:column;
  box-shadow:var(--lcb-shadow);
}
.lcb-modal-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px 8px;font-size:15px;color:var(--lcb-ink);
  border-bottom:1px solid var(--lcb-line);
}
.lcb-modal-close{
  width:32px;height:32px;border-radius:50%;border:0;cursor:pointer;
  background:var(--lcb-danger);color:#fff;font-size:20px;line-height:1;
}
.lcb-modal-body{overflow-y:auto;padding:0 14px 14px}
/* Le thème du site encadre toutes les tables et repeint les boutons :
   on reprend la main à l'intérieur de la fenêtre. */
.lcb-modal table.lcb-grille,
.lcb-modal .lcb-grille th,
.lcb-modal .lcb-grille td{border-left:0 !important;border-right:0 !important;background:none !important}
.lcb-modal table.lcb-grille{border:0 !important;margin:6px 0 0 !important}
.lcb-modal .lcb-grille th,
.lcb-modal .lcb-grille td{border-top:1px solid var(--lcb-line) !important;border-bottom:0 !important;padding:5px 0 !important}
.lcb-modal .lcb-grille th{padding-right:8px !important}
.lcb-modal button.lcb-modal-close{
  background:var(--lcb-danger) !important;color:#fff !important;
  width:32px;height:32px;padding:0 !important;border:0 !important;border-radius:50% !important;
  display:flex;align-items:center;justify-content:center;font-size:20px !important;line-height:1 !important;
}
.lcb-grille{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:6px}
.lcb-grille caption{
  text-align:left;font-weight:800;font-size:12.5px;color:var(--lcb-ink);
  padding:12px 0 4px;
}
.lcb-grille th{text-align:left;font-weight:400;color:var(--lcb-ink-soft);padding:4px 8px 4px 0;border-top:1px solid var(--lcb-line)}
.lcb-grille td{text-align:right;font-weight:700;color:var(--lcb-ink);white-space:nowrap;padding:4px 0;border-top:1px solid var(--lcb-line);font-variant-numeric:tabular-nums}
.lcb-row-sub{display:block;font-size:11.5px;color:var(--lcb-ink-soft);opacity:.8;margin-top:1px}
.lcb-row b{font-weight:700;color:var(--lcb-ink);font-variant-numeric:tabular-nums}
.lcb-row--total{
  border-top:1px dashed rgba(18,18,18,.16);
  margin-top:7px;padding-top:10px;
}
.lcb-row--total b{font-family:'Raleway',sans-serif;font-weight:800;font-size:19px}
.lcb-legal{
  margin:11px 0 0;font-size:11px;line-height:1.45;
  color:var(--lcb-ink-faint);
  border-top:1px solid var(--lcb-line);padding-top:9px;
}

/* ---------- alerte danger ---------- */
.lcb-alert{
  align-self:stretch;
  background:var(--lcb-danger-wash);
  border:1px solid rgba(229,72,77,.32);
  border-left:4px solid var(--lcb-danger);
  border-radius:14px;padding:14px 15px;
  animation:lcb-rise .22s ease both;
}
.lcb-alert-hd{
  font-family:'Raleway',sans-serif;
  font-weight:800;font-size:11px;
  text-transform:uppercase;letter-spacing:.1em;
  color:var(--lcb-danger);margin-bottom:7px;
}
.lcb-alert p{margin:0;font-size:13.5px;color:var(--lcb-ink);line-height:1.5}
.lcb-alert-num{
  display:block;text-align:center;
  font-family:'Raleway',sans-serif;font-weight:800;font-size:30px;
  color:var(--lcb-danger);letter-spacing:.02em;margin:12px 0 2px;
  text-decoration:none;
}
.lcb-alert-num small{
  display:block;font-family:'Assistant',sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--lcb-ink-faint);
}

/* ---------- réponses proposées ---------- */
.lcb-opts{
  padding:10px 14px 16px;
  display:flex;flex-direction:column;gap:7px;
  background:var(--lcb-cream);
  border-top:1px solid var(--lcb-line);
  max-height:56%;
  overflow-y:auto;
}
.lcb-opts::-webkit-scrollbar{width:5px}
.lcb-opts::-webkit-scrollbar-thumb{background:rgba(18,18,18,.16);border-radius:3px}

.lcb-root .lcb-opt{
  display:block;width:100%;
  font-family:'Assistant',sans-serif;
  font-size:13.5px;font-weight:600;
  text-align:left;line-height:1.4;
  padding:11px 14px;
  border-radius:12px;
  cursor:pointer;
  color:var(--lcb-ink);
  background:var(--lcb-paper);
  border:1.5px solid rgba(138,127,232,.3);
  text-transform:none;letter-spacing:0;
  transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
.lcb-root .lcb-opt:hover{
  background:var(--lcb-lilac);
  border-color:var(--lcb-purple);
  transform:translateX(2px);
  color:var(--lcb-ink);
}
.lcb-root .lcb-opt--primary{
  background:var(--lcb-purple-soft);
  border-color:var(--lcb-purple-soft);
  text-align:center;
}
.lcb-root .lcb-opt--primary:hover{
  background:var(--lcb-purple);color:var(--lcb-paper);transform:none;
}
.lcb-root .lcb-opt--ghost{
  background:transparent;
  border-color:rgba(18,18,18,.16);
  color:var(--lcb-ink-faint);
  text-align:center;font-weight:500;
}
.lcb-root .lcb-opt--ghost:hover{
  background:rgba(18,18,18,.04);
  border-color:rgba(18,18,18,.28);
  color:var(--lcb-ink-soft);transform:none;
}
.lcb-opt .lcb-k{
  display:block;font-size:11.5px;font-weight:500;
  color:var(--lcb-ink-faint);margin-top:2px;
}
.lcb-root .lcb-opt:focus-visible,
.lcb-root .lcb-fab:focus-visible,
.lcb-root .lcb-close:focus-visible,
.lcb-root .lcb-field input:focus-visible,
.lcb-root .lcb-field select:focus-visible{
  outline:2px solid var(--lcb-purple);
  outline-offset:2px;
}

/* ---------- champs ---------- */
.lcb-field{display:flex;flex-direction:column;gap:7px}
.lcb-root .lcb-field input,
.lcb-root .lcb-field select{
  font-family:'Assistant',sans-serif;
  /* 16px minimum : en dessous, iOS zoome au focus et ne revient
     jamais en arrière. Le visiteur reste coincé dans une page
     agrandie qu'il doit repincer à la main. */
  font-size:16px;
  padding:11px 13px;
  border-radius:12px;
  border:1.5px solid rgba(18,18,18,.14);
  background:var(--lcb-paper);
  color:var(--lcb-ink);
  width:100%;
  max-width:100%;
  margin:0;
  box-shadow:none;
}
.lcb-root .lcb-field input:focus,
.lcb-root .lcb-field select:focus{
  outline:none;border-color:var(--lcb-purple);
}
.lcb-root .lcb-field input[aria-invalid="true"]{border-color:var(--lcb-danger)}
.lcb-err{
  font-size:12px;color:var(--lcb-danger);margin:-2px 0 0;
}
.lcb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- sans la barre d'appel ----------
   Le décalage de 90px sert à passer au-dessus de la barre
   collante. Quand elle n'est pas là, il laisse un vide. */
body.luciole-chat-sans-barre .lcb-fab,
body.luciole-chat-sans-barre .lcb-panel{bottom:20px}
body.luciole-chat-sans-barre .lcb-panel{height:min(620px, calc(100vh - 60px))}
/* Le bandeau cookies était lui aussi remonté pour éviter la barre. */
body.luciole-chat-sans-barre .luciole-cookie-banner,
body.luciole-chat-sans-barre .luciole-cookie-trigger{bottom:20px}
@media (max-width:600px){
  body.luciole-chat-sans-barre .lcb-fab{bottom:14px}
  body.luciole-chat-sans-barre .lcb-panel{bottom:14px;height:min(560px, calc(100vh - 50px))}
  body.luciole-chat-sans-barre .luciole-cookie-banner,
  body.luciole-chat-sans-barre .luciole-cookie-trigger{bottom:14px}
}

/* ---------- compte à rebours ---------- */
.lcb-timer{
  align-self:stretch;
  background:var(--lcb-paper);
  border:1px solid rgba(138,127,232,.26);
  border-radius:14px;
  padding:15px 16px;
  box-shadow:0 4px 16px rgba(138,127,232,.1);
  animation:lcb-rise .22s ease both;
}
.lcb-timer-l{
  display:block;font-size:10.5px;text-transform:uppercase;
  letter-spacing:.12em;color:var(--lcb-ink-faint);margin-bottom:3px;
}
.lcb-timer-v{
  display:block;font-family:'Raleway',sans-serif;font-weight:800;
  font-size:32px;line-height:1.1;color:var(--lcb-ink);
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
}
.lcb-timer-b{
  display:block;height:4px;border-radius:2px;
  background:rgba(18,18,18,.10);margin-top:11px;overflow:hidden;
}
.lcb-timer-b i{
  display:block;height:100%;width:100%;border-radius:2px;
  background:var(--lcb-purple);transition:width 1s linear;
}
.lcb-timer--fini .lcb-timer-v{color:var(--lcb-danger);font-size:20px}
.lcb-timer--fini .lcb-timer-b i{background:var(--lcb-danger)}
@media (prefers-reduced-motion:reduce){ .lcb-timer-b i{transition:none} }

/* ---------- attente de signature ---------- */
.lcb-wait{
  align-self:stretch;
  background:var(--lcb-lilac);
  border:1px dashed rgba(138,127,232,.45);
  border-radius:14px;
  padding:14px 16px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  animation:lcb-rise .22s ease both;
}
.lcb-wait-l{
  font-size:12.5px;font-weight:600;color:var(--lcb-purple-deep);
  text-transform:uppercase;letter-spacing:.06em;
}
.lcb-wait-d{display:flex;gap:4px;flex:none}
.lcb-wait-d i{
  width:6px;height:6px;border-radius:50%;
  background:var(--lcb-purple);animation:lcb-blink 1.4s infinite;
}
.lcb-wait-d i:nth-child(2){animation-delay:.2s}
.lcb-wait-d i:nth-child(3){animation-delay:.4s}
@media (prefers-reduced-motion:reduce){ .lcb-wait-d i{animation:none;opacity:.55} }

/* ---------- rappel permanent ----------
   Le cas "quelqu'un est enfermé" ne doit pas être une question
   de plus : il reste sous les yeux pendant toute la conversation. */
.lcb-warn{
  padding:10px 16px;
  background:var(--lcb-danger-wash);
  border-top:1px solid rgba(229,72,77,.22);
  font-size:11.5px;
  line-height:1.45;
  color:var(--lcb-ink-soft);
}
.lcb-warn strong{color:var(--lcb-ink);font-weight:700}
.lcb-warn a{
  color:var(--lcb-danger);
  font-weight:700;
  text-decoration:underline;
  white-space:nowrap;
}

/* ---------- mobile ---------- */
@media (max-width:600px){
  /* Plus de barre d'appel sur mobile (retirée le 14/09) : la bulle et le
     panneau redescendent en bas de l'écran. */
  .lcb-fab{left:12px;bottom:calc(14px + env(safe-area-inset-bottom, 0px));padding:11px 16px 11px 13px;font-size:12px}
  .lcb-panel{
    left:10px;right:10px;
    bottom:calc(14px + env(safe-area-inset-bottom, 0px));
    width:auto;max-width:none;
    /* On laisse respirer l'en-tête du site au-dessus du panneau. */
    height:min(560px, calc(100vh - 122px));
    height:min(560px, calc(100dvh - 122px));
  }
}

@media (prefers-reduced-motion:reduce){
  .lcb-panel,.lcb-msg,.lcb-quote,.lcb-alert{animation:none}
  .lcb-typing i{animation:none;opacity:.5}
  .lcb-thread{scroll-behavior:auto}
  .lcb-fab:hover,.lcb-root .lcb-opt:hover{transform:none}
}


/* ---------- fiche plein panneau ----------
   Le formulaire de coordonnées s'ouvre sur son propre écran : la
   conversation reste lisible, et le clavier n'écrase plus la
   question posée. */
.lcb-panel{position:fixed}
.lcb-sheet{
  position:absolute;inset:0;z-index:6;
  display:flex;flex-direction:column;
  background:var(--lcb-cream);
  animation:lcb-rise .2s ease both;
}
.lcb-sheet-hd{
  display:flex;align-items:center;gap:10px;
  padding:14px 16px;
  border-bottom:1px solid var(--lcb-line);
  background:var(--lcb-cream);
}
.lcb-sheet-back{font-size:18px}
.lcb-sheet-who{flex:1;min-width:0}
.lcb-sheet-t{font-weight:700;font-size:15px;color:var(--lcb-ink);line-height:1.25}
.lcb-sheet-s{font-size:12.5px;color:var(--lcb-ink-faint);margin-top:1px}
.lcb-sheet-bd{flex:1;overflow-y:auto;padding:16px 16px 20px}
@media (prefers-reduced-motion:reduce){ .lcb-sheet{animation:none} }

/* ---------- avertissement dans une carte de tarif ou de devis ----------
   Réservé à ce que le client doit lire avant de s'engager : une
   ouverture destructive et un second devis probable. */
.lcb-root .lcb-avert{
  margin:12px 0 0;padding:10px 12px;
  background:#FFF4E0;border-left:3px solid #C98A1E;border-radius:8px;
  font-size:12.5px;line-height:1.45;color:var(--lcb-ink);
}

/* ---------- pastille de notification sur la bulle ---------- */
.lcb-fab{position:fixed}
.lcb-fab-badge{
  position:absolute;top:-6px;right:-6px;
  min-width:20px;height:20px;padding:0 5px;
  border-radius:999px;
  background:#E5484D;color:#fff;
  font-family:'Assistant',system-ui,sans-serif;
  font-size:12px;font-weight:700;line-height:20px;
  letter-spacing:0;text-transform:none;text-align:center;
  box-shadow:0 0 0 2px #fff;
  animation:lcb-badge-pop .45s cubic-bezier(.2,.8,.3,1.4) .9s both;
}
@keyframes lcb-badge-pop{from{transform:scale(0)}to{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){ .lcb-fab-badge{animation:none} }

/* ---------- libellé de la bulle ----------
   « Réservez votre ouverture de porte » est plus long que l'ancien
   libellé : sur téléphone il passe sur deux lignes plutôt que de
   déborder sur le bouton des cookies, à droite. */
.lcb-fab-txt{display:block;text-align:left;line-height:1.25}
@media (max-width:600px){
  .lcb-fab{max-width:calc(100vw - 84px)}
  .lcb-fab-txt{white-space:normal}
}

/* ---------- croix de fermeture bien visible ----------
   Demande de Solène (14/09) : sur téléphone, un panneau ouvert pouvait
   donner l'impression que le site se résumait au chat. La croix rouge
   dit tout de suite qu'on peut le refermer. */
.lcb-root .lcb-close{
  background:#E5484D;color:#fff;
  width:34px;height:34px;font-size:22px;
  box-shadow:0 2px 8px rgba(229,72,77,.35);
}
.lcb-root .lcb-close:hover{background:#C93B40;color:#fff}
.lcb-root .lcb-close:focus-visible{outline:2px solid #C93B40;outline-offset:2px}

/* ---------- bulle rouge une fois le chat refermé ---------- */
.lcb-root .lcb-fab.lcb-fab--rouge{background:#E5484D;color:#fff}
.lcb-root .lcb-fab.lcb-fab--rouge:hover{background:#C93B40}
.lcb-root .lcb-fab.lcb-fab--rouge .lcb-fab-dot{background:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.3)}

/* ---------- revenir en arrière ----------
   Discret : c'est un recours en cas d'erreur, pas une réponse. */
.lcb-root .lcb-opt.lcb-opt--retour{
  align-self:flex-start;width:auto;
  background:transparent;border:none;box-shadow:none;
  padding:6px 2px;margin-top:2px;
  font-size:13px;font-weight:600;color:var(--lcb-ink-soft);
  text-align:left;text-decoration:underline;text-underline-offset:3px;
}
.lcb-root .lcb-opt.lcb-opt--retour:hover{color:var(--lcb-ink);background:transparent;transform:none}


/* Mobile : bulle sur une seule ligne (retour Solène 15/09), sans la
   capitalisation que le thème impose aux boutons. */
@media (max-width:600px){
  .lcb-root .lcb-fab{
    max-width:calc(100vw - 24px);padding:7px 14px 7px 7px !important;gap:8px;
    text-transform:none !important;letter-spacing:0 !important;
  }
  .lcb-root .lcb-fab .lcb-fab-img{width:28px;height:28px}
  .lcb-root .lcb-fab .lcb-fab-dot{display:none}
  .lcb-root .lcb-fab .lcb-fab-txt{
    white-space:nowrap !important;font-size:13px !important;line-height:1.2;
    text-transform:none !important;letter-spacing:0 !important;
    overflow:hidden;text-overflow:ellipsis;
  }
}

/* Toutes tailles : le thème met les boutons en capitales, la bulle
   garde la casse de son texte (16/09). */
.lcb-root .lcb-fab,
.lcb-root .lcb-fab .lcb-fab-txt{text-transform:none !important;letter-spacing:0 !important}

/* Bouton « Annuler » fixé dans la carte d'attente de signature (16/09). */
.lcb-root .lcb-wait-annuler{
  margin-left:10px;padding:4px 10px !important;flex:none;
  background:transparent !important;color:var(--lcb-danger) !important;
  border:1px solid rgba(229,72,77,.45) !important;border-radius:999px !important;
  font:600 12px/1.2 inherit;font-family:inherit;cursor:pointer;
  text-transform:none !important;letter-spacing:0 !important;
}
.lcb-root .lcb-wait-annuler:hover{background:var(--lcb-danger-wash) !important}

/* « Revenir en arrière » et « Tout recommencer » sur une même ligne (16/09). */
.lcb-root .lcb-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.lcb-root .lcb-nav .lcb-opt--retour{width:auto}
