/* Balui Sentinel Hub: sign-in page with the Balui Digital look (as baluidigital.es/portal). */
@font-face { font-family: "Manrope"; font-style: normal; font-display: swap; font-weight: 200 800; src: url("fonts/manrope-latin-ext-wght-normal.woff2") format("woff2-variations"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-style: normal; font-display: swap; font-weight: 200 800; src: url("fonts/manrope-latin-wght-normal.woff2") format("woff2-variations"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

body.login {
	--bl-bg: #F4F7FA; --bl-border: #E1E8EF; --bl-border-strong: #C9D5E1; --bl-text: #232735; --bl-muted: #5B6475;
	--bl-navy: #214462; --bl-navy-dark: #17324A; --bl-teal: #02CFAA; --bl-teal-ink: #007A64; --bl-orange: #B84300; --bl-link: #2F5C8A;
	display: flex; align-items: stretch; min-height: 100vh; margin: 0; background: var(--bl-bg); color: var(--bl-text);
	font-family: Manrope, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; font-size: 15px;
}

/* Brand panel */
.balui-login-brand { position: relative; flex: 0 0 min(44vw, 560px); display: flex; align-items: center; padding: 56px clamp(32px, 5vw, 72px); overflow: hidden; background: linear-gradient(160deg, #E3F8F3 0%, #EDF4F8 55%, #F4F7FA 100%); border-right: 1px solid var(--bl-border); box-sizing: border-box; }
.balui-login-brand::before { content: ""; position: absolute; right: -160px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%; border: 56px solid rgba(2, 207, 170, .12); }
.balui-login-brand::after { content: ""; position: absolute; right: 64px; top: 64px; width: 14px; height: 14px; border-radius: 50%; background: #FF7A1A; box-shadow: -28px 20px 0 -3px rgba(66, 98, 145, .5); }
.balui-login-brand__in { position: relative; max-width: 420px; }
.balui-switch { display: block; width: 72px; height: 38px; margin-bottom: 28px; border-radius: 999px; background: var(--bl-navy); position: relative; }
.balui-switch span { position: absolute; right: 5px; top: 5px; width: 28px; height: 28px; border-radius: 50%; background: var(--bl-teal); }
.balui-login-kicker { margin: 0 0 10px; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--bl-teal-ink); }
.balui-login-h { margin: 0 0 22px; font-size: clamp(28px, 3vw, 40px); line-height: 1.12; font-weight: 800; letter-spacing: -.02em; color: var(--bl-navy); }
.balui-login-list { margin: 0 0 32px; padding: 0; list-style: none; }
.balui-login-list li { position: relative; margin: 0 0 10px; padding-left: 30px; font-size: 16px; color: var(--bl-text); }
.balui-login-list li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.2 13.6 4.6 10l1.3-1.3 2.3 2.3 5.9-5.9 1.3 1.3z' fill='%23007A64'/%3E%3C/svg%3E") center / 14px auto no-repeat; box-shadow: 0 0 0 1px rgba(0, 122, 100, .25); }
.balui-login-client { margin: 0; padding: 14px 18px; border-radius: 12px; background: rgba(255, 255, 255, .75); border: 1px solid var(--bl-border); color: var(--bl-muted); }
.balui-login-client a { color: var(--bl-navy); font-weight: 700; }

/* Form column */
.login #login { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: 400px; margin: 0 auto; padding: 48px 24px; box-sizing: border-box; }
.login h1.wp-login-logo, .login #login > h1 { margin-bottom: 8px; text-align: left; }
.login h1 a { display: block; width: 150px; height: 75px; margin: 0 0 16px; overflow: hidden; text-indent: -9999px; background-repeat: no-repeat; background-size: contain; background-position: left center; }
.balui-login-intro { margin: 0 0 16px; }
.balui-login-intro strong { display: block; font-size: 24px; font-weight: 800; color: var(--bl-navy); letter-spacing: -.01em; }
.balui-login-intro span { color: var(--bl-muted); }
.login form { margin: 0; padding: 28px; border: 1px solid var(--bl-border); border-radius: 16px; background: #fff; box-shadow: 0 14px 40px rgba(33, 68, 98, .08); overflow: visible; }
.login label { font-size: 14px; font-weight: 600; color: var(--bl-navy); }
.login form .input, .login input[type="text"], .login input[type="email"], .login input[type="password"] { min-height: 46px; margin: 6px 0 18px; padding: 8px 12px; font-size: 16px; width: 100%; box-sizing: border-box; border: 1px solid var(--bl-border-strong); border-radius: 10px; background: #fff; box-shadow: none; }
.login form .input:focus, .login input[type="text"]:focus, .login input[type="email"]:focus, .login input[type="password"]:focus { border-color: var(--bl-navy); box-shadow: 0 0 0 3px rgba(2, 207, 170, .4); outline: none; }
.login .wp-pwd { margin-bottom: 0; }
.login .button.wp-hide-pw { height: 46px; min-height: 46px; margin-top: 6px; color: var(--bl-navy); }
.login .button.wp-hide-pw:focus { border-color: var(--bl-navy); box-shadow: 0 0 0 2px var(--bl-teal); }
.login .forgetmenot { float: none; margin: 0 0 16px; }
.login .forgetmenot label { font-weight: 500; color: var(--bl-text); }
.login input[type="checkbox"] { border-color: var(--bl-border-strong); border-radius: 4px; }
.login input[type="checkbox"]:focus { border-color: var(--bl-navy); box-shadow: 0 0 0 2px rgba(2, 207, 170, .5); }
.login input[type="checkbox"]:checked::before { content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M14.83 4.89l1.34.94-5.81 8.38H9.02L5.78 9.67l1.34-1.25 2.57 2.4z' fill='%23214462'/%3E%3C/svg%3E"); }
.login .submit { clear: both; }
.wp-core-ui.login .button-primary, .login .button-primary { float: none; width: 100%; min-height: 48px; padding: 0 18px; border: 0; border-radius: 10px; background: var(--bl-navy); color: #fff; font-size: 16px; font-weight: 700; text-shadow: none; box-shadow: none; }
.wp-core-ui.login .button-primary:hover, .login .button-primary:hover { background: var(--bl-navy-dark); }
.wp-core-ui.login .button-primary:focus, .login .button-primary:focus { background: var(--bl-navy-dark); box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--bl-teal); outline: none; }
.login #nav, .login #backtoblog { margin: 16px 0 0; padding: 0; text-align: center; font-size: 14px; }
.login #nav a, .login #backtoblog a, .login .privacy-policy-page-link a { color: var(--bl-link); font-weight: 600; text-decoration: none; }
.login #nav a:hover, .login #backtoblog a:hover { color: var(--bl-navy); text-decoration: underline; }
.login a:focus { color: var(--bl-navy); box-shadow: 0 0 0 2px var(--bl-teal); outline: none; border-radius: 3px; }
.login .privacy-policy-page-link { margin: 16px 0 0; text-align: center; }
.login .message, .login .notice, .login .success, .login #login_error { margin: 0 0 16px; padding: 12px 16px; border: 0; border-left: 4px solid var(--bl-teal-ink); border-radius: 10px; background: #fff; box-shadow: none; }
.login #login_error, .login .notice-error { border-left-color: #C8102E; }
.login .notice-warning { border-left-color: var(--bl-orange); }
.login .language-switcher { display: none; }

/* Balui Sentinel pieces: CAPTCHA, passkeys, two-step screens */
.login .bsnt-captcha { margin: 0 0 16px !important; }
.login altcha-widget { --altcha-max-width: 100%; --altcha-border-radius: 10px; --altcha-color-border: var(--bl-border-strong); --altcha-color-border-focus: var(--bl-navy); --altcha-color-text: var(--bl-text); display: block; }
.login .bsnt-pk-login { margin: 0 0 16px; }
.login .bsnt-pk-or { color: var(--bl-muted); font-size: 13px; }
.login .bsnt-pk-or::before, .login .bsnt-pk-or::after { background: var(--bl-border); }
.wp-core-ui.login .button.bsnt-pk-btn { min-height: 46px; border: 1px solid var(--bl-border-strong); border-radius: 10px; background: #fff; color: var(--bl-navy); font-weight: 700; font-size: 15px; }
.wp-core-ui.login .button.bsnt-pk-btn:hover { border-color: var(--bl-navy); background: #F7FAFC; color: var(--bl-navy-dark); }
.wp-core-ui.login .button.bsnt-pk-btn:focus { border-color: var(--bl-navy); box-shadow: 0 0 0 3px rgba(2, 207, 170, .4); outline: none; }
.login .bsnt-pk-msg { color: var(--bl-muted); }

.interim-login .balui-login-brand { display: none; }
.interim-login.login #login { padding: 20px; max-width: 100%; }

@media (max-width: 860px) {
	body.login { flex-direction: column; }
	.balui-login-brand { flex: 0 0 auto; padding: 28px 24px; border-right: 0; border-bottom: 1px solid var(--bl-border); }
	.balui-login-brand::before { width: 220px; height: 220px; border-width: 32px; right: -90px; bottom: -110px; }
	.balui-login-brand::after { right: 28px; top: 28px; }
	.balui-switch { width: 52px; height: 28px; margin-bottom: 14px; }
	.balui-switch span { width: 20px; height: 20px; top: 4px; right: 4px; }
	.balui-login-h { font-size: 24px; margin-bottom: 12px; }
	.balui-login-list { display: none; }
	.balui-login-client { padding: 10px 14px; font-size: 14px; }
	.login #login { padding: 28px 16px 40px; }
	.login form { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
