/**
 * Free Style 3 — My Account
 * Login/register, lost password, account tabs, content panel, orders,
 * addresses, account details. Loaded only on the My Account page ('account'
 * condition in the asset registry), after woocommerce.css.
 *
 * Design follows free-style-2's css/account.css — dark icon tabs beside a
 * white content panel, brand-blue table and address headers, side-by-side
 * login/register cards — rebuilt on tokens.
 *
 * Woo clearfixes several of the wrappers laid out here (`.woocommerce`,
 * `.col2-set`, `.addresses .title`) with `display: table` pseudo-elements.
 * Inside a grid or flex container those become empty items that take a cell,
 * so every container switched to grid/flex below also sets them to
 * `content: none`.
 */

/* ---- Woo form fields → theme inputs ---- */

/*
 * Woo styles `.form-row .input-text` from its own custom properties; pointing
 * them at tokens gives account forms the same fields as base.css.
 */
.woocommerce-account .woocommerce {
	--wc-form-border-color: var(--fsp-border);
	--wc-form-border-radius: var(--fsp-radius-sm);
	--wc-form-color-background: var(--fsp-ink-075);
	--wc-form-color-text: var(--fsp-text);
}

.woocommerce-account .woocommerce form .form-row .input-text,
.woocommerce-account .woocommerce form .form-row select {
	padding: var(--fsp-space-3) var(--fsp-space-4);
}

.woocommerce-account .woocommerce form .form-row .input-text:focus,
.woocommerce-account .woocommerce form .form-row select:focus {
	background: var(--fsp-surface);
	border-color: var(--fsp-focus-ring);
}

.woocommerce-account .woocommerce form .form-row {
	margin: 0 0 var(--fsp-space-4);
	padding: 0;
}

/* Woo's line-height: 2 spreads labels that wrap ("Current password (leave blank…)"). */
.woocommerce-account .woocommerce form .form-row label {
	display: inline-block;
	margin-block-end: var(--fsp-space-1);
	line-height: 1.4;
}

/* ---- Logged out: login / register cards ---- */
.woocommerce-account #customer_login {
	display: grid;
	gap: var(--fsp-space-8);
	max-width: 64rem;
	margin: 0 auto var(--fsp-space-12);
}

.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
	content: none;
}

/* tablet ≥48rem */
@media (min-width: 48rem) {
	.woocommerce-account #customer_login {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}
}

/*
 * The cards: both columns when registration is on, the bare login form when
 * it is off (Woo then prints the heading and form without column wrappers),
 * and the lost/reset password form.
 */
.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2,
.woocommerce-account:not(.logged-in) .woocommerce > form.login,
.woocommerce-account .woocommerce form.lost_reset_password {
	float: none;
	width: auto;
	padding: var(--fsp-space-6);
	background: var(--fsp-surface);
	border: 1px solid var(--fsp-border);
	border-radius: var(--fsp-radius-lg);
	box-shadow: var(--fsp-shadow-md);
}

/* tablet ≥48rem */
@media (min-width: 48rem) {
	.woocommerce-account #customer_login > .u-column1,
	.woocommerce-account #customer_login > .u-column2,
	.woocommerce-account:not(.logged-in) .woocommerce > form.login,
	.woocommerce-account .woocommerce form.lost_reset_password {
		padding: var(--fsp-space-8);
	}
}

.woocommerce-account:not(.logged-in) .woocommerce > form.login {
	max-width: 32rem;
	margin: 0 auto var(--fsp-space-12);
}

.woocommerce-account #customer_login h2,
.woocommerce-account:not(.logged-in) .woocommerce > h2 {
	text-align: center;
}

/* Inside a card the forms drop Woo's own border box. */
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

.woocommerce-account .woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: var(--fsp-space-2);
	margin-block-end: var(--fsp-space-4);
}

.woocommerce-account .woocommerce .woocommerce-form-login .woocommerce-form-login__submit,
.woocommerce-account .woocommerce .woocommerce-form-register .woocommerce-form-register__submit {
	float: none;
	display: flex;
	width: 100%;
	margin: 0;
}

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

.woocommerce-account .woocommerce .woocommerce-privacy-policy-text {
	font-size: var(--fsp-text-sm);
	color: var(--fsp-text-soft);
}

/* Personal-store pointer above the forms (inc/woo/account.php). */
.fsp-account-store-notice {
	position: relative;
	max-width: 64rem;
	margin: 0 auto var(--fsp-space-6);
	padding: var(--fsp-space-4) var(--fsp-space-12);
	background: var(--fsp-blue-50);
	border: 1px solid var(--fsp-blue-100);
	border-inline-start: 4px solid var(--fsp-primary);
	border-radius: var(--fsp-radius-md);
	text-align: center;
}

.fsp-account-store-notice p {
	margin: 0;
}

.fsp-account-store-notice a {
	font-weight: 700;
	text-decoration: underline;
}

.fsp-account-store-notice__close {
	position: absolute;
	inset-block-start: 50%;
	inset-inline-end: var(--fsp-space-2);
	display: grid;
	place-items: center;
	inline-size: 2rem;
	block-size: 2rem;
	padding: 0;
	translate: 0 -50%;
	background: transparent;
	color: var(--fsp-text-soft);
	border: 0;
	border-radius: var(--fsp-radius-sm);
	font-size: var(--fsp-text-xl);
	line-height: 1;
}

.fsp-account-store-notice__close[hidden] {
	display: none;
}

.fsp-account-store-notice__close:hover {
	background: var(--fsp-blue-100);
	color: var(--fsp-heading);
}

/* ---- Lost / reset password ---- */

/*
 * One row on wide screens — field(s) grow, the button keeps its width — and a
 * stack when they no longer fit. The intro copy and anything a plugin hooks
 * in that is not a form row take the full width.
 */
.woocommerce-account .woocommerce form.lost_reset_password {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: var(--fsp-space-4);
	max-width: 40rem;
	margin: 0 auto var(--fsp-space-12);
}

.woocommerce-account .woocommerce form.lost_reset_password > * {
	flex: 1 1 100%;
	margin: 0;
}

.woocommerce-account .woocommerce form.lost_reset_password > .form-row-first,
.woocommerce-account .woocommerce form.lost_reset_password > .form-row-last {
	flex: 1 1 14rem;
	float: none;
	width: auto;
}

.woocommerce-account .woocommerce form.lost_reset_password > .form-row:not(.form-row-first, .form-row-last) {
	flex: 0 0 auto;
}

.woocommerce-account .woocommerce form.lost_reset_password > .clear {
	display: none;
}

/* ---- Logged in: tabs + content panel ---- */
.logged-in.woocommerce-account .woocommerce {
	display: grid;
	gap: var(--fsp-space-6);
	margin-block-end: var(--fsp-space-12);
}

.logged-in.woocommerce-account .woocommerce::before,
.logged-in.woocommerce-account .woocommerce::after {
	content: none;
}

.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
	float: none;
	width: auto;
	min-width: 0;
}

/* desktop ≥64rem */
@media (min-width: 64rem) {
	.logged-in.woocommerce-account .woocommerce {
		grid-template-columns: 18.75rem minmax(0, 1fr);
		align-items: start;
	}
}

/* ---- Account tabs ---- */
.woocommerce-MyAccount-navigation ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--fsp-space-2);
	margin: 0;
	padding: 0;
	list-style: none;
}

/* desktop ≥64rem */
@media (min-width: 64rem) {
	.woocommerce-MyAccount-navigation ul {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--fsp-space-3);
	}
}

/*
 * Tab icons (Font Awesome Free, assets/img/account-nav/) are masks painted in
 * a token colour. An endpoint without its own icon gets the chevron; a plugin
 * can give its endpoint one by setting --fsp-account-icon on
 * `.woocommerce-MyAccount-navigation-link--<endpoint>`.
 */
.woocommerce-MyAccount-navigation-link {
	--fsp-account-icon: url("../img/account-nav/circle-chevron-right.svg");
}

.woocommerce-MyAccount-navigation-link--dashboard {
	--fsp-account-icon: url("../img/account-nav/address-card.svg");
}

.woocommerce-MyAccount-navigation-link--orders {
	--fsp-account-icon: url("../img/account-nav/box-open.svg");
}

.woocommerce-MyAccount-navigation-link--downloads {
	--fsp-account-icon: url("../img/account-nav/download.svg");
}

.woocommerce-MyAccount-navigation-link--edit-address {
	--fsp-account-icon: url("../img/account-nav/address-book.svg");
}

.woocommerce-MyAccount-navigation-link--payment-methods {
	--fsp-account-icon: url("../img/account-nav/money-bill-transfer.svg");
}

.woocommerce-MyAccount-navigation-link--edit-account {
	--fsp-account-icon: url("../img/account-nav/gears.svg");
}

.woocommerce-MyAccount-navigation-link--submit-artwork {
	--fsp-account-icon: url("../img/account-nav/inbox.svg");
}

.woocommerce-MyAccount-navigation-link--points-and-rewards {
	--fsp-account-icon: url("../img/account-nav/coins.svg");
}

.woocommerce-MyAccount-navigation-link--customer-logout {
	--fsp-account-icon: url("../img/account-nav/door-open.svg");
}

.woocommerce-MyAccount-navigation-link a {
	display: flex;
	align-items: center;
	gap: var(--fsp-space-3);
	min-height: 3.5rem;
	height: 100%;
	padding: var(--fsp-space-3) var(--fsp-space-4);
	background: var(--fsp-ink-700);
	color: var(--fsp-on-primary);
	border-radius: var(--fsp-radius-md);
	font-size: var(--fsp-text-sm);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color var(--fsp-dur-fast) var(--fsp-ease),
		color var(--fsp-dur-fast) var(--fsp-ease);
}

/* tablet ≥48rem */
@media (min-width: 48rem) {
	.woocommerce-MyAccount-navigation-link a {
		min-height: 4rem;
		font-size: var(--fsp-text-md);
		letter-spacing: 0.08em;
	}
}

.woocommerce-MyAccount-navigation-link a::before {
	content: "";
	flex: none;
	inline-size: 1.5rem;
	block-size: 1.25rem;
	background-color: var(--fsp-primary);
	-webkit-mask: var(--fsp-account-icon) center / contain no-repeat;
	mask: var(--fsp-account-icon) center / contain no-repeat;
}

.woocommerce-MyAccount-navigation-link a:hover,
.woocommerce-MyAccount-navigation-link a:focus-visible {
	color: var(--fsp-blue-300);
	text-decoration: none;
}

/* Current tab: darker slab + brand-blue edge (FS2 had no active state). */
.woocommerce-MyAccount-navigation-link.is-active a {
	background: var(--fsp-ink-900);
	color: var(--fsp-blue-300);
	box-shadow: inset 4px 0 0 var(--fsp-primary);
}

/*
 * Small screens: tabs sit two across above the panel, Log out spans the row,
 * and assets/js/account.js folds the secondary tabs behind a "Show more"
 * toggle. Tabs marked primary in inc/woo/account.php and the current tab stay
 * out; without JS every tab shows.
 */
@media (max-width: 63.99rem) {
	.woocommerce-MyAccount-navigation-link--customer-logout {
		grid-column: 1 / -1;
	}

	.woocommerce-MyAccount-navigation-link--customer-logout a {
		justify-content: center;
	}

	.fsp-account-nav--collapsible:not(.is-expanded) li:not(.fsp-account-nav__item--primary, .is-active, .fsp-account-nav__toggle) {
		display: none;
	}
}

.fsp-account-nav__toggle {
	grid-column: 1 / -1;
}

/* desktop ≥64rem */
@media (min-width: 64rem) {
	.fsp-account-nav__toggle {
		display: none;
	}
}

.fsp-account-nav__toggle-btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--fsp-space-3);
	inline-size: 100%;
	min-height: 3.5rem;
	padding: var(--fsp-space-3) var(--fsp-space-4);
	background: var(--fsp-ink-500);
	color: var(--fsp-on-primary);
	border: 2px dashed var(--fsp-blue-300);
	border-radius: var(--fsp-radius-md);
	font-size: var(--fsp-text-sm);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	transition: background-color var(--fsp-dur-fast) var(--fsp-ease);
}

.fsp-account-nav__toggle-btn:hover {
	background: var(--fsp-ink-700);
}

/* Arrows either side of the label; both turn to point down when open. */
.fsp-account-nav__toggle-btn::before,
.fsp-account-nav__toggle-btn::after {
	content: "";
	flex: none;
	inline-size: 0.75rem;
	block-size: 0.9rem;
	background: var(--fsp-blue-300);
	transition: transform var(--fsp-dur-med) var(--fsp-ease);
}

.fsp-account-nav__toggle-btn::before {
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.fsp-account-nav__toggle-btn::after {
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}

.fsp-account-nav__toggle-btn[aria-expanded="true"]::before {
	transform: rotate(-90deg);
}

.fsp-account-nav__toggle-btn[aria-expanded="true"]::after {
	transform: rotate(90deg);
}

/* ---- Content panel ---- */
.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
	min-height: 26rem;
	padding: var(--fsp-space-5);
	background: var(--fsp-surface);
	border: 1px solid var(--fsp-border);
	border-radius: var(--fsp-radius-lg);
	box-shadow: var(--fsp-shadow-md);
}

/* tablet ≥48rem */
@media (min-width: 48rem) {
	.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
		padding: var(--fsp-space-8);
	}
}

.woocommerce-MyAccount-content > :last-child {
	margin-block-end: 0;
}

.woocommerce-MyAccount-content > p {
	text-align: center;
}

.woocommerce-MyAccount-content h2 {
	font-size: var(--fsp-text-xl);
}

.woocommerce-account .woocommerce-MyAccount-content mark {
	color: var(--fsp-heading);
}

.woocommerce-account .woocommerce-MyAccount-content mark.order-status {
	padding-inline: var(--fsp-space-2);
	background: var(--fsp-blue-50);
	color: var(--fsp-blue-900);
	border-radius: var(--fsp-radius-sm);
}

/* ---- Dashboard intro (inc/woo/account.php) ---- */
.fsp-account-intro {
	display: grid;
	gap: var(--fsp-space-5);
	margin-block-end: var(--fsp-space-6);
	padding-block-end: var(--fsp-space-6);
	border-block-end: 1px solid var(--fsp-border);
}

.woocommerce-MyAccount-content .fsp-account-intro__title {
	margin: 0;
	font-size: var(--fsp-text-2xl);
	text-align: center;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.fsp-account-intro__summary {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--fsp-space-2) var(--fsp-space-6);
	margin: 0;
	padding: var(--fsp-space-3) var(--fsp-space-4);
	background: var(--fsp-surface-soft);
	border: 1px solid var(--fsp-border);
	border-radius: var(--fsp-radius-md);
	box-shadow: var(--fsp-shadow-sm);
}

.fsp-account-intro__item {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fsp-space-2);
}

.fsp-account-intro__item dt {
	color: var(--fsp-text-soft);
	font-weight: 600;
}

.fsp-account-intro__item dt::after {
	content: ":";
}

.fsp-account-intro__item dd {
	margin: 0;
	color: var(--fsp-heading);
	font-weight: 700;
}

.fsp-account-intro__logout {
	color: var(--fsp-text-soft);
	font-weight: 400;
}

.fsp-account-intro__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--fsp-space-3);
}

/* ---- Tables: orders, downloads, payment methods, order details ---- */
.woocommerce-account .woocommerce-MyAccount-content table {
	border: 1px solid var(--fsp-border);
	border-radius: var(--fsp-radius-md);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-content table thead th {
	padding-block: var(--fsp-space-4);
	background: var(--fsp-primary);
	color: var(--fsp-blue-900);
	font-size: var(--fsp-text-md);
	letter-spacing: 0.06em;
	text-align: center;
}

/*
 * Rows are divided by base.css's border-bottom alone; Woo's border-top on the
 * same cells would double every line.
 */
.woocommerce-account .woocommerce-MyAccount-content table tbody th,
.woocommerce-account .woocommerce-MyAccount-content table tbody td {
	padding: var(--fsp-space-3);
	background: var(--fsp-surface);
	border-block-start: 0;
	font-size: var(--fsp-text-md);
	text-align: center;
	text-transform: none;
	letter-spacing: normal;
}

.woocommerce-account .woocommerce-MyAccount-content table tbody tr:nth-child(even) > * {
	background: var(--fsp-surface-soft);
}

.woocommerce-account .woocommerce-MyAccount-content table tbody tr:last-child > * {
	border-block-end: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button {
	margin: var(--fsp-space-1);
	padding: var(--fsp-space-2) var(--fsp-space-4);
	font-size: var(--fsp-text-sm);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-pagination {
	display: flex;
	justify-content: space-between;
	gap: var(--fsp-space-3);
}

/*
 * Woo's small-screen sheet (max-width 768px, same as 48rem) turns responsive
 * tables into stacked rows. Each row becomes a card, headed by the order
 * number — which Woo 10 prints as a `tbody th` and then hides.
 */
@media (max-width: 48rem) {
	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive {
		display: block;
		border: 0;
		border-radius: 0;
		overflow: visible;
		background: transparent;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody {
		display: grid;
		gap: var(--fsp-space-3);
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr {
		overflow: hidden;
		border: 1px solid var(--fsp-border);
		border-radius: var(--fsp-radius-md);
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > * {
		background: var(--fsp-surface);
		border-block-end: 1px solid var(--fsp-border);
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody tr > :last-child {
		border-block-end: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody th {
		display: block;
		background: var(--fsp-primary);
		color: var(--fsp-blue-900);
		font-weight: 700;
		text-align: start;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody th::before {
		content: attr(data-title) " ";
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tbody th a {
		color: inherit;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive .woocommerce-orders-table__cell-order-actions {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive .woocommerce-orders-table__cell-order-actions::before {
		display: none;
	}
}

/* ---- View order ---- */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tbody td {
	text-align: start;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tbody td.product-total {
	text-align: end;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details .product-name > a {
	font-size: var(--fsp-text-lg);
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot th,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot td {
	background: var(--fsp-surface-soft);
	border-block-start: 1px solid var(--fsp-border);
	border-block-end: 0;
	font-size: var(--fsp-text-md);
	text-transform: none;
	letter-spacing: normal;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-table--order-details tfoot td {
	text-align: end;
}

.woocommerce-account .woocommerce-MyAccount-content .wc-item-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fsp-space-1) var(--fsp-space-4);
	margin: var(--fsp-space-2) 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--fsp-text-sm);
}

.woocommerce-account .woocommerce-MyAccount-content .wc-item-meta li {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fsp-space-2);
}

.woocommerce-account .woocommerce-MyAccount-content .wc-item-meta p {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-content .order-again {
	text-align: end;
}

/* ---- Address cards (Addresses tab + order customer details) ---- */
.woocommerce-account .woocommerce .woocommerce-Addresses,
.woocommerce-account .woocommerce .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
	gap: var(--fsp-space-6);
}

.woocommerce-account .woocommerce .woocommerce-Addresses::before,
.woocommerce-account .woocommerce .woocommerce-Addresses::after,
.woocommerce-account .woocommerce .woocommerce-columns--addresses::before,
.woocommerce-account .woocommerce .woocommerce-columns--addresses::after {
	content: none;
}

.woocommerce-account .woocommerce .woocommerce-Addresses > .woocommerce-Address,
.woocommerce-account .woocommerce .woocommerce-columns--addresses > .woocommerce-column {
	float: none;
	width: auto;
}

.woocommerce-account .woocommerce .woocommerce-Address {
	overflow: hidden;
	background: var(--fsp-surface);
	border: 1px solid var(--fsp-border);
	border-radius: var(--fsp-radius-md);
	box-shadow: var(--fsp-shadow-md);
}

.woocommerce-account .woocommerce .woocommerce-Address .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--fsp-space-2);
	padding: var(--fsp-space-3) var(--fsp-space-4);
	background: var(--fsp-primary);
}

.woocommerce-account .woocommerce .woocommerce-Address .woocommerce-Address-title::before,
.woocommerce-account .woocommerce .woocommerce-Address .woocommerce-Address-title::after {
	content: none;
}

.woocommerce-account .woocommerce .woocommerce-Address-title :is(h2, h3),
.woocommerce-account .woocommerce .woocommerce-customer-details .woocommerce-column__title {
	margin: 0;
	color: var(--fsp-blue-900);
	font-size: var(--fsp-text-lg);
}

.woocommerce-account .woocommerce .woocommerce-Address-title .edit {
	padding: var(--fsp-space-1) var(--fsp-space-3);
	background: var(--fsp-surface);
	color: var(--fsp-blue-900);
	border-radius: var(--fsp-radius-sm);
	font-size: var(--fsp-text-sm);
	font-weight: 700;
}

.woocommerce-account .woocommerce .woocommerce-Address-title .edit:hover {
	background: var(--fsp-blue-50);
	text-decoration: none;
}

.woocommerce-account .woocommerce .woocommerce-Address address {
	margin: 0;
	padding: var(--fsp-space-4);
	font-style: normal;
}

/* Order customer details: title bar sits on top of Woo's address box. */
.woocommerce-account .woocommerce .woocommerce-customer-details .woocommerce-column__title {
	padding: var(--fsp-space-3) var(--fsp-space-4);
	background: var(--fsp-primary);
	border-radius: var(--fsp-radius-md) var(--fsp-radius-md) 0 0;
}

.woocommerce-account .woocommerce .woocommerce-customer-details address {
	padding: var(--fsp-space-4);
	background: var(--fsp-surface);
	border: 1px solid var(--fsp-border);
	border-block-start: 0;
	border-radius: 0 0 var(--fsp-radius-md) var(--fsp-radius-md);
}

.woocommerce-account .woocommerce .woocommerce-customer-details address p {
	margin: var(--fsp-space-2) 0 0;
}

/* ---- Forms: account details + edit address ---- */
.woocommerce-account .woocommerce .woocommerce-EditAccountForm > .form-row,
.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row {
	float: none;
	width: auto;
}

#account_display_name_description {
	display: block;
	margin-block-start: var(--fsp-space-2);
	padding: var(--fsp-space-2) var(--fsp-space-3);
	background: var(--fsp-ink-075);
	color: var(--fsp-text-soft);
	border-radius: var(--fsp-radius-sm);
	font-size: var(--fsp-text-sm);
}

.woocommerce-EditAccountForm fieldset {
	margin: 0 0 var(--fsp-space-4);
	padding: var(--fsp-space-4) var(--fsp-space-5) 0;
	border: 1px solid var(--fsp-border);
	border-radius: var(--fsp-radius-md);
}

.woocommerce-EditAccountForm legend {
	padding-inline: var(--fsp-space-2);
	color: var(--fsp-heading);
	font-weight: 700;
}

.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper {
	display: grid;
	column-gap: var(--fsp-space-4);
}

/*
 * Wide screens: account fields on the left, the password fieldset beside them
 * (the FS2 layout); address first/last name pairs side by side. Anything else
 * — plugin fields, the save button — spans the full width.
 */
/* tablet ≥48rem */
@media (min-width: 48rem) {
	.woocommerce-account .woocommerce .woocommerce-EditAccountForm {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--fsp-space-8);
		align-items: start;
	}

	.woocommerce-account .woocommerce .woocommerce-EditAccountForm > * {
		grid-column: 1 / -1;
	}

	.woocommerce-account .woocommerce .woocommerce-EditAccountForm > .woocommerce-form-row {
		grid-column: 1;
	}

	.woocommerce-account .woocommerce .woocommerce-EditAccountForm > fieldset {
		grid-column: 2;
		grid-row: 1 / span 4;
	}

	.woocommerce-account .woocommerce .woocommerce-EditAccountForm > .clear {
		display: none;
	}

	.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row {
		grid-column: 1 / -1;
	}

	.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-first {
		grid-column: 1;
	}

	.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-last {
		grid-column: 2;
	}
}
