/* Bavaria's native WordPress access screens. Core forms, focus and validation stay intact. */
body.login { margin:0; background:#fff; color:#111; font-family:var(--wp--preset--font-family--manrope,Arial,sans-serif); font-size:18px; line-height:1.6; }
body.login a { color:inherit; text-underline-offset:.2em; }
body.login a:hover { color:#503aa8; }
.bavaria-access-header { display:flex; align-items:center; justify-content:space-between; gap:2rem; max-width:1340px; margin:auto; padding:22px clamp(24px,4vw,50px); box-sizing:border-box; }
.bavaria-access-brand { display:flex; align-items:center; gap:16px; font-size:clamp(16px,1.7vw,22px); font-weight:700; text-decoration:none; line-height:1.3; }
.bavaria-access-logo { display:block; width:84px; height:auto; flex-shrink:0; }
.bavaria-access-header nav,.bavaria-access-footer nav { display:flex; gap:24px; flex-wrap:wrap; }
.bavaria-access-header nav { font-size:17px; white-space:nowrap; }
.bavaria-access-header nav a { text-decoration:none; }
body.login #login { width:min(645px,calc(100% - 48px)); padding:clamp(28px,5vw,64px) 0 24px; margin:0 auto; }
body.login #login > h1:not(.screen-reader-text) { display:none; }
body.login .bavaria-access-title { font-size:clamp(30px,4vw,44px); font-weight:400; line-height:1.15; letter-spacing:-.04em; margin:0 0 24px; }
body.login .bavaria-access-intro { margin:0 0 24px; }
body.login form { margin:24px 0 0; padding:clamp(24px,4vw,40px); background:#fbfaf3; border:1px solid #e5e4dd; border-radius:12px; box-shadow:none; overflow:visible; }
body.login label { font:inherit; font-weight:600; margin-bottom:8px; }
body.login .input,body.login input[type=text],body.login input[type=password],body.login input[type=email] { box-sizing:border-box; width:100%; min-height:54px; padding:10px 14px; border:1px solid #767676; border-radius:6px; background:#fff; color:#111; font:inherit; line-height:1.5; margin-bottom:22px; }
body.login .wp-pwd .input { padding-right:52px; }
body.login .button.wp-hide-pw { min-height:54px; width:48px; color:#111; background:transparent; border:0; box-shadow:none; }
body.login .button.wp-hide-pw .dashicons { top:15px; }
body.login input[type=checkbox] { width:20px; height:20px; border:1px solid #767676; border-radius:4px; margin:0 8px 0 0; accent-color:#111; }
body.login .forgetmenot label,body.login .pw-weak label { font-weight:400; font-size:16px; }
body.login form .forgetmenot { float:none; margin:0 0 22px; }
body.login .button-primary,body.login .button-secondary,body.login .wp-generate-pw { display:inline-block; width:auto; min-height:48px; padding:12px 26px; border:1px solid #111; border-radius:999px; background:#111; color:#fff; font:inherit; font-size:17px; font-weight:500; line-height:1.5; text-decoration:none; text-shadow:none; box-shadow:none; cursor:pointer; float:none; white-space:normal; }
body.login .button-secondary,body.login .wp-generate-pw { background:transparent; color:#111; }
body.login .button-primary:hover { background:#333; color:#fff; border-color:#333; }
body.login .button-primary:disabled,body.login .button-primary[disabled] { background:#ddd!important; color:#666!important; border-color:#bbb!important; cursor:not-allowed; }
body.login form .submit { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:22px; }
body.login .message,body.login #login_error,body.login .success { margin:0 0 24px; padding:18px 22px; border:1px solid #deded8; border-left:4px solid #503aa8; border-radius:6px; background:#fbfaf3; box-shadow:none; font:inherit; font-size:17px; }
body.login #login_error { border-left-color:#b32d2e; background:#fff8f7; }
body.login .message p,body.login #login_error p { margin:0 0 12px; }
body.login .message p:last-child,body.login #login_error p:last-child { margin-bottom:0; }
body.login #pass-strength-result { box-sizing:border-box; font-size:16px; line-height:1.5; padding:8px; border-radius:4px; margin:-6px 0 18px; }
body.login .indicator-hint { font-size:15px; line-height:1.6; margin-top:16px; }
body.login #nav { padding:0; margin:24px 0 0; font-size:16px; }
body.login #backtoblog,body.login .privacy-policy-page-link { display:none; }
body.login :is(input,select,button,a):focus-visible { outline:3px solid #503aa8; outline-offset:3px; box-shadow:none; }
body.login .language-switcher { padding:0 24px; box-sizing:border-box; margin:0 auto 24px; font-size:14px; }
body.login .language-switcher select,body.login .language-switcher .button { font:inherit; }
.bavaria-access-footer { max-width:645px; width:calc(100% - 48px); box-sizing:border-box; margin:8px auto 36px; padding-top:22px; border-top:1px solid #e5e4dd; font-size:15px; }
.bavaria-access-footer p { margin:0 0 14px; overflow-wrap:anywhere; }
body.interim-login #login { max-width:420px; padding:20px 0; }
@media(max-width:600px) {
  .bavaria-access-header { align-items:flex-start; flex-direction:column; gap:18px; padding:20px 24px; }
  .bavaria-access-logo { width:68px; }
  .bavaria-access-header nav { font-size:16px; }
  body.login #login { padding-top:28px; }
  body.login .button-primary { width:100%; text-align:center; }
  body.login form .submit { flex-direction:column; align-items:stretch; }
}

/* Readable notices and matching language control. */
body.login .message p,body.login #login_error p { font-size:inherit; line-height:inherit; }
body.login .language-switcher .button { border:1px solid #111; border-radius:999px; padding:5px 16px; background:#fff; color:#111; box-shadow:none; }
