/* LFDC Floating Buttons v1.1 — isolated from Mesmerize / WordPress theme */
#lfdc-fab-layer.lfdc-fab-layer{
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;
  height:100dvh!important;pointer-events:none!important;z-index:899950!important;
  display:block!important;padding:0!important;margin:0!important;border:0!important;
  background:transparent!important;transform:none!important;float:none!important;clear:none!important;
  overflow:visible!important;box-sizing:border-box!important;
}
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button,
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button:first-child{
  position:absolute!important;left:var(--fab-x)!important;top:var(--fab-y)!important;
  right:auto!important;bottom:auto!important;
  grid-column:auto!important;grid-row:auto!important;grid-area:auto!important;
  transform:translate(-50%,-50%)!important;float:none!important;clear:none!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:var(--fab-size)!important;height:var(--fab-size)!important;min-width:var(--fab-size)!important;
  min-height:var(--fab-size)!important;max-width:var(--fab-size)!important;max-height:var(--fab-size)!important;
  margin:0!important;padding:0!important;overflow:visible!important;
  border:0!important;border-radius:var(--fab-radius)!important;
  background:var(--fab-bg)!important;color:var(--fab-fg)!important;
  font:inherit!important;text-decoration:none!important;text-align:center!important;
  cursor:pointer!important;pointer-events:auto!important;opacity:1!important;visibility:visible!important;
  box-shadow:0 6px 22px rgba(16,24,40,.2)!important;
  isolation:isolate!important;box-sizing:border-box!important;touch-action:none!important;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;
  transition:box-shadow .18s ease,filter .18s ease!important;
}
#lfdc-fab-layer>.lfdc-fab-button:hover,
#lfdc-fab-layer>.lfdc-fab-button:focus-visible{box-shadow:0 9px 28px rgba(16,24,40,.33)!important;filter:brightness(1.05)!important;outline:2px solid currentColor!important;outline-offset:3px!important}
#lfdc-fab-layer>.lfdc-fab-button .lfdc-fab-disc{
  display:flex!important;align-items:center!important;justify-content:center!important;
  position:static!important;transform:none!important;float:none!important;clear:none!important;
  padding:0!important;margin:0!important;width:100%!important;height:100%!important;
  border:0!important;border-radius:inherit!important;background:transparent!important;color:inherit!important;
}
#lfdc-fab-layer>.lfdc-fab-button .lfdc-fab-disc .dashicons{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  font-size:calc(var(--fab-size) * .42)!important;line-height:1!important;
  width:1em!important;height:1em!important;color:inherit!important;vertical-align:middle!important;
}
#lfdc-fab-layer>.lfdc-fab-button .lfdc-fab-text{
  position:absolute!important;left:auto!important;right:calc(100% + 10px)!important;
  top:50%!important;bottom:auto!important;grid-column:auto!important;grid-area:auto!important;
  transform:translateY(-50%)!important;float:none!important;clear:none!important;
  min-width:0!important;max-width:min(220px,54vw)!important;width:max-content!important;
  height:auto!important;min-height:0!important;display:block!important;
  background:rgba(28,31,40,.96)!important;color:#fff!important;
  padding:9px 12px!important;margin:0!important;border:0!important;border-radius:9px!important;
  font-family:system-ui,-apple-system,Segoe UI,sans-serif!important;font-size:14px!important;
  font-weight:650!important;line-height:1.25!important;text-align:left!important;
  white-space:normal!important;box-shadow:0 3px 15px rgba(0,0,0,.18)!important;
  pointer-events:none!important;z-index:2!important;
}
#lfdc-fab-layer>.lfdc-fab-button[data-side="left"] .lfdc-fab-text{left:calc(100% + 10px)!important;right:auto!important}
#lfdc-fab-layer>.lfdc-fab-label-hover .lfdc-fab-text{opacity:0!important;visibility:hidden!important}
#lfdc-fab-layer>.lfdc-fab-label-hover:hover .lfdc-fab-text,
#lfdc-fab-layer>.lfdc-fab-label-hover:focus-visible .lfdc-fab-text{opacity:1!important;visibility:visible!important}
#lfdc-fab-layer>.lfdc-fab-label-never .lfdc-fab-text{display:none!important}
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button[data-desktop="0"]{display:none!important}
@media(max-width:700px){
  #lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button,#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button:first-child{left:var(--fab-mx)!important;top:var(--fab-my)!important}
  #lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button[data-desktop="0"]{display:flex!important}
  #lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button[data-mobile="0"]{display:none!important}
  #lfdc-fab-layer>.lfdc-fab-button .lfdc-fab-text{font-size:12px!important;max-width:min(165px,48vw)!important;padding:7px 9px!important}
}
#lfdc-fab-modal.lfdc-fab-modal{
  position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important;
  display:none!important;align-items:center!important;justify-content:center!important;
  padding:18px!important;margin:0!important;border:0!important;
  background:rgba(15,20,29,.72)!important;z-index:950500!important;
  transform:none!important;box-sizing:border-box!important;overflow:auto!important;
}
#lfdc-fab-modal.lfdc-fab-modal.is-open{display:flex!important}
#lfdc-fab-modal .lfdc-fab-dialog{
  display:flex!important;flex-direction:column!important;position:relative!important;
  width:min(700px,100%)!important;max-width:100%!important;max-height:calc(100dvh - 36px)!important;
  margin:auto!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;
  transform:none!important;float:none!important;clear:none!important;grid-area:auto!important;
  padding:0!important;overflow:hidden!important;border:1px solid #d9c6bc!important;
  border-radius:16px!important;background:#fffaf6!important;color:#261b24!important;
  box-shadow:0 24px 68px rgba(0,0,0,.35)!important;box-sizing:border-box!important;
}
#lfdc-fab-modal .lfdc-fab-dialog-bar{
  position:static!important;display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:12px!important;padding:14px 17px!important;margin:0!important;
  border:0!important;border-bottom:1px solid #ead6cb!important;background:#6f1024!important;
  color:#fff!important;transform:none!important;float:none!important;clear:none!important;
}
#lfdc-fab-modal .lfdc-fab-dialog-bar h2{color:#fff!important;font:700 21px/1.25 system-ui,sans-serif!important;text-align:left!important;margin:0!important;padding:0!important}
#lfdc-fab-modal .lfdc-fab-modal-close{
  flex:0 0 40px!important;display:flex!important;align-items:center!important;justify-content:center!important;
  width:40px!important;height:40px!important;margin:0!important;padding:0!important;
  border:1px solid rgba(255,255,255,.35)!important;border-radius:10px!important;background:rgba(255,255,255,.14)!important;
  color:white!important;font:32px/1 system-ui,sans-serif!important;cursor:pointer!important;
}
#lfdc-fab-modal .lfdc-fab-dialog-content{position:static!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;overflow:auto!important;flex:1 1 auto!important;padding:20px!important;margin:0!important;transform:none!important;color:#261b24!important;font-size:16px!important;line-height:1.5!important}
#lfdc-fab-modal .lfdc-fab-dialog-content>*:first-child{grid-column:auto!important;grid-row:auto!important;grid-area:auto!important;position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;transform:none!important;float:none!important;clear:none!important;margin-left:0!important;margin-right:0!important}
#lfdc-fab-modal .lfdc-fab-dialog-content img,#lfdc-fab-modal .lfdc-fab-dialog-content iframe{max-width:100%!important;height:auto!important}
body.lfdc-fab-modal-open{overflow:hidden!important}
#lfdc-fab-editbar{position:fixed!important;left:50%!important;bottom:16px!important;transform:translateX(-50%)!important;z-index:950000!important;background:#131820!important;color:#fff!important;padding:11px 17px!important;border-radius:14px!important;box-shadow:0 12px 34px #0006!important;display:flex!important;align-items:center!important;gap:12px!important;max-width:calc(100vw - 18px)!important;font:14px/1.3 system-ui,sans-serif!important}
#lfdc-fab-editbar a{background:#e7f7ee!important;color:#12452a!important;text-decoration:none!important;padding:8px 11px!important;border-radius:9px!important;font-weight:700!important}
body.lfdc-fab-placement #lfdc-fab-layer>.lfdc-fab-button{touch-action:none!important;outline:3px dashed rgba(11,85,180,.85)!important;outline-offset:3px!important;cursor:grab!important}
body.lfdc-fab-placement #lfdc-fab-layer>.lfdc-fab-button:active{cursor:grabbing!important}
@media(max-width:600px){#lfdc-fab-modal.lfdc-fab-modal{padding:9px!important}#lfdc-fab-modal .lfdc-fab-dialog{max-height:calc(100dvh - 18px)!important;border-radius:12px!important}#lfdc-fab-modal .lfdc-fab-dialog-content{padding:13px!important}#lfdc-fab-editbar{flex-wrap:wrap!important;justify-content:center!important;text-align:center!important;gap:6px!important}#lfdc-fab-editbar span{display:none!important}}
@media(prefers-reduced-motion:reduce){#lfdc-fab-layer>.lfdc-fab-button{transition:none!important}}

/* Drag is available to everyone; position always remains in viewport. */
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button.is-dragging{cursor:grabbing!important;filter:brightness(1.1)!important;box-shadow:0 14px 40px rgba(16,24,40,.4)!important;z-index:30!important}
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button.is-saving{opacity:.65!important}
/* LFDC 1.2 — images d'icône issues de la médiathèque */
#lfdc-fab-layer>.lfdc-fab-button .lfdc-fab-disc>.lfdc-fab-custom-icon{
  display:block!important;position:static!important;left:auto!important;top:auto!important;right:auto!important;bottom:auto!important;
  width:58%!important;height:58%!important;max-width:58%!important;max-height:58%!important;
  object-fit:contain!important;object-position:center!important;transform:none!important;
  margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;
  float:none!important;clear:none!important;pointer-events:none!important;background:transparent!important;
}

/* LFDC 1.3 : pastille rouge de reservations personnelles a venir.
   Le theme WordPress ne doit pas deplacer cet enfant du bouton flottant. */
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button>.lfdc-fab-res-count,
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button:first-child>.lfdc-fab-res-count{
  position:absolute!important;top:-7px!important;right:-8px!important;bottom:auto!important;left:auto!important;
  transform:none!important;float:none!important;clear:none!important;
  grid-area:auto!important;grid-column:auto!important;grid-row:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-width:22px!important;width:auto!important;height:22px!important;max-width:unset!important;
  margin:0!important;padding:0 5px!important;box-sizing:border-box!important;
  border:2px solid #fff!important;border-radius:999px!important;
  background:#d71920!important;color:#fff!important;
  font:800 12px/1 system-ui,-apple-system,Segoe UI,sans-serif!important;
  letter-spacing:0!important;white-space:nowrap!important;text-align:center!important;
  box-shadow:0 2px 9px rgba(0,0,0,.28)!important;
  pointer-events:none!important;z-index:4!important;
}
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button>.lfdc-fab-res-count[hidden],
#lfdc-fab-layer.lfdc-fab-layer>.lfdc-fab-button:first-child>.lfdc-fab-res-count[hidden]{display:none!important}
