/* Navigation corrigee IS-TMK : le sous-menu ne modifie jamais le flux de la barre. */
.topbar { z-index:500!important; height:86px!important; background:rgba(3,19,38,.98); }
.topbar .topbar-inner { max-width:1500px!important; width:100%; padding:0 clamp(18px,2.5vw,38px)!important; gap:clamp(14px,1.5vw,25px)!important; }
.topbar .logo { flex:0 0 auto; min-width:0!important; }
.topbar .logo img { width:clamp(156px,12vw,187px)!important;max-width:100%;height:auto; }
.topbar .nav {display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:center;gap:clamp(13px,1.6vw,25px)!important;white-space:nowrap;font-size:clamp(12px,.86vw,13px)!important;letter-spacing:0!important; }
.topbar .nav > a,.topbar .nav-group-label { font-size:inherit;line-height:1.3;font-weight:750;white-space:nowrap; }
.topbar .nav a.active::after {bottom:-24px!important;width:100%;max-width:51px;}
.topbar .nav .nav-group {position:relative;display:block;flex:none;white-space:nowrap;}
.topbar .nav .nav-group-top{display:flex;align-items:center;gap:4px;}
.topbar .nav .nav-subtoggle {position:static;padding:6px 3px;color:#ffcd48;font-size:18px;line-height:1;background:none;border:0;cursor:pointer;transition:transform .15s;}
.topbar .nav .nav-subtoggle[aria-expanded="true"] {transform:rotate(180deg);}
.topbar .nav .nav-submenu[hidden] {display:none!important;visibility:hidden!important;}
.topbar .nav .nav-submenu:not([hidden]) {
  position:absolute!important;top:calc(100% + 19px)!important;left:-18px!important;right:auto!important;
  display:flex!important;flex-direction:column!important;gap:1px!important;
  width:332px;min-width:332px!important;max-width:min(332px,90vw)!important;
  padding:10px!important;margin:0!important;transform:none!important;
  background:#fff!important;color:#0a1a31!important;border:1px solid #e2e7ef!important;border-radius:13px!important;
  box-shadow:0 16px 44px rgba(0,12,32,.24)!important;
  z-index:1000!important;white-space:normal!important;
}
.topbar .nav .nav-submenu::before {content:"";position:absolute;top:-21px;left:0;right:0;height:24px;}
.topbar .nav .nav-submenu:not([hidden]) a {display:flex!important;align-items:center!important;gap:11px!important;text-align:left!important;color:#12233d!important;white-space:normal!important;opacity:1!important;font-size:12.5px!important;font-weight:700!important;line-height:1.4!important;padding:13px 10px!important;min-height:44px;border-radius:8px!important;width:100%!important;background:transparent!important;}
.topbar .nav .nav-submenu:not([hidden]) a:first-child {font-weight:850!important;border-bottom:1px solid #edf1f5!important;border-radius:0!important;padding-bottom:15px!important;margin-bottom:3px;}
.topbar .nav .nav-submenu:not([hidden]) a:hover,.topbar .nav .nav-submenu:not([hidden]) a:focus-visible {background:#f2f6fa!important;color:#071a32!important;}
.topbar .nav .nav-submenu .nav-sub-icon {display:inline-flex;align-items:center;justify-content:center;flex:0 0 25px;min-width:25px;color:#173c62;font-size:20px;font-weight:700;line-height:1;}
.topbar .nav .nav-submenu .nav-chev {margin-left:auto;font-size:19px;color:#6b7990;}
.topbar .topbar-actions {flex:0 0 auto;gap:10px!important;}
.topbar .topbar-actions .btn {padding:12px 14px;font-size:12px!important;gap:9px!important;white-space:nowrap;}
.topbar .topbar-actions .contact-header {display:inline-flex!important;}
.topbar .mobile-menu{display:none;}
@media(max-width:1060px){
  .topbar .topbar-inner{gap:12px!important;}
  .topbar .nav{display:none!important;}
  .topbar .mobile-menu{display:inline-flex!important;align-items:center;justify-content:center;}
  .topbar .topbar-actions .contact-header{display:none!important;}
  .topbar .nav.open {display:flex!important;position:absolute!important;top:86px!important;left:0!important;right:0!important;max-height:calc(100dvh - 86px);overflow-y:auto;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:4px!important;background:#041a33!important;padding:16px max(24px,calc((100vw - 780px)/2)) 22px!important;border-top:1px solid #26364b;box-shadow:0 20px 36px rgba(0,0,0,.3);white-space:normal;}
  .topbar .nav.open > a{width:100%;text-align:left!important;padding:13px 10px!important;}
  .topbar .nav.open .nav-group{display:block;width:100%;}
  .topbar .nav.open .nav-group-top{display:flex;width:100%;align-items:center;justify-content:space-between;gap:4px;}
  .topbar .nav.open .nav-group-label{padding:13px 10px!important;text-align:left!important;display:block;}
  .topbar .nav.open .nav-subtoggle{position:static!important;padding:12px 18px!important;font-size:22px;}
  .topbar .nav.open .nav-submenu:not([hidden]){position:static!important;transform:none!important;top:auto!important;left:auto!important;right:auto!important;width:100%!important;min-width:0!important;max-width:none!important;background:#fff!important;margin:0 0 8px!important;padding:8px!important;border-radius:12px!important;box-shadow:none!important;}
  .topbar .nav.open .nav-submenu::before{display:none!important;}
  .topbar .nav.open a.active::after {display:none;}
}
@media(max-width:760px){
  .topbar{height:78px!important;}
  .topbar .nav.open{top:78px!important;max-height:calc(100dvh - 78px);padding:12px 20px 24px!important;}
  .topbar .topbar-inner{padding:0 15px!important;}
  .topbar .logo img{width:clamp(125px,34vw,160px)!important;}
  .topbar .topbar-actions{gap:7px!important;}
  .topbar .topbar-actions .btn-learner{padding:10px 10px!important;font-size:11px!important;}
  .topbar .mobile-menu{padding:9px 10px!important;font-size:12px;}
}
@media(max-width:405px){.topbar .learner-label{font-size:0!important;}.topbar .learner-label::after{content:"Apprenant";font-size:11px!important;}}

/* Cinq entrées suffisent jusqu'à 1060px : ne pas cacher le menu trop tôt. */
@media(min-width:1061px) and (max-width:1260px){
  .topbar .nav{display:flex!important;gap:13px!important;font-size:12px!important;}
  .topbar .mobile-menu{display:none!important;}
  .topbar .topbar-actions .contact-header{display:inline-flex!important;}
  .topbar .topbar-actions .btn{padding:10px 10px!important;font-size:11px!important;}
  .topbar .logo img{width:154px!important;}
  .topbar .topbar-inner{gap:12px!important;}
}
