.fx-mem-checkout {
  max-width: 420px;
  margin: 1.5rem auto;
  padding: 1.25rem;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
}
.fx-mem-toggle {
  display: flex;
  gap: .5rem;
  margin-bottom: 1rem;
}
.fx-mem-tab {
  flex: 1;
  padding: .7rem .5rem;
  border: 1px solid rgba(0,0,0,.15);
  background: #fff;
  border-radius: 999px;
  cursor: pointer;
  font-size: .9rem;
}
.fx-mem-tab.is-active {
  background: #0f766e;
  border-color: #0f766e;
  color: #fff;
}
.fx-mem-note {
  font-size: .9rem;
  opacity: .8;
  margin: 0 0 1rem;
}
.fx-mem-status {
  margin-top: 1rem;
  padding: .75rem;
  border-radius: 8px;
  background: #ecfdf5;
}
.fx-mem-status.is-error {
  background: #fef2f2;
}
.fx-mem-msg {
  padding: 1rem 0;
}
.fx-mem-locked {
  padding: 1.5rem;
  border: 1px dashed rgba(0,0,0,.2);
  border-radius: 12px;
  text-align: center;
}

.fx-mem-hub {
  max-width: 640px;
  margin: 0.5rem auto 2rem;
}
.fx-mem-hub__hello {
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}
.fx-mem-hub__lead {
  color: #475569;
  line-height: 1.55;
  margin: 0 0 1.1rem;
}
.fx-mem-hub__cta {
  display: inline-block;
  margin: 0 0 1.5rem;
}
.fx-mem-hub__track {
  margin: 0 0 1.15rem;
  padding: 0.95rem 1rem 1rem;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
}
.fx-mem-hub__track .fx-mem-hub__h {
  margin-bottom: 0.45rem;
}
.fx-mem-hub__h {
  font-size: 1.05rem;
  margin: 0 0 0.6rem;
}
.fx-mem-hub__list {
  margin: 0;
  padding-left: 1.2rem;
  line-height: 1.9;
}
.fx-mem-hub__badge {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.05rem 0.45rem;
  border-radius: 999px;
  background: #ccfbf1;
  color: #0f766e;
  font-size: 0.75rem;
  font-weight: 700;
}
.fx-mem-hub__empty {
  color: #64748b;
}
.fx-mem-hub__out {
  margin-top: 1.5rem;
  font-size: 0.9rem;
}

.fx-mem-login {
  max-width: 420px;
  margin: 0 auto;
  padding: 1.5rem 0 2.5rem;
}
.fx-mem-login__brand {
  margin: 0 0 0.35rem;
  color: #0f766e;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.fx-mem-login__title {
  margin: 0 0 0.4rem;
  font-size: 1.7rem;
}
.fx-mem-login__lead {
  color: #64748b;
  margin: 0 0 1.2rem;
  line-height: 1.5;
}
.fx-mem-login #loginform p,
.fx-mem-login .login-username,
.fx-mem-login .login-password,
.fx-mem-login .login-remember {
  margin: 0 0 0.85rem;
}
.fx-mem-login #loginform label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.3rem;
}
.fx-mem-login #loginform input[type="text"],
.fx-mem-login #loginform input[type="password"],
.fx-mem-login #loginform input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  padding: 0.7rem 0.8rem;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
}
.fx-mem-login #wp-submit,
.fx-mem-login input[type="submit"] {
  width: 100%;
  border: 0;
  border-radius: 999px;
  background: #0f766e;
  color: #fff;
  font-weight: 700;
  padding: 0.85rem 1rem;
  cursor: pointer;
}
.fx-mem-login-lost {
  text-align: center;
  margin-top: 1rem;
}

/* Member app chrome: login hub + logged-in lesson posts */
body.fx-mem-app-chrome .utopia-announcement-bar,
body.fx-mem-app-chrome .site-logo,
body.fx-mem-app-chrome .custom-logo-link,
body.fx-mem-app-chrome .site-header__cta,
body.fx-mem-app-chrome .utopia-header-cta-button,
body.fx-mem-app-chrome .utopia-header-image,
body.fx-mem-app-chrome .utopia-header-image img,
body.fx-mem-app-chrome .utopia-dark-toggle,
body.fx-mem-app-chrome .site-footer__widgets,
body.fx-mem-app-chrome .site-footer__cta-band,
body.fx-mem-app-chrome .utopia-share,
body.fx-mem-app-chrome .utopia-share-buttons,
body.fx-mem-app-chrome .utopia-sns-share,
body.fx-mem-app-chrome .sns-share,
body.fx-mem-app-chrome .share-buttons,
body.fx-mem-app-chrome [class*="share-button"],
body.fx-mem-app-chrome .site-footer__sns,
body.fx-mem-app-chrome .site-footer__sns-wrap {
  display: none !important;
}
body.fx-mem-app-chrome .utopia-primary-menu > li {
  display: none !important;
}
body.fx-mem-app-chrome .utopia-primary-menu > li.menu-item-fx-account,
body.fx-mem-app-chrome .utopia-primary-menu > li.menu-item-fx-logout,
body.fx-mem-app-chrome .utopia-primary-menu > li.lang-item {
  display: list-item !important;
}
body.fx-mem-app-chrome .site-header {
  border-bottom: 1px solid #e2e8f0;
  box-shadow: none;
}
body.fx-mem-app-chrome .utopia-header-media {
  min-height: 0 !important;
  height: auto !important;
  background: none !important;
  padding: 1.25rem 0 0 !important;
}
body.fx-mem-app-chrome .site-footer__bottom {
  padding-top: 0.75rem;
}

/* Login / hub only: no WP page title, no theme sidebar */
body.fx-mem-auth-page .utopia-header-media,
body.fx-mem-auth-page .site-main .entry-title,
body.fx-mem-auth-page h1.entry-title,
body.fx-mem-auth-page .sidebar,
body.fx-mem-auth-page .widget-area,
body.fx-mem-auth-page aside#secondary,
body.fx-mem-auth-page .fx-mem-hub__out {
  display: none !important;
}
body.fx-mem-auth-page .site-content,
body.fx-mem-auth-page .utopia-container.content,
body.fx-mem-auth-page .content-area {
  padding-top: 1.5rem;
}
