/* PEQ E-Learning Hub: sign-in page. Everything is scoped to .bh-login so the theme cannot restyle it. */
.bh-login{--bh-accent:#2a3585;display:flex;min-height:100vh;width:100%;max-width:none;margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#1c2333;background:#f4f6fb;box-sizing:border-box}
.bh-login *{box-sizing:border-box}
.bh-login-brand{flex:1 1 46%;display:flex;align-items:center;justify-content:center;padding:48px;color:#fff;background:linear-gradient(150deg,var(--bh-accent) 0%,color-mix(in srgb,var(--bh-accent) 55%,#000) 100%);position:relative;overflow:hidden}
.bh-login-brand::before,.bh-login-brand::after{content:"";position:absolute;border-radius:50%;background:rgba(255,255,255,.07)}
.bh-login-brand::before{width:420px;height:420px;right:-140px;top:-120px}
.bh-login-brand::after{width:300px;height:300px;left:-100px;bottom:-110px}
.bh-login-brand-in{position:relative;max-width:420px}
.bh-login .bh-login-logo{display:block;max-width:280px;max-height:140px;width:auto;height:auto;margin:0 0 24px;background:#fff;border-radius:14px;padding:10px}
.bh-login-mark{width:64px;height:64px;border-radius:16px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:30px;font-weight:700;margin-bottom:20px}
.bh-login .bh-login-brand h2{margin:0 0 6px;font-size:30px;line-height:1.2;color:#fff;font-weight:700}
.bh-login .bh-login-tag{margin:0 0 28px;font-size:17px;color:rgba(255,255,255,.85)}
.bh-login .bh-login-brand ul{list-style:none;margin:0;padding:0}
.bh-login .bh-login-brand li{position:relative;padding:0 0 14px 30px;font-size:15px;line-height:1.45;color:rgba(255,255,255,.92);margin:0}
.bh-login .bh-login-brand li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat}
.bh-login-form{flex:1 1 54%;display:flex;align-items:center;justify-content:center;padding:32px 20px}
.bh-login-card{width:100%;max-width:410px;background:#fff;border-radius:18px;padding:36px 32px;box-shadow:0 10px 40px rgba(28,35,51,.10)}
.bh-login .bh-login-card h1{margin:0 0 6px;font-size:34px;line-height:1.2;color:#1c2333;font-weight:700;letter-spacing:0;text-transform:none}
.bh-login .bh-login-sub{margin:0 0 22px;color:#5b6478;font-size:15px}
.bh-login label{display:block;margin:14px 0 6px;font-size:13px;font-weight:600;color:#3a4256}
.bh-login input[type=text],.bh-login input[type=password]{width:100%;height:46px;padding:0 14px;border:1.5px solid #d3d9e6;border-radius:10px;background:#fff;font-size:16px;color:#1c2333;box-shadow:none;margin:0}
.bh-login input[type=text]:focus,.bh-login input[type=password]:focus{outline:none;border-color:var(--bh-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--bh-accent) 22%,transparent)}
.bh-login-pw{position:relative}
.bh-login-pw input{padding-right:70px!important}
.bh-login .bh-login-eye{position:absolute;right:6px;top:6px;height:34px;padding:0 12px;border:0;border-radius:8px;background:#eef1f8;color:#3a4256;font-size:13px;font-weight:600;cursor:pointer}
.bh-login .bh-login-eye:hover{background:#e2e7f3}
.bh-login .bh-login-remember{display:flex;align-items:center;gap:8px;margin:16px 0 4px;font-weight:500;color:#5b6478}
.bh-login .bh-login-remember input{width:16px;height:16px;margin:0}
.bh-login .bh-login-btn{display:block;width:100%;margin-top:18px;height:48px;line-height:48px;padding:0;border:0;border-radius:10px;background:var(--bh-accent);color:#fff;font-size:16px;font-weight:700;text-align:center;text-decoration:none;cursor:pointer}
.bh-login .bh-login-btn:hover{filter:brightness(1.08)}
.bh-login .bh-login-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--bh-accent) 40%,#fff);outline-offset:2px}
.bh-login .bh-login-btn[disabled]{opacity:.7;cursor:wait}
.bh-login .bh-login-err,.bh-login .bh-login-ok{margin:0 0 6px;padding:11px 14px;border-radius:10px;font-size:14px;line-height:1.4}
.bh-login .bh-login-err{background:#fdecec;color:#9b1c1c;border:1px solid #f5c2c2}
.bh-login .bh-login-ok{background:#e8f6ee;color:#14633a;border:1px solid #bfe3cd}
.bh-login .bh-login-help{margin:18px 0 0;font-size:13px;line-height:1.5;color:#6a7388}
.bh-login .bh-login-help a{color:var(--bh-accent);font-weight:600}
.bh-login .bh-login-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:820px){
  .bh-login{flex-direction:column;min-height:0}
  .bh-login-brand{flex:none;padding:28px 22px}
  .bh-login-brand ul,.bh-login .bh-login-tag{display:none}
  .bh-login .bh-login-brand h2{font-size:clamp(15px,4.4vw,19px);line-height:1.25;margin:0;overflow-wrap:anywhere}
  .bh-login-brand{padding:14px 16px}
  .bh-login-brand-in{display:flex;align-items:center;gap:12px;max-width:none}
  .bh-login .bh-login-card h1{font-size:21px}
  .bh-login .bh-login-sub{font-size:14px;margin-bottom:16px}
  .bh-login .bh-login-logo{margin:0;max-height:44px;max-width:90px;padding:4px;flex:none}
  .bh-login-mark{width:40px;height:40px;font-size:19px;margin:0;flex:none;border-radius:12px}
  .bh-login-form{padding:22px 14px 36px}
  .bh-login-card{padding:22px 18px;border-radius:14px}
}
@media(prefers-color-scheme:dark){
  .bh-login{background:#0f1320;color:#e6e9f2}
  .bh-login-card{background:#1a2033;box-shadow:none}
  .bh-login .bh-login-card h1{color:#f1f3fa}
  .bh-login .bh-login-sub,.bh-login .bh-login-help,.bh-login .bh-login-remember{color:#a3acc2}
  .bh-login label{color:#c5cce0}
  .bh-login input[type=text],.bh-login input[type=password]{background:#10152a;border-color:#34405f;color:#f1f3fa}
  .bh-login .bh-login-eye{background:#2a3350;color:#dfe4f4}
  .bh-login .bh-login-help a{color:#9fb0ff}
}

@media (hover:hover) and (prefers-reduced-motion:no-preference){
.bh-login a,.bh-login button,.bh-login input[type=submit]{transition:transform .18s ease,box-shadow .18s ease,color .18s ease}
.bh-login a:hover{text-decoration:underline;text-underline-offset:3px}
.bh-login button:hover,.bh-login input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.2)}
.bh-login svg{transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.bh-login a:hover svg,.bh-login button:hover svg{transform:scale(1.2) rotate(-6deg)}
}

/* Small screens, measured by the width the sign-in actually has (not the whole screen), so it also works when a theme puts it in a narrow box.
   The school name never breaks in the middle of a word: the logo sits above it and it wraps between words. */
.bh-login-wrap{container-type:inline-size;container-name:bhlogin;width:100%}
.bh-login .bh-login-brand h2{overflow-wrap:break-word;word-break:normal;hyphens:manual;text-wrap:balance}
@container bhlogin (max-width:820px){
  .bh-login{flex-direction:column;min-height:0}
  .bh-login-brand{flex:none;padding:16px 18px}
  .bh-login-brand ul,.bh-login .bh-login-tag{display:none}
  .bh-login-brand-in{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;max-width:none}
  .bh-login .bh-login-brand h2{font-size:clamp(15px,5.2cqw,22px);line-height:1.25;margin:0;flex:1 1 150px;min-width:0}
  .bh-login .bh-login-logo{margin:0;max-height:48px;max-width:96px;padding:4px;flex:none}
  .bh-login-mark{width:40px;height:40px;font-size:19px;margin:0;flex:none;border-radius:12px}
  .bh-login-form{padding:20px 12px 32px}
  .bh-login-card{padding:22px 18px;border-radius:14px}
  .bh-login .bh-login-card h1{font-size:clamp(19px,6cqw,24px)}
}
@container bhlogin (max-width:340px){
  .bh-login-brand-in{flex-direction:column;align-items:flex-start}
  .bh-login .bh-login-brand h2{flex:none;width:100%}
}

/* Ultimate Member's sign-in drawn inside the same two panels (class-bh-login.php, um_brand_wrap). */
body .bh-login .bh-um-card .um{max-width:100%!important;width:100%!important;margin:0!important;padding:0!important;opacity:1}
body .bh-login .bh-um-card .um-form{padding:0!important;margin:0!important;max-width:100%!important}
body .bh-login .bh-um-card .um-form .um-misc-with-img,body .bh-login .bh-um-card .um-form .um-header{display:none!important}
body .bh-login .bh-um-card .um-field{padding:0!important;margin:0!important}
body .bh-login .bh-um-card .um-field-label{margin:14px 0 6px!important}
body .bh-login .bh-um-card .um-field-label label{margin:0!important;font-size:13px!important;font-weight:600!important;color:#3a4256!important;display:block}
body .bh-login .bh-um-card .um-field-area{margin:0!important}
body .bh-login .bh-um-card .um-form :is(input[type=text],input[type=password],input[type=email]){width:100%!important;height:46px!important;padding:0 14px!important;border:1.5px solid #d3d9e6!important;border-radius:10px!important;background:#fff!important;font-size:16px!important;color:#1c2333!important;box-shadow:none!important;box-sizing:border-box}
body .bh-login .bh-um-card .um-form :is(input[type=text],input[type=password],input[type=email]):focus{outline:none!important;border-color:var(--bh-accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--bh-accent) 22%,transparent)!important}
body .bh-login .bh-um-card .um-field-checkbox{margin:16px 0 4px!important}
body .bh-login .bh-um-card .um-field-checkbox .um-field-checkbox-option{margin-left:8px!important;font-size:14px!important;font-weight:500!important;color:#5b6478!important;line-height:1.3}
body .bh-login .bh-um-card .um-field-checkbox .um-field-checkbox-state i{color:var(--bh-accent)!important}
body .bh-login .bh-um-card .um-col-alt{margin:8px 0 0!important;padding:0!important;width:100%!important}
body .bh-login .bh-um-card .um-col-alt .um-left,body .bh-login .bh-um-card .um-col-alt .um-right,body .bh-login .bh-um-card .um-col-alt .um-half,body .bh-login .bh-um-card .um-col-alt .um-center{float:none!important;width:100%!important;margin:0 0 10px!important}
body .bh-login .bh-um-card .um-button,body .bh-login .bh-um-card input[type=submit].um-button,body .bh-login .bh-um-card a.um-button{display:block!important;width:100%!important;height:48px!important;line-height:48px!important;padding:0!important;border:0!important;border-radius:10px!important;background:var(--bh-accent)!important;color:#fff!important;font-size:16px!important;font-weight:700!important;text-align:center;box-shadow:none!important;text-transform:none!important;text-decoration:none!important}
body .bh-login .bh-um-card .um-button:hover{filter:brightness(1.08);background:var(--bh-accent)!important}
body .bh-login .bh-um-card .um-button.um-alt,body .bh-login .bh-um-card a.um-button.um-alt{background:#fff!important;color:var(--bh-accent)!important;border:1.5px solid var(--bh-accent)!important;line-height:45px!important}
body .bh-login .bh-um-card .um-col-alt-b{display:none!important}   /* the "Forgot your password?" link: the sign-in page's own help lines below replace it */
body .bh-login .bh-um-card .um-notice,body .bh-login .bh-um-card .um-field-error{border-radius:10px!important;font-size:14px!important}
body .bh-login .bh-um-card .um-field-error{background:#fdecec!important;color:#9b1c1c!important;padding:8px 12px!important;margin-top:6px!important}
body .bh-login .bh-um-card .um-notice.err{background:#fdecec!important;color:#9b1c1c!important;border:1px solid #f5c2c2}
@media(prefers-color-scheme:dark){
  body .bh-login .bh-um-card .um-field-label label{color:#c5cce0!important}
  body .bh-login .bh-um-card .um-form :is(input[type=text],input[type=password],input[type=email]){background:#10152a!important;border-color:#34405f!important;color:#f1f3fa!important}
  body .bh-login .bh-um-card .um-button.um-alt{background:transparent!important}
}
/* Wrapper drawn by the browser (um-login.js): break out of the theme's content column so the two panels use the whole width. */
.bh-um-js{width:100vw;max-width:100vw}
body.bh-um-login{overflow-x:hidden}
body.bh-um-login :is(.entry-title,.page-title,.elementor-widget-theme-post-title){display:none!important}

/* Small screens: everything inside the Ultimate Member card is exactly as wide as the card, whatever the theme or older snippets set. */
body .bh-login .bh-um-card{min-width:0;overflow:visible!important}
body .bh-login .bh-um-card :is(.um,.um-form,.um-form form,.um-row,.um-row-heading,.um-col-alt,.um-field,.um-field-area,.um-field-checkbox){width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
body .bh-login .bh-um-card .um-row{padding:0!important;margin:0!important}
body .bh-login .bh-um-card .um-form{container-type:normal!important}
body .bh-login .bh-um-card .um-col-alt{display:block!important}
body .bh-login .bh-um-card .um-col-alt :is(.um-button,input[type=submit],a.um-button){width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;justify-self:stretch!important}
body .bh-login .bh-um-card .um-field-label label{display:inline!important}
body .bh-login .bh-um-card .um-field-label .um-req{display:inline!important;margin-left:4px!important;float:none!important;position:static!important}
body .bh-login .bh-um-card .um-field-area input{max-width:100%!important}
@media(max-width:820px){
  .bh-um-js .bh-login-form{padding:18px 12px 32px}
  body .bh-login .bh-um-card{padding:22px 16px!important}
}

body .bh-login .bh-um-card .um-field-label label{font-size:14px!important;line-height:1.35!important;font-weight:600!important;margin:0!important;padding:0!important;white-space:normal}
body .bh-login .bh-um-card .um-field-label{line-height:1.35!important;padding:0!important}
body .bh-login .bh-um-card .um-field{padding:0!important;margin:0!important}
body .bh-login .bh-um-card .um-field-area{padding:0!important;margin:0!important;position:relative}
body .bh-login .bh-um-card .um-field-area input{margin:0!important}
body .bh-login .bh-um-card .um-col-alt,body .bh-login .bh-um-card .um-col-alt .um-center,body .bh-login .bh-um-card .um-col-alt .um-left,body .bh-login .bh-um-card .um-col-alt .um-right{padding:0!important;margin-left:0!important;margin-right:0!important;float:none!important;display:block!important;width:100%!important}
body .bh-login .bh-um-card .um-form,body .bh-login .bh-um-card .um{padding:0!important;margin:0!important;left:0!important;right:0!important;transform:none!important}
