/* GMAP V967 — keep membership form within the iPhone visual viewport */
.membership-form-overlay,
.membership-form-shell,
.membership-form-shell *{
  box-sizing:border-box!important;
}
.membership-form-overlay{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
.membership-form-shell{
  min-width:0!important;
  width:min(900px,100%)!important;
  max-width:100%!important;
  overflow-x:hidden!important;
}
@media(max-width:700px){
  .membership-form-overlay{
    position:fixed!important;
    inset:0!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    height:100vh!important;
    height:100dvh!important;
    padding:8px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
  .membership-form-shell{
    flex:0 1 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    max-height:calc(100vh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    margin:0 auto!important;
    padding:14px 12px 18px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .membership-form-shell .membership-registration-card,
  .membership-form-shell form,
  .membership-form-shell .fields,
  .membership-form-shell .field,
  .membership-form-shell .address-group,
  .membership-form-shell .address-grid,
  .membership-form-shell .membership-password-layout,
  .membership-form-shell .membership-password-fields,
  .membership-form-shell .membership-password-field{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .membership-form-shell .membership-registration-card{
    width:100%!important;
    margin:0!important;
  }
  .membership-form-shell form,
  .membership-form-shell .fields{
    width:100%!important;
  }
  .membership-form-shell .fields{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .membership-form-shell .membership-password-layout{
    width:100%!important;
    grid-template-columns:minmax(0,1fr)!important;
  }
  .membership-form-shell .address-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  }
  .membership-form-shell input,
  .membership-form-shell select,
  .membership-form-shell textarea{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    font-size:16px!important;
    line-height:1.35!important;
    -webkit-text-size-adjust:100%!important;
  }
  .membership-form-shell input[type="checkbox"],
  .membership-form-shell input[type="radio"]{
    display:inline-block!important;
    width:20px!important;
    min-width:20px!important;
    max-width:20px!important;
    height:20px!important;
  }
  .membership-form-shell .membership-terms-copy,
  .membership-form-shell .membership-consent-copy,
  .membership-form-shell .membership-consent-body,
  .membership-form-shell .membership-terms-link,
  .membership-form-shell label,
  .membership-form-shell p{
    min-width:0!important;
    max-width:100%!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .membership-form-shell .membership-consent-copy,
  .membership-form-shell .membership-terms-copy,
  .membership-form-shell .membership-consent-body{
    line-height:1.5!important;
  }
  .membership-form-shell input:focus,
  .membership-form-shell select:focus,
  .membership-form-shell textarea:focus{
    font-size:16px!important;
    scroll-margin-block:16px!important;
  }
}
@supports(height:100dvh){
  @media(max-width:700px){
    .membership-form-overlay{height:100dvh!important}
    .membership-form-shell{max-height:calc(100dvh - 16px)!important}
  }
}
