/*
 * Grinders WordPress authentication.
 * Mirrors the Scorecard theme without replacing or bypassing core login forms.
 */
:root {
  --gg-black:#10130f;
  --gg-panel:#191d18;
  --gg-lime:#d9ff4f;
  --gg-cream:#f5f1e7;
  --gg-line:#30362f;
  --gg-muted:#abb4aa;
}
html { background:var(--gg-black); }
body.login {
  background:var(--gg-black);
  color:#fff;
  min-height:100vh;
  font-family:"DM Sans",system-ui,-apple-system,sans-serif;
  font-size:14px;
  line-height:1.5;
}
body.login * { box-sizing:border-box; }
body.login a { color:var(--gg-lime); }
body.login a:focus-visible,
body.login button:focus-visible,
body.login input:focus-visible {
  outline:3px solid var(--gg-lime)!important;
  outline-offset:3px;
  box-shadow:none!important;
}
body.login #login {
  display:grid;
  width:min(1284px,calc(100% - 64px));
  grid-template-columns:minmax(0,1.05fr) minmax(365px,.95fr);
  column-gap:clamp(36px,5vw,100px);
  align-items:start;
  margin:0 auto;
  padding:29px 0 70px;
}
body.login #login>h1 {
  grid-column:1/-1;
  text-align:left;
  margin:0 0 clamp(46px,6vh,80px);
  padding-bottom:25px;
  border-bottom:1px solid var(--gg-line);
  line-height:1;
}
body.login #login h1 a {
  display:inline-block;
  background:none;
  color:#fff;
  font-family:"Archivo Black",Impact,sans-serif;
  text-indent:0;
  font-size:0;
  line-height:1;
  letter-spacing:-.055em;
  width:auto;
  height:auto;
  padding:0;
  margin:0;
  min-height:0;
  overflow:visible;
  box-shadow:none;
  text-align:left;
}
body.login #login h1 a::before {
  content:"GRINDERS";
  font-size:23px;
  color:#fff;
}
body.login #login h1 a::after {
  content:".GOLF";
  font-size:23px;
  color:var(--gg-lime);
}
body.login .gg-login-feature {
  grid-column:1;
  grid-row:2 / span 8;
  min-height:610px;
  padding:clamp(34px,4vw,60px);
  background:var(--gg-cream);
  color:var(--gg-black);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
body.login .gg-login-micro {
  display:block;
  font-size:10px;
  line-height:1.5;
  letter-spacing:.16em;
  font-weight:800;
  text-transform:uppercase;
}
body.login .gg-login-feature-title {
  font-family:"Archivo Black",Impact,sans-serif;
  font-size:clamp(50px,5.5vw,89px);
  letter-spacing:-.07em;
  line-height:.87;
  margin:28px 0 30px;
  overflow-wrap:normal;
}
body.login .gg-login-feature-title em {
  font-style:normal;
  color:#587044;
}
body.login .gg-login-feature-bottom p {
  border-top:1px solid #cbd2c6;
  padding:26px 0 22px;
  color:#566053;
  font-size:17px;
  line-height:1.55;
  max-width:430px;
  margin:0;
}
body.login .gg-login-feature-bottom span {
  display:block;
  font-size:10px;
  letter-spacing:.13em;
  font-weight:800;
}
body.login #login>:not(h1):not(.gg-login-feature) {
  grid-column:2;
  min-width:0;
}
body.login .gg-login-intro {
  margin:8px 0 22px;
}
body.login .gg-login-intro .gg-login-micro { color:var(--gg-lime); }
body.login .gg-login-intro h2 {
  color:#fff;
  font-family:"Archivo Black",Impact,sans-serif;
  font-size:clamp(35px,3.5vw,54px);
  text-transform:uppercase;
  letter-spacing:-.055em;
  line-height:1.02;
  margin:18px 0 16px;
}
body.login .gg-login-intro h2 em {
  color:var(--gg-lime);
  font-style:normal;
}
body.login .gg-login-intro p {
  font-size:14px;
  max-width:430px;
  line-height:1.7;
  color:var(--gg-muted);
  margin:0;
}
body.login #login form {
  background:var(--gg-panel);
  color:#fff;
  border:1px solid var(--gg-line);
  box-shadow:none;
  border-radius:0;
  padding:clamp(22px,3vw,36px);
  margin:0;
  min-width:0;
  width:100%;
}
body.login #login form p { margin-bottom:20px; }
body.login #login form p:last-child { margin-bottom:0; }
body.login form label {
  display:block;
  color:#dbe2d5;
  font-size:12px;
  font-weight:700;
  line-height:1.6;
  margin-bottom:8px;
}
body.login #login form .input,
body.login #login form input[type="text"],
body.login #login form input[type="email"],
body.login #login form input[type="password"] {
  border-radius:0;
  width:100%;
  min-height:52px;
  font-size:16px;
  font-family:inherit;
  padding:11px 14px;
  background:#0e130e;
  color:#fff;
  border:1px solid #495346;
  box-shadow:none;
}
body.login #login form .input:focus,
body.login #login form input:focus {
  border-color:var(--gg-lime);
  box-shadow:none;
}
body.login #login form input::placeholder {
  color:#8e9b8d;
}
body.login.wp-core-ui .button.button-primary {
  min-height:48px;
  padding:9px 22px;
  background:var(--gg-lime);
  border:1px solid var(--gg-lime);
  border-radius:0;
  color:#111510;
  font-family:inherit;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em;
  box-shadow:none;
  text-shadow:none;
  transition:background .18s ease;
}
body.login.wp-core-ui .button.button-primary:hover {
  background:#edff95;
  border-color:#edff95;
  color:#111510;
}
body.login.wp-core-ui .button.button-secondary,
body.login.wp-core-ui .button.wp-hide-pw {
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:var(--gg-lime);
}
body.login #login .forgetmenot,
body.login #login .forgetmenot label {
  color:var(--gg-muted);
  font-size:12px;
}
body.login #login input[type="checkbox"] {
  border-radius:0;
  border:1px solid #677362;
  background:#0e130e;
  box-shadow:none;
  width:18px;
  height:18px;
  margin:0 7px 0 0;
  vertical-align:middle;
}
body.login #login input[type="checkbox"]:checked {
  background:var(--gg-lime);
  border-color:var(--gg-lime);
}
body.login #login #nav,
body.login #login #backtoblog,
body.login #login .privacy-policy-page-link {
  font-size:12px;
  line-height:1.6;
  margin:17px 0 0;
  padding:0;
}
body.login #login #nav a,
body.login #login #backtoblog a,
body.login #login .privacy-policy-page-link a {
  color:#b4beaF;
  text-decoration:none;
  font-weight:700;
}
body.login #login #nav a:hover,
body.login #login #backtoblog a:hover,
body.login #login .privacy-policy-page-link a:hover {
  color:var(--gg-lime);
  text-decoration:underline;
}
body.login #login .message,
body.login #login .notice,
body.login #login #login_error,
body.login #login .success {
  background:#222b20;
  border:1px solid #495d3e;
  border-left:4px solid var(--gg-lime);
  color:#e8f3dd;
  padding:14px 17px;
  margin:0 0 18px;
  box-shadow:none;
}
body.login #login #login_error {
  background:#312020;
  border-color:#654040;
  border-left-color:#f18f85;
  color:#ffe1dc;
}
body.login #login .message a,
body.login #login .notice a,
body.login #login #login_error a { color:var(--gg-lime); }
body.login .language-switcher { margin:5px auto 0; }
body.login .language-switcher form { margin:0; }
body.login .language-switcher .button { border-radius:0; }
body.login #login .admin-email__heading,
body.login #login .admin-email__details { color:#fff; }
@media (max-width:900px) {
  body.login #login { column-gap:28px; }
  body.login .gg-login-feature { padding:30px; }
  body.login .gg-login-feature-title { font-size:clamp(43px,5.8vw,68px); }
}
@media (max-width:760px) {
  body.login #login {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    width:min(520px,calc(100% - 36px));
    padding:20px 0 44px;
  }
  body.login #login>h1 { margin-bottom:24px; padding-bottom:18px; }
  body.login #login h1 a::before,
  body.login #login h1 a::after { font-size:21px; }
  body.login .gg-login-feature { min-height:0; padding:28px; margin-bottom:26px; }
  body.login .gg-login-feature-title { font-size:clamp(46px,12vw,72px); margin:21px 0; }
  body.login .gg-login-feature-bottom p { font-size:14px; padding:17px 0 13px; }
  body.login .gg-login-intro { margin-bottom:20px; }
  body.login .gg-login-intro h2 { font-size:clamp(34px,8vw,48px); }
  body.login #login>:not(h1) { width:100%; }
}
@media (max-width:400px) {
  body.login #login form { padding:21px; }
  body.login .gg-login-feature { padding:24px; }
}
@media (prefers-reduced-motion:reduce) {
  body.login.wp-core-ui .button.button-primary { transition:none; }
}
