/* Magical Girl Archive · WordPress login
 * Mantiene wp-login.php y sus flujos nativos; solo cambia la presentación.
 */
:root{
  --mga-login-bg:#f8f2f5;
  --mga-login-paper:#fffdfd;
  --mga-login-ink:#3f2f39;
  --mga-login-muted:#806f79;
  --mga-login-accent:#7d4c67;
  --mga-login-accent-hover:#6d405b;
  --mga-login-soft:#f0e1e9;
  --mga-login-line:#eadbe3;
  --mga-login-danger:#b44a68;
}

html{background:var(--mga-login-bg)}
body.login{
  position:relative;
  min-height:100vh;
  margin:0;
  padding:32px 18px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 14% 16%,rgba(213,163,192,.28),transparent 29%),
    radial-gradient(circle at 86% 78%,rgba(185,153,205,.20),transparent 32%),
    linear-gradient(145deg,#fbf6f8 0%,#f7eef3 52%,#f4edf4 100%);
  color:var(--mga-login-ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body.login:before,
body.login:after{
  position:fixed;
  z-index:0;
  pointer-events:none;
  color:rgba(125,76,103,.10);
  font-family:Georgia,"Times New Roman",serif;
  line-height:1;
}
body.login:before{content:'✦';font-size:clamp(9rem,22vw,20rem);left:-.08em;top:-.08em;transform:rotate(-9deg)}
body.login:after{content:'☾';font-size:clamp(11rem,24vw,23rem);right:-.12em;bottom:-.14em;transform:rotate(9deg)}

#login{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  width:min(100%,430px);
  padding:0;
  margin:0 auto;
}

.login h1.wp-login-logo{
  margin:0 0 18px;
  text-align:left;
}
.login h1.wp-login-logo a{
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  background:none!important;
  color:var(--mga-login-ink);
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.75rem,5vw,2.25rem);
  line-height:1.05;
  font-weight:700;
  letter-spacing:-.02em;
  text-indent:0;
  overflow:visible;
  text-decoration:none;
}
.login h1.wp-login-logo a:after{
  content:'ARCHIVO PERSONAL';
  display:block;
  margin-top:7px;
  color:var(--mga-login-muted);
  font-family:Inter,ui-sans-serif,system-ui,sans-serif;
  font-size:.64rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.18em;
}

.mga-login-intro{
  margin:0 0 14px;
  padding:0 2px;
}
.mga-login-intro strong{
  display:block;
  margin:0 0 4px;
  color:var(--mga-login-accent);
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.3rem;
  line-height:1.15;
}
.mga-login-intro span{
  display:block;
  color:var(--mga-login-muted);
  font-size:.86rem;
  line-height:1.55;
}

.login form{
  margin-top:0;
  padding:30px;
  border:1px solid var(--mga-login-line);
  border-radius:26px;
  background:rgba(255,253,253,.94);
  box-shadow:0 22px 70px rgba(75,45,62,.10);
  overflow:visible;
}
.login form .input,
.login input[type=text],
.login input[type=password],
.login input[type=email]{
  min-height:48px;
  margin:7px 0 18px;
  padding:10px 13px;
  border:1px solid #dfcbd6;
  border-radius:13px;
  background:#fff;
  color:var(--mga-login-ink);
  font-size:1rem;
  box-shadow:none;
}
.login form .input:focus,
.login input[type=text]:focus,
.login input[type=password]:focus,
.login input[type=email]:focus{
  border-color:var(--mga-login-accent);
  box-shadow:0 0 0 3px rgba(125,76,103,.12);
  outline:0;
}
.login label{
  color:var(--mga-login-ink);
  font-size:.83rem;
  font-weight:700;
}
.login .forgetmenot{margin-top:3px}
.login .forgetmenot label{font-weight:500;color:var(--mga-login-muted)}
.login input[type=checkbox]{
  width:18px;
  height:18px;
  border:1px solid #d7bdcb;
  border-radius:5px;
  box-shadow:none;
}
.login input[type=checkbox]:checked:before{filter:hue-rotate(285deg) saturate(.55)}

.wp-core-ui .button-primary{
  min-height:44px;
  padding:0 20px;
  border:0;
  border-radius:999px;
  background:var(--mga-login-accent);
  color:#fff;
  font-weight:750;
  text-shadow:none;
  box-shadow:none;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease;
}
.wp-core-ui .button-primary:hover,
.wp-core-ui .button-primary:focus{
  background:var(--mga-login-accent-hover);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(125,76,103,.18);
}
.wp-core-ui .button-primary:focus{outline:2px solid rgba(125,76,103,.22);outline-offset:2px}

.login .button.wp-hide-pw{
  top:8px;
  right:7px;
  color:var(--mga-login-accent);
}
.login .button.wp-hide-pw:focus{border-color:transparent;box-shadow:none;outline:2px solid rgba(125,76,103,.18);outline-offset:-2px}

.login #nav,
.login #backtoblog{
  margin:14px 4px 0;
  padding:0;
  text-align:center;
  color:var(--mga-login-muted);
}
.login #backtoblog{margin-top:8px}
.login #nav a,
.login #backtoblog a,
.login .privacy-policy-page-link a{
  color:var(--mga-login-muted);
  text-decoration:none;
}
.login #nav a:hover,
.login #backtoblog a:hover,
.login .privacy-policy-page-link a:hover{color:var(--mga-login-accent);text-decoration:underline}
.login .privacy-policy-page-link{margin:18px 0 0;text-align:center}

.login .message,
.login .notice,
.login #login_error{
  margin:0 0 14px;
  padding:13px 15px;
  border:1px solid var(--mga-login-line);
  border-left:4px solid var(--mga-login-accent);
  border-radius:14px;
  background:rgba(255,253,253,.96);
  color:var(--mga-login-ink);
  box-shadow:none;
}
.login #login_error{border-left-color:var(--mga-login-danger)}
.login .success{border-left-color:#668c75}

.login .language-switcher{
  position:relative;
  z-index:2;
  flex:0 0 auto;
  width:min(100%,430px);
  margin:18px auto 0;
}
.login .language-switcher form{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,253,253,.72);
  box-shadow:none;
}
.login .language-switcher select{
  max-width:210px;
  min-height:34px;
  border:1px solid var(--mga-login-line);
  border-radius:999px;
  background:#fff;
  color:var(--mga-login-muted);
}
.login .language-switcher .button{
  min-height:34px;
  border:1px solid var(--mga-login-line);
  border-radius:999px;
  color:var(--mga-login-accent);
  background:var(--mga-login-paper);
}

@media(min-width:900px){
  body.login{padding:48px 24px}
  #login{width:min(100%,460px)}
  .login .language-switcher{width:min(100%,460px)}
  .login form{padding:32px}
}

@media(max-width:520px){
  body.login{align-items:center;justify-content:flex-start;padding:42px 14px 28px}
  #login{width:100%}
  .login form{padding:24px 20px;border-radius:22px}
  .login h1.wp-login-logo{text-align:center}
  .mga-login-intro{text-align:center}
  .login .forgetmenot{float:none;margin-bottom:15px}
  .login .submit{float:none}
  .wp-core-ui .button-primary{width:100%}
}

@media(prefers-reduced-motion:reduce){
  .wp-core-ui .button-primary{transition:none}
  .wp-core-ui .button-primary:hover,.wp-core-ui .button-primary:focus{transform:none}
}
