/* ==================================================================
   Pass the MSRA — Account page (page-account.php)
   Styles the unified membership / profile / password page, including a
   restyle of Restrict Content Pro's own tables and form fields so the
   plugin output matches the PTM design. Scoped to .ptm-account-page so
   RCP screens elsewhere are untouched.
   ================================================================== */

.ptm-account-page{
	--a-navy:#0B1F3A; --a-teal:#00A896; --a-teal-dark:#02897A; --a-amber:#E8A33D;
	--a-page:#FBFCFE; --a-surface:#FFFFFF; --a-surface-alt:#F6F8FB;
	--a-text:#33404F; --a-heading:#0B1F3A; --a-muted:#6B7A8C; --a-line:#E3E9F0;
	--a-r:14px; --a-rs:9px; --a-sh:0 1px 2px rgba(11,31,58,.05),0 6px 18px rgba(11,31,58,.05);
	background:var(--a-page); color:var(--a-text);
}
html[data-ptm-theme="dark"] .ptm-account-page{
	--a-page:#0C1826; --a-surface:#132437; --a-surface-alt:#0F1E2E;
	--a-text:#D6E0EC; --a-heading:#E7EEF6; --a-muted:#9BAABB; --a-line:#22364B;
	--a-teal-dark:#3FD0C0;
}

.ptm-account__inner{width:min(100% - 40px,1060px);margin-inline:auto;padding:26px 0 64px;}

/* ---- hero ---- */
.ptm-acc-hero{margin-bottom:22px;}
.ptm-acc-hero__row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.ptm-acc-eyebrow{display:block;font-size:.72rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--a-teal-dark);margin-bottom:8px;}
.ptm-account-page h1{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.15;color:var(--a-heading);margin:0 0 8px;max-width:none;}
.ptm-acc-hero__sub{color:var(--a-muted);margin:0;font-size:1rem;}

.ptm-acc-status{
	display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:99px;
	font-size:.8rem;font-weight:700;letter-spacing:.02em;white-space:nowrap;
}
.ptm-acc-status::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;}
.ptm-acc-status.is-active{background:rgba(0,168,150,.12);color:var(--a-teal-dark);}
.ptm-acc-status.is-inactive{background:rgba(232,163,61,.14);color:#9A6512;}
html[data-ptm-theme="dark"] .ptm-acc-status.is-inactive{color:var(--a-amber);}

/* ---- section nav ---- */
.ptm-acc-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 26px;padding:0 0 14px;border-bottom:1px solid var(--a-line);}
.ptm-acc-tab{
	padding:7px 14px;border-radius:99px;border:1px solid var(--a-line);
	font-size:.85rem;font-weight:600;color:var(--a-muted);text-decoration:none;background:var(--a-surface);
}
.ptm-acc-tab:hover,.ptm-acc-tab.is-current{border-color:var(--a-teal);color:var(--a-teal-dark);}

/* ---- sections + cards ---- */
.ptm-acc-section{margin-bottom:34px;scroll-margin-top:90px;}
.ptm-acc-section__head{margin-bottom:12px;}
.ptm-account-page h2{font-size:1.3rem;color:var(--a-heading);margin:0 0 4px;}
.ptm-acc-section__head p{margin:0;color:var(--a-muted);font-size:.92rem;}

.ptm-acc-card{
	background:var(--a-surface);border:1px solid var(--a-line);border-radius:var(--a-r);
	box-shadow:var(--a-sh);padding:22px;
}
.ptm-acc-card--narrow{max-width:460px;}

.ptm-acc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.ptm-acc-btn{
	display:inline-flex;align-items:center;justify-content:center;
	padding:11px 20px;border-radius:var(--a-rs);border:1px solid var(--a-line);
	background:var(--a-surface);color:var(--a-teal-dark);font-weight:600;font-size:.92rem;text-decoration:none;
}
.ptm-acc-btn:hover{border-color:var(--a-teal);}
.ptm-acc-btn--primary,
.ptm-acc-btn--primary:visited{background:var(--a-teal);border-color:var(--a-teal);color:#fff;}
.ptm-acc-btn--primary:hover{background:var(--a-teal-dark);border-color:var(--a-teal-dark);color:#fff;}

.ptm-acc-help{margin:14px 0 0;font-size:.88rem;}
.ptm-acc-help a{color:var(--a-teal-dark);}
.ptm-acc-logout{margin-top:8px;font-size:.9rem;}
.ptm-acc-logout a{color:var(--a-muted);}
.ptm-acc-logout a:hover{color:var(--a-teal-dark);}

/* ---- quick links ---- */
.ptm-acc-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;}
.ptm-acc-link{
	display:block;padding:16px 18px;border-radius:var(--a-rs);border:1px solid var(--a-line);
	background:var(--a-surface);text-decoration:none;
}
.ptm-acc-link:hover{border-color:var(--a-teal);}
.ptm-acc-link__t{display:block;font-weight:700;color:var(--a-heading);margin-bottom:2px;}
.ptm-acc-link__d{display:block;font-size:.84rem;color:var(--a-muted);}

/* ==================================================================
   Restrict Content Pro output — restyled to match PTM.
   RCP keeps full control of behaviour; these rules only change looks.
   ================================================================== */
.ptm-acc-rcp .rcp-table,
.ptm-acc-rcp table{width:100%;border-collapse:collapse;font-size:.92rem;}
.ptm-acc-rcp table th,
.ptm-acc-rcp table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--a-line);color:var(--a-text);}
.ptm-acc-rcp table th{
	font-size:.72rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
	color:var(--a-muted);background:var(--a-surface-alt);
}
.ptm-acc-rcp table tr:last-child td{border-bottom:0;}
.ptm-acc-rcp .rcp-table-wrapper{overflow-x:auto;}

.ptm-acc-rcp h3,
.ptm-acc-rcp h4{color:var(--a-heading);font-size:1.02rem;margin:18px 0 8px;}
.ptm-acc-rcp h3:first-child,
.ptm-acc-rcp h4:first-child{margin-top:0;}
.ptm-acc-rcp p{color:var(--a-text);}
.ptm-acc-rcp a{color:var(--a-teal-dark);}

/* RCP forms (profile editor, update card, login) */
.ptm-acc-rcp .rcp_form fieldset,
.ptm-acc-rcp fieldset{border:0;padding:0;margin:0;}
.ptm-acc-rcp label{display:block;font-weight:600;color:var(--a-heading);font-size:.88rem;margin-bottom:5px;}
.ptm-acc-rcp input[type="text"],
.ptm-acc-rcp input[type="email"],
.ptm-acc-rcp input[type="password"],
.ptm-acc-rcp input[type="tel"],
.ptm-acc-rcp select{
	width:100%;max-width:420px;padding:10px 13px;border-radius:var(--a-rs);
	border:1.5px solid var(--a-line);background:var(--a-surface);color:var(--a-text);
	font:inherit;font-size:.95rem;
}
.ptm-acc-rcp input:focus,
.ptm-acc-rcp select:focus{outline:none;border-color:var(--a-teal);}
.ptm-acc-rcp p{margin:0 0 15px;}

.ptm-acc-rcp input[type="submit"],
.ptm-acc-rcp button[type="submit"],
.ptm-acc-rcp .rcp-button{
	display:inline-flex;align-items:center;justify-content:center;
	padding:11px 22px;border-radius:var(--a-rs);border:1px solid var(--a-teal);
	background:var(--a-teal);color:#fff;font-weight:600;font-size:.94rem;cursor:pointer;
	width:auto;
}
.ptm-acc-rcp input[type="submit"]:hover,
.ptm-acc-rcp button[type="submit"]:hover,
.ptm-acc-rcp .rcp-button:hover{background:var(--a-teal-dark);border-color:var(--a-teal-dark);}

/* RCP notices */
.ptm-acc-rcp .rcp_message,
.ptm-acc-rcp .rcp-message{
	padding:12px 14px;border-radius:var(--a-rs);border:1px solid var(--a-line);
	background:var(--a-surface-alt);margin-bottom:14px;
}
.ptm-acc-rcp .rcp_message.success{border-color:var(--a-teal);background:rgba(0,168,150,.08);}
.ptm-acc-rcp .rcp_message.error{border-color:#D9534F;background:rgba(217,83,79,.08);}

/* WordPress' own login form fallback */
.ptm-account-page #loginform label{display:block;font-weight:600;color:var(--a-heading);font-size:.88rem;margin-bottom:5px;}
.ptm-account-page #loginform input[type="text"],
.ptm-account-page #loginform input[type="password"]{
	width:100%;padding:10px 13px;border-radius:var(--a-rs);border:1.5px solid var(--a-line);
	background:var(--a-surface);color:var(--a-text);font:inherit;margin-bottom:12px;
}
.ptm-account-page #loginform .button-primary{
	padding:11px 22px;border-radius:var(--a-rs);border:1px solid var(--a-teal);
	background:var(--a-teal);color:#fff;font-weight:600;cursor:pointer;
}

@media (max-width:640px){
	.ptm-account__inner{padding:18px 0 44px;}
	.ptm-acc-card{padding:16px;}
	.ptm-acc-hero__row{flex-direction:column;}
	.ptm-acc-rcp table th,.ptm-acc-rcp table td{padding:9px 8px;font-size:.86rem;}
}

/* ==================================================================
   Refinements after first live review
   ================================================================== */

/* RCP prints its own "Account Overview" heading directly under our
   "Membership" heading — hide the duplicate, keep "Payment History". */
.ptm-acc-rcp > h3:first-child,
.ptm-acc-rcp > h2:first-child{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* Empty-state rows read better centred and muted. */
.ptm-acc-rcp table td[colspan]{color:var(--a-muted);font-style:italic;padding:18px 12px;}

/* Prompt shown when there is no active membership. */
.ptm-acc-prompt{
	margin-top:14px;padding:16px 18px;border-radius:var(--a-rs);
	border:1px solid var(--a-line);border-left:3px solid var(--a-amber);
	background:var(--a-surface-alt);
}
.ptm-acc-prompt p{margin:0 0 6px;font-size:.92rem;}
.ptm-acc-prompt p:last-child{margin-bottom:0;}
.ptm-acc-prompt__free{color:var(--a-muted);font-size:.86rem;}
.ptm-acc-prompt a{color:var(--a-teal-dark);}

/* RCP fieldset legends ("Change your Name" / "Change your Password")
   read as body text by default — promote them to real subheadings. */
.ptm-acc-rcp legend,
.ptm-acc-rcp--profile > form > h3,
.ptm-acc-rcp--profile fieldset > legend{
	display:block;width:100%;float:none;
	font-family:var(--ptm-font-heading,inherit);
	font-size:1rem;font-weight:700;color:var(--a-heading);
	padding:0 0 10px;margin:4px 0 14px;border-bottom:1px solid var(--a-line);
}

/* Use the card width better: name fields side by side on wider screens. */
@media (min-width:760px){
	.ptm-acc-rcp--profile #rcp_profile_first_name_wrap,
	.ptm-acc-rcp--profile #rcp_profile_last_name_wrap{
		display:inline-block;width:calc(50% - 8px);vertical-align:top;
	}
	.ptm-acc-rcp--profile #rcp_profile_last_name_wrap{margin-left:12px;}
	.ptm-acc-rcp--profile #rcp_profile_password_wrap,
	.ptm-acc-rcp--profile #rcp_profile_password_confirm_wrap{
		display:inline-block;width:calc(50% - 8px);vertical-align:top;
	}
	.ptm-acc-rcp--profile #rcp_profile_password_confirm_wrap{margin-left:12px;}
	.ptm-acc-rcp--profile input[type="text"],
	.ptm-acc-rcp--profile input[type="email"],
	.ptm-acc-rcp--profile input[type="password"],
	.ptm-acc-rcp--profile select{max-width:100%;}
}

/* Submit button sits flush left under the fields. */
.ptm-acc-rcp--profile #rcp_profile_submit_wrap{margin-top:6px;}

/* Hidden until JS confirms the billing-history block was found. */
.ptm-acc-hidden{display:none !important;}
