:root{
  --alfred-login-bg:#050b16;
  --alfred-login-panel:#101a2a;
  --alfred-login-field:#0a1322;
  --alfred-login-text:#f5f1e8;
  --alfred-login-muted:#94a0b5;
  --alfred-login-border:rgba(163,181,211,.16);
  --alfred-login-border-strong:rgba(178,195,222,.26);
  --alfred-login-accent:#7d8cff;
  --alfred-login-accent-hover:#a9b4ff;
  --alfred-login-accent-text:#f8f9ff;
  --alfred-login-serif:Georgia,"Times New Roman",serif;
  --alfred-login-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

html{background:var(--alfred-login-bg)!important}
body.login{
  min-height:100vh!important;
  margin:0!important;
  padding:32px!important;
  display:grid!important;
  grid-template-columns:minmax(420px,760px) minmax(420px,560px)!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:48px!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:auto!important;
  background:
    radial-gradient(circle at 14% 7%,rgba(49,82,139,.22),transparent 34rem),
    radial-gradient(circle at 88% 90%,rgba(125,140,255,.045),transparent 28rem),
    var(--alfred-login-bg)!important;
  color:var(--alfred-login-text)!important;
  font-family:var(--alfred-login-sans)!important;
  -webkit-font-smoothing:antialiased;
}
body.login *{box-sizing:border-box}

/* La grande photographie est une vraie colonne de la grille, indépendante du HTML WordPress. */
body.login::before{
  content:""!important;
  display:block!important;
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  width:100%!important;
  height:min(760px,calc(100vh - 64px))!important;
  min-height:620px!important;
  border:1px solid var(--alfred-login-border)!important;
  border-radius:24px!important;
  background-image:
    linear-gradient(to top,rgba(5,7,8,.22),transparent 50%),
    var(--alfred-login-hero)!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  box-shadow:0 28px 80px rgba(0,0,0,.28)!important;
}

body.login #login{
  grid-column:2!important;
  grid-row:1!important;
  align-self:center!important;
  width:100%!important;
  max-width:560px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}

/* Le logo WordPress existe toujours pour l'accessibilité mais n'occupe plus d'espace. */
body.login h1.wp-login-logo{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}

body.login .alfred-login-intro{
  display:block!important;
  width:100%!important;
  margin:0 0 24px!important;
  padding:0 4px!important;
}
body.login .alfred-login-eyebrow{
  margin:0 0 10px!important;
  color:var(--alfred-login-accent)!important;
  font:700 11px/1.2 var(--alfred-login-sans)!important;
  letter-spacing:.15em!important;
}
body.login .alfred-login-intro h2{
  margin:0!important;
  color:var(--alfred-login-text)!important;
  font:500 clamp(48px,4vw,64px)/.98 var(--alfred-login-serif)!important;
  letter-spacing:-.045em!important;
}
body.login .alfred-login-subtitle{
  margin:15px 0 0!important;
  color:var(--alfred-login-muted)!important;
  font:15px/1.5 var(--alfred-login-sans)!important;
}

body.login #login_error,
body.login .message,
body.login .success{
  width:100%!important;
  margin:0 0 14px!important;
  padding:13px 15px!important;
  border:1px solid var(--alfred-login-border)!important;
  border-left:3px solid var(--alfred-login-accent)!important;
  border-radius:12px!important;
  background:#101a2a!important;
  color:var(--alfred-login-text)!important;
  box-shadow:none!important;
  font:13px/1.45 var(--alfred-login-sans)!important;
}
body.login #login_error{border-left-color:#d87878!important}
body.login #login_error a,
body.login .message a{color:var(--alfred-login-accent)!important}

body.login #login form{
  width:100%!important;
  margin:0!important;
  padding:28px!important;
  border:1px solid var(--alfred-login-border)!important;
  border-radius:20px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,.004)),var(--alfred-login-panel)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.18)!important;
}
body.login #login form p{margin:0 0 18px!important}
body.login #login form p:last-child{margin-bottom:0!important}
body.login #login label{
  color:var(--alfred-login-text)!important;
  font:600 13px/1.4 var(--alfred-login-sans)!important;
}
body.login #login input[type="text"],
body.login #login input[type="password"],
body.login #login input[type="email"]{
  width:100%!important;
  min-height:50px!important;
  margin:8px 0 0!important;
  padding:10px 14px!important;
  border:1px solid var(--alfred-login-border-strong)!important;
  border-radius:12px!important;
  outline:0!important;
  background:var(--alfred-login-field)!important;
  color:var(--alfred-login-text)!important;
  box-shadow:none!important;
  font:15px/1.2 var(--alfred-login-sans)!important;
}
body.login #login input[type="text"]:focus,
body.login #login input[type="password"]:focus,
body.login #login input[type="email"]:focus{
  border-color:rgba(125,140,255,.72)!important;
  box-shadow:0 0 0 3px rgba(125,140,255,.12)!important;
}
body.login .wp-pwd{margin-top:8px!important}
body.login .wp-pwd input{margin-top:0!important;padding-right:48px!important}
body.login .button.wp-hide-pw{
  top:1px!important;
  right:2px!important;
  width:46px!important;
  height:48px!important;
  min-height:48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--alfred-login-muted)!important;
  box-shadow:none!important;
}
body.login .button.wp-hide-pw:focus{box-shadow:none!important;color:var(--alfred-login-accent)!important}

body.login .forgetmenot{
  float:none!important;
  margin:3px 0 20px!important;
}
body.login .forgetmenot label{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:var(--alfred-login-muted)!important;
  font-weight:500!important;
}
body.login input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  border:1px solid var(--alfred-login-border-strong)!important;
  border-radius:5px!important;
  background:var(--alfred-login-field)!important;
  box-shadow:none!important;
}
body.login input[type="checkbox"]:checked::before{color:var(--alfred-login-accent)!important}

body.login .submit{
  float:none!important;
  clear:both!important;
  margin:0!important;
  padding:0!important;
}
body.login #login .button-primary{
  display:block!important;
  width:100%!important;
  min-height:50px!important;
  margin:0!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--alfred-login-accent)!important;
  color:var(--alfred-login-accent-text)!important;
  text-shadow:none!important;
  box-shadow:none!important;
  font:700 14px/1 var(--alfred-login-sans)!important;
}
body.login #login .button-primary:hover,
body.login #login .button-primary:focus{
  background:var(--alfred-login-accent-hover)!important;
  color:var(--alfred-login-accent-text)!important;
  box-shadow:0 0 0 3px rgba(125,140,255,.13)!important;
}

body.login #nav{
  margin:17px 0 0!important;
  padding:0 4px!important;
  text-align:center!important;
  color:var(--alfred-login-muted)!important;
}
body.login #nav a{
  color:var(--alfred-login-accent)!important;
  text-decoration:none!important;
  font:500 13px/1.4 var(--alfred-login-sans)!important;
}
body.login #nav a:hover{text-decoration:underline!important}

/* Le site est fermé : aucune sortie latérale depuis la porte d'entrée. */
body.login #backtoblog,
body.login .privacy-policy-page-link,
body.login .language-switcher{
  display:none!important;
}
body.login .dashicons{font-family:dashicons!important}
body.login a{outline:0!important}
body.login a:focus{box-shadow:none!important}

@media (max-width:1080px){
  body.login{
    grid-template-columns:minmax(360px,1fr) minmax(390px,500px)!important;
    gap:30px!important;
    padding:24px!important;
  }
  body.login::before{
    min-height:560px!important;
    height:min(700px,calc(100vh - 48px))!important;
  }
}

@media (max-width:820px){
  body.login{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    min-height:100vh!important;
    padding:28px 0!important;
  }
  /* Sur téléphone, l'image héro disparaît entièrement. */
  body.login::before{
    content:none!important;
    display:none!important;
    background-image:none!important;
  }
  body.login #login{
    width:min(620px,calc(100vw - 28px))!important;
    max-width:none!important;
    margin:0 auto!important;
  }
  body.login .alfred-login-intro{
    margin-bottom:18px!important;
    padding:0 2px!important;
  }
  body.login #login form{padding:22px!important;border-radius:16px!important}
}

@media (max-width:520px){
  body.login{padding:18px 0!important}
  body.login #login{width:calc(100vw - 22px)!important}
  body.login .alfred-login-intro h2{font-size:44px!important}
  body.login #login form{padding:18px!important}
}
