*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  background:#f4f3f3;
  color:#111;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:20px 32px 120px;
  margin: 0;
  min-height: 100vh;
}

.card{
  width:682.5px;
  height:610px;
  max-width:92vw;
  background:#fff;
  border:1px solid #e0e0e0;
  box-shadow:none;
  display:block;
  margin-bottom:50px;
}

.card .topbar{height:12px;background:#000}
.card .content{padding:48px 84px 72px;text-align:center}

.logo{width:56px;height:56px;margin:12px auto 28px}
h1{font-size:40px;font-weight:700;margin-bottom:18px}
.subtitle{font-size:18px;font-weight:700;margin-bottom:32px}

.field{display:flex;justify-content:center;margin-bottom:36px}
.field input{width:70%;max-width:520px;border:0;border-bottom:1px solid #bdbdbd;padding:10px 6px;font-size:15px;outline:none;background:transparent}
.field input::placeholder{color:#9e9e9e}

.actions{display:flex;justify-content:center;gap:12px}
.btn{background:#000;color:#fff;padding:12px 36px;font-weight:700;border:none;cursor:pointer;text-transform:none;letter-spacing:0.2px;box-shadow:none;outline:none}
.btn.secondary{background:#f5f5f5;color:#111}

/* Étape 2 éléments */
.email-display{display:flex;justify-content:center;margin-bottom:32px}
.email-field{background:#f5f5f5;border-radius:25px;padding:12px 20px;display:flex;align-items:center;gap:12px;width:fit-content;min-width:200px;max-width:500px;position:relative}
.back-arrow{color:#666;font-size:18px;font-weight:bold;cursor:pointer}
.user-icon{width:16px;height:16px;opacity:0.7}
.email-text{color:#333;font-weight:500;flex:1}

.password-instruction{font-size:18px;font-weight:700;text-align:center;margin-bottom:24px;color:#333}
.password-field{display:flex;flex-direction:column;align-items:center;margin-bottom:12px;position:relative}
.password-row{width:100%;display:flex;justify-content:center;position:relative}
.password-row input{width:70%;max-width:400px;border:0;border-bottom:1px solid #bdbdbd;padding:10px 40px 10px 6px;font-size:15px;outline:none;background:transparent;border-radius:6px 6px 0 0}
.password-row input::placeholder{color:#9e9e9e}
.eye-icon{position:absolute;right:15%;top:50%;transform:translateY(-50%);color:#ff7a00;cursor:pointer;font-size:16px}

.password-field.has-error .password-row input{border-bottom:4px solid #ff4444}
.password-field.has-error .error-message{display:flex;margin:0 auto;padding:10px 14px;border-top:none;border-radius:0 0 6px 6px;width:70%;max-width:400px;background:#fdecea}

.forgot-password{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:20px}
.forgot-link{color:#333;text-decoration:none;font-size:14px}
.forgot-link:hover{text-decoration:underline}
.arrow-right{color:#ff7a00;font-size:16px;font-weight:bold}

.error-message{
  display:none;
  align-items:center;
  gap:12px;
  max-width:720px;
  margin:16px auto 24px;
  padding:12px 16px;
  border-radius:6px;
  background:#fdecea;
  color:#111;
  font-size:14px;
  font-weight:600;
  box-shadow:none;
}
.error-icon{
  width:28px;
  height:28px;
  background:#ff4444;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  font-weight:700;
  font-size:14px;
}
.error-text{flex:1;color:#111;font-weight:600}

.legal-footer{position:fixed;bottom:0;left:0;right:0;width:100%;margin:0;padding:0;z-index:1000}
.footer-image{width:100%;max-width:100%;height:auto;display:block;object-fit:contain}

/* Styles pour le pied de page Orange */
.band.liens-legaux{
  background:#000;
  border-top:1px solid #333;
  padding:20px 0;
  font-size:12px;
  line-height:1.4;
}
.band.liens-legaux .size-limit{
  max-width:1200px;
  margin:0 auto;
  padding:0 20px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.band.liens-legaux .footer-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:20px;
}
.band.liens-legaux a{
  color:#fff;
  text-decoration:none;
  padding:2px 4px;
  transition:color 0.2s ease;
  white-space:nowrap;
}
.band.liens-legaux a:hover{
  color:#ff7a00;
  text-decoration:underline;
}
.band.liens-legaux .separator{
  color:#fff;
  margin:0 10px;
  font-weight:300;
}
.band.liens-legaux .copyright{
  color:#fff;
  font-weight:500;
}
.screen-reader-only{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}


@media (max-width:768px){
  .card{width:90vw;height:auto;min-height:500px}
  .card .content{padding:30px 40px}
  h1{font-size:32px}
  .subtitle,.password-instruction{font-size:16px}
  .field input,.password-row input{width:85%}
  .email-field{min-width:180px;max-width:90%}
  .footer-image{max-height:60px}
}
@media (max-width:520px){
  .card{width:95vw;height:auto;min-height:450px}
  .card .content{padding:20px 25px}
  h1{font-size:28px}
  .subtitle,.password-instruction{font-size:14px}
  .field input,.password-row input{width:90%}
  .email-field{min-width:160px;max-width:95%}
  .error-message{max-width:90%;font-size:12px;padding:10px 12px}
  .footer-image{max-height:50px}
}
@media (max-width:360px){
  .card .content{padding:15px 20px}
  h1{font-size:24px}
  .subtitle,.password-instruction{font-size:12px}
  .field input,.password-row input{width:95%}
  .email-field{min-width:140px;max-width:98%;padding:10px 15px}
  .error-message{max-width:95%;font-size:11px;padding:8px 10px}
  .footer-image{max-height:40px}
}
@media (min-width:769px){.footer-image{max-height:80px}}
