.fr-mermaid-wrap{max-width:100%;}
.fr-mermaid-wrap .mermaid{cursor:zoom-in;}
.fr-mermaid-wrap .mermaid svg{max-width:100%;height:auto;display:block;}

/* Lightbox */
#fr-mermaid-lightbox{
  --fr-primary: var(--e-global-color-primary, #2563eb);
  --fr-accent:  var(--e-global-color-accent,  #1d4ed8);
  --fr-text:    var(--e-global-color-text,    #111827);
  --fr-bg:      #fff;
  --fr-border:  rgba(0,0,0,.10);
  position:fixed;inset:0;z-index:999999;display:none;
}
#fr-mermaid-lightbox.is-open{display:block;}

.fr-mermaid-lightbox__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);}

.fr-mermaid-lightbox__panel{
  position:absolute;inset:24px;
  background:var(--fr-bg);
  border-radius:14px;
  box-shadow:0 20px 80px rgba(0,0,0,.35);
  display:flex;flex-direction:column;overflow:hidden;
}

.fr-mermaid-lightbox__close{
  position:absolute;top:12px;right:12px;
  width:40px;height:40px;
  border-radius:999px;
  border:0;
  background:var(--fr-primary);
  color:#fff;
  cursor:pointer;
  display:grid;place-items:center;
  font-size:22px;line-height:1;
  z-index:2;
  transition:transform .12s ease, background .12s ease, opacity .12s ease;
}
.fr-mermaid-lightbox__close:hover{transform:scale(1.05);background:var(--fr-accent);}
.fr-mermaid-lightbox__close span{pointer-events:none;}

.fr-mermaid-lightbox__stage{flex:1;position:relative;background:#fff;overflow:hidden;}

.fr-mermaid-lightbox__svg{position:absolute;left:0;top:0;max-width:none;transform-origin:0 0;cursor:grab;}
.fr-mermaid-lightbox__svg:active{cursor:grabbing;}

.fr-mermaid-lightbox__toolbar{
  display:flex;justify-content:space-between;align-items:flex-end;gap:12px;
  padding:12px 14px;
  border-top:1px solid var(--fr-border);
  background:var(--fr-bg);
}

.fr-mermaid-lightbox__toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.fr-mermaid-lightbox__toolbar-right{display:flex;align-items:flex-end;gap:12px;}

/* Segmented */
.fr-mermaid-lightbox__seg{
  display:inline-flex;
  border:1px solid var(--fr-border);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.fr-mermaid-lightbox__segbtn{
  appearance:none;border:0;
  padding:10px 12px;
  background:transparent;
  color:var(--fr-text);
  font-weight:600;
  cursor:pointer;
  transition:background .12s ease, transform .12s ease, opacity .12s ease;
}
.fr-mermaid-lightbox__segbtn:hover{background:rgba(0,0,0,.04);}
.fr-mermaid-lightbox__segbtn.is-active{
  background:var(--fr-primary);
  color:#fff;
}

/* Action btn */
.fr-mermaid-lightbox__btn{
  appearance:none;
  border:0;
  background:var(--fr-primary);
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  font-weight:700;
  cursor:pointer;
  transition:transform .12s ease, background .12s ease, opacity .12s ease;
}
.fr-mermaid-lightbox__btn:hover{transform:scale(1.02);background:var(--fr-accent);}

.fr-mermaid-lightbox__zoom{
  font-weight:800;
  color:var(--fr-text);
  background:rgba(0,0,0,.04);
  border:1px solid var(--fr-border);
  border-radius:999px;
  padding:8px 10px;
  min-width:64px;
  text-align:center;
}

.fr-mermaid-lightbox__hint{
  font-size:12px;
  opacity:.72;
  text-align:right;
  line-height:1.25;
}

@media (max-width: 640px){
  .fr-mermaid-lightbox__panel{inset:12px;}
  .fr-mermaid-lightbox__toolbar{align-items:flex-start;flex-direction:column;}
  .fr-mermaid-lightbox__toolbar-right{width:100%;justify-content:space-between;}
}


/* Mermaid lightbox toolbar spacing */
.fr-mermaid-lightbox__toolbar-left,
.fr-mermaid-lightbox__toolbar .fr-mermaid-lightbox__seg{
  display:flex;
  align-items:center;
  gap:.5rem !important;
}

.fr-mermaid-lightbox__toolbar-left [data-fr-fit-width],
.fr-mermaid-lightbox__toolbar-left [data-fr-fit-height],
.fr-mermaid-lightbox__toolbar-left [data-fr-fit-cover]{
  margin-right: 0;
}

/* gros espace avant Recentrer */
.fr-mermaid-lightbox__toolbar-left [data-fr-fit]{
  margin-left: .75rem !important;
}