@import url("https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap");
:root{
    --d301-red:#ba1718;
    --d301-red-dark:#941113;
    --d301-ink:#1d1d1b;
    --d301-ink-soft:#31312f;
    --d301-card:#fff;
    --d301-text:#1d1d1b;
    --d301-muted:#6b6b68;
    --d301-border:#e5e5e2;
}
html{background:var(--d301-ink)}
body.login{
    min-height:100vh;margin:0;color:var(--d301-text);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
    background:
      radial-gradient(circle at 77% 17%,rgba(var(--d301-brand-rgb,186,23,24),.25),transparent 0 25%),
      radial-gradient(circle at 12% 84%,rgba(var(--d301-brand-rgb,186,23,24),.14),transparent 0 30%),
      linear-gradient(135deg,#151514 0%,var(--d301-ink) 48%,#292927 100%);
    overflow-x:hidden;
}
body.login:before{
    content:"";position:fixed;inset:0;pointer-events:none;
    background:linear-gradient(118deg,transparent 0 58%,rgba(255,255,255,.025) 58% 58.25%,transparent 58.25% 72%,rgba(var(--d301-brand-rgb,186,23,24),.08) 72% 72.2%,transparent 72.2%);
}
body.login:after{
    content:"DeCA";position:fixed;right:-2vw;bottom:-7vh;pointer-events:none;user-select:none;
    color:rgba(255,255,255,.025);font-size:clamp(160px,27vw,480px);font-weight:900;line-height:.8;letter-spacing:-.08em;
}
#login{width:min(440px,calc(100% - 32px));padding:38px 0 36px;position:relative;z-index:2}
.login h1,.login .language-switcher{display:none}
.d301-login-brand{
    display:flex;flex-direction:column;align-items:center;gap:13px;margin:0 6px 20px;color:#fff;text-align:center;
}
.d301-login-logo{
    width:220px;height:132px;object-fit:contain;box-sizing:border-box;padding:11px 16px;
    background:#fff;border-radius:18px;box-shadow:0 18px 46px rgba(0,0,0,.32);
}
.d301-login-mark{display:none}
.d301-login-copy{display:flex;flex-direction:column;align-items:center}
.d301-login-copy strong{font-size:20px;line-height:1.15;letter-spacing:-.02em}
.d301-login-copy span{margin-top:4px;max-width:330px;color:rgba(255,255,255,.65);font-size:11px;line-height:1.4;letter-spacing:.02em}
.d301-login-intro{
    position:relative;background:var(--d301-card);padding:29px 34px 4px;border-radius:18px 18px 0 0;
    box-shadow:0 28px 75px rgba(0,0,0,.32);overflow:hidden;
}
.d301-login-intro:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--d301-red)}
.d301-login-intro h2{margin:0;color:var(--d301-ink);font-size:28px;line-height:1.2;letter-spacing:-.035em}
.d301-login-intro p{margin:9px 0 0;color:var(--d301-muted);font-size:14px;line-height:1.55}
.login form{
    margin-top:0;padding:24px 34px 31px;border:0;border-radius:0 0 18px 18px;background:var(--d301-card);
    box-shadow:0 28px 75px rgba(0,0,0,.32);
}
.login label{color:#3e3e3b;font-size:13px;font-weight:700}
.login form .input,.login input[type=text],.login input[type=password],.login input[type=email]{
    min-height:50px;margin:7px 0 18px;padding:0 14px;border:1px solid var(--d301-border);border-radius:9px;background:#f8f8f7;
    box-shadow:none;color:var(--d301-ink);font-size:16px;transition:border-color .18s,box-shadow .18s,background .18s;
}
.login form .input:focus,.login input[type=text]:focus,.login input[type=password]:focus,.login input[type=email]:focus{
    border-color:var(--d301-red);background:#fff;box-shadow:0 0 0 4px rgba(var(--d301-brand-rgb,186,23,24),.12);outline:0;
}
.login .button.wp-hide-pw{top:8px;right:4px;color:#74746f}
.login .forgetmenot{margin-top:2px}.login .forgetmenot label{font-weight:500;color:#6b6b68}
.login .button-primary{
    min-height:48px;padding:0 24px;border:0;border-radius:9px;background:var(--d301-red);box-shadow:0 9px 20px rgba(186,23,24,.22);
    color:#fff;font-size:14px;font-weight:800;text-shadow:none;transition:transform .16s,box-shadow .16s,background .16s;
}
.login .button-primary:hover,.login .button-primary:focus{background:var(--d301-red-dark);color:#fff;box-shadow:0 11px 25px rgba(186,23,24,.3);transform:translateY(-1px)}
.login .button-primary:focus{outline:2px solid #fff;outline-offset:2px}
.login #nav,.login #backtoblog{margin:15px 8px 0;padding:0;text-align:center}
.login #nav a,.login #backtoblog a{color:rgba(255,255,255,.7);font-size:13px;text-decoration:none}.login #nav a:hover,.login #backtoblog a:hover{color:#fff}
.login .message,.login .notice,.login #login_error{margin:14px 0 0;border:0;border-left:4px solid var(--d301-red);border-radius:9px;box-shadow:none;background:#fff;color:#3e3e3b}
.login #login_error{border-left-color:#ba1718}.login .privacy-policy-page-link{margin:26px 0 0}.login .privacy-policy-page-link a{color:rgba(255,255,255,.6)}
body.login-action-login #nav{display:none}
@media(max-width:520px){#login{width:calc(100% - 26px);padding-top:24px}.d301-login-logo{width:190px;height:114px}.d301-login-copy strong{font-size:18px}.d301-login-copy span{font-size:10px}.d301-login-intro{padding:25px 23px 4px}.d301-login-intro h2{font-size:25px}.login form{padding:22px 23px 27px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* v0.4.2 RC3 · accesibilidad tipográfica */
body.login{font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;text-size-adjust:100%}
.login label{font-size:16px;line-height:1.45}
.login form .input,.login input[type=text],.login input[type=password]{font-size:16px!important;min-height:48px;line-height:1.35}
.wp-core-ui .button.button-large,.wp-core-ui .button-primary{min-height:48px;font-size:16px;line-height:1.2;padding:0 18px}
.d301-login-copy strong{font-size:20px;line-height:1.25}
.d301-login-copy span{font-size:14px;line-height:1.4}
.d301-login-intro h2{font-size:30px;line-height:1.2}
.d301-login-intro p{font-size:16px;line-height:1.55}
.login .message,.login .notice,.login #login_error{font-size:15px;line-height:1.5}
.login a:focus-visible,.login button:focus-visible,.login input:focus-visible{outline:3px solid #fff;outline-offset:3px}
.login form input:focus-visible{outline:3px solid rgba(186,23,24,.35);outline-offset:2px}
@media(max-width:520px){.d301-login-copy strong{font-size:19px}.d301-login-copy span{font-size:13px}.d301-login-intro h2{font-size:27px}.d301-login-intro p{font-size:16px}}


/* v0.5.1 beta2 · SIM SUR branding + Lato 17px */
:root{
  --d301-red:#2871BB;
  --d301-red-dark:#1F5A96;
  --d301-brand-rgb:40,113,187;
  --d301-sim-green:#5B7F3A;
}
body.login,body.login input,body.login button{font-family:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;}
body.login{font-size:17px;line-height:1.55;}
.d301-login-copy strong{font-size:22px;font-weight:900;}
.d301-login-copy span{font-size:15px;}
.d301-login-intro h2{font-size:32px;}
.d301-login-intro p,.login label,.login .message,.login .notice,.login #login_error{font-size:17px;}
.login form .input,.login input[type=text],.login input[type=password],.login input[type=email],.wp-core-ui .button.button-large,.wp-core-ui .button-primary{font-size:17px!important;}
.d301-login-logo{padding:12px 18px;width:240px;height:136px;}
.d301-login-intro:before{background:linear-gradient(90deg,var(--d301-red),var(--d301-sim-green));}


/* v0.5.2 beta3 · enlaces legales en login */
.d301-login-legal{position:relative;z-index:3;width:min(620px,calc(100% - 32px));margin:8px auto 28px;text-align:center;color:rgba(255,255,255,.68);font-size:14px;line-height:1.5;}
.d301-login-legal span{display:block;margin-bottom:7px;}
.d301-login-legal nav{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 16px;}
.d301-login-legal a{color:rgba(255,255,255,.86);text-decoration:none;font-weight:700;}
.d301-login-legal a:hover{color:#fff;text-decoration:underline;}
.d301-login-legal a:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:3px;}
@media(max-width:520px){.d301-login-legal{font-size:13px;margin-top:4px}.d301-login-legal nav{gap:8px 12px}}
