/* Adaptations du menu Twenty Seventeen. */
.menu-toggle{margin:1px 0 2px;}
@media screen and (min-width:767px) and (max-width:1000px){.main-navigation a{padding:10px 5px;letter-spacing:-0.5px;}}
@media screen and (min-width:48em){
 #site-navigation,#site-navigation .menu-menu-principal-container{width:100%;}
 #site-navigation #top-menu{display:flex;justify-content:space-between;width:100%;margin:0;padding:0;}
 #site-navigation #top-menu > li{flex:0 0 auto;margin:0;padding:0;}
 #site-navigation #top-menu > li > a{padding-left:0;padding-right:0;}
 .navigation-top .wrap{max-width:1100px;padding:0.75em 20px;}
 #site-navigation #top-menu > li:hover > .sub-menu,#site-navigation #top-menu > li.focus > .sub-menu{left:0;}
 #site-navigation #top-menu > li:last-child:hover > .sub-menu,#site-navigation #top-menu > li:last-child.focus > .sub-menu{left:auto;right:0;}
}
/* Méga-menu : activé seulement lorsque le hamburger du thème est masqué. */
@media screen and (min-width:48em){
 .navigation-top .wrap:has(#site-navigation.sr-mega-menu){position:relative;}
 #site-navigation.sr-mega-menu,
 #site-navigation.sr-mega-menu .menu-menu-principal-container,
 #site-navigation.sr-mega-menu #top-menu,
 #site-navigation.sr-mega-menu #top-menu > li{position:static;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu{
  display:none;position:absolute;top:100%;left:0;right:0;width:100%;box-sizing:border-box;
  grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 32px;
  margin:0;padding:28px 30px;border-width:1px;border-style:solid;
  box-shadow:0 8px 16px rgba(0,0,0,.12);max-height:calc(100vh - 140px);overflow:auto;z-index:100;
 }
 #site-navigation.sr-mega-menu #top-menu > li:hover > .sub-menu,
 #site-navigation.sr-mega-menu #top-menu > li:focus-within > .sub-menu,
 #site-navigation.sr-mega-menu #top-menu > li.sr-mega-open > .sub-menu{display:grid;left:0;right:0;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu::before,
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu::after{display:none;}
 #site-navigation.sr-mega-menu #top-menu .sub-menu li{width:auto;min-width:0;float:none;border:0;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li > a{
  width:auto;padding:0 0 10px;font-weight:700;line-height:1.4;border-bottom:0;
 }
 #site-navigation.sr-mega-menu #top-menu .sub-menu .dropdown-toggle,
 #site-navigation.sr-mega-menu #top-menu .sub-menu a > .icon{display:none;}
 #site-navigation.sr-mega-menu #top-menu .sub-menu .sub-menu{
  display:block;position:static;left:auto;right:auto;top:auto;float:none;opacity:1;visibility:visible;
  width:100%;margin:10px 0 0;padding:0;border:0;background:transparent;box-shadow:none;
 }
 #site-navigation.sr-mega-menu #top-menu .sub-menu .sub-menu::before,
 #site-navigation.sr-mega-menu #top-menu .sub-menu .sub-menu::after{display:none;}
 #site-navigation.sr-mega-menu #top-menu .sub-menu .sub-menu a{
  width:auto;padding:7px 0;background:transparent;font-weight:400;line-height:1.45;
 }
 #site-navigation.sr-mega-menu #top-menu .sub-menu a{white-space:normal;box-shadow:none;}

 #site-navigation.sr-mega-menu #top-menu .sub-menu .current-menu-item > a,
 #site-navigation.sr-mega-menu #top-menu .sub-menu .current_page_item > a{color:inherit;}
}
@media screen and (min-width:48em) and (max-width:60em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:22px;}
}

/* Conserver la couleur normale du thème sur la page courante. */
#site-navigation .current-menu-item > a,
#site-navigation .current_page_item > a{color:inherit;}

@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li::before,
 #site-navigation.sr-mega-menu #top-menu > li::after{display:none !important;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li > a{
  border:0 !important;box-shadow:none !important;background-image:none !important;
 }
}

/* Le survol ne change ni le fond des groupes ni l'aspect des liens. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu .sub-menu li:hover,
 #site-navigation.sr-mega-menu #top-menu .sub-menu li.focus{
  background:transparent;
 }
 #site-navigation.sr-mega-menu #top-menu .sub-menu a:hover,
 #site-navigation.sr-mega-menu #top-menu .sub-menu li:hover > a{
  background:transparent !important;
  color:inherit !important;
  text-decoration:none !important;
  box-shadow:none !important;
  background-image:none !important;
 }
}

/* Signaler les vrais liens au survol, sans colorer leur groupe. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu .sub-menu a[href]:not([href=""]):not([href="#"]):hover{
  box-shadow:none !important;
  text-decoration:underline !important;
  text-underline-offset:3px;
  cursor:pointer;
 }
 #site-navigation.sr-mega-menu #top-menu .sub-menu a:not([href]),
 #site-navigation.sr-mega-menu #top-menu .sub-menu a[href=""],
 #site-navigation.sr-mega-menu #top-menu .sub-menu a[href="#"]{cursor:default;}
}

/* Présentation des groupes du méga-menu. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > a > .icon,
 #site-navigation.sr-mega-menu #top-menu > li > .dropdown-toggle{display:none;}
 #site-navigation.sr-mega-menu #top-menu a:not([href]),
 #site-navigation.sr-mega-menu #top-menu a[href=""],
 #site-navigation.sr-mega-menu #top-menu a[href="#"]{cursor:default !important;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu{align-items:stretch;grid-auto-rows:auto;row-gap:10px;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li{
  position:relative;align-self:stretch;padding-bottom:18px;border-bottom:0 !important;
 }
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li > a{padding-bottom:4px;}
 #site-navigation.sr-mega-menu #top-menu .sub-menu .sub-menu{margin-top:8px;}
 #site-navigation.sr-mega-menu #top-menu .sub-menu .sub-menu a{padding-top:5px;padding-bottom:5px;}
}

@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li.menu-item-has-children > a{cursor:pointer !important;}
}

/* Un séparateur continu entre les rangées, jamais aux extrémités du panneau. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu) > li:nth-child(3n + 4)::before{
  content:"";display:block;position:absolute;top:-5px;left:-30px;
  width:calc(300% + 124px);height:1px;min-height:0;margin:0;padding:0;border:0;box-shadow:none;background:#eeeeee;pointer-events:none;
 }
}
@media screen and (min-width:48em) and (max-width:60em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu) > li:nth-child(3n + 4)::before{content:none;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu) > li:nth-child(2n + 3)::before{
  content:"";display:block;position:absolute;top:-5px;left:-22px;
  width:calc(200% + 64px);height:1px;min-height:0;margin:0;padding:0;border:0;box-shadow:none;background:#eeeeee;pointer-events:none;
 }
}

/* Un seul niveau : liste verticale, sans grille ni séparateurs. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:not(:has(.sub-menu)){
  grid-template-columns:none;grid-auto-rows:auto;gap:0;
 }
 #site-navigation.sr-mega-menu #top-menu > li:hover > .sub-menu:not(:has(.sub-menu)),
 #site-navigation.sr-mega-menu #top-menu > li:focus-within > .sub-menu:not(:has(.sub-menu)),
 #site-navigation.sr-mega-menu #top-menu > li.sr-mega-open > .sub-menu:not(:has(.sub-menu)){display:block;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:not(:has(.sub-menu)) > li{padding:0;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:not(:has(.sub-menu)) > li > a{
  padding:7px 0;font-weight:400;line-height:1.45;
 }
}

/* Titres des groupes et liens des listes simples : typographie du premier niveau. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li > a,
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:not(:has(.sub-menu)) > li > a{
  font-family:var(--sr-main-font-family,inherit);
  font-size:var(--sr-main-font-size,inherit);
  font-weight:var(--sr-main-font-weight,inherit);
  color:var(--sr-main-color,inherit);
 }
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li:hover > a,
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li > a:hover{
  color:var(--sr-main-color,inherit) !important;
 }
}

/* Essai en colonnes indépendantes, sans alignement des blocs par rangée. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu){
  column-count:3;column-gap:32px;
 }
 #site-navigation.sr-mega-menu #top-menu > li:hover > .sub-menu:has(.sub-menu),
 #site-navigation.sr-mega-menu #top-menu > li:focus-within > .sub-menu:has(.sub-menu),
 #site-navigation.sr-mega-menu #top-menu > li.sr-mega-open > .sub-menu:has(.sub-menu){display:block;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu) > li{
  display:block;break-inside:avoid;page-break-inside:avoid;
  padding:0 0 5px;margin:0;width:100%;
 }
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu) > li::before{content:none !important;}
}
@media screen and (min-width:48em) and (max-width:60em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu){column-count:2;column-gap:20px;}
}

/* Trois groupes par colonne, dans l'ordre du menu. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu){column-fill:auto;}
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu) > li:nth-child(3n + 4){
  break-before:column;
 }
}

/* Ne pas fragmenter les colonnes selon la hauteur de la fenêtre. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu:has(.sub-menu){
  height:auto;max-height:none;overflow:visible;column-fill:auto;
 }
}

/* Repère du menu ouvert : trait bleu sous son titre, sans pointe. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li.menu-item-has-children > a{position:relative;}
 #site-navigation.sr-mega-menu #top-menu > li.menu-item-has-children > a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;
  margin:0;padding:0;border:0;background:#2f80ed;box-shadow:none;
  transform:none;pointer-events:none;display:none;
 }
 #site-navigation.sr-mega-menu #top-menu > li.menu-item-has-children:hover > a::after,
 #site-navigation.sr-mega-menu #top-menu > li.menu-item-has-children:focus-within > a::after,
 #site-navigation.sr-mega-menu #top-menu > li.menu-item-has-children.sr-mega-open > a::after{display:block;}
}

/* Flèche des titres sans lien qui présentent un groupe de liens. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li.sr-group-heading-only > a::after{
  content:"";display:inline-block;position:static;width:6px;height:6px;
  margin:0 0 3px 10px;padding:0;border:0;border-right:2px solid currentColor;
  border-bottom:2px solid currentColor;background:transparent;box-shadow:none;
  transform:rotate(45deg);vertical-align:middle;pointer-events:none;
 }
}

/* Même espacement entre titre et premier lien qu'entre deux liens. */
@media screen and (min-width:48em){
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li > a{
  padding-top:5px;padding-bottom:5px;line-height:1.45;
 }
 #site-navigation.sr-mega-menu #top-menu > li > .sub-menu > li > .sub-menu{margin-top:0;}
}

/* Repérer les liens vers un autre site, avec le même écart que les flèches. */
#site-navigation #top-menu a.sr-external-link::after{
 content:"";display:inline-block;position:static;width:14px;height:14px;
 margin:0 0 0 0.15em;padding:0;border:0;vertical-align:-2px;
 background-color:currentColor;box-shadow:none;transform:none;pointer-events:none;
 -webkit-mask:url("menu-external-link.svg") center / contain no-repeat;
 mask:url("menu-external-link.svg") center / contain no-repeat;
}

