/* Text meant only for screen readers. */
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  -webkit-clip-path: none;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

.mepr-pro-template #primary > * {
  padding-left: 36px;
  padding-right: 36px;
}
.mepr-pro-template #primary > #mepro-login-hero,
.mepr-pro-template #primary > .mepr-account-container {
  padding-left: 0;
  padding-right: 0;
}

.mepro-boxed {
  display: flex;
  box-sizing: border-box;
  position: relative;
  padding: 36px;
  border-style: solid;
  border-width: 1px;
  border-color: rgba(0, 0, 0, 0.08);
  border-radius: 10px;
  background-color: #fff;
  color: #2c2d36;
}

.mepro-boxed > * {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  box-sizing: border-box;
}

#mepro-login-hero .mepro-login-contents {
  flex-grow: 1;
  width: 100%;
}
.mepro-login-widget {
  max-width: 90%;
  margin: 48px auto 0;
}
.mepro-login-widget .mepro-login-widget-box {
  display: block;
}
@media screen and (min-width: 840px) {
  #mepro-login-hero.with-sidebar {
    max-width: 80rem;
  }

  #mepro-login-hero {
    /* padding: 0 4rem 10rem 4rem; */
    max-width: 40rem;
    margin: 0 auto;
  }

  #mepro-login-hero .mepro-login-contents {
    padding-left: 2rem;
    padding-right: calc(2rem + 36px);
    width: 55%;
  }

  .mepro-login-widget {
    max-width: 40rem;
  }

  .mepro-login-widget-box {
    display: block !important;
    max-width: 90%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1024px) {
  #mepro-login-hero .mepro-login-contents {
    /* padding-left: 5rem; */
    /* padding-right: 5rem; */
  }
}
#mepro-login-hero .mepro-login-contents form p {
  font-size: 14px;
}
@media screen and (min-width: 840px) {
  #mepro-login-hero .mepro-login-hero-image {
    width: 45%;
  }

  #mepro-login-hero .mepro-boxed {
    flex-direction: row !important;
  }
}
#mepro-login-hero .mepro-boxed {
  flex-direction: column-reverse;
  max-width: 90%;
  margin: 0 auto;
  justify-content: center;
  align-items: center;
}

#mepr-template-login .mepro-form h1,
#mepr-template-login .mepr-form h1 {
  font-size: 1.6rem;
  line-height: 1.25;
  margin: 0.75rem 0 2rem;
}
#mepr-template-login h3 {
  font-size: 1.375rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 1rem 0;
  color: #2c2d36;
}
#mepr-template-login .mepro-form input,
#mepr-template-login .mepro-form select,
#mepr-template-login .mepr-form input,
#mepr-template-login .mepr-form select {
  display: block;
  width: 100%;
  min-height: 47px;
  padding: 8px 12px;
  margin-bottom: 10px;
  line-height: 1.42857143;
  border-radius: 4px;
  border: 1px solid #ced4da;
  background-color: #fff;
  box-sizing: border-box;
}
#mepr-template-login .mepro-form input:focus-visible,
#mepr-template-login .mepr-form input:focus-visible {
  border: 2px solid #bcbcbc;
}
#mepr-template-login .mepro-form input[type="submit"]:focus-visible {
  outline: none;
}
#mepr-template-login .mepro-form input[type="checkbox"],
#mepr-template-login .mepr-form input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-height: auto;
  margin: 0;
}
#mepr-template-login .mepro-form input[type="checkbox"]:focus-visible,
#mepr-template-login .mepr-form input[type="checkbox"]:focus-visible {
  outline: 2px solid #bcbcbc;
}
#mepr-template-login .mepro-form input[type="checkbox"]:focus-visible + label,
#mepr-template-login .mepr-form input[type="checkbox"]:focus-visible + label {
    font-weight: 500;
}
#mepr-template-login .mepro-form fieldset,
#mepr-template-login .mepr-form fieldset {
  padding: 0;
  border: 0;
}
#mepr-template-login .mepro-form fieldset > * + *,
#mepr-template-login .mepr-form fieldset > * + * {
  margin-top: 1rem;
}
#mepr-template-login .mepro-form label,
#mepr-template-login .mepr-form label {
  font-size: 14px;
  width: auto !important;
}
#mepr-template-login .mepro-form .selectable-field,
#mepr-template-login .mepr-form .selectable-field {
  display: flex;
  align-items: center;
}
#mepr-template-login .mepro-form button,
#mepr-template-login .mepro-form input[type="button"],
#mepr-template-login .mepro-form input[type="reset"],
#mepr-template-login .mepro-form input[type="submit"],
#mepr-template-login .mepr-form button,
#mepr-template-login .mepr-form input[type="button"],
#mepr-template-login .mepr-form input[type="reset"],
#mepr-template-login .mepr-form input[type="submit"] {
  border: 1px solid;
  border-color: #737373;
  border-radius: 8px;
  background: #737373;
  color: rgb(255, 255, 255);
  line-height: 1;
  padding: 0.6em 1em 0.6em;
  cursor: pointer;
  font-size: 1rem;
}
#mepr-template-login .mepro-form button:hover,
#mepr-template-login .mepro-form input[type="button"]:hover,
#mepr-template-login .mepro-form input[type="reset"]:hover,
#mepr-template-login .mepro-form input[type="submit"]:hover,
#mepr-template-login .mepr-form button:hover,
#mepr-template-login .mepr-form input[type="button"]:hover,
#mepr-template-login .mepr-form input[type="reset"]:hover,
#mepr-template-login .mepr-form input[type="submit"]:hover {
  background: #063e94;
}
#mepr-template-login .mepro-form button.mp-hide-pw,
#mepr-template-login .mepro-form input[type="button"].mp-hide-pw,
#mepr-template-login .mepro-form input[type="reset"].mp-hide-pw,
#mepr-template-login .mepro-form input[type="submit"].mp-hide-pw,
#mepr-template-login .mepr-form button.mp-hide-pw,
#mepr-template-login .mepr-form input[type="button"].mp-hide-pw,
#mepr-template-login .mepr-form input[type="reset"].mp-hide-pw,
#mepr-template-login .mepr-form input[type="submit"].mp-hide-pw {
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  width: auto;
  height: 100%;
  align-items: center;
  background: 0 0;
  color: #85929e;
  text-decoration: none;
  padding: 1em 1.4em;
  border: none !important;
  box-shadow: none;
}
#mepr-template-login .mepro-form button.mp-hide-pw:hover,
#mepr-template-login .mepro-form input[type="button"].mp-hide-pw:hover,
#mepr-template-login .mepro-form input[type="reset"].mp-hide-pw:hover,
#mepr-template-login .mepro-form input[type="submit"].mp-hide-pw:hover,
#mepr-template-login .mepr-form button.mp-hide-pw:hover,
#mepr-template-login .mepr-form input[type="button"].mp-hide-pw:hover,
#mepr-template-login .mepr-form input[type="reset"].mp-hide-pw:hover,
#mepr-template-login .mepr-form input[type="submit"].mp-hide-pw:hover {
  background: 0 0;
  color: #5d6d7e;
  text-decoration: none;
  padding: 1em 1.4em;
  border: none;
  box-shadow: none;
}
#mepr-template-login .mepro-form button.mp-hide-pw:active,
#mepr-template-login .mepro-form input[type="button"].mp-hide-pw:active,
#mepr-template-login .mepro-form input[type="reset"].mp-hide-pw:active,
#mepr-template-login .mepro-form input[type="submit"].mp-hide-pw:active,
#mepr-template-login .mepr-form button.mp-hide-pw:active,
#mepr-template-login .mepr-form input[type="button"].mp-hide-pw:active,
#mepr-template-login .mepr-form input[type="reset"].mp-hide-pw:active,
#mepr-template-login .mepr-form input[type="submit"].mp-hide-pw:active {
  background: 0 0;
  color: #5d6d7e;
  text-decoration: none;
  padding: 1em 1.4em;
  border: none;
  box-shadow: none;
}
#mepr-template-login .mepro-form button.mp-hide-pw:focus-visible,
#mepr-template-login .mepro-form input[type="button"].mp-hide-pw:focus-visible,
#mepr-template-login .mepro-form input[type="reset"].mp-hide-pw:focus-visible,
#mepr-template-login .mepro-form input[type="submit"].mp-hide-pw:focus-visible,
#mepr-template-login .mepr-form button.mp-hide-pw:focus-visible,
#mepr-template-login .mepr-form input[type="button"].mp-hide-pw:focus-visible,
#mepr-template-login .mepr-form input[type="reset"].mp-hide-pw:focus-visible,
#mepr-template-login .mepr-form input[type="submit"].mp-hide-pw:focus-visible {
  color: #06429e;
}
#mepr-template-login .mepro-form input[type="submit"]:focus-visible,
#mepr-template-login .mepr-form input[type="submit"]:focus-visible {
  background: #06429e;
  border-color: #06429e;
}
#mepr-template-login .mepro-form button.mp-hide-pw .dashicons,
#mepr-template-login .mepro-form input[type="button"].mp-hide-pw .dashicons,
#mepr-template-login .mepro-form input[type="reset"].mp-hide-pw .dashicons,
#mepr-template-login .mepro-form input[type="submit"].mp-hide-pw .dashicons,
#mepr-template-login .mepr-form button.mp-hide-pw .dashicons,
#mepr-template-login .mepr-form input[type="button"].mp-hide-pw .dashicons,
#mepr-template-login .mepr-form input[type="reset"].mp-hide-pw .dashicons,
#mepr-template-login .mepr-form input[type="submit"].mp-hide-pw .dashicons {
  width: 1.25rem;
  height: 1.25rem;
  position: relative;
}
#mepr-template-login .mepro-form button.disabled,
#mepr-template-login .mepro-form input[type="button"].disabled,
#mepr-template-login .mepro-form input[type="reset"].disabled,
#mepr-template-login .mepro-form input[type="submit"].disabled,
#mepr-template-login .mepr-form button.disabled,
#mepr-template-login .mepr-form input[type="button"].disabled,
#mepr-template-login .mepr-form input[type="reset"].disabled,
#mepr-template-login .mepr-form input[type="submit"].disabled {
  background-color: #949494;
  border: 0;
  pointer-events: none;
}
#mepr-template-login .mepro-form .mp-hide-pw,
#mepr-template-login .mepr-form .mp-hide-pw {
  position: relative;
}
#mepr-template-login .mepro-form .mepr_remember_me,
#mepr-template-login .mepr-form .mepr_remember_me {
  display: flex;
  align-items: center;
}
#mepr-template-login .mepro-form .mepr_remember_me > * + *,
#mepr-template-login .mepr-form .mepr_remember_me > * + * {
  margin-left: 0.5rem;
  margin-bottom: 0;
}

.mepr-login-actions {
  font-size: 14px;
  text-align: center;
  margin-top: 0.25rem;
  padding: 0.75rem 0.5rem 1.25rem;
  box-sizing: border-box;
}
.mepr-login-actions a {
  display: inline-block;
}
#mepr-template-login a:focus-visible {
  font-weight: 500;
  text-decoration: underline;
}

.mepr_error {
  padding: 5px 5px 5px 15px !important;
  margin-bottom: 25px !important;
  box-sizing: border-box !important;
  width: 100%;
  background-color: #feb9bb !important;
  border: 1px solid #d40022 !important;
}
.mepr_error ul {
  padding: 0 0 5px 0 !important;
  margin: 0 !important;
}
.mepr_error ul li {
  list-style-type: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.mepr_updated {
  padding: 5px 5px 5px 15px !important;
  margin-bottom: 25px !important;
  box-sizing: border-box !important;
  width: 100%;
}

.mepro-login-hero-image img {
  border-radius: 6px;
  max-width: 100%;
}

.mepr_pro_error,
.mepr-unauthorized-message {
  display: flex;
  align-items: center;
}
.mepr_pro_error > * + *,
.mepr-unauthorized-message > * + * {
  margin-left: 1rem;
}
.mepr-account-container .mepr_pro_error ul,
.mepr_pro_error ul,
.mepr-unauthorized-message ul {
  list-style-type: none;
  padding: 0;
  margin-bottom: 0;
  margin-left: 1rem;
}
.mepr_pro_error p,
.mepr-unauthorized-message p {
  margin: 0;
}
.mepr_pro_error svg,
.mepr-account-container .mepr_pro_error svg,
.mepr-unauthorized-message svg {
  color: #eb5757;
  width: 3rem;
  height: 3rem;
}
.mepr-guest-layout .mepr_pro_error {
  display: none;
}
.mepr-guest-layout .mepro-login-contents .mepr_pro_error {
  display: flex;
}

/* Login / forgot / reset card errors (ReadyLaunch + FSE): size, vertical alignment, spacing below. */
.mepro-login-contents .mepr_pro_error {
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
}
.mepro-login-contents .mepr_pro_error > * + * {
  margin-left: 0;
}
.mepro-login-contents .mepr_pro_error svg {
  width: 2rem;
  height: 2rem;
  flex-shrink: 0;
  display: block;
  align-self: center;
}
.mepro-login-contents .mepr_pro_error ul {
  margin: 0;
  padding: 0;
  margin-left: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 0;
  align-self: center;
}
.mepro-login-contents .mepr_pro_error li {
  font-size: 0.875rem;
  line-height: 1.45;
  margin: 0;
  padding: 0;
}

.mp-form-row.mepr_forgot_password_input label {
  display: block !important;
  margin-bottom: 7px;
}

/*
 * FSE ReadyLaunch login template (readylaunch-login.html): full-viewport shell.
 * Classic login loads mp-pro-theme; FSE login skips it — reinforce guest-style blue
 * field so block themes cannot flatten the page to default gray behind the card.
 */
.mepr-rl-fse-login-page {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
  background-color: var(--wp--preset--color--readylaunch-primary, #06429e);
  min-height: 100vh;
  padding: 1.5rem 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* Column width: 40rem matches non-FSE #mepro-login-hero (login.css, min-width 840px). */
.mepr-rl-fse-login-page .mepr-rl-fse-login-inner {
  width: 100%;
  max-width: 40rem;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
  box-sizing: border-box;
}

.mepr-rl-fse-login-page .wp-block-site-logo.is-default-size img {
  height: auto;
}

/* Center logo + title (flex layout lives in CSS so template markup matches core/group save output). */
.mepr-rl-fse-login-page .mepr-rl-fse-login-branding {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.25rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mepr-rl-fse-login-page .mepr-rl-fse-login-branding .wp-block-site-title {
  text-align: center;
}

.mepr-rl-fse-login-page .mepr-rl-fse-login-branding .wp-block-site-logo {
  display: flex;
  justify-content: center;
}

/* Match readylaunch-header branding: title/link contrast follows the primary color. */
.mepr-rl-fse-login-page .wp-block-site-title,
.mepr-rl-fse-login-page .wp-block-site-title a {
  color: var(--wp--preset--color--readylaunch-primary-text, #fff);
}

.mepr-rl-fse-login-page .wp-block-site-title a:focus,
.mepr-rl-fse-login-page .wp-block-site-title a:hover {
  color: var(--wp--preset--color--readylaunch-primary-text, #fff);
  opacity: 0.85;
}

/*
 * FSE login: make #mepro-login-hero + .mepro-boxed fill the template column.
 * Global rules assume a sidebar (840px+): .mepro-login-contents { width: 55% } and
 * .mepro-boxed { max-width: 90% }, which keep the card narrow even without .with-sidebar.
 */
.mepr-rl-fse-login-page .wp-block-memberpress-pro-login-form {
  width: 100%;
  max-width: none !important;
}

.mepr-rl-fse-login-page #mepro-login-hero {
  width: 100%;
  box-sizing: border-box;
}

.mepr-rl-fse-login-page #mepro-login-hero .mepro-boxed {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mepr-rl-fse-login-page #mepro-login-hero:not(.with-sidebar) .mepro-login-contents {
  width: 100% !important;
  max-width: none;
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
}

@media screen and (min-width: 840px) {
  .mepr-rl-fse-login-page #mepro-login-hero:not(.with-sidebar) .mepro-login-contents {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }

  .mepr-rl-fse-login-page #mepro-login-hero {
    max-width: 40rem;
  }

  .mepr-rl-fse-login-page .mepro-login-widget {
    max-width: 40rem;
  }
}
