/* Customer account only. Keep the store's existing type and neutral palette. */
body.woocommerce-account .luman-account-trap {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

body.woocommerce-account .woocommerce .luman-account-help {
	margin-bottom: 20px;
}

body.woocommerce-account .woocommerce input[readonly] {
	background: var(--luman-fog, #f5f6f7);
}

body.woocommerce-account .entry-content > .woocommerce {
	display: grid;
	min-width: 0;
	align-items: start;
}

/* Woo's float clearfix pseudo-elements otherwise occupy real grid cells. */
body.woocommerce-account .entry-content > .woocommerce::before,
body.woocommerce-account .entry-content > .woocommerce::after {
	display: none;
	content: none;
}

body.woocommerce-account:not(.logged-in) .entry-content > .woocommerce {
	display: block;
}

body.woocommerce-account .woocommerce > :is(.woocommerce-notices-wrapper, .luman-account-intro, .luman-account-help) {
	grid-column: 1 / -1;
	min-width: 0;
}

body.woocommerce-account .woocommerce :is(h2, h3) {
	margin: 0 0 20px;
	font-size: clamp(22px, 2.3vw, 28px);
	font-weight: 750;
	line-height: 1.25;
	letter-spacing: -.025em;
}

body.woocommerce-account .luman-account-intro {
	max-width: 760px;
	margin: 0 0 28px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--luman-muted, #686d72);
}

body.woocommerce-account .luman-account-help {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.65;
	color: var(--luman-muted, #686d72);
}

body.woocommerce-account .woocommerce #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	width: 100%;
	margin: 0;
}

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

body.woocommerce-account .woocommerce #customer_login > :is(.u-column1, .u-column2) {
	float: none;
	width: 100%;
	min-width: 0;
	padding: clamp(20px, 3vw, 32px);
	border: 1px solid var(--luman-border, #dde1e4);
	border-radius: 14px;
	background: var(--luman-paper, #fff);
}

body.woocommerce-account .woocommerce form:is(.login, .register) {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
}

body.woocommerce-account .woocommerce form .form-row {
	float: none;
	width: 100%;
	margin: 0 0 18px;
	padding: 0;
}

body.woocommerce-account .woocommerce form .form-row label {
	display: block;
	margin-bottom: 7px;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.5;
}

body.woocommerce-account .woocommerce form :is(input.input-text, input[type="tel"], input[type="email"], input[type="password"], input[type="text"], select) {
	width: 100%;
	min-width: 0;
	min-height: 48px;
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #bcc3c8;
	border-radius: 8px;
	background: #fff;
	color: var(--luman-ink, #0b0b0b);
	font-family: inherit;
	font-size: 16px;
	line-height: 1.5;
}

body.woocommerce-account .woocommerce form .password-input {
	display: block;
	width: 100%;
}

body.woocommerce-account .woocommerce form .password-input input {
	padding-right: 52px;
}

body.woocommerce-account .woocommerce form .show-password-input {
	top: 2px;
	right: 2px;
	transform: none;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
}

body.woocommerce-account .woocommerce form .show-password-input::after {
	margin: 0;
}

body.woocommerce-account .woocommerce form .woocommerce-form-login__rememberme {
	display: flex;
	align-items: center;
	gap: 9px;
	min-height: 44px;
	margin: 0 0 12px;
	font-weight: 400;
}

body.woocommerce-account .woocommerce form .woocommerce-form-login__rememberme input {
	width: 18px;
	height: 18px;
	min-height: 0;
	margin: 0;
	accent-color: var(--luman-ink, #0b0b0b);
}

body.woocommerce-account .woocommerce form :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit) {
	float: none;
	width: 100%;
	margin: 0;
}

body.woocommerce-account .woocommerce :is(button.button, a.button, input.button) {
	min-height: 44px;
	padding: 12px 18px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .025em;
	white-space: normal;
	text-align: center;
}

body.woocommerce-account .woocommerce form :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit),
body.woocommerce-account .woocommerce form.lost_reset_password button[type="submit"],
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm button[type="submit"] {
	min-height: 48px;
	border-color: var(--luman-ink, #0b0b0b);
	background: var(--luman-ink, #0b0b0b);
	color: #fff;
}

body.woocommerce-account .woocommerce form :is(.woocommerce-form-login__submit, .woocommerce-form-register__submit):hover,
body.woocommerce-account .woocommerce form.lost_reset_password button[type="submit"]:hover,
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm button[type="submit"]:hover {
	border-color: #30343a;
	background: #30343a;
	color: #fff;
}

body.woocommerce-account .woocommerce :is(.woocommerce-privacy-policy-text, .lost_password) {
	font-size: 14px;
	line-height: 1.65;
}

body.woocommerce-account .woocommerce .lost_password {
	margin: 20px 0 0;
}

body.woocommerce-account .woocommerce :is(.lost_password, .woocommerce-privacy-policy-text, .luman-account-help) a {
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
	border-radius: 14px;
}

body.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

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

body.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: 12px 10px;
	font-size: 14px;
	line-height: 1.5;
}

body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	border-radius: 6px;
	background: var(--luman-fog, #f5f6f7);
	font-weight: 750;
}

body.woocommerce-account .woocommerce-MyAccount-content {
	font-size: 15px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

body.woocommerce-account .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0;
}

/* Do not rely on an optional icon font for the account's information notices. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before {
	content: "i";
	top: 20px;
	width: 18px;
	height: 18px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-family: inherit;
	font-size: 12px;
	font-style: normal;
	font-weight: 700;
	line-height: 16px;
	text-align: center;
}

body.woocommerce-account .woocommerce-MyAccount-content > p:not(.luman-account-help) {
	max-width: 72ch;
	margin-bottom: 24px;
	line-height: 1.75;
}

/* Give saved addresses their own breathing room instead of Woo's adjacent floats. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	margin: 28px 0 0;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after,
body.woocommerce-account .woocommerce .woocommerce-Address-title::before,
body.woocommerce-account .woocommerce .woocommerce-Address-title::after {
	display: none;
	content: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address {
	float: none;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--luman-border, #dde1e4);
	border-radius: 12px;
	background: var(--luman-paper, #fff);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses address {
	margin: 20px 0 0;
	font-size: 15px;
	font-style: normal;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

/* The viewed order uses a separate address template; keep the same card spacing. */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
	margin-top: 32px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses::before,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses::after {
	display: none;
	content: none;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses > .woocommerce-column {
	float: none;
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 24px;
	border: 1px solid var(--luman-border, #dde1e4);
	border-radius: 12px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column__title {
	margin: 0;
	font-size: 20px;
	line-height: 1.35;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
	margin: 20px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	font-size: 15px;
	font-style: normal;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

/* Woo 11.2 may render the same repeat action in the table and again below it. */
body.woocommerce-account .woocommerce-order-details:has(table a.order-again) > p.order-again {
	display: none;
}

/* Keep edit forms comfortable without changing or hiding any customer fields. */
body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm {
	max-width: 760px;
}

body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset {
	min-width: 0;
	margin: 28px 0;
	padding: 24px;
	border: 1px solid var(--luman-border, #dde1e4);
	border-radius: 12px;
}

body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm legend {
	padding: 0 8px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}

body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset .form-row:last-child {
	margin-bottom: 0;
}

body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > p:last-child {
	margin: 24px 0 0;
}

body.woocommerce-account .woocommerce .woocommerce-address-fields {
	margin-top: 24px;
}

body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper {
	max-width: 760px;
}

body.woocommerce-account .woocommerce .woocommerce-address-fields .form-row {
	margin-bottom: 22px;
}

body.woocommerce-account .woocommerce .woocommerce-address-fields > p:last-child {
	margin: 28px 0 0;
}

body.woocommerce-account .woocommerce .woocommerce-address-fields button[type="submit"] {
	min-width: 220px;
	min-height: 48px;
	border-color: var(--luman-ink, #0b0b0b);
	background: var(--luman-ink, #0b0b0b);
	color: #fff;
}

body.woocommerce-account .woocommerce .woocommerce-address-fields button[type="submit"]:hover {
	border-color: #30343a;
	background: #30343a;
	color: #fff;
}

body.woocommerce-account .woocommerce table.woocommerce-orders-table {
	width: 100%;
	margin: 0 0 24px;
	font-size: 14px;
}

body.woocommerce-account .woocommerce table.woocommerce-orders-table :is(th, td) {
	padding: 14px 10px;
	vertical-align: top;
	line-height: 1.55;
}

body.woocommerce-account .woocommerce .woocommerce-orders-table__cell-order-actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 6px 8px 0;
	padding: 10px 12px;
	font-size: 12px;
}

body.woocommerce-account .woocommerce .woocommerce-Pagination {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title :is(h2, h3) {
	flex: 1 1 180px;
	min-width: 0;
	margin: 0;
	font-size: 20px;
	line-height: 1.35;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title .edit {
	float: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-height: 44px;
	margin: 0;
	padding: 10px 14px;
	border: 1px solid var(--luman-border, #dde1e4);
	border-radius: 8px;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.5;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
}

body.woocommerce-account .woocommerce .woocommerce-Address-title .edit:hover {
	border-color: var(--luman-ink, #0b0b0b);
	background: var(--luman-fog, #f5f6f7);
}

body.woocommerce-account .woocommerce form.lost_reset_password {
	max-width: 600px;
	margin: 0;
}

/* The account sidebar leaves too little room for two address cards on tablets. */
@media (max-width: 1199px) {
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 899px) {
	body.woocommerce-account .entry-content > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation {
		margin: 0;
		padding: 12px 18px;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 4px 14px;
	}
}

@media (max-width: 768px) {
	body.woocommerce-account .woocommerce #customer_login {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	body.woocommerce-account .woocommerce .woocommerce-MyAccount-content {
		padding: 20px 16px;
	}

	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address,
	body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .addresses > .woocommerce-column,
	body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm fieldset {
		padding: 20px;
	}

	body.woocommerce-account .woocommerce .woocommerce-address-fields button[type="submit"],
	body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm button[type="submit"] {
		width: 100%;
		min-width: 0;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table,
	body.woocommerce-account .woocommerce table.woocommerce-orders-table tbody {
		display: block;
		width: 100%;
		border: 0;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table thead {
		display: none;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table tr {
		display: block;
		margin: 0 0 18px;
		border: 1px solid var(--luman-border, #dde1e4);
		border-radius: 10px;
		overflow: hidden;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table :is(td, tbody th) {
		position: relative;
		display: block;
		width: 100%;
		min-height: 48px;
		padding: 13px 14px 13px 43%;
		border-top: 1px solid var(--luman-border, #dde1e4);
		background: #fff;
		text-align: left !important;
		overflow-wrap: anywhere;
		font-size: 14px;
		letter-spacing: normal;
		text-transform: none;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table :is(td, tbody th):first-child {
		border-top: 0;
	}

	body.woocommerce-account .woocommerce table.woocommerce-orders-table :is(td, tbody th)::before {
		position: absolute;
		top: 13px;
		left: 14px;
		width: calc(43% - 26px);
		content: attr(data-title);
		font-size: 12px;
		font-weight: 650;
		line-height: 1.8;
		text-transform: none;
	}

	body.woocommerce-account .woocommerce .woocommerce-orders-table__cell-order-actions .button {
		display: flex;
		width: 100%;
		margin: 0 0 8px;
	}

	body.woocommerce-account .woocommerce .woocommerce-orders-table__cell-order-actions .button:last-child {
		margin-bottom: 0;
	}

	/* Give the product title most of the row; totals below use their full width. */
	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details,
	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > :is(thead, tbody, tfoot) {
		display: block;
		width: 100%;
		min-width: 0;
		table-layout: auto;
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > :is(thead, tbody) > tr {
		display: grid;
		grid-template-columns: minmax(0, 64fr) minmax(0, 36fr);
		width: 100%;
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > :is(thead, tbody) > tr > :is(th, td) {
		display: block;
		width: auto;
		min-width: 0;
		padding: 14px 10px;
		line-height: 1.6;
		text-align: left;
		overflow-wrap: anywhere;
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > tbody > tr > td {
		font-size: 14px;
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > tfoot > tr {
		display: block;
		width: 100%;
		padding: 16px 10px;
		border-top: 1px solid var(--luman-border, #dde1e4);
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > tfoot > tr > :is(th, td) {
		display: block;
		width: 100%;
		min-width: 0;
		padding: 0;
		border: 0;
		text-align: left;
		line-height: 1.65;
		overflow-wrap: anywhere;
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > tfoot > tr > th {
		font-size: 12px;
		font-weight: 650;
		letter-spacing: .025em;
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details > tfoot > tr > td {
		margin-top: 8px;
		font-size: 15px;
	}

	body.woocommerce-account .woocommerce-order-details table.woocommerce-table--order-details .button {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		margin: 8px 0 0;
	}
}
