/* ETHNOS R797 — finition ciblée inscription.
   Base canonique : R796.
   Demandes : bandeau haut Solidarité gris->bleu, accents cyan -> orange sur
   Premiers pas / étape active, carte date bleu uni centrée, angles extérieurs
   droits, Statut (Retour officiel + badges Officiel dans zone blanche), et
   compactage / harmonisation de Vos accès privés.
   Aucun contrat API ou logique métier modifié. */
:root{
  --r797-charcoal:#1f1f1f;
  --r797-solidarity-gradient:linear-gradient(108deg,#1f1f1f 0%,#202326 38%,#0a3448 69%,#0b526d 100%);
  --r797-blue:#0a3151;
  --r797-blue-2:#0f486f;
  --r797-orange:#f26722;
  --r797-white:#fff;
}

/* Bandeau supérieur : même langage graphique que Solidarité, pas d'aplat bleu. */
body[data-etnos-build="r776"] .joinPage .joinCardHeader{
  background:var(--r797-solidarity-gradient) !important;
  background-image:var(--r797-solidarity-gradient) !important;
  border-radius:0 !important;
}
body[data-etnos-build="r776"] .joinPage .joinSteps,
body[data-etnos-build="r776"] .joinPage .joinCardBody{
  border-radius:0 !important;
}

/* Étape active : l'accent cyan est remplacé uniquement par l'orange ETHNOS. */
body[data-etnos-build="r776"] .joinPage .joinSteps li.isActive span{
  box-shadow:inset 0 -3px 0 var(--r797-orange) !important;
  outline:2px solid var(--r797-orange) !important;
  outline-offset:2px !important;
}

/* 01 — Premiers pas : dégradé conservé, accents cyan -> orange. */
body[data-etnos-build="r776"] .joinPage .joinAgeEntryCopy .joinSectionLabel,
body[data-etnos-build="r776"] .joinPage .joinAgeEntryCopy h2 span{
  color:var(--r797-orange) !important;
}
body[data-etnos-build="r776"] .joinPage .joinAgePrivacy{
  border-left-color:var(--r797-orange) !important;
}

/* Le grand côté droit reste blanc ; seule la carte date devient bleu uni.
   On force son centrage dans la cellule blanche sans changer la grille. */
body[data-etnos-build="r776"] .joinPage .joinAgeEntryForm{
  align-self:center !important;
  justify-self:center !important;
  background:var(--r797-blue) !important;
  background-image:none !important;
  border-color:rgba(255,255,255,.16) !important;
  box-shadow:none !important;
  color:#fff !important;
}
body[data-etnos-build="r776"] .joinPage .joinAgeEntryForm .ageDateField>span{
  color:#fff !important;
}
body[data-etnos-build="r776"] .joinPage .joinAgeEntryForm .joinAgeInstruction{
  color:#d9e5ea !important;
}
body[data-etnos-build="r776"] .joinPage .joinAgeEntryForm .joinAgeInstruction strong{
  color:var(--r797-orange) !important;
}

/* 02 — Statut : le Retour standard orange est au-dessus de la carte Créateur. */
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="profile-choice"] .profileChoiceEditor{
  grid-template-rows:minmax(0,1fr) !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="profile-choice"] .profileChoiceCopy{
  display:grid !important;
  grid-template-rows:auto minmax(0,1fr) !important;
  gap:8px !important;
  align-items:stretch !important;
}
body[data-etnos-build="r776"] .joinPage .profileChoiceTopAction{
  width:min(100%,1320px) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
}
body[data-etnos-build="r776"] .joinPage .r797ProfileReturn{
  grid-column:2 !important;
  justify-self:center !important;
  width:auto !important;
  min-width:132px !important;
  height:36px !important;
  min-height:36px !important;
  padding:0 18px !important;
  margin:0 !important;
  border:1px solid var(--r797-orange) !important;
  background:var(--r797-orange) !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(243,107,43,.18) !important;
  font-weight:760 !important;
}

/* Badges Officiel : orange et intégrés à la partie blanche, jamais sur la photo. */
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="profile-choice"] .statusOfficialBadge{
  position:static !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:flex-start !important;
  margin-top:10px !important;
  padding:6px 10px !important;
  border:1px solid var(--r797-orange) !important;
  border-radius:4px !important;
  background:var(--r797-orange) !important;
  color:#fff !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

/* 03 — Vos accès privés : page centrale bleu dégradé, sans liserés cyan. */
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .joinView[data-view="access"]{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  padding:clamp(10px,1.6vh,18px) 0 !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessWorkspace{
  width:min(1280px,94%) !important;
  height:auto !important;
  min-height:0 !important;
  max-height:calc(100% - 8px) !important;
  margin:auto !important;
  padding:clamp(18px,2.2vh,28px) clamp(24px,4vw,64px) !important;
  grid-template-rows:auto auto auto auto !important;
  gap:clamp(8px,1.15vh,13px) clamp(14px,1.6vw,24px) !important;
  border:0 !important;
  border-left:0 !important;
  border-radius:5px !important;
  background:linear-gradient(118deg,var(--r797-blue) 0%,var(--r797-blue-2) 100%) !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:#fff !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessIntro h2,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessIntro p,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessPrivateSummary,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessPrivateSummary span,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessPrivateSummary strong,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessIdentityPrivacy,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessFields .fieldGroup>span:first-child,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessFields .fieldGroup>small,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessRequirements span{
  color:#fff !important;
  opacity:1 !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessPrivateSummary,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessIdentityPrivacy{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-left:1px solid rgba(255,255,255,.18) !important;
  box-shadow:none !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessPrivateSummary button{
  color:#fff !important;
  text-decoration:underline !important;
  text-underline-offset:2px !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessRequirements{
  align-self:start !important;
  margin-top:0 !important;
  padding-top:10px !important;
  border-top:1px solid rgba(255,255,255,.22) !important;
  background:transparent !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessActions{
  align-self:start !important;
  margin-top:0 !important;
  padding-top:0 !important;
  border:0 !important;
}

/* Champs : aucun cyan, focus orange. */
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] input,
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .passwordControl button{
  border-color:#cfd8df !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] input:focus{
  border-color:var(--r797-orange) !important;
  outline:2px solid rgba(242,103,34,.24) !important;
}

/* Mot de passe et confirmation : même géométrie, même alignement gauche. */
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessFields .fieldGroup:nth-last-child(2),
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessFields .fieldGroup:nth-last-child(1){
  align-self:start !important;
  text-align:left !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .fieldHelpSpacer{
  visibility:hidden !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .passwordControl{
  width:100% !important;
  height:42px !important;
  align-items:stretch !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .passwordControl input{
  height:42px !important;
}
body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .passwordControl button{
  height:42px !important;
  min-height:42px !important;
  align-self:stretch !important;
}

/* Écrans courts : encore plus compact mais sans couper les champs. */
@media (min-width:1101px) and (max-height:820px){
  body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessWorkspace{
    padding:12px 24px !important;
    gap:7px 12px !important;
    max-height:calc(100% - 4px) !important;
  }
  body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessFields{
    gap:8px 12px !important;
    align-content:start !important;
  }
  body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessRequirements{
    padding-top:7px !important;
  }
}

/* Petits écrans : le contenu s'allonge et le scroll de la page reste disponible. */
@media (max-width:1100px){
  body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .joinCardBody{
    overflow:auto !important;
  }
  body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .joinView[data-view="access"]{
    display:block !important;
    height:auto !important;
    min-height:100% !important;
    overflow:visible !important;
    padding:12px 0 20px !important;
  }
  body[data-etnos-build="r776"] .joinPage .joinCard[data-current-view="access"] .accessWorkspace{
    max-height:none !important;
    overflow:visible !important;
  }
  body[data-etnos-build="r776"] .joinPage .profileChoiceTopAction{
    grid-template-columns:1fr !important;
  }
  body[data-etnos-build="r776"] .joinPage .r797ProfileReturn{
    grid-column:1 !important;
  }
}
