/*
Theme Name: Hello Elementor Child
Description: Hello Elementor Child Theme
Template: hello-elementor
*/

/* ==========================================================================
   HEADER SEY 78 - CUSTOM STYLING
   ========================================================================== */

/* ==========================================================================
   CSS VARIABLES & DESIGN TOKENS
   ========================================================================== */
:root {
  /* Backgrounds & Hover states */
  --color-bg-hover: #f4f7fb;
  --color-bg-active: #edf3f9;
  --color-bg-mobile-sub: #f8fafc;

  /* Borders */
  --color-border-light: #e8ecf1;
  --color-border-dropdown: #eef2f6;
  --color-border-mobile: #f1f5f9;
  --color-border-sub: #edf2f7;
  --color-border-input: #cbd5e1;

  /* Gradients */
  --color-gradient-bar: linear-gradient(to right, #35b6c6, #6578a9, #9d358c);
}

/* Header parent container */
.site-header {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: var(--e-global-color-04a2023) !important;
  position: relative;
  z-index: 999;
}

/* --------------------------------------------------------------------------
   1. TOP BAR (DESKTOP)
   -------------------------------------------------------------------------- */
.header-topbar {
  background-color: var(--e-global-color-04a2023) !important;
  border-bottom: 1px solid var(--color-border-light) !important;
}

.header-topbar > .e-con-inner {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: stretch !important;
  width: 100% !important;
}

/* Ensure dropdowns are not clipped on top bar */
.header-topbar,
.header-topbar > .e-con-inner,
.topbar-nav,
.topbar-nav .elementor-nav-menu--main {
  overflow: visible !important;
}

/* Hide Elementor underline pointer on top bar */
.topbar-nav.e--pointer-underline .elementor-item:before,
.topbar-nav.e--pointer-underline .elementor-item:after,
.topbar-nav .elementor-nav-menu--main .elementor-item:before,
.topbar-nav .elementor-nav-menu--main .elementor-item:after {
  display: none !important;
  content: none !important;
}

.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  height: 100% !important;
}

.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 100% !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: var(--e-global-color-8a08f6c) !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

/* Top bar: hover / active / current page → blue block + white text */
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:hover > a.elementor-item,
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item:hover,
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item:focus,
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item.highlighted,
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.current-menu-item > a.elementor-item,
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.current-menu-ancestor > a.elementor-item,
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.current_page_item > a.elementor-item,
.topbar-nav .elementor-nav-menu--main > ul.elementor-nav-menu > li.current_page_ancestor > a.elementor-item {
  background-color: var(--e-global-color-0b5d293) !important;
  color: var(--e-global-color-04a2023) !important;
}

/* --------------------------------------------------------------------------
   2. MAIN HEADER BAR (DESKTOP)
   -------------------------------------------------------------------------- */

button.e-search-submit{
  padding: 10px !important;
}

/* Ensure dropdowns are not clipped */
.site-header,
.header-main,
.header-main > .e-con-inner,
.header-right,
.header-right > .e-con-inner,
.header-nav-primary,
.header-nav-primary > .elementor-widget-container,
.header-nav-primary .elementor-nav-menu--main {
  overflow: visible !important;
}

/* Logo container & image */
.header-logo-wrap {
  flex: 0 0 auto !important;
  width: auto !important;
}

.header-logo img {
  width: auto !important;
  max-width: 210px !important;
  max-height: 59px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
}


/* Main Navigation Menu Widget (Desktop) */
.header-nav-primary {
  flex: 0 1 auto !important;
  display: flex !important;
  align-items: stretch !important;
  align-self: stretch !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Elementor widget-level override to guarantee full-height stretch */
.header-main .header-nav-primary.elementor-widget {
  align-self: stretch !important;
  margin-bottom: 0 !important;
  height: auto !important;
  min-height: 100% !important;
}

.header-nav-primary > .elementor-widget-container,
.header-nav-primary .elementor-widget-container {
  display: flex !important;
  align-items: stretch !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.header-nav-primary .elementor-nav-menu--main,
.header-nav-primary .elementor-nav-menu__container {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
}

.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  flex-wrap: nowrap !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  height: 100% !important;
}

/* Hide default Elementor pointer underline & pseudo-elements */
.header-nav-primary.e--pointer-underline .elementor-item:before,
.header-nav-primary.e--pointer-underline .elementor-item:after,
.header-nav-primary .elementor-nav-menu--main .elementor-item:before,
.header-nav-primary .elementor-nav-menu--main .elementor-item:after {
  display: none !important;
  content: none !important;
}

/* Hide caret/down arrow on desktop */
.header-nav-primary .elementor-nav-menu--main .sub-arrow {
  display: none !important;
}

/* Top-level menu item container */
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item {
  position: relative !important;
  display: flex !important;
  align-items: stretch !important;
  align-self: stretch !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  flex-shrink: 0 !important;
}

/* Top-level menu link */
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  align-self: stretch !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: var(--e-global-color-8a08f6c) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  text-decoration: none !important;
  background-color: transparent !important;
  white-space: normal !important;
  word-break: keep-all !important;
  width: auto !important;
  max-width: 200px !important;
  margin: 0 !important;
  padding: 30px 20px !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
  line-height: 1.2 !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

/* Force "PUBLICATIONS ET DOCUMENTS" to wrap on 2 lines (width 159px from Figma mockup) */
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-77,
.elementor-element-144ed0d .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-77,
.elementor-widget-nav-menu .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-77 {
  position: relative !important;
  width: 159px !important;
  max-width: 159px !important;
  min-width: 159px !important;
  flex: 0 0 159px !important;
  display: flex !important;
  align-items: stretch !important;
}

.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-77 > a.elementor-item,
.elementor-element-144ed0d .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-77 > a.elementor-item,
.elementor-widget-nav-menu .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item-77 > a.elementor-item,
.header-nav-primary .elementor-nav-menu--main a.elementor-item[href*="publications-et-documents"] {
  position: relative !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  width: 100% !important;
  max-width: 159px !important;
  align-self: stretch !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
  letter-spacing: -0.2px !important;
  padding: 0 4px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  white-space: normal !important;
  word-break: normal !important;
  text-align: center !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  margin: 0 !important;
  z-index: 2 !important;
}

/* Top-level item active / open / hover state: Solid blue block with white text filling full height */
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:hover > a.elementor-item,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item:focus-within > a.elementor-item,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item:hover,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item:focus,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item.highlighted,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item.highlighted > a.elementor-item,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item.elementor-item-active,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item[aria-expanded="true"],
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.current-menu-item > a.elementor-item,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.current-menu-ancestor > a.elementor-item,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.current_page_item > a.elementor-item,
.header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.current_page_ancestor > a.elementor-item {
  background-color: var(--e-global-color-0b5d293) !important;
  color: var(--e-global-color-04a2023) !important;
}

/* --------------------------------------------------------------------------
   DESKTOP SUBMENU DROPDOWN (desktop uniquement)
   -------------------------------------------------------------------------- */
@media (min-width: 1025px) {
  /* Sous-menu dropdown — ciblage via classes WordPress natives */
  .header-nav-primary .menu-item-has-children > .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: max-content !important;
    min-width: 260px !important;
    background-color: var(--e-global-color-04a2023) !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1) !important;
    border: none !important;
    border-radius: 0 0 4px 4px !important;
    margin: 0 !important;
    padding: 0 0 10px 0 !important;
    margin-left: -10px !important;
    list-style: none !important;
    z-index: 1000 !important;
  }

  /* Premier élément (LE SYNDICAT) : pas de décalage gauche */
  .header-nav-primary .menu-item-147 > .sub-menu {
    margin-left: 0 !important;
  }

  /* Affichage au survol */
  .header-nav-primary .menu-item-has-children:hover > .sub-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Sous-menu — éléments de liste */
  .header-nav-primary .sub-menu > .menu-item {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  /* Sous-menu — liens : une seule ligne, le conteneur s'adapte */
  .header-nav-primary .sub-menu > .menu-item > a {
    display: block !important;
    padding: 10px 22px !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    color: var(--e-global-color-8a08f6c) !important;
    text-transform: none !important;
    text-decoration: none !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    line-height: 1.4 !important;
    background-color: transparent !important;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
  }

  /* Sous-menu — survol des liens */
  .header-nav-primary .sub-menu > .menu-item > a:hover,
  .header-nav-primary .sub-menu > .menu-item > a:focus {
    background-color: var(--color-bg-hover) !important;
    color: var(--e-global-color-0b5d293) !important;
    padding-left: 26px !important;
  }

  /* Sous-menu — lien actif / page courante */
  .header-nav-primary .sub-menu > .menu-item.current-menu-item > a,
  .header-nav-primary .sub-menu > .menu-item.current_page_item > a {
    color: var(--e-global-color-0b5d293) !important;
    font-weight: 600 !important;
    background-color: var(--color-bg-active) !important;
  }
}

/* Actions wrapper (Search + Adherent Button) */
.header-actions {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  flex: 0 0 auto !important;
}

/* Button: Espace Adhérent */
.header-btn-adherent {
  margin: 0 !important;
}

.header-btn-adherent .elementor-button {
  color: var(--e-global-color-04a2023) !important;
  width: 217px !important;
  height: 53px !important;
  padding: 15px 30px !important;
  transition: all 0.25s ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(18, 78, 143, 0.25) !important;
  border: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.header-btn-adherent .elementor-button:hover,
.header-btn-adherent .elementor-button:focus {
  background-color: #0d3b6c !important;
  color: var(--e-global-color-04a2023) !important;
  box-shadow: 0 4px 10px rgba(18, 78, 143, 0.35) !important;
  transform: translateY(-1px);
}

/* Search widget: Compact */
.recherche-compacte {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
}

.recherche-compacte .e-search-form {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  flex-direction: row-reverse !important;
  margin: 0 !important;
}

.recherche-compacte .e-search-submit {
  background: transparent !important;
  border: none !important;
  padding: 6px !important;
  margin: 0 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--e-global-color-8a08f6c) !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.recherche-compacte .e-search-submit svg {
  width: 20px !important;
  height: 20px !important;
  fill: currentColor !important;
}

.recherche-compacte .e-search-submit:hover {
  color: var(--e-global-color-8a08f6c) !important;
  transform: scale(1.05);
}

.recherche-compacte .e-search-input-wrapper {
  position: absolute !important;
  right: 100% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transition: width 0.25s ease, opacity 0.25s ease, visibility 0.25s ease !important;
  margin-right: 8px !important;
  z-index: 100 !important;
}

.recherche-compacte.is-open .e-search-input-wrapper,
.recherche-compacte:focus-within .e-search-input-wrapper {
  width: 210px !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.recherche-compacte .e-search-input {
  width: 100% !important;
  height: 38px !important;
  padding: 6px 14px !important;
  border: 1px solid var(--color-border-input) !important;
  border-radius: 20px !important;
  background: var(--e-global-color-04a2023) !important;
  font-size: 13px !important;
  outline: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

/* Medium desktop screens adjustments (1025px - 1340px) */
@media (max-width: 1340px) and (min-width: 1025px) {
  .header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu {
    gap: 4px !important;
  }
  .header-nav-primary .elementor-nav-menu--main > ul.elementor-nav-menu > li.menu-item > a.elementor-item {
    padding: 0 8px !important;
    font-size: 18px !important;
  }
}

/* --------------------------------------------------------------------------
   3. MOBILE & TABLET LAYOUT (< 1025px)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  /* 1. Hide the secondary top bar on mobile */
  .header-topbar {
    display: none !important;
  }

  /* Fix: Ensure dropdown menu is not clipped on mobile */
  .site-header,
  .header-main,
  .header-main > .e-con-inner,
  .header-right,
  .header-right > .e-con-inner,
  .header-nav-primary,
  .header-nav-primary > .elementor-widget-container {
    overflow: visible !important;
  }

  .header-main > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
  }

  /* 3. Row 1: Logo centered */
  .header-logo-wrap {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto !important;
  }

  .header-logo {
    margin: 0 auto !important;
    display: flex !important;
    justify-content: center !important;
  }

  .header-logo img {
    max-width: 180px !important;
    max-height: 52px !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  /* 4. Row 2: Search (Left), Button (Center), Burger (Right) */
  .header-right {
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
    gap: 0 !important;
    min-height: 72px !important;
    margin-bottom: 0 !important;
  }

  /* Flatten actions container to distribute Search & Button directly */
  .header-actions {
    display: contents !important;
  }

  /* Search: Left */
  .recherche-compacte {
    order: 1 !important;
    flex: 0 0 auto !important;
  }

  .recherche-compacte .e-search-input-wrapper {
    right: auto !important;
    left: 0 !important;
    top: calc(100% + 8px) !important;
    transform: none !important;
    margin-right: 0 !important;
  }

  .recherche-compacte.is-open .e-search-input-wrapper,
  .recherche-compacte:focus-within .e-search-input-wrapper {
    width: min(280px, 80vw) !important;
  }

  /* Button: Center */
  .header-btn-adherent {
    order: 2 !important;
    flex: 0 0 auto !important;
    margin: 0 auto !important;
  }

  .header-btn-adherent .elementor-button {
    padding: 10px 22px !important;
    font-size: 18px !important;
  }

  /* Menu Widget: Right */
  .header-nav-primary,
  .header-nav-primary.elementor-element,
  .header-nav-primary .elementor-widget-container {
    order: 3 !important;
    flex: 0 0 50px !important;
    width: 50px !important;
    position: static !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Hide desktop menu bar on mobile */
  .header-nav-primary .elementor-nav-menu--main {
    display: none !important;
  }

  /* Burger toggle (Default / Closed State) */
  .elementor-menu-toggle,
  .header-nav-primary .elementor-menu-toggle {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    color: var(--e-global-color-8a08f6c) !important;
    width: auto !important;
    height: auto !important;
    position: static !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .elementor-menu-toggle svg,
  .header-nav-primary .elementor-menu-toggle svg {
    width: 26px !important;
    height: 20px !important;
    fill: var(--e-global-color-8a08f6c) !important;
    color: var(--e-global-color-8a08f6c) !important;
  }

  .elementor-menu-toggle i,
  .header-nav-primary .elementor-menu-toggle i {
    font-size: 22px !important;
    color: var(--e-global-color-8a08f6c) !important;
  }

  /* Add 'MENU' text underneath the burger icon */
  .elementor-menu-toggle::after,
  .header-nav-primary .elementor-menu-toggle::after {
    content: "MENU";
    display: block;
    font-family: inherit;
    font-size: 10.5px;
    font-weight: 700;
    color: var(--e-global-color-8a08f6c) !important;
    letter-spacing: 0.5px;
    line-height: 1.2;
    margin-top: 3px;
    text-transform: uppercase;
  }

  /* Burger toggle: ACTIVE / OPEN state — solid blue block flush to right edge & flush to dropdown menu */
  .elementor-menu-toggle[aria-expanded="true"],
  .header-nav-primary .elementor-menu-toggle[aria-expanded="true"],
  .elementor-menu-toggle.elementor-active,
  .header-nav-primary .elementor-menu-toggle.elementor-active {
    position: absolute !important;
    right: -16px !important;
    top: 0 !important;
    bottom: -2px !important;
    width: 72px !important;
    background-color: var(--e-global-color-0b5d293) !important;
    color: var(--e-global-color-04a2023) !important;
    padding: 0 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 10001 !important;
    box-shadow: none !important;
    outline: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .elementor-menu-toggle[aria-expanded="true"] svg,
  .header-nav-primary .elementor-menu-toggle[aria-expanded="true"] svg,
  .elementor-menu-toggle.elementor-active svg,
  .header-nav-primary .elementor-menu-toggle.elementor-active svg {
    width: 18px !important;
    height: 18px !important;
    fill: var(--e-global-color-04a2023) !important;
    stroke: var(--e-global-color-04a2023) !important;
    color: var(--e-global-color-04a2023) !important;
  }

  .elementor-menu-toggle[aria-expanded="true"] svg path,
  .header-nav-primary .elementor-menu-toggle[aria-expanded="true"] svg path,
  .elementor-menu-toggle.elementor-active svg path,
  .header-nav-primary .elementor-menu-toggle.elementor-active svg path {
    fill: var(--e-global-color-04a2023) !important;
    stroke: var(--e-global-color-04a2023) !important;
  }

  .elementor-menu-toggle[aria-expanded="true"] i,
  .header-nav-primary .elementor-menu-toggle[aria-expanded="true"] i,
  .elementor-menu-toggle.elementor-active i,
  .header-nav-primary .elementor-menu-toggle.elementor-active i {
    font-size: 18px !important;
    color: var(--e-global-color-04a2023) !important;
  }

  .elementor-menu-toggle[aria-expanded="true"]::after,
  .header-nav-primary .elementor-menu-toggle[aria-expanded="true"]::after,
  .elementor-menu-toggle.elementor-active::after,
  .header-nav-primary .elementor-menu-toggle.elementor-active::after {
    color: var(--e-global-color-04a2023) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    margin-top: 4px !important;
  }

  /* Dropdown Menu Full Width — plein écran mobile */
  .header-nav-primary .elementor-nav-menu--dropdown,
  .header-nav-primary .elementor-nav-menu--dropdown.elementor-nav-menu__container,
  .header-nav-primary nav.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    padding-top: 0 !important;
    border: none !important;
    border-top: none !important;
    background-color: var(--e-global-color-04a2023) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12) !important;
    z-index: 9999 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .header-nav-primary .elementor-nav-menu--dropdown > ul.elementor-nav-menu {
    margin: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    padding-top: 0 !important;
    list-style: none !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  /* Mobile Top-Level Items - Default State (clean white & desktop black text) */
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item {
    padding: 14px 20px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: var(--e-global-color-8a08f6c) !important;
    background-color: var(--e-global-color-04a2023) !important;
    border-bottom: 1px solid var(--color-border-mobile) !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
  }

  /* Mobile Top-Level Items - Hover / Active / Open / Highlighted State (Desktop Blue #134e8d + White Text) */
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item:hover,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item:focus,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item.elementor-item-active,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item.highlighted,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item[aria-expanded="true"],
  .header-nav-primary .elementor-nav-menu--dropdown li.menu-item:hover > .elementor-item,
  .header-nav-primary .elementor-nav-menu--dropdown li.menu-item.highlighted > .elementor-item,
  .header-nav-primary .elementor-nav-menu--dropdown li.current-menu-item > .elementor-item,
  .header-nav-primary .elementor-nav-menu--dropdown li.current-menu-ancestor > .elementor-item,
  .header-nav-primary .elementor-nav-menu--dropdown li.current_page_item > .elementor-item,
  .header-nav-primary .elementor-nav-menu--dropdown li.current_page_ancestor > .elementor-item {
    background-color: var(--e-global-color-0b5d293) !important;
    color: var(--e-global-color-04a2023) !important;
  }

  .header-nav-primary .elementor-nav-menu--dropdown .sub-arrow {
    display: inline-flex !important;
    margin-left: auto !important;
  }

  .header-nav-primary .elementor-nav-menu--dropdown .sub-arrow svg {
    width: 12px !important;
    height: 12px !important;
    fill: var(--e-global-color-d54439d) !important;
    transition: fill 0.2s ease, transform 0.2s ease !important;
  }

  /* Arrow turns white when parent item is open / active / hovered */
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item:hover .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item:focus .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item.elementor-item-active .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item.highlighted .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-item[aria-expanded="true"] .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown li.menu-item:hover > .elementor-item .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown li.menu-item.highlighted > .elementor-item .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown li.current-menu-item > .elementor-item .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown li.current-menu-ancestor > .elementor-item .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown li.current_page_item > .elementor-item .sub-arrow svg,
  .header-nav-primary .elementor-nav-menu--dropdown li.current_page_ancestor > .elementor-item .sub-arrow svg {
    fill: var(--e-global-color-04a2023) !important;
  }

  /* Mobile Submenu Styling — override du width: max-content desktop */
  .header-nav-primary .elementor-nav-menu--dropdown ul.sub-menu,
  .header-nav-primary .elementor-nav-menu--dropdown .sub-menu,
  .header-nav-primary .menu-item-has-children > .sub-menu {
    background-color: var(--color-bg-mobile-sub) !important;
    list-style: none !important;
    margin: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    box-shadow: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }

  /* Force les li parents du sous-menu à prendre toute la largeur */
  .header-nav-primary .elementor-nav-menu--dropdown li.menu-item,
  .header-nav-primary .elementor-nav-menu--dropdown li.menu-item-has-children {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* Sous-menu items : pleine largeur sans décalage */
  .header-nav-primary .elementor-nav-menu--dropdown .sub-menu > li.menu-item {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  /* Mobile : les liens du sous-menu passent à la ligne si nécessaire */
  .header-nav-primary .sub-menu > .menu-item > a {
    white-space: normal !important;
  }

  .header-nav-primary .elementor-nav-menu--dropdown .elementor-sub-item {
    display: block !important;
    padding: 12px 20px 12px 34px !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    color: var(--e-global-color-d54439d) !important;
    background-color: transparent !important;
    border-bottom: 1px solid var(--color-border-sub) !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: background-color 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
  }

  /* Submenu Hover / Focus */
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-sub-item:hover,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-sub-item:focus {
    background-color: var(--color-bg-hover) !important;
    color: var(--e-global-color-0b5d293) !important;
    padding-left: 38px !important;
  }

  /* Submenu Active / Highlighted / Current Page (Overrides Elementor's default #3f444b) */
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active,
  .header-nav-primary .elementor-nav-menu--dropdown .elementor-sub-item.highlighted,
  .header-nav-primary .elementor-nav-menu--dropdown ul.sub-menu li.current-menu-item > .elementor-sub-item,
  .header-nav-primary .elementor-nav-menu--dropdown ul.sub-menu li.current_page_item > .elementor-sub-item {
    background-color: var(--color-bg-active) !important;
    color: var(--e-global-color-0b5d293) !important;
    font-weight: 600 !important;
  }
}

/* ==========================================================================
   FOOTER SEY 78 - CUSTOM STYLING
   ========================================================================== */

/* Footer background gradient: teal-blue → magenta/purple (left to right) */
.site-footer {
  background: var(--color-gradient-bar) !important;
}

.infos .adress-infos p, .infos .phone-infos p, .infos .email-infos p, .infos .hours-infos p, .follow-us p {
  font-size: 16px !important;
}

.social-networks .reseau-socio-text p span{
  font-size: 16px !important;
}