/* MyWarmHome CPD — scoped to the shortcode screens. */
.mwh-cpd-auth,
.mwh-cpd-gate,
.mwh-cpd-dashboard { box-sizing:border-box; font-family:inherit; }
.mwh-cpd-auth *, .mwh-cpd-gate *, .mwh-cpd-dashboard * { box-sizing:border-box; }
.mwh-cpd-auth { max-width:580px; margin:28px auto; background:#fff; border:1px solid #e0e0da; border-radius:14px; overflow:hidden; box-shadow:0 13px 42px rgba(19,69,89,.08); }
.mwh-cpd-auth__head { padding:38px 34px 33px; background:#134559; color:#F3EEE4; }
.mwh-cpd-auth__kicker { display:block; color:#F29A3F; font-size:12px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; }
.mwh-cpd-auth__head h2 { color:#F3EEE4; font-size:clamp(27px,4vw,35px); font-weight:800; line-height:1.18; margin:15px 0 12px; }
.mwh-cpd-auth__head p { color:#E1E9E9; margin:0; line-height:1.55; }
.mwh-cpd-auth__body { padding:34px; background:#fff; color:#134559; }
.mwh-cpd-auth__body h3 { font-size:27px; color:#134559; margin:0 0 8px; }
.mwh-cpd-auth__body > p { color:#50616A; margin:0 0 23px; }
.mwh-cpd-auth form { margin:22px 0 0; }
.mwh-cpd-auth form p { margin:0 0 19px; }
.mwh-cpd-auth .login-username label, .mwh-cpd-auth .login-password label { display:block; font-size:14px; font-weight:700; margin:0 0 8px; color:#134559; }
.mwh-cpd-auth .login-username input, .mwh-cpd-auth .login-password input { background:#fff; color:#183B49; border:1px solid #bdcbcc; border-radius:6px; display:block; font:inherit; padding:13px 14px; min-height:48px; width:100%; max-width:none; }
.mwh-cpd-auth input:focus-visible, .mwh-cpd-auth a:focus-visible, .mwh-cpd-gate a:focus-visible, .mwh-cpd-dashboard a:focus-visible { outline:3px solid #F29A3F; outline-offset:3px; }
.mwh-cpd-auth .login-remember { font-size:14px; color:#405761; }
.mwh-cpd-auth .login-remember label { display:flex; gap:8px; align-items:center; }
.mwh-cpd-auth .login-remember input { accent-color:#134559; }
.mwh-cpd-auth .login-submit { margin:20px 0 0; }
.mwh-cpd-auth .login-submit input[type=submit], .mwh-cpd-button { -webkit-appearance:none; appearance:none; display:inline-block; border:1px solid #F29A3F; background:#F29A3F; color:#134559!important; padding:13px 22px; width:100%; border-radius:6px; line-height:1.3; text-align:center; text-decoration:none!important; font:inherit; font-weight:800; cursor:pointer; }
.mwh-cpd-auth .login-submit input[type=submit]:hover, .mwh-cpd-button:hover { filter:brightness(.96); }
.mwh-cpd-auth__help { text-align:right; margin:15px 0 29px; }
.mwh-cpd-auth__help a, .mwh-cpd-minor-link { color:#235062; font-size:14px; text-decoration:underline; }
.mwh-cpd-minor-link { display:block; text-align:center; margin-top:18px; }
.mwh-cpd-auth__register { border-top:1px solid #E4E7E4; padding-top:23px; text-align:center; }
.mwh-cpd-auth__register p { color:#53646B; font-size:14px; margin:0 0 15px; }
.mwh-cpd-button--outline { background:transparent; border-color:#134559; color:#134559!important; }
.mwh-cpd-gate, .mwh-cpd-dashboard { max-width:1100px; background:#134559; color:#F3EEE4; border-radius:12px; margin:22px auto; padding:34px; }
.mwh-cpd-gate h2, .mwh-cpd-dashboard h2 { color:#F3EEE4; font-weight:800; font-size:clamp(26px,4vw,38px); line-height:1.2; margin:14px 0; }
.mwh-cpd-gate p, .mwh-cpd-dashboard p { color:#E0E8E9; line-height:1.65; max-width:750px; }
.mwh-cpd-gate .mwh-cpd-button, .mwh-cpd-dashboard .mwh-cpd-button { width:auto; margin-top:14px; }
.mwh-cpd-dashboard__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.mwh-cpd-dashboard .mwh-cpd-button--outline { border-color:#F3EEE4; color:#F3EEE4!important; }
@media(max-width:600px) { .mwh-cpd-auth { margin:10px auto; } .mwh-cpd-auth__head,.mwh-cpd-auth__body,.mwh-cpd-gate,.mwh-cpd-dashboard { padding:24px; } .mwh-cpd-gate .mwh-cpd-button,.mwh-cpd-dashboard .mwh-cpd-button { width:100%; } }
/* Branded learner registration form, in addition to existing sign-in styles. */
.mwh-cpd-auth .mwh-cpd-field { margin:0 0 18px; }
.mwh-cpd-auth .mwh-cpd-field label { display:block; margin:0 0 8px; color:#134559; font-weight:700; font-size:14px; }
.mwh-cpd-auth .mwh-cpd-field input { display:block; width:100%; max-width:none; min-height:48px; padding:12px 14px; color:#183B49; background:#fff; font:inherit; border:1px solid #bdcbcc; border-radius:6px; }
.mwh-cpd-field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px; }
.mwh-cpd-field-note { display:block; margin-top:5px; color:#62737a; font-size:12px; }
.mwh-cpd-auth .mwh-cpd-register-form .mwh-cpd-button { margin:9px 0 23px; }
.mwh-cpd-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.mwh-cpd-form-errors { padding:15px 17px; background:#fff2eb; border-left:4px solid #c05125; margin:18px 0; color:#80351e; border-radius:4px; font-size:14px; }
.mwh-cpd-form-errors ul { margin:9px 0 0; padding-left:20px; }
.mwh-cpd-auth .mwh-cpd-register-form button:focus-visible { outline:3px solid #F29A3F; outline-offset:3px; }
@media(max-width:600px) { .mwh-cpd-field-grid { grid-template-columns:1fr; } }
/* v1.3: email verification, resend and Cloudflare Turnstile. */
.mwh-cpd-form-success { padding:17px 19px; border-left:4px solid #24794a; background:#e8f4ed; color:#185437; border-radius:4px; margin:18px 0 24px; font-size:15px; line-height:1.55; }
.mwh-cpd-turnstile { margin:0 0 16px; min-height:65px; }
.mwh-cpd-auth__register form { text-align:left; margin:10px 0 18px; }
.mwh-cpd-auth__register .mwh-cpd-minor-link { display:inline-block; margin:0 0 4px; }
