/* Parent sign-in: full-width phone layout, also readable in touch desktop mode. */
.parent-login .login-form input{font-size:22px;min-height:64px}
.parent-login .login-form label{font-size:18px}
.parent-login .login-form .portal-btn{font-size:20px;min-height:64px}
@media(max-width:1100px),(hover:none) and (pointer:coarse){
 body:has(#parentLogin:not([hidden])) .bpwa-banner,
 body:has(#parentLogin:not([hidden])) .progress-heading p,
 .parent-login .login-form .progress-kicker{display:none}
 body:has(#parentLogin:not([hidden])) [aria-label="快速聯絡"],
 body:has(#firstPassword:not([hidden])) [aria-label="快速聯絡"]{display:none!important}
 body:has(#parentLogin:not([hidden])) .progress-main,
 body:has(#firstPassword:not([hidden])) .progress-main{max-width:none;width:100%;margin:0 auto;padding:20px 16px 32px}
 .parent-login{width:100%;max-width:none;grid-template-columns:minmax(0,1fr);border-radius:20px}
 .parent-login .login-form{grid-row:1;min-width:0;padding:28px 24px 32px}
 .parent-login .login-intro{display:none}
 .parent-login .login-form h2{font-size:34px;line-height:1.3;margin-bottom:16px}
 .parent-login .login-form>p:not(.progress-kicker),
 .parent-login .login-form label,.parent-login .login-form .login-help{font-size:20px!important;line-height:1.7}
 .parent-login .login-form label{margin-top:26px;margin-bottom:12px}
 .parent-login .login-form input{font-size:24px;min-height:68px;padding:16px}
 .parent-login .login-form .portal-btn{min-height:68px;font-size:22px;margin:24px 0;padding:16px;white-space:normal}
 .parent-login .password-toggle{min-height:48px;font-size:18px;padding:12px 0 12px 20px}
 .parent-login .login-form .login-help{padding-top:22px}
 body:has(#parentLogin:not([hidden])) footer,
 body:has(#firstPassword:not([hidden])) footer{margin-top:24px;padding:24px 16px}
 #firstPassword{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:28px 24px}
 #firstPassword input{font-size:24px;min-height:68px}
 #firstPassword label,#firstPassword p{font-size:20px;line-height:1.7}
 #firstPassword button{font-size:22px;min-height:68px;white-space:normal}
}
/* A phone requesting a ~980px desktop viewport scales CSS pixels down.
   vw-based type and touch targets compensate without disabling pinch zoom. */
@media(hover:none) and (pointer:coarse){
 body:has(#parentLogin:not([hidden])) .progress-main,
 body:has(#firstPassword:not([hidden])) .progress-main{padding:clamp(18px,3vw,32px) clamp(12px,2.5vw,28px) 32px}
 .parent-login .login-form,#firstPassword{padding:clamp(24px,4vw,44px)}
 .parent-login .login-form h2,#firstPassword h2{font-size:clamp(34px,7vw,68px)}
 .parent-login .login-form>p:not(.progress-kicker),.parent-login .login-form label,
 .parent-login .login-form .login-help,#firstPassword label,#firstPassword p{font-size:clamp(20px,4.8vw,48px)!important;line-height:1.65}
 .parent-login .login-form input,#firstPassword input{font-size:clamp(24px,5.4vw,54px);min-height:clamp(68px,15vw,148px);padding:clamp(16px,3vw,30px)}
 .parent-login .login-form .portal-btn,#firstPassword button{font-size:clamp(22px,5.2vw,52px);min-height:clamp(68px,15vw,148px);padding:clamp(16px,3vw,30px)}
 .parent-login .login-form label{margin-top:clamp(26px,5vw,50px);margin-bottom:clamp(12px,2vw,20px)}
 .parent-login .password-toggle{font-size:clamp(18px,4.5vw,44px);min-height:clamp(48px,11vw,108px)}
 .parent-login .login-form .portal-btn{margin:clamp(24px,5vw,50px) 0}
 .parent-login .login-form .login-help{padding-top:clamp(22px,4vw,40px)}
 body:has(#parentLogin:not([hidden])) .progress-heading h1{font-size:clamp(28px,6vw,58px)}
 body:has(#parentLogin:not([hidden])) .private-badge{font-size:clamp(12px,2.8vw,28px)}
}
