.ep-research-profile,
.ep-profile-dashboard,
.ep-account-security {
	--ep-profile-navy: #102f4b;
	--ep-profile-blue: #1f9ed5;
	--ep-profile-border: #d6e1ea;
	--ep-profile-soft: #f7fafc;
	--ep-profile-muted: #536b7d;
	--ep-profile-success: #13704a;
	--ep-profile-warning: #9a5b00;
	box-sizing: border-box;
	color: #13293d;
}

.ep-research-profile *,
.ep-profile-dashboard *,
.ep-account-security * {
	box-sizing: border-box;
}

.ep-research-profile {
	clear: both;
	margin: 32px 0 20px;
	padding: clamp(20px, 4vw, 32px);
	border: 1px solid var(--ep-profile-border);
	border-radius: 12px;
	background: #fff;
}

.ep-research-profile.is-complete-locked {
	position: relative;
	overflow: hidden;
}

.ep-research-profile__content {
	transition: opacity 160ms ease;
}

.ep-research-profile.is-complete-locked .ep-research-profile__content {
	opacity: .3;
	pointer-events: none;
	user-select: none;
}

body.ep-account-profile-page .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.is-ep-profile-complete-locked > :not(.ep-research-profile):not([data-ep-profile-lock-host]),
body.ep-account-profile-page .woocommerce-MyAccount-content form.woocommerce-EditAccountForm:has(.ep-research-profile[data-ep-profile-locked]) > :not(.ep-research-profile):not(:has(.ep-research-profile)) {
	opacity: .32;
	pointer-events: none;
	user-select: none;
}

body.ep-account-profile-page .woocommerce-MyAccount-content form.woocommerce-EditAccountForm.is-ep-profile-complete-locked button[name="save_account_details"],
body.ep-account-profile-page .woocommerce-MyAccount-content form.woocommerce-EditAccountForm:has(.ep-research-profile[data-ep-profile-locked]) button[name="save_account_details"] {
	display: none !important;
}

.ep-profile-complete-overlay {
	position: absolute;
	z-index: 4;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(22px, 5vw, 48px);
	border-radius: inherit;
	background: rgba(232, 238, 242, .82);
}

.ep-profile-complete-overlay[hidden] {
	display: none !important;
}

.ep-profile-complete-overlay__card {
	display: grid;
	justify-items: center;
	width: min(100%, 440px);
	padding: clamp(22px, 4vw, 30px);
	border: 1px solid #bdccd7;
	border-radius: 11px;
	background: #fff;
	box-shadow: none;
	color: var(--ep-profile-navy);
	text-align: center;
}

.ep-profile-complete-overlay__check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0 0 12px;
	border-radius: 50%;
	background: #eaf7f1;
	color: var(--ep-profile-success);
	font-size: 23px;
	font-weight: 900;
	line-height: 1;
}

.ep-profile-complete-overlay__card h3 {
	position: static !important;
	margin: 0 !important;
	color: var(--ep-profile-navy) !important;
	font-size: clamp(22px, 3vw, 28px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	transform: none !important;
}

.ep-profile-complete-overlay__card p {
	margin: 10px 0 18px !important;
	color: var(--ep-profile-muted);
	font-size: 14px;
	line-height: 1.55 !important;
}

.ep-profile-complete-overlay__button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0 !important;
	padding: 10px 18px !important;
	border: 1px solid var(--ep-profile-blue) !important;
	border-radius: 7px !important;
	background: var(--ep-profile-blue) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
}

.ep-profile-complete-overlay__button.button:hover,
.ep-profile-complete-overlay__button.button:focus-visible {
	border-color: var(--ep-profile-navy) !important;
	background: var(--ep-profile-navy) !important;
	outline: 3px solid rgba(31, 158, 213, .28);
	outline-offset: 3px;
}

.ep-research-profile__intro {
	display: grid;
	gap: 8px;
	margin: 0 0 24px;
}

.ep-research-profile__intro > * {
	margin: 0 !important;
}

.ep-research-profile__title,
.ep-profile-dashboard h2 {
	position: static !important;
	display: block;
	margin: 0 !important;
	color: var(--ep-profile-navy);
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.18 !important;
	letter-spacing: -.02em !important;
	transform: none !important;
}

.ep-research-profile__intro p,
.ep-profile-dashboard p,
.ep-account-security p {
	line-height: 1.55 !important;
}

.ep-research-profile__intro a {
	color: #0170b9 !important;
	font-weight: 700;
}

.ep-profile-attention-summary {
	display: grid;
	gap: 4px;
	margin: 0 0 22px;
	padding: 13px 15px;
	border: 1px solid #e7aaa5;
	border-left: 4px solid #b42318;
	border-radius: 8px;
	background: #fff5f4;
	color: #7e211b;
	font-size: 13px;
	line-height: 1.5;
}

.ep-profile-attention-summary strong,
.ep-profile-attention-summary span {
	display: block;
	line-height: inherit !important;
}

.ep-profile-eyebrow {
	display: block;
	margin: 0 !important;
	color: #087fb1;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.4 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.ep-profile-grid {
	display: grid;
	gap: 16px;
}

.ep-profile-grid[hidden] {
	display: none !important;
}

.ep-research-profile .ep-profile-field {
	float: none !important;
	width: 100% !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

.ep-research-profile .ep-profile-grid .ep-profile-field {
	margin-bottom: 0 !important;
}

.ep-research-profile .ep-profile-grid {
	margin-bottom: 18px;
}

.ep-profile-field label {
	display: block;
	margin: 0 0 7px;
	color: var(--ep-profile-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.ep-profile-field .required {
	color: #b42318;
}

.ep-profile-field.needs-completion > label {
	color: #8e211a;
}

.ep-profile-field.needs-completion > input.input-text,
.ep-profile-field.needs-completion > select,
.ep-profile-field.needs-completion > textarea.input-text {
	border-color: #d37b74 !important;
	background: #fff8f7;
	box-shadow: 0 0 0 1px rgba(180, 35, 24, .06);
}

body.ep-account-profile-page form.woocommerce-EditAccountForm > .form-row.needs-completion > label,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register .form-row.needs-completion > label {
	color: #8e211a;
}

body.ep-account-profile-page form.woocommerce-EditAccountForm > .form-row.needs-completion input.input-text,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register .form-row.needs-completion input.input-text {
	border-color: #d37b74 !important;
	background: #fff8f7 !important;
	box-shadow: 0 0 0 1px rgba(180, 35, 24, .06);
}

.ep-profile-field input.input-text,
.ep-profile-field select,
.ep-profile-field textarea.input-text {
	display: block;
	width: 100% !important;
	min-height: 46px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #b8c9d6;
	border-radius: 7px;
	background: #fff;
	color: #13293d;
	font: inherit;
	line-height: 1.4;
}

.ep-profile-field textarea.input-text {
	min-height: 132px;
	resize: vertical;
}

.ep-profile-field input:focus-visible,
.ep-profile-field select:focus-visible,
.ep-profile-field textarea:focus-visible {
	border-color: var(--ep-profile-blue);
	outline: 3px solid rgba(31, 158, 213, .22);
	outline-offset: 1px;
}

.ep-profile-field [aria-invalid="true"] {
	border-color: #b42318 !important;
	box-shadow: 0 0 0 1px rgba(180, 35, 24, .08);
}

.ep-profile-field.has-error label,
.woocommerce-form-row.has-error label,
.form-row.has-error label {
	color: #9f1d16;
}

.ep-profile-inline-error {
	display: block;
	width: 100%;
	margin: 7px 0 0;
	padding: 8px 10px;
	border-left: 3px solid #b42318;
	border-radius: 4px;
	background: #fff1f0;
	color: #9f1d16;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45;
}

.woocommerce-form-row.has-error input,
.form-row.has-error input,
.wfacp-form-control-wrapper.has-error input,
.wfacp-form-control.has-error input,
input[aria-invalid="true"] {
	border-color: #b42318 !important;
	outline-color: rgba(180, 35, 24, .2) !important;
}

.ep-profile-help {
	display: block;
	margin-top: 6px;
	color: var(--ep-profile-muted);
	font-size: 12px;
	line-height: 1.5;
}

.ep-profile-confirmations {
	min-width: 0;
	margin: 8px 0 18px;
	padding: 16px;
	border: 1px solid var(--ep-profile-border);
	border-radius: 10px;
	background: var(--ep-profile-soft);
}

.ep-profile-confirmations[hidden] {
	display: none !important;
}

.ep-profile-confirmations__notice {
	margin: 0 0 10px;
	padding: 10px 12px;
	border-left: 3px solid #b42318;
	border-radius: 5px;
	background: #fff5f4;
	color: #7e211b;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
}

.ep-profile-confirmations legend {
	padding: 0 6px;
	color: var(--ep-profile-navy);
	font-size: 15px;
	font-weight: 800;
}

.ep-profile-required-key {
	display: inline-block;
	margin-left: 7px;
	color: #a52a21;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .02em;
}

.ep-profile-required-key > span,
.ep-profile-required-mark {
	color: #b42318;
	font-weight: 900;
}

.ep-profile-confirmation {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	min-height: 44px;
	margin: 0;
	padding: 11px 10px;
	border-radius: 7px;
	color: #243f55;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
}

.ep-profile-confirmation + .ep-profile-confirmation {
	border-top: 1px solid #e0e8ee;
}

.ep-profile-confirmation:hover {
	background: #eef6fa;
}

.ep-profile-confirmation.needs-completion {
	border: 1px solid #efc3bf;
	border-left: 3px solid #c94a40;
	background: #fff5f4;
}

.ep-profile-confirmation.needs-completion + .ep-profile-confirmation {
	border-top-color: #efc3bf;
}

.ep-profile-confirmation:focus-within {
	outline: 3px solid rgba(31, 158, 213, .22);
	outline-offset: 1px;
}

.ep-profile-confirmation.has-error {
	flex-wrap: wrap;
	border-left: 3px solid #b42318;
	background: #fff1f0;
}

.ep-profile-confirmation.has-error .ep-profile-inline-error {
	flex-basis: 100%;
	margin-left: 31px;
}

.ep-profile-confirmation input {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: 1px 0 0;
	accent-color: var(--ep-profile-blue);
}

.ep-profile-confirmation > label {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	cursor: pointer;
	color: inherit;
	font: inherit;
	line-height: inherit;
}

.ep-profile-confirmation a,
.ep-profile-disclosure a {
	color: #087fb1;
	font-weight: 700;
}

.ep-profile-disclosure {
	margin: 0;
	padding: 12px 14px;
	border-left: 4px solid var(--ep-profile-blue);
	background: #f2f8fc;
	color: var(--ep-profile-muted);
	font-size: 12px;
	line-height: 1.55;
}

.ep-profile-dashboard {
	margin: 0 0 28px;
	padding: clamp(20px, 4vw, 30px);
	border: 1px solid var(--ep-profile-border);
	border-left: 5px solid var(--ep-profile-warning);
	border-radius: 12px;
	background: #fff;
}

.ep-profile-dashboard.is-complete {
	border-left-color: var(--ep-profile-success);
}

.ep-profile-dashboard__status {
	margin-bottom: 20px;
}

.ep-profile-dashboard__meta {
	margin: 8px 0 0 !important;
	color: var(--ep-profile-muted);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.45 !important;
}

.ep-profile-dashboard__button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: 8px;
	padding: 10px 16px;
	border: 1px solid var(--ep-profile-blue) !important;
	border-radius: 7px;
	background: var(--ep-profile-blue) !important;
	color: #fff !important;
	font-weight: 700;
	line-height: 1.3 !important;
	text-decoration: none !important;
}

.ep-profile-dashboard__button.button:hover,
.ep-profile-dashboard__button.button:focus-visible {
	border-color: var(--ep-profile-navy) !important;
	background: var(--ep-profile-navy) !important;
}

.ep-profile-dashboard__links {
	display: grid;
	gap: 12px;
	margin: 0 0 18px;
}

.ep-profile-dashboard__links a {
	display: flex;
	flex-direction: column;
	min-height: 88px;
	padding: 14px;
	border: 1px solid var(--ep-profile-border);
	border-radius: 9px;
	background: var(--ep-profile-soft);
	color: var(--ep-profile-navy) !important;
	text-decoration: none !important;
}

.ep-profile-dashboard__links a:hover,
.ep-profile-dashboard__links a:focus-visible {
	border-color: var(--ep-profile-blue);
	outline: 3px solid rgba(31, 158, 213, .16);
	outline-offset: 1px;
}

.ep-profile-dashboard__links strong {
	position: static !important;
	display: block;
	margin-bottom: 5px;
	font-size: 15px;
	line-height: 1.3 !important;
	transform: none !important;
}

.ep-profile-dashboard__links span {
	position: static !important;
	display: block;
	color: var(--ep-profile-muted);
	font-size: 12px;
	line-height: 1.5 !important;
	transform: none !important;
}

/*
 * WooCommerce account pages still use legacy floats and theme typography.
 * These scoped resets keep Elementor globals from collapsing headings and
 * make both the logged-out registration screen and signed-in account area
 * deterministic without changing the rest of the storefront.
 */
body.woocommerce-account main.site-main {
	padding-top: clamp(28px, 4vw, 48px);
	padding-bottom: clamp(48px, 6vw, 80px);
}

body.woocommerce-account main.site-main > .page-header,
body.woocommerce-account main.site-main > .entry-header {
	position: static !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	transform: none !important;
}

body.woocommerce-account main.site-main > .page-header .entry-title,
body.woocommerce-account main.site-main > .entry-header .entry-title,
body.woocommerce-account main.site-main > .entry-title {
	position: static !important;
	margin: 0 !important;
	font-size: clamp(32px, 4vw, 44px) !important;
	line-height: 1.15 !important;
	letter-spacing: -.02em !important;
	transform: none !important;
}

/*
 * Keep WooCommerce password recovery in normal document flow. Elementor/theme
 * typography can otherwise collapse the strength label, multi-line hint, and
 * confirmation copy into the same line box even though WooCommerce's password
 * validation itself is working correctly.
 */
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password {
	position: static !important;
	display: flow-root !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	line-height: 1.6 !important;
	transform: none !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password > p,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row {
	position: static !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: 1.55 !important;
	overflow-wrap: anywhere;
	overflow: visible !important;
	transform: none !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row {
	margin-bottom: 20px !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password label {
	line-height: 1.4 !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password input.input-text {
	min-height: 48px;
	line-height: 1.4 !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .password-input {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-strength,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-hint {
	position: static !important;
	display: block;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	box-sizing: border-box;
	white-space: normal !important;
	overflow-wrap: anywhere;
	transform: none !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-strength {
	min-height: 34px !important;
	margin: 10px 0 0 !important;
	padding: 7px 10px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	text-align: center;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-hint {
	margin: 10px 0 0 !important;
	padding: 0 !important;
	color: #536b7d;
	font-size: 13px !important;
	line-height: 1.55 !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password > .clear {
	display: block !important;
	clear: both !important;
	width: 100% !important;
	height: 0 !important;
	margin: 0 !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password > .woocommerce-form-row:not(.form-row-first):not(.form-row-last) {
	clear: both !important;
	float: none !important;
	width: 100% !important;
	margin-top: 4px !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button[type="submit"] {
	min-height: 44px;
	line-height: 1.2 !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-message,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > p {
	position: static !important;
	display: block !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	white-space: normal !important;
	transform: none !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-message {
	margin: 0 0 28px !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-notices-wrapper .woocommerce-error,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-message,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-info,
body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > .woocommerce-error {
	position: relative !important;
	clear: both !important;
	float: none !important;
	height: auto !important;
	line-height: 1.55 !important;
	white-space: normal !important;
}

body.woocommerce-account.woocommerce-lost-password:not(.logged-in) main.site-main .woocommerce > p {
	margin: 0 0 18px !important;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	overflow-wrap: anywhere;
}

/*
 * WooCommerce may keep a customer signed in while an emailed set/reset link is
 * open. The older recovery rules above intentionally targeted signed-out
 * visitors, which left the signed-in form exposed to theme floats and caused
 * its strength meter, hint, confirmation field, and Save action to overlap.
 */
body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password {
	position: static !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 28px;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	max-width: 920px;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	line-height: 1.6 !important;
	transform: none !important;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p,
body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .woocommerce-form-row {
	position: static !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	line-height: 1.55 !important;
	overflow: visible !important;
	transform: none !important;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p:not(.form-row-first):not(.form-row-last),
body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > .clear {
	grid-column: 1 / -1;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > .clear {
	display: none !important;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password label {
	display: block !important;
	margin: 0 0 7px !important;
	line-height: 1.4 !important;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .password-input,
body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password input.input-text {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 48px;
	margin: 0 !important;
	line-height: 1.4 !important;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-strength,
body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-hint {
	position: static !important;
	display: block !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	box-sizing: border-box;
	white-space: normal !important;
	overflow-wrap: anywhere;
	transform: none !important;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-strength {
	min-height: 36px !important;
	margin: 10px 0 0 !important;
	padding: 8px 10px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: center;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .woocommerce-password-hint {
	margin: 10px 0 0 !important;
	padding: 0 !important;
	color: #536b7d;
	font-size: 13px !important;
	line-height: 1.6 !important;
}

body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .woocommerce-Button[type="submit"] {
	min-height: 44px;
	margin-top: 2px !important;
	line-height: 1.2 !important;
}

body.woocommerce-account:not(.logged-in) #customer_login {
	position: static !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-auto-flow: row !important;
	align-items: start !important;
	gap: 30px !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 24px 0 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login::before,
body.woocommerce-account:not(.logged-in) #customer_login::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
	position: static !important;
	display: block !important;
	grid-column: 1 !important;
	grid-row: auto !important;
	float: none !important;
	clear: none !important;
	inset: auto !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

body.woocommerce-account #customer_login > .u-column1 > h2,
body.woocommerce-account #customer_login > .u-column2 > h2 {
	position: static !important;
	margin: 0 0 18px !important;
	font-size: clamp(26px, 3vw, 34px) !important;
	line-height: 1.2 !important;
	letter-spacing: -.015em !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-login,
body.woocommerce-account:not(.logged-in) .woocommerce-form-register {
	position: static !important;
	display: flow-root !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	overflow: visible !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile,
body.woocommerce-account:not(.logged-in) .ep-research-profile__intro,
body.woocommerce-account:not(.logged-in) .ep-research-profile__intro > * {
	position: static !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile__intro {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	grid-auto-flow: row !important;
	gap: 8px !important;
	margin: 0 0 24px !important;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile__intro > * {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * The registration shell opens before WooCommerce prints its native account
 * credentials and closes after the native submit button. Keep those native
 * fields inside the same research-account card without copying or renaming
 * them, so WooCommerce remains responsible for registration and autofill.
 */
body.woocommerce-account:not(.logged-in) .woocommerce-form-register > .ep-research-profile--registration {
	margin: 0 0 20px !important;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .woocommerce-form-row,
body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .form-row {
	position: static !important;
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	line-height: 1.5 !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .woocommerce-form-row label,
body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .form-row label {
	display: block;
	margin: 0 0 7px;
	color: var(--ep-profile-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .woocommerce-form-row input.input-text,
body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .form-row input.input-text {
	display: block;
	width: 100% !important;
	min-height: 46px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #b8c9d6;
	border-radius: 7px;
	background: #fff;
	color: #13293d;
	font: inherit;
	line-height: 1.4;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .woocommerce-form-row input.input-text:focus-visible,
body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .form-row input.input-text:focus-visible {
	border-color: var(--ep-profile-blue);
	outline: 3px solid rgba(31, 158, 213, .22);
	outline-offset: 1px;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > p:not([class]) {
	position: static !important;
	display: block !important;
	clear: both !important;
	width: 100% !important;
	margin: -6px 0 20px !important;
	color: var(--ep-profile-muted);
	font-size: 12px;
	line-height: 1.5 !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile--registration > .clear {
	display: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-register .woocommerce-privacy-policy-text {
	position: static !important;
	clear: both !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin: 22px 0 16px !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-register .woocommerce-privacy-policy-text p {
	position: static !important;
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	line-height: 1.55 !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .woocommerce-form-register > .form-row:last-child {
	position: static !important;
	clear: both !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	line-height: 1.5 !important;
	transform: none !important;
}

body.woocommerce-account .woocommerce-form-register__submit {
	position: static !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0 !important;
	padding: 10px 18px !important;
	line-height: 1.2 !important;
	transform: none !important;
}

body.woocommerce-account:not(.logged-in) .ep-research-profile--registration .woocommerce-form-register__submit {
	width: 100%;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
	float: left !important;
	width: 25% !important;
	margin: 0 0 28px !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
	margin: 0 !important;
	padding: 8px !important;
	list-style: none !important;
	border: 1px solid #d6e1ea;
	border-radius: 12px;
	background: #fff;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li + li {
	border-top: 1px solid #e5edf3 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 14px;
	border-radius: 7px;
	color: #102f4b !important;
	font-weight: 700;
	line-height: 1.35 !important;
	text-decoration: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:focus-visible,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation .is-active > a {
	background: #eef7fb;
	color: #087fb1 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	float: right !important;
	width: 71% !important;
	min-width: 0;
}

/*
 * Native Woo notices and dashboard copy need their own normal-flow reset.
 * Hello/Elementor can otherwise reuse heading/line-box rules that visually
 * collapse the temporary-password notice and the dashboard introduction.
 */
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content > .woocommerce-notices-wrapper {
	position: static !important;
	display: block;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper:empty,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty {
	display: none;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-info,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-message,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-error {
	position: relative !important;
	display: block !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	min-height: 54px !important;
	height: auto !important;
	margin: 0 0 24px !important;
	padding: 15px 18px 15px 46px !important;
	border: 1px solid #d6e1ea;
	border-left: 5px solid #1f9ed5;
	border-radius: 10px;
	background: #f2f8fc;
	color: #243f55;
	font-size: 13px !important;
	line-height: 1.55 !important;
	white-space: normal !important;
	overflow: visible !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-error {
	border-left-color: #b42318;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-message {
	border-left-color: #13704a;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message::before,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error::before,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-info::before,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-message::before,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-error::before {
	position: absolute !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	top: 16px !important;
	left: 17px !important;
	width: 20px;
	height: 20px;
	margin: 0 !important;
	border-radius: 50%;
	background: #087fb1;
	color: #fff !important;
	font-family: Arial, sans-serif !important;
	font-size: 13px !important;
	font-style: normal !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info::before,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-info::before {
	content: "i" !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message::before,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-message::before {
	content: "\2713" !important;
	background: #13704a;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error::before,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-error::before {
	content: "!" !important;
	background: #b42318;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-info > *,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-message > *,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-error > *,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-info > *,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-message > *,
body.woocommerce-account.logged-in .woocommerce > .woocommerce-notices-wrapper .woocommerce-error > * {
	position: static !important;
	line-height: 1.55 !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > p {
	position: static !important;
	display: block !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 0 16px !important;
	line-height: 1.6 !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > p + .ep-profile-dashboard,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content > .ep-profile-dashboard {
	position: static !important;
	display: block !important;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin-top: 24px !important;
	transform: none !important;
}

.ep-profile-dashboard__status > * {
	position: static !important;
	float: none !important;
	transform: none !important;
}

.ep-profile-dashboard__status > p:not(.ep-profile-eyebrow):not(.ep-profile-dashboard__meta) {
	margin: 8px 0 0 !important;
}

/* Native Addresses endpoint: replace WooCommerce's legacy floated columns. */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Addresses {
	position: static !important;
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	clear: both !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin: 24px 0 0 !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Addresses::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address {
	position: static !important;
	display: block !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 22px !important;
	border: 1px solid #d6e1ea;
	border-radius: 12px;
	background: #fff;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address-title {
	position: static !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 12px;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 0 16px !important;
	transform: none !important;
}

/* Theme/Woo clearfix pseudo-elements become real grid cells unless removed. */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address-title::before,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address-title::after {
	content: none !important;
	display: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address-title > h2 {
	position: static !important;
	float: none !important;
	min-width: 0;
	margin: 0 !important;
	font-size: clamp(21px, 2.2vw, 27px) !important;
	line-height: 1.2 !important;
	text-align: left !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address-title > a.edit {
	position: static !important;
	display: inline-flex !important;
	float: none !important;
	align-items: center;
	min-height: 38px;
	padding: 8px 11px;
	border: 1px solid #b9cfdd;
	border-radius: 7px;
	background: #eef7fb;
	color: #087fb1 !important;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.3 !important;
	white-space: nowrap;
	text-decoration: none !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address-title > a.edit:hover,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address-title > a.edit:focus-visible {
	border-color: #102f4b;
	background: #102f4b;
	color: #fff !important;
	outline: 3px solid rgba(31, 158, 213, .2);
	outline-offset: 2px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Address > address {
	position: static !important;
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	color: #243f55;
	font-style: normal;
	line-height: 1.7 !important;
	transform: none !important;
}

/* Keep WooCommerce's native Account Details fields in a predictable flow. */
body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .form-row,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm legend {
	position: static !important;
	height: auto !important;
	transform: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .form-row {
	line-height: 1.5 !important;
}

/* Customers do not need to manage WordPress's internal public display name.
 * Keep its successful form control in place for WooCommerce validation while
 * hiding the complete native row and explanatory sentence. */
body.ep-account-profile-page .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > .form-row:has(#account_display_name) {
	display: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm fieldset {
	clear: both !important;
	float: none !important;
	width: 100% !important;
	margin: 26px 0 !important;
	padding: 20px !important;
	border: 1px solid #d6e1ea !important;
	border-radius: 10px;
}

/*
 * The native Account Details password fieldset is moved into Core's dedicated
 * Password & security endpoint. The hidden wrapper is the primary path; this
 * direct-child rule is a no-JavaScript fallback for an older theme override
 * that omits WooCommerce's pre-password hook.
 */
.ep-native-account-password[hidden],
body.ep-account-profile-page .woocommerce-MyAccount-content form.woocommerce-EditAccountForm > fieldset:has(#password_current) {
	display: none !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm legend {
	float: none !important;
	width: auto !important;
	margin: 0;
	padding: 0 8px;
	color: #102f4b;
	font-weight: 800;
	line-height: 1.4 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content form.woocommerce-EditAccountForm .ep-research-profile {
	margin-top: 26px;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content > :first-child {
	margin-top: 0 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content h2,
body.woocommerce-account.logged-in .woocommerce-MyAccount-content h3 {
	line-height: 1.2 !important;
}

body.woocommerce-account.logged-in .woocommerce-MyAccount-content form {
	display: flow-root;
}

.ep-account-security {
	width: 100%;
	padding: clamp(22px, 4vw, 32px);
	border: 1px solid var(--ep-profile-border);
	border-radius: 12px;
	background: #fff;
}

.ep-account-security__header {
	display: grid;
	gap: 8px;
	margin: 0 0 24px;
}

.ep-account-security__header > * {
	position: static !important;
	margin: 0 !important;
	transform: none !important;
}

.ep-account-security__header h2 {
	color: var(--ep-profile-navy);
	font-size: clamp(26px, 3vw, 34px) !important;
	line-height: 1.18 !important;
	letter-spacing: -.02em !important;
}

.ep-account-security__header > p:last-child {
	max-width: 680px;
	color: var(--ep-profile-muted);
	font-size: 14px;
}

.ep-account-security__form {
	display: block !important;
	width: 100%;
	margin: 0 !important;
}

.ep-account-security__form fieldset {
	width: 100%;
	margin: 0 !important;
	padding: 20px !important;
	border: 1px solid var(--ep-profile-border) !important;
	border-radius: 10px;
	background: var(--ep-profile-soft);
}

.ep-account-security__form legend {
	width: auto !important;
	margin: 0;
	padding: 0 8px;
	color: var(--ep-profile-navy);
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4 !important;
}

.ep-account-security__form .form-row {
	position: static !important;
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
}

.ep-account-security__form .form-row label {
	display: block;
	margin: 0 0 7px;
	color: var(--ep-profile-navy);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
}

.ep-account-security__form input.input-text {
	display: block;
	width: 100% !important;
	min-height: 48px;
	margin: 0 !important;
	padding: 10px 12px !important;
	border: 1px solid #b8c9d6 !important;
	border-radius: 7px !important;
	background: #fff !important;
	color: #13293d !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
}

.ep-account-security__form input.input-text:focus-visible {
	border-color: var(--ep-profile-blue) !important;
	outline: 3px solid rgba(31, 158, 213, .22) !important;
	outline-offset: 1px;
}

.ep-account-security__hint,
.ep-account-security__form .woocommerce-password-hint {
	position: static !important;
	display: block !important;
	clear: both !important;
	width: 100% !important;
	height: auto !important;
	margin: 8px 0 0 !important;
	color: var(--ep-profile-muted);
	font-size: 12px !important;
	line-height: 1.55 !important;
}

.ep-account-security__form .woocommerce-password-strength {
	position: static !important;
	display: block !important;
	clear: both !important;
	width: 100% !important;
	height: auto !important;
	min-height: 34px;
	margin: 9px 0 0 !important;
	padding: 7px 10px !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

.ep-account-security__actions {
	display: block;
	margin: 18px 0 0 !important;
}

.ep-account-security__actions .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin: 0 !important;
	padding: 11px 18px !important;
	border: 1px solid #0170b9 !important;
	border-radius: 7px !important;
	background: #0170b9 !important;
	color: #fff !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

.ep-account-security__actions .button:hover,
.ep-account-security__actions .button:focus-visible {
	border-color: var(--ep-profile-navy) !important;
	background: var(--ep-profile-navy) !important;
	outline: 3px solid rgba(31, 158, 213, .2);
	outline-offset: 2px;
}

.ep-account-security__footer {
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--ep-profile-border);
	font-size: 13px;
	line-height: 1.5;
}

.ep-account-security__footer a {
	color: #0170b9 !important;
	font-weight: 700;
}

@media (min-width: 640px) {
	.ep-profile-grid--two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ep-profile-dashboard__links {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	body.woocommerce-account:not(.logged-in) #customer_login {
		grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important;
		gap: 36px !important;
	}

	body.woocommerce-account:not(.logged-in) #customer_login > .u-column1 {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}
}

@media (max-width: 899px) {
	body.woocommerce-account:not(.logged-in) #customer_login {
		grid-template-columns: minmax(0, 1fr);
		gap: 30px;
	}

	body.woocommerce-account:not(.logged-in) #customer_login > .u-column1,
	body.woocommerce-account:not(.logged-in) #customer_login > .u-column2 {
		width: 100% !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		float: none !important;
		width: 100% !important;
	}

	body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
		margin-bottom: 28px !important;
	}
}

@media (max-width: 768px) {
	body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
	}

	body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row-first,
	body.woocommerce-account.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password .form-row-last {
		grid-column: 1;
	}

	body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .form-row-first,
	body.woocommerce-account.woocommerce-lost-password:not(.logged-in) form.woocommerce-ResetPassword.lost_reset_password .form-row-last {
		float: none !important;
		width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}

@media (max-width: 700px) {
	body.woocommerce-account.logged-in .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}
}

@media (max-width: 639px) {
	body.woocommerce-account main.site-main {
		padding-top: 24px;
		padding-bottom: 48px;
	}

	body.woocommerce-account main.site-main > .page-header,
	body.woocommerce-account main.site-main > .entry-header {
		margin-bottom: 22px !important;
	}

	.ep-research-profile,
	.ep-profile-dashboard,
	.ep-account-security {
		padding: 18px;
		border-radius: 9px;
	}

	.ep-account-security__form fieldset {
		padding: 16px !important;
	}

	.ep-account-security__actions .button {
		width: 100%;
	}

	.ep-profile-dashboard__button.button {
		display: inline-flex;
		justify-content: center;
		width: 100%;
	}

	.ep-profile-complete-overlay {
		align-items: flex-start;
		padding: 20px;
	}

	.ep-profile-complete-overlay__button.button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ep-research-profile *,
	.ep-profile-dashboard * {
		scroll-behavior: auto !important;
		transition: none !important;
	}
}
