/* ==========================================================
   MEMBERPRESS REGISTRATION PAGE
   File: /child-theme/assets/memberpress-register.css
   Loaded: conditionally on MP register pages only
   Selectors verified via DevTools — 2026-05-03
   ========================================================== */

/* ----------------------------------------------------------
   DESIGN TOKENS
   ---------------------------------------------------------- */
:root {
  --reg-bg:           #030407;
  --reg-card:         #0d0f14;
  --reg-card-border:  #1e2130;
  --reg-input-bg:     #111318;
  --reg-input-border: #2a2d3a;
  --reg-gold:         #c9a84c;
  --reg-gold-hover:   #dfc06a;
  --reg-text:         #f0ede8;
  --reg-muted:        #7a7d8a;
  --reg-error:        #e05252;
  --reg-radius:       8px;
}


/* ----------------------------------------------------------
   BODY — confirmed class: single-memberpressproduct
   ---------------------------------------------------------- */
body.single-memberpressproduct {
  background-color: var(--reg-bg) !important;
}


/* ----------------------------------------------------------
   HIDE ASTRA SIDEBAR on register pages
   ---------------------------------------------------------- */


body.single-memberpressproduct #primary,
body.single-memberpressproduct .content-area {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  background: transparent !important;
}


/* ----------------------------------------------------------
   HIDE PREVIOUS / NEXT MEMBERSHIP NAV
   ---------------------------------------------------------- */
body.single-memberpressproduct .post-navigation,
body.single-memberpressproduct nav[aria-label="Posts"] {
  display: none !important;
}


/* ----------------------------------------------------------
   ARTICLE WRAPPER
   ---------------------------------------------------------- */
body.single-memberpressproduct article.memberpressproduct {
  max-width: 600px !important;
  margin: 60px auto !important;
  padding: 0 16px !important;
  float: none !important;
}


/* ----------------------------------------------------------
   ENTRY HEADER — remove Astra default page header background/padding
   Fixes the light grey bleed visible on mobile (logged-in view)
   ---------------------------------------------------------- */
body.single-memberpressproduct .entry-header,
body.single-memberpressproduct header.entry-header {
  background: transparent !important;
  padding: 0 !important;
  margin-bottom: 8px !important;
}

body.single-memberpressproduct .ast-breadcrumbs-wrapper {
  display: none !important;
}


/* ----------------------------------------------------------
   ENTRY TITLE
   ---------------------------------------------------------- */
body.single-memberpressproduct .entry-title {
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--reg-text) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  margin-bottom: 0px !important;
}

body.single-memberpressproduct .entry-content > p,
body.single-memberpressproduct .mepr-bold-price {
  font-size: 14px !important;
  color: var(--reg-muted) !important;
  margin-bottom: 0 !important;
}


/* ----------------------------------------------------------
   FORM CARD — confirmed wrapper: div.mp_wrapper
   ---------------------------------------------------------- */
body.single-memberpressproduct .mp_wrapper {
  background: var(--reg-card) !important;
  border: 1px solid var(--reg-card-border) !important;
  border-radius: 12px !important;
  padding: 36px 40px 40px !important;
  box-shadow: 0 8px 48px rgba(0, 0, 0, 0.6) !important;
  margin-top: 28px !important;
}


/* ----------------------------------------------------------
   FORM ROWS
   ---------------------------------------------------------- */
body.single-memberpressproduct .mp-form-row {
  margin-bottom: 4px !important;
}


/* ----------------------------------------------------------
   LABELS
   ---------------------------------------------------------- */
body.single-memberpressproduct .mp-form-row label,
body.single-memberpressproduct .mp_wrapper label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: var(--reg-muted) !important;
  margin-bottom: 5px !important;
}

/* Checkbox labels — no uppercase */
body.single-memberpressproduct .mp_wrapper input[type="checkbox"] ~ label,
body.single-memberpressproduct .mp_wrapper input[type="checkbox"] + label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--reg-muted) !important;
  display: inline !important;
  line-height: 1.5 !important;
}
body.single-memberpressproduct .mp_wrapper .mp-form-row label.mepr-form-label {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}


/* ----------------------------------------------------------
   INPUT FIELDS
   Using #mepr_signup_form ID to beat both Astra and MemberPress
   own stylesheet (full-access/:2 confirmed in DevTools)
   ---------------------------------------------------------- */

/* Override ALL Astra CSS variables used for inputs —
   --ast-global-color-5 is what Astra uses on mobile specifically */
body.single-memberpressproduct {
  --ast-comment-inputs-background: #111318 !important;
  --ast-border-color: #2a2d3a !important;
  --ast-global-color-5: #111318 !important;
}

body.single-memberpressproduct #mepr_signup_form input[type="text"],
body.single-memberpressproduct #mepr_signup_form input[type="email"],
body.single-memberpressproduct #mepr_signup_form input[type="password"],
body.single-memberpressproduct .mp_wrapper #mepr_signup_form input[type="text"],
body.single-memberpressproduct .mp_wrapper #mepr_signup_form input[type="email"],
body.single-memberpressproduct .mp_wrapper #mepr_signup_form input[type="password"] {
  width: 100% !important;
  background: #111318 !important;
  background-color: #111318 !important;
  border: 1px solid #2a2d3a !important;
  border-radius: var(--reg-radius) !important;
  color: #f0ede8 !important;
  font-size: 15px !important;
  outline: none !important;
  box-shadow: none !important;
  transition: border-color 0.18s ease, box-shadow 0.18s ease !important;
  margin-bottom: 10px !important;
  box-sizing: border-box !important;
  -webkit-appearance: none !important;
  display: block !important;
}

body.single-memberpressproduct #mepr_signup_form input[type="text"]:focus,
body.single-memberpressproduct #mepr_signup_form input[type="email"]:focus,
body.single-memberpressproduct #mepr_signup_form input[type="password"]:focus {
  border-color: #c9a84c !important;
  box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.14) !important;
  outline: none !important;
}

/* Prevent browser autofill yellow/white background */
body.single-memberpressproduct #mepr_signup_form input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #111318 inset !important;
  -webkit-text-fill-color: #f0ede8 !important;
  caret-color: #f0ede8 !important;
}


/* ----------------------------------------------------------
   PASSWORD STRENGTH
   ---------------------------------------------------------- */
body.single-memberpressproduct #mepr-password-strength-area {
  margin-top: -10px !important;
  margin-bottom: 16px !important;
}

body.single-memberpressproduct #mepr-password-strength {
  background: var(--reg-input-bg) !important;
  border: 1px solid var(--reg-input-border) !important;
  border-radius: 4px !important;
  color: var(--reg-muted) !important;
  font-size: 11px !important;
  padding: 5px 10px !important;
  display: inline-block !important;
}

body.single-memberpressproduct .mepr-password-strength-text {
  font-size: 11px !important;
  color: var(--reg-muted) !important;
  margin-left: 8px !important;
}


/* ----------------------------------------------------------
   COUPON LINK
   ---------------------------------------------------------- */
body.single-memberpressproduct a.have-coupon-link,
body.single-memberpressproduct .mepr-coupon-row a {
  color: var(--reg-gold) !important;
  font-size: 13px !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-bottom: 20px !important;
  transition: color 0.15s ease !important;
}

body.single-memberpressproduct a.have-coupon-link:hover {
  color: var(--reg-gold-hover) !important;
}


/* ----------------------------------------------------------
   PAYMENT METHODS WRAPPER
   Confirmed: fieldset.mp-form-payment-methods-wrapper
   ---------------------------------------------------------- */
body.single-memberpressproduct .mp-form-payment-methods-wrapper,
body.single-memberpressproduct fieldset.mp-form-payment-methods-wrapper {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--reg-card-border) !important;
  border-radius: var(--reg-radius) !important;
  padding: 16px !important;
  margin-bottom: 24px !important;
}

body.single-memberpressproduct .mp-form-payment-methods-wrapper img {
  opacity: 0.85 !important;
}

body.single-memberpressproduct .mp-form-payment-methods-wrapper p,
body.single-memberpressproduct .mp-form-payment-methods-wrapper label {
  font-size: 13px !important;
  color: var(--reg-muted) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-weight: 400 !important;
}


/* ----------------------------------------------------------
   CHECKBOXES
   ---------------------------------------------------------- */
body.single-memberpressproduct .mp_wrapper input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  accent-color: var(--reg-gold) !important;
  margin-right: 8px !important;
  cursor: pointer !important;
  vertical-align: middle !important;
  position: relative !important;
  top: -1px !important;
}

body.single-memberpressproduct .mp_wrapper .mp-form-row a {
  color: var(--reg-gold) !important;
  text-decoration: none !important;
}

body.single-memberpressproduct .mp_wrapper .mepr-we-respect-privacy {
  font-size: 11px !important;
  color: var(--reg-muted) !important;
  opacity: 0.55 !important;
  display: block !important;
  margin-top: 2px !important;
  text-decoration: none !important;
}


/* ----------------------------------------------------------
   SUBMIT BUTTON
   Confirmed: input.mepr-submit inside div.mp-form-submit
   ---------------------------------------------------------- */
body.single-memberpressproduct .mp-form-submit input[type="submit"],
body.single-memberpressproduct input.mepr-submit,
body.single-memberpressproduct .mp_wrapper input[type="submit"] {
  width: 100% !important;
  background: var(--reg-gold) !important;
  background-color: var(--reg-gold) !important;
  color: #0a0b0e !important;
  border: none !important;
  border-radius: var(--reg-radius) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 16px 24px !important;
  cursor: pointer !important;
  transition: background 0.18s ease, transform 0.12s ease !important;
  margin-top: 20px !important;
  -webkit-appearance: none !important;
  box-shadow: none !important;
}

body.single-memberpressproduct .mp-form-submit input[type="submit"]:hover,
body.single-memberpressproduct input.mepr-submit:hover {
  background: var(--reg-gold-hover) !important;
  background-color: var(--reg-gold-hover) !important;
  transform: translateY(-1px) !important;
}

body.single-memberpressproduct .mp-form-submit input[type="submit"]:active,
body.single-memberpressproduct input.mepr-submit:active {
  transform: translateY(0) !important;
}


/* ----------------------------------------------------------
   ERROR / VALIDATION MESSAGES
   ---------------------------------------------------------- */
body.single-memberpressproduct .mepr-form-error,
body.single-memberpressproduct .mp-form-row .mepr-form-input-invalid,
body.single-memberpressproduct label.mepr-form-input-invalid {
  color: var(--reg-error) !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  display: block !important;
  margin-top: -10px !important;
  margin-bottom: 12px !important;
}

body.single-memberpressproduct .mp_wrapper input.mepr-form-input-invalid {
  border-color: var(--reg-error) !important;
}


/* ----------------------------------------------------------
   DESKTOP — 901px+
   ---------------------------------------------------------- */
@media (min-width: 901px) {
  body.single-memberpressproduct article.memberpressproduct {
    margin: 20px auto 80px auto !important;
  }

  body.single-memberpressproduct .mp_wrapper {
    padding: 44px 52px 48px !important;
  }

  body.single-memberpressproduct .entry-title {
    font-size: 32px !important;
  }
}


/* ----------------------------------------------------------
   TABLET — 601px to 900px
   ---------------------------------------------------------- */
@media (min-width: 601px) and (max-width: 900px) {
  body.single-memberpressproduct article.memberpressproduct {
    margin: 40px auto !important;
    padding: 0 24px !important;
  }

  body.single-memberpressproduct .mp_wrapper {
    padding: 32px 32px 36px !important;
  }
}


/* ----------------------------------------------------------
   MOBILE — max 600px
   ---------------------------------------------------------- */
@media (max-width: 600px) {
  body.single-memberpressproduct article.memberpressproduct {
    margin: 16px auto !important;
    padding: 0 12px !important;
  }
  .post-825 page type-page status-publish ast-article-single .ast-separate-container .ast-article-single:not(.ast-related-post), .ast-separate-container .error-404, .ast-separate-container .no-results, .single.ast-separate-container.ast-author-meta, .ast-separate-container .related-posts-title-wrapper, .ast-separate-container .comments-count-wrapper, .ast-box-layout.ast-plain-container .site-content, .ast-padded-layout.ast-plain-container .site-content, .ast-separate-container .ast-archive-description
  {background-color: #121212 !important ;}

  /* Contain the card — prevent full-width bleed */
  body.single-memberpressproduct .mp_wrapper {
    padding: 24px 20px 28px !important;
    border-radius: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Title in logged-in state sits outside mp_wrapper */
  body.single-memberpressproduct .entry-title {
    font-size: 22px !important;
    padding: 0 !important;
  }

  /* Re-override Astra's mobile-specific input background rule
     (Astra uses --ast-global-color-5 inside its own @media block) */
  body.single-memberpressproduct #mepr_signup_form input[type="text"],
  body.single-memberpressproduct #mepr_signup_form input[type="email"],
  body.single-memberpressproduct #mepr_signup_form input[type="password"],
  body.single-memberpressproduct .mp_wrapper input[type="text"],
  body.single-memberpressproduct .mp_wrapper input[type="email"],
  body.single-memberpressproduct .mp_wrapper input[type="password"] {
    background: #111318 !important;
    background-color: #111318 !important;
    color: #f0ede8 !important;
    border-color: #2a2d3a !important;
    /* 16px prevents iOS zoom on focus */
    font-size: 16px !important;
    padding: 13px 12px !important;
  }

  body.single-memberpressproduct .mp-form-submit input[type="submit"],
  body.single-memberpressproduct input.mepr-submit {
    font-size: 15px !important;
    padding: 17px 24px !important;
  }

  body.single-memberpressproduct .mp-form-payment-methods-wrapper,
  body.single-memberpressproduct fieldset.mp-form-payment-methods-wrapper {
    padding: 14px !important;
  }
}

/* ----------------------------------------------------------
   FORM GROUPS — Account + Payment visual separation
   ---------------------------------------------------------- */

/* "Your Account" label above first field */
body.single-memberpressproduct .mp_wrapper .mp-form-row:first-of-type::before {
  content: "YOUR ACCOUNT";
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--reg-gold);
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--reg-card-border);
}

/* Divider + "PAYMENT" label before the payment fieldset */
body.single-memberpressproduct .mp-form-payment-methods-wrapper::before,
body.single-memberpressproduct fieldset.mp-form-payment-methods-wrapper::before {
  content: "PAYMENT";
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--reg-gold);
  margin-bottom: 12px;
}

body.single-memberpressproduct.ast-separate-container #primary,
body.single-memberpressproduct .ast-separate-container #primary {
  padding: 0 !important;
  margin: 0 !important;
}


body.single-memberpressproduct .ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single:not(.ast-related-post){
    background-color: #030407 !important;
    }
body.single-memberpressproduct .mp-form-row label, body.single-memberpressproduct .mp_wrapper label{
     text-transform: none!important;
      }
     
.post-825 page type-page status-publish ast-article-single .entry-header ast-header-without-markup{display:none;}