/* Site header (ElementsKit template "Main Header"): overlays the page top, turns sticky with blur on scroll. */
.ekit-template-content-header { position: absolute; top: 0; left: 0; right: 0; z-index: 999; }
/* pages that start with a full-bleed dark hero sit under the header; others get pushed down */
body:not(:has(.elementor > .mh-dark:first-child, .mh-tpl > .mh-dark:first-child)) { padding-top: 100px; }
@media (max-width: 991px) { body:not(:has(.elementor > .mh-dark:first-child, .mh-tpl > .mh-dark:first-child)) { padding-top: 76px; } }
.ekit-template-content-header.is-sticky { position: fixed; top: -1px; animation: hdFadeInDown .5s ease both; }
@keyframes hdFadeInDown { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }

.hd-bar.e-con { background: rgba(7, 18, 48, .72); transition: .5s; --gap: 0px; }
.ekit-template-content-header.is-sticky .hd-bar.e-con {
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: 0 2px 28px 0 rgba(0, 0, 0, .09);
}
.hd-bar .elementor-widget { margin: 0 !important; }
/* reference logo is a 140x45 box with ~17px inner padding around the artwork */
.hd-bar .hd-logo { width: 267px; }
.hd-bar .hd-logo img { display: block; width: 250px; height: auto; margin-left: 17px; }
@media (max-width: 767px) { .hd-bar .hd-logo { width: 150px; } .hd-bar .hd-logo img { width: 150px; margin-left: 0; } }
@media (max-width: 374px) { .hd-bar .hd-logo { width: 136px !important; } .hd-bar .hd-logo img { width: 136px; } }
.hd-bar .hd-menu .elementskit-navbar-nav > li > a { white-space: nowrap; line-height: 1.5; }
.hd-bar .hd-cta .elementor-button { display: inline-flex; align-items: center; height: 50px; }

/* Desktop dropdown */
.hd-bar .hd-menu .elementskit-submenu-panel {
  padding: 15px 0 !important; border-radius: 0 0 5px 5px !important; border: 0 !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
}
.hd-bar .hd-menu .elementskit-submenu-panel > li > a {
  font-family: "League Spartan", "League Spartan Fallback", sans-serif; font-size: 15px !important; font-weight: 500 !important; line-height: 22.5px; padding: 8px 20px !important;
}
@media (min-width: 1400px) { .hd-bar .hd-menu { padding-left: 45px; } }

/* Hamburger + off-canvas panel */
.hd-bar .hd-menu button.elementskit-menu-hamburger {
  width: 44px; height: 44px; padding: 10px; border: 1px solid rgba(255, 255, 255, .2) !important; border-radius: 8px; background: transparent !important;
}
.hd-bar .hd-menu button.elementskit-menu-hamburger .elementskit-menu-hamburger-icon { background-color: #fff; }
@media (max-width: 1024px) {
  .hd-bar .hd-cta { order: 2; margin-left: auto !important; }
  .hd-bar .hd-menu { order: 3; flex: 0 0 auto !important; width: auto !important; margin-left: 10px !important; }
  .hd-bar .hd-cta .elementor-button { height: 44px; }
  .hd-bar .hd-menu .elementskit-menu-container { background: #071230 !important; border-left: 1px solid rgba(255, 255, 255, .08); }
  .hd-bar .hd-menu .elementskit-navbar-nav > li > a {
    color: #fff !important; font-size: 17px !important; padding: 14px 22px !important; border-bottom: 1px solid rgba(255, 255, 255, .06);
  }
  .hd-bar .hd-menu .elementskit-navbar-nav > li.current-menu-item > a { color: #8fb2f2 !important; }
  .hd-bar .hd-menu .elementskit-submenu-panel { background: #0b1a3f !important; box-shadow: none; padding: 0 !important; }
  .hd-bar .hd-menu .elementskit-submenu-panel > li > a { color: #c4cde3 !important; padding: 12px 22px 12px 36px !important; }
  .hd-bar .hd-menu button.elementskit-menu-close {
    color: #fff !important; border: 1px solid rgba(255, 255, 255, .3) !important; border-radius: 8px; background: transparent !important;
  }
  .elementskit-menu-overlay { background-color: rgba(0, 0, 0, .6) !important; }
}
@media (max-width: 339px) { .hd-bar .hd-logo { width: 116px !important; } .hd-bar .hd-logo img { width: 116px; } }

/* Anchor links all point at the home URL and ElementsKit marks them .active — only the real current item stays blue. */
.hd-menu .elementskit-navbar-nav > li.active:not(.current-menu-item) > a.ekit-menu-nav-link { color: #c9d3ea; }
.hd-menu .elementskit-navbar-nav > li.active:not(.current-menu-item) > a.ekit-menu-nav-link:hover { color: #8fb2f2; }
@media (max-width: 1024px) { .hd-menu .elementskit-navbar-nav > li.active:not(.current-menu-item) > a.ekit-menu-nav-link { color: #FFFFFF; } }

/* Liseré tricolore sous la barre de navigation */
.hd-bar.e-con { position: relative; }
.hd-bar.e-con::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; pointer-events: none;
  background: linear-gradient(90deg, #0055a4 0 33.34%, #ffffff 33.34% 66.67%, #d9252f 66.67% 100%); }

/* Menu mobile ouvert après défilement : le flou (backdrop-filter) et la transformation de l’animation du header collant
   créent un bloc conteneur qui enfermait le panneau « fixed » dans la barre de 76 px (seul le X restait visible). */
@media (max-width: 1024px) {
  .ekit-template-content-header.is-sticky { animation: none; transform: none; }
  .ekit-template-content-header.is-sticky .hd-bar.e-con { -webkit-backdrop-filter: none; backdrop-filter: none; background: rgba(7, 18, 48, .96); }
  .ekit-template-content-header:has(.elementskit-menu-container.active),
  .ekit-template-content-header:has(.elementskit-menu-container.active) .hd-bar.e-con { transform: none !important; animation: none !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}
