/* BallPosition : navigation latérale. Le logo et tous les outils restent dans l'en-tête. */
:root{--bp-sidebar-wide:240px;--bp-sidebar-slim:72px;--bp-header-height:78px}
.bp-side-overlay[hidden]{display:none!important}
.bp-sidebar{
  position:fixed;z-index:89;left:0;top:var(--bp-header-height);
  width:var(--bp-sidebar-width,var(--bp-sidebar-wide));
  height:calc(100dvh - var(--bp-header-height));
  background:var(--panel);border-right:1px solid var(--stroke);
  box-shadow:3px 0 28px rgba(0,0,0,.10);
  display:flex;flex-direction:column;overflow:hidden;
  transition:width .18s ease,transform .18s ease;
}
.bp-sidebar-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:19px 13px 12px;border-bottom:1px solid var(--stroke)}
.bp-sidebar-heading{font-size:11px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);font-weight:900;padding-left:13px}
.bp-sidebar-toggle{display:flex;align-items:center;justify-content:center;flex:0 0 39px;width:39px;height:39px;border:1px solid var(--stroke);background:var(--panel-soft);color:var(--muted);border-radius:10px;cursor:pointer}
.bp-sidebar-toggle:hover,.bp-sidebar-toggle:focus-visible{color:var(--accent);border-color:var(--accent)}
.bp-sidebar-toggle:focus-visible,.bp-sidebar .nav-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.bp-sidebar .nav-links{
  position:static!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;
  gap:6px!important;flex:1;min-height:0;width:100%;min-width:0;max-width:none!important;
  padding:15px 11px 22px!important;margin:0!important;overflow-x:hidden!important;overflow-y:auto!important;
  max-height:none!important;box-sizing:border-box;background:transparent!important;border:0!important;box-shadow:none!important;
  overscroll-behavior:contain;scrollbar-width:thin;
}
.bp-sidebar .nav-links .nav-link{
  position:relative;display:flex!important;align-items:center;gap:13px!important;
  width:100%;min-height:47px;padding:11px 13px!important;border-radius:10px;
  font-size:15px!important;font-weight:750;letter-spacing:0;line-height:1.4;
  white-space:nowrap;color:var(--text);background:transparent;transition:background-color .16s,color .16s;
}
.bp-sidebar .nav-links .nav-link:after{display:none!important}
.bp-sidebar .nav-links .nav-link:hover{background:var(--panel-soft);color:var(--accent)}
.bp-sidebar .nav-links .nav-link.active{background:rgba(238,121,47,.13);color:var(--accent)}
.bp-sidebar .nav-links .bp-nav-icon{display:block;flex:0 0 21px;width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.bp-sidebar .nav-links .bp-nav-personal,.bp-sidebar .nav-links .pp-mobile-account{display:none!important}
.bp-sidebar .bp-mobile-actions{display:none}
.bp-sidebar .bp-mobile-actions [hidden]{display:none!important}
@media(min-width:971px){
  body{--bp-sidebar-width:var(--bp-sidebar-wide);padding-left:var(--bp-sidebar-width)}
  body.bp-sidebar-collapsed{--bp-sidebar-width:var(--bp-sidebar-slim)}
  body.bp-sidebar-expanded{--bp-sidebar-width:var(--bp-sidebar-wide)}
  .site-header{margin-left:calc(0px - var(--bp-sidebar-width));width:calc(100% + var(--bp-sidebar-width))}
  .site-header .nav-shell.container{width:min(1450px,calc(100% - 44px))!important;max-width:none}
  .site-header .nav-tools{margin-left:auto!important}
  .site-header .mobile-menu-btn{display:none!important}
  .bp-sidebar .bp-nav-personal{display:none!important}
}
@media(min-width:971px) and (max-width:1360px){
  body{--bp-sidebar-width:var(--bp-sidebar-slim)}
  body.bp-sidebar-expanded{--bp-sidebar-width:var(--bp-sidebar-wide)}
  body.bp-sidebar-collapsed{--bp-sidebar-width:var(--bp-sidebar-slim)}
}
@media(min-width:971px){
  body.bp-sidebar-collapsed .bp-sidebar-controls,
  body:not(.bp-sidebar-expanded):not(.bp-sidebar-collapsed) .bp-sidebar-controls{min-width:0}
  body.bp-sidebar-collapsed .bp-sidebar .nav-link>span,
  body.bp-sidebar-collapsed .bp-sidebar-heading{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
  body.bp-sidebar-collapsed .bp-sidebar .nav-links{padding-left:9px!important;padding-right:9px!important}
  body.bp-sidebar-collapsed .bp-sidebar .nav-link{justify-content:center;padding:11px 0!important;gap:0!important}
  body.bp-sidebar-collapsed .bp-sidebar-controls{justify-content:center;padding-left:0;padding-right:0}
}
@media(min-width:971px) and (max-width:1360px){
  body:not(.bp-sidebar-expanded) .bp-sidebar .nav-link>span,
  body:not(.bp-sidebar-expanded) .bp-sidebar-heading{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
  body:not(.bp-sidebar-expanded) .bp-sidebar .nav-links{padding-left:9px!important;padding-right:9px!important}
  body:not(.bp-sidebar-expanded) .bp-sidebar .nav-link{justify-content:center;padding:11px 0!important;gap:0!important}
  body:not(.bp-sidebar-expanded) .bp-sidebar-controls{justify-content:center;padding-left:0;padding-right:0}
}
.bp-side-overlay{display:none}
@media(max-width:970px){
  :root{--bp-header-height:78px}
  body{padding-left:0!important}
  .site-header{width:auto!important;margin-left:0!important}
  .bp-sidebar{
    width:min(340px,calc(100vw - 38px));max-width:100vw;
    left:0;right:auto;top:var(--bp-header-height);height:calc(100dvh - var(--bp-header-height));
    z-index:93;transform:translateX(-103%);visibility:hidden;pointer-events:none;transition:transform .2s ease,visibility .2s;
  }
  body.bp-sidebar-open .bp-sidebar{transform:translateX(0);visibility:visible;pointer-events:auto}
  .bp-sidebar-controls{display:none}
  .bp-sidebar .nav-links{padding:15px 12px 30px!important}
  .bp-sidebar .nav-links .nav-link{min-height:48px!important;font-size:15px!important}
  .bp-side-overlay:not([hidden]){display:block;position:fixed;z-index:92;inset:var(--bp-header-height) 0 0;background:rgba(3,12,22,.62)}
  body.bp-sidebar-open{overflow:hidden}
  .site-header .nav-tools #menuToggle{display:flex!important}
  .bp-sidebar .bp-mobile-actions{display:flex;flex-direction:column;gap:0;margin-top:10px;padding-top:10px;border-top:1px solid var(--stroke)}
  .bp-sidebar .bp-mobile-actions a,.bp-sidebar .bp-mobile-actions button{display:block;box-sizing:border-box;width:100%;padding:12px 11px;border:0;background:transparent;text-decoration:none;color:var(--text);font-family:inherit;font-weight:700;font-size:13px;line-height:1.45;text-align:left;cursor:pointer}
  .bp-sidebar .bp-mobile-actions .bp-mobile-identity{padding:11px;color:var(--accent);font-size:13px;overflow-wrap:anywhere}
  .bp-sidebar .bp-mobile-actions a:hover,.bp-sidebar .bp-mobile-actions button:hover{background:var(--panel-soft);color:var(--accent)}
  .bp-sidebar .bp-mobile-pref{padding:9px 10px 12px}
  .bp-sidebar .bp-mobile-pref-heading{font-size:12px;font-weight:800;color:var(--muted);margin:0 0 8px}
  .bp-sidebar .bp-mobile-pref-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .bp-sidebar .bp-mobile-pref-options .bp-mobile-pref-choice{display:flex;align-items:center;justify-content:center;min-height:42px;width:100%;min-width:0;border:1px solid var(--stroke);border-radius:9px;background:var(--panel-soft);color:var(--text);padding:8px 6px;font-family:inherit;font-weight:700;font-size:12px;line-height:1.4;cursor:pointer}
  .bp-sidebar .bp-mobile-pref-options .bp-mobile-pref-choice[aria-pressed="true"]{border-color:var(--accent);background:rgba(255,138,36,.14);color:var(--accent)}
  .bp-sidebar .bp-mobile-actions .bp-mobile-logout{border-top:1px solid var(--stroke);margin-top:5px}
}
@media(max-width:700px){:root{--bp-header-height:67px}}
@media(prefers-reduced-motion:reduce){.bp-sidebar,.bp-sidebar .nav-link{transition:none}}

/* V2 : géométrie de l'en-tête et espaces de lecture harmonisés.
   Le menu et la zone centrale sont indépendants ; aucune largeur fixe de contenu. */
@media (min-width:971px){
  /* L'en-tête s'étend sur toute la fenêtre malgré l'espace réservé à la sidebar. */
  .site-header .nav-shell.container{
    box-sizing:border-box;
    width:calc(100% - 44px)!important;
    max-width:none!important;
    margin-left:22px!important;
    margin-right:22px!important;
    padding:0!important;
    gap:16px;
  }
  .site-header .nav-shell>.brand{margin-right:auto;flex:0 0 auto}
  .site-header .nav-tools{margin-left:auto!important;flex:0 0 auto}
  /* Marges d'environ 56 px par rapport au bord du contenu (après menu gauche). */
  body:not([data-bp-universe="home"]):not([data-bp-universe="software"]):not([data-bp-universe="notebook"]) > main .container,
  body:not([data-bp-universe="home"]):not([data-bp-universe="software"]):not([data-bp-universe="notebook"]) > main.container{
    box-sizing:border-box;
    width:calc(100% - 112px)!important;
    max-width:none!important;
    margin-left:56px!important;
    margin-right:56px!important;
  }
}
/* Ces états sont lus avant le rendu : le menu ne clignote pas en repassant sur une autre page. */
@media (min-width:971px){
  html[data-bp-sidebar-preference="collapsed"] body{--bp-sidebar-width:var(--bp-sidebar-slim)}
  html[data-bp-sidebar-preference="expanded"] body{--bp-sidebar-width:var(--bp-sidebar-wide)}
}
@media (min-width:971px) and (max-width:1360px){
  html[data-bp-sidebar-preference="expanded"] body .bp-sidebar .nav-link>span,
  html[data-bp-sidebar-preference="expanded"] body .bp-sidebar-heading{
    position:static!important;width:auto!important;height:auto!important;
    padding:initial!important;margin:initial!important;
    overflow:visible!important;clip-path:none!important;white-space:nowrap!important;
  }
  html[data-bp-sidebar-preference="expanded"] body .bp-sidebar .nav-links{padding:15px 11px 22px!important}
  html[data-bp-sidebar-preference="expanded"] body .bp-sidebar .nav-link{justify-content:flex-start;padding:11px 13px!important;gap:13px!important}
  html[data-bp-sidebar-preference="expanded"] body .bp-sidebar-controls{justify-content:space-between;padding:19px 13px 12px}
}
/* Les bandeaux du catalogue sont plus compacts, tout en gardant l'image lisible. */
@media (min-width:971px){
  body[data-bp-universe] .bp-structure-hero{padding-top:30px;padding-bottom:30px}
  body[data-bp-universe] .bp-structure-hero .bp-crumbs{margin-bottom:14px}
  body[data-bp-universe] .bp-structure-hero h1{font-size:clamp(50px,5vw,78px);margin:11px 0 12px}
  body[data-bp-universe] .bp-structure-hero p{font-size:clamp(15px,1.3vw,18px);line-height:1.55;margin:0}
  body[data-bp-universe] .bp-structure-hero .bp-actions{margin-top:19px}
  .bp-structure-page .bp-structure-content{padding-top:34px;padding-bottom:76px}
  .bp-structure-page .bp-section-intro{margin-bottom:20px}
  .bp-structure-page .bp-section-intro h2{margin-top:7px}
  body[data-bp-universe] .page-head:not(.cn-heading){padding-top:40px;padding-bottom:40px;min-height:0}
}
/* Les moyens écrans gardent davantage de place au contenu. */
@media (min-width:971px) and (max-width:1360px){
  body:not([data-bp-universe="home"]):not([data-bp-universe="software"]):not([data-bp-universe="notebook"]) > main .container,
  body:not([data-bp-universe="home"]):not([data-bp-universe="software"]):not([data-bp-universe="notebook"]) > main.container{
    width:calc(100% - 72px)!important;
    margin-left:36px!important;
    margin-right:36px!important;
  }
}
/* Les présentations spéciales accueil, logiciel et carnet conservent leur disposition. */
@media (max-width:970px){
  body.bp-sidebar-open .site-header{margin-left:0!important}
}
