/* ==========================================================================
   Aqua Manager — Navigation publique V2.17.2
   Structure indépendante des anciennes règles .zoa-aside--share-top.
   ========================================================================== */

:root{
  --zoa-publicnav-a:#07345f;
  --zoa-publicnav-b:#0a5579;
  --zoa-publicnav-ink:#eefbfc;
  --zoa-publicnav-cyan:#63e0d2;
  --zoa-publicnav-mint:#54dca9;
  --zoa-publicnav-line:rgba(99,224,210,.28);
  --zoa-publicnav-shadow:0 18px 44px rgba(5,42,84,.20);
}

/* --------------------------------------------------------------------------
   DESKTOP : état normal
   -------------------------------------------------------------------------- */

.zoa-public-topnav.zoa-public-main-nav-v2{
  position:relative;
  z-index:1200;
  width:100%;
  margin:0;
  padding:10px 14px 0;
  border:0;
  background:transparent;
  box-shadow:none;
  transition:
    padding .22s ease,
    background-color .22s ease,
    box-shadow .22s ease;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar{
  position:relative;
  isolation:isolate;
  overflow:visible;
  width:min(1380px,calc(100% - 4px));
  min-height:66px;
  margin:0 auto;
  padding:8px 12px 8px 14px;
  display:grid;
  grid-template-columns:minmax(180px,1fr) auto minmax(280px,1fr);
  align-items:center;
  gap:14px;
  border:1px solid var(--zoa-publicnav-line);
  border-radius:18px;
  color:var(--zoa-publicnav-ink);
  background:
    radial-gradient(520px 120px at 100% 0%,rgba(84,220,169,.11),transparent 70%),
    linear-gradient(112deg,var(--zoa-publicnav-a),var(--zoa-publicnav-b));
  box-shadow:
    var(--zoa-publicnav-shadow),
    inset 0 1px 0 rgba(255,255,255,.06);
  transition:
    min-height .22s ease,
    padding .22s ease,
    border-radius .22s ease,
    border-color .22s ease,
    box-shadow .22s ease;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:.72;
  background:
    radial-gradient(circle at 86% 44%,
      transparent 0 32px,
      rgba(106,229,224,.16) 33px 34px,
      transparent 35px 54px,
      rgba(106,229,224,.095) 55px 56px,
      transparent 57px 82px,
      rgba(106,229,224,.050) 83px 84px,
      transparent 85px),
    radial-gradient(circle at 68% 118%,
      transparent 0 48px,
      rgba(90,211,216,.095) 49px 50px,
      transparent 51px 76px,
      rgba(90,211,216,.050) 77px 78px,
      transparent 79px),
    radial-gradient(circle at 24% -18%,
      transparent 0 26px,
      rgba(112,236,225,.10) 27px 28px,
      transparent 29px 43px,
      rgba(112,236,225,.045) 44px 45px,
      transparent 46px);
  transform-origin:78% 48%;
  animation:zoaPublicNavHeroRings 12s ease-in-out infinite alternate;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  border-radius:inherit;
  pointer-events:none;
  opacity:.74;
  filter:blur(8px);
  background:
    radial-gradient(220px 110px at 88% 36%,
      rgba(77,224,210,.18),
      rgba(77,224,210,.075) 42%,
      transparent 72%),
    radial-gradient(250px 130px at 56% 108%,
      rgba(28,150,198,.15),
      rgba(28,150,198,.055) 46%,
      transparent 74%),
    radial-gradient(180px 90px at 24% 18%,
      rgba(84,220,169,.095),
      transparent 72%);
  transform-origin:65% 50%;
  animation:zoaPublicNavHeroHalo 9s ease-in-out infinite alternate;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar > *{
  position:relative;
  z-index:1;
}


/* --------------------------------------------------------------------------
   PROFIL PUBLIC
   Sur cette page uniquement, le menu est pleine largeur dès le départ.
   Le contenu interne reste centré et le comportement sticky est conservé.
   -------------------------------------------------------------------------- */

.zoa-public-topnav.zoa-public-main-nav-v2.zoa-public-main-nav-v2--profile{
  width:100%;
  margin:0 0 18px;
  padding:0 18px;
  background:
    radial-gradient(540px 130px at 76% -20%,rgba(84,220,169,.10),transparent 72%),
    linear-gradient(110deg,rgba(5,45,79,.985),rgba(7,74,108,.985));
  box-shadow:
    0 10px 26px rgba(3,29,53,.18),
    inset 0 -1px 0 rgba(255,255,255,.035);
}

.zoa-public-topnav.zoa-public-main-nav-v2.zoa-public-main-nav-v2--profile .zoa-share-topbar{
  width:min(1380px,100%);
  min-height:66px;
  margin:0 auto;
  padding:7px 8px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.zoa-public-topnav.zoa-public-main-nav-v2--profile + .zoa-public-nav-spacer{
  margin-bottom:0;
}

@media (max-width:991.98px){
  .zoa-public-topnav.zoa-public-main-nav-v2.zoa-public-main-nav-v2--profile{
    margin-bottom:14px;
    padding:0 8px;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2.zoa-public-main-nav-v2--profile .zoa-share-topbar{
    min-height:56px;
    padding:6px 8px;
    border-radius:0;
  }
}

/* --------------------------------------------------------------------------
   DESKTOP : état fixed
   -------------------------------------------------------------------------- */

@media (min-width:992px){
  .zoa-public-topnav.zoa-public-main-nav-v2.is-fixed{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:20050;
    width:100%;
    min-height:64px;
    margin:0;
    padding:0 18px;
    background:
      radial-gradient(540px 130px at 76% -20%,rgba(84,220,169,.10),transparent 72%),
      linear-gradient(110deg,rgba(5,45,79,.985),rgba(7,74,108,.985));
    box-shadow:
      0 10px 26px rgba(3,29,53,.22),
      inset 0 -1px 0 rgba(255,255,255,.035);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
  }

  .zoa-public-topnav.zoa-public-main-nav-v2.is-fixed .zoa-share-topbar{
    width:min(1380px,100%);
    min-height:64px;
    margin:0 auto;
    padding:5px 6px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2.is-fixed .zoa-public-nav-logo{
    height:32px;
    max-width:150px;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2.is-fixed .theme-switch{
    min-height:38px;
    padding:5px 9px;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2.is-fixed .zoa-tabs > li > a{
    width:40px;
    height:40px;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2.is-fixed .zoa-lang-btn{
    height:38px;
  }
}

.zoa-public-nav-spacer{
  width:100%;
  height:0;
  pointer-events:none;
}

/* --------------------------------------------------------------------------
   CONTENU
   -------------------------------------------------------------------------- */

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar__left{
  justify-self:start;
  min-width:0;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .theme-switch{
  min-height:40px;
  margin:0;
  padding:6px 11px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(99,224,210,.22);
  border-radius:12px;
  color:rgba(238,251,252,.82);
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

/* V2.17.3 — switch public explicite */
.zoa-public-topnav.zoa-public-main-nav-v2 .theme-switch input{
  -webkit-appearance:none!important;
  appearance:none!important;
  position:relative;
  flex:0 0 auto;
  width:38px!important;
  height:20px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid rgba(99,224,210,.34)!important;
  border-radius:999px!important;
  outline:0!important;
  cursor:pointer;
  background:rgba(255,255,255,.14)!important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.10)!important;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .theme-switch input::after{
  content:"";
  position:absolute;
  left:2px;
  top:2px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 5px rgba(1,24,45,.28);
  transition:transform .2s ease;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .theme-switch input:checked{
  border-color:rgba(99,224,210,.66)!important;
  background:linear-gradient(135deg,#32d9c8,#22c58f)!important;
  box-shadow:inset 0 1px 3px rgba(0,67,65,.12),0 0 0 1px rgba(99,224,210,.05)!important;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .theme-switch input:checked::after{
  transform:translateX(18px);
}

.zoa-public-topnav.zoa-public-main-nav-v2 .theme-switch input:focus-visible{
  box-shadow:0 0 0 3px rgba(99,224,210,.18)!important;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .theme-label{
  color:inherit;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar__center{
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-public-nav-logo{
  width:auto;
  height:36px;
  max-width:170px;
  object-fit:contain;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.14));
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar__right{
  justify-self:end;
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-tabs{
  display:flex;
  align-items:center;
  gap:7px;
  margin:0;
  padding:0;
  list-style:none;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-tabs > li{
  position:relative;
  margin:0;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-tabs > li > a{
  position:relative;
  width:44px;
  height:44px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(99,224,210,.24);
  border-radius:12px;
  color:var(--zoa-publicnav-ink);
  background:
    linear-gradient(145deg,rgba(255,255,255,.070),rgba(255,255,255,.025));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.055),
    0 4px 12px rgba(2,29,55,.10);
  text-decoration:none!important;
  transition:
    transform .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    box-shadow .18s ease;
}


.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-tabs > li > a::before{
  content:"";
  position:absolute;
  left:8px;
  right:8px;
  top:4px;
  height:1px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);
  pointer-events:none;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-tabs > li > a:hover{
  border-color:rgba(99,224,210,.55);
  background:
    linear-gradient(145deg,rgba(99,224,210,.14),rgba(255,255,255,.045));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 7px 16px rgba(2,29,55,.16);
  transform:translateY(-1px);
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-tabs > li.active > a{
  border-color:rgba(99,224,210,.72);
  background:
    linear-gradient(135deg,rgba(99,224,210,.24),rgba(84,220,169,.115));
  box-shadow:
    0 8px 20px rgba(2,29,55,.20),
    inset 0 1px 0 rgba(255,255,255,.10),
    0 0 0 1px rgba(99,224,210,.06);
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-tabs > li.active > a::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:3px;
  width:16px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--zoa-publicnav-cyan),var(--zoa-publicnav-mint));
  transform:translateX(-50%);
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-dd{
  position:relative;
  z-index:60;
  margin:0;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-btn{
  min-width:82px;
  height:40px;
  padding:0 11px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid rgba(99,224,210,.22);
  border-radius:12px;
  color:var(--zoa-publicnav-ink);
  background:rgba(255,255,255,.065);
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-code{
  color:inherit;
  font-size:12px;
  font-weight:900;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-caret{
  width:0;
  height:0;
  margin-left:2px;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-bottom:0;
  border-top:5px solid rgba(238,251,252,.78);
  transition:transform .18s ease;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-dd.is-open .zoa-lang-caret{
  transform:rotate(180deg);
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-menu{
  position:absolute;
  z-index:1000;
  display:none;
  top:calc(100% + 10px);
  right:0;
  left:auto;
  min-width:92px;
  padding:7px;
  border:1px solid rgba(99,224,210,.26);
  border-radius:14px;
  background:linear-gradient(145deg,#07345f,#084b73);
  box-shadow:0 18px 44px rgba(4,31,59,.30);
}


.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-dd.is-open .zoa-lang-menu{
  display:block;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-item{
  min-height:38px;
  padding:6px 8px;
  display:flex;
  align-items:center;
  gap:7px;
  border-radius:9px;
  color:var(--zoa-publicnav-ink);
  text-decoration:none!important;
}

.zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-item:hover{
  background:rgba(99,224,210,.10);
}

/* --------------------------------------------------------------------------
   MOBILE
   -------------------------------------------------------------------------- */

.zoa-topnav-mobile.zoa-nav--mobile.zoa-public-mobile-nav-v2{
  display:none!important;
}

@media (max-width:991.98px){
  .zoa-public-topnav.zoa-public-main-nav-v2{
    position:relative;
    width:100%;
    margin:0;
    padding:7px 8px 0;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar{
    width:100%;
    min-height:56px;
    grid-template-columns:auto 1fr auto;
    gap:8px;
    padding:6px 8px;
    border-radius:16px;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2 .theme-label{
    display:none;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2 .zoa-public-nav-logo{
    height:30px;
    max-width:145px;
  }

  .zoa-public-topnav.zoa-public-main-nav-v2 .zoa-lang-btn{
    min-width:76px;
    height:38px;
    padding:0 9px;
  }

  .zoa-topnav-mobile.zoa-nav--mobile.zoa-public-mobile-nav-v2{
    position:fixed;
    left:8px;
    right:8px;
    bottom:max(8px,env(safe-area-inset-bottom));
    z-index:20000;
    display:block!important;
    width:auto;
    height:60px;
    padding:4px 6px;
    border:1px solid rgba(99,224,210,.30);
    border-radius:18px;
    color:#eefbfc!important;
    border-color:rgba(99,224,210,.30)!important;
    background:
      radial-gradient(260px 75px at 100% 0%,rgba(84,220,169,.13),transparent 70%),
      linear-gradient(112deg,#07345f,#0a5579)!important;
    box-shadow:
      0 18px 44px rgba(4,31,59,.30),
      inset 0 1px 0 rgba(255,255,255,.07);
  }

  .zoa-topnav-mobile.zoa-nav--mobile.zoa-public-mobile-nav-v2 .zoa-tabs-icons{
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:center;
    gap:5px;
    list-style:none;
  }

  .zoa-topnav-mobile.zoa-nav--mobile.zoa-public-mobile-nav-v2 .zoa-tabs-icons > li{
    display:flex!important;
    width:100%;
    min-width:0;
    height:100%;
    margin:0;
  }

  .zoa-topnav-mobile.zoa-nav--mobile.zoa-public-mobile-nav-v2 .zoa-tabs-icons > li > a{
    position:relative;
    width:100%;
    height:50px;
    margin:auto 0;
    padding:0;
    display:flex!important;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(99,224,210,.24)!important;
    border-radius:12px;
    color:#eefbfc!important;
    background:rgba(255,255,255,.045)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.055);
    text-decoration:none!important;
  }

  .zoa-topnav-mobile.zoa-nav--mobile.zoa-public-mobile-nav-v2 .zoa-tabs-icons > li.active > a{
    border-color:rgba(99,224,210,.60)!important;
    background:linear-gradient(135deg,rgba(99,224,210,.21),rgba(84,220,169,.10))!important;
  }

  .zoa-topnav-mobile.zoa-nav--mobile.zoa-public-mobile-nav-v2 .zoa-tabs-icons > li.active > a::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:3px;
    width:16px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--zoa-publicnav-cyan),var(--zoa-publicnav-mint));
    transform:translateX(-50%);
  }

  body #content-wrapper{
    padding-bottom:calc(82px + env(safe-area-inset-bottom));
  }
}

@keyframes zoaPublicNavHeroRings{
  0%{transform:translate3d(0,0,0) scale(1);opacity:.56;}
  40%{transform:translate3d(-18px,5px,0) scale(1.025);opacity:.78;}
  72%{transform:translate3d(14px,-3px,0) scale(.985);opacity:.67;}
  100%{transform:translate3d(-5px,7px,0) scale(1.015);opacity:.73;}
}

@keyframes zoaPublicNavHeroHalo{
  0%{transform:translate3d(-15px,2px,0) scale(.94);opacity:.44;}
  45%{transform:translate3d(34px,7px,0) scale(1.10);opacity:.75;}
  100%{transform:translate3d(46px,3px,0) scale(1.07);opacity:.68;}
}

@media (prefers-reduced-motion:reduce){
  .zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar::before,
  .zoa-public-topnav.zoa-public-main-nav-v2 .zoa-share-topbar::after{
    animation:none!important;
  }
}
