/* ==========================================================================
   Avgi Wear 2.0 — bag, checkout, confirmation and account
   Loaded only on those pages (see inc/assets.php).
   ========================================================================== */

.commerce-page {
	max-width: var(--max);
	margin-inline: auto;
	padding: clamp(20px, 3vw, 40px) var(--gutter) 0;
}

.commerce-page__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 16px;
	margin: 26px 0 clamp(24px, 3vw, 40px);
}

.commerce-page__title {
	margin: 0;
	font-size: var(--step-4);
	font-weight: 250;
	line-height: 1.2;
}

.commerce-page__meta {
	margin: 0;
	color: var(--muted);
}

.clear {
	display: none;
}

/* Progress steps -------------------------------------------------------- */

.checkout-steps {
	display: flex;
	align-items: center;
	max-width: 660px;
	margin: 0 auto;
	padding: 0;
	list-style: none;
}

.checkout-steps li {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 10px;
	color: var(--muted);
	font-size: 14px;
	white-space: nowrap;
}

.checkout-steps li:not(:last-child)::after {
	content: "";
	flex: 1;
	height: 1px;
	margin-inline: 14px;
	background: var(--line-strong);
}

.checkout-steps li.is-done::after {
	background: var(--plum);
}

.checkout-steps li:last-child {
	flex: none;
}

.checkout-steps__dot {
	display: grid;
	flex: none;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--line-strong);
	border-radius: 50%;
	font-size: 13px;
	font-weight: 700;
}

.checkout-steps .is-current {
	color: var(--ink);
	font-weight: 600;
}

.checkout-steps .is-current .checkout-steps__dot {
	border-color: var(--ink);
	background: var(--ink);
	color: var(--paper);
}

.checkout-steps .is-done .checkout-steps__dot {
	border-color: var(--plum);
	background: var(--plum);
	color: var(--card);
}

.checkout-steps .is-done .icon {
	width: 15px;
	height: 15px;
}

@media (hover: hover) {
	.checkout-steps a:hover {
		color: var(--ink);
		text-decoration: underline;
	}
}

@media (max-width: 600px) {
	.checkout-steps li:not(.is-current) > span:not(.checkout-steps__dot),
	.checkout-steps li:not(.is-current) > a {
		display: none;
	}

	.checkout-steps li:not(:last-child)::after {
		margin-inline: 8px;
	}
}

/* Bag (cart page) --------------------------------------------------------- */

.cart-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
	align-items: start;
	gap: clamp(24px, 4vw, 64px);
}

.cart-items {
	display: grid;
	border-top: 1px solid var(--line);
}

.cart-item {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	gap: 20px;
	padding-block: 22px;
	border-bottom: 1px solid var(--line);
}

.cart-item__media a,
.cart-item__media > img {
	display: block;
}

.cart-item__media img {
	width: 100%;
	aspect-ratio: 4 / 5;
	border-radius: var(--radius);
	background: var(--paper-2);
	object-fit: cover;
}

.cart-item__body {
	display: grid;
	align-content: space-between;
	gap: 14px;
	min-width: 0;
}

.cart-item__head {
	display: flex;
	justify-content: space-between;
	gap: 16px;
}

.cart-item__name > a {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}

.cart-item__price {
	color: var(--muted);
	font-size: 14px;
	white-space: nowrap;
}

.cart-item__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 20px;
}

.cart-item__qty .qty-stepper {
	height: 44px;
}

.cart-item__qty .qty-stepper__btn {
	width: 36px;
	height: 36px;
}

.cart-item__subtotal {
	margin-inline-start: auto;
	font-weight: 700;
}

.cart-item__remove a.remove {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--muted);
	font-size: 13px;
}

@media (hover: hover) {
	.cart-item__remove a.remove:hover {
		color: var(--danger);
	}
}

.cart-item__remove .icon {
	width: 16px;
	height: 16px;
}

.backorder_notification {
	margin: 6px 0 0;
	color: var(--warning);
	font-size: 13px;
}

.cart-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	padding-block: 20px;
}

.cart-coupon summary,
.checkout-note summary,
.summary-coupon summary {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-block: 6px;
	color: var(--ink-2);
	font-size: 14px;
	list-style: none;
	cursor: pointer;
}

.cart-coupon summary::-webkit-details-marker,
.checkout-note summary::-webkit-details-marker,
.summary-coupon summary::-webkit-details-marker {
	display: none;
}

.cart-coupon summary .icon,
.checkout-note summary .icon,
.summary-coupon summary .icon {
	width: 16px;
	height: 16px;
	transition: rotate 0.3s var(--ease);
}

.cart-coupon[open] summary .icon,
.checkout-note[open] summary .icon,
.summary-coupon[open] summary .icon {
	rotate: 45deg;
}

.cart-coupon__field,
.summary-coupon__field {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}

.cart-coupon__field .input-text,
.summary-coupon__field .input-text {
	min-width: 0;
}

.cart-coupon__field .button,
.summary-coupon__field .button {
	flex: none;
	min-height: 52px;
}

.js .cart-update {
	display: none;
}

.cart-layout__aside {
	position: sticky;
	top: calc(var(--header-h) + 24px);
}

.summary-card {
	padding: clamp(20px, 2.4vw, 32px);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
}

.summary-card .ship-progress {
	margin-bottom: 18px;
}

.summary-card__title {
	margin: 0 0 12px;
	font-size: var(--step-1);
	font-weight: 600;
}

.totals-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.totals-table th,
.totals-table td {
	padding: 10px 0;
	font-weight: 400;
	text-align: start;
	vertical-align: top;
}

.totals-table td {
	text-align: end;
}

.totals-table th {
	color: var(--ink-2);
}

.totals-table .woocommerce-shipping-totals {
	display: grid;
	gap: 8px;
	padding-block: 6px 10px;
}

.totals-table .woocommerce-shipping-totals th,
.totals-table .woocommerce-shipping-totals td {
	padding: 0;
	text-align: start;
}

.totals-table .order-total th,
.totals-table .order-total td {
	padding-top: 16px;
	border-top: 1px solid var(--line-strong);
	color: var(--ink);
	font-size: 17px;
	font-weight: 700;
}

.totals-table .order-total .amount,
.review-table .order-total .amount {
	font-size: 21px;
}

.totals-table small,
.review-table small {
	display: block;
	color: var(--muted);
	font-size: 12px;
	font-weight: 400;
}

.woocommerce-remove-coupon {
	margin-inline-start: 6px;
	color: var(--muted);
	font-size: 12px;
	text-decoration: underline;
}

.shipping-options {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.shipping-option {
	position: relative;
}

.shipping-option label {
	display: block;
	margin: 0;
	padding: 12px 14px;
	padding-inline-start: 46px;
	border: 1px solid var(--line-strong);
	border-radius: 12px;
	background: var(--card);
	color: var(--ink);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.7;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.shipping-option input[type="radio"] {
	position: absolute;
	top: 50%;
	inset-inline-start: 15px;
	translate: 0 -50%;
}

.shipping-option input[type="hidden"] + label {
	padding-inline-start: 14px;
	cursor: default;
}

.shipping-option:has(input:checked) label {
	border-color: var(--ink);
	box-shadow: inset 0 0 0 1px var(--ink);
}

.shipping-option .amount {
	font-weight: 700;
}

.woocommerce-shipping-destination,
.woocommerce-shipping-contents {
	margin: 10px 0 0;
	color: var(--muted);
	font-size: 13px;
}

.shipping-calculator-button {
	display: inline-flex;
	margin-top: 6px;
	font-size: 13px;
	text-decoration: underline;
}

.shipping-calculator-form {
	margin-top: 12px;
}

.wc-proceed-to-checkout {
	margin-top: 18px;
}

.summary-card__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 14px 0 0;
	color: var(--muted);
	font-size: 12px;
	text-align: center;
}

.summary-card__secure .icon {
	width: 15px;
	height: 15px;
}

.cross-sells,
.cart-suggestions {
	margin-top: clamp(64px, 8vw, 112px);
}

.cart-suggestions .section-title {
	margin-bottom: clamp(24px, 3vw, 40px);
}

.empty-state--bag {
	padding-top: clamp(32px, 6vw, 72px);
}

@media (max-width: 960px) {
	.cart-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.cart-layout__aside {
		position: static;
	}
}

@media (max-width: 560px) {
	.cart-item {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 14px;
	}

	.cart-item__head {
		flex-direction: column;
		gap: 2px;
	}

	.cart-item__subtotal {
		order: -1;
		width: 100%;
		margin: 0;
	}
}

/* Checkout -------------------------------------------------------------- */

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login {
	max-width: calc(100% - 420px - clamp(24px, 4vw, 72px));
}

.woocommerce-form-login.login,
.woocommerce-ResetPassword,
.checkout_coupon {
	padding: clamp(20px, 3vw, 32px);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
}

.woocommerce-checkout .woocommerce-form-login {
	margin-bottom: 20px;
}

.checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
	align-items: start;
	gap: clamp(24px, 4vw, 72px);
}

.checkout-layout__main {
	grid-row: 1;
	grid-column: 1;
	min-width: 0;
}

.checkout-layout__aside {
	position: sticky;
	top: 88px;
	grid-row: 1;
	grid-column: 2;
}

.checkout-section {
	margin-bottom: 16px;
	padding: clamp(20px, 2.6vw, 32px);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
}

.checkout-section__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 22px;
	font-size: var(--step-1);
	font-weight: 600;
}

.checkout-section__index {
	display: grid;
	flex: none;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ink);
	color: var(--paper);
	font-size: 14px;
	font-weight: 700;
}

.checkout-section__hint {
	margin: 0;
	color: var(--muted);
}

.woocommerce-billing-fields > .checkout-section:last-child,
.checkout-customer .checkout-section {
	margin-bottom: 16px;
}

.field-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
}

.field-grid > * {
	grid-column: 1 / -1;
	min-width: 0;
}

.field-grid > .form-row-first {
	grid-column: 1;
}

.field-grid > .form-row-last {
	grid-column: 2;
}

.is-single-country {
	display: none !important;
}

.woocommerce-account-fields {
	padding-top: 4px;
}

.woocommerce-account-fields .create-account {
	margin-top: 12px;
}

.woocommerce-shipping-fields,
.woocommerce-additional-fields {
	padding-inline: 4px;
}

.checkout-toggle {
	margin: 4px 0 14px;
	font-size: 15px;
	font-weight: 400;
}

.shipping_address {
	margin-bottom: 16px;
	padding: clamp(20px, 2.6vw, 32px);
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
}

.checkout-note {
	margin-bottom: 18px;
}

.checkout-note .woocommerce-additional-fields__field-wrapper {
	margin-top: 10px;
}

.shipping-table {
	width: 100%;
	border-collapse: collapse;
}

.shipping-table th {
	display: none;
}

.shipping-table td {
	padding: 0;
}

.wc_payment_methods {
	display: grid;
	gap: 10px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}

.wc_payment_method {
	position: relative;
	border: 1px solid var(--line-strong);
	border-radius: 14px;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.wc_payment_method:has(> input:checked) {
	border-color: var(--ink);
	box-shadow: inset 0 0 0 1px var(--ink);
}

.wc_payment_method > input.input-radio {
	position: absolute;
	top: 18px;
	inset-inline-start: 16px;
}

.wc_payment_method > label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0;
	padding: 15px 16px;
	padding-inline-start: 48px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
}

.wc_payment_method > label img {
	width: auto;
	max-height: 28px;
}

.payment_box {
	padding: 0 16px 16px;
	padding-inline-start: 48px;
	color: var(--ink-2);
	font-size: 14px;
}

.payment_box p:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout-payment .woocommerce-info {
	margin: 0;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 16px;
	font-size: 14px;
}

.woocommerce-privacy-policy-text p {
	color: var(--muted);
	font-size: 13px;
}

.woocommerce-privacy-policy-text a,
.woocommerce-terms-and-conditions-link {
	text-decoration: underline;
}

.woocommerce-terms-and-conditions {
	max-height: 240px;
	margin-bottom: 14px;
	padding: 16px;
	overflow-y: auto;
	overscroll-behavior: contain;
	border-radius: 12px;
	background: var(--paper-2);
}

.place-order {
	margin: 0;
}

#place_order {
	width: 100%;
	min-height: 58px;
	font-size: 16px;
}

.checkout-summary {
	padding: clamp(20px, 2.4vw, 28px);
	border-radius: var(--radius-lg);
	background: var(--paper-2);
}

.checkout-summary__toggle {
	display: none;
}

.checkout-summary__title {
	margin: 0 0 12px;
	font-size: var(--step-1);
	font-weight: 600;
}

.review-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.review-table th,
.review-table td {
	padding: 10px 0;
	font-weight: 400;
	text-align: start;
	vertical-align: middle;
}

.review-table .product-thumbnail {
	width: 74px;
	padding-inline-end: 14px;
}

.review-thumb {
	position: relative;
	display: block;
	width: 58px;
}

.review-thumb img {
	display: block;
	width: 58px;
	aspect-ratio: 4 / 5;
	border-radius: 8px;
	background: var(--paper-3);
	object-fit: cover;
}

.review-thumb__qty {
	position: absolute;
	top: -8px;
	inset-inline-end: -8px;
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	padding-inline: 5px;
	border-radius: 11px;
	background: var(--ink);
	color: var(--paper);
	font-size: 12px;
	font-weight: 700;
}

.review-table .product-name {
	font-weight: 500;
	line-height: 1.6;
}

.review-table td.product-total {
	text-align: end;
	white-space: nowrap;
}

.review-table tfoot th {
	color: var(--ink-2);
}

.review-table tfoot td {
	text-align: end;
}

.review-table tfoot tr:first-child > * {
	padding-top: 16px;
	border-top: 1px solid var(--line-strong);
}

.review-table .order-total th,
.review-table .order-total td {
	padding-top: 14px;
	border-top: 1px solid var(--line-strong);
	color: var(--ink);
	font-size: 17px;
	font-weight: 700;
}

.summary-coupon {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--line);
}

.summary-coupon__message {
	margin-top: 10px;
	font-size: 13px;
}

.summary-coupon__message:empty {
	display: none;
}

.summary-coupon__message.is-error {
	color: var(--danger);
}

.summary-coupon__message.is-success {
	color: var(--success);
}

.woocommerce-checkout .woocommerce-NoticeGroup {
	grid-column: 1 / -1;
}

@media (max-width: 960px) {
	.checkout-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.checkout-layout__aside,
	.checkout-layout__main {
		grid-row: auto;
		grid-column: 1;
	}

	.checkout-layout__aside {
		position: static;
	}

	.woocommerce-checkout .woocommerce-form-login-toggle,
	.woocommerce-checkout .woocommerce-form-login {
		max-width: none;
	}

	.checkout-summary {
		padding: 0;
		background: none;
	}

	.checkout-summary__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		width: 100%;
		padding: 16px 18px;
		border: 1px solid var(--line);
		border-radius: 14px;
		background: var(--paper-2);
		font-size: 14px;
		cursor: pointer;
	}

	.checkout-summary__toggle > span {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		color: var(--plum);
		font-weight: 500;
	}

	.checkout-summary__toggle .icon {
		width: 18px;
		height: 18px;
		transition: rotate 0.3s var(--ease);
	}

	.checkout-summary.is-open .checkout-summary__toggle .icon--chevron-down {
		rotate: 180deg;
	}

	.checkout-summary__toggle strong {
		font-size: 16px;
	}

	.js .checkout-summary__body {
		display: none;
	}

	.checkout-summary__body {
		margin-top: 8px;
		padding: 18px;
		border-radius: 14px;
		background: var(--paper-2);
	}

	.js .checkout-summary.is-open .checkout-summary__body {
		display: block;
	}
}

@media (max-width: 560px) {
	.field-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.field-grid > .form-row-first,
	.field-grid > .form-row-last {
		grid-column: 1;
	}
}

/* Order confirmation ------------------------------------------------------ */

.order-complete {
	max-width: 880px;
	margin-inline: auto;
}

.order-complete__head {
	display: grid;
	justify-items: center;
	gap: 6px;
	padding: clamp(24px, 4vw, 48px) 0 32px;
	text-align: center;
}

.order-complete__icon {
	display: grid;
	place-items: center;
	width: 88px;
	height: 88px;
	margin-bottom: 14px;
	border-radius: 50%;
	background: var(--success-tint);
	color: var(--success);
}

.order-complete__icon svg {
	width: 54px;
	height: 54px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.order-complete__icon svg circle,
.order-complete__icon svg path {
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	animation: avgi-draw 0.9s 0.15s var(--ease-out) forwards;
}

.order-complete__icon svg path {
	animation-delay: 0.65s;
}

.order-complete__head--failed .order-complete__icon {
	background: var(--danger-tint);
	color: var(--danger);
}

.order-complete__head--failed .order-complete__icon .icon {
	width: 36px;
	height: 36px;
}

.order-complete__title {
	margin: 0;
	font-size: var(--step-4);
	font-weight: 250;
	line-height: 1.25;
}

.woocommerce-thankyou-order-received,
.order-complete__head .woocommerce-notice {
	max-width: 34em;
	margin: 0;
	color: var(--ink-2);
	font-size: var(--step-1);
}

.order-complete__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 12px;
}

.order-facts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	margin: 0 0 40px;
	padding: 0;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--line);
	list-style: none;
}

.order-facts li {
	display: grid;
	gap: 2px;
	padding: 16px 18px;
	background: var(--card);
	color: var(--muted);
	font-size: 13px;
}

.order-facts strong {
	color: var(--ink);
	font-size: 15px;
	font-weight: 600;
	overflow-wrap: anywhere;
}

[dir="rtl"] .order-facts strong[dir="ltr"] {
	text-align: right;
}

.order-complete__next {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 18px 28px;
	margin-top: 44px;
}

.woocommerce-bacs-bank-details {
	margin-bottom: 32px;
}

.wc-bacs-bank-details-heading,
.wc-bacs-bank-details-account-name {
	font-size: var(--step-1);
	font-weight: 600;
}

.wc-bacs-bank-details {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 10px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

.wc-bacs-bank-details li {
	display: grid;
	padding: 14px 16px;
	border-radius: 12px;
	background: var(--paper-2);
	color: var(--muted);
	font-size: 13px;
}

.wc-bacs-bank-details strong {
	color: var(--ink);
	font-size: 15px;
}

/* Order details (confirmation and account) ------------------------------------ */

.order-details {
	margin-top: 32px;
}

.order-details__title,
.woocommerce-column__title,
.woocommerce-order-downloads__title {
	margin: 0 0 16px;
	font-size: var(--step-1);
	font-weight: 600;
}

.details-table,
.woocommerce-MyAccount-content table.shop_table,
.woocommerce-table--order-downloads {
	width: 100%;
	overflow: hidden;
	border: 1px solid var(--line);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--radius-lg);
	background: var(--card);
	font-size: 15px;
}

.details-table th,
.details-table td,
.woocommerce-MyAccount-content table.shop_table th,
.woocommerce-MyAccount-content table.shop_table td,
.woocommerce-table--order-downloads th,
.woocommerce-table--order-downloads td {
	padding: 14px 18px;
	border-bottom: 1px solid var(--line);
	font-weight: 400;
	text-align: start;
	vertical-align: middle;
}

.details-table td:last-child {
	text-align: end;
	white-space: nowrap;
}

.details-table tfoot th {
	color: var(--muted);
}

.details-table tfoot tr:last-child > * {
	border-bottom: 0;
}

.details-table .order-total-row--order_total > * {
	color: var(--ink);
	font-size: 17px;
	font-weight: 700;
}

.line-item {
	display: flex;
	align-items: center;
	gap: 14px;
}

.line-item__thumb {
	flex: none;
	width: 56px;
}

.line-item__thumb img {
	display: block;
	width: 56px;
	aspect-ratio: 4 / 5;
	border-radius: 8px;
	background: var(--paper-2);
	object-fit: cover;
}

.line-item__info > a {
	font-weight: 500;
}

.line-item .product-quantity {
	margin-inline-start: 4px;
	color: var(--muted);
	font-weight: 400;
}

.order-details__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.woocommerce-customer-details {
	margin-top: 32px;
}

.woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.woocommerce-customer-details address {
	padding: 18px 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
	color: var(--ink-2);
	font-style: normal;
	line-height: 2;
}

.woocommerce-customer-details--phone,
.woocommerce-customer-details--email {
	margin: 6px 0 0;
	direction: ltr;
}

[dir="rtl"] .woocommerce-customer-details--phone,
[dir="rtl"] .woocommerce-customer-details--email {
	text-align: right;
}

@media (max-width: 640px) {
	.woocommerce-columns--addresses {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Stacked rows on phones: the product gets the full width, its price sits under it. */
	.details-table,
	.details-table tbody,
	.details-table tfoot,
	.details-table tr {
		display: block;
		width: 100%;
	}

	.details-table thead {
		display: none;
	}

	.details-table tbody tr {
		padding: 14px;
		border-bottom: 1px solid var(--line);
	}

	.details-table tbody td {
		display: block;
		padding: 0;
		border: 0;
	}

	.details-table tbody td.product-total {
		margin-top: 8px;
		text-align: end;
	}

	.details-table tfoot tr {
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		gap: 12px;
		padding: 12px 14px;
		border-bottom: 1px solid var(--line);
	}

	.details-table tfoot tr:last-child {
		border-bottom: 0;
	}

	.details-table tfoot th,
	.details-table tfoot td {
		padding: 0;
		border: 0;
		white-space: normal;
	}
}

.auth .woocommerce-form-login.login {
	padding: 0;
	border: 0;
	background: none;
}

/* Account ---------------------------------------------------------------- */

.account-layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	align-items: start;
	gap: clamp(24px, 4vw, 64px);
}

.account-nav {
	position: sticky;
	top: calc(var(--header-h) + 24px);
	padding: 18px;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
}

.account-nav__profile {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--line);
}

.account-nav__avatar {
	display: grid;
	flex: none;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: var(--plum);
	color: var(--card);
	font-size: 18px;
	font-weight: 700;
}

.account-nav__profile > div {
	min-width: 0;
}

.account-nav__name {
	margin: 0;
	font-weight: 600;
	line-height: 1.5;
}

.account-nav__email {
	margin: 0;
	overflow: hidden;
	color: var(--muted);
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

[dir="rtl"] .account-nav__email {
	text-align: right;
}

.account-nav ul {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.account-nav a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 12px;
	border-radius: 10px;
	color: var(--ink-2);
	font-size: 15px;
	transition: background-color 0.2s, color 0.2s;
}

@media (hover: hover) {
	.account-nav a:hover {
		background: var(--paper-2);
		color: var(--ink);
	}
}

.account-nav .is-active a {
	background: var(--ink);
	color: var(--paper);
}

.account-nav .icon {
	width: 20px;
	height: 20px;
}

.account-dashboard__title {
	margin: 0;
	font-size: var(--step-3);
	font-weight: 300;
}

.account-dashboard__text {
	margin: 4px 0 0;
	color: var(--muted);
}

.account-dashboard__text a {
	text-decoration: underline;
}

.account-shortcuts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin: 28px 0 44px;
	padding: 0;
	list-style: none;
}

.account-shortcut {
	position: relative;
	display: grid;
	gap: 2px;
	height: 100%;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
	transition: border-color 0.2s, translate 0.3s var(--ease);
}

@media (hover: hover) {
	.account-shortcut:hover {
		border-color: var(--ink);
		translate: 0 -2px;
	}
}

.account-shortcut__icon {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	margin-bottom: 10px;
	border-radius: 50%;
	background: var(--plum-tint);
	color: var(--plum);
}

.account-shortcut__title {
	font-weight: 600;
}

.account-shortcut__text {
	color: var(--muted);
	font-size: 13px;
}

.account-shortcut__arrow {
	position: absolute;
	top: 22px;
	inset-inline-end: 20px;
	width: 18px;
	height: 18px;
	color: var(--muted);
}

.account-recent__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 14px;
}

.account-recent__head h3 {
	margin: 0;
	font-size: var(--step-1);
	font-weight: 600;
}

.order-cards {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.order-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(130px, auto) auto minmax(0, 1fr);
	align-items: center;
	gap: 14px 24px;
	padding: 18px 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
	transition: border-color 0.2s;
}

@media (hover: hover) {
	.order-card:hover {
		border-color: var(--line-strong);
	}
}

.order-card__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.order-card__head {
	display: grid;
	justify-items: start;
	gap: 6px;
}

.order-card__number {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
}

.status-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 10px;
	border-radius: 999px;
	background: var(--paper-2);
	color: var(--ink-2);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.8;
	white-space: nowrap;
}

.status-badge::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
}

.status-badge--success {
	background: var(--success-tint);
	color: var(--success);
}

.status-badge--progress {
	background: var(--plum-tint);
	color: var(--plum);
}

.status-badge--warning {
	background: var(--warning-tint);
	color: var(--warning);
}

.status-badge--danger {
	background: var(--danger-tint);
	color: var(--danger);
}

.order-card__thumbs {
	display: flex;
	gap: 6px;
}

.order-card__thumb {
	display: grid;
	place-items: center;
	width: 44px;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 6px;
	background: var(--paper-2);
	color: var(--muted);
	font-size: 12px;
}

.order-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.order-card__meta {
	display: flex;
	justify-content: flex-end;
	gap: 24px;
	margin: 0;
}

.order-card__meta div {
	display: grid;
}

.order-card__meta dt {
	color: var(--muted);
	font-size: 12px;
}

.order-card__meta dd {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.order-card__actions {
	position: relative;
	z-index: 2;
	display: flex;
	flex-wrap: wrap;
	grid-column: 1 / -1;
	gap: 8px;
}

.order-card__extra {
	padding: 8px 20px 0;
	color: var(--muted);
	font-size: 13px;
}

.account-pagination {
	display: flex;
	justify-content: space-between;
	margin-top: 20px;
}

.order-view__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.order-view__date {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--ink-2);
}

.order-view__date .icon {
	width: 19px;
	height: 19px;
	color: var(--plum);
}

.order-progress {
	display: flex;
	margin: 0 0 28px;
	padding: 22px 16px;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
	list-style: none;
}

.order-progress li {
	position: relative;
	display: grid;
	flex: 1;
	justify-items: center;
	gap: 8px;
	color: var(--muted);
	font-size: 13px;
	text-align: center;
}

.order-progress li:not(:last-child)::before {
	content: "";
	position: absolute;
	top: 7px;
	inset-inline-start: 50%;
	width: 100%;
	height: 2px;
	background: var(--line);
}

.order-progress li.is-done:has(+ li.is-done)::before {
	background: var(--plum);
}

.order-progress__dot {
	position: relative;
	z-index: 1;
	width: 16px;
	height: 16px;
	border: 2px solid var(--line-strong);
	border-radius: 50%;
	background: var(--card);
}

.order-progress .is-done .order-progress__dot {
	border-color: var(--plum);
	background: var(--plum);
}

.order-progress [aria-current="step"] {
	color: var(--ink);
	font-weight: 600;
}

.order-updates {
	margin-bottom: 28px;
}

.order-updates h3 {
	font-size: var(--step-1);
	font-weight: 600;
}

.order-updates .note {
	padding: 14px 18px;
	border-radius: 12px;
	background: var(--paper-2);
}

.order-updates .note + .note {
	margin-top: 8px;
}

.order-updates .meta {
	margin: 0 0 4px;
	color: var(--muted);
	font-size: 12px;
}

.order-updates .description p {
	margin: 0;
}

.account-intro {
	color: var(--muted);
}

.address-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.address-card {
	padding: 22px;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
	background: var(--card);
}

.address-card__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.address-card__head h2 {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 16px;
	font-weight: 600;
}

.address-card__head .icon {
	width: 20px;
	height: 20px;
	color: var(--plum);
}

.address-card address {
	color: var(--ink-2);
	font-style: normal;
	line-height: 2;
}

.woocommerce-MyAccount-content > form,
.woocommerce-address-fields {
	max-width: 680px;
}

.woocommerce-MyAccount-content > form > h2,
.woocommerce-MyAccount-content form > h2 {
	margin-bottom: 20px;
	font-size: var(--step-2);
	font-weight: 400;
}

.woocommerce-address-fields__field-wrapper,
.woocommerce-EditAccountForm {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 16px;
}

.woocommerce-address-fields__field-wrapper > *,
.woocommerce-EditAccountForm > * {
	grid-column: 1 / -1;
	min-width: 0;
}

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

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

.woocommerce-EditAccountForm fieldset {
	margin: 10px 0 20px;
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: var(--radius-lg);
}

.woocommerce-EditAccountForm legend {
	padding-inline: 8px;
	font-weight: 600;
}

#account_display_name_description {
	display: block;
	margin-top: 6px;
	color: var(--muted);
	font-size: 13px;
}

#account_display_name_description em {
	font-style: normal;
}

.woocommerce-ResetPassword {
	max-width: 520px;
	margin-inline: auto;
}

.woocommerce-ResetPassword .form-row-first,
.woocommerce-ResetPassword .form-row-last {
	width: 100%;
}

/* The strength meter appears when the field loses focus — often on the same tap as
   the submit button. Its space is reserved so the button never moves under the finger. */
.form-row:has(> .password-input #reg_password),
.form-row:has(> .password-input #password_1),
.form-row:has(> .password-input #account_password),
.form-row:has(#reg_password),
.form-row:has(#account_password) {
	position: relative;
	padding-bottom: 38px;
}

.woocommerce-password-strength {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	margin: 0;
	padding: 4px 12px;
	border-radius: 8px;
	font-size: 12px;
	line-height: 1.7;
}

.woocommerce-password-strength:empty {
	display: none;
}

.woocommerce-password-strength.short,
.woocommerce-password-strength.bad {
	background: var(--danger-tint);
	color: var(--danger);
}

.woocommerce-password-strength.good {
	background: var(--warning-tint);
	color: var(--warning);
}

.woocommerce-password-strength.strong {
	background: var(--success-tint);
	color: var(--success);
}

.woocommerce-password-hint {
	display: block;
	margin-top: -26px;
	margin-bottom: 18px;
	padding-top: 32px;
	color: var(--muted);
	font-size: 12px;
}

/* Login and registration ------------------------------------------------------ */

.auth {
	display: grid;
	max-width: 520px;
	margin: 0 auto;
}

.auth--split {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 1040px;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 24px;
	background: var(--card);
}

.auth:not(.auth--split) .auth__panel {
	border: 1px solid var(--line);
	border-radius: 24px;
	background: var(--card);
}

.auth__panel {
	padding: clamp(24px, 4vw, 52px);
}

.auth__panel--register {
	background: var(--paper-2);
}

.auth__title {
	margin: 0 0 22px;
	font-size: var(--step-3);
	font-weight: 300;
}

.auth__lead {
	margin: -12px 0 22px;
	color: var(--muted);
}

.auth__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.auth__row .lost_password {
	font-size: 14px;
	text-decoration: underline;
}

.auth__note {
	color: var(--muted);
	font-size: 14px;
}

.auth__tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 6px;
	padding: 6px;
	background: var(--paper-2);
}

.auth__tabs[hidden] {
	display: none;
}

.auth__tabs button {
	height: 46px;
	border: 0;
	border-radius: 12px;
	background: none;
	color: var(--muted);
	font-weight: 500;
	cursor: pointer;
}

.auth__tabs button[aria-selected="true"] {
	background: var(--card);
	box-shadow: 0 1px 3px rgb(28 26 23 / 0.1);
	color: var(--ink);
}

@media (max-width: 760px) {
	.auth--split {
		grid-template-columns: minmax(0, 1fr);
		border-radius: 20px;
	}

	.auth--split.has-tabs .auth__panel--register {
		background: var(--card);
	}

	.auth--split.has-tabs[data-active="login"] [data-auth-panel="register"],
	.auth--split.has-tabs[data-active="register"] [data-auth-panel="login"] {
		display: none;
	}
}

/* Account: small screens ------------------------------------------------------ */

@media (max-width: 900px) {
	.account-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.account-nav {
		position: static;
		padding: 0;
		border: 0;
		background: none;
	}

	.account-nav__profile {
		display: none;
	}

	.account-nav ul {
		display: flex;
		gap: 8px;
		margin-inline: calc(-1 * var(--gutter));
		padding: 2px var(--gutter) 6px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
	}

	.account-nav ul::-webkit-scrollbar {
		display: none;
	}

	.account-nav a {
		padding: 8px 14px;
		border: 1px solid var(--line-strong);
		border-radius: 999px;
		font-size: 14px;
		white-space: nowrap;
	}

	.account-nav .is-active a {
		border-color: var(--ink);
	}

	.account-nav .icon {
		width: 17px;
		height: 17px;
	}

	.account-shortcuts {
		grid-template-columns: minmax(0, 1fr);
	}

	.address-cards {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.order-card {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.order-card__thumbs {
		grid-row: 1;
		grid-column: 2;
	}

	.order-card__meta {
		grid-column: 1 / -1;
		justify-content: space-between;
	}

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

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

@media (max-width: 600px) {
	.order-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.order-facts li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}
