/* Navigation commune : bouton lisible et panneau contrasté. */
body.nav-unified { margin:0; }
body.nav-unified #site-header .wrap { margin-inline:auto!important; }
@media(max-width:1080px) {
 body.nav-unified #site-header .nav { position:relative; }
 body.nav-unified #site-header .menu-toggle {
  display:flex!important; flex-direction:column; align-items:center; justify-content:center;
  flex:0 0 64px!important; width:64px!important; height:64px!important; margin-left:auto;
  gap:12px; padding:0!important; color:#f7f1e8!important; background:transparent!important;
  font:700 11px/1 Arial,sans-serif!important; letter-spacing:.08em;
 }
 body.nav-unified #site-header .menu-toggle span {
  position:relative; display:block; width:22px!important; height:2px!important;
  margin:0!important; border:0!important; background:currentColor!important;
 }
 body.nav-unified #site-header .menu-toggle span::before,
 body.nav-unified #site-header .menu-toggle span::after {
  content:''; position:absolute; left:0; width:22px!important; height:2px!important;
  background:currentColor!important; transform:none!important;
 }
 body.nav-unified #site-header .menu-toggle span::before { top:-6px!important; }
 body.nav-unified #site-header .menu-toggle span::after { top:6px!important; }
 body.nav-unified #site-header #site-navigation {
  display:none!important; position:absolute; top:100%!important; left:-12px!important; right:-12px!important;
  width:auto!important; margin:0; padding:12px 24px 18px!important;
  background:#123a3d!important; border-bottom:1px solid #486366!important;
  max-height:calc(100dvh - 110px); overflow-y:auto; overscroll-behavior:contain; z-index:1001;
 }
 body.nav-unified #site-header.menu-open #site-navigation { display:grid!important; grid-template-columns:1fr 1fr!important; gap:2px 20px!important; }
 body.nav-unified #site-header #site-navigation a {
  color:#f7f1e8!important; font:600 12px/1.4 Arial,sans-serif!important;
  letter-spacing:.04em!important; padding:13px 0!important; min-height:44px; box-sizing:border-box;
 }
 body.nav-unified #site-header #site-navigation a[aria-current='page'] { color:#ff8b40!important; }
 body.nav-unified #site-header :is(.menu-toggle,#site-navigation a):focus-visible { outline:2px solid #ff8b40; outline-offset:3px; }

 body.nav-unified #site-header { background:#1f4a4d!important; border-bottom:1px solid #ffffff1c!important; }
 body.nav-unified #site-header .wrap { width:calc(100% - 24px)!important; }
 body.nav-unified #site-header .nav { height:100px!important; min-height:100px!important; gap:16px!important; }
 body.nav-unified #site-header .brand { width:225px!important; flex:0 1 225px!important; }
 body.nav-unified #site-header .brand img { width:225px!important; max-width:100%; height:auto!important; max-height:94px!important; mix-blend-mode:normal!important; }
 html:not(.js) body.nav-unified #site-header .nav { height:auto!important; flex-wrap:wrap!important; }
 html:not(.js) body.nav-unified #site-header #site-navigation { display:grid!important; position:static!important; width:100%!important; flex-basis:100%; grid-template-columns:1fr 1fr!important; max-height:none; }
 html:not(.js) body.nav-unified #site-header .menu-toggle { display:none!important; }
}
@media(max-width:760px) {
 body.nav-unified #site-header .nav { height:82px!important; min-height:82px!important; }
 body.nav-unified #site-header .brand { width:205px!important; flex-basis:205px!important; }
 body.nav-unified #site-header .brand img { width:205px!important; max-height:70px!important; }
 body.nav-unified #site-header #site-navigation { max-height:calc(100dvh - 90px); }
}
@media(max-width:360px) {
 body.nav-unified #site-header .nav { gap:10px!important; }
 body.nav-unified #site-header .brand { width:175px!important; flex-basis:175px!important; }
 body.nav-unified #site-header .brand img { width:175px!important; }
}
