/* =====================================================================
 * Maurice Core - Page de login wp-login.php (réseau)
 * Charte : fond gris #f9fafb, card blanche, primaire #cd2920, Inter.
 * Le logo est injecté en inline-style par LoginPage::enqueue_styles
 * (option maurice_commune_logo_id, puis custom-logo du thème).
 * ===================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body.login {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    background-color: #f9fafb;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}

/* Logo - background injecté en inline (cf. LoginPage::enqueue_styles) */
body.login h1 a {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 240px;
    height: 90px;
    display: block;
    margin: 0 auto 1.5rem;
    text-indent: -9999px;
}

/* Variante <img> (template access-denied) */
body.login h1 a img {
    max-width: 240px;
    height: auto;
    display: block;
    margin: 0 auto;
}

#login {
    width: 100%;
    max-width: 384px;
    padding: 0;
}

.maurice-login-header {
    text-align: center;
    margin-bottom: 0.5rem;
}

.maurice-login-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #111827;
    font-family: 'Inter', system-ui, sans-serif;
    margin: 0 0 0.25rem;
}

.maurice-login-subtitle {
    font-size: 0.875rem;
    font-weight: 400;
    color: #6b7280;
    font-family: 'Inter', system-ui, sans-serif;
    margin: 0;
}

#loginform,
#lostpasswordform,
#resetpassform,
#registerform {
    background: #ffffff;
    border-radius: 1rem;
    border: 1px solid #e5e7eb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 2rem;
    margin-top: 1.5rem;
}

#loginform::before {
    content: 'Connexion';
    display: block;
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1.5rem;
    font-family: 'Inter', system-ui, sans-serif;
}

#lostpasswordform::before {
    content: 'Mot de passe oublié';
    display: block;
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1.5rem;
    font-family: 'Inter', system-ui, sans-serif;
}

#resetpassform::before {
    content: 'Nouveau mot de passe';
    display: block;
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1.5rem;
    font-family: 'Inter', system-ui, sans-serif;
}

#registerform::before {
    content: 'Créer un compte';
    display: block;
    font-size: 1.125rem;
    font-weight: 600;
    color: #111827;
    margin-bottom: 1.5rem;
    font-family: 'Inter', system-ui, sans-serif;
}

#loginform label,
#lostpasswordform label,
#resetpassform label,
#registerform label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #374151;
    margin-bottom: 0.25rem;
    font-family: 'Inter', system-ui, sans-serif;
}

#loginform input[type="text"],
#loginform input[type="password"],
#loginform input[type="email"],
#lostpasswordform input[type="text"],
#lostpasswordform input[type="email"],
#resetpassform input[type="text"],
#resetpassform input[type="password"],
#registerform input[type="text"],
#registerform input[type="email"] {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 0.5rem;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    font-family: 'Inter', system-ui, sans-serif;
    color: #111827;
    background: #ffffff;
    box-shadow: none;
    transition: border-color 0.15s, box-shadow 0.15s;
    box-sizing: border-box;
    margin-bottom: 1rem;
}

#loginform input[type="text"]:focus,
#loginform input[type="password"]:focus,
#loginform input[type="email"]:focus,
#lostpasswordform input[type="text"]:focus,
#lostpasswordform input[type="email"]:focus,
#resetpassform input[type="text"]:focus,
#resetpassform input[type="password"]:focus,
#registerform input[type="text"]:focus,
#registerform input[type="email"]:focus {
    outline: none;
    border-color: #cd2920;
    box-shadow: 0 0 0 3px rgba(205, 41, 32, 0.15);
}

#loginform .submit,
#lostpasswordform .submit,
#resetpassform .submit,
#registerform .submit {
    margin-top: 0;
}

#loginform input[type="submit"],
#lostpasswordform input[type="submit"],
#resetpassform input[type="submit"],
#registerform input[type="submit"] {
    width: 100%;
    background-color: #cd2920;
    color: #ffffff;
    font-family: 'Inter', system-ui, sans-serif;
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.625rem 1rem;
    border: none;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: background-color 0.15s;
    height: auto;
    box-shadow: none;
    text-shadow: none;
}

#loginform input[type="submit"]:hover,
#lostpasswordform input[type="submit"]:hover,
#resetpassform input[type="submit"]:hover,
#registerform input[type="submit"]:hover {
    background-color: #b52219;
}

#loginform input[type="submit"]:focus,
#lostpasswordform input[type="submit"]:focus,
#resetpassform input[type="submit"]:focus,
#registerform input[type="submit"]:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(205, 41, 32, 0.3);
}

#loginform .forgetmenot {
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin: 0 0 0.75rem 0;
}

#loginform .forgetmenot label {
    font-size: 0.8rem;
    color: #6b7280;
    font-weight: 400;
    margin-bottom: 0;
}

#loginform input[type="checkbox"] {
    accent-color: #cd2920;
    width: 14px;
    height: 14px;
}

#login_error,
.message,
.success {
    border-radius: 0.5rem;
    font-size: 0.875rem;
    font-family: 'Inter', system-ui, sans-serif;
    padding: 0.75rem 1rem;
    margin: 0 0 1rem 0;
    border-left: none;
    width: 100%;
    box-sizing: border-box;
}

#login_error {
    background-color: #fef2f2;
    border: 1px solid #fecaca;
    color: #991b1b;
}

.message {
    background-color: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1e40af;
}

.success {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    color: #166534;
}

#nav,
#backtoblog,
#maurice-account-request {
    text-align: center;
    margin-top: 1rem;
    padding: 0;
}

#maurice-account-request {
    margin-top: 0.5rem;
}

#nav a,
#backtoblog a,
#maurice-account-request a {
    color: #6b7280;
    font-size: 0.8rem;
    font-family: 'Inter', system-ui, sans-serif;
    text-decoration: none;
}

#nav a:hover,
#backtoblog a:hover,
#maurice-account-request a:hover {
    color: #cd2920;
    text-decoration: underline;
}

.login #login_footer,
body.login > p {
    text-align: center;
    font-size: 0.75rem;
    color: #9ca3af;
    font-family: 'Inter', system-ui, sans-serif;
    margin-top: 1.5rem;
}

body.login #backtoblog {
    display: none;
}

/* ---------------------------------------------------------------------
 * Page de réinitialisation du mot de passe (?action=rp / resetpass)
 * - Bandeau d'identité (email du compte, lecture seule, injecté par JS)
 * - Wrapper .wp-pwd contient le champ + bouton show/hide
 * - #pass-strength-result : indicateur de force
 * - .pw-weak : case "Confirmer l'utilisation d'un mot de passe faible"
 * - .indicator-hint : aide texte sous le champ
 * ------------------------------------------------------------------- */

/* Garde-fou : le champ user_login en hidden ne doit jamais s'afficher,
   quoi qu'un autre script tente d'en faire. */
#resetpassform #user_login {
    display: none !important;
}

.maurice-reset-identity {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    padding: 0.625rem 0.875rem;
    margin: 0 0 1.25rem 0;
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
}

.maurice-reset-identity__label {
    font-size: 0.7rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.maurice-reset-identity__value {
    font-size: 0.9rem;
    font-weight: 500;
    color: #111827;
    word-break: break-all;
}

#resetpassform .user-pass1-wrap,
#resetpassform .user-pass2-wrap {
    margin: 0 0 1rem 0;
}

#resetpassform .user-pass1-wrap > p,
#resetpassform .user-pass2-wrap label {
    margin-bottom: 0.25rem;
}

#resetpassform .wp-pwd {
    position: relative;
    margin: 0 0 0.5rem 0;
}

#resetpassform .wp-pwd input[type="text"],
#resetpassform .wp-pwd input[type="password"] {
    padding-right: 5rem; /* place pour les 2 icônes (générer + œil) */
    margin-bottom: 0;
    height: 2.625rem;
    line-height: 1.5;
    box-sizing: border-box;
}

/* Hauteur calée sur celle de l'input :
   padding 0.5rem (×2) + line-height 1.5em sur font-size 1rem + bordure 2px
   ≈ 2.625rem. Le wrapper .wp-pwd contient aussi #pass-strength-result, donc
   un height:100% étalerait le bouton sur toute la pile - on le borne à la
   hauteur réelle de l'input. */
/* Le wrapper .wp-pwd contient aussi #pass-strength-result : on ne peut donc
   pas se reposer sur height:100%. On cale top:0 et height:2.625rem en miroir
   exact de l'input ci-dessus pour rester centré quoi qu'il arrive. */
#resetpassform .wp-pwd .wp-hide-pw {
    position: absolute;
    top: 1px;
    right: 1px;
    height: calc(2.625rem - 2px);
    width: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #9ca3af;
    cursor: pointer;
    padding: 0;
    margin: 0;
    font-size: 0;
    line-height: 1;
    border-radius: 0 0.4rem 0.4rem 0;
    transition: color 0.15s, background-color 0.15s;
}

#resetpassform .wp-pwd .wp-hide-pw:hover {
    color: #cd2920;
    background: #f9fafb;
}

#resetpassform .wp-pwd .wp-hide-pw:focus {
    outline: none;
    color: #cd2920;
    background: #f9fafb;
    box-shadow: inset 0 0 0 2px rgba(205, 41, 32, 0.25);
}

#resetpassform .wp-pwd .wp-hide-pw .text {
    display: none;
}

#resetpassform .wp-pwd .wp-hide-pw .dashicons,
#resetpassform .wp-pwd .maurice-generate-pw .dashicons {
    display: block;
    width: 1.1rem;
    height: 1.1rem;
    font-size: 1.1rem;
    line-height: 1;
    margin: 0;
    padding: 0;
    vertical-align: middle;
}

/* Le glyphe dashicons-hidden a un décalage interne ~1px par rapport aux
   autres icônes de la police : on le remonte pour aligner son centre
   optique sur celui de dashicons-update-alt. */
#resetpassform .wp-pwd .wp-hide-pw .dashicons {
    transform: translateY(-1px);
}

/* Bouton « Générer un mot de passe » déplacé par JS dans .wp-pwd à gauche
   de l'œil. Même look qu'un bouton-icône sobre, jamais en bordure jusqu'au
   bord de l'input (top:1px / height:calc - 2px). */
#resetpassform .wp-pwd .maurice-generate-pw {
    position: absolute;
    top: 1px;
    right: calc(2.25rem + 1px);
    height: calc(2.625rem - 2px);
    width: 2.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    border-right: 1px solid #e5e7eb;
    color: #9ca3af;
    cursor: pointer;
    padding: 0;
    margin: 0;
    font-size: 0;
    line-height: 1;
    border-radius: 0;
    transition: color 0.15s, background-color 0.15s;
}

#resetpassform .wp-pwd .maurice-generate-pw:hover {
    color: #cd2920;
    background: #f9fafb;
}

#resetpassform .wp-pwd .maurice-generate-pw:focus {
    outline: none;
    color: #cd2920;
    background: #f9fafb;
    box-shadow: inset 0 0 0 2px rgba(205, 41, 32, 0.25);
}

/* Masque les textes WP du bouton (« Generate Password ») hors accessibilité. */
#resetpassform .wp-pwd .maurice-generate-pw .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

#resetpassform #pass-strength-result {
    border-radius: 0.5rem;
    border: 1px solid #e5e7eb;
    background: #f9fafb;
    padding: 0.4rem 0.75rem;
    font-size: 0.78rem;
    font-weight: 500;
    font-family: 'Inter', system-ui, sans-serif;
    text-align: center;
    margin: 0.5rem 0 0.75rem 0;
    width: 100%;
    box-sizing: border-box;
}

#resetpassform #pass-strength-result.short,
#resetpassform #pass-strength-result.bad {
    background: #fef2f2;
    border-color: #fecaca;
    color: #991b1b;
}

#resetpassform #pass-strength-result.good {
    background: #fffbeb;
    border-color: #fde68a;
    color: #92400e;
}

#resetpassform #pass-strength-result.strong {
    background: #f0fdf4;
    border-color: #bbf7d0;
    color: #166534;
}

#resetpassform .pw-weak {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    margin: 0 0 0.75rem 0;
    padding: 0.5rem 0.75rem;
    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: 0.5rem;
}

#resetpassform .pw-weak label {
    font-size: 0.8rem;
    color: #991b1b;
    font-weight: 500;
    margin-bottom: 0;
}

#resetpassform .pw-checkbox {
    accent-color: #cd2920;
    width: 14px;
    height: 14px;
    margin: 0;
}

#resetpassform .description,
#resetpassform .indicator-hint {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0 0 1rem 0;
    line-height: 1.5;
}

#resetpassform .submit.reset-pass-submit {
    display: flex;
    flex-direction: column;
    gap: 0;
}
