/* v1.7.5 two-column login refinements + in-field password visibility icon */
.svh-login-card{
  --svh-login-accent:#ef919a;
  --svh-login-soft:#fff1f3;
  width:min(1180px,calc(100vw - 48px));
  max-width:none;
  margin:46px 0 58px;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  padding:0;
  overflow:hidden;
  background:#fff;
  border:1px solid #dedfee;
  border-radius:24px;
  box-shadow:0 20px 55px rgba(34,26,66,.09);
  box-sizing:border-box;
  font-family:Montserrat,Arial,sans-serif;
  color:#221a42;
}
.svh-login-card--organisation{--svh-login-accent:#ffcc3d;--svh-login-soft:#fff8df}
.svh-login-card--business{--svh-login-accent:#39d5e5;--svh-login-soft:#eafcff}
.svh-login-card--hub{--svh-login-accent:#2e34b7;--svh-login-soft:#eef0ff}
.svh-login-card__intro{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:520px;
  padding:58px 54px;
  background:linear-gradient(145deg,var(--svh-login-soft) 0%,#fff 88%);
  border-right:1px solid #e4e4ef;
  box-shadow:inset 0 7px 0 var(--svh-login-accent);
  box-sizing:border-box;
}
.svh-login-card__intro:after{
  content:"";
  width:78px;
  height:4px;
  margin-top:30px;
  background:var(--svh-login-accent);
  border-radius:999px;
}
.svh-login-kicker{
  display:block;
  margin-bottom:14px;
  color:#66627b;
  font-size:13px;
  font-weight:800;
  line-height:1.3;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.svh-login-card__intro h1{
  margin:0 0 22px;
  color:#2e34b7;
  font-family:Montserrat,Arial,sans-serif;
  font-size:clamp(42px,4vw,60px);
  font-weight:500;
  line-height:1.03;
  letter-spacing:-.035em;
}
@media(min-width:921px){
  .svh-login-card--organisation .svh-login-card__intro h1{
    font-size:clamp(40px,3.15vw,50px);
    letter-spacing:-.04em;
    white-space:nowrap;
  }
}
.svh-login-card__lead{
  margin:0 0 18px;
  max-width:510px;
  color:#221a42;
  font-size:20px;
  line-height:1.55;
}
.svh-login-card__supporting{
  margin:0;
  max-width:500px;
  color:#5c586e;
  font-size:15px;
  line-height:1.65;
}
.svh-login-card__panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:54px 58px;
  background:#fff;
  box-sizing:border-box;
}
.svh-login-card__head{margin:0 0 28px}
.svh-login-card__head h2{
  margin:0 0 8px;
  color:#221a42;
  font-family:Montserrat,Arial,sans-serif;
  font-size:34px;
  font-weight:600;
  line-height:1.15;
}
.svh-login-card__head p{
  margin:0;
  max-width:600px;
  color:#656174;
  font-size:15px;
  line-height:1.6;
}
.svh-login-form{display:grid;gap:22px;margin:0}
.svh-login-field{margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important}
.svh-login-field label{display:block;margin:0 0 9px;color:#221a42;font-size:15px;font-weight:700}
.svh-login-field input{
  width:100%!important;
  min-height:60px!important;
  margin:0!important;
  padding:14px 18px!important;
  background:#fff!important;
  border:1.5px solid #bdbccc!important;
  border-radius:10px!important;
  box-shadow:none!important;
  color:#221a42!important;
  font-size:17px!important;
  box-sizing:border-box!important;
}
.svh-login-field input:focus{
  border-color:#2e34b7!important;
  outline:3px solid rgba(46,52,183,.12)!important;
  outline-offset:1px;
}
.svh-password-wrap{position:relative;display:block}
.svh-password-wrap input{min-width:0;padding-right:64px!important}
.svh-password-toggle{
  position:absolute;
  top:50%;
  right:8px;
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  padding:0;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  background:transparent;
  color:#2e34b7;
  border-radius:8px;
  cursor:pointer;
  line-height:1;
}
.svh-password-toggle:hover{background:#eef0ff;color:#171b83}
.svh-password-toggle:focus-visible{outline:3px solid rgba(46,52,183,.2);outline-offset:1px;background:#eef0ff}
.svh-password-toggle .svh-eye-icon{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.svh-password-toggle .svh-eye-icon--visible{display:none}
.svh-password-toggle.is-visible .svh-eye-icon--hidden{display:none}
.svh-password-toggle.is-visible .svh-eye-icon--visible{display:block}
.svh-password-toggle .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.svh-login-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.svh-login-actions .acf-form-submit,.svh-login-secondary{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:58px;
  margin:0!important;
  padding:13px 22px!important;
  border-radius:10px!important;
  font-size:16px!important;
  font-weight:800!important;
  line-height:1!important;
  text-decoration:none!important;
  box-sizing:border-box;
}
.svh-login-actions .acf-form-submit{border:2px solid #2e34b7!important;background:#2e34b7!important;color:#fff!important;cursor:pointer}
.svh-login-actions .acf-form-submit:hover,.svh-login-actions .acf-form-submit:focus{background:#1f2490!important;border-color:#1f2490!important}
.svh-login-secondary{border:2px solid #2e34b7!important;background:#fff!important;color:#2e34b7!important}
.svh-login-secondary:hover,.svh-login-secondary:focus{background:#eef0ff!important;color:#171b83!important}
.svh-login-forgot{display:inline-block;width:max-content;margin-top:-3px;color:#2e34b7!important;font-size:14px;text-decoration:underline!important;text-underline-offset:3px}
.required,.svh-required-note .required{color:#a40023;font-weight:700}
.svh-required-note{font-size:14px;color:#555}
.svh-form-errors{background:#fff0f3;border:1px solid #ef919a;border-left:5px solid #c4244a;padding:14px 16px;margin:0 0 2px;border-radius:10px;color:#4b1725}.svh-form-errors ul{margin:.5rem 0 0 1.2rem}
.acf-form-group input:invalid:focus,.acf-form-group select:invalid:focus,.acf-form-group textarea:invalid:focus{outline:3px solid rgba(239,145,154,.45);outline-offset:2px}
.svh-form-validation-summary{background:#fff0f3;border:1px solid #ef919a;border-radius:10px;padding:12px 14px;margin-bottom:14px}.svh-form-validation-summary a{color:#7c1231;text-decoration:underline}.acf-form textarea{overflow-wrap:anywhere;word-break:normal;max-width:100%}
@media(max-width:920px){
  .svh-login-card{width:min(760px,calc(100vw - 32px));grid-template-columns:1fr;margin:28px 0 42px}
  .svh-login-card__intro{min-height:0;padding:38px 40px;border-right:0;border-bottom:1px solid #e4e4ef}
  .svh-login-card__intro h1{font-size:44px;margin-bottom:16px}
  .svh-login-card__lead{font-size:18px}
  .svh-login-card__intro:after{margin-top:22px}
  .svh-login-card__panel{padding:38px 40px 42px}
}
@media(max-width:650px){
  .svh-login-card{width:calc(100vw - 24px);margin:18px 0 30px;border-radius:16px}
  .svh-login-card__intro{padding:30px 24px}
  .svh-login-card__intro h1{font-size:36px}
  .svh-login-card__lead{font-size:17px}
  .svh-login-card__supporting{font-size:14px}
  .svh-login-card__panel{padding:30px 24px 34px}
  .svh-login-card__head h2{font-size:29px}
  .svh-login-actions{grid-template-columns:1fr}
  .acf-form-group{min-width:0}.acf-form-control{max-width:100%;box-sizing:border-box}
}

/* v1.7.0 Stockport Social Value Hub login choices */
.svh-hub-register-choices{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(46,52,183,.18)}
.svh-hub-register-choices span{font-weight:700;color:#221a42}
.svh-hub-register-choices a{display:inline-flex;align-items:center;min-height:40px;padding:8px 13px;border:1px solid #2e34b7;border-radius:8px;color:#2e34b7;text-decoration:none;font-weight:700;background:#fff}
.svh-hub-register-choices a:hover,.svh-hub-register-choices a:focus{background:#eef0ff;color:#00009b}
@media(max-width:600px){.svh-hub-register-choices{align-items:stretch}.svh-hub-register-choices span{flex-basis:100%}.svh-hub-register-choices a{justify-content:center;flex:1 1 100%}}

/* v1.7.1 registration required-field markers */
.svh-required-marker,.acf-form label .required,.svh-required-note .required{color:#a40023!important;font-weight:800!important;display:inline!important;margin-left:3px}
.svh-required-note{display:block!important;margin:0 0 16px!important}

/* v1.7.6 clearer mandatory-field treatment without changing validation rules */
.svh-required-note{display:block!important;margin:0 0 20px!important;padding:10px 13px!important;border-left:4px solid #a40023!important;background:#fff2f5!important;color:#5c1425!important;font-size:14px!important;font-weight:600!important}
.svh-required-marker,.acf-form label .required,.svh-required-note .required{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;min-width:18px!important;border-radius:50%!important;background:#a40023!important;color:#fff!important;font-size:14px!important;font-weight:900!important;line-height:18px!important;margin-left:6px!important;vertical-align:middle!important}
.svh-required-note .required{margin:0 6px 0 0!important}
