:root {
	--auth-primary: #14963a;
	--auth-primary-dark: #0f7f30;
	--auth-button-text: #ffffff;
	--auth-surface: #ffffff;
	--auth-text: #1f2d1f;
	--auth-muted: #607460;
	--auth-soft: #edf7ee;
	--auth-ring: #d8e9d8;
	--auth-page-bg: #f6fcf6;
	--auth-page-bg-soft: color-mix(in srgb, var(--auth-page-bg) 86%, white);
	--auth-heading: var(--auth-text);
	--auth-label: color-mix(in srgb, var(--auth-text) 78%, var(--auth-primary));
	--auth-link: color-mix(in srgb, var(--auth-text) 62%, var(--auth-primary));
	--auth-focus: color-mix(in srgb, var(--auth-primary) 44%, white);
	--auth-primary-shadow: color-mix(in srgb, var(--auth-primary) 28%, transparent);
	--auth-subtle-shadow: color-mix(in srgb, var(--auth-text) 12%, transparent);
}

body:not(.logged-in).woocommerce-account .woocommerce,
.woocommerce-lost-password .woocommerce {
	max-width: 460px;
	margin: 20px auto;
	padding: 0;
}

.woocommerce-account #customer_login {
	background: linear-gradient(145deg, var(--auth-page-bg-soft) 0%, var(--auth-page-bg) 100%);
	border-radius: 28px;
	padding: 14px 24px 20px;
	box-shadow: 0 18px 45px color-mix(in srgb, #1810a800 12%, transparent);
}

.woocommerce-account #customer_login h2,
.woocommerce-lost-password .woocommerce h2 {
	margin: 0 0 18px;
	text-align: center !important;
	color: var(--auth-heading);
	font-size: clamp(36px, 4.8vw, 52px);
	font-weight: 700;
	line-height: 1.06;
	letter-spacing: 0;
}

.woocommerce-account #customer_login .u-column1 > h2,
.woocommerce-account #customer_login .u-column2 > h2 {
	display: none !important;
}

.nd-auth-switch {
	display: none !important;
}

.nd-auth-switch-btn {
	min-width: 132px;
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: color-mix(in srgb, var(--auth-soft) 78%, var(--auth-surface));
	color: var(--auth-link);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	cursor: pointer;
	transition: all 0.2s ease;
}

.nd-auth-switch-btn.is-active {
	background: linear-gradient(135deg, var(--auth-primary) 0%, var(--auth-primary-dark) 100%);
	color: var(--auth-button-text);
	box-shadow: 0 10px 24px var(--auth-primary-shadow);
}

.woocommerce-account .u-column1,
.woocommerce-account .u-column2 {
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 auto !important;
}

.nd-auth-hidden {
	display: none !important;
}

.woocommerce-account form.woocommerce-form-login,
.woocommerce-account form.woocommerce-form-register,
.woocommerce-lost-password form.lost_reset_password {
	width: 100% !important;
	max-width: 460px;
	margin: 0 auto !important;
	padding: 24px 20px 20px;
	border: 0 !important;
	border-radius: 22px;
	background: var(--auth-surface);
	box-shadow: 0 14px 34px var(--auth-subtle-shadow);
}

.woocommerce-account form label,
.woocommerce-account form p,
.woocommerce-lost-password form label,
.woocommerce-lost-password form p,
.woocommerce-account .woocommerce-LostPassword.lost_password a {
	font-size: 15px;
}

.woocommerce-account form label,
.woocommerce-lost-password form label {
	display: block;
	margin-bottom: 8px;
	color: var(--auth-label);
	font-weight: 500;
}

.woocommerce-account form .form-row,
.woocommerce-lost-password form .form-row {
	margin: 0 0 14px;
	padding: 0;
}

.woocommerce-account form input.input-text,
.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row input[type="password"],
.woocommerce-account form .form-row input[type="email"],
.woocommerce-account form .form-row input[type="text"],
.woocommerce-lost-password form input.input-text,
.woocommerce-lost-password form .form-row input.input-text,
.woocommerce-lost-password form .form-row input[type="password"],
.woocommerce-lost-password form .form-row input[type="email"],
.woocommerce-lost-password form .form-row input[type="text"] {
	min-height: 48px;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--auth-soft) !important;
	color: var(--auth-text);
	font-size: 15px;
	padding: 0 16px 0 44px;
	box-shadow: inset 0 0 0 1px var(--auth-ring) !important;
}

.woocommerce-account #username,
.woocommerce-account #reg_username,
.woocommerce-account #reg_email,
.woocommerce-lost-password #user_login {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23658a65' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M5 21a7 7 0 0 1 14 0'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 15px center;
	background-size: 16px 16px;
}

.woocommerce-account #password,
.woocommerce-account #reg_password,
.woocommerce-lost-password #password_1,
.woocommerce-lost-password #password_2 {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%23658a65' stroke-width='1.8' viewBox='0 0 24 24'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 1 1 8 0v3'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: 15px center;
	background-size: 16px 16px;
}

.woocommerce-account form input.input-text:focus,
.woocommerce-account form .form-row input:focus,
.woocommerce-lost-password form input.input-text:focus,
.woocommerce-lost-password form .form-row input:focus {
	outline: 0;
	box-shadow: inset 0 0 0 1px var(--auth-focus), 0 0 0 3px color-mix(in srgb, var(--auth-primary) 14%, transparent) !important;
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 12px;
	color: var(--auth-link);
	font-size: 16px;
}

.woocommerce-account form.woocommerce-form-login .button,
.woocommerce-account form.woocommerce-form-register .button,
.woocommerce-lost-password form.lost_reset_password .button {
	width: 100%;
	min-height: 50px;
	border: 0 !important;
	border-radius: 999px !important;
	background: linear-gradient(90deg, var(--auth-primary) 0%, var(--auth-primary-dark) 100%) !important;
	color: var(--auth-button-text);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
	box-shadow: 0 12px 24px var(--auth-primary-shadow);
}

.woocommerce-account form.woocommerce-form-login .button:hover,
.woocommerce-account form.woocommerce-form-register .button:hover,
.woocommerce-lost-password form.lost_reset_password .button:hover {
	filter: brightness(0.96);
	transform: translateY(-1px);
}

.woocommerce-account .woocommerce-LostPassword.lost_password {
	margin: 14px 0 0;
	text-align: center;
}

.woocommerce-account .woocommerce-LostPassword.lost_password a {
	color: var(--auth-link);
	text-decoration: none;
}

.nd-auth-inline-switch {
	margin: 14px 0 0;
	text-align: center;
	color: var(--auth-muted);
	font-size: 15px;
}

.nd-auth-inline-switch a {
	color: var(--auth-primary-dark);
	font-weight: 700;
	text-decoration: none;
}

.nd-auth-inline-switch a:hover,
.woocommerce-account .woocommerce-LostPassword.lost_password a:hover {
	color: var(--auth-primary);
}

.woocommerce-account .show-password-input,
.woocommerce-account button.show-password-input {
	border: 0 !important;
	background: transparent;
	color: var(--auth-link);
}

/* My Account dashboard and WooCommerce account endpoints. */
body.logged-in.woocommerce-account {
    --auth-primary: #0045db;
    --auth-primary-dark: #0034a8;
    --auth-text: #14243e;
    --auth-muted: #607089;
    --auth-ring: #dce5f2;
    --auth-heading: #14243e;
    --auth-surface: #fff;
    --account-primary: #0045db;
}
.logged-in.woocommerce-account .woocommerce {
    max-width: 1250px;
    margin: 28px auto 48px;
    padding: 0 16px;
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr);
    gap: 26px;
    align-items: start;
    color: #14243e;
}
.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after { display: none; }
.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.logged-in.woocommerce-account .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation,
.logged-in.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; min-width: 0; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation {
    background: #fff;
    border: 1px solid #dce5f2;
    border-radius: 12px;
    padding: 16px 12px;
}
.ars-account-icon { width: 22px; height: 22px; flex: 0 0 22px; }
.ars-account-profile { display: flex; align-items: center; gap: 12px; padding: 2px 4px 20px; margin-bottom: 12px; border-bottom: 1px solid #e9eef6; }
.ars-account-profile > div { min-width: 0; }
.ars-account-avatar { display: flex; align-items: center; justify-content: center; flex: 0 0 42px; height: 42px; color: #0045db; background: #eef4ff; border-radius: 12px; }
.ars-account-profile small { display: block; color: #73829a; font-size: 10px; font-weight: 700; letter-spacing: 1.1px; margin-bottom: 4px; }
.ars-account-profile strong { display: block; font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0 0 5px; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li a {
    display: flex; align-items: center; gap: 10px; padding: 12px;
    border-radius: 8px; color: #53627a; font-size: 14px; font-weight: 600; text-decoration: none;
    transition: color .15s, background-color .15s;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: #fff; background: #0045db; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation li:not(.is-active) a:hover { background: #eef4ff; color: #0045db; }
.ars-nav-chevron { margin-left: auto; font-size: 20px; line-height: 1; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 14px; padding-top: 10px; border-top: 1px solid #e9eef6; }
.logged-in.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout a { color: #bf3949; }
.ars-account-nav-help { margin: 20px 4px 0; color: #73829a; font-size: 12px; }
.ars-account-nav-help a { display: block; margin-top: 5px; color: #0045db; font-weight: 600; font-size: 13px; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content { border: 1px solid #dce5f2; border-radius: 12px; padding: 28px; background: #fff; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content:has(.ars-account-dashboard) { border: 0; padding: 0; background: transparent; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content p { color: #607089; line-height: 1.7; font-size: 15px; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content a { color: #0045db; text-decoration: none; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content a:hover { text-decoration: underline; }
.ars-account-welcome { display: flex; flex-wrap: wrap; gap: 22px; align-items: center; justify-content: space-between; padding: 30px; background: #eef4ff; border: 1px solid #dbe7ff; border-radius: 12px; }
.ars-account-welcome > div { flex: 1 1 380px; min-width: 0; }
.ars-account-eyebrow { color: #0045db; font-size: 10px; font-weight: 700; letter-spacing: 1.3px; }
.ars-account-welcome h1 { margin: 10px 0 8px; color: #14243e; font-size: clamp(23px, 2.2vw, 30px); font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.ars-account-welcome p { margin: 0; }
.ars-account-section-title { margin: 28px 0 16px; font-size: 19px; font-weight: 700; color: #14243e; }
.ars-account-quicklinks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.logged-in.woocommerce-account a.ars-account-card { display: flex; flex-direction: column; min-width: 0; padding: 22px; border: 1px solid #dce5f2; border-radius: 12px; background: #fff; transition: border-color .15s, box-shadow .15s; }
.logged-in.woocommerce-account a.ars-account-card:hover { border-color: #7fa7ff; box-shadow: 0 5px 18px #0045db0c; text-decoration: none; }
.ars-account-card-icon { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 10px; background: #eef4ff; color: #0045db; margin-bottom: 18px; }
.ars-account-card h3 { color: #14243e; font-size: 17px; font-weight: 700; margin: 0 0 8px; }
.logged-in.woocommerce-account .ars-account-card p { font-size: 13px; line-height: 1.65; margin: 0 0 22px; }
.ars-account-card-cta { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; font-weight: 700; margin-top: auto; }
.ars-account-support { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 20px; }
.ars-account-support a { display: flex; align-items: center; gap: 12px; padding: 18px; border: 1px solid #e5ebf4; border-radius: 10px; }
.ars-account-support a > span:last-child { margin-left: auto; }
.ars-account-support strong,.ars-account-support small { display: block; }
.ars-account-support strong { font-size: 13px; color: #14243e; }
.ars-account-support small { font-size: 12px; margin-top: 4px; color: #607089; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content .button,
.logged-in.woocommerce-account .woocommerce-MyAccount-content button:not(.show-password-input),
.logged-in.woocommerce-account .woocommerce-MyAccount-content input[type="submit"] {
    background: #0045db; color: #fff; border: 1px solid #0045db; border-radius: 7px; padding: 12px 18px; font-size: 13px; font-weight: 600; line-height: 1.4; box-shadow: none; text-decoration: none; cursor: pointer;
}
.logged-in.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.logged-in.woocommerce-account .woocommerce-MyAccount-content button:not(.show-password-input):hover { background: #0034a8; color: #fff; text-decoration: none; }
.logged-in.woocommerce-account .woocommerce a:focus-visible,
.logged-in.woocommerce-account .woocommerce button:focus-visible { outline: 2px solid #0045db; outline-offset: 3px; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 22px; color: #14243e; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content table { width: 100%; border: 1px solid #dce5f2; border-radius: 8px; border-collapse: separate; overflow: hidden; font-size: 14px; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content table th { background: #f4f7fc; color: #14243e; padding: 12px; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content table td { border-color: #e5ebf4; padding: 12px; }
.logged-in.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.logged-in.woocommerce-account .woocommerce-Addresses::before,.logged-in.woocommerce-account .woocommerce-Addresses::after { display: none; }
.logged-in.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: 100%; float: none; padding: 20px; border: 1px solid #e5ebf4; border-radius: 10px; }
.logged-in.woocommerce-account .woocommerce-Address-title h2 { font-size: 20px; }
.logged-in.woocommerce-account .woocommerce-Address-title { margin-bottom: 16px; }
.logged-in.woocommerce-account address { color: #607089; font-size: 14px; line-height: 1.7; font-style: normal; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content .form-row label { color: #14243e; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content input.input-text,
.logged-in.woocommerce-account .woocommerce-MyAccount-content select,
.logged-in.woocommerce-account .woocommerce-MyAccount-content textarea { min-height: 44px; padding: 10px 12px; border: 1px solid #dce5f2; border-radius: 7px; background: #fff; color: #14243e; font-size: 14px; width: 100%; }
.logged-in.woocommerce-account .woocommerce-MyAccount-content input:focus,
.logged-in.woocommerce-account .woocommerce-MyAccount-content textarea:focus { outline: 2px solid #8bb5ff; outline-offset: 1px; }
.logged-in.woocommerce-account .woocommerce-EditAccountForm fieldset { border: 1px solid #e5ebf4; padding: 18px; border-radius: 8px; margin: 20px 0; }
.logged-in.woocommerce-account .woocommerce-EditAccountForm legend { padding: 0 8px; font-size: 17px; font-weight: 600; }
@media (max-width: 1024px) {
    .logged-in.woocommerce-account .woocommerce { grid-template-columns: 215px minmax(0,1fr); gap: 18px; }
    .ars-account-quicklinks { gap: 10px; }
    .logged-in.woocommerce-account a.ars-account-card { padding: 16px; }
    .ars-account-support { grid-template-columns: 1fr; gap: 10px; }
}
@media (max-width: 767px) {
    .woocommerce-account #customer_login { padding: 18px 14px; border-radius: 22px; }
    .woocommerce-account form.woocommerce-form-login,
    .woocommerce-account form.woocommerce-form-register,
    .woocommerce-lost-password form.lost_reset_password { padding: 18px 14px 15px; border-radius: 18px; }
    .nd-auth-switch-btn { min-width: 120px; }
    .logged-in.woocommerce-account .woocommerce { grid-template-columns: minmax(0,1fr); margin: 18px auto 28px; padding: 0 12px; gap: 18px; }
    .logged-in.woocommerce-account .woocommerce-MyAccount-navigation { padding: 14px 10px 10px; }
    .ars-account-profile { padding-bottom: 12px; margin-bottom: 10px; }
    .logged-in.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
    .logged-in.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
    .logged-in.woocommerce-account .woocommerce-MyAccount-navigation li a { flex-direction: column; gap: 7px; padding: 10px 3px; font-size: 11px; text-align: center; height: 100%; }
    .ars-nav-chevron,.ars-account-nav-help { display: none; }
    .logged-in.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0; padding: 0; border: 0; }
    .ars-account-welcome { padding: 22px; }
    .ars-account-quicklinks { grid-template-columns: 1fr; gap: 12px; }
    .logged-in.woocommerce-account a.ars-account-card { display: grid; grid-template-columns: 44px minmax(0,1fr); column-gap: 14px; padding: 18px; }
    .ars-account-card-icon { grid-row: 1 / 4; margin: 0; }
    .ars-account-card h3 { font-size: 16px; }
    .logged-in.woocommerce-account .ars-account-card p { margin-bottom: 14px; }
    .ars-account-card-cta { grid-column: 2; }
    .logged-in.woocommerce-account .woocommerce-MyAccount-content { padding: 18px; }
    .logged-in.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}
