/**
 * Pantalla de acceso — Global Hemp Guide 2026
 *
 * Mismos tokens que ghg.css, pero copiados aquí: wp-login.php no carga la hoja
 * del tema y no conviene meterle 60 KB de estilos del sitio para una pantalla.
 * Es un diseño de un solo mundo —campo verde oscuro, tarjeta clara—, así que no
 * lleva variante de tema oscuro: se ve igual en cualquier navegador.
 * La ruta del logotipo la inyecta inc/login.php en :root.
 */

:root{
	--type-label:.875rem; --control-height:2.75rem; --focus-width:2px; --focus-offset:3px;

  --paper:#F4F7F5; --card:#FFFFFF; --ink:#0D1613; --ink-soft:#51625A; --ink-mute:#7C8B83;
  --line:#E2E8E4;
  --green:#0B7A4B; --green-d:#075C38; --green-br:#17A863; --green-10:#EAF5EF; --green-deep:#0A2B1D;
  --amber:#D9822B; --amber-10:#FDF4EA; --amber-20:#F2DCC0;
  --danger:#B4402F; --danger-10:#FBEDEA; --danger-20:#EDCCC5;
  --green-20:#CFE8DB;
  --fd:'Archivo',Verdana,Arial,Helvetica,sans-serif;
  --fm:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
  --r-sm:10px; --r-lg:22px; --r-pill:999px;
  --ring:0 0 0 3px rgba(23,168,99,.32);
  --e-out:cubic-bezier(.16,1,.3,1);
}

/* ---------- El campo ---------- */
body.login{
  background:var(--green-deep);
  font-family:var(--fd);
  min-height:100vh;
  display:flex;flex-direction:column;justify-content:center;
  padding:44px 20px;
  margin:0;
  position:relative;
  overflow-x:hidden;
}
/* Retícula de coordenadas, dibujada en CSS: evoca el atlas del directorio sin
   pesar nada y sin estirar ninguna imagen. Se desvanece hacia los bordes. */
body.login::before{
  content:"";position:fixed;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);
  background-size:82px 82px;
  background-position:center;
  -webkit-mask-image:radial-gradient(980px 680px at 50% 30%,#000 22%,transparent 76%);
  mask-image:radial-gradient(980px 680px at 50% 30%,#000 22%,transparent 76%);
}
/* Un halo verde arriba: da profundidad sin cargar la pantalla. */
body.login::after{
  content:"";position:fixed;inset:0;
  background:radial-gradient(1100px 620px at 50% -12%,rgba(23,168,99,.26),transparent 66%);
  pointer-events:none;
}

body.login #login{
  position:relative;z-index:1;
  width:100%;max-width:412px;margin:0 auto;padding:0;
  animation:ghg-login-in .6s var(--e-out) both;
}
@keyframes ghg-login-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ---------- Logotipo ---------- */
body.login #login h1{margin:0 0 20px;padding:0}
body.login #login h1 a{
  display:block;width:100%;height:56px;
  background:var(--ghg-logo) center/contain no-repeat;
  margin:0;
  text-indent:-9999px;overflow:hidden;
  outline-offset:8px;
  transition:opacity .3s;
}
body.login #login h1 a:hover{opacity:.85}
body.login #login h1 a:focus-visible{outline:2px solid var(--green-br);border-radius:6px}

.ghg-login-claim{
  text-align:center;color:#A9C4B7;
  font-size:.9rem;line-height:1.5;
  margin:0 0 26px;
}

/* ---------- La tarjeta ---------- */
body.login form{
  background:var(--card);
  border:0;border-radius:var(--r-lg);
  box-shadow:0 26px 50px rgba(3,14,9,.42),0 10px 20px rgba(3,14,9,.26);
  padding:30px 28px 26px;
  margin:0;
  overflow:visible;
}

body.login form label{
  display:block;
  font-size:.74rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  color:var(--ink-soft);
  margin:0 0 7px;
  line-height:1.4;
}
body.login form .input,
body.login form input[type=text],
body.login form input[type=email],
body.login form input[type=password]{
  width:100%;box-sizing:border-box;
  font-family:var(--fd);font-size:1rem;line-height:1.4;color:var(--ink);
  background:var(--paper);
  border:1px solid var(--line);border-radius:var(--r-sm);
  padding:12px 14px;margin:0 0 20px;
  box-shadow:none;
  transition:border-color .25s,box-shadow .25s,background .25s;
}
body.login form input[type=password]{font-family:var(--fm);letter-spacing:.04em}
body.login form .input:focus,
body.login form input[type=text]:focus,
body.login form input[type=email]:focus,
body.login form input[type=password]:focus{
  outline:none;border-color:var(--green-br);background:#fff;box-shadow:var(--ring);
}

/* Botón de ver/ocultar contraseña */
body.login .user-pass-wrap{margin:0}
body.login .wp-pwd{position:relative}
body.login .wp-pwd input{padding-right:52px}
body.login button.wp-hide-pw{
  position:absolute;top:1px;right:1px;
  width:46px;height:46px;
  background:none;border:0;box-shadow:none;
  color:var(--ink-mute);cursor:pointer;
  display:grid;place-items:center;
  border-radius:var(--r-sm);
  transition:color .25s;
}
body.login button.wp-hide-pw:hover{color:var(--green);background:none}
body.login button.wp-hide-pw:focus-visible{outline:none;box-shadow:var(--ring)}
body.login button.wp-hide-pw .dashicons{font-size:20px;width:20px;height:20px}

/* Recuérdame */
body.login .forgetmenot{
  display:flex;align-items:center;gap:10px;
  margin:0 0 22px;float:none;
}
body.login .forgetmenot label{
  display:inline;margin:0;
  text-transform:none;letter-spacing:0;
  font-size:.9rem;font-weight:500;color:var(--ink-soft);
}
body.login input[type=checkbox]{
  appearance:none;-webkit-appearance:none;
  width:19px;height:19px;flex:0 0 19px;
  margin:0;padding:0;
  border:1px solid var(--line);border-radius:6px;background:#fff;
  cursor:pointer;
  display:grid;place-items:center;
  transition:background .2s,border-color .2s;
}
body.login input[type=checkbox]:checked{background:var(--green);border-color:var(--green)}
body.login input[type=checkbox]:checked::before{content:none}
body.login input[type=checkbox]:checked::after{
  content:"";width:10px;height:6px;
  border-left:2px solid #fff;border-bottom:2px solid #fff;
  transform:rotate(-45deg) translate(1px,-2px);
}
body.login input[type=checkbox]:focus-visible{outline:none;box-shadow:var(--ring)}

/* Botón principal */
body.login .submit{margin:0;padding:0}
body.login #wp-submit,
body.login .wp-core-ui .button-primary{
  display:block;width:100%;float:none;
  font-family:var(--fd);font-weight:600;font-size:1rem;line-height:1.3;
  background:var(--green);color:#fff;
  border:1px solid transparent;border-radius:var(--r-pill);
  padding:13px 20px;height:auto;
  text-shadow:none;
  box-shadow:0 2px 5px rgba(13,22,19,.10),0 1px 2px rgba(13,22,19,.06);
  cursor:pointer;
  transition:transform .35s var(--e-out),box-shadow .35s var(--e-out),background .25s;
}
body.login #wp-submit:hover,
body.login .wp-core-ui .button-primary:hover{
  background:var(--green-d);color:#fff;border-color:transparent;
  box-shadow:0 8px 18px rgba(13,22,19,.16),0 3px 6px rgba(13,22,19,.10);
  transform:translateY(-1px);
}
body.login #wp-submit:active,
body.login .wp-core-ui .button-primary:active{transform:translateY(0);box-shadow:0 1px 2px rgba(13,22,19,.10)}
body.login #wp-submit:focus-visible{outline:none;box-shadow:var(--ring),0 2px 5px rgba(13,22,19,.10)}

/* ---------- Enlaces bajo la tarjeta ---------- */
body.login #nav,
body.login #backtoblog{
  text-align:center;padding:0;margin:20px 0 0;
  text-shadow:none;font-size:.88rem;
}
body.login #backtoblog{margin-top:10px}
body.login #nav a,
body.login #backtoblog a{
  color:#A9C4B7;text-decoration:none;
  transition:color .25s;
}
body.login #nav a:hover,
body.login #backtoblog a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
body.login #nav a:focus-visible,
body.login #backtoblog a:focus-visible{outline:2px solid var(--green-br);outline-offset:3px;border-radius:4px}
body.login #backtoblog a::before{content:"\2190";margin-right:7px}

body.login .privacy-policy-page-link{margin:26px 0 0}
body.login .privacy-policy-page-link a{color:#7FA491;font-size:.8rem;text-decoration:none}
body.login .privacy-policy-page-link a:hover{color:#CFE3D8;text-decoration:underline}

/* ---------- Avisos ---------- */
body.login #login_error,
body.login .message,
body.login .success,
body.login .notice{
  background:var(--amber-10);
  border:1px solid var(--amber-20);
  border-radius:var(--r-sm);
  box-shadow:0 10px 22px rgba(3,14,9,.26);
  padding:14px 16px;margin:0 0 20px;
  font-size:.9rem;line-height:1.55;color:var(--ink);
}
body.login #login_error{background:var(--danger-10);border-color:var(--danger-20)}
body.login .success{background:var(--green-10);border-color:var(--green-20)}
body.login #login_error strong{color:var(--danger)}
body.login #login_error a,
body.login .message a,
body.login .success a{color:var(--green-d);font-weight:600}

/* ---------- Selector de idioma ---------- */
body.login .language-switcher{margin:22px auto 0;text-align:center}
body.login .language-switcher form{
  background:none;box-shadow:none;padding:0;
  display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;
}
body.login .language-switcher label{display:none}
body.login .language-switcher select{
  font-family:var(--fd);font-size:.85rem;color:#CFE3D8;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);
  padding:7px 14px;
  max-width:200px;
}
body.login .language-switcher .button{
  background:rgba(255,255,255,.09);color:#CFE3D8;
  border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);
  padding:6px 16px;font-size:.85rem;height:auto;width:auto;display:inline-block;
  box-shadow:none;
}
body.login .language-switcher .button:hover{background:rgba(255,255,255,.16);color:#fff}

/* ---------- Sesión caducada dentro del escritorio ---------- */
/* Se abre en un iframe pequeño: ahí el campo verde estorba. */
body.interim-login{background:#fff;padding:20px;display:block}
body.interim-login::before,
body.interim-login::after{content:none}
body.interim-login #login{max-width:100%;animation:none}
body.interim-login form{box-shadow:none;padding:0;border-radius:0}
body.interim-login #login h1 a{height:40px}

/* ---------- Pantallas pequeñas ---------- */
@media(max-width:420px){
  body.login{padding:28px 14px}
  body.login form{padding:24px 20px 22px;border-radius:18px}
  body.login #login h1 a{height:46px}
}

@media(prefers-reduced-motion:reduce){
  body.login #login{animation:none}
  body.login #wp-submit,
  body.login .wp-core-ui .button-primary{transition:background .2s}
  body.login #wp-submit:hover{transform:none}
}

/* Etiquetas legibles y foco independiente de las sombras del navegador. */
body.login form label{font-size:var(--type-label);letter-spacing:normal;text-transform:none}
body.login form .input{border-color:var(--ink-soft);min-height:var(--control-height)}
body.login :is(a,button,input,select):focus-visible,
body.login form .input:focus-visible,
body.login button.wp-hide-pw:focus-visible,
body.login input[type=checkbox]:focus-visible,
body.login #wp-submit:focus-visible{outline:var(--focus-width) solid var(--green-br);outline-offset:var(--focus-offset)}
body.login .language-switcher label{display:block;color:var(--green-20)}
body.login #nav a,body.login #backtoblog a{display:inline-block;min-height:var(--control-height);align-content:center}
