/* Nu FOCUS account and membership presentation — release 2.18.0 */
.nu-focus-account {
	--nfa-ink: #24213f;
	--nfa-deep: #272451;
	--nfa-purple: #6257e8;
	--nfa-purple-dark: #4d43ca;
	--nfa-yellow: #f4ed50;
	--nfa-green: #13745c;
	--nfa-muted: #66697b;
	--nfa-line: #e3e1ec;
	--nfa-cloud: #f7f6fb;
	--nfa-shadow: 0 22px 60px rgba(37, 33, 76, 0.1);
	background: #fff;
	color: var(--nfa-ink);
}

.nu-focus-account .nfl-topbar,
.nu-focus-account .nfl-topbar p,
.nu-focus-account .nfl-topbar a {
	color: #fff;
}

.nu-focus-account .nfl-topbar p,
.nu-focus-account .nfl-topbar a {
	font-size: 0.79rem;
	line-height: 1.35;
}

.nu-focus-account .nfa-main {
	overflow: hidden;
}

.nu-focus-account .nfa-hero {
	padding: clamp(34px, 5vw, 62px) 0 clamp(52px, 7vw, 84px);
	border-bottom: 1px solid var(--nfa-line);
	background:
		radial-gradient(circle at 88% 12%, rgba(244, 237, 80, 0.3), transparent 23%),
		linear-gradient(135deg, #f7f5ff, #fffaf0);
}

.nu-focus-account .nfa-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: clamp(28px, 4vw, 46px);
	color: #757687;
	font-size: 0.72rem;
	font-weight: 700;
	gap: 9px;
}

.nu-focus-account .nfa-breadcrumbs a {
	display: inline-flex;
	align-items: center;
	color: var(--nfa-purple-dark);
	gap: 5px;
}

.nu-focus-account .nfa-breadcrumbs a:hover,
.nu-focus-account .nfa-breadcrumbs a:focus-visible {
	color: var(--nfa-deep);
}

.nu-focus-account .nfa-breadcrumbs svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
}

.nu-focus-account .nfa-hero__copy {
	max-width: 800px;
}

.nu-focus-account .nfa-hero__copy h1 {
	margin: 7px 0 16px;
	color: var(--nfa-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(2.75rem, 7vw, 5.75rem);
	font-weight: 790;
	letter-spacing: -0.055em;
	line-height: 0.96;
}

.nu-focus-account .nfa-hero__copy > p:last-child {
	max-width: 680px;
	margin: 0;
	color: var(--nfa-muted);
	font-size: clamp(1rem, 1.6vw, 1.18rem);
	line-height: 1.7;
}

.nu-focus-account .nfa-content {
	padding: clamp(58px, 8vw, 104px) 0 clamp(76px, 9vw, 124px);
}

.nu-focus-account .nfa-account-surface,
.nu-focus-account .nfa-plugin-page {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
}

.nu-focus-account .woocommerce-notices-wrapper:empty,
.nu-focus-account .pmpro_message:empty {
	display: none;
}

.nu-focus-account .woocommerce-message,
.nu-focus-account .woocommerce-info,
.nu-focus-account .woocommerce-error,
.nu-focus-account .pmpro_message,
.nu-focus-account .pmpro_alert,
.nu-focus-account .pmpro_error {
	position: relative;
	min-height: 58px;
	margin: 0 0 26px !important;
	padding: 17px 20px !important;
	border: 1px solid rgba(98, 87, 232, 0.22) !important;
	border-left: 5px solid var(--nfa-purple) !important;
	border-radius: 14px !important;
	background: #f6f4ff !important;
	box-shadow: none !important;
	color: var(--nfa-ink) !important;
	font-size: 0.84rem;
	line-height: 1.55;
}

.nu-focus-account .woocommerce-error,
.nu-focus-account .pmpro_error,
.nu-focus-account .pmpro_alert-error {
	border-color: rgba(184, 50, 71, 0.25) !important;
	border-left-color: #b83247 !important;
	background: #fff4f5 !important;
}

.nu-focus-account .woocommerce-message a,
.nu-focus-account .woocommerce-info a,
.nu-focus-account .pmpro_message a {
	color: var(--nfa-purple-dark);
	font-weight: 800;
}

.nu-focus-account .nfa-myaccount-layout {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	align-items: start;
	gap: clamp(28px, 5vw, 58px);
}

.nu-focus-account .nfa-account-nav {
	position: sticky;
	top: 118px;
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	float: none !important;
	overflow: hidden;
	margin: 0 !important;
	border: 1px solid var(--nfa-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(38, 34, 83, 0.06);
}

.nu-focus-account .nfa-account-nav ul {
	margin: 0;
	padding: 9px;
	list-style: none;
}

.nu-focus-account .nfa-account-nav li {
	margin: 0;
	padding: 0;
	border: 0;
}

.nu-focus-account .nfa-account-nav li a {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	align-items: center;
	min-height: 54px;
	padding: 8px 10px;
	border-radius: 10px;
	color: #55586a;
	font-size: 0.78rem;
	font-weight: 750;
	gap: 10px;
}

.nu-focus-account .nfa-account-nav__icon {
	display: grid;
	width: 32px;
	height: 32px;
	place-items: center;
	border-radius: 10px;
	background: #f4f3f8;
	color: #747386;
	transition: background-color 160ms ease, color 160ms ease;
}

.nu-focus-account .nfa-account-nav__icon svg {
	display: block;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.nu-focus-account .nfa-account-nav li a:hover,
.nu-focus-account .nfa-account-nav li a:focus-visible,
.nu-focus-account .nfa-account-nav li.is-active a {
	background: #f1efff;
	color: var(--nfa-purple-dark);
}

.nu-focus-account .nfa-account-nav li a:hover .nfa-account-nav__icon,
.nu-focus-account .nfa-account-nav li a:focus-visible .nfa-account-nav__icon,
.nu-focus-account .nfa-account-nav li.is-active .nfa-account-nav__icon {
	background: var(--nfa-purple);
	color: #fff;
}

.nu-focus-account .nfa-account-nav__related {
	display: grid;
	padding: 18px 20px 20px;
	border-top: 1px solid var(--nfa-line);
	background: var(--nfa-cloud);
	gap: 9px;
}

.nu-focus-account .nfa-account-nav__related p {
	margin: 0 0 3px;
	color: #858697;
	font-size: 0.63rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.nu-focus-account .nfa-account-nav__related a {
	display: flex;
	justify-content: space-between;
	color: var(--nfa-deep);
	font-size: 0.72rem;
	font-weight: 750;
	gap: 10px;
}

.nu-focus-account .nfa-myaccount-content {
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}

.nu-focus-account .nfa-dashboard__welcome {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	margin-bottom: 27px;
	padding: clamp(24px, 4vw, 38px);
	border-radius: 19px;
	background: var(--nfa-deep);
	color: #fff;
	gap: 18px;
}

.nu-focus-account .nfa-dashboard__avatar {
	width: 72px;
	height: 72px;
	border: 3px solid rgba(255, 255, 255, 0.35);
	border-radius: 999px;
}

.nu-focus-account .nfa-dashboard__welcome .nfl-kicker {
	margin: 0 0 4px;
	color: var(--nfa-yellow);
}

.nu-focus-account .nfa-dashboard__welcome h2 {
	margin: 0 0 5px;
	color: #fff;
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.65rem, 3vw, 2.4rem);
	font-weight: 750;
}

.nu-focus-account .nfa-dashboard__welcome p:last-child {
	margin: 0;
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.79rem;
}

.nu-focus-account .nfa-dashboard__welcome .nfa-text-link {
	color: #fff;
}

.nu-focus-account .nfa-dashboard__cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-bottom: 26px;
	gap: 16px;
}

.nu-focus-account .nfa-dashboard-card {
	display: grid;
	min-height: 180px;
	align-content: end;
	padding: 24px;
	border: 1px solid var(--nfa-line);
	border-radius: 17px;
	background: #fff;
	box-shadow: 0 11px 30px rgba(37, 33, 76, 0.045);
	color: var(--nfa-ink);
	transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.nu-focus-account .nfa-dashboard-card:hover,
.nu-focus-account .nfa-dashboard-card:focus-visible {
	border-color: rgba(98, 87, 232, 0.35);
	box-shadow: var(--nfa-shadow);
	color: var(--nfa-ink);
	transform: translateY(-3px);
}

.nu-focus-account .nfa-dashboard-card__value {
	margin-bottom: auto;
	color: var(--nfa-purple);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 2.35rem;
	font-weight: 800;
	line-height: 1;
}

.nu-focus-account .nfa-dashboard-card__value--status {
	font-size: 1.45rem;
}

.nu-focus-account .nfa-dashboard-card strong {
	margin-top: 24px;
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.15rem;
}

.nu-focus-account .nfa-dashboard-card small {
	margin-top: 3px;
	color: var(--nfa-muted);
	font-size: 0.73rem;
	line-height: 1.45;
}

.nu-focus-account .nfa-dashboard__note,
.nu-focus-account .nfa-message-card {
	padding: 24px;
	border: 1px solid var(--nfa-line);
	border-radius: 16px;
	background: var(--nfa-cloud);
}

.nu-focus-account .nfa-dashboard__note strong {
	color: var(--nfa-ink);
}

.nu-focus-account .nfa-dashboard__note p {
	margin: 5px 0 0;
	color: var(--nfa-muted);
	font-size: 0.8rem;
	line-height: 1.6;
}

.nu-focus-account .nfa-dashboard__note a {
	color: var(--nfa-purple-dark);
	font-weight: 800;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.nu-focus-account .nfa-dashboard__note a:hover,
.nu-focus-account .nfa-dashboard__note a:focus-visible {
	color: var(--nfa-deep);
}

/* Authentication and recovery */
.nu-focus-account .nfa-auth-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(290px, 0.85fr);
	max-width: 1040px;
	margin-inline: auto;
	gap: clamp(22px, 4vw, 38px);
}

.nu-focus-account .nfa-auth-grid.has-registration {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nu-focus-account .nfa-auth-grid.nfa-auth-grid--single,
.nu-focus-account .nfa-auth-grid.nfa-auth-grid--single.has-registration {
	grid-template-columns: minmax(0, 590px);
	max-width: 590px;
	justify-content: center;
}

.nu-focus-account .nfa-auth-grid [data-nfa-auth-panel][hidden] {
	display: none !important;
}

.nu-focus-account .nfa-auth-panel,
.nu-focus-account .nfa-auth-guide {
	padding: clamp(24px, 3.5vw, 34px);
	border: 1px solid var(--nfa-line);
	border-radius: 21px;
	background: #fff;
	box-shadow: var(--nfa-shadow);
}

.nu-focus-account .nfa-auth-guide {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background:
		radial-gradient(circle at 90% 8%, rgba(244, 237, 80, 0.17), transparent 25%),
		var(--nfa-deep);
	color: #fff;
}

.nu-focus-account .nfa-auth-panel--single {
	max-width: 590px;
	margin-inline: auto;
}

.nu-focus-account .nfa-auth-panel .nfl-kicker,
.nu-focus-account .nfa-auth-guide .nfl-kicker {
	margin-bottom: 6px;
}

.nu-focus-account .nfa-auth-panel h2,
.nu-focus-account .nfa-auth-guide h2,
.nu-focus-account .nfa-message-card h2 {
	margin: 0 0 11px;
	color: var(--nfa-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	font-weight: 760;
	letter-spacing: -0.035em;
}

.nu-focus-account .nfa-auth-guide h2 {
	color: #fff;
}

.nu-focus-account .nfa-auth-panel__intro,
.nu-focus-account .nfa-auth-guide > p:not(.nfl-kicker) {
	margin: 0 0 18px;
	color: var(--nfa-muted);
	font-size: 0.84rem;
	line-height: 1.65;
}

.nu-focus-account .nfa-auth-guide > p:not(.nfl-kicker) {
	color: rgba(255, 255, 255, 0.76);
}

.nu-focus-account .nfa-auth-guide .nfl-button {
	align-self: flex-start;
	margin: 4px 0 19px;
	background: var(--nfa-yellow);
	color: var(--nfa-deep);
}

.nu-focus-account .nfa-auth-guide .nfa-text-link {
	color: #fff;
}

.nu-focus-account form .form-row,
.nu-focus-account .pmpro_checkout-field,
.nu-focus-account .pmpro_form_field {
	display: grid;
	width: 100%;
	margin: 0 0 12px;
	padding: 0;
	gap: 7px;
}

.nu-focus-account form label,
.nu-focus-account .pmpro_checkout-field label,
.nu-focus-account .pmpro_form_label {
	color: var(--nfa-ink);
	font-size: 0.74rem;
	font-weight: 780;
	line-height: 1.4;
}

.nu-focus-account input[type="text"],
.nu-focus-account input[type="email"],
.nu-focus-account input[type="password"],
.nu-focus-account input[type="tel"],
.nu-focus-account input[type="number"],
.nu-focus-account input[type="url"],
.nu-focus-account select,
.nu-focus-account textarea,
.nu-focus-account .select2-container .select2-selection {
	width: 100%;
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid #d8d6e3;
	border-radius: 10px;
	background: #fff;
	box-shadow: none;
	color: var(--nfa-ink);
	font-size: 0.84rem;
}

.nu-focus-account textarea {
	min-height: 120px;
	resize: vertical;
}

.nu-focus-account input[type="checkbox"],
.nu-focus-account input[type="radio"] {
	width: 17px;
	height: 17px;
	min-height: 0;
	padding: 0;
	accent-color: var(--nfa-purple);
}

.nu-focus-account input:focus,
.nu-focus-account select:focus,
.nu-focus-account textarea:focus,
.nu-focus-account .select2-container--focus .select2-selection {
	border-color: var(--nfa-purple) !important;
	box-shadow: 0 0 0 3px rgba(98, 87, 232, 0.13) !important;
	outline: 0;
}

.nu-focus-account .password-input {
	position: relative;
	display: block;
	width: 100%;
}

.nu-focus-account .show-password-input {
	position: absolute !important;
	top: 50%;
	right: 5px;
	left: auto;
	z-index: 2;
	display: grid !important;
	width: 40px !important;
	height: 40px !important;
	min-width: 40px !important;
	min-height: 40px !important;
	place-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #747588 !important;
	line-height: 1 !important;
	transform: translateY(-50%);
}

.nu-focus-account .show-password-input:hover,
.nu-focus-account .show-password-input:focus-visible {
	background: #f0efff !important;
	color: var(--nfa-purple-dark) !important;
	transform: translateY(-50%);
}

.nu-focus-account .password-input input {
	padding-right: 49px;
}

.nu-focus-account .nfa-auth-options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 2px 0 14px;
	font-size: 0.72rem;
	gap: 10px;
}

.nu-focus-account .nfa-auth-options label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.nu-focus-account .nfa-auth-options a,
.nu-focus-account .nfa-text-link {
	color: var(--nfa-purple-dark);
	font-size: 0.73rem;
	font-weight: 800;
}

.nu-focus-account .nfa-auth-switch {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--nfa-line);
	color: var(--nfa-muted);
	font-size: 0.76rem;
	font-weight: 700;
	gap: 12px;
}

.nu-focus-account .nfa-auth-toggle {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 1px solid var(--nfa-purple);
	border-radius: 999px;
	background: var(--nfa-purple);
	color: #fff;
	font-size: 0.73rem;
	font-weight: 820;
	line-height: 1.2;
	text-decoration: none;
	transition: background 170ms ease, border-color 170ms ease, color 170ms ease, transform 170ms ease;
}

.nu-focus-account .nfa-auth-toggle:hover,
.nu-focus-account .nfa-auth-toggle:focus-visible {
	border-color: var(--nfa-purple-dark);
	background: var(--nfa-purple-dark);
	color: #fff;
	transform: translateY(-1px);
}

.nu-focus-account .nfa-auth-toggle--secondary {
	background: #fff;
	color: var(--nfa-purple-dark);
}

.nu-focus-account .nfa-auth-toggle--secondary:hover,
.nu-focus-account .nfa-auth-toggle--secondary:focus-visible {
	color: #fff;
}

.nu-focus-account .nfa-auth-switch--links {
	justify-content: flex-start;
}

.nu-focus-account .nfa-auth-switch--links a {
	color: var(--nfa-purple-dark);
	font-weight: 800;
}

.nu-focus-account .nfa-form-help,
.nu-focus-account .pmpro_form_hint,
.nu-focus-account .lite,
.nu-focus-account .pmpro_asterisk abbr {
	color: var(--nfa-muted);
	font-size: 0.72rem;
	line-height: 1.55;
}

/* WooCommerce loads its generic account forms after the route stylesheet.
 * Neutralise those late float, border and percentage-width rules inside the
 * theme-owned authentication card so captcha and actions stay in document
 * flow on both sign-in and password recovery. */
.nu-focus-account .nfa-auth-panel form.woocommerce-form-login,
.nu-focus-account .nfa-auth-panel form.woocommerce-form-register,
.nu-focus-account .nfa-auth-panel form.lost_reset_password,
.nu-focus-account .nfa-auth-panel form.woocommerce-ResetPassword {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
	clear: both;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.nu-focus-account .nfa-auth-panel form .form-row,
.nu-focus-account .nfa-auth-panel form .form-row-first,
.nu-focus-account .nfa-auth-panel form .form-row-last,
.nu-focus-account .nfa-auth-panel form .form-row-wide {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	clear: both !important;
}

.nu-focus-account .nfa-auth-panel form > .g-recaptcha {
	width: 304px !important;
	max-width: 100%;
	height: 78px;
	clear: both;
	overflow: hidden;
	margin: 0 0 12px !important;
}

.nu-focus-account .nfa-auth-panel form > .g-recaptcha + br {
	display: none !important;
}

.nu-focus-account .nfa-auth-panel form > button[type="submit"] {
	display: inline-flex !important;
	width: 100%;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	float: none !important;
	clear: both;
	margin: 0 !important;
}

.nu-focus-account .nfa-auth-panel .lost_reset_password + .nfa-text-link,
.nu-focus-account .nfa-auth-panel .woocommerce-ResetPassword + .nfa-text-link {
	display: inline-flex;
	margin-top: 16px;
}

/* Signed-out journeys should expose their controls without requiring a
 * desktop visitor to scroll through an oversized introductory hero first. */
.nu-focus-account--signed-out .nfa-hero {
	padding: 22px 0 30px;
}

.nu-focus-account--signed-out .nfa-breadcrumbs {
	margin-bottom: 18px;
}

.nu-focus-account--signed-out .nfa-hero__copy h1 {
	margin: 4px 0 10px;
	font-size: clamp(2.35rem, 5vw, 3.9rem);
}

.nu-focus-account--signed-out .nfa-hero__copy > p:last-child {
	max-width: 620px;
	font-size: 0.96rem;
	line-height: 1.55;
}

.nu-focus-account--signed-out .nfa-content {
	padding: 36px 0 64px;
}

.nu-focus-account button[type="submit"],
.nu-focus-account input[type="submit"],
.nu-focus-account .button,
.nu-focus-account a.button,
.nu-focus-account .pmpro_btn,
.nu-focus-account .pmpro_button,
.nu-focus-account #pmpro_btn-submit {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 11px 20px;
	border: 1px solid var(--nfa-purple);
	border-radius: 999px;
	background: var(--nfa-purple);
	box-shadow: none;
	color: #fff !important;
	font-size: 0.75rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: background 170ms ease, border-color 170ms ease, transform 170ms ease;
}

.nu-focus-account button[type="submit"]:hover,
.nu-focus-account button[type="submit"]:focus-visible,
.nu-focus-account input[type="submit"]:hover,
.nu-focus-account input[type="submit"]:focus-visible,
.nu-focus-account .button:hover,
.nu-focus-account .button:focus-visible,
.nu-focus-account .pmpro_btn:hover,
.nu-focus-account .pmpro_btn:focus-visible,
.nu-focus-account #pmpro_btn-submit:hover,
.nu-focus-account #pmpro_btn-submit:focus-visible {
	border-color: var(--nfa-purple-dark);
	background: var(--nfa-purple-dark);
	color: #fff !important;
	transform: translateY(-1px);
}

.nu-focus-account .nfa-message-card {
	max-width: 650px;
	margin-inline: auto;
	text-align: center;
}

.nu-focus-account .nfa-message-card__mark {
	display: grid;
	width: 54px;
	height: 54px;
	place-items: center;
	margin: 0 auto 16px;
	border-radius: 999px;
	background: #e8f7f2;
	color: var(--nfa-green);
	font-size: 1.35rem;
	font-weight: 900;
}

.nu-focus-account .nfa-message-card p {
	margin: 0 auto 21px;
	color: var(--nfa-muted);
	line-height: 1.65;
}

/* WooCommerce account content */
.nu-focus-account .woocommerce-MyAccount-content > h2,
.nu-focus-account .woocommerce-MyAccount-content > h3,
.nu-focus-account .woocommerce-Address-title h2,
.nu-focus-account .woocommerce-order-details__title,
.nu-focus-account .woocommerce-customer-details > h2 {
	margin: 0 0 20px;
	color: var(--nfa-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(1.7rem, 3vw, 2.45rem);
	font-weight: 760;
	letter-spacing: -0.035em;
}

.nu-focus-account .woocommerce-MyAccount-content > p {
	color: var(--nfa-muted);
	line-height: 1.7;
}

.nu-focus-account table.shop_table,
.nu-focus-account table.account-orders-table,
.nu-focus-account table.woocommerce-table {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid var(--nfa-line);
	border-radius: 15px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
	font-size: 0.78rem;
}

.nu-focus-account table.shop_table th,
.nu-focus-account table.account-orders-table th,
.nu-focus-account table.woocommerce-table th {
	padding: 14px 15px;
	border: 0;
	border-bottom: 1px solid var(--nfa-line);
	background: var(--nfa-cloud);
	color: var(--nfa-ink);
	font-weight: 800;
	text-align: left;
}

.nu-focus-account table.shop_table td,
.nu-focus-account table.account-orders-table td,
.nu-focus-account table.woocommerce-table td {
	padding: 15px;
	border: 0;
	border-bottom: 1px solid var(--nfa-line);
	color: #55586a;
	vertical-align: middle;
}

.nu-focus-account table.shop_table tr:last-child td,
.nu-focus-account table.account-orders-table tr:last-child td,
.nu-focus-account table.woocommerce-table tr:last-child td {
	border-bottom: 0;
}

.nu-focus-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 26px 0 0;
	gap: 18px;
}

.nu-focus-account .woocommerce-Address {
	width: auto;
	float: none;
	padding: 23px;
	border: 1px solid var(--nfa-line);
	border-radius: 16px;
	background: #fff;
}

.nu-focus-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
}

.nu-focus-account .woocommerce-Address-title h2 {
	margin: 0;
	font-size: 1.3rem;
}

.nu-focus-account address {
	margin-top: 14px;
	color: var(--nfa-muted);
	font-size: 0.78rem;
	font-style: normal;
	line-height: 1.7;
}

.nu-focus-account .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 18px;
	gap: 12px;
}

/* Paid Memberships Pro and MasterStudy membership presentation */
.nu-focus-account .nfa-plugin-page > .pmpro,
.nu-focus-account .pmpro,
.nu-focus-account #pmpro_account,
.nu-focus-account #pmpro_form {
	max-width: 1100px;
	margin-inline: auto;
}

.nu-focus-account .pmpro h2,
.nu-focus-account .pmpro h3,
.nu-focus-account .pmpro_section_title,
.nu-focus-account .pmpro_card_title,
.nu-focus-account .pmpro_checkout h2,
.nu-focus-account .stm_lms_pmpro_title h2,
.nu-focus-account .stm_lms_pmpro_title h3 {
	color: var(--nfa-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-weight: 760;
	letter-spacing: -0.03em;
}

.nu-focus-account .pmpro_card,
.nu-focus-account .pmpro_section,
.nu-focus-account .pmpro_checkout,
.nu-focus-account .pmpro_box {
	margin: 0 0 19px;
	padding: clamp(22px, 4vw, 34px);
	border: 1px solid var(--nfa-line) !important;
	border-radius: 18px !important;
	background: #fff !important;
	box-shadow: 0 11px 32px rgba(37, 33, 76, 0.05) !important;
}

.nu-focus-account .pmpro_card_content,
.nu-focus-account .pmpro_section_content,
.nu-focus-account .pmpro_checkout-fields {
	color: var(--nfa-muted);
	font-size: 0.84rem;
	line-height: 1.68;
}

.nu-focus-account #pmpro_form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(290px, 350px);
	align-items: start;
	gap: 18px 30px;
}

.nu-focus-account #pmpro_form > * {
	grid-column: 1;
}

.nu-focus-account #pmpro_form > #pmpro_pricing_fields,
.nu-focus-account #pmpro_form > .pmpro_pricing_fields_container {
	position: sticky;
	top: 118px;
	grid-row: 1 / span 8;
	grid-column: 2;
	border-color: rgba(98, 87, 232, 0.27) !important;
	background: linear-gradient(145deg, #f5f3ff, #fffdf2) !important;
}

.nu-focus-account #pmpro_form > .pmpro_submit,
.nu-focus-account #pmpro_form > .pmpro_actions_nav {
	grid-column: 1;
}

.nu-focus-account table.pmpro_checkout,
.nu-focus-account #pmpro_form table {
	display: block;
	width: 100%;
	margin: 0 0 19px;
	border: 1px solid var(--nfa-line) !important;
	border-radius: 18px;
	border-collapse: separate;
	overflow: hidden;
	background: #fff;
}

.nu-focus-account table.pmpro_checkout thead,
.nu-focus-account table.pmpro_checkout tbody,
.nu-focus-account table.pmpro_checkout tr,
.nu-focus-account table.pmpro_checkout th,
.nu-focus-account table.pmpro_checkout td,
.nu-focus-account #pmpro_form table thead,
.nu-focus-account #pmpro_form table tbody,
.nu-focus-account #pmpro_form table tr,
.nu-focus-account #pmpro_form table th,
.nu-focus-account #pmpro_form table td {
	display: block;
	width: 100%;
}

.nu-focus-account table.pmpro_checkout th,
.nu-focus-account #pmpro_form table th {
	padding: 17px 22px;
	border: 0;
	border-bottom: 1px solid var(--nfa-line);
	background: var(--nfa-cloud);
	color: var(--nfa-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 760;
	text-align: left;
}

.nu-focus-account table.pmpro_checkout td,
.nu-focus-account #pmpro_form table td {
	padding: 22px;
	border: 0;
}

.nu-focus-account #pmpro_level_cost,
.nu-focus-account .pmpro_level_cost_text {
	color: var(--nfa-ink);
	font-size: 0.9rem;
	line-height: 1.7;
}

.nu-focus-account .pmpro_checkout_gateway-stripe form,
.nu-focus-account .pmpro_payment-expiration,
.nu-focus-account .pmpro_form_fields-inline {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.nu-focus-account .pmpro_submit,
.nu-focus-account .pmpro_actions_nav,
.nu-focus-account .pmpro_card_actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 20px;
	gap: 12px;
}

.nu-focus-account .pmpro_actions_nav a,
.nu-focus-account .pmpro_card_actions a {
	color: var(--nfa-purple-dark);
	font-size: 0.75rem;
	font-weight: 800;
}

.nu-focus-account .pmpro_table {
	width: 100%;
	border: 1px solid var(--nfa-line);
	border-radius: 14px;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.nu-focus-account .pmpro_table th,
.nu-focus-account .pmpro_table td {
	padding: 13px 14px;
	border: 0;
	border-bottom: 1px solid var(--nfa-line);
	font-size: 0.76rem;
	text-align: left;
}

.nu-focus-account .pmpro_table th {
	background: var(--nfa-cloud);
	color: var(--nfa-ink);
}

.nu-focus-account .stm_lms_pmpro_head,
.nu-focus-account .stm_lms_pmpro_title,
.nu-focus-account .stm_lms_pmpro_groups {
	max-width: 1120px;
	margin-right: auto;
	margin-left: auto;
}

.nu-focus-account .stm_lms_pmpro_head,
.nu-focus-account .stm_lms_pmpro_title {
	margin-bottom: 30px;
	text-align: left;
}

.nu-focus-account .stm_lms_pmpro_title h2,
.nu-focus-account .stm_lms_pmpro_title h3 {
	margin-bottom: 8px;
	font-size: clamp(1.8rem, 3.5vw, 2.8rem);
}

.nu-focus-account .stm_lms_plans {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	max-width: 1120px;
	margin: 0 auto !important;
	gap: 20px;
}

.nu-focus-account .stm_lms_plan {
	display: flex !important;
	width: auto !important;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	margin: 0 !important;
	padding: clamp(25px, 4vw, 38px) !important;
	border: 1px solid var(--nfa-line) !important;
	border-radius: 20px !important;
	background: #fff !important;
	box-shadow: var(--nfa-shadow) !important;
	color: var(--nfa-ink) !important;
}

.nu-focus-account .stm_lms_plan h3,
.nu-focus-account .stm_lms_plan h4,
.nu-focus-account .stm_lms_plan__title {
	color: var(--nfa-ink) !important;
	font-family: "Outfit", Arial, sans-serif;
	font-weight: 760;
}

.nu-focus-account .stm_lms_plan .price,
.nu-focus-account .stm_lms_plan__price {
	color: var(--nfa-purple-dark) !important;
	font-family: "Outfit", Arial, sans-serif;
	font-size: clamp(2rem, 4vw, 3rem) !important;
	font-weight: 800;
}

.nu-focus-account .stm_lms_plan ul {
	margin: 20px 0 25px;
	padding-left: 20px;
	color: var(--nfa-muted);
	font-size: 0.8rem;
	line-height: 1.7;
}

.nu-focus-account .stm_lms_plan .btn,
.nu-focus-account .stm_lms_plan a.button,
.nu-focus-account .stm_lms_plan__button {
	width: 100%;
	margin-top: auto;
	border-color: var(--nfa-purple) !important;
	background: var(--nfa-purple) !important;
	color: #fff !important;
}

/* RC6: MasterStudy keeps the price and action in a horizontal flex row and
 * its responsive two-column grid leaves a lone plan at half width. Give a
 * single membership a stable card and keep decimal prices on one line. */
.nu-focus-account .stm_lms_plans > .stm_lms_plan:only-child {
	width: min(100%, 460px) !important;
	max-width: 460px;
	grid-column: 1 / -1;
	justify-self: center;
}

.nu-focus-account .stm_lms_plan__inner,
.nu-focus-account .stm_lms_plan__inner_top,
.nu-focus-account .stm_lms_plan__price,
.nu-focus-account .stm_lms_plan__with_btn {
	width: 100% !important;
	min-width: 0;
}

.nu-focus-account .stm_lms_plan__inner_top {
	min-height: 0 !important;
	padding: 12px 0 22px !important;
}

.nu-focus-account .stm_lms_plan__price {
	font-size: inherit !important;
	line-height: normal !important;
}

.nu-focus-account .stm_lms_plan__with_btn {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	margin: 0 0 12px !important;
	gap: 18px;
}

.nu-focus-account .stm_lms_plan .stm_lms_plan__with_btn > .price {
	width: auto !important;
	margin: 0 !important;
	font-size: clamp(2.55rem, 7vw, 3.35rem) !important;
	line-height: 1.05 !important;
	text-align: center;
	white-space: nowrap;
}

.nu-focus-account .stm_lms_plan__button {
	width: 100% !important;
	margin: 0 !important;
	font-size: inherit !important;
	line-height: normal !important;
}

.nu-focus-account .stm_lms_plan__button .btn {
	display: inline-flex !important;
	width: 100% !important;
	min-width: 0 !important;
	align-items: center;
	justify-content: center;
}

.nu-focus-account .stm_lms_plan__period {
	width: 100% !important;
	margin: 0 !important;
	font-size: 0.84rem !important;
	line-height: 1.45 !important;
	text-align: center;
}

/* Support close */
.nu-focus-account .nfa-support {
	padding: clamp(62px, 8vw, 96px) 0;
	background:
		radial-gradient(circle at 87% 12%, rgba(244, 237, 80, 0.13), transparent 24%),
		linear-gradient(135deg, var(--nfa-deep), #393474);
	color: #fff;
}

.nu-focus-account .nfa-support__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(34px, 6vw, 75px);
}

.nu-focus-account .nfa-support__inner > div:first-child {
	max-width: 720px;
}

.nu-focus-account .nfa-support .nfl-kicker {
	color: var(--nfa-yellow);
}

.nu-focus-account .nfa-support h2 {
	margin: 0 0 12px;
	color: #fff;
	font-size: clamp(2rem, 4vw, 3.5rem);
}

.nu-focus-account .nfa-support p:last-child {
	margin: 0;
	color: #fff;
}

.nu-focus-account .nfa-support .nfl-button-group {
	flex: 0 0 auto;
	justify-content: flex-end;
}

@media (max-width: 980px) {
	.nu-focus-account .nfa-myaccount-layout,
	.nu-focus-account #pmpro_form {
		grid-template-columns: 1fr;
	}

	.nu-focus-account .nfa-account-nav,
	.nu-focus-account #pmpro_form > #pmpro_pricing_fields,
	.nu-focus-account #pmpro_form > .pmpro_pricing_fields_container {
		position: static;
		grid-row: auto;
		grid-column: 1;
	}

	.nu-focus-account .nfa-account-nav ul {
		display: flex;
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.nu-focus-account .nfa-account-nav li {
		flex: 0 0 auto;
	}

	.nu-focus-account .nfa-account-nav li a {
		grid-template-columns: 28px auto;
		white-space: nowrap;
	}

	.nu-focus-account .nfa-account-nav__icon {
		width: 28px;
		height: 28px;
		border-radius: 9px;
	}

	.nu-focus-account .nfa-account-nav__related {
		grid-template-columns: auto 1fr 1fr;
		align-items: center;
	}

	.nu-focus-account .stm_lms_plans {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.nu-focus-account .nfa-auth-grid,
	.nu-focus-account .nfa-auth-grid.has-registration,
	.nu-focus-account .nfa-dashboard__cards,
	.nu-focus-account .woocommerce-Addresses,
	.nu-focus-account .stm_lms_plans {
		grid-template-columns: 1fr;
	}

	.nu-focus-account .nfa-dashboard__welcome {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.nu-focus-account .nfa-dashboard__welcome .nfa-text-link {
		grid-column: 1 / -1;
	}

	.nu-focus-account .nfa-support__inner {
		align-items: flex-start;
		flex-direction: column;
	}

	.nu-focus-account .nfa-support .nfl-button-group {
		justify-content: flex-start;
	}
}

@media (max-width: 640px) {
	.nu-focus-account .nfa-hero {
		padding-top: 27px;
	}

	.nu-focus-account .nfa-hero__copy h1 {
		font-size: clamp(2.45rem, 13vw, 3.75rem);
	}

	.nu-focus-account .nfa-account-nav__related {
		grid-template-columns: 1fr;
	}

	.nu-focus-account .nfa-dashboard__welcome {
		grid-template-columns: 1fr;
		text-align: left;
	}

	.nu-focus-account .nfa-dashboard__avatar {
		width: 60px;
		height: 60px;
	}

	.nu-focus-account .nfa-auth-options,
	.nu-focus-account .pmpro_submit,
	.nu-focus-account .pmpro_actions_nav,
	.nu-focus-account .pmpro_card_actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.nu-focus-account .nfa-auth-panel button[type="submit"],
	.nu-focus-account .nfa-message-card .nfl-button,
	.nu-focus-account .pmpro_submit .pmpro_btn,
	.nu-focus-account #pmpro_btn-submit {
		width: 100%;
	}

	.nu-focus-account .nfa-auth-switch {
		align-items: stretch;
		flex-direction: column;
	}

	.nu-focus-account .nfa-auth-toggle {
		width: 100%;
	}

	.nu-focus-account .pmpro_checkout_gateway-stripe form,
	.nu-focus-account .pmpro_payment-expiration,
	.nu-focus-account .pmpro_form_fields-inline {
		grid-template-columns: 1fr;
	}

	.nu-focus-account table.shop_table_responsive thead,
	.nu-focus-account table.account-orders-table thead {
		display: none;
	}

	.nu-focus-account table.shop_table_responsive tr,
	.nu-focus-account table.account-orders-table tr {
		display: block;
		padding: 8px 0;
		border-bottom: 1px solid var(--nfa-line);
	}

	.nu-focus-account table.shop_table_responsive td,
	.nu-focus-account table.account-orders-table td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 10px 13px;
		border: 0;
		gap: 16px;
		text-align: right;
	}

	.nu-focus-account table.shop_table_responsive td::before,
	.nu-focus-account table.account-orders-table td::before {
		content: attr(data-title);
		color: var(--nfa-ink);
		font-weight: 800;
		text-align: left;
	}

	.nu-focus-account .nfa-support .nfl-button-group,
	.nu-focus-account .nfa-support .nfl-button {
		width: 100%;
	}
}

/* 2.19.2 account form and extension controls. */
.nu-focus-account .nfa-account-surface,
.nu-focus-account .nfa-plugin-page,
.nu-focus-account .woocommerce-MyAccount-content,
.nu-focus-account .woocommerce-EditAccountForm {
	font-family: "Outfit", Arial, sans-serif;
}

.nu-focus-account .nfa-edit-account {
	display: grid;
	max-width: 820px;
	padding: clamp(24px, 4vw, 38px);
	border: 1px solid var(--nfa-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(38, 34, 83, 0.055);
	gap: 4px;
}

.nu-focus-account .nfa-edit-account__identity {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.nu-focus-account .nfa-edit-account .form-row-first,
.nu-focus-account .nfa-edit-account .form-row-last {
	width: 100%;
	float: none;
}

.nu-focus-account .nfa-field-note,
.nu-focus-account .nfa-edit-account .form-row > span:not(.password-input) {
	display: block;
	color: var(--nfa-muted);
	font-size: 0.7rem;
	font-style: normal;
	line-height: 1.5;
}

.nu-focus-account .nfa-password-change {
	display: grid;
	min-width: 0;
	margin: 10px 0 20px;
	padding: clamp(20px, 3vw, 28px);
	border: 1px solid var(--nfa-line);
	border-radius: 16px;
	background: var(--nfa-cloud);
	gap: 0;
}

.nu-focus-account .nfa-password-change legend {
	width: auto;
	margin: 0;
	padding: 0 8px;
	color: var(--nfa-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1.15rem;
	font-weight: 780;
	letter-spacing: -0.02em;
}

.nu-focus-account .nfa-password-change > .nfa-field-note {
	margin: 0 0 17px;
}

.nu-focus-account .nfa-edit-account__extensions:empty {
	display: none;
}

.nu-focus-account .nfa-edit-account__extensions:not(:empty) {
	display: grid;
	margin: 0 0 20px;
	padding: clamp(18px, 3vw, 25px);
	border: 1px solid var(--nfa-line);
	border-radius: 16px;
	background: #fffdf4;
	gap: 12px;
}

.nu-focus-account .nfa-edit-account__extensions :is(h2, h3, h4, legend) {
	margin: 0 0 8px;
	color: var(--nfa-ink);
	font-family: "Outfit", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 780;
}

.nu-focus-account .nfa-edit-account__extensions :is(p, ul, ol, fieldset) {
	margin-top: 0;
	margin-bottom: 0;
}

.nu-focus-account .nfa-edit-account__extensions ul,
.nu-focus-account .nfa-edit-account__extensions ol {
	display: grid;
	padding: 0;
	list-style: none;
	gap: 9px;
}

.nu-focus-account .nfa-edit-account__extensions label:has(input[type="checkbox"]),
.nu-focus-account .nfa-edit-account__extensions label:has(input[type="radio"]) {
	display: inline-flex;
	align-items: center;
	margin: 0 14px 0 0;
	gap: 7px;
}

.nu-focus-account .nfa-edit-account__extensions input[type="checkbox"],
.nu-focus-account .nfa-edit-account__extensions input[type="radio"] {
	flex: 0 0 17px;
}

.nu-focus-account .nfa-edit-account__submit {
	margin: 0;
}

@media (max-width: 640px) {
	.nu-focus-account .nfa-edit-account__identity {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nu-focus-account .nfa-dashboard-card,
	.nu-focus-account button,
	.nu-focus-account .button {
		transition: none;
	}
}

/* RC3 account navigation, address and action-state corrections. */
.nu-focus-account .nfa-hero__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: clamp(28px, 6vw, 76px);
}

.nu-focus-account .nfa-hero__account-link {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 11px 18px;
	gap: 9px;
	border: 1px solid rgba(98, 87, 232, 0.24);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 12px 30px rgba(37, 33, 76, 0.08);
	color: var(--nfa-purple-dark);
	font-size: 0.76rem;
	font-weight: 820;
	white-space: nowrap;
}

.nu-focus-account .nfa-hero__account-link svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
}

.nu-focus-account .nfa-hero__account-link:hover,
.nu-focus-account .nfa-hero__account-link:focus-visible {
	border-color: var(--nfa-purple);
	background: var(--nfa-purple);
	color: #fff;
}

.nu-focus-account .nfa-support .nfl-button--ghost {
	border-color: rgba(255, 255, 255, 0.68) !important;
	background: transparent !important;
	color: #fff !important;
}

.nu-focus-account .nfa-support .nfl-button--ghost:hover,
.nu-focus-account .nfa-support .nfl-button--ghost:focus-visible {
	border-color: var(--nfa-yellow) !important;
	background: var(--nfa-yellow) !important;
	color: var(--nfa-deep) !important;
}

.nu-focus-account .nfa-auth-panel form button[type="submit"],
.nu-focus-account .nfa-auth-panel form input[type="submit"] {
	border-color: #d8d5e2 !important;
	background: #e9e7ef !important;
	color: #747283 !important;
	-webkit-text-fill-color: #747283 !important;
	cursor: pointer;
	transform: none !important;
}

.nu-focus-account .nfa-auth-panel form button[type="submit"].is-ready:not(:disabled),
.nu-focus-account .nfa-auth-panel form input[type="submit"].is-ready:not(:disabled) {
	border-color: var(--nfa-purple) !important;
	background: var(--nfa-purple) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.nu-focus-account .nfa-auth-panel form button[type="submit"].is-ready:not(:disabled):hover,
.nu-focus-account .nfa-auth-panel form button[type="submit"].is-ready:not(:disabled):focus-visible,
.nu-focus-account .nfa-auth-panel form input[type="submit"].is-ready:not(:disabled):hover,
.nu-focus-account .nfa-auth-panel form input[type="submit"].is-ready:not(:disabled):focus-visible {
	border-color: var(--nfa-purple-dark) !important;
	background: var(--nfa-purple-dark) !important;
	transform: translateY(-1px) !important;
}

.nu-focus-account .nfa-myaccount-content .button:not(.disabled):not(:disabled),
.nu-focus-account .nfa-myaccount-content a.button:not(.disabled),
.nu-focus-account .nfa-myaccount-content button.button:not(.disabled):not(:disabled),
.nu-focus-account .nfa-myaccount-content input[type="submit"]:not(:disabled) {
	border-color: var(--nfa-purple) !important;
	background: var(--nfa-purple) !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	opacity: 1 !important;
}

.nu-focus-account .nfa-myaccount-content .button.disabled,
.nu-focus-account .nfa-myaccount-content .button:disabled,
.nu-focus-account .nfa-myaccount-content button:disabled,
.nu-focus-account .nfa-myaccount-content [aria-disabled="true"] {
	border-color: #d8d5e2 !important;
	background: #efedf4 !important;
	color: #666477 !important;
	-webkit-text-fill-color: #666477 !important;
	opacity: 1 !important;
}

.nu-focus-account .nfa-myaccount-content .woocommerce-info::before,
.nu-focus-account .nfa-myaccount-content .woocommerce-message::before,
.nu-focus-account .nfa-myaccount-content .woocommerce-error::before {
	display: none !important;
	content: none !important;
}

.nu-focus-account .woocommerce-Addresses > .woocommerce-Address,
.nu-focus-account .woocommerce-Addresses > [class*="col-"] {
	width: auto !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
}

.nu-focus-account .woocommerce-Address {
	box-sizing: border-box;
	min-width: 0;
}

.nu-focus-account .woocommerce-address-fields__field-wrapper,
.nu-focus-account .woocommerce-EditAddressForm .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.nu-focus-account .woocommerce-address-fields .form-row,
.nu-focus-account .woocommerce-EditAddressForm .form-row,
.nu-focus-account .nfa-myaccount-content .form-row-first,
.nu-focus-account .nfa-myaccount-content .form-row-last {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	clear: none !important;
}

.nu-focus-account .woocommerce-address-fields .form-row-wide,
.nu-focus-account .woocommerce-address-fields > p,
.nu-focus-account .woocommerce-address-fields > button {
	grid-column: 1 / -1;
}

@media (max-width: 780px) {
	.nu-focus-account .nfa-hero__main,
	.nu-focus-account .woocommerce-address-fields__field-wrapper,
	.nu-focus-account .woocommerce-EditAddressForm .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.nu-focus-account .nfa-hero__account-link {
		justify-self: start;
		white-space: normal;
	}
}

/* RC4: keep WooCommerce notices and legacy address clear-fixes inside the
 * account layout, including the signed-out authentication route. */
.nu-focus-account--signed-out .nfa-account-surface > .woocommerce-notices-wrapper,
.nu-focus-account--signed-out .nfa-account-surface > .woocommerce-error,
.nu-focus-account--signed-out .nfa-account-surface > .woocommerce-info,
.nu-focus-account--signed-out .nfa-account-surface > .woocommerce-message {
	width: min(100%, 590px);
	margin-right: auto !important;
	margin-left: auto !important;
}

.nu-focus-account :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) {
	box-sizing: border-box;
	list-style: none !important;
}

.nu-focus-account :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::before,
.nu-focus-account :is(.woocommerce-error, .woocommerce-info, .woocommerce-message)::after,
.nu-focus-account :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) li::before,
.nu-focus-account :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) li::after {
	display: none !important;
	content: none !important;
}

.nu-focus-account :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) li {
	display: block;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	color: inherit !important;
}

.nu-focus-account :is(.woocommerce-error, .woocommerce-info, .woocommerce-message) li + li {
	margin-top: 8px !important;
}

.nu-focus-account .woocommerce-Addresses::before,
.nu-focus-account .woocommerce-Addresses::after {
	display: none !important;
	content: none !important;
}

.nu-focus-account .woocommerce-Addresses > .woocommerce-Address:nth-of-type(1) {
	grid-column: 1;
}

.nu-focus-account .woocommerce-Addresses > .woocommerce-Address:nth-of-type(2) {
	grid-column: 2;
}

@media (max-width: 780px) {
	.nu-focus-account .woocommerce-Addresses > .woocommerce-Address:nth-of-type(1),
	.nu-focus-account .woocommerce-Addresses > .woocommerce-Address:nth-of-type(2) {
		grid-column: 1;
	}
}

@media print {
	.nu-focus-account .nfl-header,
	.nu-focus-account .nfl-footer,
	.nu-focus-account .nfa-support,
	.nu-focus-account .nfa-account-nav,
	.nu-focus-account .nfa-breadcrumbs {
		display: none !important;
	}

	.nu-focus-account .nfa-hero,
	.nu-focus-account .nfa-content {
		padding: 20px 0;
		background: #fff;
	}

	.nu-focus-account .nfa-myaccount-layout {
		display: block;
	}
}

/* Accessible checkout action: win over the LMS PMPro background rule. */
.nu-focus-account.pmpro-checkout #pmpro_submit_span input#pmpro_btn-submit { min-height:48px; padding:12px 24px; border:2px solid var(--nfa-purple); border-radius:999px; background:var(--nfa-purple); color:#fff!important; -webkit-text-fill-color:#fff; font-size:1rem; font-weight:800; line-height:1.2; cursor:pointer; }
.nu-focus-account.pmpro-checkout #pmpro_submit_span input#pmpro_btn-submit:hover,
.nu-focus-account.pmpro-checkout #pmpro_submit_span input#pmpro_btn-submit:focus-visible { border-color:var(--nfa-purple-dark); background:var(--nfa-purple-dark); color:#fff!important; }
.nu-focus-account.pmpro-checkout #pmpro_submit_span input#pmpro_btn-submit:focus-visible { outline:3px solid var(--nfa-purple-dark); outline-offset:3px; }
.nu-focus-account.pmpro-checkout #pmpro_submit_span input#pmpro_btn-submit:disabled { opacity:.65; cursor:not-allowed; transform:none; }
