
/* AFH Mega Menu 0.1.7 — clean, deterministic navigation */
.afh-mega-menu{
  --afh-mm-accent:#2767BD;
  --afh-mm-dark:#042148;
  --afh-mm-line:#DCE6F2;
  position:relative;
  width:100%;
  min-width:0;
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  z-index:100500;
}
.afh-mega-menu *{box-sizing:border-box}
.afh-mm-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(12px,1.35vw,22px);
  min-height:72px;
  white-space:nowrap;
}
.afh-mm-link{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:8px 1px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--afh-mm-dark)!important;
  font-family:"DM Sans",system-ui,sans-serif!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.15;
  white-space:nowrap;
  cursor:pointer;
  text-decoration:none!important;
}
.afh-mm-link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:3px;
  height:2px;
  background:var(--afh-mm-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .15s ease;
}
.afh-mm-link:hover::after,
.afh-mm-link:focus-visible::after{transform:scaleX(1)}
.afh-mm-chevron{font-size:14px;line-height:1}
.afh-mm-toggle{
  display:none;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  padding:0;
  border:1px solid var(--afh-mm-accent);
  border-radius:6px;
  background:#fff;
  cursor:pointer;
}
.afh-mm-toggle span:not(.screen-reader-text){
  display:block;
  width:17px;
  height:2px;
  background:var(--afh-mm-accent);
}
.screen-reader-text{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}

/* Desktop: one panel only, opened by hover/focus JS. */
@media(min-width:1025px){
  .afh-site-main-v2 .afh-mega-menu .afh-mm-home-wrap,
  .afh-site-main-v2 .afh-mega-menu .afh-mm-domain-wrap,
  .afh-site-main-v2 .afh-mega-menu .afh-mm-about-wrap,
  .afh-site-main-v2 .afh-mega-menu .afh-mm-news-wrap{position:static}

  .afh-site-main-v2 .afh-mega-menu .afh-mm-home-panel,
  .afh-site-main-v2 .afh-mega-menu .afh-mm-panel,
  .afh-site-main-v2 .afh-mega-menu .afh-mm-about-panel,
  .afh-site-main-v2 .afh-mega-menu .afh-mm-news-panel{
    position:fixed;
    top:calc(var(--afh-mm-header-height,72px) + 8px);
    left:50%;
    width:min(1180px,calc(100vw - 48px));
    margin:0;
    background:#fff;
    border:1px solid var(--afh-mm-line);
    border-top:3px solid var(--afh-mm-accent);
    border-radius:0 0 8px 8px;
    box-shadow:0 20px 52px rgba(4,33,72,.14);
    display:none;
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translate(-50%,0);
    z-index:100501;
  }
  .afh-mm-home-panel{grid-template-columns:280px minmax(0,1fr)}
  .afh-mm-panel{grid-template-columns:250px minmax(0,1fr) 280px}
  .afh-mm-about-panel{grid-template-columns:280px minmax(0,1fr)}
  .afh-mm-news-panel{grid-template-columns:250px minmax(260px,1fr) 330px}

  .afh-mm-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
  .afh-mm-home-intro,.afh-mm-intro,.afh-mm-about-intro,.afh-mm-news-intro{
    padding:28px 24px;
    background:#F5F8FC;
    border-right:1px solid var(--afh-mm-line);
  }
  .afh-mm-kicker{
    margin-bottom:11px;
    color:var(--afh-mm-accent);
    font-family:"Outfit",sans-serif;
    font-size:10px;
    font-weight:700;
    letter-spacing:.14em;
    text-transform:uppercase;
  }
  .afh-mm-home-intro h3,.afh-mm-intro h3,.afh-mm-about-intro h3,.afh-mm-news-intro h3{
    margin:0 0 12px;
    color:var(--afh-mm-dark);
    font-family:"Outfit",sans-serif;
    font-size:23px;
    line-height:1.1;
    font-weight:600;
  }
  .afh-mm-home-intro p,.afh-mm-intro p,.afh-mm-about-intro p,.afh-mm-news-intro p{
    margin:0;color:#5F6B7A;font-size:13px;line-height:1.6;
  }
  .afh-mm-home-all{
    display:inline-flex;
    margin-top:18px;
    color:var(--afh-mm-accent);
    font-size:12px;
    font-weight:700;
    text-decoration:none!important;
  }
  .afh-mm-home-items,.afh-mm-about-items{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:10px;
  }
  .afh-mm-about-items{grid-template-columns:repeat(3,minmax(0,1fr))}
  .afh-mm-home-item,.afh-mm-about-item{
    display:flex;
    align-items:center;
    min-height:112px;
    padding:17px 15px;
    border-right:1px solid #E5EBF2;
    border-bottom:1px solid #E5EBF2;
    color:var(--afh-mm-dark);
    background:#fff;
    text-decoration:none!important;
  }
  .afh-mm-home-item:hover,.afh-mm-about-item:hover,
  .afh-mm-home-item:focus-visible,.afh-mm-about-item:focus-visible{background:#F7FAFD;color:var(--afh-mm-accent)}
  .afh-mm-domain-copy{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
  .afh-mm-domain-copy strong,.afh-mm-copy strong{
    color:inherit;
    font-family:"Outfit",sans-serif;
    font-size:14px;
    line-height:1.25;
    font-weight:600;
  }
  .afh-mm-domain-copy small,.afh-mm-copy small{color:#697688;font-size:11px;line-height:1.45}
  .afh-mm-arrow{margin-left:auto;color:var(--afh-mm-accent);font-size:17px;line-height:1}
  .afh-mm-domains{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    padding:10px;
  }
  .afh-mm-domain{
    display:grid;
    grid-template-columns:32px minmax(0,1fr) 18px;
    align-items:start;
    gap:10px;
    min-height:92px;
    padding:15px 12px;
    border-right:1px solid #E5EBF2;
    border-bottom:1px solid #E5EBF2;
    color:var(--afh-mm-dark);
    background:#fff;
    text-decoration:none!important;
  }
  .afh-mm-domain:hover,.afh-mm-domain:focus-visible{background:#F7FAFD}
  .afh-mm-number{
    display:flex;width:30px;height:30px;
    align-items:center;justify-content:center;
    border:1px solid #C7D7EA;
    color:var(--afh-mm-accent);
    font-family:"Outfit",sans-serif;
    font-size:10px;font-weight:700;
  }
  .afh-mm-promo{
    min-height:286px;
    display:flex;align-items:flex-end;
    padding:22px;
    background:#042148 center/cover no-repeat;
    color:#fff;text-decoration:none!important;
  }
  .afh-mm-promo-content{display:flex;flex-direction:column;align-items:flex-start}
  .afh-mm-promo-content strong{max-width:205px;margin-bottom:8px;font-family:"Outfit",sans-serif;font-size:19px;line-height:1.15;font-weight:600}
  .afh-mm-promo-content small{max-width:210px;margin-bottom:13px;font-size:12px;line-height:1.55;opacity:.94}
  .afh-mm-promo-content em{font-style:normal;font-size:12px;font-weight:700}
  .afh-mm-news-cats{display:grid;grid-template-columns:1fr;gap:10px;padding:12px;background:#fff}
  .afh-mm-news-cat{
    display:grid;
    grid-template-columns:minmax(0,1fr) 22px;
    align-items:center;
    min-height:106px;
    padding:17px 16px;
    border:1px solid var(--afh-mm-line);
    background:#F7FAFD;
    color:var(--afh-mm-dark);
    text-decoration:none!important;
  }
  .afh-mm-news-cat strong{font-family:"Outfit",sans-serif;font-size:16px;line-height:1.2;font-weight:600}
  .afh-mm-news-cat small{grid-column:1;margin-top:6px;color:#697688;font-size:11px}
  .afh-mm-news-cat span{grid-column:2;grid-row:1/span 2;color:var(--afh-mm-accent);font-size:17px}
  .afh-mm-news-latest{padding:12px;background:#fff;border-left:1px solid var(--afh-mm-line)}
  .afh-mm-news-latest-card{display:flex;flex-direction:column;height:100%;min-height:260px;background:#042148;color:#fff;text-decoration:none!important;overflow:hidden}
  .afh-mm-news-latest-card img{display:block;width:100%;height:150px;object-fit:cover}
  .afh-mm-news-latest-copy{display:flex;flex-direction:column;gap:7px;padding:17px 18px}
  .afh-mm-news-latest-copy em{font-style:normal;color:#A9C7EA;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .afh-mm-news-latest-copy strong{font-family:"Outfit",sans-serif;font-size:16px;line-height:1.2;font-weight:600}
  .afh-mm-news-latest-copy small{color:rgba(255,255,255,.68);font-size:11px}
}

/* Sticky main header only. Utility/social strip is never sticky. */
.afh-site-main-v2{
  position:relative!important;
  z-index:100000!important;
  overflow:visible!important;
}
.afh-site-main-v2.afh-main-is-sticky{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  z-index:100000!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(4,33,72,.12)!important;
}
.afh-site-main-v2 .elementor-container,
.afh-site-main-v2 .elementor-column,
.afh-site-main-v2 .elementor-widget-wrap,
.afh-site-main-v2 .elementor-widget-container,
.afh-mega-menu{overflow:visible!important}
.afh-main-sticky-placeholder{display:none;height:0!important}

@media(max-width:1024px){
  .afh-site-main-v2 .elementor-container{
    display:flex!important;flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;
    min-height:58px!important;width:100%!important;
  }
  .afh-site-main-v2 .elementor-element-f4fb300{
    order:1!important;flex:0 0 40%!important;width:40%!important;
  }
  .afh-site-main-v2 .elementor-element-0fec0dd{
    order:2!important;flex:0 0 34%!important;width:34%!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  .afh-site-main-v2 .elementor-element-9fd4d2e{
    order:3!important;flex:0 0 26%!important;width:26%!important;
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
  }

  .afh-site-main-v2 .elementor-element-18ee9d6{
    width:100%!important;margin:0!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
  }
  .afh-site-main-v2 .elementor-element-18ee9d6 .elementor-button{
    width:104px!important;min-width:104px!important;max-width:104px!important;
    height:40px!important;min-height:40px!important;
    padding:8px 10px!important;font-size:12px!important;
  }
  .afh-site-main-v2 .elementor-element-0b1d56e{
    width:44px!important;max-width:44px!important;margin-left:auto!important;
  }
  .afh-mega-menu{width:44px!important;min-width:44px!important;margin-left:auto!important}
  .afh-mm-nav{display:none}
  .afh-mm-toggle{display:flex}

  .afh-mm-nav.afh-mm-open{
    position:fixed;
    top:64px;
    left:10px;
    right:10px;
    width:auto;
    min-height:0;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:8px 0;
    background:#fff;
    border:1px solid var(--afh-mm-line);
    border-top:3px solid var(--afh-mm-accent);
    border-radius:8px;
    box-shadow:0 20px 50px rgba(4,33,72,.18);
    white-space:normal;
    z-index:100700;
  }
  .afh-mm-nav.afh-mm-open .afh-mm-link{
    width:100%;min-height:50px;justify-content:space-between;
    padding:12px 18px;color:var(--afh-mm-dark)!important;
    font-size:15px!important;font-weight:600!important;
  }
  .afh-mm-nav.afh-mm-open .afh-mm-link::after{display:none}

  .afh-mm-home-panel,.afh-mm-panel,.afh-mm-about-panel,.afh-mm-news-panel{
    position:static;
    width:auto;
    display:none;
    min-height:0;
    margin:0;
    grid-template-columns:1fr;
    border:0;
    border-top:1px solid var(--afh-mm-line);
    border-radius:0;
    box-shadow:none;
    transform:none;
  }
  .afh-mm-home-wrap.open .afh-mm-home-panel,
  .afh-mm-domain-wrap.open .afh-mm-panel,
  .afh-mm-about-wrap.open .afh-mm-about-panel,
  .afh-mm-news-wrap.open .afh-mm-news-panel{display:grid}
  .afh-mm-home-intro,.afh-mm-intro,.afh-mm-about-intro,.afh-mm-news-intro{display:none}
  .afh-mm-home-items,.afh-mm-about-items,.afh-mm-domains,.afh-mm-news-cats{
    display:grid;grid-template-columns:1fr;padding:6px;background:#F5F8FC;
  }
  .afh-mm-home-item,.afh-mm-about-item,.afh-mm-domain,.afh-mm-news-cat{
    min-height:auto;padding:12px 10px;margin:2px 0;border:0;border-radius:8px;background:#fff;
  }
  .afh-mm-home-item .afh-mm-copy small,.afh-mm-about-item .afh-mm-copy small,.afh-mm-domain .afh-mm-copy small,.afh-mm-news-cat small{display:none}
  .afh-mm-number{width:28px;height:28px}
  .afh-mm-promo,.afh-mm-news-latest{display:none}

  .afh-mm-mobile-socials{
    display:flex;align-items:center;gap:10px;width:100%;
    padding:16px 14px 14px;
    border-top:1px solid var(--afh-mm-line);
    background:#fff;
  }
  .afh-mm-mobile-socials::before{
    content:"Suivez-nous";margin-right:auto;color:#5F6B7A;font-size:12px;font-weight:600;
  }
  .afh-mm-mobile-socials a{
    display:flex;width:34px;height:34px;align-items:center;justify-content:center;
    border:1px solid var(--afh-mm-line);border-radius:50%;
    background:#F5F8FC;color:var(--afh-mm-accent);text-decoration:none;
  }
}

@media(max-width:767px){
  .afh-mm-nav.afh-mm-open{top:62px;max-height:calc(100vh - 72px)}
  .afh-site-main-v2 .elementor-container{min-height:58px!important}
}

@media(prefers-reduced-motion:reduce){
  .afh-mega-menu *{transition:none!important}
}

/* Desktop/mobile visibility guard for the social strip inside the mobile drawer. */
.afh-site-main-v2 .afh-mega-menu .afh-mm-mobile-socials{display:none}
@media(max-width:1024px){
  .afh-site-main-v2 .afh-mega-menu .afh-mm-mobile-socials{display:flex}
}
