/* My Account only. Authentication, endpoints and notice behavior remain native Woo. */
.cd-account-page { padding-block: var(--cd-space-8) var(--cd-space-12); }
.cd-account-page > h1 { margin: 0 0 var(--cd-space-8); }
.cd-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 15rem minmax(0, 1fr);
	gap: var(--cd-space-6);
	align-items: start;
}
.cd-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
.cd-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation)::after { content: none; }
.cd-account-page .woocommerce > :is(.woocommerce-notices-wrapper, .woocommerce-error, .woocommerce-info, .woocommerce-message) { grid-column: 1 / -1; }
.cd-account-page .woocommerce > .woocommerce-notices-wrapper:empty { display: none; }
.cd-account-page .woocommerce .woocommerce-MyAccount-navigation,
.cd-account-page .woocommerce .woocommerce-MyAccount-content { float: none; width: auto; min-width: 0; }
.cd-account-page .woocommerce-MyAccount-navigation {
	padding: var(--cd-space-2);
	border-radius: var(--cd-radius-card);
	background: var(--cd-color-surface);
	box-shadow: var(--cd-shadow-raised);
}
.cd-account-page .woocommerce-MyAccount-navigation ul { display: grid; gap: var(--cd-space-2); list-style: none; padding: 0; margin: 0; }
.cd-account-page .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: var(--cd-control-size);
	padding: var(--cd-space-2) var(--cd-space-4);
	border-radius: calc(var(--cd-radius-card) - var(--cd-space-2));
	color: var(--cd-color-muted);
	font-weight: var(--cd-weight-semibold);
	text-decoration: none;
}
.cd-account-page .woocommerce-MyAccount-navigation a:hover { color: var(--cd-color-text); background: var(--cd-color-background); }
.cd-account-page .woocommerce-MyAccount-navigation .is-active a { color: var(--cd-color-text); background: var(--cd-color-accent-soft); box-shadow: var(--cd-shadow-pressed); }
.cd-account-page .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1px solid var(--cd-color-background); }
.cd-account-page :is(a, button, input, select):focus-visible { outline: var(--cd-focus-width) solid var(--cd-focus-color); outline-offset: var(--cd-focus-offset); }
.cd-account-page .woocommerce-MyAccount-navigation a:focus-visible { outline-offset: calc(-1 * var(--cd-focus-width)); }
.cd-account-page :is(h2, h3) { color: var(--cd-color-text); }
.cd-account-page h2 { margin: 0 0 var(--cd-space-4); font-size: var(--cd-font-lg); }
.cd-account-page h3 { font-size: var(--cd-font-md); margin: 0; }
.cd-account-page :is(p, h2, h3, dd, a, strong) { overflow-wrap: anywhere; }
.cd-account-page p { margin: 0 0 var(--cd-space-4); }
.cd-account-page .cd-surface > :last-child { margin-bottom: 0; }
.cd-account-dashboard, .cd-account-orders { display: grid; gap: var(--cd-space-4); }
.cd-account-dashboard { gap: var(--cd-space-6); }
.cd-account-section-heading, .cd-account-order header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--cd-space-3); }
.cd-account-section-heading { margin-bottom: var(--cd-space-4); }
.cd-account-section-heading h2 { margin: 0; }
.cd-account-order { display: grid; gap: var(--cd-space-3); }
.cd-account-order h3 a { color: var(--cd-color-text); text-decoration: none; }
.cd-account-order time, .cd-account-order p { color: var(--cd-color-muted); font-size: var(--cd-font-sm); margin: 0; }
.cd-account-status {
	display: inline-block;
	max-width: 100%;
	padding: var(--cd-space-1) var(--cd-space-3);
	border-radius: var(--cd-radius-sm);
	background: var(--cd-color-background);
	color: var(--cd-color-muted);
	font-size: var(--cd-font-sm);
	font-weight: var(--cd-weight-semibold);
	overflow-wrap: anywhere;
}
.cd-account-status--completed, .cd-account-status--processing { background: var(--cd-color-success-soft); color: var(--cd-color-success); }
.cd-account-status--failed, .cd-account-status--cancelled { background: var(--cd-color-sale-soft); color: var(--cd-color-error-text); }
.cd-account-order__total { display: flex; justify-content: space-between; gap: var(--cd-space-4); }
.cd-account-order__total strong { text-align: right; }
.cd-account-actions, .cd-account-pagination { display: flex; flex-wrap: wrap; gap: var(--cd-space-3); align-items: center; }
.cd-account-pagination { margin-top: var(--cd-space-6); }
.cd-account-data { margin: 0 0 var(--cd-space-4); display: grid; gap: var(--cd-space-2); }
.cd-account-data > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: var(--cd-space-4); }
.cd-account-data dt { color: var(--cd-color-muted); }
.cd-account-data dd { margin: 0; }
.cd-account-view-order > header > p { margin-top: var(--cd-space-3); }
.cd-account-updates { padding: 0; margin: 0; list-style: none; display: grid; gap: var(--cd-space-4); }
/* Native login/register/reset forms. No replacement authentication markup or JS. */
.cd-account-page .woocommerce :is(form.login, form.register, form.lost_reset_password) {
	padding: var(--cd-space-6);
	margin: 0;
	border: 0;
	border-radius: var(--cd-radius-card);
	background: var(--cd-color-surface);
	box-shadow: var(--cd-shadow-raised);
}
.cd-account-page .woocommerce form .form-row { width: 100%; float: none; margin: 0 0 var(--cd-space-4); padding: 0; }
.cd-account-page .woocommerce form .form-row label { display: block; margin-bottom: var(--cd-space-2); font-weight: var(--cd-weight-semibold); line-height: var(--cd-line-height); }
.cd-account-page .woocommerce form :is(input.input-text, textarea, select) {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: var(--cd-control-size);
	padding: var(--cd-space-3) var(--cd-space-4);
	border: 1px solid var(--cd-color-field-border);
	border-radius: var(--cd-radius-sm);
	background: var(--cd-color-surface);
	color: var(--cd-color-text);
	font: inherit;
	box-shadow: var(--cd-shadow-inset);
}
.cd-account-page .woocommerce form :is(input.input-text, textarea, select)[aria-invalid="true"],
.cd-account-page .woocommerce form .woocommerce-invalid :is(input.input-text, textarea, select) { border-color: var(--cd-color-sale); }

.cd-account-page .woocommerce form input[type="password"] { padding-inline-end: var(--cd-space-12); }
.cd-account-page .woocommerce form .password-input { width: 100%; }
.cd-account-page .woocommerce form fieldset { margin: var(--cd-space-6) 0; padding: var(--cd-space-4) 0 0; border: 0; border-top: 1px solid var(--cd-color-border); min-width: 0; }
.cd-account-page .woocommerce form legend { padding-inline-end: var(--cd-space-3); font-size: var(--cd-font-lg); font-weight: var(--cd-weight-semibold); }
.cd-account-page #cd-password-hint { color: var(--cd-color-muted); font-size: var(--cd-font-sm); }
.cd-account-page .woocommerce form .woocommerce-form__label-for-checkbox { display: inline-flex; gap: var(--cd-space-2); align-items: center; }
.cd-account-page .woocommerce form button.button {
	min-height: var(--cd-control-size);
	padding: var(--cd-space-3) var(--cd-space-6);
	border: 1px solid var(--cd-color-primary-border);
	border-radius: var(--cd-radius-md);
	background: var(--cd-gradient-primary);
	box-shadow: var(--cd-shadow-primary);
	color: var(--cd-color-surface);
	font: inherit;
	font-weight: var(--cd-weight-semibold);
}
.cd-account-page .woocommerce form button.button:not(:disabled):hover { background: var(--cd-gradient-primary-hover); box-shadow: var(--cd-shadow-primary-hover); }
.cd-account-page .woocommerce form button.button:not(:disabled):active { background: var(--cd-gradient-primary-active); box-shadow: var(--cd-shadow-primary-inset); }
.cd-account-page .woocommerce form button.button:disabled { opacity: .65; cursor: not-allowed; }
.cd-account-page .woocommerce .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--cd-space-6); }
.cd-account-page .woocommerce .col2-set::before, .cd-account-page .woocommerce .col2-set::after { content: none; }
.cd-account-page .woocommerce .col2-set > :is(.col-1, .col-2) { float: none; width: auto; min-width: 0; }
.cd-account-page .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) {
	padding: var(--cd-space-4) var(--cd-space-4) var(--cd-space-4) var(--cd-space-12);
	margin: 0 0 var(--cd-space-6);
	border: 0;
	border-radius: var(--cd-radius-md);
	box-shadow: var(--cd-shadow-raised);
	background: var(--cd-surface-raised);
	color: var(--cd-color-text);
	overflow-wrap: anywhere;
}
.cd-account-page .woocommerce .woocommerce-message { background: var(--cd-surface-raised); color: var(--cd-color-success); }
.cd-account-page .woocommerce .woocommerce-error { background: var(--cd-surface-raised); color: var(--cd-color-error-text); }
.cd-account-page .woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { color: currentColor; left: var(--cd-space-4); top: var(--cd-space-4); }
/* Compact recent orders only; preserve the existing mobile cards. */
@media (width > 55rem) {
	.cd-account-dashboard .cd-account-order {
		padding-block: var(--cd-space-4);
		row-gap: var(--cd-space-2);
	}
}
@media (max-width: 55rem) {
	.cd-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); }
	.cd-account-page .woocommerce-MyAccount-navigation { min-width: 0; }
	.cd-account-page .woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; gap: var(--cd-space-2); padding: var(--cd-space-1); }
	.cd-account-page .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	.cd-account-page .woocommerce-MyAccount-navigation a { white-space: nowrap; }
	.cd-account-page .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout { border-top: 0; }
}
@media (max-width: 40rem) {
	.cd-account-page { padding-block: var(--cd-space-6) var(--cd-space-8); }
	.cd-account-page > h1 { font-size: var(--cd-font-xl); margin-bottom: var(--cd-space-6); }
	.cd-account-page .cd-surface, .cd-account-page .woocommerce :is(form.login, form.register, form.lost_reset_password) { padding: var(--cd-space-4); }
	.cd-account-page .woocommerce .col2-set { grid-template-columns: minmax(0, 1fr); }
	.cd-account-page .woocommerce form :is(button.button, .cd-button) { width: 100%; }
	.cd-account-data > div { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
}
