/************************************************************
 * Login/Inscription/Reset WordPress (front harmonisé)
 ************************************************************/

/* ===== Fond animé partagé ===== */
@keyframes gradientBG {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.app-content,
body.login {
  background: linear-gradient(-45deg, var(--c-bg1), var(--c-bg2), var(--c-bg3), var(--c-bg4));
  background-size: 400% 400%;
  animation: gradientBG 12s ease infinite;
  padding: 2rem;
}

body.login { min-height: calc(100vh - 4rem); height: auto; }

/* ===== Carte conteneur ===== */
.app-content .entry-content,
body.login .login-container {
  padding: 2rem;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: 12px;
  box-shadow: var(--shadow-md);
  max-width: 360px;
  margin: 100px auto 0;
}

body.login #login { width: 100%; }

/* Titre */
body.login h1 {
  text-align: center;
  max-width: 340px;
  font-size: 48px;
  color: var(--c-text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

/* ===== Nettoyage UI WP ===== */
.wp-login-logo,
.login h1.wp-login-logo { display: none !important; }
#backtoblog { display: none !important; }
#reg_passmail { display: none !important; }
body.login-action-rp p#nav { display: none !important; }

/* Ajustements 2FA (Really Simple SSL 2FA) */
body.login .rsssl-two-factor-email-resend input,
body.login form[name="rsssl_validate_2fa_form"] input#submit { margin-top: 20px; }

/* Navigation sous formulaire */
.login p#nav {
  margin: 15px 0 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 15px !important;
}

/* ===== Reset léger inputs ===== */
#loginform input,
#registerform input,
#resetpassform input,
#lostpasswordform input { box-sizing: border-box; }

/* ===== Formulaires (base) ===== */
body.login #loginform {
  margin: 0 !important;
  padding: 0 !important;
  background: unset !important;
  border: 0 !important;
  box-shadow: unset !important;
}
form#loginform,
form#registerform,
form#resetpassform,
form#lostpasswordform { border: none !important; padding: 0 !important; }

#loginform,
#registerform,
#resetpassform,
#lostpasswordform { font-family: "Inter", system-ui, sans-serif; }

/* Labels */
#loginform label,
#registerform label,
#resetpassform label,
#lostpasswordform label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: .35rem;
  color: #374151;
}

/* Inputs */
#loginform .input,
#registerform .input,
#resetpassform .input,
#lostpasswordform .input {
  width: -webkit-fill-available;
  border: 1px solid var(--c-border-weak);
  border-radius: 8px;
  padding: .65rem .75rem;
  font-size: 15px;
  color: var(--c-text);
  background-color: #f9fafb;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
  margin-right: 0 !important;
}
#loginform .input:focus,
#registerform .input:focus,
#resetpassform .input:focus,
#lostpasswordform .input:focus {
  border-color: var(--focus);
  outline: none;
  box-shadow: 0 0 0 3px rgba(99,102,241,.25);
  background-color: #fff;
}

/* Espacements */
#loginform p,
#registerform p,
#resetpassform p,
#lostpasswordform p { margin-bottom: 1.25rem; }

/* Remember me / forgetmenot */
#loginform .login-remember,
#registerform .login-remember,
#resetpassform .login-remember,
#lostpasswordform .login-remember {
  display: flex; align-items: center; font-size: 14px; color: var(--c-text-muted);
}
#loginform .login-remember input[type="checkbox"],
#registerform .login-remember input[type="checkbox"],
#resetpassform .login-remember input[type="checkbox"],
#lostpasswordform .login-remember input[type="checkbox"] { margin-right: .4rem; }
#login .forgetmenot { display: flex; align-items: center; }

/* ===== Boutons ===== */
#loginform .button.button-primary,
#registerform .button.button-primary,
#resetpassform .button.button-primary,
#lostpasswordform .button.button-primary {
  width: 100%;
  border: none;
  border-radius: 8px;
  padding: .75rem;
  font-size: 15px;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
  background: var(--c-primary);
  border-color: var(--c-primary);
  line-height: 1.2rem;
  transition: background-color .2s, transform .1s;
}
#loginform .button.button-primary:active,
#registerform .button.button-primary:active,
#resetpassform .button.button-primary:active,
#lostpasswordform .button.button-primary:active { transform: scale(.98); }

/* Boutons secondaires dans .login-container */
.login-container .button:not(.wp-hide-pw):not(.lang-switch-btn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .45rem .8rem;
  border-radius: .5rem;
  border: 1px solid var(--c-border);
  background: #fff;
  color: var(--c-text);
  text-decoration: none;
  font-weight: 600;
  font-size: .92rem;
  width: 100%;
  max-height: 41px;
  transition: background .15s ease, border-color .15s ease, transform .06s ease;
}
body.login .login-container .button:hover { background: #f9fafb; }
body.login .login-container .button:active { transform: translateY(1px); }
body.login .login-container .button-primary {
  background: var(--c-primary); color: #fff; border-color: var(--c-primary);
}
body.login .login-container .button-primary:hover { background: var(--c-primary-hover); }
body.login .login-container .button-ghost {
  background: #fff; color: var(--c-text); border-color: var(--c-border);
}
body.login .login-container .button-ghost:hover { background: #f3f4f6; color: var(--c-text); }

/* ===== Notices ===== */
.login-container .notice {
  margin: 1rem 0 1.5rem;
  padding: 0.9rem 1.2rem;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.5;
  border-left: 4px solid transparent;
  box-shadow: var(--shadow-sm);
}
/* Info */
.login-container .notice-info {
  background-color: var(--info-bg);
  border-left-color: var(--info-border);
  color: var(--info-ink);
}
/* Succès */
.login-container .notice-success {
  background-color: var(--ok-bg);
  border-left-color: var(--ok-border);
  color: var(--ok-ink);
}
/* Avertissement */
.login-container .notice-warning {
  background-color: var(--warn-bg);
  border-left-color: var(--warn-border);
  color: var(--warn-ink);
}
/* Erreur */
.login-container .notice-error {
  background-color: var(--err-bg);
  border-left-color: #ef4444; /* accent un peu plus vif */
  color: #991b1b;
}

/* Message d'inscription spécifique */
.login-container .notice.message.register {
  background-color: #f0f9ff;
  border-left-color: #0284c7;
  color: #075985;
  font-weight: 500;
  text-align: center;
}
body.login .message.register { display: none; }

/* ===== Cas particuliers inscription ===== */
body.login-action-register #registerform > p:has(input#user_login) { display: none !important; }
body.login-action-register #registerform input#user_email {
  margin-bottom: 20px !important; margin-right: 0 !important;
}
