                                                       
                                                                         
                                                                          
                                                                          

/* L'ancien plan de fumée place tous les enfants directs du body en
   `position:relative` pour leur z-index. Cette règle écrasait par mégarde
   l'autorité fixe de `.hd` : après le premier écran, l'en-tête et surtout le
   bouton du menu mobile partaient avec le document. On restaure ici la
   position prévue, sans modifier les scènes ni les en-têtes Portale. */
body[data-page] > header.hd {
  position:fixed !important;
  inset:0 0 auto !important;
  width:100% !important;
  z-index:8500 !important;
}

body.cv3-nonhome:not(.cv3-family-portale) .cv912-memory-compact{
  box-sizing:border-box !important;
  position:relative !important;
  inset:auto !important;
  z-index:3 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px 28px !important;
  width:100% !important;
  min-height:68px !important;
  margin:0 !important;
  padding:18px clamp(20px,5vw,72px) !important;
  overflow:hidden !important;
  transform:none !important;
  background:#07090b !important;
  border:0 !important;
  border-top:1px solid rgba(205,198,181,.24) !important;
  color:#f4f0e8 !important;
  font-family:var(--cv-typo-current-ff, var(--font-ui,Inter,Arial,sans-serif)) !important;
  font-size:var(--cv-typo-current-fs, 10px) !important;
  line-height:var(--cv-typo-current-lh, 1.55) !important;
  letter-spacing:var(--cv-typo-current-ls, .18em) !important;
  text-decoration:none !important;
  text-transform:var(--cv-typo-current-tt, uppercase) !important;
  white-space:normal !important;
}
body.cv3-nonhome:not(.cv3-family-portale) .cv912-memory-compact :is(
  .cv912-memory-compact__name,
  .cv912-memory-compact__delta
){
  min-width:0 !important;
  color:inherit !important;
  -webkit-text-fill-color:currentColor !important;
  overflow-wrap:anywhere !important;
  white-space:normal !important;
}
body.cv3-nonhome:not(.cv3-family-portale) .cv912-memory-compact .cv912-memory-compact__delta{
  color:rgba(244,240,232,.70) !important;
  text-align:right !important;
}

@media (max-width:1180px){
  /* Une ancienne règle tardive remettait flex-direction:row et flex-wrap.
     Le panneau était alors visible, mais la majorité de ses liens sortait
     horizontalement de l'écran. */
  body.cv3-nonhome:not(.cv3-family-portale).nopen > .hd{
    position:fixed !important;
    inset:0 0 auto !important;
    z-index:8500 !important;
    overflow:visible !important;
    transform:none !important;
    filter:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  body.cv3-nonhome:not(.cv3-family-portale) .nav{
    box-sizing:border-box !important;
    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100svh !important;
    min-height:100svh !important;
    padding:max(92px,calc(env(safe-area-inset-top) + 72px)) 22px
            max(38px,calc(env(safe-area-inset-bottom) + 24px)) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }
  body.cv3-nonhome:not(.cv3-family-portale) .nav > .nl,
  body.cv3-nonhome:not(.cv3-family-portale) .nav > .ncta{
    box-sizing:border-box !important;
    flex:0 0 auto !important;
    display:block !important;
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    padding:10px 4px !important;
    line-height:var(--cv-typo-current-lh, 1.15) !important;
    white-space:normal !important;
  }
  body.cv3-nonhome:not(.cv3-family-portale) .nav > .lang-sw{
    flex:0 0 auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:100% !important;
    min-height:44px !important;
    margin:14px 0 0 !important;
  }
}

@media (max-width:560px){
  body.cv3-nonhome:not(.cv3-family-portale) .cv912-memory-compact{
    grid-template-columns:minmax(0,1fr) !important;
    gap:6px !important;
    min-height:0 !important;
    padding:18px 20px calc(20px + env(safe-area-inset-bottom)) !important;
  }
  body.cv3-nonhome:not(.cv3-family-portale) .cv912-memory-compact .cv912-memory-compact__delta{
    text-align:left !important;
  }
}

@media (prefers-reduced-motion:reduce){
  body.cv3-nonhome:not(.cv3-family-portale) .nav,
  body.cv3-nonhome:not(.cv3-family-portale) .cv912-memory-compact{
    transition:none !important;
  }
}
