/* FOBAK V129.6.61 — restauration structurelle du shell mobile.
   Objectifs: aucune zone fantôme, barre admin réellement fixe, menu burger intégré visuellement,
   espace public sans réserve cachée. Chargé en dernier. */

@media screen and (max-width:860px){
  html,body{margin:0!important;padding-top:0!important;min-height:100%!important;}

  /* ===== ADMINISTRATION ===== */
  body.admin-layout{margin:0!important;padding:0!important;overflow-x:hidden!important;}
  body.admin-layout .app-shell{
    display:block!important;position:relative!important;width:100%!important;max-width:100%!important;
    min-height:100dvh!important;margin:0!important;padding:0!important;
  }
  body.admin-layout .workspace{
    display:block!important;position:relative!important;width:100%!important;max-width:100%!important;
    min-height:100dvh!important;margin:0!important;padding:0!important;transform:none!important;
  }
  body.admin-layout .side-dashboard{
    position:fixed!important;top:0!important;left:0!important;bottom:0!important;
    width:min(88vw,360px)!important;height:100dvh!important;margin:0!important;
    transform:translateX(-105%)!important;z-index:5200!important;
  }
  body.admin-layout.side-open .side-dashboard{transform:translateX(0)!important;}

  /* La barre supérieure redevient FIXE. Aucun élément invisible ne la précède. */
  body.admin-layout .workspace-topbar{
    position:fixed!important;inset:0 0 auto 0!important;top:0!important;left:0!important;right:0!important;
    width:100%!important;height:126px!important;min-height:126px!important;max-height:126px!important;
    margin:0!important;padding:10px 10px 10px 78px!important;box-sizing:border-box!important;
    z-index:5000!important;border-radius:0 0 18px 18px!important;overflow:visible!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:56px 42px!important;grid-template-areas:"welcome actions" "language language"!important;
    gap:8px 10px!important;align-items:center!important;transform:none!important;
  }
  body.admin-layout .history-controls{display:none!important;}
  body.admin-layout .workspace-welcome{grid-area:welcome!important;min-width:0!important;margin:0!important;padding:0!important;}
  body.admin-layout .workspace-welcome strong{
    display:block!important;max-width:100%!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
    font-size:18px!important;line-height:1.2!important;color:#fff!important;
  }
  body.admin-layout .workspace-welcome small{display:none!important;}
  body.admin-layout .global-search-form{display:none!important;}
  body.admin-layout .top-actions{
    grid-area:actions!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;
    flex-wrap:nowrap!important;gap:6px!important;min-width:max-content!important;margin:0!important;
  }
  body.admin-layout .top-actions .top-action-support,
  body.admin-layout .top-actions .top-action-security,
  body.admin-layout .top-actions .top-action-public,
  body.admin-layout .top-actions .top-date{display:none!important;}
  body.admin-layout .top-actions>a,
  body.admin-layout .topbar-action-button{width:44px!important;height:44px!important;min-height:44px!important;flex:0 0 44px!important;}
  body.admin-layout .topbar-language-menu{
    grid-area:language!important;display:block!important;justify-self:end!important;align-self:center!important;
    margin:0!important;position:relative!important;z-index:2!important;
  }
  body.admin-layout .topbar-language-menu>summary{min-height:40px!important;padding:7px 13px!important;}

  body.admin-layout #mobile-sidebar-toggle,
  body.admin-layout .mobile-sidebar-toggle{
    display:grid!important;place-items:center!important;position:fixed!important;top:12px!important;left:12px!important;
    width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;margin:0!important;
    z-index:5300!important;transform:none!important;
  }

  /* Le seul décalage autorisé est la hauteur exacte de la barre fixe. */
  body.admin-layout .workspace-content,
  body.admin-layout .main-content.workspace-content{
    position:relative!important;width:100%!important;max-width:none!important;min-height:0!important;
    margin:0!important;padding:138px 12px 88px!important;box-sizing:border-box!important;transform:none!important;
  }
  body.admin-layout .workspace-content>:first-child{margin-top:0!important;}

  /* Le mode compact reste fixe, mais réduit réellement l'offset. */
  body.admin-layout.topbar-compact .workspace-topbar{
    height:72px!important;min-height:72px!important;max-height:72px!important;
    grid-template-rows:52px!important;grid-template-areas:"welcome actions"!important;
    padding:8px 8px 8px 76px!important;
  }
  body.admin-layout.topbar-compact .topbar-language-menu{display:none!important;}
  body.admin-layout.topbar-compact .workspace-content,
  body.admin-layout.topbar-compact .main-content.workspace-content{padding-top:84px!important;}

  /* ===== ESPACE PUBLIC ===== */
  body.public-layout{margin:0!important;padding-top:0!important;overflow-x:hidden!important;}
  body.public-layout>.site-header.public-header{
    display:none!important;height:0!important;min-height:0!important;max-height:0!important;
    margin:0!important;padding:0!important;border:0!important;overflow:hidden!important;
  }
  body.public-layout .public-mobile-bar{
    display:grid!important;position:sticky!important;top:0!important;left:0!important;right:0!important;
    width:100%!important;margin:0!important;z-index:5100!important;
  }
  /* Le menu public mobile est un tiroir hors flux: il ne réserve aucune hauteur. */
  body.public-layout>#public-main-nav,
  body.public-layout>.top-nav.public-nav{
    position:fixed!important;top:0!important;left:0!important;bottom:0!important;
    width:min(88vw,360px)!important;height:100dvh!important;min-height:100dvh!important;
    margin:0!important;transform:translateX(-105%)!important;z-index:5200!important;
  }
  body.public-layout.public-menu-open>#public-main-nav,
  body.public-layout.public-menu-open>.top-nav.public-nav{transform:translateX(0)!important;}
  body.public-layout .public-content,
  body.public-layout .main-content.public-content{
    position:relative!important;width:100%!important;max-width:none!important;min-height:0!important;
    margin:0!important;padding-top:0!important;transform:none!important;
  }
  body.page-index .public-content>.home-hero-carousel:first-child{
    position:relative!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
    aspect-ratio:4/3!important;margin:0!important;padding:0!important;overflow:hidden!important;
  }
  body.page-index .home-hero-carousel>.slides,
  body.page-index .home-hero-carousel>.slides>.slide{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;}
  body.page-index .home-hero-carousel .carousel-photo{
    position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-height:none!important;
    object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;
  }
}

@media screen and (max-width:420px){
  body.admin-layout .workspace-topbar{height:120px!important;min-height:120px!important;max-height:120px!important;padding-left:74px!important;}
  body.admin-layout .workspace-content,body.admin-layout .main-content.workspace-content{padding-top:132px!important;}
  body.admin-layout .workspace-welcome strong{font-size:16px!important;}
  body.admin-layout #mobile-sidebar-toggle,body.admin-layout .mobile-sidebar-toggle{width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;}
}
