/*
 * edu-unifr : en-tête et menu du thème Divi, en plus sobre (toutes les pages du site).
 * Version 1.2.0 (11.11.2026) : logo de taille fixe en pixels (ne varie plus au défilement).
 * Version 1.1.0 (11.11.2026) : hauteur fixe de l'en-tête (même hauteur en haut de page et pendant le défilement).
 * Version 1.0.0 (11.11.2026). Aplats, sans dégradé ni empattement, couleurs du site.
 * Vise l'en-tête par défaut de Divi (#main-header, #top-menu, #mobile_menu).
 */
:root {
  --edu-m-texte: #2B3A44;
  --edu-m-doux: #5E6D77;
  --edu-m-accent: #3F5566;
  --edu-m-survol: #EEF2F4;
  --edu-m-bord: #E3E7EA;
}

/* barre : blanche, filet fin, sans ombre */
#main-header,
#main-header.et-fixed-header {
  background: #fff !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border-bottom: 1px solid var(--edu-m-bord);
}
#main-header,
#top-menu,
#mobile_menu,
.et_mobile_menu {
  font-family: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif !important;
}

/* éléments du premier niveau : pastilles légères */
#top-menu > li {
  padding-right: 4px !important;
}
#top-menu > li > a {
  display: inline-block;
  color: var(--edu-m-texte) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 8px 14px !important;
  line-height: 1.4 !important;
  border-radius: 7px;
  opacity: 1 !important;
  transition: background-color 0.15s, color 0.15s;
}
.et_header_style_left #et-top-navigation nav > ul > li > a,
.et_header_style_split #et-top-navigation nav > ul > li > a {
  padding-bottom: 8px !important;
}
#et-top-navigation {
  padding-top: 0 !important;
  display: flex;
  align-items: center;
  min-height: 72px;
}
#top-menu-nav > ul > li { display: inline-flex; align-items: center; min-height: 72px; }
#top-menu > li > a:hover,
#top-menu > li:hover > a,
#top-menu > li.edu-ouvert > a {
  background: var(--edu-m-survol);
  color: var(--edu-m-accent) !important;
  opacity: 1 !important;
}
/* page en cours : soulignée */
#top-menu > li.current-menu-item > a,
#top-menu > li.current-menu-ancestor > a,
#top-menu > li.current-menu-parent > a {
  color: var(--edu-m-accent) !important;
  box-shadow: inset 0 -2px 0 var(--edu-m-accent);
  border-radius: 7px 7px 0 0;
}

/* flèche des sous-menus : chevron dessiné, à la place de l'icône Divi */
#top-menu .menu-item-has-children > a:first-child {
  padding-right: 30px !important;
  position: relative;
}
#top-menu .menu-item-has-children > a:first-child::after {
  content: "" !important;
  font-family: inherit !important;
  position: absolute;
  right: 13px !important;
  top: 50% !important;
  width: 6px;
  height: 6px;
  margin-top: -5px;
  border-right: 1.6px solid currentColor;
  border-bottom: 1.6px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.15s;
}
#top-menu > li.menu-item-has-children:hover > a:first-child::after { transform: rotate(225deg); margin-top: -2px; }

/* sous-menus : carte blanche, coins arrondis */
#top-menu li ul.sub-menu,
.nav li ul {
  top: calc(100% - 6px) !important;
  width: 240px !important;
  padding: 6px !important;
  background: #fff !important;
  border: 1px solid var(--edu-m-bord) !important;
  border-top: 1px solid var(--edu-m-bord) !important;
  border-radius: 10px;
  box-shadow: 0 10px 28px rgba(34, 48, 58, 0.12) !important;
}
#top-menu li li {
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}
#top-menu li li a {
  display: block;
  width: auto !important;
  padding: 9px 12px !important;
  border-radius: 7px;
  color: var(--edu-m-texte) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  opacity: 1 !important;
  transition: background-color 0.12s, color 0.12s;
}
#top-menu li li a:hover,
#top-menu li li.current-menu-item > a {
  background: var(--edu-m-survol) !important;
  color: var(--edu-m-accent) !important;
  opacity: 1 !important;
}
#top-menu li li.current-menu-item > a { font-weight: 600 !important; }
#top-menu li li ul.sub-menu { top: -7px !important; left: 100% !important; margin-left: 6px; }

/* recherche et panier de Divi : même gris */
#et_top_search #et_search_icon::before,
#et-top-navigation .et-cart-info { color: var(--edu-m-doux) !important; }

/* téléphone : bouton menu et liste déroulante */
.mobile_menu_bar::before,
.mobile_menu_bar::after { color: var(--edu-m-accent) !important; }
.et_mobile_menu {
  border-top: 1px solid var(--edu-m-bord) !important;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 12px 28px rgba(34, 48, 58, 0.14) !important;
  padding: 8px !important;
  background: #fff !important;
}
.et_mobile_menu li a {
  color: var(--edu-m-texte) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  padding: 11px 12px !important;
  border-bottom: 0 !important;
  border-radius: 7px;
}
.et_mobile_menu li a:hover,
.et_mobile_menu .current-menu-item > a { background: var(--edu-m-survol) !important; color: var(--edu-m-accent) !important; opacity: 1 !important; }
.et_mobile_menu li li { padding-left: 14px !important; }
.et_mobile_menu li li a { font-size: 14px !important; color: var(--edu-m-doux) !important; }
.et_mobile_menu li.menu-item-has-children > a { font-weight: 600 !important; background: transparent; }

/*
 * Hauteur fixe : Divi rétrécit l'en-tête quand on défile (.et-fixed-header). Même hauteur,
 * même logo, même espacement dans les deux états, sans animation.
 */
#main-header,
#main-header.et-fixed-header,
#main-header .container,
#main-header.et-fixed-header .container,
#main-header .logo_container,
#main-header.et-fixed-header .logo_container,
#et-top-navigation,
#main-header.et-fixed-header #et-top-navigation,
#top-menu > li > a,
#main-header.et-fixed-header #top-menu > li > a,
#logo,
#main-header.et-fixed-header #logo {
  transition: none !important;
  -webkit-transition: none !important;
}
#main-header .container.et_menu_container,
#main-header.et-fixed-header .container.et_menu_container { height: 72px !important; min-height: 72px; }
#et-top-navigation,
#main-header.et-fixed-header #et-top-navigation { min-height: 72px !important; padding-top: 0 !important; }
#top-menu-nav > ul > li,
#main-header.et-fixed-header #top-menu-nav > ul > li { min-height: 72px !important; }
.et_header_style_left #et-top-navigation nav > ul > li > a,
.et_header_style_left .et-fixed-header #et-top-navigation nav > ul > li > a,
#main-header.et-fixed-header #top-menu > li > a { padding-bottom: 8px !important; }
#main-header .logo_container,
#main-header.et-fixed-header .logo_container { height: 72px !important; }
/* logo : taille fixe en pixels (Divi le règle en % de l'en-tête, qui varie, et l'anime) */
body #main-header #logo,
body #main-header.et-fixed-header #logo,
body #main-header .logo_container img,
body #main-header.et-fixed-header .logo_container img {
  height: 36px !important;
  max-height: 36px !important;
  min-height: 36px !important;
  width: auto !important;
  max-width: none !important;
  transform: none !important;
  transition: none !important;
  -webkit-transition: none !important;
  animation: none !important;
}
body #main-header .logo_container a,
body #main-header.et-fixed-header .logo_container a { transition: none !important; }
#main-header.et-fixed-header { padding: 0 !important; }
