/* JENNGO — brand overrides for stock PMPro pages (checkout, account, levels,
   billing, cancel, orders, confirmation, login). These pages render inside the
   parent Twenty Twenty-Five page.html template, so `.jenngo` on <body> is the
   scope, not our own header/footer markup. */

.jenngo .entry-content{
  max-width:1120px;
  margin:0 auto;
  padding:64px 28px 96px;
}

/* Our custom page-*.php templates mark their hero head ".page-head alt" —
   page.php (the PMPro fallback) uses plain ".page-head", so this only
   targets PMPro pages. The 22ch cap on .title (jenngo.css) is tuned for our
   own longer hero copy; PMPro's page titles ("Membership Confirmation" etc.)
   are short, single-line admin titles that should stay on one line instead
   of wrapping once they pass 22 characters. */
.jenngo .page-head:not(.alt) .title{max-width:none;}
.jenngo .entry-content > .wp-block-post-title,
.jenngo h1.wp-block-post-title{
  font-family:'Archivo Expanded','Arial Narrow',sans-serif;
  color:var(--text);
  font-size:clamp(28px,4vw,42px);
  font-weight:800;
  margin-bottom:8px;
}

.jenngo .pmpro_section_title{
  font-family:'Archivo Expanded','Arial Narrow',sans-serif;
  color:var(--text)!important;
  font-size:22px;
  font-weight:800;
  margin:36px 0 16px;
}
.jenngo .pmpro_section:first-child .pmpro_section_title{margin-top:0;}

/* card shell used by checkout / account / levels / login / billing / etc. */
.jenngo .pmpro_card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:6px;
  box-shadow:var(--shadow);
  color:var(--text);
  margin-bottom:24px;
}
.jenngo .pmpro_card_content{padding:30px 34px;}
.jenngo .pmpro_card_title,
.jenngo .pmpro_card_title h2,
.jenngo .pmpro_card_title h3{
  font-family:'Archivo Expanded','Arial Narrow',sans-serif;
  color:var(--text);
  font-size:22px;
  font-weight:800;
  border-bottom:1px solid var(--border);
  padding:22px 34px;
  margin:0;
}
.jenngo .pmpro_card_actions{
  padding:20px 34px;
  border-top:1px solid var(--border);
  background:var(--bg-2);
}
.jenngo .pmpro_section{margin-bottom:22px;}
.jenngo .pmpro_section_content{color:var(--text-muted);}
.jenngo .pmpro_message{
  background:var(--surface-2);
  border:1px solid var(--border);
  border-radius:4px;
  padding:14px 18px;
  color:var(--text);
}
.jenngo .pmpro_message.pmpro_error{border-color:var(--danger);color:var(--danger);}
.jenngo .pmpro_message.pmpro_success{border-color:var(--free);color:var(--free);}
.jenngo .jenngo-choose-notice{
  background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--accent);
  border-radius:4px;padding:14px 18px;margin-bottom:24px;color:var(--text-muted);
}
.jenngo .jenngo-choose-notice strong{color:var(--text);}
.jenngo .pmpro_level_name_text,
.jenngo .pmpro_level_cost_text{font-size:15.5px!important;font-weight:400!important;}
.jenngo .pmpro_level_name_text{color:var(--text);}
.jenngo .pmpro_level_name_text strong{color:var(--accent);font-weight:700;}
.jenngo .pmpro_level_cost_text{color:var(--text-muted);}
.jenngo .pmpro_level_cost_text strong{color:var(--text);font-weight:700;}
.jenngo #pmpro_account_loggedin{font-size:15px;color:var(--text-muted);}
.jenngo #pmpro_account_loggedin strong{color:var(--text);}
.jenngo #pmpro_account_loggedin a{color:var(--accent);text-decoration:underline;}

/* forms */
.jenngo .pmpro_form_label,
.jenngo .pmpro_form label{
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--text-muted);
}
.jenngo .pmpro_form_input,
.jenngo .pmpro_form input[type="text"],
.jenngo .pmpro_form input[type="email"],
.jenngo .pmpro_form input[type="password"],
.jenngo .pmpro_form input[type="tel"],
.jenngo .pmpro_form input[type="number"],
.jenngo .pmpro_form select,
.jenngo .pmpro_form textarea,
.jenngo #loginform input.input,
.jenngo input#user_login,
.jenngo input#user_pass,
.jenngo input#pass1,
.jenngo input#pass2{
  background:var(--bg-2)!important;
  border:1px solid var(--border);
  border-radius:3px;
  color:var(--text)!important;
  font-family:'Inter',sans-serif;
  font-size:14.5px;
  padding:11px 13px;
  width:100%!important;
  box-sizing:border-box;
}
.jenngo .pmpro_form_input:focus,
.jenngo .pmpro_form input:focus,
.jenngo .pmpro_form select:focus,
.jenngo .pmpro_form textarea:focus,
.jenngo #loginform input.input:focus{
  border-color:var(--accent)!important;
  outline:none;
  box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent)!important;
}
.jenngo #loginform .login-username,
.jenngo #loginform .login-password{
  display:block;margin-bottom:16px;
}
.jenngo #loginform label{
  display:block;margin-bottom:7px;
  font-family:'JetBrains Mono',monospace;font-size:11.5px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--text-muted);font-weight:normal;
}
/* This PMPro version renders Remember Me as a bare
   <p class="login-remember"><label>...</label></p> with no "forgetmenot"
   wrapper. jenngo.js (jenngoRestyleLoginCard) moves the "Lost Password?"
   link into that <p> as a sibling of the <label>, so turning the <p> into
   a space-between flex row puts the checkbox+label on the left and the
   link on the right — matching the artifact's
   "Remember me ................. Forgot password?" layout. */
.jenngo #loginform .login-remember{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:20px;font-size:13.5px;color:var(--text-muted);
}
.jenngo #loginform .login-remember label{
  display:flex;align-items:center;gap:8px;
  text-transform:none;letter-spacing:normal;font-family:'Inter',sans-serif;font-size:13.5px;color:var(--text-muted);
}
/* "Lost Password?" moved here from the card's action row by jenngo.js. */
.jenngo #loginform .jenngo-forgot-link{color:var(--accent);text-decoration:none;font-size:13.5px;flex:none;}
.jenngo #loginform .jenngo-forgot-link:hover{text-decoration:underline;}
.jenngo .pmpro_asterisk{color:var(--danger);}
.jenngo .pmpro_form_fieldset{border-color:var(--border);}

/* buttons */
.jenngo .pmpro_btn,
.jenngo .wp-core-ui .button-primary,
.jenngo input.button-primary,
.jenngo #wp-submit{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-family:'JetBrains Mono',monospace;font-size:13.5px;font-weight:600;
  letter-spacing:.03em;text-decoration:none;
  padding:13px 22px;border-radius:3px;border:1.5px solid transparent!important;
  cursor:pointer;transition:filter .15s ease;
  background:var(--accent)!important;color:var(--accent-ink)!important;
  text-shadow:none!important;box-shadow:none!important;
}
.jenngo .pmpro_btn:hover,
.jenngo .wp-core-ui .button-primary:hover,
.jenngo input.button-primary:hover,
.jenngo #wp-submit:hover{filter:brightness(1.08);color:var(--accent-ink)!important;}
.jenngo .pmpro_btn-plain,
.jenngo .pmpro_btn-cancel{
  background:transparent!important;color:var(--text-muted)!important;border-color:var(--border)!important;
}
.jenngo .pmpro_btn-plain:hover,
.jenngo .pmpro_btn-cancel:hover{color:var(--text)!important;border-color:var(--accent)!important;}

/* password show/hide toggle — plain text+icon, no button chrome. The
   checkout form's toggle carries a .pmpro_btn-password-toggle class; the
   login form's (pmpro_login_form()) only carries a matching id prefix
   (id="pmpro_btn-password-toggle-N", no such class) — target both. */
.jenngo .pmpro_btn-password-toggle,
.jenngo button[id^="pmpro_btn-password-toggle"]{
  background:transparent!important;color:var(--text-muted)!important;
  border:0!important;padding:0!important;border-radius:0!important;
}
.jenngo .pmpro_btn-password-toggle:hover,
.jenngo .pmpro_btn-password-toggle:focus,
.jenngo .pmpro_btn-password-toggle:active,
.jenngo button[id^="pmpro_btn-password-toggle"]:hover,
.jenngo button[id^="pmpro_btn-password-toggle"]:focus,
.jenngo button[id^="pmpro_btn-password-toggle"]:active{
  color:var(--accent)!important;border:0!important;
  filter:none!important;
  background:var(--surface-2)!important;border-radius:6px!important;
}
/* The eye icon's stroke color comes from an inline stroke="var(--pmpro--
   color--accent)" attribute that PMPro's own JS writes on the SVG when
   toggling (see pmpro_login_form() / pmpro-login.js) — not from a class —
   so it has to be overridden with !important to get a consistent color on
   both the checkout and login pages (both the base color and the hover
   color use the same selectors so the two pages can't drift apart again). */
.jenngo .pmpro_icon-eye svg{stroke:var(--text-muted)!important;}
.jenngo .pmpro_btn-password-toggle:hover .pmpro_icon-eye svg,
.jenngo .pmpro_btn-password-toggle:focus .pmpro_icon-eye svg,
.jenngo button[id^="pmpro_btn-password-toggle"]:hover .pmpro_icon-eye svg,
.jenngo button[id^="pmpro_btn-password-toggle"]:focus .pmpro_icon-eye svg{stroke:var(--accent)!important;}

/* membership levels table */
.jenngo .pmpro_levels_table,
.jenngo .pmpro_table{
  width:100%;border-collapse:collapse;background:transparent;color:var(--text);
}
.jenngo .pmpro_levels_table th,
.jenngo .pmpro_table th{
  text-align:left;font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--text-muted);padding:14px 16px;border-bottom:1px solid var(--border);
}
.jenngo .pmpro_levels_table td,
.jenngo .pmpro_table td{
  padding:16px;border-bottom:1px solid var(--border);font-size:14.5px;vertical-align:middle;
}
.jenngo .pmpro_levels_table th,
.jenngo .pmpro_levels_table td,
.jenngo .pmpro_table th,
.jenngo .pmpro_table td{background:transparent!important;color:var(--text);}
.jenngo .pmpro_table thead th{background:transparent!important;color:var(--text-muted);}
.jenngo .pmpro_table tbody th,
.jenngo .pmpro_table tbody td,
.jenngo .pmpro_table tfoot td{background:transparent!important;border-color:var(--border)!important;}
.jenngo .pmpro_levels_table tr:last-child td,
.jenngo .pmpro_table tr:last-child td{border-bottom:none;}
.jenngo .pmpro_btn-select{
  background:var(--accent);color:var(--accent-ink);border-radius:3px;
  font-family:'JetBrains Mono',monospace;font-weight:600;font-size:13px;padding:10px 20px;
}

/* login card */
.jenngo .pmpro_login_wrap .pmpro_card_content{padding:30px 34px 12px;}
.jenngo .pmpro_actions_nav{
  padding:16px 34px 26px;color:var(--text-muted);font-size:13.5px;
}
.jenngo .pmpro_actions_nav a{color:var(--accent);text-decoration:none;}

/* invoices / orders history + any other table PMPro renders inside a card */
.jenngo .pmpro_history-fields,
.jenngo .pmpro_billing_details{color:var(--text-muted);}
.jenngo .pmpro_actionlink a{color:var(--accent);}
.jenngo .pmpro_card table,
.jenngo .pmpro_card th,
.jenngo .pmpro_card td{background:transparent!important;color:var(--text);border-color:var(--border)!important;}
.jenngo .pmpro_card thead th{color:var(--text-muted);}

/* account page dashboard blocks */
.jenngo .pmpro_dashboard,
.jenngo .pmpro_account-fields{color:var(--text);}
.jenngo .pmpro_dashboard a{color:var(--accent);}

/* confirmation page — intro paragraphs sit directly in .pmpro_section, not
   inside .pmpro_section_content, and level "confirmation" HTML can bring its
   own tags, so cover the section broadly. */
.jenngo .pmpro_section{color:var(--text-muted);}
.jenngo .pmpro_section p,
.jenngo .pmpro_confirmation-level-message{color:var(--text-muted);font-size:15.5px;}

/* intro paragraph accents — membership level name and the email-confirmation
   add-on's "Important! ..." sentence (see inc/confirmation-message.php,
   which wraps them in these classes without changing PMPro's own wording). */
.jenngo .jenngo-confirm-level{color:var(--accent);font-weight:700;}
.jenngo .jenngo-confirm-note{
  margin:16px 0;
  padding:12px 16px;
  background:var(--surface-2);
  border:1px solid var(--border);
  border-left:3px solid var(--accent);
  border-radius:4px;
  color:var(--text);
  font-size:14px;
}
.jenngo .jenngo-confirm-note strong{color:var(--accent);}
.jenngo .pmpro_card_title.pmpro_heading-with-avatar{
  display:flex;align-items:center;gap:12px;
}
.jenngo .pmpro_list-plain{list-style:none;margin:0;padding:0;}
.jenngo .pmpro_list_item{padding:6px 0;color:var(--text);}
.jenngo .pmpro_list_item strong{color:var(--text-muted);font-weight:600;margin-right:4px;}

/* invoice / order detail meta ("Order date", "Pay to", "Bill to", etc.) */
.jenngo .pmpro_list-with-labels .pmpro_list_item{
  padding:10px 0;border-bottom:1px solid var(--border);
}
.jenngo .pmpro_list-with-labels .pmpro_list_item:last-child{border-bottom:none;}
.jenngo .pmpro_list_item_label{
  display:block;
  font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px;
}
.jenngo .pmpro_list_item_value{color:var(--text);}
.jenngo #pmpro_order_single-items h3,
.jenngo .pmpro_card h2,
.jenngo .pmpro_card h3{color:var(--text);}
.jenngo .pmpro_tag{
  display:inline-block;padding:3px 10px;border-radius:20px;
  font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.04em;
}
.jenngo .pmpro_tag-success{background:rgba(52,199,89,.15);color:var(--free);}
.jenngo .pmpro_tag-error{background:rgba(255,69,58,.15);color:var(--danger);}
.jenngo .pmpro_tag-alert,
.jenngo .pmpro_tag-discount-code{background:var(--surface-2);color:var(--text-muted);}
.jenngo .pmpro_btn-print{
  background:transparent!important;color:var(--text-muted)!important;
  border:1px solid var(--border)!important;
}
.jenngo .pmpro_btn-print:hover{color:var(--text)!important;border-color:var(--accent)!important;}
.jenngo .pmpro_card_action_separator{color:var(--border);margin:0 8px;}

/* ==========================================================================
   Log In / Checkout — brand card treatment (eyebrow, rounded card + shadow,
   icon fields, CTA footer). Scoped to the auth-flow cards only so the wider
   account/billing/orders cards above keep their existing look.
   ========================================================================== */

.jenngo .jenngo-auth-eyebrow{
  display:flex;align-items:center;gap:10px;
  font-family:'JetBrains Mono',monospace;font-size:12.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;color:var(--accent);
  margin:0 0 14px;
}
.jenngo .jenngo-auth-eyebrow .dash{width:20px;height:2px;background:var(--accent);flex:none;}

.jenngo .pmpro_login_wrap,
.jenngo .pmpro_lost_password_wrap,
.jenngo #pmpro_checkout .pmpro_card{
  border-radius:12px;
  box-shadow:0 16px 40px rgba(0,0,0,.28);
}

.jenngo .pmpro_login_wrap .pmpro_card_content,
.jenngo .pmpro_lost_password_wrap .pmpro_card_content{
  padding:34px 34px 16px;
}

/* Trust stat row (see jenngo_login_page_stats in inc/auth-forms.php, moved
   into .pmpro_card_actions by jenngo.js) — "3 countries / 8 industries /
   $0 for workers", same numbers as the login card mock. Sits inside the
   card's action panel, under the "or" / CTA line, like the artifact's
   .stat-row. */
.jenngo .jenngo-auth-stats{
  display:flex;flex-wrap:wrap;justify-content:center;gap:14px 0;
  margin-top:4px;
  padding-top:20px;
  border-top:1px solid var(--border);
}
.jenngo .jenngo-auth-stats .stat{
  flex:1 1 100px;text-align:center;padding:0 12px;
  min-width:100px;
}
.jenngo .jenngo-auth-stats .num{
  display:block;font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:var(--accent);
}
.jenngo .jenngo-auth-stats .lbl{
  display:block;font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:4px;
  white-space:nowrap;
}

/* username / password / email fields get a leading icon, matching the
   gate-card lock icon's stroke style (viewBox 24, stroke-width 1.8). */
.jenngo #loginform .login-username,
.jenngo #loginform .login-password,
.jenngo .pmpro_lost_password_wrap .pmpro_form_field{
  position:relative;
}
/* Lost Password's field is also input#user_login, so it needs the id in the
   selector to outrank the base ".jenngo input#user_login" rule's
   background shorthand (which would otherwise wipe the icon). */
.jenngo #loginform .login-username input,
.jenngo #loginform .login-password input,
.jenngo .pmpro_lost_password_wrap input#user_login{
  padding-left:42px!important;
  background-repeat:no-repeat!important;
  background-position:14px center!important;
  background-size:18px 18px!important;
}
.jenngo #loginform .login-username input,
.jenngo .pmpro_lost_password_wrap input#user_login{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237086A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")!important;
}
.jenngo #loginform .login-password input{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237086A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;
}
/* Password toggle collapses to a plain eye icon inside the field's right
   edge (its "Show Password" text is still there for screen readers, just
   visually hidden) so it can't collide with the lock icon or the label.

   PMPro's own variation_1.css turns .login-password into a CSS Grid
   ("label toggle" / "input input" areas) so the toggle sits in its own
   cell next to the label, above the field — not overlapping the input.
   That's a different design than ours (an icon inside the field), so grid
   positioning has to be turned off here first; otherwise position:absolute
   on the toggle resolves against its assigned grid area (the label row),
   not the field's padding box, and it ends up floating above the input
   instead of centered on it. */
.jenngo #loginform .login-password{display:block!important;}
.jenngo #loginform .login-password input{padding-right:44px!important;}
.jenngo #loginform .login-password .pmpro_form_field-password-toggle{
  position:absolute;right:6px;bottom:0;height:50px;
  display:flex;align-items:center;
}
/* Note: the login-page toggle button (rendered by pmpro_login_form(), not
   the checkout form) only carries id="pmpro_btn-password-toggle-N" — no
   .pmpro_btn-password-toggle class like the checkout version has — so it
   has to be targeted by that id prefix instead. */
.jenngo #loginform .login-password button[id^="pmpro_btn-password-toggle"]{
  height:36px;width:36px;display:flex;align-items:center;justify-content:center;
}
.jenngo #loginform .login-password .pmpro_form_field-password-toggle-state{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;
}

/* action row under the card: an "or" divider then a centered CTA line for
   the register link (see jenngo_login_forms_nav_links in inc/auth-forms.php,
   which rewrites that link's markup into the two .jenngo-auth-cta-* anchors
   below). "Lost Password?" itself is moved out of here into the form's
   Remember Me row by jenngo.js — see .jenngo-forgot-link above. */
.jenngo .pmpro_login_wrap .pmpro_card_actions{
  display:flex;flex-direction:column;gap:16px;
}
.jenngo .pmpro_login_wrap .pmpro_actions_nav{
  padding:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 0;
  text-align:center;
}
/* "or" divider above the join-JENNGO CTA line. */
.jenngo .pmpro_login_wrap .pmpro_actions_nav::before{
  content:"or";
  order:0;flex-basis:100%;
  display:block;text-align:center;
  margin:0 0 12px;
  font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;
  letter-spacing:.08em;color:var(--text-muted);
}
.jenngo .pmpro_login_wrap .pmpro_actions_nav a.jenngo-auth-cta-lead{
  order:1;font-size:14px;color:var(--text-muted)!important;
}
.jenngo .pmpro_login_wrap .pmpro_actions_nav a.jenngo-auth-cta-link{
  order:1;font-weight:700;color:var(--accent)!important;font-size:14px;margin-left:6px;
}

@media (max-width:560px){
  .jenngo .pmpro_login_wrap,
  .jenngo .pmpro_lost_password_wrap{border-radius:8px;}
}

/* ==========================================================================
   Checkout — Account Information card. Same icon-field + CTA treatment as
   the login card above, adapted to PMPro's checkout form markup (different
   classes: .pmpro_form_field-username/-email/-password, not #loginform).
   ========================================================================== */

.jenngo #pmpro_checkout .pmpro_card{margin-bottom:28px;}

.jenngo .pmpro_form_field-username,
.jenngo .pmpro_form_field-bemail,
.jenngo .pmpro_form_field-bconfirmemail,
.jenngo .pmpro_form_field-password{
  position:relative;
}
/* Note: PMPro's own .pmpro_form input[type="text"]/[type="email"]/[type="password"]
   base rule (in this same file, above) has higher specificity than a plain
   ".pmpro_form_field-x input" selector (an attribute selector outweighs a
   bare tag), so these repeat the [type="..."] attribute to win the cascade.
   The password field also needs an input[type="text"] variant: PMPro's
   show/hide toggle flips the input's type attribute directly (see
   pmpro-login.js), and Confirm Password flips along with it even though
   only Password has a visible toggle button — so the lock icon has to
   survive that type change on both fields, not just show while type is
   "password". */
.jenngo .pmpro_form_field-username input[type="text"],
.jenngo .pmpro_form_field-bemail input[type="email"],
.jenngo .pmpro_form_field-bconfirmemail input[type="email"],
.jenngo .pmpro_form_field-password input[type="password"],
.jenngo .pmpro_form_field-password input[type="text"]{
  padding-left:42px!important;
  background-repeat:no-repeat!important;
  background-position:14px center!important;
  background-size:18px 18px!important;
}
.jenngo .pmpro_form_field-username input[type="text"]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237086A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E")!important;
}
.jenngo .pmpro_form_field-bemail input[type="email"],
.jenngo .pmpro_form_field-bconfirmemail input[type="email"]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237086A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16v12H4z'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")!important;
}
.jenngo .pmpro_form_field-password input[type="password"],
.jenngo .pmpro_form_field-password input[type="text"]{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237086A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;
}

/* password field's Show/Hide toggle: same collapsed eye-icon treatment as
   the login card, positioned inside the (first) password field only — the
   Confirm Password field has no toggle of its own. Anchored from the
   bottom (see the login-page version above for why: the input's bottom
   edge always lines up with the field container's bottom edge, so that's
   a reliable place to size+center from, unlike a fixed top offset that
   has to guess the label's height).

   Same PMPro grid layout ("label toggle" / "input input") applies here via
   #pmpro_user_fields .pmpro_form_field-password:has(...) — turn it off for
   the same reason as the login-page version above. */
.jenngo #pmpro_user_fields .pmpro_form_field-password{display:block!important;}
.jenngo .pmpro_form_field-password input[type="password"],
.jenngo .pmpro_form_field-password input[type="text"]{padding-right:44px!important;}
.jenngo .pmpro_form_field-password .pmpro_form_field-password-toggle{
  position:absolute;right:6px;bottom:0;height:46px;
  display:flex;align-items:center;
}
.jenngo .pmpro_form_field-password .pmpro_btn-password-toggle{
  height:36px;width:36px;display:flex;align-items:center;justify-content:center;
}
.jenngo .pmpro_form_field-password .pmpro_form_field-password-toggle-state{
  position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;
}
/* Reset Password (includes/login.php) and Change Password (includes/profile.php)
   put the field's <label> INSIDE .pmpro_form_field-password-toggle, before the
   button — unlike checkout, where the wrapper holds only the button. Pinning
   the whole wrapper into the input (as above) drags the label into the field,
   so for those forms keep the wrapper in normal flow (label on top) and pin
   only the eye button over the input's right edge. */
.jenngo .pmpro_form_field-password:has(.pmpro_form_field-password-toggle > label){display:block!important;}
.jenngo .pmpro_form_field-password .pmpro_form_field-password-toggle:has(> label){position:static;height:auto;display:block;margin-bottom:6px;}
.jenngo .pmpro_form_field-password .pmpro_form_field-password-toggle:has(> label) .pmpro_btn-password-toggle{position:absolute;top:auto;right:6px;bottom:5px;}
/* Those forms' inputs are #pass1/#pass2/#password_current; the first two are
   also in the base input rule by id, whose background shorthand would wipe
   the lock icon — :is() carries the id specificity needed to win. */
.jenngo .pmpro_form_field-password input:is(#pass1,#pass2,#password_current){
  padding-left:42px!important;
  background-repeat:no-repeat!important;
  background-position:14px center!important;
  background-size:18px 18px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237086A8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='10' width='16' height='10' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")!important;
}
/* Eye icon color on hover/focus is handled once, above (the block covering
   both .pmpro_btn-password-toggle and button[id^="pmpro_btn-password-toggle"]),
   so it stays identical between the checkout and login pages — don't
   duplicate it here with an !important that would win over that shared rule
   by cascade order and re-introduce a mismatch between the two pages. */

/* two-column field rows (password/confirm, email/confirm) already exist via
   PMPro's .pmpro_cols-2 — just tighten the gap to match our field spacing.
   Note: PMPro's own variation_1.css sets ".pmpro_cols-2 > *{width:calc(50% -
   gap/2)}" for its flex-based layout; that width declaration still applies
   to our grid item children (it doesn't get cleared just because the
   container's display changed), and that 50%-of-flex-basis math produces a
   narrower box than the actual grid column, which is the "shrunk field"
   bug — so explicitly reset it to fill the grid cell. */
.jenngo .pmpro_cols-2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.jenngo .pmpro_cols-2 > *{width:auto!important;}
@media (max-width:560px){
  .jenngo .pmpro_cols-2{grid-template-columns:1fr;gap:16px 0;}
}

/* "Already have an account? Log in here" — same muted-line + accent-link
   CTA treatment as the login card's footer. */
.jenngo .pmpro_card_actions{
  font-size:14px;color:var(--text-muted);
}
.jenngo .pmpro_card_actions a{color:var(--accent);font-weight:700;text-decoration:none;}
.jenngo .pmpro_card_actions a:hover{text-decoration:underline;}
