/**
 * Discovery of Nature 0.3.47 — responsive account/auth refinement.
 * Final presentation owner for native wp-login.php and signed-out account CTAs.
 * Authentication logic, nonces, redirects, Google sign-in and password controls remain native.
 */

/* ---------- Native WordPress authentication: desktop split composition ---------- */
@media (min-width: 900px) {
  body.login {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100vh;
    min-height: 100dvh;
    padding: clamp(26px, 4vw, 56px) 0;
  }

  /*
   * Desktop auth geometry has one owner here. The card is a real 50/50 grid;
   * content lives in the right column and the image remains presentation-only.
   * No fixed card height and no oversized left padding are used, so register,
   * recovery and notice states can grow naturally without being clipped.
   */
  body.login #login {
    --don-auth-desktop-pad: clamp(30px, 3.5vw, 48px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-content: start;
    width: min(calc(100% - 64px), 1040px) !important;
    max-width: 1040px !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: var(--don-auth-desktop-pad) !important;
    overflow: visible !important;
    border-radius: 26px !important;
    background: linear-gradient(145deg, #13231a 0%, #0d1a12 100%) !important;
    box-shadow: 0 30px 90px rgba(0,0,0,.42), inset 0 1px rgba(229,255,214,.08) !important;
  }

  body.login #login > * {
    grid-column: 2;
    width: 100%;
    max-width: 430px;
    justify-self: center;
  }

  body.login #login::before {
    inset: 0 50% 0 0;
    width: auto;
    height: auto;
    border-radius: 25px 0 0 25px;
    background-image:
      linear-gradient(90deg, rgba(5,15,9,.06) 0%, rgba(5,15,9,.08) 62%, rgba(8,22,13,.65) 100%),
      linear-gradient(0deg, rgba(6,18,10,.52), transparent 48%),
      url("../images/auth-wildlife.jpg");
    background-size: cover, cover, cover;
    background-position: center, center, 54% center;
    background-repeat: no-repeat;
    filter: saturate(1.03) contrast(1.04);
  }

  body.login #login::after {
    border-radius: 26px;
    box-shadow: inset 0 1px rgba(219,255,197,.10), inset 1px 0 rgba(219,255,197,.06);
  }

  body.login #login h1 {
    margin-bottom: 18px !important;
  }

  body.login #login h1 a {
    max-width: 100%;
    font-size: clamp(2.15rem, 3vw, 3rem) !important;
    line-height: 1 !important;
  }

  body.login #login .don-auth-intro {
    max-width: 42ch;
    margin: 0 0 24px;
  }

  body.login #login :is(form#loginform, form#registerform, form#lostpasswordform, form#resetpassform, form#admin-email-confirm-form, form#postpass),
  body.login #login :is(#nav, #backtoblog, .privacy-policy-page-link, .googlesitekit-sign-in-with-google__frontend-output-button, #login_error, .message, .success, .notice) {
    width: 100%;
    max-width: 430px;
  }

  body.login .language-switcher {
    width: min(calc(100% - 64px), 420px);
  }
}

/* ---------- Shared auth editorial hierarchy ---------- */
body.login #login .don-auth-intro {
  position: relative;
  z-index: 1;
}
body.login #login .don-auth-intro__eyebrow {
  margin: 0 0 8px;
  color: #baf4a0;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .18em;
  text-transform: uppercase;
}
body.login #login .don-auth-intro h2 {
  margin: 0;
  color: #f5f8f1;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  font-size: clamp(1.75rem, 3.1vw, 2.55rem);
  line-height: 1.05;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body.login #login .don-auth-intro p:last-child {
  margin: 10px 0 0;
  color: #c7d5c3;
  font-size: 14px;
  line-height: 1.55;
}
body.login #login form p.submit :is(input#wp-submit, button.button-primary) {
  border-radius: 14px !important;
}
body.login #login .googlesitekit-sign-in-with-google__frontend-output-button {
  border-radius: 14px !important;
  overflow: hidden;
}

/* ---------- Tablet: balanced single-card layout ---------- */
@media (min-width: 600px) and (max-width: 899px) {
  body.login #login {
    width: min(calc(100% - 48px), 700px) !important;
    max-width: 700px !important;
    margin: 24px auto !important;
    padding: 300px clamp(34px, 6vw, 52px) clamp(34px, 5vw, 48px) !important;
    border-radius: 24px !important;
  }
  body.login #login::before {
    inset: 0 0 auto;
    width: 100%;
    height: 250px;
    border-radius: 23px 23px 0 0;
    background-image:
      linear-gradient(0deg, rgba(12,27,17,.96) 0%, rgba(12,27,17,.25) 58%, rgba(7,18,11,.08) 100%),
      url("../images/auth-wildlife.jpg");
    background-size: cover, cover;
    background-position: center, 55% 42%;
    background-repeat: no-repeat;
    filter: saturate(1.03) contrast(1.04);
  }
  body.login #login h1 a {
    max-width: none;
    font-size: clamp(2.2rem, 6vw, 3.4rem) !important;
  }
}

/* ---------- Phone: cinematic image first, compact form second ---------- */
@media (max-width: 599px) {
  html:has(body.login) { background: #08120c; }
  body.login {
    min-height: 100vh;
    padding: 0 0 max(20px, env(safe-area-inset-bottom));
    background: #08120c !important;
  }
  body.login::before {
    opacity: .10;
    filter: blur(10px) saturate(.8);
  }
  body.login #login {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh;
    margin: 0 !important;
    padding: 250px 22px 28px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: linear-gradient(180deg, #102017 0%, #0b1710 100%) !important;
    box-shadow: none !important;
  }
  body.login #login::before {
    inset: 0 0 auto;
    width: 100%;
    height: 220px;
    border-radius: 0;
    background-image:
      linear-gradient(0deg, #102017 0%, rgba(16,32,23,.52) 42%, rgba(6,17,10,.06) 82%),
      url("../images/auth-wildlife.jpg");
    background-size: cover, cover;
    background-position: center, 54% 44%;
    background-repeat: no-repeat;
    filter: saturate(1.04) contrast(1.04);
  }
  body.login #login::after {
    border-radius: 0;
    box-shadow: inset 0 1px rgba(219,255,197,.06);
  }
  body.login #login h1 {
    margin: 0 0 14px !important;
  }
  body.login #login h1 a {
    max-width: none;
    font-size: clamp(2rem, 9.8vw, 2.85rem) !important;
    line-height: 1 !important;
  }
  body.login #login .don-auth-intro {
    margin-bottom: 22px;
  }
  body.login #login .don-auth-intro h2 {
    font-size: clamp(1.65rem, 7vw, 2.1rem);
  }
  body.login #login form :is(.input,input[type="text"],input[type="email"],input[type="password"],input[type="number"],select,textarea) {
    min-height: 52px !important;
    margin-bottom: 15px !important;
    border-radius: 13px !important;
  }
  body.login #login form p.submit :is(input#wp-submit, button.button-primary) {
    min-height: 52px !important;
    border-radius: 13px !important;
  }
  body.login #login #nav {
    margin-top: 20px !important;
  }
  body.login #login #backtoblog {
    margin-top: 12px !important;
    padding-top: 10px !important;
  }
  body.login .language-switcher {
    width: calc(100% - 44px);
    margin-top: 18px !important;
  }
}
@media (max-width: 359px) {
  body.login #login {
    padding: 210px 18px 24px !important;
  }
  body.login #login::before { height: 184px; }
  body.login #login .don-auth-intro p:last-child { font-size: 13px; }
}

/* ---------- Theme-owned signed-out account / favorites CTAs ---------- */
body.dn-dark-remaining .account-page .account-guest,
body.dn-dark-remaining .favorites-page .favorites-login {
  border-radius: 22px;
  box-shadow: 0 24px 68px rgba(0,0,0,.28), inset 0 1px rgba(229,255,214,.08);
}
body.dn-dark-remaining .account-page .account-guest__actions {
  align-items: stretch;
}
body.dn-dark-remaining .account-page .account-guest__actions .account-action {
  min-height: 50px;
  border-radius: 13px;
}
@media (max-width: 767px) {
  body.dn-dark-remaining .account-page .account-guest {
    grid-template-columns: 1fr;
    padding: 210px 20px 22px;
    background-image:
      linear-gradient(0deg, rgba(12,28,18,.99) 0%, rgba(12,28,18,.88) 36%, rgba(12,28,18,.20) 78%),
      url("../images/auth-wildlife.jpg");
    background-size: cover, auto 220px;
    background-position: center, center top;
    background-repeat: no-repeat;
  }
  body.dn-dark-remaining .account-page .account-guest__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  body.dn-dark-remaining .account-page .account-guest__actions .account-action {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.login #login form p.submit :is(input#wp-submit, button.button-primary),
  body.dn-dark-remaining .account-page .account-guest__actions .account-action {
    transition: none !important;
    transform: none !important;
  }
}
