/* ═══════════════════════════════════════════
   Neore — My Account Page
   ═══════════════════════════════════════════ */

.n-ma { background: var(--bg); min-height: 100vh; }

/* ── Layout ── */
.n-ma-layout {
	max-width: 1240px;
	margin: 0 auto;
	padding: 12px 14px calc(90px + env(safe-area-inset-bottom, 0px));
}
@media(min-width:481px) { .n-ma-layout { padding: 16px 20px calc(90px + env(safe-area-inset-bottom, 0px)); } }
@media(min-width:768px) { .n-ma-layout { padding: 20px 28px calc(90px + env(safe-area-inset-bottom, 0px)); } }
@media(min-width:1024px) {
	.n-ma-layout {
		display: grid;
		grid-template-columns: 220px 1fr;
		gap: 32px;
		padding: 20px 28px 60px;
		align-items: start;
	}
}

/* ── Sidebar (desktop only) ── */
.n-ma-sidebar { display: none; }
@media(min-width:1024px) {
	.n-ma-sidebar {
		display: flex;
		flex-direction: column;
		gap: 2px;
		position: sticky;
		top: 80px;
		background: var(--wh);
		border-radius: var(--rm);
		box-shadow: 0 2px 16px rgba(0,0,0,.06);
		padding: 14px;
	}
}

.n-ma-user {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 4px 6px 14px;
	margin-bottom: 8px;
	border-bottom: 1px solid var(--g1);
}
.n-ma-ava {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--bk);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	font-weight: 700;
	flex-shrink: 0;
}
.n-ma-uname { font-size: 13px; font-weight: 700; color: var(--bk); line-height: 1.3; }
.n-ma-uemail { font-size: 11px; color: var(--g4); line-height: 1.3; }

.n-ma-side-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px;
	border-radius: var(--rs);
	font-size: 14px;
	font-weight: 500;
	color: var(--g6);
	text-decoration: none;
	transition: background .12s, color .12s;
	-webkit-tap-highlight-color: transparent;
}
.n-ma-side-link:hover { background: var(--g1); color: var(--bk); }
.n-ma-side-link.active { background: var(--g1); color: var(--bk); font-weight: 600; }
.n-ma-side-link svg { flex-shrink: 0; }

/* ── Bottom nav (mobile) ── */
.n-ma-bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	min-height: 58px;
	padding-bottom: env(safe-area-inset-bottom, 0px);
	background: var(--wh);
	border-top: 1px solid var(--g1);
	display: flex;
	align-items: flex-start;
	z-index: 200;
	-webkit-tap-highlight-color: transparent;
}
@media(min-width:1024px) { .n-ma-bottom { display: none; } }

.n-ma-tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	flex: 1;
	height: 58px;
	text-decoration: none;
	color: var(--g4);
	font-size: 10px;
	font-weight: 600;
	-webkit-tap-highlight-color: transparent;
	transition: color .12s;
}
.n-ma-tab.active { color: var(--bk); }
.n-ma-tab svg { stroke-width: 1.75; }
.n-ma-tab.active svg { stroke-width: 2.25; }

/* ── Content area ── */
.n-ma-content { padding-top: 4px; }
@media(min-width:1024px) { .n-ma-content { padding-top: 0; } }

/* Hide WooCommerce default navigation if it renders */
.woocommerce-MyAccount-navigation { display: none !important; }

/* ── WooCommerce notices ── */
.n-ma-content .woocommerce-message,
.n-ma-content .woocommerce-error,
.n-ma-content .woocommerce-info {
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	border-left: 3px solid var(--gn);
	padding: 14px 16px;
	margin-bottom: 14px;
	font-size: 14px;
	color: var(--bk);
	list-style: none;
}
.n-ma-content .woocommerce-error { border-left-color: var(--rd); }
.n-ma-content .woocommerce-info { border-left-color: var(--g2); }
.n-ma-content .woocommerce-message li,
.n-ma-content .woocommerce-error li,
.n-ma-content .woocommerce-info li { margin: 0; padding: 0; }

/* ══════════════════════════════════════════
   Custom Orders List (n-ord cards)
   Replaces default WC table with our template
   ══════════════════════════════════════════ */

/* Mobile: stacked cards */
.n-orders { display: flex; flex-direction: column; gap: 10px; }

.n-ord {
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	padding: 14px 16px;
	overflow: hidden;
}

.n-ord-head {
	display: flex;
	gap: 12px;
	margin-bottom: 12px;
	align-items: flex-start;
}

/* Product thumbnails */
.n-ord-imgs {
	display: flex;
	gap: 4px;
	flex-shrink: 0;
	align-items: center;
}
.n-ord-imgs img {
	width: 48px;
	height: 48px;
	border-radius: var(--rs);
	object-fit: cover;
	border: 1px solid var(--g1);
	display: block;
}
.n-ord-img-placeholder {
	width: 48px;
	height: 48px;
	border-radius: var(--rs);
	background: var(--g1);
	display: block;
}
.n-ord-more {
	width: 48px;
	height: 48px;
	border-radius: var(--rs);
	background: var(--g1);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	color: var(--g4);
	flex-shrink: 0;
}

/* Order meta */
.n-ord-meta { flex: 1; min-width: 0; }

.n-ord-row1 {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 5px;
	flex-wrap: wrap;
}
.n-ord-num {
	font-size: 16px;
	font-weight: 700;
	color: var(--bk);
	text-decoration: none;
	letter-spacing: -.01em;
}

.n-ord-row2 {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
	font-size: 13px;
}
.n-ord-total {
	font-weight: 700;
	color: var(--bk);
}
.n-ord-dot { color: var(--g2); }
.n-ord-count,
.n-ord-date { color: var(--g4); }

/* On-hold payment notice */
.n-ord-notice {
	background: #FFF8E6;
	border-left: 3px solid var(--or);
	border-radius: 4px;
	padding: 8px 12px;
	font-size: 12px;
	color: #7A5800;
	margin-bottom: 10px;
	line-height: 1.5;
}
@media (prefers-color-scheme: dark) {
	.n-ord-notice { background: rgba(255,165,0,.1); color: #FFC84A; }
}

/* Action buttons — mobile first, one-handed thumb zone */
.n-ord-actions { display: flex; flex-direction: column; gap: 8px; }

.n-ord-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 48px;
	border-radius: var(--rs);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color .12s, background .12s, color .12s, filter .12s;
	-webkit-tap-highlight-color: transparent;
	white-space: nowrap;
}
.n-ord-btn--order-again,
.n-ord-btn--again {
	background: var(--or);
	color: #fff;
	border: 1.5px solid transparent;
}
.n-ord-btn--order-again:hover,
.n-ord-btn--again:hover { filter: brightness(.92); }
.n-ord-btn--view {
	height: 42px;
	font-size: 13px;
	font-weight: 500;
	border: 1.5px solid var(--g1);
	color: var(--g4);
	background: transparent;
}
.n-ord-btn--view:hover { border-color: var(--g4); color: var(--bk); }
.n-ord-btn--sm { width: auto; padding: 0 28px; height: 48px; }

/* Desktop: horizontal single-line layout */
@media(min-width:768px) {
	.n-orders {
		gap: 0;
		background: var(--wh);
		border-radius: var(--rm);
		box-shadow: 0 2px 16px rgba(0,0,0,.06);
		overflow: hidden;
	}
	.n-ord {
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 14px 20px;
		border-radius: 0;
		box-shadow: none;
		border-bottom: 1px solid var(--g1);
	}
	.n-ord:last-child { border-bottom: none; }
	.n-ord-head {
		flex: 1;
		margin-bottom: 0;
		align-items: center;
	}
	.n-ord-row2 { margin-top: 2px; }
	.n-ord-actions {
		flex-shrink: 0;
		flex-direction: row;
		gap: 8px;
	}
	.n-ord-btn {
		width: auto;
		flex: none;
		height: 38px;
		padding: 0 18px;
		font-size: 13px;
	}
	.n-ord-btn--view { height: 38px; }
}

/* Empty state */
.n-orders-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: 64px 24px;
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	text-align: center;
	color: var(--g4);
}
.n-orders-empty svg { opacity: .35; }
.n-orders-empty p { font-size: 15px; font-weight: 600; color: var(--bk); margin: 0; }

/* Pagination */
.n-orders-pager {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 14px;
}
.n-pg-btn {
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 16px;
	border: 1.5px solid var(--g2);
	border-radius: var(--rs);
	font-size: 13px;
	font-weight: 600;
	color: var(--g6);
	text-decoration: none;
	transition: border-color .12s, color .12s;
}
.n-pg-btn:hover { border-color: var(--bk); color: var(--bk); }

/* ── Orders table (kept for view-order detail page) ── */
.n-ma-content .woocommerce-orders-table {
	width: 100%;
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
}

/* Mobile: stack rows as cards */
.n-ma-content .woocommerce-orders-table thead { display: none; }
.n-ma-content .woocommerce-orders-table tbody tr {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	padding: 14px 16px;
	border-bottom: 1px solid var(--g1);
}
.n-ma-content .woocommerce-orders-table tbody tr:last-child { border-bottom: none; }

.n-ma-content .woocommerce-orders-table__cell { padding: 0; border: none; }
/* woocommerce-smallscreen.css adds ::before labels with specificity (0,2,2) — need !important */
.n-ma-content .woocommerce-orders-table__cell::before { display: none !important; }

/* Row 1: order number (left) + status badge (right) */
/* woocommerce-smallscreen.css hides tbody th with specificity (0,2,3) — need !important */
.n-ma-content .woocommerce-orders-table__cell-order-number {
	display: flex !important;
	align-items: center;
	font-size: 15px;
	font-weight: 700;
	color: var(--bk);
	flex: 1;
	margin-bottom: 6px;
}
.n-ma-content .woocommerce-orders-table__cell-order-number a {
	color: var(--bk);
	text-decoration: none;
}
.n-ma-content .woocommerce-orders-table__cell-order-status {
	flex-shrink: 0;
	margin-bottom: 6px;
}
/* Row 2: total (left) + date (right) */
.n-ma-content .woocommerce-orders-table__cell-order-total {
	font-size: 14px;
	font-weight: 700;
	color: var(--bk);
	flex: 1;
	order: 3;
	margin-bottom: 10px;
}
.n-ma-content .woocommerce-orders-table__cell-order-date {
	font-size: 12px;
	color: var(--g4);
	flex-shrink: 0;
	order: 4;
	margin-bottom: 10px;
}
/* Row 3: view button full width */
.n-ma-content .woocommerce-orders-table__cell-order-actions {
	width: 100%;
	order: 5;
}
.n-ma-content .woocommerce-orders-table__cell-order-actions .woocommerce-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 8px 16px;
	height: auto;
	background: transparent;
	border: 1.5px solid var(--g2);
	border-radius: var(--rs);
	font-size: 13px;
	font-weight: 600;
	color: var(--g6);
	text-decoration: none;
	transition: border-color .12s, color .12s;
}
.n-ma-content .woocommerce-orders-table__cell-order-actions .woocommerce-button:hover {
	border-color: var(--bk);
	color: var(--bk);
}

/* Desktop: restore proper table layout */
@media(min-width:768px) {
	.n-ma-content .woocommerce-orders-table thead {
		display: table-header-group;
	}
	.n-ma-content .woocommerce-orders-table thead th {
		padding: 10px 16px;
		font-size: 11px;
		font-weight: 700;
		color: var(--g4);
		text-align: left;
		text-transform: uppercase;
		letter-spacing: .06em;
		background: var(--g1);
		border-bottom: 1px solid var(--g2);
	}
	.n-ma-content .woocommerce-orders-table tbody tr {
		display: table-row;
	}
	.n-ma-content .woocommerce-orders-table__cell {
		padding: 14px 16px;
		border-bottom: 1px solid var(--g1);
		vertical-align: middle;
	}
	.n-ma-content .woocommerce-orders-table__cell-order-date {
		width: auto;
		order: unset;
	}
	.n-ma-content .woocommerce-orders-table__cell-order-actions {
		width: auto;
		order: unset;
	}
}

/* ── Status badges ── */
/* WC blocktheme/general CSS overrides marks — need !important on key properties */
.n-ma-content mark.order-status,
.n-ma-content .woocommerce-orders-table td mark {
	background: var(--g1) !important;
	color: var(--g6) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	padding: 3px 8px !important;
	border-radius: 4px !important;
	font-style: normal !important;
	display: inline-block !important;
	line-height: 1.4 !important;
}
.n-ma-content mark.status-processing { background: #fff3e8 !important; color: var(--or) !important; }
.n-ma-content mark.status-completed  { background: #edfaf3 !important; color: var(--gn) !important; }
.n-ma-content mark.status-on-hold    { background: #fefce8 !important; color: #854d0e !important; }
.n-ma-content mark.status-cancelled,
.n-ma-content mark.status-refunded,
.n-ma-content mark.status-failed     { background: #fef2f2 !important; color: var(--rd) !important; }

/* ── View-order header ── */
.n-vo-header {
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	padding: 16px;
	margin-bottom: 12px;
}
.n-vo-back {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	font-weight: 600;
	color: var(--g4);
	text-decoration: none;
	margin-bottom: 12px;
	transition: color .12s;
}
.n-vo-back:hover { color: var(--bk); }
.n-vo-top {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 5px;
}
.n-vo-num {
	font-size: 20px;
	font-weight: 700;
	color: var(--bk);
	letter-spacing: -.02em;
}
.n-vo-meta-row {
	display: flex;
	align-items: center;
	gap: 5px;
	flex-wrap: wrap;
	font-size: 13px;
	color: var(--g4);
}
.n-vo-dot { color: var(--g2); }
.n-vo-total { font-weight: 700; color: var(--bk); }

/* ── Order item row with image ── */
.n-oi-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}
.n-oi-thumb {
	flex-shrink: 0;
}
.n-oi-img {
	width: 52px;
	height: 52px;
	border-radius: var(--rs);
	object-fit: cover;
	border: 1px solid var(--g1);
	display: block;
}
.n-oi-thumb--empty {
	width: 52px;
	height: 52px;
	border-radius: var(--rs);
	background: var(--g1);
}
.n-oi-info { flex: 1; min-width: 0; }
.n-oi-name {
	font-size: 13px;
	font-weight: 600;
	color: var(--bk);
	text-decoration: none;
	line-height: 1.4;
	display: block;
}
.n-oi-qty {
	font-size: 12px;
	color: var(--g4);
	margin-top: 3px;
}
/* WC variation meta (color, size) */
.n-ma-content .woocommerce-table--order-details .wc-item-meta {
	margin-top: 4px;
	font-size: 12px;
	color: var(--g4);
}
/* Product total cell — vertically center with image */
.n-ma-content .woocommerce-table--order-details .product-total {
	vertical-align: middle;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

/* ── Order detail view ── */
.n-ma-content .woocommerce-order-details,
.n-ma-content .woocommerce-customer-details { margin-bottom: 14px; }

/* Order details card (div-based layout) */
.n-od-card {
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	overflow: hidden;
	margin-bottom: 14px;
}

/* Card title */
.n-od-card-title {
	padding: 14px 16px 12px;
	font-size: 13px;
	font-weight: 700;
	color: var(--g4);
	text-transform: uppercase;
	letter-spacing: .06em;
	border-bottom: 1px solid var(--g1);
}

/* Each product row */
.n-od-item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px;
	border-bottom: 1px solid var(--g1);
}
.n-od-item-price {
	margin-left: auto;
	flex-shrink: 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--bk);
	white-space: nowrap;
}
.n-od-purchase-note {
	padding: 0 16px 12px;
	font-size: 12px;
	color: var(--g4);
}

/* Totals summary section */
.n-od-totals {
	background: var(--wh);
	padding: 4px 16px 8px;
	border-top: 1px solid var(--g1);
}
.n-od-total-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px solid rgba(0,0,0,.05);
	font-size: 13px;
}
.n-od-total-row:last-child { border-bottom: none; }
.n-od-total-label { color: var(--g4); font-weight: 500; }
.n-od-total-value { color: var(--g6); font-weight: 600; text-align: right; }

/* Order total row — stands out */
.n-od-total-order_total {
	padding: 12px 0 7px;
	margin-top: 4px;
	border-top: 1.5px solid var(--g2) !important;
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.n-od-total-order_total .n-od-total-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--bk);
}
.n-od-total-order_total .n-od-total-value {
	font-size: 18px;
	font-weight: 700;
	color: var(--bk);
}

/* Payment method row */
.n-od-total-payment_method .n-od-total-label { color: var(--g4); }
.n-od-total-payment_method .n-od-total-value { color: var(--g6); font-weight: 500; }

/* WC blocktheme: .woocommerce-page .woocommerce-customer-details h2 { font-size: large } = (0,2,1)
   Our selector is (0,2,0) so we need !important */
.n-ma-content .woocommerce-order-details__title,
.n-ma-content .woocommerce-column__title {
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--bk);
	margin: 0 0 12px;
}

.n-ma-content .woocommerce-table--order-details {
	width: 100%;
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: 14px;
}
.n-ma-content .woocommerce-table--order-details thead th {
	padding: 10px 16px;
	font-size: 11px;
	font-weight: 700;
	color: var(--g4);
	text-align: left;
	text-transform: uppercase;
	letter-spacing: .06em;
	background: var(--g1);
}
.n-ma-content .woocommerce-table--order-details tbody td,
.n-ma-content .woocommerce-table--order-details tfoot td,
.n-ma-content .woocommerce-table--order-details tfoot th {
	padding: 12px 16px;
	border-top: 1px solid var(--g1);
	font-size: 14px;
	color: var(--bk);
}
.n-ma-content .woocommerce-table--order-details tfoot tr:last-child td,
.n-ma-content .woocommerce-table--order-details tfoot tr:last-child th {
	font-weight: 700;
	font-size: 15px;
}

/* ── Addresses display ── */
.n-ma-content .woocommerce-Addresses {
	display: grid;
	gap: 12px;
}
@media(min-width:600px) {
	.n-ma-content .woocommerce-Addresses { grid-template-columns: 1fr 1fr; }
}
.n-ma-content .woocommerce-Address {
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	padding: 16px;
}
.n-ma-content .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--g1);
}
.n-ma-content .woocommerce-Address-title h2,
.n-ma-content .woocommerce-Address-title h3 {
	font-size: 14px;
	font-weight: 700;
	color: var(--bk);
	margin: 0;
}
.n-ma-content .woocommerce-Address-title a {
	font-size: 12px;
	color: var(--g6);
	text-decoration: none;
	font-weight: 600;
}
.n-ma-content address {
	font-style: normal;
	font-size: 14px;
	color: var(--g6);
	line-height: 1.65;
}

/* ── Profile page (combined account + address) ── */
.n-profile { display: flex; flex-direction: column; gap: 0; }
.n-pv { display: none; flex-direction: column; gap: 14px; }
.n-pv--active { display: flex; }
.n-profile-section { display: flex; flex-direction: column; gap: 8px; }
.n-profile-title {
	font-size: 13px;
	font-weight: 700;
	color: var(--g4);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin: 0;
}

/* ── Forms: edit account + edit address ── */
.n-ma-content .woocommerce-EditAccountForm,
.n-ma-content form.edit-address {
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	padding: 18px 16px;
}
@media(min-width:768px) {
	.n-ma-content .woocommerce-EditAccountForm,
	.n-ma-content form.edit-address { padding: 22px 24px; }
}

.n-ma-content .woocommerce-form-row,
.n-ma-content .woocommerce-EditAccountForm p,
.n-ma-content .woocommerce-address-fields p {
	margin-bottom: 14px;
}

.n-ma-content .woocommerce-form-row label,
.n-ma-content .woocommerce-EditAccountForm label,
.n-ma-content .woocommerce-address-fields label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--g6);
	margin-bottom: 5px;
}

.n-ma-content .woocommerce-form-row input[type=text],
.n-ma-content .woocommerce-form-row input[type=email],
.n-ma-content .woocommerce-form-row input[type=tel],
.n-ma-content .woocommerce-form-row input[type=password],
.n-ma-content .woocommerce-EditAccountForm input[type=text],
.n-ma-content .woocommerce-EditAccountForm input[type=email],
.n-ma-content .woocommerce-EditAccountForm input[type=password],
.n-ma-content .woocommerce-address-fields input[type=text],
.n-ma-content .woocommerce-address-fields input[type=tel],
.n-ma-content .woocommerce-address-fields select,
.n-ma-content .woocommerce-address-fields textarea {
	width: 100%;
	height: 44px;
	border: 1.5px solid var(--g2);
	border-radius: var(--rs);
	padding: 0 14px;
	font-size: 14px;
	color: var(--bk);
	background: var(--bg);
	font-family: inherit;
	transition: border-color .15s;
	outline: none;
	-webkit-appearance: none;
}
.n-ma-content .woocommerce-address-fields textarea { height: auto; padding: 12px 14px; min-height: 80px; }

.n-ma-content .woocommerce-form-row input:focus,
.n-ma-content .woocommerce-EditAccountForm input:focus,
.n-ma-content .woocommerce-address-fields input:focus,
.n-ma-content .woocommerce-address-fields select:focus {
	border-color: var(--bk);
}

/* Submit / save button */
.n-ma-content .woocommerce-EditAccountForm [type=submit],
.n-ma-content .woocommerce-address-fields [type=submit],
.n-ma-content .woocommerce-Button,
.n-ma-content .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 28px;
	height: 48px;
	background: var(--or);
	color: #fff;
	border: none;
	border-radius: var(--rm);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	text-decoration: none;
	transition: filter .15s;
	-webkit-tap-highlight-color: transparent;
}
.n-ma-content .woocommerce-EditAccountForm [type=submit],
.n-ma-content .woocommerce-address-fields [type=submit] { width: 100%; margin-top: 4px; }
.n-ma-content .woocommerce-EditAccountForm [type=submit]:hover,
.n-ma-content .woocommerce-address-fields [type=submit]:hover { filter: brightness(.92); }

/* Password change fieldset */
.n-ma-content .woocommerce-EditAccountForm fieldset {
	border: none;
	padding: 0;
	margin: 8px 0 14px;
}
.n-ma-content .woocommerce-EditAccountForm fieldset legend {
	font-size: 11px;
	font-weight: 700;
	color: var(--g4);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-bottom: 14px;
	padding: 0;
}

/* Password toggle */
.n-ma-content .woocommerce-form__label-for-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--g6); cursor: pointer; }
.n-ma-content .show-password-input { font-size: 13px; color: var(--g4); text-decoration: none; }

/* ── Dashboard / general content ── */
.n-ma-content p {
	font-size: 14px;
	color: var(--g6);
	line-height: 1.6;
	margin-bottom: 8px;
}
.n-ma-content p a {
	color: var(--bk);
	text-decoration: none;
	font-weight: 600;
}

/* ════════════════════════════════════════════
   Dashboard overview
   ════════════════════════════════════════════ */

/* Greeting */
.n-db-greeting {
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	padding: 18px 16px;
	margin-bottom: 12px;
}
.n-db-hello {
	font-size: 18px;
	font-weight: 700;
	color: var(--bk);
	margin: 0 0 4px;
}
.n-db-sub {
	font-size: 13px;
	color: var(--g4);
	margin: 0;
}

/* Quick links row */
.n-db-quick {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 12px;
}
.n-db-ql {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 14px 8px;
	background: var(--wh);
	border-radius: var(--rm);
	box-shadow: 0 2px 16px rgba(0,0,0,.06);
	text-decoration: none;
	color: var(--g6);
	font-size: 12px;
	font-weight: 600;
	transition: box-shadow .15s, color .15s;
	position: relative;
	text-align: center;
}
.n-db-ql:hover { color: var(--bk); box-shadow: 0 4px 20px rgba(0,0,0,.10); }
.n-db-ql-icon { color: var(--bk); }
.n-db-ql-label { line-height: 1.3; }
.n-db-ql-count {
	position: absolute;
	top: 10px;
	right: 10px;
	background: var(--or);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	border-radius: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
}

/* Section: recent orders */
.n-db-section { margin-bottom: 12px; }
.n-db-section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}
.n-db-section-title {
	font-size: 14px;
	font-weight: 700;
	color: var(--bk);
	margin: 0;
}
.n-db-view-all {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	font-size: 12px;
	font-weight: 600;
	color: var(--g4);
	text-decoration: none;
	transition: color .12s;
}
.n-db-view-all:hover { color: var(--bk); }

/* ── Empty orders state ── */
.n-ma-content .woocommerce-message--info {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 48px 24px;
	gap: 12px;
}

/* ════════════════════════════════════════════
   Auth — guest (logged-out) state
   ════════════════════════════════════════════ */

/* Header height token — single source of truth for viewport height calculations */
:root                          { --header-h: 60px; }
@media (min-width: 1024px)     { :root { --header-h: 80px; } }

/* Page shell — white base covers gap below auth-wrap on Android curved displays */
.n-auth-page {
	background: var(--wh);
	min-height: 100dvh;
}

/* Full-height flex container sitting directly below the header */
.n-auth-wrap {
	display: flex;
	flex-direction: column;
	height: calc(100dvh - var(--header-h));
	background: var(--bg);   /* gray peeks through card's rounded top corners */
}

/* Reserved for future desktop split-panel; hidden on all mobile/tablet */
.n-auth-brand { display: none; }

/* Form column — fills wrap height; card sits at the bottom */
.n-auth-form-side {
	flex: 1;
	display: flex;
	flex-direction: column;
	overflow-y: auto;
}

/* Elastic spacer: keeps logo centred, pushes card to viewport bottom */
.n-auth-top {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 20px;
	min-height: 120px;
}

.n-auth-notice { margin: 16px 16px 0; }

.n-auth-view         { display: none; flex-direction: column; }
.n-auth-view--active { display: flex; }

/* ── Bottom-sheet card (mobile) ── */
.n-auth-card {
	background: var(--wh);
	border-radius: var(--rl) var(--rl) 0 0;
	box-shadow: 0 -4px 24px rgba(0,0,0,.08);
	padding: 10px 20px calc(20px + env(safe-area-inset-bottom, 0px));
}

/* ── Drag handle ── */
.n-auth-handle {
	width: 30px;
	height: 3px;
	background: var(--g2);
	border-radius: 2px;
	margin: 0 auto 16px;
}

/* ── Headings ── */
.n-auth-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--bk);
	text-align: center;
	margin: 0 0 4px;
}
.n-auth-sub {
	font-size: 13px;
	color: var(--g4);
	margin: 0 0 20px;
}

/* ── Reset WC form styles ── */
.n-auth-card .woocommerce-form-login,
.n-auth-card .woocommerce-form-register {
	max-width: none;
	margin: 0;
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}
.n-auth-card .woocommerce-form-row { margin-bottom: 0; }

/* ── Fields ── */
.n-auth-field {
	margin-bottom: 14px;
}
.n-auth-field label,
.n-auth-card label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: var(--g6);
	margin-bottom: 5px;
	text-transform: uppercase;
	letter-spacing: .03em;
}
.n-auth-field input[type=text],
.n-auth-field input[type=email],
.n-auth-field input[type=password],
.n-auth-card input[type=text],
.n-auth-card input[type=email],
.n-auth-card input[type=password] {
	display: block;
	width: 100%;
	height: 50px;
	border: 1.5px solid var(--g2);
	border-radius: var(--rs);
	padding: 0 14px;
	font-size: 15px;
	color: var(--bk);
	background: var(--bg);
	font-family: inherit;
	outline: none;
	transition: border-color .15s;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.n-auth-field input:focus,
.n-auth-card input[type=text]:focus,
.n-auth-card input[type=email]:focus,
.n-auth-card input[type=password]:focus {
	border-color: var(--bk);
	background: var(--wh);
}

/* ── Remember me + forgot ── */
.n-auth-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 4px 0 20px;
}
.n-auth-remember {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 13px;
	color: var(--g4);
	cursor: pointer;
}
.n-auth-remember input[type=checkbox] {
	width: 16px;
	height: 16px;
	accent-color: var(--bk);
	cursor: pointer;
}
.n-auth-forgot {
	font-size: 12px;
	color: var(--g4);
	text-decoration: none;
}
.n-auth-forgot:hover { color: var(--bk); }

/* ── Real submit button: sticky bottom inside card ── */
.n-auth-submit-real {
	display: flex !important;
	position: sticky;
	bottom: 0;
	margin-top: 4px;
}

/* ── Google OAuth button ── */
.n-auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0;font-size:12px;color:var(--g4)}
.n-auth-divider::before,.n-auth-divider::after{content:'';flex:1;height:1px;background:var(--g2)}
.n-auth-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:46px;background:var(--wh);border:1.5px solid var(--g2);border-radius:var(--rs);font-size:14px;font-weight:500;color:var(--bk);text-decoration:none;-webkit-tap-highlight-color:transparent;transition:border-color .15s}
.n-auth-google-btn:hover{border-color:var(--g4)}
.n-auth-google-btn:active{filter:brightness(.97)}

/* ── Toggle link (inside card, visible both mobile + desktop) ── */
.n-auth-dt-toggle {
	text-align: center;
	padding: 14px 0 2px;
	font-size: 13px;
	color: var(--g4);
}
.n-auth-dt-toggle a {
	color: var(--bk);
	font-weight: 600;
	text-decoration: none;
}
.n-auth-dt-toggle a:hover { text-decoration: underline; }

/* ── Fixed bottom bar — removed, button is sticky inside card ── */
.n-auth-fixed {
	display: none !important;
}

/* ── Shared button ── */
.n-auth-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 52px;
	background: var(--or);
	color: #fff;
	border: none;
	border-radius: 50px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	text-decoration: none;
	transition: filter .15s;
	-webkit-tap-highlight-color: transparent;
}
.n-auth-btn:hover { filter: brightness(.92); }

/* ── WC privacy policy ── */
.n-auth-card .woocommerce-privacy-policy-text {
	font-size: 11px;
	color: var(--g4);
	margin-bottom: 14px;
	line-height: 1.5;
}
.n-auth-card .woocommerce-privacy-policy-text a { color: var(--g6); }

/* ── Tablet +: centred modal card ── */
@media (min-width: 768px) {
	.n-auth-page { background: transparent; }
	.n-auth-wrap {
		display: grid;
		align-content: center;
		max-width: 480px;
		margin: 0 auto;
		background: transparent;
	}
	.n-auth-form-side { overflow: visible; }
	.n-auth-top,
	.n-auth-handle { display: none; }
	.n-auth-card {
		border-radius: var(--rm);
		box-shadow: 0 4px 32px rgba(0,0,0,.10);
		padding: 28px 32px 32px;
	}
}
/* --header-h token auto-adjusts .n-auth-wrap height at 1024px — no extra rule needed */

/* ── Password reveal wrapper ── */
.n-auth-pw-wrap {
	position: relative;
}
.n-auth-pw-wrap input[type=password],
.n-auth-pw-wrap input[type=text] {
	padding-right: 46px;
}
.n-pw-toggle {
	position: absolute;
	right: 0;
	top: 0;
	width: 46px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--g4);
	padding: 0;
	-webkit-tap-highlight-color: transparent;
}
.n-pw-toggle:hover { color: var(--bk); }

/* ── Hint text below a field ── */
.n-auth-hint {
	font-size: 11px;
	color: var(--g4);
	margin: 4px 0 0;
}

/* ── Client-side field errors ── */
.n-field-error {
	display: block;
	font-size: 11px;
	color: var(--rd);
	margin-top: 4px;
}
.n-input-error {
	border-color: var(--rd) !important;
}

/* ── Loading state on submit button ── */
.n-auth-btn--loading {
	opacity: .7;
	cursor: not-allowed;
}