#header.pre-header-top + * {
  #header.pre-header-top + * {
  #header.pre-header-top + * {
  padding-top: 0.9rem;
#header #block-logo {
  padding: 10px 0;
}

.column-title .column-title-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--blue);
  border-radius: 50%;
  border: 1px solid var(--blue);
  font-size: 14px;
  height: 17px;
  width: 17px;
  padding: 1px;
  box-sizing: border-box;
  line-height: 1;
  flex-shrink: 0;
  margin-right: 0;
}

.column-title .column-title-icon-svg .column-title-icon-shape {
  width: 100%;
  height: 100%;
  background-color: currentColor;
}

.column-title .column-title-icon > i {
  font-size: 10.4px;
  line-height: 1;
}

.sub-menus-row a {
  color: #000000;
}

  border-top: 1px solid #474747;
  border-bottom: 1px solid #d9d9d945;
  border-top: 1px solid #474747;
  border-bottom: 1px solid #474747;
  top: 100%;
#header .menu-header .menu-icon {
  margin-right: 10px;
#header .return-menu * {
  color: var(--blue) !important;
}

#header #block-menus ul li .return-menu > *:first-child {
  font-weight: 900;

/*** Recherche */
#header .search-input {
  background-color: transparent;
  color: var(--dark);
  border: none;
}

#header .search-input:focus {
  outline: none;
  border: none;
}

#header #navbarSupportedContent.contentLinkMenu.border-primary {
  border-color: #474747 !important;
}

#header ul.dropdown-menu.bg-dark,
#header ul.dropdown-menu.bg-dark li.dropdown-item.bg-dark {
  background-color: #fff !important;
}

#header .menu-header .nav-item:hover > .dropdown-menu,
#header.sticky-header .menu-header .nav-item:hover > .dropdown-menu {
  display: block;
  background-color: #fff !important;
}

#header .menu_link .menu-text {
  font-family: Inter;
  font-size: 14px;
  font-style: normal;
  font-weight: 900;
  line-height: 140%; /* 19.6px */
  text-transform: uppercase;
}

#header #block-menus,
#header #block-menus ul li,
.container-sub-menus a span {
  font-size: 14px;
  font-weight: 500;
  font-family: Inter;
}

#header .column-title-text {
  font-family: Inter;
  font-size: 14px;
  color: #000000;
  font-weight: 900;
  line-height: 1;
  /* Compense l'asymétrie ascender/descender de Inter en capitales :
     les caps sont un peu au-dessus du centre de la line-box. */
  padding-top: 2px;
}

.column-title {
  font-family: Inter;
  font-size: 16px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
}

.column-title {
  padding: 10px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

@media (min-width: 992px) {
  .column-title.d-lg-inline-block {
    display: inline-flex !important;
  }
  .column-title.d-lg-block {
    display: flex !important;
  }
}

.no-column-titles h5.column-title {
  display: none;
}

.no-column-titles .accordion-content-mobile {
  padding-top: 0;
}

.accordion-header-mobile .accordion-icon {
  color: #000000;
}

#header .menu-header .dropdown-menu::before {
  display: none;
}

#header #block-social-networks i.fab {
  color: var(--blue);
}

#header #block-social-networks .icon-menu.overBlue svg path {
  fill: var(--blue);
}

@media (min-width: 992px) {
  #header #block-social-networks i.fab {
    color: #ffffff;
  }
  #header #popover-contact .ellipse-icon-menu .svg-icon-menu path {
    fill: #ffffff;
  }
}

.container-sub-menus a[style*="font-weight: bold"] span,
.container-sub-menus a[style*="font-weight:bold"] span {
  font-weight: 900 !important;
}

/* Pre-header desktop */
@media (min-width: 992px) {
  #header {
    overflow: visible;
  }

  /* === MODE BOTTOM (défaut) : pré-header sort du flux, suit le dropdown === */
  #header:not(.pre-header-top) #pre-header {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 999;
  }

  /* Le dropdown a z-index 1000 → passe devant le pre-header */
  #header .menu-header .dropdown-menu {
    z-index: 1000;
  }

  /* Maintient le dropdown ouvert quand la souris est sur le pre-header (mode bottom) */
  #header li.menu_link.dropdown-pinned > .dropdown-menu {
    display: block !important;
  }

  /* === MODE TOP : pré-header dans le flux normal, en premier dans le header === */
  #header.pre-header-top #pre-header {
    position: static;
    width: 100%;
  }
}

/**************************************/
/**           MÉDIA QUERIES           */
/**************************************/

@media (max-width: 991px) {
  #header #block-search hr.bg-primary {
    background-color: #474747 !important;
  }

  .accordion-header-mobile,
  #header #block-menus ul li.nav-item {
    border-bottom: 1px solid #d9d9d9;
  }

  .contentLinkMenu {
    background-color: #fff;
  }

  #header #block-menus .return-menu .return-button {
    font-weight: 400;
  }

  #header #block-menus {
    padding-top: 25px;
    padding-bottom: 30px;
  }

  #header #block-netreviews a:not(:hover) {
    color: var(--gray-700);
  }

  #header #block-netreviews {
    padding: 0 !important;
    margin-bottom: 8px;
  }

  .accordion-content-mobile {
    padding: 0;
  }

  .container-sub-menus a {
    padding: 10px 0;
  }

  /* Si le texte du menu desktop est configuré en BO en blanc, en mobile on passe le texte en noir (car fond blanc) */
  #header
    #block-menus
    ul#block-menu-links
    > li.menu_link[style*="--menu-color: #ffffff" i]
    > a,
  #header
    #block-menus
    ul#block-menu-links
    > li.menu_link[style*="--menu-color: #ffffff" i]
    > i.fa-chevron-right {
    -webkit-text-fill-color: #000000 !important;
  }

  #header .return-menu {
    padding: 0;
    margin-bottom: 20px;
  }

  #header .accordion-header-mobile {
    /* margin-bottom: 3px; */
    border-bottom: none;
    /* border-top: 1px solid #d9d9d9; */
  }

  #header .accordion-header-mobile .column-title,
  #header .accordion-header-mobile .accordion-icon {
    padding: 10px 0;
  }

  #header .accordion-content-mobile.active,
  sub-menu:first-of-type {
    padding-top: calc(10px +10px);
  }

  #header .sub-menu-column {
    padding: 10px 5px 10px 5px;
    position: relative;
  }

  #header .sub-menu-column .accordion-content-mobile .sub-menu:last-of-type {
    padding-bottom: calc(10px + 30px);
  }

  #header .sub-menu-column:has(.accordion-content-mobile)::after {
    content: "";
    position: absolute;
    background-color: #d9d9d9;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 0;
  }

  /* Colonne vide = placeholder pour le grid desktop : pas de titre (classe
     `sub-menu-column--no-title` posée par le tpl) ET pas de sous-liens
     (donc pas de `.sub-menu-flat-list` rendu). Inutile sur mobile où le grid
     est dissous (pillars en display: contents) → on la cache. */
  #header
    .sub-menu-column.sub-menu-column--no-title:not(:has(.sub-menu-flat-list)) {
    display: none;
  }

  #header .menu-header .container-sub-menus {
    padding: 25px 20px;
  }

  #header .sub-menus-row {
    margin-left: -20px;
    margin-right: -20px;
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media (min-width: 992px) {
  #header.sticky-header .menu-header a.sub-menu:hover,
  #header .menu-header a.sub-menu:hover,
  .column-title--link:hover {
    color: #000000 !important;
    border-radius: 8px;
    background: #bfff07;
  }

  .column-title--link:hover .column-title-icon {
    color: #000000;
    border-color: #000000;
  }

  #header.sticky-header .menu-header a.sub-menu:hover .svg-mask,
  #header .menu-header a.sub-menu:hover .svg-mask {
    background-color: #000000 !important;
  }

  #header ul.dropdown-menu.bg-dark,
  #header ul.dropdown-menu.bg-dark li.dropdown-item.bg-dark {
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(2px);
  }

  #header .menu-header .nav-item:hover > .dropdown-menu,
  #header.sticky-header .menu-header .nav-item:hover > .dropdown-menu {
    background-color: rgba(255, 255, 255, 0.9) !important;
    backdrop-filter: blur(2px);
  }

  #header li.menu_link.dropdown:hover > a .menu-text,
  #header li.menu_link:has(> ul.dropdown-menu.show-sub-menu) > a .menu-text {
    color: #bfff0a !important;
  }

  #header #block-menus ul li.nav-item.dropdown::after {
    display: none;
  }

  #header.sticky-header #block-menus ul#block-menu-links,
  #header #block-menus ul#block-menu-links {
    gap: 42px;
  }

  .sub-menus-row {
    display: flex;
    flex-direction: row;
    gap: 25px;
    align-items: flex-start;
  }

  .sub-menu-pillar {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  #header .menu-header .nav-item.menu_link.dropdown > a {
    position: relative;
  }

  #header .menu-header .nav-item.menu_link.dropdown:hover > a::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 40px;
    background: transparent;
  }
}