/* LFDC 1.3.35 : accès compte compact, exclusivement à gauche du hamburger Mesmerize.
   Règles isolées du thème WordPress. Les enfants directs sont neutralisés. */
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  flex:none!important;
  position:absolute!important;
  top:50%!important;
  right:calc((100% - 100vw)/2 + 86px)!important;
  left:auto!important;
  bottom:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transform:translateY(-50%)!important;
  float:none!important;
  clear:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
  width:max-content!important;
  max-width:min(270px,calc(100vw - 170px))!important;
  height:auto!important;
  overflow:visible!important;
  z-index:36!important;
  box-sizing:border-box!important;
}
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions > :is(a,details) {
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
  position:relative!important;
  top:auto!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  transform:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
  flex:0 0 auto!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions :is(.lfdc-account-link,.lfdc-account-avatar-button) {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-width:37px!important;
  min-height:37px!important;
  padding:7px 9px!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.36)!important;
  border-radius:999px!important;
  color:var(--lfdc-menu-text,#ffffff)!important;
  background:rgba(0,0,0,.18)!important;
  box-shadow:none!important;
  font:600 13px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  text-decoration:none!important;
  text-transform:none!important;
  letter-spacing:0!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
  transition:background-color .15s ease!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions :is(.lfdc-account-link,.lfdc-account-avatar-button):hover,
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions :is(.lfdc-account-link,.lfdc-account-avatar-button):focus-visible {
  background:rgba(0,0,0,.34)!important;
  outline-offset:2px!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions svg {
  display:block!important;
  width:19px!important;
  height:19px!important;
  flex:none!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-avatar-button {
  width:42px!important;
  height:42px!important;
  padding:2px!important;
  list-style:none!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-avatar-button::-webkit-details-marker {display:none!important}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-avatar-button::marker {content:""!important}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-avatar-button img {
  width:36px!important;height:36px!important;max-width:36px!important;
  object-fit:cover!important;border-radius:50%!important;
  margin:0!important;padding:0!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-dropdown-panel {
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
  position:absolute!important;
  top:calc(100% + 10px)!important;
  right:0!important;
  left:auto!important;
  bottom:auto!important;
  width:190px!important;
  max-width:calc(100vw - 20px)!important;
  padding:10px!important;
  margin:0!important;
  color:#263341!important;
  background:#fff!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:12px!important;
  box-shadow:0 12px 34px rgba(0,0,0,.22)!important;
  z-index:1002!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-dropdown-panel .lfdc-account-name {
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font:600 13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  padding:3px 6px 8px!important;
  color:#263341!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-dropdown-panel .lfdc-account-link {
  min-height:38px!important;
  justify-content:flex-start!important;
  color:#263341!important;
  background:transparent!important;
  border:0!important;
  border-radius:8px!important;
  padding:8px!important;
  font-size:13px!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-dropdown-panel .lfdc-account-link:hover {background:#edf2f7!important}
@media(max-width:767px) {
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {
    right:calc((100% - 100vw)/2 + 78px)!important;
    gap:5px!important;
  }
}
/* 1.3.39 : sur téléphone, les libellés explicites remplacent les pictogrammes
   ambigus. Les visiteurs gardent les deux actions sur la même ligne ; l'avatar
   des membres connectés n'est pas modifié. */
@media (max-width:520px) {
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {
    gap:4px!important;
    max-width:calc(100vw - 158px)!important;
  }
  html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions > a:is(.lfdc-account-link--login,.lfdc-account-link--register) {
    display:inline-flex!important;
    width:auto!important;
    height:40px!important;
    min-width:0!important;
    min-height:40px!important;
    padding:0 8px!important;
    gap:0!important;
    border-radius:12px!important;
    font:600 12px/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    white-space:nowrap!important;
    text-decoration:none!important;
    text-transform:none!important;
    letter-spacing:0!important;
  }
  html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions > a:is(.lfdc-account-link--login,.lfdc-account-link--register) svg {
    display:none!important;
  }
  html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions > a:is(.lfdc-account-link--login,.lfdc-account-link--register) .lfdc-account-label {
    display:inline!important;
    visibility:visible!important;
    opacity:1!important;
    color:inherit!important;
    font:inherit!important;
    white-space:nowrap!important;
  }
  html body.lfdc-nav-aligned .navigation-bar .lfdc-account-dropdown-panel .lfdc-account-label {display:inline!important}
}
@media (max-width:350px) {
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {gap:3px!important}
  html body.lfdc-nav-aligned .navigation-bar .lfdc-account-actions > a:is(.lfdc-account-link--login,.lfdc-account-link--register) {
    height:38px!important;
    min-height:38px!important;
    padding:0 6px!important;
    font-size:11px!important;
  }
}

/* 1.3.36 : barre stabilisée indépendamment de LFDC. La navigation-wrapper
 * est l'unique repère géométrique du logo, des raccourcis et du hamburger. */
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper,
html body.lfdc-nav-aligned .navigation-bar.fixto-fixed .navigation-wrapper {
  position:relative!important;
  overflow:visible!important;
  min-height:76px!important;
  box-sizing:border-box!important;
}
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .main_menu_col,
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .row > .main_menu_col {
  position:static!important;
  transform:none!important;
  float:none!important;
  clear:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
  margin-left:0!important;
  margin-right:0!important;
}
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .logo_col,
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .row > .logo_col {
  position:absolute!important;
  left:calc(50% - 50vw + 10px)!important;
  right:auto!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  float:none!important;
  clear:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  z-index:34!important;
  max-width:calc(100vw - 160px)!important;
}
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper a[data-component="offcanvas"][data-target="#offcanvas-wrapper"] {
  position:absolute!important;
  left:auto!important;
  right:calc((100% - 100vw)/2 + 10px)!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  z-index:35!important;
}
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {
  position:absolute!important;
  left:auto!important;
  right:calc((100% - 100vw)/2 + 86px)!important;
  top:50%!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  z-index:36!important;
}
@supports (width:100dvw) {
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .logo_col,
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .row > .logo_col {
    left:calc(50% - 50dvw + 10px)!important;
    max-width:calc(100dvw - 160px)!important;
  }
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper a[data-component="offcanvas"][data-target="#offcanvas-wrapper"] {
    right:calc((100% - 100dvw)/2 + 10px)!important;
  }
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {
    right:calc((100% - 100dvw)/2 + 86px)!important;
  }
}
@media (max-width:767px) {
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper a[data-component="offcanvas"][data-target="#offcanvas-wrapper"] {
    right:calc((100% - 100vw)/2 + 8px)!important;
  }
  html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {
    right:calc((100% - 100vw)/2 + 78px)!important;
  }
  @supports (width:100dvw) {
    html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper a[data-component="offcanvas"][data-target="#offcanvas-wrapper"] {
      right:calc((100% - 100dvw)/2 + 8px)!important;
    }
    html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions {
      right:calc((100% - 100dvw)/2 + 78px)!important;
    }
  }
}
/* La colonne du compte ne s'affiche que si les raccourcis sont activés. */
html body.lfdc-nav-aligned:not(.lfdc-nav-account-enabled) .navigation-wrapper > .lfdc-account-actions {
  display:none!important;
}

/* 1.3.37 — Fenêtre de compte indépendante du bandeau et des templates.
   Le panneau est ajouté directement à body : aucune couleur/opacité du menu
   supérieur ne peut dégrader sa lisibilité. */
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-avatar-button {
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 42px!important;
  width:42px!important;
  height:42px!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-radius:50%!important;
  background:rgba(0,0,0,.18)!important;
  padding:2px!important;
  margin:0!important;
  cursor:pointer!important;
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
html body.lfdc-nav-aligned .navigation-bar .lfdc-account-avatar-button:focus-visible {
  outline:3px solid #e7be77!important;
  outline-offset:3px!important;
}
html body > #lfdc-account-popover {
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:3px!important;
  position:fixed!important;
  top:0;
  left:0;
  right:auto!important;
  bottom:auto!important;
  z-index:2147483000!important;
  width:236px!important;
  max-width:calc(100vw - 24px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 24px)!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
  padding:10px!important;
  margin:0!important;
  background-color:#fff!important;
  background-image:none!important;
  color:#263341!important;
  border:1px solid #d3d9df!important;
  border-radius:14px!important;
  outline:none!important;
  box-shadow:0 12px 30px rgba(0,0,0,.3)!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
  float:none!important;
  clear:none!important;
  text-align:left!important;
  text-shadow:none!important;
  font:normal 14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  isolation:isolate!important;
  pointer-events:auto!important;
}
html body > #lfdc-account-popover[hidden] {display:none!important}
html body > #lfdc-account-popover > * {
  position:static!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  float:none!important;
  clear:none!important;
  grid-column:auto!important;
  grid-row:auto!important;
  grid-area:auto!important;
  margin-left:0!important;
  margin-right:0!important;
  text-indent:0!important;
  opacity:1!important;
  visibility:visible!important;
  box-sizing:border-box!important;
}
html body > #lfdc-account-popover .lfdc-account-popover-name {
  display:block!important;
  padding:7px 9px 10px!important;
  margin:0 0 4px!important;
  color:#25313f!important;
  border-bottom:1px solid #e4e8eb!important;
  font:700 15px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  overflow-wrap:anywhere!important;
  max-width:100%!important;
}
html body > #lfdc-account-popover a.lfdc-account-popover-link {
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex:0 0 auto!important;
  min-height:43px!important;
  width:100%!important;
  padding:9px 10px!important;
  background:#fff!important;
  background-image:none!important;
  border:0!important;
  border-radius:9px!important;
  color:#25313f!important;
  text-decoration:none!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  font:600 14px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif!important;
  white-space:normal!important;
  overflow:visible!important;
  opacity:1!important;
  visibility:visible!important;
}
html body > #lfdc-account-popover a.lfdc-account-popover-link:hover,
html body > #lfdc-account-popover a.lfdc-account-popover-link:focus-visible {
  background:#eaf1f7!important;
  color:#182c3e!important;
  outline:2px solid transparent!important;
}
html body > #lfdc-account-popover a.lfdc-account-popover-link .lfdc-account-label {
  display:inline!important;
  opacity:1!important;
  visibility:visible!important;
  font:inherit!important;
  color:inherit!important;
  text-decoration:none!important;
  line-height:1.35!important;
  white-space:normal!important;
  text-indent:0!important;
}
html body > #lfdc-account-popover a.lfdc-account-popover-link svg {
  display:block!important;
  width:19px!important;
  height:19px!important;
  flex:0 0 19px!important;
  color:inherit!important;
  opacity:1!important;
  visibility:visible!important;
}


/* 1.3.40 — les visiteurs ont des liens texte, jamais des pictogrammes.
 * Le texte est également renforcé directement dans le DOM contre l'ancien CSS.
 */
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions > a.lfdc-account-link--text {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:max-content!important;
  min-width:0!important;
  height:40px!important;
  padding:0 7px!important;
  gap:0!important;
  border-radius:12px!important;
  font:700 clamp(11px,3.2vw,13px)/1.2 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  white-space:nowrap!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions > a.lfdc-account-link--text > .lfdc-account-label {
  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;
  color:inherit!important;
  font:inherit!important;
  white-space:nowrap!important;
  text-indent:0!important;
}
html body.lfdc-nav-aligned .navigation-bar .navigation-wrapper > .lfdc-account-actions > a.lfdc-account-link--text > svg {
  display:none!important;
}


/* LFDC 1.3.43 — fenêtre personnelle de réservations, indépendante du thème. */
html body > #lfdc-nav-reservations-overlay {
  display:flex!important; align-items:center!important; justify-content:center!important;
  position:fixed!important; inset:0!important; width:100%!important; height:100dvh!important;
  padding:14px!important; margin:0!important; box-sizing:border-box!important;
  z-index:2147483600!important; overflow-y:auto!important;
  background:rgba(17,24,39,.64)!important; opacity:1!important; visibility:visible!important;
  transform:none!important; float:none!important; clear:none!important;
}
html body > #lfdc-nav-reservations-overlay[hidden] {display:none!important}
html body > #lfdc-nav-reservations-overlay > .lfdc-nav-reservations-dialog {
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  position:relative!important; top:auto!important; right:auto!important; bottom:auto!important; left:auto!important;
  transform:none!important; float:none!important; clear:none!important; margin:auto!important;
  width:min(540px,100%)!important; max-width:100%!important;
  max-height:calc(100dvh - 28px)!important; min-width:0!important;
  overflow:hidden!important; padding:0!important; box-sizing:border-box!important;
  color:#25313f!important; background:#fff!important; background-image:none!important;
  border:1px solid #d3d9df!important; border-radius:16px!important;
  box-shadow:0 24px 55px rgba(0,0,0,.3)!important;
  font:normal 15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-dialog > * {
  flex-shrink:0!important; position:static!important; inset:auto!important; transform:none!important;
  float:none!important; clear:none!important; grid-column:auto!important; grid-row:auto!important;
  grid-area:auto!important; margin-left:0!important; margin-right:0!important; box-sizing:border-box!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-header {
  display:flex!important; flex-direction:row!important; align-items:center!important;
  justify-content:space-between!important; gap:12px!important;
  background:#f8fafc!important; border-bottom:1px solid #e2e8f0!important; padding:14px 18px!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-header > * {
  position:static!important; left:auto!important; top:auto!important; transform:none!important; float:none!important;
  margin:0!important; min-width:0!important;
}
html body > #lfdc-nav-reservations-overlay #lfdc-nav-reservations-title {
  color:#243447!important; font:700 19px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-close {
  display:flex!important; flex:0 0 38px!important; align-items:center!important; justify-content:center!important;
  width:38px!important; height:38px!important; background:#e8edf2!important; color:#25313f!important;
  border:0!important; border-radius:10px!important; padding:0!important; cursor:pointer!important;
  font:400 27px/1 system-ui!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-body {
  display:block!important; flex:1 1 auto!important; min-height:0!important; max-height:calc(100dvh - 105px)!important;
  overflow:auto!important; padding:16px!important; margin:0!important;
  color:#243447!important; background:#fff!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-tabs {
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important; margin:0 0 14px!important; padding:0!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-tabs > * {
  position:static!important; top:auto!important; left:auto!important; transform:none!important;
  float:none!important; clear:none!important; grid-area:auto!important; margin:0!important; min-width:0!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-tabs > :nth-child(1) {grid-column:1!important;grid-row:1!important}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-tabs > :nth-child(2) {grid-column:2!important;grid-row:1!important}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-tab {
  display:flex!important; align-items:center!important; justify-content:center!important; min-height:42px!important;
  width:100%!important; padding:8px!important; border:1px solid #cbd5e1!important;
  border-radius:10px!important; background:#f1f5f9!important; color:#31445b!important;
  cursor:pointer!important; font:700 14px/1.3 system-ui!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-tab.is-active {
  background:#25445d!important; color:#fff!important; border-color:#25445d!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-list {
  display:flex!important; flex-direction:column!important; gap:9px!important;
  padding:0!important; margin:0!important; list-style:none!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-list > li {
  display:flex!important; flex-direction:column!important; gap:5px!important;
  position:static!important; top:auto!important; left:auto!important; transform:none!important;
  margin:0!important; padding:12px 14px!important; float:none!important; clear:none!important;
  background:#fff!important; border:1px solid #e2e8f0!important; border-radius:12px!important;
  width:100%!important; box-sizing:border-box!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-list > li > * {
  position:static!important; top:auto!important; left:auto!important; transform:none!important;
  float:none!important; clear:none!important; margin:0!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-event {
  color:#194e78!important; text-decoration:underline!important; font:700 15px/1.3 system-ui!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-date {
  color:#465465!important; font:400 13px/1.35 system-ui!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-status {
  display:inline-flex!important; align-self:flex-start!important; width:auto!important;
  padding:3px 8px!important; border-radius:20px!important;
  color:#17643d!important; background:#e8f7ee!important; font:700 12px/1.3 system-ui!important;
}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-status.is-waiting {color:#875514!important;background:#fff1d6!important}
html body > #lfdc-nav-reservations-overlay .lfdc-nav-reservations-message {
  margin:12px 0!important; padding:10px 2px!important; font:400 14px/1.5 system-ui!important;
  color:#435368!important; text-align:center!important;
}
