/**
 * Component: customer account
 */

.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 14rem minmax(0, 1fr);
	gap: var(--tcs-space-2xl);
	align-items: start;
	padding-block: var(--tcs-space-lg);
}

/* The login form is a single centred column, not a dashboard. */
.woocommerce-account:not(.logged-in) .woocommerce {
	grid-template-columns: minmax(0, 1fr);
	max-width: 26rem;
	margin-inline: auto;
}

/* ---------------------------------------------------------------------- */
/* Navigation                                                              */
/* ---------------------------------------------------------------------- */

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	border-block-start: var(--tcs-border);
}

.woocommerce-MyAccount-navigation li {
	border-block-end: var(--tcs-border-faint);
}

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: var(--tcs-space-sm) var(--tcs-space-2xs);
	min-height: 44px;
	font-size: var(--tcs-text-sm);
	font-weight: var(--tcs-weight-medium);
	color: var(--tcs-ink-muted);
	text-decoration: none;
}

.woocommerce-MyAccount-navigation a:hover {
	color: var(--tcs-accent);
}

.woocommerce-MyAccount-navigation .is-active a {
	color: var(--tcs-ink);
	box-shadow: inset 2px 0 0 var(--tcs-accent);
	padding-inline-start: var(--tcs-space-sm);
}

/* ---------------------------------------------------------------------- */
/* Content                                                                 */
/* ---------------------------------------------------------------------- */

.woocommerce-MyAccount-content {
	min-width: 0;
}

.woocommerce-MyAccount-content > p,
.woocommerce-MyAccount-content address {
	color: var(--tcs-ink-muted);
	font-style: normal;
	line-height: var(--tcs-leading-relaxed);
}

.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
	font-size: var(--tcs-text-lg);
	margin-block: var(--tcs-space-lg) var(--tcs-space-sm);
}

/* ---------------------------------------------------------------------- */
/* Orders table                                                            */
/* ---------------------------------------------------------------------- */

.woocommerce-orders-table,
.woocommerce-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--tcs-text-sm);
}

.woocommerce-orders-table th,
.woocommerce-table th {
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-3xs);
	font-weight: var(--tcs-weight-semibold);
	letter-spacing: var(--tcs-tracking-label);
	text-transform: uppercase;
	color: var(--tcs-ink-faint);
	text-align: start;
	padding: var(--tcs-space-xs) var(--tcs-space-sm) var(--tcs-space-xs) 0;
	border-block-end: 1px solid var(--tcs-rule-strong);
}

.woocommerce-orders-table td,
.woocommerce-table td {
	padding: var(--tcs-space-sm) var(--tcs-space-sm) var(--tcs-space-sm) 0;
	border-block-end: var(--tcs-border-faint);
	color: var(--tcs-ink-muted);
	font-variant-numeric: tabular-nums;
}

.woocommerce-orders-table__cell-order-number a {
	font-weight: var(--tcs-weight-medium);
}

/* ---------------------------------------------------------------------- */
/* Addresses                                                               */
/* ---------------------------------------------------------------------- */

.woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
	gap: var(--tcs-space-lg);
	margin-block-start: var(--tcs-space-md);
}

.woocommerce-Address {
	background: var(--tcs-surface);
	border: var(--tcs-border);
	border-radius: var(--tcs-radius);
	padding: var(--tcs-space-md);
}

.woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--tcs-space-sm);
	margin-block-end: var(--tcs-space-sm);
}

.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
	font-family: var(--tcs-font-sans);
	font-size: var(--tcs-text-2xs);
	font-weight: var(--tcs-weight-semibold);
	letter-spacing: var(--tcs-tracking-label);
	text-transform: uppercase;
	color: var(--tcs-ink-faint);
	margin: 0;
}

/* ---------------------------------------------------------------------- */
/* Forms                                                                   */
/* ---------------------------------------------------------------------- */

.woocommerce-form {
	display: flex;
	flex-direction: column;
	gap: var(--tcs-space-sm);
}

.woocommerce-form__label-for-checkbox {
	flex-direction: row;
	align-items: center;
}

.woocommerce-LostPassword {
	font-size: var(--tcs-text-xs);
	margin: 0;
}

/* ---------------------------------------------------------------------- */
/* Notices - shared across cart, checkout and account                      */
/* ---------------------------------------------------------------------- */

.woocommerce-message,
.woocommerce-error,
.woocommerce-info,
.woocommerce-notice {
	list-style: none;
	margin: 0 0 var(--tcs-space-md);
	padding: var(--tcs-space-sm) var(--tcs-space-md);
	border-radius: var(--tcs-radius);
	font-size: var(--tcs-text-sm);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--tcs-space-sm);
}

.woocommerce-message {
	background: var(--tcs-state-instock-bg);
	color: var(--tcs-state-instock);
}

.woocommerce-error {
	background: var(--tcs-error-bg);
	color: var(--tcs-error);
	flex-direction: column;
	align-items: flex-start;
}

.woocommerce-info {
	background: var(--tcs-state-preorder-bg);
	color: var(--tcs-state-preorder);
}

.woocommerce-message .button,
.woocommerce-info .button {
	margin-inline-start: auto;
}

/* ---------------------------------------------------------------------- */
/* Mobile                                                                  */
/* ---------------------------------------------------------------------- */

@media (max-width: 900px) {
	.woocommerce-account .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--tcs-space-lg);
	}

	/* Account nav becomes a scrollable row rather than a tall stack. */
	.woocommerce-MyAccount-navigation ul {
		flex-direction: row;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		border-block: var(--tcs-border);
		gap: var(--tcs-space-md);
	}

	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }

	.woocommerce-MyAccount-navigation li {
		border-block-end: 0;
		white-space: nowrap;
	}

	.woocommerce-MyAccount-navigation .is-active a {
		box-shadow: inset 0 -2px 0 var(--tcs-accent);
		padding-inline-start: var(--tcs-space-2xs);
	}

	/* Order tables scroll inside their own container, never the page. */
	.woocommerce-orders-table,
	.woocommerce-table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}
}
