/* Account-only presentation. Woo owns navigation, forms, notices and data. */
.bb-account-page .bb-main {
	padding-block: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-12);
}

.bb-account-page .bb-page-header {
	margin-block-end: var(--wp--preset--spacing--space-6);
}

.bb-account-page .bb-page-header h1 {
	font-size: var(--wp--preset--font-size--heading-medium);
}

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

.bb-account-page .woocommerce-MyAccount-navigation ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-2);
	list-style: none;
	padding: 0;
	margin: 0 0 var(--wp--preset--spacing--space-6);
}

.bb-account-page .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.bb-account-page .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-block-size: var(--wp--custom--control--min-height);
	block-size: 100%;
	padding: var(--wp--preset--spacing--space-2) var(--wp--preset--spacing--space-3);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--control);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
}

.bb-account-page .woocommerce-MyAccount-navigation a:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent);
}

.bb-account-page .woocommerce-MyAccount-navigation .is-active a {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--surface);
	font-weight: var(--wp--custom--font-weight--strong);
}

.bb-account-page .woocommerce-MyAccount-content {
	padding: var(--wp--preset--spacing--space-4);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	background: var(--wp--preset--color--surface);
}

.bb-account-page .woocommerce-MyAccount-content > :first-child {
	margin-block-start: 0;
}

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

.bb-account-page .woocommerce-MyAccount-content > p {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account-page .woocommerce-MyAccount-content > p:first-child {
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--lead);
}

.bb-account-page .woocommerce-MyAccount-content :is(h2, h3) {
	font-size: var(--wp--preset--font-size--heading-small);
}

/* The dashboard destinations below replace its long explanation.
 * Only this known Woo paragraph is hidden, never notices or form instructions. */
.bb-account-dashboard .woocommerce-MyAccount-content:has(> .bb-account__shortcuts) > p:nth-of-type(2) {
	display: none;
}

/* Keep native BACS fields readable when a customer returns to an unpaid order. */
.bb-account-page .bb-account__bank-payment {
	margin-block: var(--wp--preset--spacing--space-6);
	padding: var(--wp--preset--spacing--space-4);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	background: var(--wp--preset--color--canvas);
	overflow-wrap: anywhere;
}

.bb-account__bank-payment > :first-child {
	margin-block-start: 0;
}

.bb-account__bank-payment > :last-child,
.bb-account__bank-payment .woocommerce-bacs-bank-details > :last-child {
	margin-block-end: 0;
}

.bb-account-page .bb-account__payment-summary,
.bb-account-page .bb-account__bank-payment ul.order_details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	gap: var(--wp--preset--spacing--space-4);
	margin: var(--wp--preset--spacing--space-4) 0;
	padding: 0;
	list-style: none;
}

.bb-account-page .bb-account__payment-summary dt,
.bb-account-page .bb-account__bank-payment ul.order_details li {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account-page .bb-account__payment-summary dd {
	margin: 0;
	font-weight: var(--wp--custom--font-weight--strong);
}

.bb-account-page .bb-account__bank-payment ul.order_details li {
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	text-transform: none;
}

.bb-account-page .bb-account__bank-payment ul.order_details li strong {
	display: block;
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--body);
}

.bb-account-page .bb-account__bank-payment ul.order_details::before,
.bb-account-page .bb-account__bank-payment ul.order_details::after {
	display: none;
}

.bb-account__shortcuts {
	display: grid;
	gap: var(--wp--preset--spacing--space-3);
	margin-block: var(--wp--preset--spacing--space-4) var(--wp--preset--spacing--space-6);
}

.bb-account__shortcut {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--space-2);
	padding: var(--wp--preset--spacing--space-4);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	background: var(--wp--preset--color--canvas);
	text-decoration: none;
}

.bb-account__shortcut strong {
	display: flex;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-3);
	color: var(--wp--preset--color--accent);
}

.bb-account__shortcut > span {
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account__shortcut:hover {
	border-color: var(--wp--preset--color--accent);
}

.bb-account__section-heading,
.bb-account__order-heading,
.bb-account__order-meta,
.bb-account__order-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--space-3);
}

.bb-account__order-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--space-2);
}

.bb-account-page .bb-account__order-actions :is(.button, .bb-button) {
	padding: var(--wp--preset--spacing--space-2) var(--wp--preset--spacing--space-3);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: none;
	text-align: center;
}

.bb-account__section-heading,
.bb-account__order-heading {
	justify-content: space-between;
}

.bb-account__section-heading {
	margin-block-end: var(--wp--preset--spacing--space-4);
}

.bb-account__section-heading h2 {
	margin: 0;
	font-size: var(--wp--preset--font-size--lead);
}

.bb-account__section-heading > a {
	font-size: var(--wp--preset--font-size--small);
	min-block-size: var(--wp--custom--control--target-min);
	display: inline-flex;
	align-items: center;
}

.bb-account__order-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: var(--wp--preset--spacing--space-4);
}

.bb-account__order {
	padding: var(--wp--preset--spacing--space-4);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
}

.bb-account__order-heading > a {
	font-weight: var(--wp--custom--font-weight--strong);
}

.bb-account__status {
	padding: var(--wp--preset--spacing--space-1) var(--wp--preset--spacing--space-2);
	border-radius: var(--wp--preset--border-radius--control);
	background: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--text-secondary);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account__order-meta {
	margin-block: var(--wp--preset--spacing--space-2) var(--wp--preset--spacing--space-4);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account__order-meta .amount {
	color: var(--wp--preset--color--text);
	font-weight: var(--wp--custom--font-weight--strong);
}

.bb-account__shipment-summary {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--text-secondary);
}

/* Preserve Woo notice text, links and live region; use an information symbol
 * that does not depend on its optional icon font being available. */
.bb-account-page .woocommerce .woocommerce-info {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--space-4);
	padding: var(--wp--preset--spacing--space-4);
	padding-inline-start: var(--wp--preset--spacing--space-12);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account-page .woocommerce .woocommerce-info::before {
	content: "i";
	font-family: var(--wp--preset--font-family--system);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--wp--custom--font-weight--strong);
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	inline-size: 1.25rem;
	block-size: 1.25rem;
	border: var(--wp--custom--border--width) solid currentColor;
	border-radius: 50%;
	inset-inline-start: var(--wp--preset--spacing--space-4);
	inset-block-start: var(--wp--preset--spacing--space-4);
}

.bb-account-page .woocommerce .woocommerce-info .button {
	float: none;
	max-inline-size: 100%;
	font-size: var(--wp--preset--font-size--small);
	padding-inline: var(--wp--preset--spacing--space-4);
}

/* Woo can output its action before the anonymous notice text. */
.bb-account-page .woocommerce .woocommerce-info > .button {
	order: 1;
}

/* Native addresses, login/register and saved-card columns use the same spacing. */
.bb-account-page .woocommerce .col2-set {
	display: grid;
	gap: var(--wp--preset--spacing--space-6);
}

.bb-account-page .woocommerce .col2-set::before,
.bb-account-page .woocommerce .col2-set::after {
	display: none;
}

.bb-account-page .woocommerce .col2-set :is(.col-1, .col-2) {
	float: none;
	width: auto;
	min-inline-size: 0;
}

.bb-account-page .woocommerce :is(.woocommerce-Address, .woocommerce-customer-details address) {
	padding: var(--wp--preset--spacing--space-4);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	background: var(--wp--preset--color--surface);
	width: auto;
}

.bb-account-page .woocommerce .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--space-3);
	margin-block-end: var(--wp--preset--spacing--space-4);
}

.bb-account-page .woocommerce .woocommerce-Address-title::after,
.bb-account-page .woocommerce .woocommerce-Address-title::before {
	display: none;
}

.bb-account-page .woocommerce .woocommerce-Address-title :is(h2, h3, a) {
	float: none;
	margin: 0;
}

.bb-account-page .woocommerce .woocommerce-Address-title h2 {
	font-size: var(--wp--preset--font-size--lead);
}

.bb-account-page .woocommerce .woocommerce-Address-title .edit {
	display: inline-flex;
	align-items: center;
	min-block-size: var(--wp--custom--control--target-min);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account-page .woocommerce address {
	font-style: normal;
	color: var(--wp--preset--color--text-secondary);
}

.bb-account-page .woocommerce form :is(.form-row-first, .form-row-last) {
	float: none;
	width: 100%;
}

.bb-account-page .woocommerce :is(form.login, form.register, .lost_reset_password) {
	padding: var(--wp--preset--spacing--space-6);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	background: var(--wp--preset--color--surface);
	margin-block: var(--wp--preset--spacing--space-4);
}

.bb-account-page .woocommerce > :is(.woocommerce-form-login, .lost_reset_password) {
	max-inline-size: var(--wp--style--global--content-size);
}

.bb-account-page .woocommerce fieldset {
	margin-block: var(--wp--preset--spacing--space-8) var(--wp--preset--spacing--space-6);
	padding: var(--wp--preset--spacing--space-4);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
}

.bb-account-page .woocommerce legend {
	padding-inline: var(--wp--preset--spacing--space-2);
	font-weight: var(--wp--custom--font-weight--strong);
}

.bb-account-page .woocommerce .woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--space-4) var(--wp--preset--spacing--space-6);
	max-inline-size: var(--wp--style--global--content-size);
}

.bb-account-page .woocommerce .woocommerce-EditAccountForm > * {
	grid-column: 1 / -1;
	min-inline-size: 0;
}

.bb-account-page .woocommerce .woocommerce-EditAccountForm > .form-row {
	margin: 0;
}

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

.bb-account-page .woocommerce .woocommerce-EditAccountForm .form-row:not(.woocommerce-invalid) input.input-text:not([aria-invalid="true"]):not(:disabled) {
	border-color: var(--wp--custom--color--border-control);
}

.bb-account-page .woocommerce .woocommerce-EditAccountForm #account_display_name_description {
	display: block;
	margin-block-start: var(--wp--preset--spacing--space-2);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.bb-account-page .woocommerce #account_display_name_description em {
	font-style: normal;
}

.bb-account-page .woocommerce .woocommerce-EditAccountForm fieldset {
	margin-block: var(--wp--preset--spacing--space-4);
}

.bb-account-page .woocommerce .woocommerce-EditAccountForm fieldset > :last-child {
	margin-block-end: 0;
}

.bb-account__logout {
	inline-size: min(28rem, calc(100% - var(--bb-gutter) - var(--bb-gutter)));
	max-block-size: calc(100dvh - var(--wp--preset--spacing--space-8));
	overflow-y: auto;
	padding: var(--wp--preset--spacing--space-6);
	border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
}

.bb-account__logout:not([open]) {
	display: none;
}

.bb-account__logout::backdrop {
	background: color-mix(in srgb, var(--wp--preset--color--text) 45%, transparent);
}

.bb-account__logout h2 {
	margin: 0 0 var(--wp--preset--spacing--space-3);
	font-size: var(--wp--preset--font-size--heading-small);
}

.bb-account__logout p {
	color: var(--wp--preset--color--text-secondary);
}

.bb-account__logout-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--space-3);
}

/* The dialog sits outside .woocommerce; beat ordinary link colors while
 * retaining the shared button background, states and focus treatment. */
.bb-account__logout-actions a.bb-button {
	color: var(--wp--preset--color--surface);
	text-decoration: none;
}

.bb-account-page .woocommerce table.shop_table {
	border-color: var(--wp--preset--color--border);
	border-radius: var(--wp--preset--border-radius--card);
	font-size: var(--wp--preset--font-size--small);
}

.bb-account-page .woocommerce table.shop_table :is(th, td) {
	padding: var(--wp--preset--spacing--space-3);
	border-color: var(--wp--preset--color--border);
	overflow-wrap: anywhere;
}

.bb-account-page .woocommerce table.shop_table thead th {
	background: var(--wp--preset--color--canvas);
	color: var(--wp--preset--color--text-secondary);
}

.bb-account-page .woocommerce table .button {
	font-size: var(--wp--preset--font-size--small);
	margin: var(--wp--preset--spacing--space-1);
}

.bb-account-page .woocommerce a.button.bb-track {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--accent);
}

.bb-account-page .woocommerce a.button.bb-track:hover {
	background: var(--wp--preset--color--canvas);
}

@media (min-width: 40rem) {
	.bb-account-page .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.bb-account-page .woocommerce-MyAccount-content {
		padding: var(--wp--preset--spacing--space-6);
	}
	.bb-account__shortcuts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.bb-account-page .woocommerce .col2-set {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.bb-account-page .woocommerce .woocommerce-EditAccountForm {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.bb-account-page .woocommerce .woocommerce-EditAccountForm > :is(.form-row-first, .form-row-last) {
		grid-column: auto;
	}
}

@media (max-width: 39.999rem) {
	.bb-account__shortcuts {
		gap: var(--wp--preset--spacing--space-2);
	}
	.bb-account__shortcut {
		justify-content: center;
		min-block-size: var(--wp--custom--control--min-height);
		padding: var(--wp--preset--spacing--space-2) var(--wp--preset--spacing--space-3);
	}
	.bb-account__shortcut > span {
		display: none;
	}
	.bb-account__order {
		padding: var(--wp--preset--spacing--space-3);
	}
}

/* Keep Woo's responsive table behavior, but restore the order-number row header
 * that its small-screen stylesheet hides. Actions remain large and wrappable. */
@media (max-width: 768px) {
	.bb-account-page .woocommerce table.woocommerce-orders-table tbody th {
		display: block;
		text-align: start;
		background: var(--wp--preset--color--canvas);
	}
	.bb-account-page .woocommerce table.woocommerce-orders-table tr td.woocommerce-orders-table__cell-order-actions::before {
		display: none;
	}
	.bb-account-page .woocommerce table.woocommerce-orders-table tr td.woocommerce-orders-table__cell-order-actions {
		text-align: start !important; /* Override Woo's responsive !important. */
	}
	.bb-account-page .woocommerce table.woocommerce-orders-table tbody tr + tr th {
		border-block-start: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
	}
}

@media (min-width: 64rem) {
	.bb-account__order {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: var(--wp--preset--spacing--space-2) var(--wp--preset--spacing--space-6);
	}
	.bb-account__order-heading {
		grid-column: 1 / -1;
	}
	.bb-account__order-meta {
		margin: 0;
	}
	.bb-account__shipment-summary {
		grid-column: 1;
		margin: 0;
	}
	.bb-account__order-actions {
		grid-column: 2;
		grid-row: 2 / span 2;
		align-self: center;
	}
	.bb-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		display: grid;
		grid-template-columns: 15rem minmax(0, 1fr);
		gap: var(--wp--preset--spacing--space-8);
		align-items: start;
	}
	.bb-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
	.bb-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation)::after {
		display: none;
	}
	.bb-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper {
		grid-column: 1 / -1;
	}
	.bb-account-page .woocommerce:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper:empty {
		display: none;
	}
	.bb-account-page .woocommerce-MyAccount-navigation ul {
		grid-template-columns: minmax(0, 1fr);
		padding: var(--wp--preset--spacing--space-3);
		margin: 0;
		border: var(--wp--custom--border--width) solid var(--wp--preset--color--border);
		border-radius: var(--wp--preset--border-radius--card);
		background: var(--wp--preset--color--surface);
	}
	.bb-account-page .woocommerce-MyAccount-navigation a {
		border-color: transparent;
		font-size: var(--wp--preset--font-size--body);
	}
}
