/* Bandeau public BES — source unique pour toutes les pages du site. */
.v-nav{
  position:sticky;
  top:0;
  z-index:100;
  width:100%;
  height:76px;
  padding:0 48px;
  display:grid;
  grid-template-columns:minmax(270px,1fr) auto minmax(220px,1fr);
  column-gap:24px;
  align-items:center;
  background:rgba(255,255,255,.97);
  border:0;
  border-bottom:4px solid #3FA034;
  box-shadow:0 8px 26px rgba(15,34,70,.08);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.v-nav-logo{
  justify-self:start;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.v-nav-logo img{
  display:block;
  width:54px;
  height:44px;
  max-width:none;
  object-fit:contain;
  flex:0 0 54px;
}
.v-nav-brand{
  display:block;
  font-family:'IBM Plex Sans','DM Sans',system-ui,sans-serif;
  font-size:15px;
  line-height:1.15;
  font-weight:700;
  letter-spacing:.01em;
  color:#16305C;
  white-space:nowrap;
}
.v-nav-brand span{
  display:block;
  margin-top:3px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:9.5px;
  line-height:1;
  font-weight:800;
  letter-spacing:.11em;
  color:#2F8226;
  text-transform:uppercase;
}
.v-nav>.v-nav-links{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:6px;
}
.v-nav>.v-nav-actions{justify-self:end}
.v-nav-link{
  padding:9px 14px;
  border-radius:4px;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.045em;
  text-transform:uppercase;
  white-space:nowrap;
  color:#4A4A4A;
  text-decoration:none;
}
.v-nav-link:hover,.v-nav-link.active{
  color:#16305C;
  background:#EEF4EC;
}
.v-nav-dropdown{position:relative}
.v-nav-dropdown-toggle{display:flex;align-items:center;gap:7px;border:0;background:transparent;cursor:pointer}
.v-nav-dropdown-arrow{font-size:12px;transition:transform .16s ease}
.v-nav-dropdown.open .v-nav-dropdown-arrow{transform:rotate(180deg)}
.v-nav-dropdown-panel{
  position:absolute;top:calc(100% + 14px);left:50%;width:330px;padding:10px;
  display:none;transform:translateX(-50%);background:#fff;border:1px solid #E2E8E0;
  border-top:4px solid #3FA034;border-radius:8px;box-shadow:0 18px 42px rgba(15,34,70,.18);
}
.v-nav-dropdown.open .v-nav-dropdown-panel,.v-nav-dropdown:hover .v-nav-dropdown-panel,.v-nav-dropdown:focus-within .v-nav-dropdown-panel{display:block}
.v-nav-dropdown-panel::before{content:"";position:absolute;left:0;right:0;top:-18px;height:18px}
.v-nav-dropdown-panel a{display:block;padding:13px 14px;border-radius:5px;color:#16305C;text-decoration:none}
.v-nav-dropdown-panel a:hover,.v-nav-dropdown-panel a:focus{background:#EEF4EC;outline:none}
.v-nav-dropdown-panel strong{display:block;font:800 14px/1.25 'DM Sans',system-ui,sans-serif}
.v-nav-dropdown-panel span{display:block;margin-top:4px;color:#6B7280;font:500 12px/1.4 'DM Sans',system-ui,sans-serif}
.v-nav-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin:0;
  padding:10px 20px;
  border:0;
  border-radius:6px;
  background:#3FA034;
  color:#fff;
  font-family:'DM Sans',system-ui,sans-serif;
  font-size:12.5px;
  line-height:1.2;
  font-weight:800;
  white-space:nowrap;
  text-decoration:none;
  cursor:pointer;
}
.v-nav-cta:hover{background:#2F8226;color:#fff}
.v-nav-mobile,.public-mobile-menu,.v-mobile-menu{display:none}

@media(max-width:1100px) and (min-width:769px){
  .v-nav{padding-inline:24px;grid-template-columns:minmax(220px,1fr) auto minmax(170px,1fr);column-gap:12px}
  .v-nav-link{padding-inline:8px;font-size:11px}
  .v-nav-brand{font-size:13px}
}
@media(max-width:768px){
  .v-nav{
    height:68px;
    padding:0 16px;
    display:flex;
    justify-content:space-between;
    column-gap:0;
    border-bottom-width:3px;
  }
  .v-nav-logo{gap:8px}
  .v-nav-logo img{width:48px;height:40px;flex-basis:48px}
  .v-nav-brand{display:none}
  .v-nav>.v-nav-links{display:none}
  .v-nav-mobile{display:flex;align-items:center;gap:8px;margin-left:auto}
  .v-nav-mobile .v-nav-cta{min-height:38px;padding:9px 12px;font-size:12px}
  .public-mobile-toggle,.v-mobile-toggle{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;padding:0;border:1px solid #E2E8E0;border-radius:6px;
    background:#fff;color:#16305C;font-size:20px;line-height:1;cursor:pointer;
  }
  .public-mobile-menu,.v-mobile-menu{
    position:absolute;top:100%;left:0;right:0;z-index:110;
    padding:10px 20px 18px;background:#fff;border-top:1px solid #E2E8E0;
    box-shadow:0 12px 28px rgba(0,0,0,.14);
  }
  .public-mobile-menu:not([hidden]),.v-mobile-menu:not([hidden]){display:block}
  .public-mobile-menu a,.v-mobile-menu a{
    display:block;padding:13px 4px;border-bottom:1px solid #E2E8E0;
    color:#16305C;font:700 14px/1.3 'DM Sans',system-ui,sans-serif;text-decoration:none;
  }
}
