/*
 * NewtonMag /register/ — UI v6.1
 * --------------------------------------------------------------------------
 * Presentation-only, route-scoped skin for Restrict Content Pro.
 * Registration fields, field names, form actions, nonces, gateways, AJAX and
 * membership/payment operations are intentionally untouched.
 */

body.nm-register-page {
  --nmr-ink:#10243a;
  --nmr-ink-2:#183956;
  --nmr-text:#314c67;
  --nmr-muted:#71869b;
  --nmr-line:#d9e5ef;
  --nmr-line-strong:#bfd2e2;
  --nmr-surface:#ffffff;
  --nmr-soft:#f6f9fc;
  --nmr-soft-blue:#f1f7ff;
  --nmr-blue:#2765dc;
  --nmr-cyan:#13a7c7;
  --nmr-green:#44a60e;
  --nmr-green-dark:#338306;
  --nmr-gold:#efb64f;
  --nmr-orange:#f58220;
  --nmr-danger:#d84f65;
  --nmr-success:#168763;
  --nmr-shadow:0 24px 70px rgba(16,36,58,.09);
  --nmr-shadow-soft:0 12px 34px rgba(16,36,58,.065);
}

body.nm-register-page .page-content,
body.nm-register-page .page-content *,
body.nm-register-page .page-content *::before,
body.nm-register-page .page-content *::after { box-sizing:border-box; }

/* Scope is deliberately below .page-content; global header/footer remain intact. */
body.nm-register-page .page-content {
  position:relative;
  padding-top:clamp(22px,3vw,42px)!important;
  padding-bottom:clamp(64px,7vw,96px)!important;
}

body.nm-register-page .page-content::before {
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  right:50%;
  width:min(1180px,96vw);
  height:470px;
  transform:translateX(50%);
  pointer-events:none;
  background:
    radial-gradient(circle at 82% 8%,rgba(19,167,199,.11),transparent 34%),
    radial-gradient(circle at 15% 30%,rgba(68,166,14,.08),transparent 31%),
    radial-gradient(circle at 50% 8%,rgba(39,101,220,.06),transparent 28%);
  filter:blur(.1px);
}

body.nm-register-page .page-content > .single-title {
  width:100%;
  max-width:1180px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.nm-register-page .single-title > .single-post-thumbnail { display:none!important; }
body.nm-register-page .single-title > .post-content {
  width:100%;
  margin:0!important;
  padding:0!important;
  color:var(--nmr-text);
  direction:rtl;
}

/* --------------------------------------------------------------------------
 * Page intro: uses the existing page H1/H2; no content/SEO structure changed.
 * ----------------------------------------------------------------------- */
body.nm-register-page .post-content > h1:first-of-type {
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:1080px;
  min-height:112px;
  margin:0 auto!important;
  padding:47px clamp(22px,4vw,46px) 9px!important;
  overflow:hidden;
  border:1px solid rgba(105,160,205,.20)!important;
  border-bottom:0!important;
  border-radius:28px 28px 0 0!important;
  background:
    radial-gradient(circle at 84% 17%,rgba(78,219,236,.18),transparent 30%),
    radial-gradient(circle at 12% 100%,rgba(68,166,14,.18),transparent 31%),
    linear-gradient(126deg,#10243a 0%,#173b5c 62%,#0f5367 100%)!important;
  color:#fff!important;
  font-size:clamp(26px,3vw,39px)!important;
  font-weight:950!important;
  line-height:1.55!important;
  letter-spacing:-.45px;
  text-align:right!important;
  box-shadow:0 20px 50px rgba(16,36,58,.14)!important;
}

body.nm-register-page .post-content > h1:first-of-type::before {
  content:"NEWTONMAG  /  MEMBER ACCESS";
  position:absolute;
  top:20px;
  right:clamp(22px,4vw,46px);
  color:#99e8f1;
  font-family:Arial,sans-serif;
  font-size:10.5px;
  font-weight:800;
  line-height:1;
  letter-spacing:1.8px;
  direction:ltr;
}

body.nm-register-page .post-content > h1:first-of-type::after {
  content:"N";
  position:absolute;
  left:clamp(20px,4vw,44px);
  top:50%;
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  transform:translateY(-38%) rotate(-3deg);
  border:1px solid rgba(255,255,255,.25);
  border-radius:22px 22px 22px 8px;
  background:
    radial-gradient(circle at 76% 20%,var(--nmr-gold) 0 3px,transparent 4px),
    radial-gradient(circle at 22% 78%,#5ee2ed 0 4px,transparent 5px),
    rgba(255,255,255,.09);
  color:#fff;
  font:900 italic 29px/1 Arial,sans-serif;
  box-shadow:inset 0 0 0 6px rgba(255,255,255,.035),0 14px 30px rgba(0,0,0,.12);
}

body.nm-register-page .post-content > h2:first-of-type {
  width:100%;
  max-width:1080px;
  margin:0 auto 26px!important;
  padding:2px clamp(22px,4vw,46px) 28px!important;
  border:1px solid rgba(105,160,205,.20)!important;
  border-top:0!important;
  border-radius:0 0 28px 28px!important;
  background:linear-gradient(126deg,#10243a 0%,#173b5c 62%,#0f5367 100%)!important;
  color:#d7e7f4!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:2!important;
  text-align:right!important;
  box-shadow:0 20px 50px rgba(16,36,58,.14)!important;
}

/* --------------------------------------------------------------------------
 * Registration shell. Supports both current and older RCP markup variants.
 * ----------------------------------------------------------------------- */
body.nm-register-page #rcp_registration_form,
body.nm-register-page .post-content form.rcp_form {
  position:relative!important;
  width:100%!important;
  max-width:1080px!important;
  margin:0 auto!important;
  padding:clamp(20px,3vw,34px)!important;
  overflow:visible!important;
  border:1px solid var(--nmr-line)!important;
  border-radius:28px!important;
  background:rgba(255,255,255,.98)!important;
  color:var(--nmr-text)!important;
  box-shadow:var(--nmr-shadow)!important;
  direction:rtl!important;
}

body.nm-register-page #rcp_registration_form::before,
body.nm-register-page .post-content form.rcp_form::before {
  content:"";
  position:absolute;
  top:-1px;
  right:32px;
  left:32px;
  height:3px;
  border-radius:0 0 999px 999px;
  background:linear-gradient(90deg,var(--nmr-green),var(--nmr-cyan) 47%,var(--nmr-blue));
  opacity:.9;
}

/* Kill the old bright green title bar while preserving the original heading. */
body.nm-register-page #rcp_registration_form > h2:first-of-type,
body.nm-register-page #rcp_registration_form > h3:first-of-type,
body.nm-register-page #rcp_registration_form > .rcp_header:first-of-type,
body.nm-register-page .post-content form.rcp_form > h2:first-of-type,
body.nm-register-page .post-content form.rcp_form > h3:first-of-type,
body.nm-register-page .post-content form.rcp_form > .rcp_header:first-of-type {
  position:relative!important;
  width:100%!important;
  min-height:74px!important;
  margin:0 0 22px!important;
  padding:17px 68px 17px 18px!important;
  display:flex!important;
  align-items:center!important;
  border:1px solid #dce7f0!important;
  border-radius:19px!important;
  background:linear-gradient(110deg,#fbfdff 0%,#f2f8ff 100%)!important;
  color:var(--nmr-ink)!important;
  font-size:20px!important;
  font-weight:950!important;
  line-height:1.65!important;
  text-align:right!important;
  box-shadow:none!important;
}

body.nm-register-page #rcp_registration_form > h2:first-of-type::before,
body.nm-register-page #rcp_registration_form > h3:first-of-type::before,
body.nm-register-page #rcp_registration_form > .rcp_header:first-of-type::before,
body.nm-register-page .post-content form.rcp_form > h2:first-of-type::before,
body.nm-register-page .post-content form.rcp_form > h3:first-of-type::before,
body.nm-register-page .post-content form.rcp_form > .rcp_header:first-of-type::before {
  content:"✦";
  position:absolute;
  right:18px;
  top:50%;
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border-radius:12px;
  background:linear-gradient(145deg,var(--nmr-ink),#19576a);
  color:#83e7ef;
  font:900 16px/1 Arial,sans-serif;
  box-shadow:0 9px 20px rgba(16,36,58,.13);
}

body.nm-register-page #rcp_registration_form fieldset,
body.nm-register-page .post-content form.rcp_form fieldset {
  min-width:0!important;
  margin:0 0 22px!important;
  padding:0!important;
  border:0!important;
}

body.nm-register-page #rcp_registration_form legend,
body.nm-register-page .post-content form.rcp_form legend {
  max-width:100%!important;
  margin:0 0 15px!important;
  padding:0 0 10px!important;
  border:0!important;
  border-bottom:1px solid #e8eef4!important;
  background:transparent!important;
  color:var(--nmr-ink)!important;
  font-size:17px!important;
  font-weight:900!important;
  line-height:1.8!important;
}

/* Existing account / notices ------------------------------------------------
 * Light, high-contrast member-access card. This deliberately avoids relying
 * on a dark background for legibility, so optimizer/theme background rewrites
 * cannot turn the copy into white-on-white text.
 */
body.nm-register-page .nm-register-account-notice {
  position:relative!important;
  isolation:isolate!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(18px,2.4vw,30px)!important;
  width:100%!important;
  margin:0 0 27px!important;
  padding:22px 22px!important;
  overflow:hidden!important;
  border:1px solid #d8e5f1!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(20,162,200,.12),transparent 31%),
    radial-gradient(circle at 9% 120%,rgba(36,91,220,.08),transparent 30%),
    linear-gradient(118deg,#ffffff 0%,#f8fbff 60%,#f2f9fc 100%)!important;
  color:var(--nmr-text)!important;
  box-shadow:0 14px 34px rgba(20,38,61,.065)!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

body.nm-register-page .nm-register-account-notice::before {
  content:"";
  position:absolute;
  top:15px;
  right:0;
  bottom:15px;
  width:4px;
  border-radius:999px 0 0 999px;
  background:linear-gradient(180deg,var(--nmr-blue) 0%,var(--nmr-cyan) 68%,var(--nmr-orange) 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.42);
  pointer-events:none;
}

body.nm-register-page .nm-register-account-notice::after {
  content:"";
  position:absolute;
  z-index:-1;
  width:180px;
  height:180px;
  left:-80px;
  bottom:-120px;
  border:1px solid rgba(39,101,220,.10);
  border-radius:50%;
  box-shadow:0 0 0 26px rgba(19,167,199,.035),0 0 0 52px rgba(39,101,220,.025);
  pointer-events:none;
}

body.nm-register-page .nm-register-account-copy {
  position:relative!important;
  display:flex!important;
  min-width:0!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
  padding-right:64px!important;
  opacity:1!important;
  filter:none!important;
}

body.nm-register-page .nm-register-account-copy::before {
  content:"N";
  position:absolute;
  right:0;
  top:50%;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  transform:translateY(-50%) rotate(-2deg);
  border:1px solid rgba(36,91,220,.14);
  border-radius:15px 15px 15px 6px;
  background:
    radial-gradient(circle at 75% 23%,var(--nmr-gold) 0 2.5px,transparent 3.5px),
    linear-gradient(145deg,#edf5ff 0%,#f7fbff 100%);
  color:#1d58c6;
  font:900 italic 20px/1 Arial,sans-serif;
  letter-spacing:-1px;
  box-shadow:0 9px 22px rgba(36,91,220,.10),inset 0 0 0 5px rgba(255,255,255,.64);
}

body.nm-register-page .nm-register-account-kicker {
  display:inline-flex!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 3px!important;
  color:#168ca7!important;
  font-family:Arial,sans-serif!important;
  font-size:9.8px!important;
  font-weight:850!important;
  line-height:1.5!important;
  letter-spacing:1.35px!important;
  direction:ltr!important;
  opacity:1!important;
  text-shadow:none!important;
}

body.nm-register-page .nm-register-account-copy > strong {
  color:var(--nmr-ink)!important;
  font-size:17px!important;
  font-weight:950!important;
  line-height:1.85!important;
  opacity:1!important;
  text-shadow:none!important;
}

body.nm-register-page .nm-register-account-text {
  color:#627b93!important;
  font-size:12.9px!important;
  font-weight:550!important;
  line-height:2!important;
  opacity:1!important;
  text-shadow:none!important;
}

body.nm-register-page .nm-register-login-trigger {
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:158px!important;
  min-height:48px!important;
  padding:9px 14px!important;
  border:1px solid #cfdff0!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%)!important;
  color:#245bdc!important;
  font-size:13px!important;
  font-weight:900!important;
  line-height:1.4!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:0 8px 20px rgba(36,91,220,.09)!important;
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease!important;
}
body.nm-register-page .nm-register-login-trigger:hover,
body.nm-register-page .nm-register-login-trigger:focus-visible {
  transform:translateY(-2px);
  border-color:#9fc0ef!important;
  background:#fff!important;
  box-shadow:0 12px 26px rgba(36,91,220,.15)!important;
  outline:none!important;
}
body.nm-register-page .nm-register-login-arrow {
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:linear-gradient(135deg,#e9f2ff,#e8fbfd);
  color:var(--nmr-blue);
  font:900 14px/1 Arial,sans-serif;
  box-shadow:inset 0 0 0 1px rgba(36,91,220,.08);
}

/* Safe no-JS fallback: only styles the paragraph that contains an obvious login link. */
body.nm-register-page #rcp_registration_form p:has(a[href*="login"]),
body.nm-register-page #rcp_registration_form p:has(a[href*="wp-login"]) {
  margin:0 0 22px!important;
  padding:15px 17px!important;
  border:1px solid #d8e4ef!important;
  border-radius:16px!important;
  background:#f7faff!important;
  color:#536b83!important;
  line-height:2!important;
}
body.nm-register-page #rcp_registration_form p:has(a[href*="login"]) a,
body.nm-register-page #rcp_registration_form p:has(a[href*="wp-login"]) a {
  display:inline-flex!important;
  margin-inline-start:7px!important;
  padding:4px 11px!important;
  border-radius:9px!important;
  background:#eaf3ff!important;
  color:#245fc5!important;
  font-weight:900!important;
  text-decoration:none!important;
}

body.nm-register-page #rcp_registration_form .rcp_message,
body.nm-register-page #rcp_registration_form .rcp_notice,
body.nm-register-page #rcp_registration_form .rcp_warning,
body.nm-register-page #rcp_registration_form .rcp_error,
body.nm-register-page .rcp_errors,
body.nm-register-page .rcp_logged_in {
  margin:0 0 20px!important;
  padding:14px 17px!important;
  border:1px solid #d5e1ec!important;
  border-right:4px solid var(--nmr-blue)!important;
  border-radius:15px!important;
  background:#f8fbff!important;
  color:#526a83!important;
  font-size:13.5px!important;
  line-height:2!important;
  box-shadow:none!important;
}
body.nm-register-page #rcp_registration_form .rcp_error,
body.nm-register-page .rcp_errors { border-right-color:var(--nmr-danger)!important; background:#fff7f9!important; color:#96364a!important; }
body.nm-register-page #rcp_registration_form .rcp_success { border-right-color:var(--nmr-success)!important; background:#f4fbf8!important; color:#116d52!important; }

/* Identity fields ---------------------------------------------------------- */
body.nm-register-page #rcp_registration_form .rcp_user_fieldset,
body.nm-register-page .post-content form.rcp_form .rcp_user_fieldset {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:17px 20px!important;
  margin:0 0 23px!important;
  padding:0!important;
  border:0!important;
}

body.nm-register-page #rcp_registration_form .rcp_user_fieldset > p,
body.nm-register-page #rcp_registration_form .rcp_form_field,
body.nm-register-page .post-content form.rcp_form .rcp_form_field {
  min-width:0!important;
  margin:0!important;
}

body.nm-register-page #rcp_registration_form > p,
body.nm-register-page .post-content form.rcp_form > p { margin:0 0 16px!important; }

body.nm-register-page #rcp_registration_form label,
body.nm-register-page #rcp_registration_form .rcp_label,
body.nm-register-page .post-content form.rcp_form label {
  display:block!important;
  margin:0 0 7px!important;
  color:#334f69!important;
  font-size:13.5px!important;
  font-weight:850!important;
  line-height:1.8!important;
}
body.nm-register-page #rcp_registration_form .required,
body.nm-register-page #rcp_registration_form .rcp_required { color:var(--nmr-danger)!important; }

body.nm-register-page #rcp_registration_form input[type="text"],
body.nm-register-page #rcp_registration_form input[type="email"],
body.nm-register-page #rcp_registration_form input[type="url"],
body.nm-register-page #rcp_registration_form input[type="tel"],
body.nm-register-page #rcp_registration_form input[type="number"],
body.nm-register-page #rcp_registration_form input[type="password"],
body.nm-register-page #rcp_registration_form select,
body.nm-register-page #rcp_registration_form textarea,
body.nm-register-page .post-content form.rcp_form input[type="text"],
body.nm-register-page .post-content form.rcp_form input[type="email"],
body.nm-register-page .post-content form.rcp_form input[type="url"],
body.nm-register-page .post-content form.rcp_form input[type="tel"],
body.nm-register-page .post-content form.rcp_form input[type="number"],
body.nm-register-page .post-content form.rcp_form input[type="password"],
body.nm-register-page .post-content form.rcp_form select,
body.nm-register-page .post-content form.rcp_form textarea {
  width:100%!important;
  max-width:100%!important;
  min-height:55px!important;
  margin:0!important;
  padding:12px 15px!important;
  border:1.5px solid var(--nmr-line-strong)!important;
  border-radius:14px!important;
  background:#fff!important;
  color:var(--nmr-ink)!important;
  font:inherit!important;
  font-size:14px!important;
  font-weight:650!important;
  line-height:1.7!important;
  outline:0!important;
  box-shadow:0 3px 10px rgba(16,36,58,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body.nm-register-page #rcp_registration_form textarea,
body.nm-register-page .post-content form.rcp_form textarea { min-height:120px!important; resize:vertical; }
body.nm-register-page #rcp_registration_form input::placeholder,
body.nm-register-page #rcp_registration_form textarea::placeholder { color:#9aacbd!important; opacity:1!important; }
body.nm-register-page #rcp_registration_form input:focus,
body.nm-register-page #rcp_registration_form select:focus,
body.nm-register-page #rcp_registration_form textarea:focus,
body.nm-register-page .post-content form.rcp_form input:focus,
body.nm-register-page .post-content form.rcp_form select:focus,
body.nm-register-page .post-content form.rcp_form textarea:focus {
  border-color:#63a758!important;
  box-shadow:0 0 0 4px rgba(68,166,14,.09),0 10px 22px rgba(16,36,58,.05)!important;
  transform:translateY(-1px)!important;
}
body.nm-register-page #rcp_registration_form input:-webkit-autofill,
body.nm-register-page #rcp_registration_form input:-webkit-autofill:hover,
body.nm-register-page #rcp_registration_form input:-webkit-autofill:focus {
  -webkit-text-fill-color:var(--nmr-ink)!important;
  -webkit-box-shadow:0 0 0 1000px #fff inset!important;
  caret-color:var(--nmr-ink)!important;
}

/* Membership plan --------------------------------------------------------- */
body.nm-register-page #rcp_subscription_levels,
body.nm-register-page ul.rcp_subscription_levels,
body.nm-register-page .rcp_subscription_levels {
  display:grid!important;
  gap:13px!important;
  margin:20px 0 24px!important;
  padding:0!important;
  list-style:none!important;
}
body.nm-register-page #rcp_subscription_levels > li,
body.nm-register-page ul.rcp_subscription_levels > li,
body.nm-register-page .rcp_subscription_levels > li,
body.nm-register-page .rcp_subscription_level {
  position:relative!important;
  margin:0!important;
  padding:20px 20px 20px 22px!important;
  overflow:hidden!important;
  border:1px solid #d0deea!important;
  border-radius:18px!important;
  background:linear-gradient(115deg,#fff 0%,#f8fbfe 100%)!important;
  color:var(--nmr-text)!important;
  box-shadow:0 9px 25px rgba(16,36,58,.045)!important;
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body.nm-register-page #rcp_subscription_levels > li::before,
body.nm-register-page ul.rcp_subscription_levels > li::before,
body.nm-register-page .rcp_subscription_levels > li::before,
body.nm-register-page .rcp_subscription_level::before {
  content:"";
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:4px;
  background:linear-gradient(180deg,var(--nmr-green),var(--nmr-cyan));
}
body.nm-register-page #rcp_subscription_levels > li:has(input:checked),
body.nm-register-page .rcp_subscription_levels > li:has(input:checked),
body.nm-register-page .rcp_subscription_level:has(input:checked) {
  border-color:#9bc992!important;
  background:linear-gradient(110deg,#fff 0%,#f5fbf1 100%)!important;
  box-shadow:0 12px 30px rgba(68,166,14,.09)!important;
}
body.nm-register-page #rcp_subscription_levels input[type="radio"],
body.nm-register-page .rcp_subscription_levels input[type="radio"],
body.nm-register-page .rcp_subscription_level input[type="radio"] {
  width:18px!important;
  height:18px!important;
  margin-inline-end:9px!important;
  accent-color:var(--nmr-green)!important;
  vertical-align:middle!important;
}
body.nm-register-page #rcp_subscription_levels label,
body.nm-register-page .rcp_subscription_levels label,
body.nm-register-page .rcp_subscription_level label {
  display:inline!important;
  margin:0!important;
  color:var(--nmr-ink)!important;
  font-size:15.5px!important;
  font-weight:950!important;
  line-height:1.9!important;
}
body.nm-register-page .rcp_level_description,
body.nm-register-page .rcp_subscription_level .description {
  display:block!important;
  margin:7px 0 0!important;
  color:#6d8298!important;
  font-size:12.8px!important;
  line-height:2!important;
}

/* Totals / payment details ------------------------------------------------ */
body.nm-register-page #rcp_registration_form h3:not(:first-of-type),
body.nm-register-page #rcp_registration_form h4,
body.nm-register-page .rcp_registration_total_details h3,
body.nm-register-page .rcp_registration_total_details h4 {
  margin:23px 0 11px!important;
  color:var(--nmr-ink)!important;
  font-size:16.5px!important;
  font-weight:950!important;
  line-height:1.8!important;
}
body.nm-register-page .rcp_registration_total_details,
body.nm-register-page #rcp_registration_form table,
body.nm-register-page .rcp_table {
  width:100%!important;
  margin:12px 0 21px!important;
  overflow:hidden!important;
  border:1px solid #d8e3ed!important;
  border-radius:16px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.nm-register-page #rcp_registration_form table th,
body.nm-register-page #rcp_registration_form table td,
body.nm-register-page .rcp_table th,
body.nm-register-page .rcp_table td {
  padding:13px 15px!important;
  border:0!important;
  border-bottom:1px solid #e8eef4!important;
  background:#fff!important;
  color:#536d86!important;
  font-size:13.2px!important;
  line-height:1.9!important;
  text-align:right!important;
}
body.nm-register-page #rcp_registration_form table th,
body.nm-register-page .rcp_table th { color:var(--nmr-ink)!important; font-weight:850!important; }
body.nm-register-page #rcp_registration_form table tr:last-child th,
body.nm-register-page #rcp_registration_form table tr:last-child td,
body.nm-register-page .rcp_table tr:last-child th,
body.nm-register-page .rcp_table tr:last-child td { border-bottom:0!important; }

body.nm-register-page #rcp_discount_code_wrap,
body.nm-register-page #rcp_credit_card_fields,
body.nm-register-page .rcp_gateway_fields,
body.nm-register-page .rcp_payment_gateways,
body.nm-register-page .rcp_card_form {
  margin:17px 0!important;
  padding:17px!important;
  border:1px solid #d9e4ee!important;
  border-radius:16px!important;
  background:#f8fbfd!important;
}
body.nm-register-page #rcp_registration_form input[type="checkbox"] {
  width:18px!important;
  height:18px!important;
  margin-inline-end:7px!important;
  accent-color:var(--nmr-green)!important;
  vertical-align:middle!important;
}

/* Primary action ----------------------------------------------------------
 * Intentionally mirrors NewtonMag checkout's #place_order treatment so the
 * purchase and membership flows share one primary-action language.
 */
body.nm-register-page #rcp_registration_form input[type="submit"],
body.nm-register-page #rcp_registration_form button[type="submit"],
body.nm-register-page #rcp_registration_form .rcp_button,
body.nm-register-page #rcp_registration_form .rcp-submit,
body.nm-register-page .post-content form.rcp_form input[type="submit"],
body.nm-register-page .post-content form.rcp_form button[type="submit"] {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:53px!important;
  margin:21px 0 0!important;
  padding:10px 18px!important;
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(120deg,#285edb,#2678df 56%,#17a5c6)!important;
  color:#fff!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:900!important;
  line-height:1.4!important;
  text-shadow:none!important;
  box-shadow:0 10px 24px rgba(38,103,223,.18)!important;
  cursor:pointer!important;
  opacity:1!important;
  filter:none!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
body.nm-register-page #rcp_registration_form input[type="submit"]:hover,
body.nm-register-page #rcp_registration_form button[type="submit"]:hover,
body.nm-register-page #rcp_registration_form .rcp_button:hover,
body.nm-register-page #rcp_registration_form .rcp-submit:hover {
  transform:translateY(-2px)!important;
  box-shadow:0 14px 30px rgba(38,103,223,.24)!important;
  filter:saturate(1.05)!important;
}
body.nm-register-page #rcp_registration_form input[type="submit"]:focus-visible,
body.nm-register-page #rcp_registration_form button[type="submit"]:focus-visible {
  outline:3px solid rgba(38,103,223,.20)!important;
  outline-offset:3px!important;
}
body.nm-register-page #rcp_registration_form input[type="submit"]:disabled,
body.nm-register-page #rcp_registration_form button[type="submit"]:disabled {
  transform:none!important;
  filter:saturate(.65)!important;
  opacity:.62!important;
  cursor:not-allowed!important;
  box-shadow:none!important;
}

body.nm-register-page #rcp_registration_form small,
body.nm-register-page #rcp_registration_form .description,
body.nm-register-page #rcp_registration_form .rcp_help,
body.nm-register-page #rcp_registration_form .rcp_description {
  display:block;
  margin-top:5px!important;
  color:#7b8fa2!important;
  font-size:12px!important;
  line-height:1.9!important;
}

/* Register page: keep the floating AI launcher out of this transaction flow. */
body.nm-register-page .fabWidget,
body.nm-register-page .fabOverlay,
body.nm-register-page #parsaChatBtn,
body.nm-register-page #parsaChatBox,
body.nm-register-page #parsaMessages,
body.nm-register-page [id^="parsaChat"] { display:none!important; visibility:hidden!important; pointer-events:none!important; }

/* Theme login popup: route-scoped stacking; authentication remains unchanged. */
body.nm-register-page.nm-login-popup-open #login_popup { z-index:1000002!important; }

/* Dark mode --------------------------------------------------------------- */
body.dark.nm-register-page .post-content > h1:first-of-type,
body.dark.nm-register-page .post-content > h2:first-of-type { color:#fff!important; }
body.dark.nm-register-page #rcp_registration_form,
body.dark.nm-register-page .post-content form.rcp_form {
  background:#12273d!important;
  border-color:#28435e!important;
}
body.dark.nm-register-page #rcp_registration_form > h2:first-of-type,
body.dark.nm-register-page #rcp_registration_form > h3:first-of-type,
body.dark.nm-register-page #rcp_registration_form > .rcp_header:first-of-type,
body.dark.nm-register-page .post-content form.rcp_form > h2:first-of-type,
body.dark.nm-register-page .post-content form.rcp_form > h3:first-of-type {
  background:#173049!important;
  border-color:#2d4964!important;
  color:#f1f6fa!important;
}
body.dark.nm-register-page .nm-register-account-notice {
  border-color:#2d4964!important;
  background:
    radial-gradient(circle at 92% 0%,rgba(20,162,200,.11),transparent 31%),
    linear-gradient(118deg,#162e47 0%,#132940 100%)!important;
  color:#dce7f1!important;
}
body.dark.nm-register-page .nm-register-account-copy > strong { color:#f2f7fb!important; }
body.dark.nm-register-page .nm-register-account-text { color:#b8c8d7!important; }
body.dark.nm-register-page .nm-register-account-kicker { color:#62d6e4!important; }
body.dark.nm-register-page .nm-register-account-copy::before {
  border-color:#355773;
  background:linear-gradient(145deg,#173650,#10273d);
  color:#79dce7;
  box-shadow:0 9px 22px rgba(0,0,0,.18),inset 0 0 0 5px rgba(255,255,255,.025);
}
body.dark.nm-register-page .nm-register-login-trigger {
  border-color:#3b5d79!important;
  background:linear-gradient(180deg,#193853,#153149)!important;
  color:#dfeeff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.14)!important;
}
body.dark.nm-register-page .nm-register-login-arrow {
  background:#204560;
  color:#7de0e9;
}
body.dark.nm-register-page #rcp_registration_form label,
body.dark.nm-register-page #rcp_registration_form legend,
body.dark.nm-register-page #rcp_registration_form h3,
body.dark.nm-register-page #rcp_registration_form h4 { color:#e6eef5!important; }
body.dark.nm-register-page #rcp_registration_form input[type="text"],
body.dark.nm-register-page #rcp_registration_form input[type="email"],
body.dark.nm-register-page #rcp_registration_form input[type="url"],
body.dark.nm-register-page #rcp_registration_form input[type="tel"],
body.dark.nm-register-page #rcp_registration_form input[type="number"],
body.dark.nm-register-page #rcp_registration_form input[type="password"],
body.dark.nm-register-page #rcp_registration_form select,
body.dark.nm-register-page #rcp_registration_form textarea {
  background:#0f2235!important;
  border-color:#34506b!important;
  color:#eef4f8!important;
}
body.dark.nm-register-page #rcp_subscription_levels > li,
body.dark.nm-register-page .rcp_subscription_levels > li,
body.dark.nm-register-page .rcp_subscription_level,
body.dark.nm-register-page .rcp_registration_total_details,
body.dark.nm-register-page #rcp_registration_form table,
body.dark.nm-register-page #rcp_registration_form table th,
body.dark.nm-register-page #rcp_registration_form table td {
  background:#152c43!important;
  border-color:#304b65!important;
  color:#d5e0ea!important;
}
body.dark.nm-register-page #rcp_subscription_levels label,
body.dark.nm-register-page .rcp_subscription_levels label { color:#f0f5f8!important; }

/* Responsive -------------------------------------------------------------- */
@media (max-width:900px) {
  body.nm-register-page .post-content > h1:first-of-type { padding-left:105px!important; }
  body.nm-register-page #rcp_registration_form,
  body.nm-register-page .post-content form.rcp_form { border-radius:23px!important; }
}

@media (max-width:760px) {
  body.nm-register-page .page-content { padding-top:18px!important; padding-bottom:58px!important; }
  body.nm-register-page .post-content > h1:first-of-type {
    min-height:0;
    padding:44px 19px 8px!important;
    border-radius:22px 22px 0 0!important;
    font-size:25px!important;
  }
  body.nm-register-page .post-content > h1:first-of-type::before { top:18px; right:19px; font-size:9px; letter-spacing:1.15px; }
  body.nm-register-page .post-content > h1:first-of-type::after { display:none; }
  body.nm-register-page .post-content > h2:first-of-type {
    margin-bottom:18px!important;
    padding:2px 19px 21px!important;
    border-radius:0 0 22px 22px!important;
    font-size:13px!important;
  }
  body.nm-register-page #rcp_registration_form,
  body.nm-register-page .post-content form.rcp_form {
    padding:18px 14px 22px!important;
    border-radius:20px!important;
  }
  body.nm-register-page #rcp_registration_form::before,
  body.nm-register-page .post-content form.rcp_form::before { right:20px; left:20px; }
  body.nm-register-page #rcp_registration_form > h2:first-of-type,
  body.nm-register-page #rcp_registration_form > h3:first-of-type,
  body.nm-register-page #rcp_registration_form > .rcp_header:first-of-type,
  body.nm-register-page .post-content form.rcp_form > h2:first-of-type,
  body.nm-register-page .post-content form.rcp_form > h3:first-of-type {
    min-height:66px!important;
    padding:14px 59px 14px 13px!important;
    font-size:18px!important;
  }
  body.nm-register-page #rcp_registration_form > h2:first-of-type::before,
  body.nm-register-page #rcp_registration_form > h3:first-of-type::before,
  body.nm-register-page #rcp_registration_form > .rcp_header:first-of-type::before,
  body.nm-register-page .post-content form.rcp_form > h2:first-of-type::before,
  body.nm-register-page .post-content form.rcp_form > h3:first-of-type::before { right:14px; width:34px; height:34px; }
  body.nm-register-page .nm-register-account-notice {
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:17px!important;
  }
  body.nm-register-page .nm-register-account-copy { padding-right:58px!important; }
  body.nm-register-page .nm-register-login-trigger { width:100%!important; min-width:0!important; }
  body.nm-register-page #rcp_registration_form .rcp_user_fieldset,
  body.nm-register-page .post-content form.rcp_form .rcp_user_fieldset { grid-template-columns:1fr!important; gap:14px!important; }
  body.nm-register-page #rcp_subscription_levels > li,
  body.nm-register-page .rcp_subscription_levels > li,
  body.nm-register-page .rcp_subscription_level { padding:17px 16px 17px 18px!important; }
  body.nm-register-page #rcp_registration_form table th,
  body.nm-register-page #rcp_registration_form table td { padding:12px 11px!important; font-size:12.5px!important; }
}

@media (max-width:420px) {
  body.nm-register-page .post-content > h1:first-of-type { font-size:22px!important; }
  body.nm-register-page #rcp_registration_form,
  body.nm-register-page .post-content form.rcp_form { padding-inline:11px!important; }
}

@media (prefers-reduced-motion:reduce) {
  body.nm-register-page #rcp_registration_form input,
  body.nm-register-page #rcp_registration_form select,
  body.nm-register-page #rcp_registration_form textarea,
  body.nm-register-page .nm-register-login-trigger { transition:none!important; }
}

/* ==========================================================================
 * NewtonMag Register v6.2 — identity, password strength and popup hardening
 * ======================================================================= */
body.nm-register-page #rcp_registration_form .nm-rcp-mobile-field,
body.nm-register-page .post-content form.rcp_form .nm-rcp-mobile-field {
  grid-column:1 / -1!important;
  position:relative!important;
  padding:15px 16px 14px!important;
  border:1px solid #dce7f1!important;
  border-radius:17px!important;
  background:linear-gradient(118deg,#fbfdff 0%,#f6fbff 100%)!important;
}

body.nm-register-page #rcp_registration_form .nm-rcp-mobile-field::before,
body.nm-register-page .post-content form.rcp_form .nm-rcp-mobile-field::before {
  content:"";
  position:absolute;
  top:15px;
  right:0;
  bottom:15px;
  width:3px;
  border-radius:999px 0 0 999px;
  background:linear-gradient(180deg,var(--nmr-blue),var(--nmr-cyan));
}

body.nm-register-page #rcp_registration_form .nm-field-help,
body.nm-register-page .post-content form.rcp_form .nm-field-help {
  display:block!important;
  margin:7px 2px 0!important;
  color:#7890a6!important;
  font-size:11.5px!important;
  font-weight:600!important;
  line-height:1.9!important;
}

body.nm-register-page #rcp_registration_form #nm_rcp_mobile {
  direction:ltr!important;
  text-align:left!important;
  letter-spacing:.35px!important;
  font-family:Arial,sans-serif!important;
  font-weight:750!important;
}

body.nm-register-page #rcp_registration_form #nm_rcp_mobile[aria-invalid="true"] {
  border-color:#e5909d!important;
  box-shadow:0 0 0 4px rgba(194,67,87,.075)!important;
}

body.nm-register-page #rcp_registration_form .nm-password-strength {
  display:grid!important;
  gap:7px!important;
  margin:9px 2px 0!important;
  padding:10px 12px!important;
  border:1px solid #e0e8f0!important;
  border-radius:12px!important;
  background:#f8fbfe!important;
}

body.nm-register-page #rcp_registration_form .nm-password-strength-head {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  color:#667f96!important;
  font-size:11px!important;
  font-weight:750!important;
  line-height:1.5!important;
}

body.nm-register-page #rcp_registration_form .nm-password-strength-head strong {
  color:#65798e!important;
  font-size:11px!important;
  font-weight:950!important;
}

body.nm-register-page #rcp_registration_form .nm-password-strength-track {
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:6px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:#e4ebf2!important;
}

body.nm-register-page #rcp_registration_form .nm-password-strength-track > i {
  position:absolute!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  width:0!important;
  border-radius:inherit!important;
  background:#9baaba!important;
  transition:width .18s ease,background .18s ease!important;
}

body.nm-register-page #rcp_registration_form .nm-password-strength > small {
  display:block!important;
  color:#91a2b1!important;
  font-size:10.5px!important;
  font-weight:550!important;
  line-height:1.7!important;
}

body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="1"] .nm-password-strength-track > i { width:25%!important; background:#c84c5f!important; }
body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="1"] .nm-password-strength-head strong { color:#b74154!important; }
body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="2"] .nm-password-strength-track > i { width:50%!important; background:#dc9a34!important; }
body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="2"] .nm-password-strength-head strong { color:#a87320!important; }
body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="3"] .nm-password-strength-track > i { width:75%!important; background:#48a363!important; }
body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="3"] .nm-password-strength-head strong { color:#2f8450!important; }
body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="4"] .nm-password-strength-track > i { width:100%!important; background:linear-gradient(90deg,var(--nmr-green),var(--nmr-cyan))!important; }
body.nm-register-page #rcp_registration_form .nm-password-strength[data-score="4"] .nm-password-strength-head strong { color:#167d68!important; }

/* Login popup on the registration route: independent close path + visible CTA. */
body.nm-register-page.nm-login-popup-open {
  overflow:hidden!important;
}

body.nm-register-page.nm-login-popup-open #nm-login-overlay {
  position:fixed!important;
  inset:0!important;
  display:block!important;
  z-index:1000001!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  background:rgba(9,21,34,.68)!important;
  opacity:1!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
  cursor:pointer!important;
}

body.nm-register-page.nm-login-popup-open #login_popup {
  z-index:1000002!important;
  width:min(460px,calc(100vw - 30px))!important;
  max-width:460px!important;
  max-height:min(88vh,720px)!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:16px 18px 22px!important;
  border:1px solid rgba(166,191,214,.42)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(4,18,32,.28)!important;
  scrollbar-width:thin!important;
}

body.nm-register-page #login_popup .top-login-pop {
  position:sticky!important;
  z-index:50!important;
  top:0!important;
  min-height:42px!important;
  margin:-3px -4px 5px!important;
  pointer-events:none!important;
}

body.nm-register-page #login_popup #close_login_popup {
  position:absolute!important;
  top:0!important;
  left:0!important;
  display:grid!important;
  place-items:center!important;
  width:40px!important;
  height:40px!important;
  padding:0!important;
  border:1px solid #dce6ef!important;
  border-radius:13px!important;
  background:#f7fafd!important;
  color:#29445d!important;
  font-size:0!important;
  line-height:1!important;
  text-decoration:none!important;
  box-shadow:0 6px 17px rgba(19,43,67,.075)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}

body.nm-register-page #login_popup #close_login_popup::before {
  content:"×"!important;
  display:block!important;
  color:inherit!important;
  font-family:Arial,sans-serif!important;
  font-size:25px!important;
  font-weight:400!important;
  line-height:1!important;
}

body.nm-register-page #login_popup #close_login_popup:hover,
body.nm-register-page #login_popup #close_login_popup:focus-visible {
  transform:translateY(-1px)!important;
  border-color:#a9c2d9!important;
  background:#fff!important;
  outline:none!important;
}

body.dark.nm-register-page #rcp_registration_form .nm-rcp-mobile-field,
body.dark.nm-register-page .post-content form.rcp_form .nm-rcp-mobile-field {
  border-color:#2b4862!important;
  background:linear-gradient(118deg,#10243a 0%,#122b43 100%)!important;
}

body.dark.nm-register-page #rcp_registration_form .nm-field-help,
body.dark.nm-register-page #rcp_registration_form .nm-password-strength-head,
body.dark.nm-register-page #rcp_registration_form .nm-password-strength > small {
  color:#91a9bd!important;
}

body.dark.nm-register-page #rcp_registration_form .nm-password-strength {
  border-color:#2b465f!important;
  background:#0f2235!important;
}

body.dark.nm-register-page #rcp_registration_form .nm-password-strength-track {
  background:#294158!important;
}

body.dark.nm-register-page.nm-login-popup-open #login_popup {
  border-color:#29435a!important;
  background:#11263b!important;
}

body.dark.nm-register-page #login_popup #close_login_popup {
  border-color:#365168!important;
  background:#172e44!important;
  color:#e8f1f7!important;
}

@media (max-width:700px) {
  body.nm-register-page #rcp_registration_form .nm-rcp-mobile-field,
  body.nm-register-page .post-content form.rcp_form .nm-rcp-mobile-field {
    padding:13px 13px 12px!important;
  }

  body.nm-register-page.nm-login-popup-open #login_popup {
    width:calc(100vw - 22px)!important;
    max-height:calc(100dvh - 28px)!important;
    padding:13px 14px 18px!important;
    border-radius:20px!important;
  }
}
