/* ----------------------------------------
   Nova Account & Auth — Phase 07
   ----------------------------------------
   Figma reference: node 561:4090
   Sign In Popup: WHITE card on dark overlay
   Sign Up Page: split layout (form left, purple panel right)
   Colors: #FFFFFF card, #F5F6FA inputs, #E4E6F2 borders,
           #0A0A0E dark text, #8A4FFF accent
   ----------------------------------------
   @package nova-peptides
   ---------------------------------------- */

/* Hide Shoptimizer page title on My Account — Nova template has its own heading */
.woocommerce-account .entry-header,
.woocommerce-account .page-header,
.woocommerce-account h1.entry-title {
  display: none !important;
}

/* ----------------------------------------
   A. AUTH MODAL OVERLAY + CARD
   Figma: 656px white card, 20px radius, centered
   ---------------------------------------- */
.nova-account__heading_container{
	max-width: var(--nova-content-width);
    margin: 0 auto;
    margin-top: 50px;
}

/* Typography inherits from .nova-heading-xl via .nova-checkout__heading —
   re-declare font-size to prevent utility responsive overrides. */
.nova-account__heading {
  font-size: 56px;
  line-height: 56px;
  margin: 0 0 32px;
  padding: 0;
  text-align: left;
}


.nova-auth-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.6);
	z-index: 10000;
	display: none;
}

.nova-auth-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 656px;
	max-width: calc(100vw - 32px);
	max-height: 90vh;
	overflow-y: auto;
	background: var(--nova-bg-white);
	border-radius: var(--nova-radius-card);
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.3);
	z-index: 10001;
	display: none;
	flex-direction: column;
}

.nova-auth-modal__close {
	position: absolute;
	top: 40px;
	right: 40px;
	width: 32px;
	height: 32px;
	padding: 0;
	background: none;
	border: none;
	color: var(--nova-text-dark);
	cursor: pointer;
	line-height: 1;
	z-index: 10;
	transition: color 0.15s ease, opacity 0.15s ease;
}

.nova-auth-modal__close:hover {
	opacity: 0.6;
}

/* White close button on signup panel (overlaps purple image column) */
.nova-auth-modal--signup .nova-auth-modal__close {
	color: var(--nova-text-primary);
}

.nova-auth-modal__content {
	padding: 88px 120px;
}

.nova-auth-modal__logo {
	text-align: center;
	margin-bottom: 32px;
}

.nova-auth-modal__logo img {
	width: 84px;
	height: auto;
	margin-right: auto;
    margin-left: auto;
}

.nova-auth-modal__heading {
	font-family: var(--nova-font-heading);
	font-size: 40px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: -0.8px;
	color: var(--nova-text-dark);
	margin: 0 0 8px;
	text-align: center;
}

.nova-auth-modal__subtitle {
	font-family: var(--nova-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--nova-text-dark-muted);
	margin: 0 0 48px;
	text-align: center;
}

/* ---- Modal panel structure ---- */
.nova-auth-modal__panel {
	width: 100%;
}

/* ---- Sign Up: modal expands to fit split layout ---- */
.nova-auth-modal--signup {
	width: 90vw;
	max-width: 1392px;
}

.nova-auth-modal__split {
	display: flex;
	min-height: 768px;
}

.nova-auth-modal__form-col {
	flex: 0 0 50%;
	max-width: 656px;
	padding: 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.nova-auth-modal__logo--left {
	text-align: left;
	margin-bottom: 40px;
}

.nova-auth-modal__logo--left img {
	width: 101px;
}

.nova-auth-modal__heading--left {
	text-align: left;
	margin-bottom: 40px;
}

/* Right: purple image column inside modal */
.nova-auth-modal__image-col {
	flex: 1;
	background: var(--nova-bg-primary);
	border-radius: 0 20px 20px 0;
	position: relative;
	overflow: hidden;
	min-height: 768px;
}

.nova-auth-modal__image-texture {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	mix-blend-mode: luminosity;
	opacity: 0.2;
}

.nova-auth-modal__vial {
	position: absolute;
	pointer-events: none;
}

.nova-auth-modal__vial--klow {
	width: 80%;
	max-width: 490px;
	height: auto;
	left: 2%;
	top: 28%;
	filter: drop-shadow(-40px 40px 96px rgba(0, 0, 0, 0.4));
	z-index: 3;
}

.nova-auth-modal__vial--glow {
	width: 35%;
    max-width: 490px;
    height: auto;
    right: 10%;
    top: 15%;
    filter: drop-shadow(40px 40px 96px rgba(0, 0, 0, 0.4));
    z-index: 1;
}

/* ----------------------------------------
   B. AUTH PAGE (/my-account/ logged-out)
   ---------------------------------------- */

body.nova-auth-page {
	background: var(--nova-bg-white);
}

body.nova-auth-page .site-content {
	background: var(--nova-bg-white);
}

.nova-auth-page {
	background: var(--nova-bg-white);
}

.nova-auth-page__logo {
	text-align: center;
	margin-bottom: 32px;
}

.nova-auth-page__logo img {
	width: 84px;
	height: auto;
}

.nova-auth-page__logo--topleft {
	text-align: left;
	margin-bottom: 40px;
}

.nova-auth-page__logo--topleft img {
	width: 101px;
	height: auto;
}

.nova-auth-page__heading {
	font-family: var(--nova-font-heading);
	font-size: 40px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: -0.8px;
	color: var(--nova-text-dark);
	margin: 0 0 8px;
}

/* Page subtitle left-aligned in split layout */
.nova-auth-page__subtitle--left {
	text-align: left;
}

/* Sign-up: 40px gap between heading and form */
.nova-auth-page-panel--signup .nova-auth-page__heading {
	margin: 0 0 40px;
}

.nova-auth-page__subtitle {
	font-family: var(--nova-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--nova-text-dark-muted);
	margin: 0 0 48px;
}

/* Sign Up panel: split layout */
.nova-auth-page__split {
	display: flex;
	min-height: calc(100vh - 200px);
	max-width: var(--nova-max-page-width);
	margin-left: auto;
	margin-right: auto;
}

.nova-auth-page__form-col {
	flex: 0 0 686px;
	max-width: 686px;
	padding: 56px 56px 56px 56px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Figma: 688px right panel, #3E1E6D bg, 20px radius, 24px margins */
.nova-auth-page__image-col {
	flex: 1;
	background: var(--nova-bg-primary);
	border-radius: 20px;
	margin: 24px 24px 24px 0;
	position: relative;
	overflow: hidden;
	min-height: 768px;
}

/* Texture overlay — same as homepage hero */
.nova-auth-page__image-texture {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	mix-blend-mode: luminosity;
	opacity: 0.2;
	border-radius: 20px;
}

.nova-auth-page__image-container{
	position: relative;
    max-width: 570px;
    height: 100%;
	margin: auto;
}

/* Product bottles — overlapping, Figma positions */
.nova-auth-page__vial {
	position: absolute;
	pointer-events: none;
}

/* KLOW: left bottle, lower, overlapping */
.nova-auth-page__vial--klow {
	width: 438px;
    height: auto;
    left: 2%;
    top: 25%;
    filter: drop-shadow(-40px 40px 96px rgba(0, 0, 0, 0.4));
    z-index: 3;
}

/* GLOW: right bottle, higher, on top */
.nova-auth-page__vial--glow {
	width: 35%;
    max-width: 490px;
    height: auto;
    right: 4%;
    top: 15%;
    filter: drop-shadow(40px 40px 96px rgba(0, 0, 0, 0.4));
    z-index: 1;
}

/* ----------------------------------------
   C. SHARED AUTH FORM STYLES
   Figma: #F5F6FA bg, #E4E6F2 border, 48px height, 8px radius
   ---------------------------------------- */

/* Figma sign-up form: 16px gap between fields */
.nova-auth-form--register .nova-auth-field {
	margin-bottom: 16px;
}

/* Figma: First Name + Last Name side by side row */
.nova-auth-field-row {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
}

.nova-auth-field-row .nova-auth-field {
	flex: 1;
	margin-bottom: 0;
}

/* Figma sign-in: 8px gap between fields */
.nova-auth-field {
	margin-bottom: 8px;
}

.nova-auth-field label {
	display: none;
}

/* Icon input wrapper */
.nova-auth-field--icon {
	position: relative;
}

.nova-auth-field__icon {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	color: var(--nova-text-dark-muted);
	pointer-events: none;
	z-index: 1;
}



.nova-auth-field--icon input,
.nova-auth-field--icon input[type="text"],
.nova-auth-field--icon input[type="email"],
.nova-auth-field--icon input[type="password"] {
	padding-left: 48px !important;
}

.nova-auth-field input,
.nova-auth-field input[type="text"],
.nova-auth-field input[type="email"],
.nova-auth-field input[type="password"] {
	width: 100%;
	height: 48px;
	background: var(--nova-surface-light);
	border: 1px solid var(--nova-border-light);
	border-radius: var(--nova-radius-input);
	padding: 12px 16px;
	font-size: 16px;
	line-height: 24px;
	color: var(--nova-text-dark);
	font-family: var(--nova-font-body);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Figma sign-up: taller inputs (56px), more left padding */
.nova-auth-form--register .nova-auth-field input,
.nova-auth-form--register .nova-auth-field input[type="text"],
.nova-auth-form--register .nova-auth-field input[type="email"],
.nova-auth-form--register .nova-auth-field input[type="password"] {
	height: 56px;
	padding: 16px 16px 16px 24px;
}

.nova-auth-field input::placeholder {
	color: var(--nova-text-dark-muted);
	opacity: 1;
}

.nova-auth-field input:hover {
	border-color: var(--nova-border-light);
}

.nova-auth-field input:focus {
	outline: none;
	border-color: var(--nova-accent);
	box-shadow: 0 0 0 3px rgba(138, 79, 255, 0.15);
}

.nova-auth-form__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
}

.nova-auth-lost-pw {
	font-family: var(--nova-font-body);
	font-size: 14px;
	line-height: 20px;
	color: var(--nova-text-dark-muted);
	text-decoration: none;
	text-align: right;
	width: 100%;
	display: block;
	transition: color 0.15s ease;
}

.nova-auth-lost-pw:hover {
	color: var(--nova-text-dark);
}

/* Button base from .nova-btn .nova-btn--primary .nova-btn--full — only overrides here */
.nova-auth-form__submit {
	display: block;
	height: 48px;
	backdrop-filter: blur(12px);
	margin-top: 0;
}

.nova-auth-form__submit:hover {
	background: var(--nova-accent-hover);
}

.nova-auth-form__submit:active {
	transform: scale(0.98);
}

/* OR Divider */
.nova-auth-divider {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 16px 0;
	padding: 8px 0;
}

.nova-auth-divider__line {
	flex: 1;
	height: 1px;
	background: var(--nova-border-light);
}

.nova-auth-divider__text {
	font-family: var(--nova-font-body);
	font-size: 14px;
	line-height: 20px;
	color: var(--nova-text-dark);
	text-align: center;
}

/* Social Buttons — Figma: black (#0A0A0E), 8px radius, 56px height */
.nova-auth-social {
	display: flex;
	gap: 8px;
}

.nova-auth-social__btn {
	flex: 1;
	height: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--nova-text-dark);
	border: none;
	border-radius: var(--nova-radius-input);
	cursor: pointer;
	color: var(--nova-text-primary);
	padding: 16px 24px;
	transition: background 0.15s ease;
}

.nova-auth-social__btn:hover {
	background: #1a1a2e;
}

/* Toggle link */
.nova-auth-toggle {
	text-align: center;
	margin-top: 24px;
	font-family: var(--nova-font-body);
	font-size: 16px;
	line-height: 24px;
	color: var(--nova-text-dark-muted);
}

.nova-auth-toggle__link {
	color: var(--nova-accent);
	font-weight: 500;
	text-decoration: underline;
}

.nova-auth-toggle__link:hover {
	color: var(--nova-accent-hover);
}

/* ----------------------------------------
   D. BODY SCROLL LOCK
   ---------------------------------------- */

body.nova-modal-open {
	overflow: hidden;
}

/* ----------------------------------------
   E. WC ERROR/NOTICE ON AUTH FORMS
   ---------------------------------------- */

.nova-auth-page .woocommerce-error,
.nova-auth-modal .woocommerce-error,
.nova-auth-page .woocommerce-notices-wrapper .woocommerce-error {
	background: rgba(239, 68, 68, 0.08);
	border: 1px solid #ef4444;
	border-radius: var(--nova-radius-input);
	padding: 12px 16px;
	margin-bottom: 16px;
	color: #ef4444;
	font-size: 14px;
	list-style: none;
}

.nova-auth-page .woocommerce-notices-wrapper,
.nova-auth-modal .woocommerce-notices-wrapper {
	margin-bottom: 16px;
}

/* ----------------------------------------
   F. MY ACCOUNT DASHBOARD LAYOUT
   ---------------------------------------- */

body.nova-account-page {
	background: var(--nova-bg-white);
}

body.nova-account-page .site-content {
	background: var(--nova-bg-white);
}

.nova-account-layout {
	display: flex;
	gap: 48px;
	max-width: var(--nova-content-width);
	margin: 0 auto;
	padding: 24px 56px 80px;
	align-items: flex-start;
}

.nova-account-nav {
	width: 300px;
	flex-shrink: 0;
	position: sticky;
	top: 160px;
	background: var(--nova-bg-white);
	border: 1px solid var(--nova-border-light);
	border-radius: var(--nova-radius-card);
	padding: 24px ;
}

.nova-account-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nova-account-nav__item {
	margin: 0;
}

.nova-account-nav__link {
	display: block;
	padding: 12px 24px;
	font-size: 16px;
	font-weight: 400;
	color: var(--nova-text-dark);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.nova-account-nav__link:hover {
	background: rgba(0, 0, 0, 0.03);
	color: var(--nova-text-dark);
}

.nova-account-nav__item.is-active .nova-account-nav__link,
.nova-account-nav__item a[aria-current="page"] {
	color: var(--nova-accent);
	font-weight: 600;
	border-left: 3px solid var(--nova-accent);
	padding-left: 21px;
}

.nova-account-nav__item--logout {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid var(--nova-border-light);
}

.nova-account-nav__item--logout .nova-account-nav__link {
	color: rgba(10, 10, 14, 0.5);
}

/* Account-nav icon for WPLoyalty Pro's "Points & Rewards" tab.
   Plugin registers endpoint "loyalty_reward" → WC adds class
   .woocommerce-MyAccount-navigation-link--loyalty_reward. The Shoptimizer
   parent stylesheet covers --points and --points-and-rewards but not
   --loyalty_reward, so the ::before icon-mask falls back to a blank
   square. Same gift/coin icon used for the canonical points endpoints. */
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--loyalty_reward a:before {
	-webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 8V21M12 8C12 8 12 6.50722 12 6C12 4.89543 12.8954 4 14 4C15.1046 4 16 4.89543 16 6C16 7.10457 15.1046 8 14 8C13.4027 8 12 8 12 8ZM12 8C12 8 12 6.06291 12 5.5C12 4.11929 10.8807 3 9.5 3C8.11929 3 7 4.11929 7 5.5C7 6.88071 8.11929 8 9.5 8C10.3178 8 12 8 12 8ZM5 12H19M5 12C3.89543 12 3 11.1046 3 10C3 8.89543 3.89543 8 5 8H19C20.1046 8 21 8.89543 21 10C21 11.1046 20.1046 12 19 12M5 12L5 19C5 20.1046 5.89543 21 7 21H17C18.1046 21 19 20.1046 19 19V12' stroke='%23374151' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 8V21M12 8C12 8 12 6.50722 12 6C12 4.89543 12.8954 4 14 4C15.1046 4 16 4.89543 16 6C16 7.10457 15.1046 8 14 8C13.4027 8 12 8 12 8ZM12 8C12 8 12 6.06291 12 5.5C12 4.11929 10.8807 3 9.5 3C8.11929 3 7 4.11929 7 5.5C7 6.88071 8.11929 8 9.5 8C10.3178 8 12 8 12 8ZM5 12H19M5 12C3.89543 12 3 11.1046 3 10C3 8.89543 3.89543 8 5 8H19C20.1046 8 21 8.89543 21 10C21 11.1046 20.1046 12 19 12M5 12L5 19C5 20.1046 5.89543 21 7 21H17C18.1046 21 19 20.1046 19 19V12' stroke='%23374151' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ----------------------------------------
   G. ACCOUNT CONTENT AREA
   ---------------------------------------- */

/* Surface inherits from .nova-surface-card utility — only overrides here */
.nova-account-content {
	flex: 1;
	background: var(--nova-bg-white);
	padding: 40px;
}

.nova-account-content h2,
.nova-account-content h3 {
	font-family: var(--nova-font-heading);
	color: var(--nova-text-dark);
	font-weight: 600;
}

.nova-account-content p {
	color: var(--nova-text-dark-muted);
}

/* ----------------------------------------
   H. ORDERS TABLE
   Scoped to .nova-account-content for specificity over Shoptimizer defaults.
   WC order-number column is <th> inside <tr>, all others are <td>.
   ---------------------------------------- */

.nova-account-content .woocommerce-orders-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0 12px;
	margin-top: -12px;
}

/* Column headers */
.nova-account-content .woocommerce-orders-table > thead th {
	background: transparent;
	font-family: var(--nova-font-body);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	color: var(--nova-text-dark-muted);
	padding: 0 20px 4px;
	text-align: left;
	border: none;
}

.nova-account-content .woocommerce-orders-table > thead th:last-child {
	text-align: right;
}

/* Row cells — target both <td> and <th> inside body rows */
.nova-account-content .woocommerce-orders-table__row td,
.nova-account-content .woocommerce-orders-table__row th {
	padding: 18px 20px;
	border: none;
	background: var(--nova-surface-light);
	color: var(--nova-text-dark);
	font-size: 14px;
	font-weight: 400;
	vertical-align: middle;
}

/* First cell — left radius */
.nova-account-content .woocommerce-orders-table__row td:first-child,
.nova-account-content .woocommerce-orders-table__row th:first-child {
	border-radius: var(--nova-radius-input) 0 0 var(--nova-radius-input);
}

/* Last cell — right radius + right-align for actions */
.nova-account-content .woocommerce-orders-table__row td:last-child,
.nova-account-content .woocommerce-orders-table__row th:last-child {
	border-radius: 0 var(--nova-radius-input) var(--nova-radius-input) 0;
	text-align: right;
}

/* Order number link */
.nova-account-content .woocommerce-orders-table__cell-order-number a {
	color: var(--nova-accent);
	font-weight: 600;
	text-decoration: none;
}

.nova-account-content .woocommerce-orders-table__cell-order-number a:hover {
	text-decoration: underline;
}

/* Order date — muted */
.nova-account-content .woocommerce-orders-table__cell-order-date {
	color: var(--nova-text-dark-muted);
}

/* Order status pills */
.nova-account-content mark.order-status {
	display: inline-block;
	padding: 5px 14px;
	border-radius: var(--nova-radius-button);
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	background: rgba(138, 79, 255, 0.1);
	color: var(--nova-accent);
}

.nova-account-content mark.order-status.status-processing {
	background: rgba(138, 79, 255, 0.1);
	color: var(--nova-accent);
}

.nova-account-content mark.order-status.status-completed {
	background: rgba(34, 197, 94, 0.1);
	color: #16a34a;
}

.nova-account-content mark.order-status.status-on-hold {
	background: rgba(234, 179, 8, 0.1);
	color: #ca8a04;
}

.nova-account-content mark.order-status.status-cancelled,
.nova-account-content mark.order-status.status-failed {
	background: rgba(239, 68, 68, 0.1);
	color: #dc2626;
}

.nova-account-content mark.order-status.status-pending {
	background: rgba(107, 114, 128, 0.1);
	color: #6b7280;
}

.nova-account-content mark.order-status.status-refunded {
	background: rgba(107, 114, 128, 0.1);
	color: #6b7280;
}

/* Order total — bold */
.nova-account-content .woocommerce-orders-table__cell-order-total {
	font-weight: 600;
}

/* Action buttons */
.nova-account-content .woocommerce-orders-table .woocommerce-button,
.nova-account-content .woocommerce-orders-table .button {
	display: inline-block;
	padding: 8px 20px;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--nova-font-body);
	color: var(--nova-accent);
	background: var(--nova-bg-white);
	border: 1px solid var(--nova-border-light);
	border-radius: var(--nova-radius-button);
	cursor: pointer;
	text-decoration: none;
	transition: border-color 0.15s ease, background 0.15s ease;
	line-height: 1;
}

.nova-account-content .woocommerce-orders-table .woocommerce-button:hover,
.nova-account-content .woocommerce-orders-table .button:hover {
	border-color: var(--nova-accent);
	background: rgba(138, 79, 255, 0.05);
}

/* Pagination */
.nova-account-content .woocommerce-Pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 24px;
	float: none;
}

.nova-account-content .woocommerce-Pagination a {
	display: inline-flex;
	align-items: center;
	padding: 10px 20px;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--nova-font-body);
	color: var(--nova-text-dark);
	background: var(--nova-surface-light);
	border: 1px solid var(--nova-border-light);
	border-radius: var(--nova-radius-button);
	text-decoration: none;
	transition: border-color 0.15s ease;
}

.nova-account-content .woocommerce-Pagination a:hover {
	border-color: var(--nova-accent);
}

/* No orders / info messages */
.nova-account-content .woocommerce-message--info,
.nova-account-content .woocommerce-info {
	background: var(--nova-surface-light);
	border: 1px solid var(--nova-border-light);
	border-radius: var(--nova-radius-input);
	padding: 20px 24px;
	color: var(--nova-text-dark-muted);
	font-size: 14px;
}

.nova-account-content .woocommerce-info::before {
	color: var(--nova-accent);
}

/* Override Shoptimizer's shop_table_responsive inline styles */
.nova-account-content .shop_table_responsive tr td::before,
.nova-account-content .shop_table_responsive tr th::before {
	font-weight: 600;
	color: var(--nova-text-dark-muted);
}

/* ----------------------------------------
   I. ACCOUNT FORMS (edit-address, edit-account) — glass inputs
   ---------------------------------------- */

.nova-account-content .woocommerce-EditAccountForm input,
.nova-account-content .woocommerce-address-fields input,
.nova-account-content .woocommerce-EditAccountForm select,
.nova-account-content .woocommerce-address-fields select {
	width: 100%;
	height: 56px;
	background: var(--nova-bg-white);
	border: 1px solid var(--nova-border-light);
	border-radius: var(--nova-radius-input);
	padding: 0 16px;
	font-size: 16px;
	color: var(--nova-text-dark);
	font-family: var(--nova-font-body);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.nova-account-content .woocommerce-EditAccountForm input:focus,
.nova-account-content .woocommerce-address-fields input:focus,
.nova-account-content .woocommerce-EditAccountForm select:focus,
.nova-account-content .woocommerce-address-fields select:focus {
	outline: none;
	border-color: var(--nova-accent);
	box-shadow: 0 0 0 3px rgba(138, 79, 255, 0.15);
}

.nova-account-content .woocommerce-EditAccountForm label,
.nova-account-content .woocommerce-address-fields label {
	font-size: 14px;
	color: var(--nova-text-dark);
}

/* Button shares properties with .nova-btn .nova-btn--primary — unique overrides here */
.nova-account-content button[type="submit"] {
	display: block;
	width: 100%;
	height: 56px;
	background: var(--nova-accent);
	color: var(--nova-text-primary);
	font-size: 16px;
	font-weight: 600;
	font-family: var(--nova-font-body);
	border: none;
	border-radius: var(--nova-radius-button);
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
	margin-top: 24px;
}

.nova-account-content button[type="submit"]:hover {
	background: var(--nova-accent-hover);
}

.nova-account-content button[type="submit"]:active {
	transform: scale(0.98);
}

/* ----------------------------------------
   J. SHOPTIMIZER FLOAT LAYOUT OVERRIDE
   ---------------------------------------- */

body.woocommerce-account .nova-account-layout .woocommerce-MyAccount-navigation {
	float: none;
	/* width: auto; */
}

body.woocommerce-account .nova-account-layout .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}

/* ----------------------------------------
   K. MOBILE BASELINE (< 768px)
   ---------------------------------------- */

@media (max-width: 767px) {
	.nova-auth-modal {
		width: calc(100vw - 32px);
	}

	.nova-auth-modal--signup {
		width: calc(100vw - 32px);
		max-width: none;
	}

	.nova-auth-field-row {
		flex-direction: column;
		gap: 16px;
	}

	.nova-auth-modal__close {
		top: 16px;
		right: 16px;
		color: var(--nova-text-dark);
	}

	.nova-auth-modal--signup .nova-auth-modal__close {
		color: var(--nova-text-dark);
	}

	.nova-auth-modal__content {
		padding: 48px 24px;
	}

	.nova-auth-modal__split {
		flex-direction: column;
		min-height: auto;
	}

	.nova-auth-modal__form-col {
		flex: none;
		max-width: 100%;
		padding: 32px 24px;
	}

	.nova-auth-modal__image-col {
		display: none;
	}

	.nova-auth-page__split {
		flex-direction: column;
	}

	.nova-auth-page__form-col {
		flex: none;
		max-width: 100%;
		padding: 32px 16px;
	}

	.nova-auth-page__image-col {
		display: none;
	}

	.nova-account-layout {
		flex-direction: column;
		padding: 24px 16px 48px;
	}

	.nova-account-nav {
		width: 100%;
		position: static;
	}

	/* Account content padding */
	.nova-account-content {
		padding: 20px 16px;
	}

	/* Orders table → stacked card layout on mobile */
	.nova-account-content .woocommerce-orders-table {
		border-spacing: 0;
	}

	.nova-account-content .woocommerce-orders-table > thead {
		display: none;
	}

	.nova-account-content .woocommerce-orders-table__row {
		display: flex;
		flex-wrap: wrap;
		background: var(--nova-surface-light);
		border-radius: var(--nova-radius-input);
		padding: 16px 20px;
		margin-bottom: 12px;
		gap: 4px 0;
	}

	.nova-account-content .woocommerce-orders-table__row td,
	.nova-account-content .woocommerce-orders-table__row th {
		display: block;
		width: 100%;
		padding: 4px 0;
		background: transparent;
		border-radius: 0;
		text-align: left;
		font-size: 14px;
	}

	.nova-account-content .woocommerce-orders-table__row td:first-child,
	.nova-account-content .woocommerce-orders-table__row th:first-child {
		border-radius: 0;
		font-size: 15px;
		font-weight: 600;
		padding-bottom: 8px;
		margin-bottom: 4px;
		border-bottom: 1px solid var(--nova-border-light);
	}

	.nova-account-content .woocommerce-orders-table__row td:last-child {
		text-align: left;
		padding-top: 8px;
	}

	/* Action button full width on mobile */
	.nova-account-content .woocommerce-orders-table .woocommerce-button,
	.nova-account-content .woocommerce-orders-table .button {
		display: block;
		text-align: center;
		width: 100%;
		margin-top: 4px;
	}

	/* Pagination stack on mobile */
	.nova-account-content .woocommerce-Pagination {
		flex-direction: column;
		gap: 8px;
	}

	.nova-account-content .woocommerce-Pagination a {
		justify-content: center;
		width: 100%;
	}

	/* Account forms — full width inputs */
	.nova-account-content .woocommerce-EditAccountForm .form-row-first,
	.nova-account-content .woocommerce-EditAccountForm .form-row-last,
	.nova-account-content .woocommerce-address-fields .form-row-first,
	.nova-account-content .woocommerce-address-fields .form-row-last {
		float: none;
		width: 100%;
	}
}

/* ----------------------------------------
   L. DASHBOARD WELCOME + QUICK-LINK CARDS
   ---------------------------------------- */

.nova-dashboard__welcome {
	margin-bottom: 32px;
}

.nova-dashboard__heading {
	font-family: var(--nova-font-heading);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--nova-text-dark);
	margin: 0 0 8px;
}

.nova-dashboard__body {
	font-size: 16px;
	color: var(--nova-text-dark-muted);
	margin: 0;
}

.nova-dashboard__cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.nova-dashboard__card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 24px;
	background: var(--nova-bg-white);
	border: 1px solid var(--nova-border-light);
	border-radius: var(--nova-radius-card);
	text-decoration: none;
	transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.nova-dashboard__card:hover {
	transform: translateY(-2px);
	border-color: var(--nova-border-light);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.nova-dashboard__card-icon {
	color: var(--nova-accent);
	width: 24px;
	height: 24px;
}

.nova-dashboard__card-label {
	font-size: 16px;
	font-weight: 600;
	color: var(--nova-text-dark);
}

.nova-dashboard__card-desc {
	font-size: 14px;
	color: rgba(10, 10, 14, 0.5);
}

@media (max-width: 767px) {
	.nova-dashboard__cards {
		grid-template-columns: 1fr;
	}
}


.nova-auth-remember {
	width: 100%;
}

/* ============================================================
   M. RESPONSIVE LADDER — Phase 29 Plan 08 (2026-05-07)
   Full ≤1024 / ≤768 / ≤480 coverage for auth modal + My Account.
   Supplements earlier 767px rules in section K.
   All values use --nova-* tokens. No hex. No new !important.
   iOS rule: form inputs stay ≥16px font-size at every step.
   ============================================================ */

/* ---------- Tablet: ≤1024px ---------- */
@media (max-width: 1024px) {

	/* Page heading scale */
	.nova-account__heading {
		font-size: 40px;
		line-height: 44px;
		margin: 0 0 24px;
	}

	.nova-account__heading_container {
		margin-top: 32px;
		padding: 0 24px;
	}

	/* Account layout: narrower sidebar, balanced gap */
	.nova-account-layout {
		gap: 32px;
		padding: 24px 32px 64px;
	}

	.nova-account-nav {
		width: 240px;
		padding: 20px;
		top: 140px;
	}

	.nova-account-nav__link {
		padding: 10px 18px;
		font-size: 15px;
	}

	.nova-account-nav__item.is-active .nova-account-nav__link,
	.nova-account-nav__item a[aria-current="page"] {
		padding-left: 15px;
	}

	/* Content padding */
	.nova-account-content {
		padding: 32px 24px;
	}

	.nova-account-content h2,
	.nova-account-content h3 {
		font-size: 28px;
	}

	/* Dashboard cards: 2-up at tablet */
	.nova-dashboard__cards {
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
	}

	.nova-dashboard__heading {
		font-size: 22px;
	}

	/* Auth modal: smaller card + tighter padding */
	.nova-auth-modal {
		max-width: calc(100vw - 32px);
	}

	.nova-auth-modal__content {
		padding: 56px 64px;
	}

	.nova-auth-modal__heading {
		font-size: 32px;
		line-height: 36px;
	}

	.nova-auth-modal__subtitle {
		margin: 0 0 32px;
	}

	/* Sign-up split: trim form column padding */
	.nova-auth-modal__form-col {
		padding: 40px;
	}

	.nova-auth-modal__split {
		min-height: 640px;
	}

	.nova-auth-modal__image-col {
		min-height: 640px;
	}

	/* Auth page (logged-out) */
	.nova-auth-page__form-col {
		flex: 0 0 50%;
		max-width: 560px;
		padding: 40px;
	}

	.nova-auth-page__heading {
		font-size: 32px;
		line-height: 36px;
	}

	/* Orders table: pre-stack scroll fallback at tablet */
	.nova-account-content .woocommerce-orders-table {
		font-size: 13px;
	}

	.nova-account-content .woocommerce-orders-table__row td,
	.nova-account-content .woocommerce-orders-table__row th {
		padding: 14px 14px;
	}
}

/* ---------- Mobile: ≤768px ---------- */
@media (max-width: 768px) {

	/* Heading container */
	.nova-account__heading_container {
		margin-top: 16px;
		padding: 0 16px;
	}

	.nova-account__heading {
		font-size: 28px;
		line-height: 32px;
		margin: 0 0 16px;
	}

	/* Stack layout */
	.nova-account-layout {
		display: flex;
		flex-direction: column;
		gap: 16px;
		padding: 16px 12px 48px;
	}

	/* Sidebar nav → horizontally scrollable tab strip / pill chips */
	.nova-account-nav,
	body.woocommerce-account .nova-account-layout .woocommerce-MyAccount-navigation {
		width: 100%;
		position: static;
		padding: 0;
		border: none;
		border-radius: 0;
		background: transparent;
		float: none;
	}

	.nova-account-nav__list,
	.woocommerce-MyAccount-navigation ul {
		display: flex;
		overflow-x: auto;
		gap: 6px;
		padding: 8px 12px;
		margin: 0;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.nova-account-nav__list::-webkit-scrollbar,
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar {
		display: none;
	}

	.nova-account-nav__item,
	.woocommerce-MyAccount-navigation ul li {
		flex: 0 0 auto;
		margin: 0;
	}

	.nova-account-nav__link,
	.woocommerce-MyAccount-navigation ul li a {
		display: inline-flex;
		align-items: center;
		min-height: 36px;
		padding: 8px 14px;
		font-size: 13px;
		font-weight: 500;
		white-space: nowrap;
		border: 1px solid var(--nova-border-light);
		border-radius: 999px;
		background: var(--nova-bg-white);
		color: var(--nova-text-dark);
	}

	.nova-account-nav__item.is-active .nova-account-nav__link,
	.nova-account-nav__item a[aria-current="page"],
	.woocommerce-MyAccount-navigation ul li.is-active a,
	.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
		background: var(--nova-accent);
		color: var(--nova-text-primary);
		border-color: var(--nova-accent);
		font-weight: 600;
		padding-left: 14px;
		border-left: 1px solid var(--nova-accent);
	}

	.nova-account-nav__item--logout {
		margin-top: 0;
		padding-top: 0;
		border-top: none;
	}

	/* Content area */
	.nova-account-content,
	body.woocommerce-account .nova-account-layout .woocommerce-MyAccount-content {
		padding: 24px 16px;
		float: none;
		width: 100%;
	}

	.nova-account-content h2,
	.nova-account-content h3 {
		font-size: 22px;
		line-height: 1.3;
	}

	/* Dashboard cards stack to single column */
	.nova-dashboard__cards {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.nova-dashboard__welcome {
		margin-bottom: 20px;
	}

	.nova-dashboard__heading {
		font-size: 20px;
	}

	.nova-dashboard__body {
		font-size: 14px;
	}

	.nova-dashboard__card {
		padding: 18px;
	}

	/* Orders table: keep stacked-card pattern (already in section K) +
	   ensure table itself can scroll if WC re-applies float layout.
	   Use min-width 540px fallback on raw <table>. */
	.nova-account-content .shop_table {
		min-width: 0;
	}

	/* Account forms: full width, ≥16px font, 44px min-height (iOS rule) */
	.nova-account-content .woocommerce-EditAccountForm input,
	.nova-account-content .woocommerce-address-fields input,
	.nova-account-content .woocommerce-EditAccountForm select,
	.nova-account-content .woocommerce-address-fields select,
	.nova-account-content .woocommerce-EditAccountForm textarea,
	.nova-account-content .woocommerce-address-fields textarea {
		width: 100%;
		min-height: 44px;
		height: 48px;
		font-size: 16px;
		padding: 12px 14px;
	}

	.nova-account-content .woocommerce-EditAccountForm textarea,
	.nova-account-content .woocommerce-address-fields textarea {
		height: auto;
		min-height: 96px;
	}

	.nova-account-content .woocommerce-EditAccountForm label,
	.nova-account-content .woocommerce-address-fields label {
		display: block;
		margin-bottom: 6px;
		font-size: 13px;
	}

	/* Submit button: full width, 44px+ tap target */
	.nova-account-content button[type="submit"] {
		width: 100%;
		min-height: 44px;
		height: auto;
		font-size: 14px;
		padding: 12px 20px;
		margin-top: 16px;
	}

	/* Auth modal — phone */
	.nova-auth-modal {
		width: calc(100vw - 24px);
		max-width: 420px;
		max-height: 90dvh;
		overflow-y: auto;
	}

	.nova-auth-modal__content {
		padding: 28px 20px;
	}

	.nova-auth-modal__heading,
	.nova-auth-modal__heading--left {
		font-size: 22px;
		line-height: 26px;
		margin: 0 0 8px;
	}

	.nova-auth-modal__subtitle {
		font-size: 14px;
		line-height: 20px;
		margin: 0 0 24px;
	}

	.nova-auth-modal__close {
		top: 12px;
		right: 12px;
		min-width: 40px;
		min-height: 40px;
		width: 40px;
		height: 40px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.nova-auth-modal__logo {
		margin-bottom: 20px;
	}

	.nova-auth-modal__logo img {
		width: 64px;
	}

	/* Auth form — fields ≥16px font, 44px min-height */
	.nova-auth-field input,
	.nova-auth-field input[type="text"],
	.nova-auth-field input[type="email"],
	.nova-auth-field input[type="password"],
	.nova-auth-form--register .nova-auth-field input,
	.nova-auth-form--register .nova-auth-field input[type="text"],
	.nova-auth-form--register .nova-auth-field input[type="email"],
	.nova-auth-form--register .nova-auth-field input[type="password"] {
		height: 48px;
		min-height: 44px;
		font-size: 16px;
		padding: 12px 14px;
	}

	.nova-auth-field--icon input,
	.nova-auth-field--icon input[type="text"],
	.nova-auth-field--icon input[type="email"],
	.nova-auth-field--icon input[type="password"] {
		padding-left: 44px !important; /* preserves icon offset; matches existing pattern in this file */
	}

	.nova-auth-form__submit {
		width: 100%;
		min-height: 44px;
		height: 48px;
		font-size: 14px;
		padding: 12px 20px;
	}

	/* Tabs / toggle text */
	.nova-auth-toggle {
		font-size: 14px;
		margin-top: 16px;
	}

	.nova-auth-divider {
		margin: 12px 0;
	}

	.nova-auth-social__btn {
		height: 48px;
		min-height: 44px;
		font-size: 14px;
		padding: 12px 16px;
	}

	/* Auth page (logged-out, full screen) */
	.nova-auth-page__heading {
		font-size: 24px;
		line-height: 28px;
		margin: 0 0 8px;
	}

	.nova-auth-page__subtitle {
		font-size: 14px;
		margin: 0 0 24px;
	}

	.nova-auth-page__logo--topleft img {
		width: 72px;
	}

	/* WC notice on auth pages — tighter padding */
	.nova-auth-page .woocommerce-error,
	.nova-auth-modal .woocommerce-error {
		padding: 10px 14px;
		font-size: 13px;
	}
}

/* ---------- Small phone: ≤480px ---------- */
@media (max-width: 480px) {

	.nova-account__heading {
		font-size: 24px;
		line-height: 28px;
	}

	.nova-account-layout {
		padding: 12px 8px 40px;
	}

	/* Content padding */
	.nova-account-content,
	body.woocommerce-account .nova-account-layout .woocommerce-MyAccount-content {
		padding: 20px 12px;
	}

	.nova-account-content h2,
	.nova-account-content h3 {
		font-size: 20px;
	}

	/* Dashboard cards */
	.nova-dashboard__card {
		padding: 16px;
	}

	.nova-dashboard__heading {
		font-size: 18px;
	}

	.nova-dashboard__card-label {
		font-size: 15px;
	}

	.nova-dashboard__card-desc {
		font-size: 13px;
	}

	/* Sidebar pill nav: tighter gap, smaller padding */
	.nova-account-nav__list,
	.woocommerce-MyAccount-navigation ul {
		padding: 6px 8px;
		gap: 4px;
	}

	.nova-account-nav__link,
	.woocommerce-MyAccount-navigation ul li a {
		padding: 7px 12px;
		font-size: 12px;
		min-height: 34px;
	}

	/* Orders stacked-card padding */
	.nova-account-content .woocommerce-orders-table__row {
		padding: 14px 16px;
	}

	/* Auth modal: max usable width */
	.nova-auth-modal {
		width: calc(100vw - 16px);
		max-width: calc(100vw - 16px);
	}

	.nova-auth-modal__content {
		padding: 24px 16px;
	}

	.nova-auth-modal__heading,
	.nova-auth-modal__heading--left {
		font-size: 20px;
		line-height: 24px;
	}

	.nova-auth-modal__subtitle {
		font-size: 13px;
		margin: 0 0 20px;
	}

	.nova-auth-modal__form-col {
		padding: 24px 16px;
	}

	/* Inputs — keep 16px font (iOS rule) but tighter padding */
	.nova-auth-field input,
	.nova-auth-field input[type="text"],
	.nova-auth-field input[type="email"],
	.nova-auth-field input[type="password"],
	.nova-auth-form--register .nova-auth-field input,
	.nova-auth-form--register .nova-auth-field input[type="text"],
	.nova-auth-form--register .nova-auth-field input[type="email"],
	.nova-auth-form--register .nova-auth-field input[type="password"],
	.nova-account-content .woocommerce-EditAccountForm input,
	.nova-account-content .woocommerce-address-fields input,
	.nova-account-content .woocommerce-EditAccountForm select,
	.nova-account-content .woocommerce-address-fields select {
		font-size: 16px; /* never drop below 16 — iOS auto-zoom guard */
		padding: 10px 12px;
	}

	/* Buttons */
	.nova-auth-form__submit,
	.nova-account-content button[type="submit"] {
		font-size: 13px;
		padding: 12px 16px;
	}

	.nova-auth-social__btn {
		font-size: 13px;
		padding: 10px 14px;
	}

	.nova-auth-toggle {
		font-size: 13px;
	}

	/* Auth page heading on smallest phones */
	.nova-auth-page__heading {
		font-size: 22px;
		line-height: 26px;
	}

	.nova-auth-page__form-col {
		padding: 24px 12px;
	}
}