/* Menu flottant commun aux sites migrés (modèle des Deux Marronniers, 14/10/2026), aux couleurs du site. */
:root {
  --menu-texte: #333333;
  --menu-survol: #2ea3f2;
  --action-fond: #2ea3f2;
  --action-texte: #ffffff;
  --action-survol-fond: #1b7fc4;
  --action-survol-texte: #ffffff;
  --menu-ombre: rgba(46, 163, 242, .22);
}
#main-header {
  left: 50% !important;
  right: auto !important;
  width: calc(100% - 32px) !important;
  max-width: 1088px !important;
  margin-top: 12px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: #fff !important;
  box-shadow: 0 12px 28px var(--menu-ombre);
}
#main-header .container { width: calc(100% - 60px); max-width: none; }
#top-menu > li { padding-right: 12px; }
#main-header #top-menu > li > a {
  color: var(--menu-texte) !important;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 1.4px !important;
  text-transform: uppercase;
}
#main-header #top-menu > li > a:hover,
#main-header #top-menu > li > a:focus-visible { color: var(--menu-survol) !important; opacity: 1; }
#top-menu > li.menu-action { padding-right: 0; }
#main-header #top-menu > li.menu-action > a {
  margin-top: -10px;
  padding: 10px 18px !important;
  border-radius: 999px;
  background: var(--action-fond);
  color: var(--action-texte) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  line-height: 1.4;
}
#main-header #top-menu > li.menu-action > a:hover,
#main-header #top-menu > li.menu-action > a:focus-visible { background: var(--action-survol-fond); color: var(--action-survol-texte) !important; opacity: 1; }
@media (min-width: 981px) and (max-width: 1099px) {
  #main-header .container { width: calc(100% - 40px); }
  #top-menu > li { padding-right: 8px; }
  #main-header #top-menu > li > a { font-size: 13px !important; letter-spacing: 1px !important; }
  #main-header #top-menu > li.menu-action > a { padding-inline: 14px !important; letter-spacing: .8px !important; }
}
@media (max-width: 980px) {
  #main-header { position: fixed !important; top: 0; width: calc(100% - 24px) !important; max-width: none !important; }
  #main-header .container { width: calc(100% - 38px); }
  #main-header .mobile_menu_bar:before { color: var(--action-fond); }
  #main-header .mobile_menu_bar:hover:before,
  #main-header .mobile_menu_bar:focus-visible:before { color: var(--menu-survol); }
  #mobile_menu { border-top: 0; border-radius: 12px; overflow: hidden; max-height: calc(100vh - 110px); overflow-y: auto; }
  #mobile_menu > li > a { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 17px !important; font-weight: 500; letter-spacing: .2px; color: var(--menu-texte) !important; }
  #mobile_menu > li > a:hover, #mobile_menu > li > a:focus-visible { color: var(--menu-survol) !important; }
  #mobile_menu li.menu-action > a { background: var(--action-fond); color: var(--action-texte) !important; font-weight: 600; text-align: center; }
  #mobile_menu li.menu-action > a:hover, #mobile_menu li.menu-action > a:focus-visible { background: var(--action-survol-fond); color: var(--action-survol-texte) !important; }
}
/* Logo : hauteur fixe, largeur proportionnelle ; il se réduit avec la barre au défilement. */
#main-header #logo { height: 48px !important; width: auto !important; max-height: none !important; max-width: none !important; transition: height .3s ease !important; }
@media (max-width: 1199px) { #main-header #logo { height: 36px !important; } }
#main-header.et-fixed-header #logo { height: 34px !important; }
/* Repère sous le lien de la section ou de la page affichée, et au survol (sauf le bouton d'action). */
#top-menu > li > a.site-active::after,
#top-menu > li:not(.menu-action) > a:hover::after,
#top-menu > li:not(.menu-action) > a:focus-visible::after {
  content: "";
  position: absolute;
  top: 22px;
  left: 50%;
  width: 14px;
  height: 14px;
  margin-left: -7px;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'><rect x='0' y='1' width='24' height='2.6' rx='1.2' fill='%23333333'/><path d='M1.5 4.2h21l-3.6 10.3H5.1z' fill='%232ea3f2'/></svg>") center / contain no-repeat;
  pointer-events: none;
}
#main-header.et-fixed-header #top-menu > li > a.site-active::after,
#main-header.et-fixed-header #top-menu > li:not(.menu-action) > a:hover::after { top: 19px; width: 11px; height: 11px; margin-left: -5.5px; }
.et_mobile_menu li a.site-active::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin-right: 9px;
  vertical-align: -2px;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'><rect x='0' y='1' width='24' height='2.6' rx='1.2' fill='%23333333'/><path d='M1.5 4.2h21l-3.6 10.3H5.1z' fill='%232ea3f2'/></svg>") center / contain no-repeat;
}
/* Téléphone : bouton d'appel rond dans la barre quand le bouton d'action est un numéro (posé par menu.js). */
#main-header .menu-action-tel { display: none; }
@media (max-width: 980px) {
  #main-header .menu-action-tel {
    display: block;
    position: absolute;
    right: 52px;
    top: 50%;
    width: 40px;
    height: 40px;
    margin-top: -20px;
    border-radius: 50%;
    background: var(--action-fond) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E") center / 20px no-repeat;
    box-shadow: 0 4px 10px var(--menu-ombre);
  }
}
