/* =======================================================
   SIGNUP — carte centrée (H+V) | NE TOUCHE PAS AU HEADER/FOOTER
   Cohérent avec main.css (variables : --form-max, --brand, --brand-2, etc.)
   ======================================================= */

/* Structure de page (uniquement le contenu, pas le header/footer) */
body.signup{
  min-height:100vh;
  margin:0;
  display:flex;
  flex-direction:column;
  background:#fff;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Open Sans",Arial,sans-serif;
}

/* Centre le contenu dans la zone main définie par main.css */
body.signup :is(main,#main,.main,#content,.content){
  flex:1 1 auto;
  display:grid;
  place-items:center;        /* centre H + V */
  padding:24px 16px;
}

/* Éviter la coupe sur écrans très bas */
@media (max-height:600px){
  body.signup :is(main,#main,.main,#content,.content){
    place-items:start center;
    padding-top:16px;
  }
}

/* =========================
   Titre + messages flash
   ========================= */
body.signup h1{
  margin:6px 0 12px;
  font-weight:700;
  font-size:1.75rem;
  line-height:1.2;
  color:#0f172a;
  text-align:center;
}

body.signup .flashes{
  list-style:none;
  padding:0;
  margin:0 0 12px;
  width:100%;
  max-width:var(--form-max);
}
body.signup .flashes li{
  padding:10px 12px;
  border-radius:8px;
  border:1px solid #e5e7eb;
  background:#f8fafc;
  color:#0f172a;
  margin-bottom:8px;
}
body.signup .flash-error{
  border-color:#fecaca;
  background:#fff1f2;
  color:#991b1b;
}
body.signup .flash-success{
  border-color:#bbf7d0;
  background:#f0fdf4;
  color:#065f46;
}

/* =========================
   Carte formulaire
   ========================= */
body.signup form{
  width:100%;
  max-width:var(--form-max);          /* ↔ même largeur que login/suivi */
  background:#fff;
  border:1px solid #eaeef2;
  border-radius:12px;
  padding:22px 18px;
  box-shadow:0 6px 16px rgba(16,24,40,.06);
  box-sizing:border-box;
}

/* Champs */
body.signup form > div{
  margin-bottom:14px;
}

body.signup label{
  display:block;
  font-weight:600;
  font-size:.95rem;
  color:#334155;
  margin:0 0 6px;
}

body.signup input[type="email"],
body.signup input[type="text"],
body.signup input[type="password"]{
  width:100%;
  height:44px;
  padding:10px 12px;
  border:1px solid #d1d5db;
  border-radius:8px;
  box-sizing:border-box;
  font-size:1rem;
  color:#0f172a;
  background:#fff;
  transition:border-color .2s, box-shadow .2s;
}

/* Focus / placeholder : limité au formulaire */
body.signup form input:focus{
  outline:none;
  border-color:var(--brand,#2563eb);
  box-shadow:0 0 0 3px rgba(37,99,235,.15);
}
body.signup form input::placeholder{
  color:#9aa3af;
}

/* Consentement cookies (checkbox + label cliquable) */
body.signup input[type="checkbox"]{
  width:18px;
  height:18px;
  margin-right:10px;
  vertical-align:-3px;
  accent-color:var(--brand,#2563eb);
}
body.signup input[type="checkbox"] + label{
  display:inline;
  font-weight:500;
  color:#334155;
}

/* Liens bleus — uniquement dans le contenu (pas le header) */
body.signup :is(main,#main,.main,#content,.content) a{
  color:#2563eb;
  text-decoration:none;
}
body.signup :is(main,#main,.main,#content,.content) a:hover{
  text-decoration:underline;
}

/* Bouton principal (dégradé marque) — dans le formulaire */
body.signup form button[type="submit"]{
  width:100%;
  padding:12px 16px;
  border:0;
  border-radius:10px;
  font-weight:700;
  color:#fff;
  background-image:linear-gradient(135deg,var(--brand,#2563eb),var(--brand-2,#60a5fa));
  box-shadow:0 10px 22px rgba(37,99,235,.18);
  transition:filter .2s, transform .06s;
  margin-top:6px;
}
body.signup form button[type="submit"]:hover{
  filter:brightness(1.05);
}
body.signup form button[type="submit"]:active{
  transform:scale(.99);
}

/* Bas de page (texte sous le form) — comme login, mais adapté au HTML signup */
body.signup form + p{
  margin:12px 0 0;
  color:#334155;
  text-align:center;
  font-size:.95rem;
}
body.signup form + p a{
  color:#2563eb;
  font-weight:700;
  text-decoration:none;
}
body.signup form + p a:hover{
  text-decoration:underline;
}

/* Accessibilité : réduit les animations si demandé */
@media (prefers-reduced-motion: reduce){
  *{
    animation:none !important;
    transition:none !important;
  }
}

/* Select comme les inputs */
body.signup select{
  width:100%;
  height:44px;
  padding:10px 12px;
  border:1px solid #d1d5db;
  border-radius:8px;
  box-sizing:border-box;
  font-size:1rem;
  color:#0f172a;
  background:#fff;
}

/* Texte aide */
body.signup .help-text{
  display:block;
  margin-top:6px;
  color:#64748b;
  font-size:.85rem;
  font-weight:600;
}

/* Consent row propre */
body.signup .consent-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
body.signup .consent-row label{
  margin:0;
  line-height:1.35;
}
place-items:start center;

body.signup .pw-field{
  position: relative;
  width: 100%;
}

body.signup .pw-field input{
  width: 100%;
  padding-right: 46px; /* place pour l’œil */
}

body.signup .pw-toggle{
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #64748b;
  z-index: 2;
}

body.signup .pw-toggle:hover{ color: var(--brand, #2563eb); }
}
body.signup .pw-field{ position:relative; width:100%; }
body.signup .pw-field input{ padding-right:54px; }
body.signup .pw-toggle{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
  background:transparent;
  border:0;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  cursor:pointer;
  z-index:10;
}
/* Champ mot de passe + oeil */
body.signup .pw-field{
  position: relative;
  width: 100%;
}

body.signup .pw-field input{
  padding-right: 54px; /* place pour l’oeil */
}

/* Reset total pour éviter que main.css force le bouton */
body.signup .pw-toggle{
  all: unset;                 /* 🔥 neutralise les styles globaux */
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  cursor: pointer;
  z-index: 10;
  color: #64748b;
}

body.signup .pw-toggle:hover{ color:#0f172a; }
body.signup .pw-toggle:focus-visible{
  outline: 3px solid rgba(37,99,235,.25);
  border-radius: 10px;
}
/* ✅ Ne masque QUE quand c'est un vrai password */
body.signup #password[type="password"]{
  -webkit-text-security: disc; /* optionnel */
}

body.signup #password[type="text"]{
  -webkit-text-security: none; /* IMPORTANT */
}

