/* ========================================================================== */
/* ETHNOS R77 — environnement commun Tableau de bord / Connexion / Inscription */
/* La page d'inscription reprend sans approximation la barre haute, la barre   */
/* basse et la photographie centrale du tableau de bord connecté.              */
/* ========================================================================== */

:root{
  --ethnos-shell-bg:#04131f;
  --ethnos-shell-line:rgba(149,205,218,.18);
  --ethnos-shell-text:#f6f2e9;
  --ethnos-shell-orange:#f58a4b;
  --ethnos-shell-topbar:54px;
  --ethnos-shell-footer-main:50px;
  --ethnos-shell-footer-legal:22px;

  /* Les deux pages utilisent désormais les mêmes mesures. */
  --topbar:var(--ethnos-shell-topbar)!important;
  --footer-main:var(--ethnos-shell-footer-main)!important;
  --footer-legal:var(--ethnos-shell-footer-legal)!important;
  --r56-topbar:var(--ethnos-shell-topbar)!important;
  --r56-footer-main:var(--ethnos-shell-footer-main)!important;
  --r56-footer-legal:var(--ethnos-shell-footer-legal)!important;
}

/* Même toile de fond que l'espace membre. */
.joinPage{
  grid-template-rows:var(--ethnos-shell-topbar) minmax(0,1fr) var(--ethnos-shell-footer-main) var(--ethnos-shell-footer-legal)!important;
  min-height:100dvh!important;
  height:100dvh!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 74% 8%,rgba(245,138,75,.10),transparent 23%),
    radial-gradient(circle at 14% 18%,rgba(49,209,207,.07),transparent 24%),
    var(--ethnos-shell-bg)!important;
}

/* Barre haute : copie exacte du tableau de bord. */
.joinMemberTopbar{
  position:relative!important;
  inset:auto!important;
  z-index:50!important;
  height:var(--ethnos-shell-topbar)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr)!important;
  align-items:center!important;
  padding:0 clamp(16px,2.2vw,42px)!important;
  overflow:visible!important;
  border-bottom:1px solid var(--ethnos-shell-line)!important;
  background:rgba(3,14,23,.96)!important;
  backdrop-filter:blur(14px)!important;
}
.joinMemberNav{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:center!important;
  gap:clamp(18px,2.4vw,48px)!important;
}
.joinMemberNavLeft{text-align:left!important}
.joinMemberNavRight{text-align:right!important}
.joinMemberNav a{
  min-width:0!important;
  color:rgba(239,244,241,.70)!important;
  text-decoration:none!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(12px,.84vw,15px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  transition:color .18s ease!important;
}
.joinMemberNav a:hover{color:#fff!important}
.joinMemberBrand{
  position:absolute!important;
  left:50%!important;
  top:7px!important;
  z-index:55!important;
  transform:translateX(-50%)!important;
  width:78px!important;
  height:78px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  text-decoration:none!important;
  filter:drop-shadow(0 12px 19px rgba(0,0,0,.45))!important;
}
.joinMemberBrand::before{
  content:""!important;
  position:absolute!important;
  inset:-2px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(245,138,75,.24),transparent 67%)!important;
}
.joinMemberBrand img{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

/* Zone centrale : photographie et cadrage strictement identiques au tableau de bord. */
.joinMain{
  position:relative!important;
  min-height:0!important;
  overflow:hidden!important;
  background:
    linear-gradient(110deg,rgba(6,26,39,.97) 0%,rgba(7,28,42,.79) 61%,rgba(12,30,38,.70) 100%),
    url('../assets/images/dashboard-centre-orange-hd.png') center/cover no-repeat!important;
}
.joinMain::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  right:-10%!important;
  bottom:-22%!important;
  width:min(43vw,600px)!important;
  height:min(43vw,600px)!important;
  border:min(7vw,96px) solid rgba(245,138,75,.07)!important;
  border-radius:50%!important;
  pointer-events:none!important;
}
.joinMain::after{display:none!important}
.joinMain>.joinCard{
  position:relative!important;
  z-index:2!important;
  background:
    linear-gradient(145deg,rgba(8,36,51,.88),rgba(4,20,31,.84)),
    url('../assets/images/dashboard-centre-orange-hd.png') center/cover no-repeat!important;
  backdrop-filter:blur(7px)!important;
}
.joinAmbient,.joinWatermark{display:none!important}

/* Barre basse principale : même structure, mêmes textes et mêmes mesures. */
.joinMemberFooterMain{
  position:relative!important;
  z-index:45!important;
  height:var(--ethnos-shell-footer-main)!important;
  display:grid!important;
  grid-template-columns:minmax(330px,35vw) 1fr!important;
  align-items:center!important;
  gap:20px!important;
  padding:0 clamp(18px,2vw,38px)!important;
  border-top:1px solid var(--ethnos-shell-line)!important;
  background:#03111b!important;
}
.joinMemberVersion{min-width:0!important}
.joinMemberVersion strong{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.1!important;
}
.joinMemberVersion strong small{
  color:rgba(239,244,241,.42)!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:.72em!important;
  font-weight:400!important;
  letter-spacing:.02em!important;
}
.joinMemberVersion span{
  display:block!important;
  margin-top:2px!important;
  color:var(--ethnos-shell-orange)!important;
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:clamp(9.5px,.68vw,12px)!important;
  font-weight:400!important;
  line-height:1.25!important;
}
.joinMemberFooterMain nav{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:center!important;
  gap:8px!important;
}
.joinMemberFooterMain nav a{
  color:#9aafb7!important;
  text-decoration:none!important;
  text-align:center!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(12px,.84vw,15px)!important;
  font-weight:400!important;
  line-height:1.1!important;
  white-space:nowrap!important;
}
.joinMemberFooterMain nav a:hover{color:#fff!important}

/* Barre légale : exactement la barre simplifiée du tableau de bord. */
.joinMemberFooterLegal{
  position:relative!important;
  z-index:45!important;
  height:var(--ethnos-shell-footer-legal)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 clamp(18px,2vw,38px)!important;
  border-top:1px solid rgba(149,205,218,.11)!important;
  background:#03111b!important;
  color:#617985!important;
}
.joinMemberFooterLegal nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(12px,1.5vw,24px)!important;
}
.joinMemberFooterLegal nav a{
  color:#718893!important;
  text-decoration:none!important;
  font-family:"Segoe UI",Arial,sans-serif!important;
  font-size:8.5px!important;
  font-weight:400!important;
  line-height:1!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.joinMemberFooterLegal nav a:hover{color:#fff!important}

/* Palier compact identique à l'espace membre : 1366, 1536, 1707 et écrans bas. */
@media (max-width:1700px), (max-height:900px){
  :root{
    --ethnos-shell-topbar:50px;
    --ethnos-shell-footer-main:46px;
    --ethnos-shell-footer-legal:21px;
  }
  .joinMemberTopbar{
    grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr)!important;
    padding:0 18px!important;
  }
  .joinMemberBrand{width:68px!important;height:68px!important;top:4px!important}
  .joinMemberNav{gap:clamp(12px,2vw,28px)!important}
  .joinMemberNav a{font-size:11px!important}
  .joinMemberFooterMain{
    grid-template-columns:minmax(330px,38vw) 1fr!important;
    padding:0 20px!important;
  }
  .joinMemberVersion span{font-size:9.5px!important}
  .joinMemberFooterMain nav a{font-size:11px!important}
  .joinMemberFooterLegal{padding:0 20px!important}
  .joinMemberFooterLegal nav a{font-size:7.8px!important}
}

/* Les deux groupes occupent explicitement les colonnes latérales, comme dans
   l'espace membre. Le logo central reste indépendant et chevauche la barre. */
.joinMemberNavLeft{grid-column:1!important}
.joinMemberNavRight{grid-column:3!important}
