/**
 * MemberPress — align forms and account UI with light Prozess surfaces.
 */

.mp_wrapper {
  color: var(--text);
  max-width: 40rem;
  margin-inline: auto;
}

.mp_wrapper label,
.mp_wrapper .mepr-form-label {
  color: var(--text-heading);
  font-size: 0.88rem;
}

.mp_wrapper input[type="text"],
.mp_wrapper input[type="email"],
.mp_wrapper input[type="password"],
.mp_wrapper input[type="tel"],
.mp_wrapper input[type="url"],
.mp_wrapper select,
.mp_wrapper textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 0.55rem 0.75rem;
  border-radius: var(--radius);
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--text);
  font-family: var(--sans);
}

.mp_wrapper input:focus,
.mp_wrapper select:focus,
.mp_wrapper textarea:focus {
  border-color: var(--amber);
  outline: none;
  box-shadow: 0 0 0 1px var(--amber);
}

.mp_wrapper .mepr-submit,
.mp_wrapper input.mepr-submit,
.mp_wrapper .mepr-button,
.mp_wrapper button.mepr-btn,
.mp_wrapper a.mepr-btn {
  background: var(--amber) !important;
  color: var(--navy) !important;
  border: none !important;
  border-radius: var(--radius) !important;
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  padding: 0.65rem 1.35rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.82rem !important;
  cursor: pointer;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-amber);
}

.mp_wrapper .mepr-submit:hover,
.mp_wrapper .mepr-button:hover,
.mp_wrapper button.mepr-btn:hover,
.mp_wrapper a.mepr-btn:hover,
.mp_wrapper input.mepr-submit:hover {
  background: var(--amber2) !important;
  color: var(--navy) !important;
}

.mp_wrapper .mepr_error,
.mp_wrapper .mepr-validation-error {
  color: #b42318 !important;
  border-color: rgba(180, 35, 24, 0.35) !important;
}

/**
 * MemberPress prints placeholder text inside `.cc-error` for each field (`signup_row.php`).
 * `memberpress/css/signup.css` hides these until validation runs — but that file only loads when
 * MP enqueues signup styles (global styles ON, or product/account checkout context). Embedded
 * registration on pages like `/join/` often skips that, so messages appear "by default".
 * Mirror core MP: hide until `validate.js` toggles visibility (do not use display:!important).
 */
.mp_wrapper .cc-error {
  display: none;
  color: #b42318 !important;
}

.mp_wrapper .mepr_payment_method,
.mp_wrapper .mepr-payment-method {
  background: var(--surface-muted) !important;
  border: 1px solid var(--line) !important;
  color: var(--text);
}

.mp_wrapper table.mepr-account-table,
.mp_wrapper .mepr-account-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}

.mp_wrapper .mepr-account-table th,
.mp_wrapper .mepr-account-table td {
  border-bottom: 1px solid var(--line);
  padding: 0.65rem 0.35rem;
  color: var(--text);
}

.mp_wrapper .mepr-account-table th {
  color: var(--muted);
  font-weight: 500;
  text-align: left;
}

.mepr-white-popup,
.mepr-switch-pm-popup {
  background: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--line);
}

.mepr-white-popup .mepr-btn,
.mepr-switch-pm-popup .mepr-btn {
  background: var(--amber) !important;
  color: var(--navy) !important;
}

.mepr-price-menu.mepr-modern .mepr-price-box {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--text);
  box-shadow: var(--shadow-soft);
}

.mepr-price-menu.mepr-modern .mepr-price-box-title,
.mepr-price-menu.mepr-modern .mepr-price-box-price {
  color: var(--text-heading);
}

.mepr-price-menu.mepr-modern .mepr-price-box-button a {
  background: var(--amber) !important;
  color: var(--navy) !important;
  border-radius: var(--radius) !important;
}

.mepr-price-menu.mepr-modern .mepr-price-box-button a:hover {
  background: var(--amber2) !important;
  color: var(--navy) !important;
}

.mepr-price-menu .mepr-price-boxes .mepr-price-box-button a:hover {
  background: var(--amber2) !important;
  border-color: var(--amber2) !important;
  color: var(--navy) !important;
}

/**
 * ReadyLaunch login template — submit / primary actions hover.
 */
#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: var(--amber2) !important;
  border-color: var(--amber2) !important;
}

/**
 * ReadyLaunch shell — link hover matches brand gold (`tokens.css` --amber2).
 */
body.mepr-app-layout:not(.wp-admin) a:hover,
body.mepr-app-layout:not(.wp-admin) a:focus-visible,
body.mepr-guest-layout:not(.wp-admin) a:hover,
body.mepr-guest-layout:not(.wp-admin) a:focus-visible {
  color: var(--amber2);
}

/**
 * ReadyLaunch `theme.css` buttons only tweak borders on hover; reinforce fill.
 */
body.mepr-app-layout:not(.wp-admin) button:hover:not(.profile-menu__button):not(.btn-link):not(.mepr_modal__close):not(.mp-hide-pw):not(.mepr-pro-account-table__badge),
body.mepr-app-layout:not(.wp-admin) .mepr-button:hover:not(.btn-link):not(.mepr-pro-account-table__badge),
body.mepr-app-layout:not(.wp-admin) input[type="button"]:hover:not(.btn-link),
body.mepr-app-layout:not(.wp-admin) input[type="reset"]:hover:not(.btn-link),
body.mepr-app-layout:not(.wp-admin) input[type="submit"]:hover:not(.btn-link),
body.mepr-guest-layout:not(.wp-admin) button:hover:not(.btn-link):not(.mp-hide-pw),
body.mepr-guest-layout:not(.wp-admin) .mepr-button:hover:not(.btn-link),
body.mepr-guest-layout:not(.wp-admin) input[type="submit"]:hover:not(.btn-link) {
  background: var(--amber2) !important;
  border-color: var(--amber2) !important;
  color: var(--navy) !important;
}

/**
 * ReadyLaunch thank-you page — remove top rule on invoice block (`checkout.css` `.invoice-wrapper.thankyou`).
 */
.mepr-checkout-container .invoice-wrapper.thankyou {
  border-top: none;
}

/**
 * ReadyLaunch header (checkout / thank-you when logged in): `readylaunch/theme.css` sets the hamburger
 * to white for MemberPress’s default dark blue header. With a light header, strokes are invisible until
 * hover darkens the button. Override stroke color (SVG uses currentColor).
 */
body.mepr-app-layout .site-header .profile-menu__hamburger {
  color: var(--text-heading);
}

body.mepr-app-layout .site-header .profile-menu__arrow_down {
  color: var(--text-heading);
}

body.mepr-app-layout .site-header .profile-menu__button:hover {
  background: var(--amber2);
}

body.mepr-app-layout .site-header .profile-menu__button:hover .profile-menu__hamburger,
body.mepr-app-layout .site-header .profile-menu__button:hover .profile-menu__arrow_down {
  color: var(--white);
}
