/* Native authentication, styled with Learnderm's shared design tokens. */
@font-face { font-family: Inter; src: url('../fonts/inter.woff2') format('woff2'); font-weight: 100 900; font-style: normal; font-display: swap; }
html:has(body.ld-auth) { height: auto; min-height: 100%; background: #f2f2f3; }
body.login.ld-auth { margin: 0; min-height: 100vh; height: auto; background: #f2f2f3; color: #1d1f20; font-family: Inter, system-ui, sans-serif; font-size: 15px; }
.ld-auth *, .ld-auth *::before, .ld-auth *::after { box-sizing: border-box; }
.ld-auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.ld-auth-brand-panel { position: relative; isolation: isolate; overflow: hidden; background: #025c79; color: #fff; padding: clamp(32px, 5vw, 80px); display: flex; flex-direction: column; justify-content: space-between; gap: 64px; }
.ld-auth-brand-panel::before, .ld-auth-brand-panel::after { content: ''; position: absolute; z-index: -1; width: 640px; height: 640px; border: 1px solid #ffffff12; border-radius: 50%; pointer-events: none; }
.ld-auth-brand-panel::before { right: -360px; top: -310px; box-shadow: 0 0 0 80px #ffffff04, 0 0 0 160px #ffffff03; }
.ld-auth-brand-panel::after { left: -480px; bottom: -370px; box-shadow: 0 0 0 80px #86cce009, 0 0 0 160px #86cce006; }
.ld-auth-brand { display: inline-flex; align-items: center; gap: 12px; align-self: flex-start; color: #fff; font-size: 32px; font-weight: 500; letter-spacing: -1.2px; text-decoration: none; }
.ld-auth-mark { display: grid; place-items: center; width: 64px; height: 46px; padding-right: 4px; background: #86cce0; font: italic 36px/1 Georgia, serif; letter-spacing: -4px; }
.ld-auth-brand sup { font-size: 10px; letter-spacing: 0; vertical-align: top; margin-left: 3px; }
.ld-auth-story { max-width: 460px; padding: 24px 0; }
.ld-auth-eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .13em; color: #bce9f2; margin: 0 0 24px; line-height: 1.7; }
.ld-auth-story h2 { margin: 0 0 24px; font-size: clamp(36px, 4.2vw, 58px); line-height: 1.12; font-weight: 750; letter-spacing: -.045em; }
.ld-auth-story > p:not(.ld-auth-eyebrow) { font-size: 17px; line-height: 1.75; color: #d7edf3; margin: 0; max-width: 380px; }
.ld-auth-pathways { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.ld-auth-pathways span { padding: 8px 12px; border: 1px solid #ffffff40; border-radius: 5px; font-size: 12px; color: #d7f6fa; }
.ld-auth-brand-footer { color: #b4d3de; font-size: 12px; line-height: 1.6; margin: 0; }
.ld-auth-main { display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 64px clamp(24px, 5vw, 80px) 32px; }
body.ld-auth #login { width: 100%; max-width: 420px; padding: 0; margin: auto 0 0; }
body.ld-auth .wp-login-logo { display: none; }
.ld-auth-intro { margin-bottom: 32px; }
.ld-auth-intro h2 { font-size: 32px; font-weight: 750; letter-spacing: -.035em; line-height: 1.25; margin: 0 0 12px; }
.ld-auth-intro p { margin: 0; line-height: 1.65; color: #637079; }
body.ld-auth #login form { margin: 0; padding: 28px; background: #fff; border: 1px solid #dce3e6; border-radius: 12px; box-shadow: 0 8px 32px #025c7908; }
body.ld-auth #login form label { display: inline-block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: #303942; }
body.ld-auth #login form .input { width: 100%; border: 1px solid #bfcbd1; border-radius: 6px; min-height: 48px; padding: 10px 12px; font: inherit; background: #fff; color: #1d1f20; margin: 0 0 22px; }
body.ld-auth #login form .wp-pwd .input { padding-right: 48px; }
body.ld-auth #login form .input:focus { border-color: #007da4; box-shadow: 0 0 0 3px #007da420; outline: 0; }
body.ld-auth #login .wp-hide-pw { width: 46px; height: 48px; padding: 0; color: #007da4; border-radius: 6px; }
body.ld-auth #login form .forgetmenot { float: none; margin-bottom: 22px; }
body.ld-auth #login form .forgetmenot label { font-weight: 400; margin: 0; color: #637079; }
body.ld-auth input[type=checkbox] { border-color: #a8bac3; border-radius: 3px; }
body.ld-auth input[type=checkbox]:checked::before { color: #007da4; }
body.ld-auth #login .submit { clear: both; }
body.ld-auth .button-primary { background: #007da4; border: 1px solid #007da4; border-radius: 6px; color: #fff; font: 600 15px/1.3 Inter, system-ui, sans-serif; min-height: 48px; padding: 12px 20px; text-shadow: none; box-shadow: none; transition: background .15s ease; }
body.ld-auth #login .submit .button-primary { float: none; width: 100%; }
body.ld-auth .button-primary:hover { background: #025c79; border-color: #025c79; color: #fff; }
body.ld-auth a { color: #007da4; text-underline-offset: 4px; }
body.ld-auth .ld-auth-brand { color: #fff; }
body.ld-auth :is(a,button,input,select):focus-visible { outline: 3px solid #86cce0; outline-offset: 3px; box-shadow: none; }
body.ld-auth #nav, body.ld-auth #backtoblog { margin: 22px 0 0; padding: 0; text-align: center; font-size: 13px; }
body.ld-auth #nav a, body.ld-auth #backtoblog a { color: #007da4; }
body.ld-auth #backtoblog { margin-top: 14px; }
body.ld-auth :is(.message,.notice,#login_error) { border-radius: 6px; box-shadow: none; background: #fff; margin: 0 0 20px; padding: 16px; line-height: 1.6; font-size: 14px; }
body.ld-auth .message { border-left-color: #007da4; }
.ld-auth-register { font-size: 14px; color: #637079; text-align: center; margin: 32px 0 auto; padding-top: 28px; width: 100%; max-width: 420px; border-top: 1px solid #dce3e6; line-height: 1.7; }
.ld-auth-register a { font-weight: 600; text-decoration: none; white-space: nowrap; }
.ld-auth-register a:hover { text-decoration: underline; }
.ld-auth-copyright { color: #78868e; text-align: center; font-size: 12px; padding-top: 36px; margin: 0; }
body.ld-auth .language-switcher { margin: 20px 0 0; max-width: 420px; width: 100%; text-align: center; }
body.ld-auth .language-switcher form { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; align-items: center; }
/* Keep the accessible label without letting it offset the visible controls. */
body.ld-auth .language-switcher label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
body.ld-auth #language-switcher select { margin: 0; }
body.ld-auth .language-switcher .button { margin: 0; }
body.ld-auth .language-switcher select { max-width: 220px; }
body.ld-auth .privacy-policy-page-link { margin-top: 18px; }
body.ld-auth .admin-email__actions .button { white-space: normal; }
body.ld-auth-interim { padding: 28px; min-height: 0; }
body.ld-auth-interim #login { max-width: 420px; margin: auto; }
@media (max-width: 800px) {
  .ld-auth-shell { grid-template-columns: 1fr; }
  .ld-auth-brand-panel { padding: 24px; gap: 0; }
  .ld-auth-brand { font-size: 26px; gap: 9px; }
  .ld-auth-mark { width: 48px; height: 36px; font-size: 30px; }
  .ld-auth-story { max-width: 100%; padding: 32px 0 8px; }
  .ld-auth-eyebrow, .ld-auth-pathways, .ld-auth-brand-footer { display: none; }
  .ld-auth-story h2 { font-size: 32px; max-width: 420px; margin-bottom: 12px; }
  .ld-auth-story > p:not(.ld-auth-eyebrow) { font-size: 14px; max-width: 430px; }
  .ld-auth-main { padding: 36px 24px 24px; }
  body.ld-auth #login { margin: 0; }
  .ld-auth-register { margin-bottom: 0; }
  .ld-auth-intro h2 { font-size: 28px; }
}
@media (max-width: 380px) { body.ld-auth #login form { padding: 22px; } .ld-auth-main { padding-inline: 20px; } }
@media (prefers-reduced-motion: reduce) { body.ld-auth * { transition: none !important; animation: none !important; } }
body.ld-auth .language-switcher select { background-color: #fff; color: #303942; border: 1px solid #bfcbd1; border-radius: 6px; font: 13px Inter, system-ui, sans-serif; min-height: 40px; padding: 8px 30px 8px 10px; }
body.ld-auth .language-switcher .button { background: #fff; color: #007da4; border: 1px solid #bfcbd1; border-radius: 6px; font: 600 13px Inter, system-ui, sans-serif; min-height: 40px; padding: 8px 14px; box-shadow: none; }
body.ld-auth .language-switcher .button:hover { background: #d7f6fa; }

/* Render the form and its contents immediately; override the parent entrance effect. */
body.login.ld-auth #login, body.login.ld-auth #login *, body.login.ld-auth .language-switcher, body.login.ld-auth .language-switcher * { animation: none !important; }
.ld-auth-story > p, .ld-auth-intro p { white-space: pre-line; }
.ld-auth-eyebrow:empty, .ld-auth-brand-footer:empty, .ld-auth-pathways span:empty, .ld-auth-intro p:empty { display: none; }
