/*
 * WESHIPAC commerce journey — nationwide catalog system.
 * Loaded after the core theme only on cart, checkout, account, and order pages.
 */

.aos-commerce-page {
	--wsp-ledger-rule: color-mix(in srgb, var(--aos-color-action-primary) 24%, var(--aos-color-border-default));
	--wsp-ledger-surface: color-mix(in srgb, var(--aos-color-surface-card) 94%, var(--aos-color-surface-brand-subtle));
	--wsp-ledger-shadow: 0 18px 48px rgba(15, 27, 41, 0.09);
	position: relative;
	isolation: isolate;
	background:
		linear-gradient(90deg, transparent 0 71%, rgba(47, 127, 108, 0.025) 71% 71.08%, transparent 71.08%),
		radial-gradient(circle at 91% 7%, rgba(222, 240, 232, 0.72), transparent 31%),
		var(--aos-color-surface-page);
}

.aos-commerce-page::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	pointer-events: none;
	content: "";
	background-image: linear-gradient(rgba(15, 27, 41, 0.018) 1px, transparent 1px);
	background-size: 100% 32px;
	mask-image: linear-gradient(to bottom, #000, transparent 64%);
}

.wsp-commerce-assurances {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
	margin: calc(var(--aos-space-3) * -1) 0 var(--aos-space-8);
	list-style: none;
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: rgba(255, 255, 255, 0.72);
	box-shadow: var(--aos-shadow-sm);
}

.wsp-commerce-assurances li {
	position: relative;
	display: grid;
	gap: var(--aos-space-1);
	min-height: 86px;
	padding: var(--aos-space-5) var(--aos-space-5) var(--aos-space-5) calc(var(--aos-space-5) + 10px);
}

.wsp-commerce-assurances li::before {
	position: absolute;
	top: var(--aos-space-5);
	bottom: var(--aos-space-5);
	left: var(--aos-space-4);
	width: 3px;
	border-radius: var(--aos-radius-full);
	content: "";
	background: var(--aos-color-commerce-primary);
}

.wsp-commerce-assurances li + li {
	border-left: 1px solid var(--aos-color-border-default);
}

.wsp-commerce-assurances strong {
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-300);
	line-height: var(--aos-line-height-heading);
}

.wsp-commerce-assurances span {
	color: var(--aos-color-text-secondary);
	font-size: var(--aos-font-size-100);
	line-height: var(--aos-line-height-copy);
}

/* Cart: provider-owned financing and trust ledger */
.woocommerce-cart .wsp-cart-financing {
	order: 0;
	width: 100%;
	margin: 0;
	border: 1px solid color-mix(in srgb, #ffb3c7 44%, var(--aos-color-border-default));
	border-radius: var(--aos-radius-md);
	background: linear-gradient(135deg, rgba(255, 238, 244, 0.92), rgba(255, 255, 255, 0.98));
	color: var(--aos-color-brand-strong);
	transition: opacity var(--aos-duration-base) var(--aos-ease-enter), transform var(--aos-duration-base) var(--aos-ease-enter);
}

.woocommerce-cart .wsp-cart-financing.is-pending,
.woocommerce-cart .wsp-cart-financing.is-mounting {
	height: 1px;
	min-height: 0;
	overflow: hidden;
	padding: 0;
	border-width: 0;
	opacity: 0;
	transform: translateY(6px);
}

.woocommerce-cart .wsp-cart-financing.is-ready {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	opacity: 1;
	transform: translateY(0);
}

.woocommerce-cart .wsp-cart-financing.is-unavailable {
	display: none;
}

.wsp-cart-financing-heading {
	display: block;
}

.wsp-cart-financing-mark {
	display: grid;
	min-width: 72px;
	min-height: 38px;
	place-items: center;
	padding-inline: var(--aos-space-3);
	border-radius: var(--aos-radius-sm);
	background: #ffb3c7;
	color: #17120f;
	font-weight: 800;
	letter-spacing: -0.035em;
}

.wsp-cart-financing-heading strong,
.wsp-cart-financing-heading small {
	display: block;
}

.wsp-cart-financing-heading small {
	margin-top: 2px;
	color: var(--aos-color-text-secondary);
	font-size: var(--aos-font-size-100);
	line-height: var(--aos-line-height-heading);
}

.wsp-cart-financing-mount {
	min-width: 0;
	min-height: 0;
}

.wsp-cart-financing-fallback {
	margin: 0;
	color: var(--aos-color-text-secondary);
	font-size: var(--aos-font-size-100);
}

.wsp-cart-financing.is-ready .wsp-cart-financing-fallback {
	display: none;
}

.woocommerce-cart .wsp-cart-payment-assurances {
	order: 9;
	padding-top: var(--aos-space-4);
	margin-top: var(--aos-space-2);
	border-top: 1px solid var(--aos-color-border-default);
}

.wsp-cart-payment-assurances > strong {
	display: block;
	margin-bottom: var(--aos-space-2);
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-200);
}

.wsp-cart-payment-assurances ul {
	display: grid;
	gap: var(--aos-space-2);
	padding: 0;
	margin: 0;
	list-style: none;
}

.wsp-cart-payment-assurances li {
	position: relative;
	padding-left: 20px;
	color: var(--aos-color-text-secondary);
	font-size: var(--aos-font-size-100);
	line-height: var(--aos-line-height-copy);
}

.wsp-cart-payment-assurances li::before {
	position: absolute;
	top: 0.55em;
	left: 1px;
	width: 7px;
	height: 7px;
	border: 2px solid var(--aos-color-action-primary);
	border-radius: var(--aos-radius-full);
	content: "";
}

/* Checkout: address desk + sticky order ledger */
.wsp-checkout-introduction {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
	align-items: center;
	gap: clamp(var(--aos-space-6), 4vw, var(--aos-space-12));
	padding: clamp(var(--aos-space-5), 3vw, var(--aos-space-8));
	margin-bottom: var(--aos-space-7);
	border: 1px solid var(--aos-color-border-default);
	border-left: 4px solid var(--aos-color-commerce-primary);
	border-radius: var(--aos-radius-lg);
	background: linear-gradient(115deg, rgba(255, 255, 255, 0.96), rgba(232, 243, 238, 0.66));
	box-shadow: var(--aos-shadow-sm);
}

.wsp-checkout-introduction h2 {
	margin-bottom: var(--aos-space-2);
	font-size: clamp(1.55rem, 2.6vw, 2.25rem);
}

.wsp-checkout-introduction-copy > p:last-child {
	max-width: 66ch;
	margin: 0;
	color: var(--aos-color-text-secondary);
}

.wsp-checkout-introduction-points {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0;
	margin: 0;
	list-style: none;
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-md);
	background: rgba(255, 255, 255, 0.82);
}

.wsp-checkout-introduction-points li {
	display: grid;
	align-content: start;
	gap: var(--aos-space-1);
	min-width: 0;
	padding: var(--aos-space-4);
}

.wsp-checkout-introduction-points li + li {
	border-left: 1px solid var(--aos-color-border-default);
}

.wsp-checkout-introduction-points strong {
	color: var(--aos-color-commerce-primary);
	font-size: var(--aos-font-size-400);
	font-variant-numeric: tabular-nums;
}

.wsp-checkout-introduction-points span {
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-100);
	font-weight: var(--aos-font-weight-semibold);
	line-height: var(--aos-line-height-heading);
}

.woocommerce-checkout form.checkout.wsp-checkout-layout-ready {
	display: grid;
	grid-template-columns: minmax(0, 1.14fr) minmax(390px, 0.86fr);
	align-items: start;
	gap: clamp(var(--aos-space-6), 3vw, var(--aos-space-10));
}

.woocommerce-checkout form.checkout.wsp-checkout-layout-ready > .woocommerce-NoticeGroup,
.woocommerce-checkout form.checkout.wsp-checkout-layout-ready > .woocommerce-error,
.woocommerce-checkout form.checkout.wsp-checkout-layout-ready > .woocommerce-info,
.woocommerce-checkout form.checkout.wsp-checkout-layout-ready > .woocommerce-message {
	grid-column: 1 / -1;
}

.woocommerce-checkout .wsp-checkout-customer-details {
	grid-column: 1;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.woocommerce-checkout .wsp-checkout-customer-details::before,
.woocommerce-checkout .wsp-checkout-customer-details::after {
	display: none;
}

.woocommerce-checkout .wsp-checkout-customer-details .col-1,
.woocommerce-checkout .wsp-checkout-customer-details .col-2 {
	float: none;
	width: 100%;
	padding: clamp(var(--aos-space-5), 3vw, var(--aos-space-7));
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: var(--wsp-ledger-surface);
	box-shadow: var(--aos-shadow-sm);
}

.woocommerce-checkout .wsp-checkout-customer-details .col-2 {
	margin-top: var(--aos-space-5);
}

.woocommerce-checkout .wsp-checkout-customer-details h3 {
	position: relative;
	padding-bottom: var(--aos-space-4);
	margin: 0 0 var(--aos-space-5);
	border-bottom: 1px solid var(--wsp-ledger-rule);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.woocommerce-checkout .wsp-checkout-customer-details h3::after {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 74px;
	height: 2px;
	content: "";
	background: var(--aos-color-commerce-primary);
}

.woocommerce-checkout .wsp-checkout-customer-details .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .wsp-checkout-customer-details .woocommerce-shipping-fields__field-wrapper {
	display: flow-root;
}

.woocommerce-checkout form .form-row {
	position: relative;
	margin-bottom: var(--aos-space-4);
}

.woocommerce-checkout form .form-row label {
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	margin-bottom: var(--aos-space-1);
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-100);
	font-weight: var(--aos-font-weight-bold);
	letter-spacing: 0.015em;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout .select2-container--default .select2-selection--single {
	width: 100%;
	min-height: 52px;
	border-color: var(--aos-color-border-default);
	border-radius: var(--aos-radius-md);
	background: var(--aos-color-surface-card);
	box-shadow: inset 0 1px 0 rgba(15, 27, 41, 0.02);
	transition: border-color var(--aos-duration-fast) var(--aos-ease-standard), box-shadow var(--aos-duration-fast) var(--aos-ease-standard), background-color var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-checkout form .form-row.has-focus input.input-text,
.woocommerce-checkout form .form-row.has-focus textarea,
.woocommerce-checkout form .form-row.has-focus select,
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
	border-color: var(--aos-color-action-primary);
	background: #fff;
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--aos-color-action-primary) 14%, transparent);
	outline: 0;
}

.woocommerce-checkout .woocommerce-invalid input.input-text,
.woocommerce-checkout .woocommerce-invalid select,
.woocommerce-checkout .woocommerce-invalid textarea {
	border-color: var(--aos-color-state-danger);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--aos-color-state-danger) 10%, transparent);
}

.woocommerce-checkout .wsp-checkout-ledger {
	grid-column: 2;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: var(--aos-color-surface-elevated);
	box-shadow: var(--wsp-ledger-shadow);
	transition: opacity var(--aos-duration-base) var(--aos-ease-standard), transform var(--aos-duration-base) var(--aos-ease-standard);
}

.woocommerce-checkout .wsp-checkout-ledger.is-updating {
	opacity: 0.64;
	transform: translateY(2px);
}

.woocommerce-checkout .wsp-checkout-ledger #order_review_heading,
.woocommerce-checkout .wsp-checkout-ledger #order_review {
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce-checkout .wsp-checkout-ledger #order_review_heading {
	position: relative;
	padding: var(--aos-space-6) var(--aos-space-6) var(--aos-space-5);
	border-bottom: 1px solid var(--aos-color-border-default);
	font-size: clamp(1.55rem, 2.4vw, 2.1rem);
}

.woocommerce-checkout .wsp-checkout-ledger #order_review_heading::before {
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	content: "";
	background: var(--aos-color-commerce-primary);
}

.woocommerce-checkout .wsp-checkout-ledger .woocommerce-checkout-review-order-table {
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce-checkout .wsp-checkout-ledger .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .wsp-checkout-ledger .woocommerce-checkout-review-order-table td {
	padding: var(--aos-space-4) var(--aos-space-6);
	border-color: var(--aos-color-border-default);
	font-variant-numeric: tabular-nums;
}

.woocommerce-checkout .wsp-checkout-ledger .woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout .wsp-checkout-ledger .woocommerce-checkout-review-order-table th:last-child {
	text-align: right;
}

.woocommerce-checkout .wsp-checkout-ledger .order-total th,
.woocommerce-checkout .wsp-checkout-ledger .order-total td {
	background: var(--aos-color-surface-brand-subtle);
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-400);
	font-weight: var(--aos-font-weight-bold);
}

.wsp-checkout-payment-context {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--aos-space-3);
	padding: var(--aos-space-5) var(--aos-space-6);
	border-top: 1px solid var(--aos-color-border-default);
	border-bottom: 1px solid var(--aos-color-border-default);
	background: var(--aos-color-surface-brand-subtle);
}

.wsp-checkout-payment-context div {
	position: relative;
	padding-left: 18px;
}

.wsp-checkout-payment-context div::before {
	position: absolute;
	top: 6px;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: var(--aos-radius-full);
	content: "";
	background: var(--aos-color-commerce-primary);
}

.wsp-checkout-payment-context strong,
.wsp-checkout-payment-context span {
	display: block;
}

.wsp-checkout-payment-context strong {
	margin-bottom: 3px;
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-100);
}

.wsp-checkout-payment-context span {
	color: var(--aos-color-text-secondary);
	font-size: 0.75rem;
	line-height: var(--aos-line-height-heading);
}

.woocommerce-checkout .wsp-checkout-ledger #payment {
	padding: var(--aos-space-5) var(--aos-space-6) var(--aos-space-6);
	border-radius: 0;
	background: #fff;
}

.woocommerce-checkout .wsp-checkout-ledger #payment ul.payment_methods {
	padding: 0 0 var(--aos-space-4);
	border-bottom: 1px solid var(--aos-color-border-default);
}

.woocommerce-checkout .wsp-checkout-ledger #payment ul.payment_methods > li {
	padding: var(--aos-space-3) var(--aos-space-4);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-md);
	background: var(--aos-color-surface-page);
	transition: border-color var(--aos-duration-fast) var(--aos-ease-standard), background-color var(--aos-duration-fast) var(--aos-ease-standard), transform var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-checkout .wsp-checkout-ledger #payment ul.payment_methods > li + li {
	margin-top: var(--aos-space-2);
}

.woocommerce-checkout .wsp-checkout-ledger #payment ul.payment_methods > li:has(input:checked) {
	border-color: var(--aos-color-action-primary);
	background: var(--aos-color-surface-brand-subtle);
}

.woocommerce-checkout .wsp-checkout-ledger #payment div.payment_box {
	margin: var(--aos-space-3) 0 0;
	border-radius: var(--aos-radius-sm);
	background: #fff;
	color: var(--aos-color-text-secondary);
}

.woocommerce-checkout .wsp-checkout-ledger #payment .place-order {
	padding: var(--aos-space-5) 0 0;
	margin: 0;
}

.woocommerce-checkout .wsp-checkout-ledger #place_order {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 58px;
	border-radius: var(--aos-radius-md);
	background: var(--aos-color-brand-primary);
	box-shadow: 0 14px 30px rgba(15, 27, 41, 0.18);
	font-size: var(--aos-font-size-400);
	font-weight: var(--aos-font-weight-bold);
	transition: background-color var(--aos-duration-fast) var(--aos-ease-standard), box-shadow var(--aos-duration-fast) var(--aos-ease-standard), transform var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-checkout .wsp-checkout-ledger #place_order:hover {
	background: var(--aos-color-action-hover);
	box-shadow: 0 18px 36px rgba(15, 27, 41, 0.23);
	transform: translateY(-1px);
}

.woocommerce-checkout .wsp-checkout-ledger #place_order:active {
	transform: scale(0.985);
}

@media (min-width: 1121px) and (min-height: 760px) {
	.woocommerce-checkout .wsp-checkout-ledger {
		position: sticky;
		top: calc(var(--aos-size-header-utility) + 7.75rem);
	}
}

/* Account shell, address cards, order list, and payment methods */
.woocommerce-account .aos-commerce-header {
	max-width: 820px;
	margin-bottom: var(--aos-space-7);
}

.woocommerce-account .aos-commerce-content > .woocommerce {
	display: grid;
	width: 100%;
	grid-template-columns: minmax(220px, 0.28fr) minmax(0, 1fr);
	grid-template-areas:
		"notices notices"
		"navigation content";
	align-items: start;
	gap: clamp(var(--aos-space-5), 3vw, var(--aos-space-8));
}

/*
 * The two-column account shell above is only valid after WooCommerce renders
 * its navigation and content regions. Signed-out visitors receive the custom
 * login/register portal instead; keeping that portal in the account shell's
 * implicit first grid track collapses the form column to zero width.
 */
body.woocommerce-account:not(.logged-in) .aos-commerce-content > .woocommerce {
	display: block;
}

.woocommerce-account .aos-commerce-content > .woocommerce > .woocommerce-notices-wrapper {
	grid-area: notices;
	min-width: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	grid-area: navigation;
	float: none;
	width: 100%;
	margin: 0;
	justify-self: stretch;
	position: sticky;
	top: calc(var(--aos-size-header-utility) + 7.25rem);
	border: 0;
	border-radius: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	overflow: hidden;
	padding: var(--aos-space-2);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: rgba(255, 255, 255, 0.78);
	box-shadow: var(--aos-shadow-sm);
}

.woocommerce-account .woocommerce-MyAccount-navigation li + li {
	border-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: var(--aos-space-3) var(--aos-space-4);
	border-radius: var(--aos-radius-md);
	color: var(--aos-color-text-secondary);
	font-weight: var(--aos-font-weight-semibold);
	transition: color var(--aos-duration-fast) var(--aos-ease-standard), background-color var(--aos-duration-fast) var(--aos-ease-standard), transform var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-account .woocommerce-MyAccount-navigation a::after {
	position: absolute;
	right: var(--aos-space-4);
	content: "\2192";
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity var(--aos-duration-fast) var(--aos-ease-standard), transform var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
	background: var(--aos-color-surface-brand-subtle);
	color: var(--aos-color-brand-strong);
	transform: translateX(2px);
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover::after,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible::after,
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a::after {
	opacity: 1;
	transform: translateX(0);
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	background: var(--aos-color-brand-primary);
	color: var(--aos-color-text-on-dark);
}

.woocommerce-account .woocommerce-MyAccount-content {
	grid-area: content;
	float: none;
	position: relative;
	width: 100%;
	margin: 0;
	justify-self: stretch;
	min-width: 0;
	padding: clamp(var(--aos-space-5), 3vw, var(--aos-space-8));
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: var(--wsp-ledger-surface);
	box-shadow: var(--wsp-ledger-shadow);
}

.woocommerce-account .woocommerce-MyAccount-content::before {
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	border-radius: var(--aos-radius-lg) var(--aos-radius-lg) 0 0;
	content: "";
	background: linear-gradient(90deg, var(--aos-color-commerce-primary) 0 18%, var(--aos-color-action-primary) 18% 100%);
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	font-size: var(--aos-font-size-400);
	line-height: var(--aos-line-height-copy);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	overflow: hidden;
	border-collapse: separate;
	border-spacing: 0;
	border-color: var(--aos-color-border-default);
	border-radius: var(--aos-radius-md);
	background: #fff;
	box-shadow: none;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	background: var(--aos-color-surface-brand-subtle);
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-100);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr {
	transition: background-color var(--aos-duration-fast) var(--aos-ease-standard), transform var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tbody tr:hover {
	background: color-mix(in srgb, var(--aos-color-surface-brand-subtle) 66%, #fff);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status {
	color: var(--aos-color-action-primary);
	font-weight: var(--aos-font-weight-bold);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-number a {
	color: var(--aos-color-brand-strong);
	font-weight: var(--aos-font-weight-bold);
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button {
	min-height: 40px;
	padding: var(--aos-space-2) var(--aos-space-4);
	margin: 2px;
	border-radius: var(--aos-radius-sm);
}

.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--aos-space-5);
	margin-top: var(--aos-space-5);
}

.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
	display: none;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	min-height: 220px;
	padding: var(--aos-space-5);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: #fff;
	box-shadow: var(--aos-shadow-sm);
	transition: border-color var(--aos-duration-fast) var(--aos-ease-standard), box-shadow var(--aos-duration-fast) var(--aos-ease-standard), transform var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address:hover {
	border-color: var(--aos-color-action-primary);
	box-shadow: var(--aos-shadow-md);
	transform: translateY(-2px);
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--aos-space-3);
	padding-bottom: var(--aos-space-3);
	margin-bottom: var(--aos-space-3);
	border-bottom: 1px solid var(--aos-color-border-default);
}

.woocommerce-account .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	font-size: var(--aos-font-size-500);
}

.woocommerce-account .woocommerce-Address-title .edit {
	float: none;
	min-height: 40px;
	padding: var(--aos-space-2) var(--aos-space-3);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-sm);
	text-decoration: none;
}

.woocommerce-account .woocommerce-Address address {
	color: var(--aos-color-text-secondary);
	font-style: normal;
	line-height: 1.7;
}

.wsp-address-context {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--aos-space-4);
	padding: var(--aos-space-5);
	margin-bottom: var(--aos-space-5);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-md);
	background: var(--aos-color-surface-brand-subtle);
}

.wsp-address-context-index {
	display: grid;
	width: 44px;
	height: 44px;
	place-items: center;
	border-radius: var(--aos-radius-full);
	background: var(--aos-color-commerce-primary);
	color: var(--aos-color-brand-strong);
	font-weight: var(--aos-font-weight-bold);
}

.wsp-address-context strong {
	display: block;
	margin-bottom: var(--aos-space-1);
	color: var(--aos-color-brand-strong);
}

.wsp-address-context p {
	margin: 0;
	color: var(--aos-color-text-secondary);
}

.woocommerce-account .woocommerce-MyAccount-content form h2,
.woocommerce-account .woocommerce-MyAccount-content form h3 {
	padding-bottom: var(--aos-space-3);
	border-bottom: 1px solid var(--aos-color-border-default);
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row input.input-text,
.woocommerce-account .woocommerce-MyAccount-content form .form-row select,
.woocommerce-account .woocommerce-MyAccount-content form .form-row textarea {
	min-height: 52px;
	border-radius: var(--aos-radius-md);
	transition: border-color var(--aos-duration-fast) var(--aos-ease-standard), box-shadow var(--aos-duration-fast) var(--aos-ease-standard);
}

.woocommerce-account .woocommerce-MyAccount-content form .form-row input.input-text:focus,
.woocommerce-account .woocommerce-MyAccount-content form .form-row select:focus,
.woocommerce-account .woocommerce-MyAccount-content form .form-row textarea:focus {
	border-color: var(--aos-color-action-primary);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--aos-color-action-primary) 14%, transparent);
	outline: 0;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
	padding: var(--aos-space-5);
	margin: var(--aos-space-6) 0;
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-md);
	background: var(--aos-color-surface-page);
}

.woocommerce-account .woocommerce-MyAccount-content fieldset legend {
	padding-inline: var(--aos-space-2);
	color: var(--aos-color-brand-strong);
	font-weight: var(--aos-font-weight-bold);
}

/* Official Saved Addresses extension compatibility: styling only. */
.woocommerce-account .woocommerce-MyAccount-content .saved-addresses,
.woocommerce-account .woocommerce-MyAccount-content .wc-saved-addresses,
.woocommerce-checkout .saved-addresses-for-woocommerce,
.woocommerce-checkout .wc-saved-addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: var(--aos-space-4);
}

.woocommerce-account .woocommerce-MyAccount-content .saved-address,
.woocommerce-account .woocommerce-MyAccount-content .wc-saved-address,
.woocommerce-checkout .saved-addresses-for-woocommerce > *,
.woocommerce-checkout .wc-saved-addresses > * {
	padding: var(--aos-space-4);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-md);
	background: #fff;
}

/* Order receipt and authorized order detail surfaces */
.wsp-order-received-next,
.wsp-order-status-ledger,
.wsp-order-support-actions {
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: var(--wsp-ledger-surface);
	box-shadow: var(--aos-shadow-sm);
}

.wsp-order-received-next {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: var(--aos-space-5);
	padding: clamp(var(--aos-space-5), 3vw, var(--aos-space-7));
	margin-bottom: var(--aos-space-6);
	border-left: 4px solid var(--aos-color-action-primary);
}

.wsp-order-received-check {
	display: grid;
	width: 58px;
	height: 58px;
	place-items: center;
	border-radius: var(--aos-radius-full);
	background: var(--aos-color-action-primary);
	color: #fff;
	font-size: 1.65rem;
	font-weight: 800;
}

.wsp-order-received-next h2,
.wsp-order-received-next p {
	margin-bottom: var(--aos-space-2);
}

.wsp-order-received-next p:last-child {
	margin-bottom: 0;
	color: var(--aos-color-text-secondary);
}

.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-view-order .woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1px;
	overflow: hidden;
	padding: 1px;
	margin: 0 0 var(--aos-space-6);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: var(--aos-color-border-default);
}

.woocommerce-order-received .woocommerce-order-overview li,
.woocommerce-view-order .woocommerce-order-overview li {
	float: none;
	min-width: 0;
	padding: var(--aos-space-4);
	margin: 0;
	border: 0;
	background: #fff;
	color: var(--aos-color-text-secondary);
	font-size: var(--aos-font-size-100);
}

.woocommerce-order-received .woocommerce-order-overview li strong,
.woocommerce-view-order .woocommerce-order-overview li strong {
	display: block;
	margin-top: var(--aos-space-1);
	color: var(--aos-color-brand-strong);
	font-size: var(--aos-font-size-300);
	overflow-wrap: anywhere;
}

.wsp-order-status-ledger {
	overflow: hidden;
	margin-bottom: var(--aos-space-6);
}

.wsp-order-status-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--aos-space-4);
	padding: var(--aos-space-6);
	border-bottom: 1px solid var(--aos-color-border-default);
	background: linear-gradient(105deg, #fff, var(--aos-color-surface-brand-subtle));
}

.wsp-order-status-heading h2 {
	margin: 0;
	font-size: clamp(1.65rem, 3vw, 2.5rem);
}

.wsp-order-status-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: var(--aos-space-2) var(--aos-space-4);
	border: 1px solid var(--aos-color-action-primary);
	border-radius: var(--aos-radius-full);
	background: #fff;
	color: var(--aos-color-action-primary);
	font-weight: var(--aos-font-weight-bold);
}

.wsp-order-status-cancelled,
.wsp-order-status-failed,
.wsp-order-status-refunded {
	border-color: var(--aos-color-state-danger);
	color: var(--aos-color-state-danger);
}

.wsp-order-status-facts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
}

.wsp-order-status-facts > div {
	min-width: 0;
	padding: var(--aos-space-5) var(--aos-space-6);
}

.wsp-order-status-facts > div + div {
	border-left: 1px solid var(--aos-color-border-default);
}

.wsp-order-status-facts dt {
	margin-bottom: var(--aos-space-1);
	color: var(--aos-color-text-secondary);
	font-size: var(--aos-font-size-100);
	font-weight: var(--aos-font-weight-semibold);
}

.wsp-order-status-facts dd {
	margin: 0;
	color: var(--aos-color-brand-strong);
	font-weight: var(--aos-font-weight-bold);
	overflow-wrap: anywhere;
}

.wsp-order-status-note {
	padding: var(--aos-space-4) var(--aos-space-6);
	margin: 0;
	border-top: 1px solid var(--aos-color-border-default);
	background: var(--aos-color-surface-page);
	color: var(--aos-color-text-secondary);
	font-size: var(--aos-font-size-100);
}

.woocommerce-order-received .woocommerce-order-details,
.woocommerce-view-order .woocommerce-order-details {
	padding: clamp(var(--aos-space-5), 3vw, var(--aos-space-7));
	margin-bottom: var(--aos-space-6);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: #fff;
	box-shadow: var(--aos-shadow-sm);
}

.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-view-order .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-view-order .woocommerce-column__title {
	padding-bottom: var(--aos-space-3);
	border-bottom: 1px solid var(--aos-color-border-default);
	font-size: clamp(1.4rem, 2.2vw, 1.9rem);
}

.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-view-order .woocommerce-customer-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--aos-space-5);
	margin-bottom: var(--aos-space-6);
}

.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
.woocommerce-view-order .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	padding: var(--aos-space-5);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: #fff;
	box-shadow: var(--aos-shadow-sm);
}

.wsp-order-support-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--aos-space-6);
	padding: clamp(var(--aos-space-5), 3vw, var(--aos-space-7));
	margin-top: var(--aos-space-6);
	border-left: 4px solid var(--aos-color-commerce-primary);
}

.wsp-order-support-actions h2 {
	margin-bottom: var(--aos-space-2);
	font-size: var(--aos-font-size-600);
}

.wsp-order-support-actions p:last-child {
	max-width: 70ch;
	margin: 0;
	color: var(--aos-color-text-secondary);
}

.wsp-order-support-actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	white-space: nowrap;
}

/* Consistent notices, focus, and progress feedback */
.aos-commerce-page .woocommerce-error,
.aos-commerce-page .woocommerce-info,
.aos-commerce-page .woocommerce-message {
	padding: var(--aos-space-4) var(--aos-space-5) var(--aos-space-4) 3.25rem;
	border: 1px solid var(--aos-color-border-default);
	border-left: 4px solid var(--aos-color-action-primary);
	border-radius: var(--aos-radius-md);
	background: #fff;
	box-shadow: var(--aos-shadow-sm);
}

.aos-commerce-page .woocommerce-error {
	border-left-color: var(--aos-color-state-danger);
}

.aos-commerce-page :where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid color-mix(in srgb, var(--aos-color-commerce-primary) 72%, #fff);
	outline-offset: 3px;
}

.wsp-commerce-enhanced .wsp-reveal.is-visible {
	animation: wsp-commerce-chapter 540ms var(--aos-ease-enter) both;
}

.wsp-commerce-enhanced .wsp-order-received-next.wsp-reveal.is-visible,
.wsp-commerce-enhanced .wsp-order-support-actions.wsp-reveal.is-visible {
	animation-name: wsp-commerce-ledger-in;
}

@keyframes wsp-commerce-chapter {
	from {
		opacity: 0.72;
		transform: translateY(14px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes wsp-commerce-ledger-in {
	from {
		opacity: 0.76;
		transform: translateX(-12px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@media (hover: hover) and (pointer: fine) {
	.wsp-commerce-assurances li {
		transition: background-color var(--aos-duration-fast) var(--aos-ease-standard), transform var(--aos-duration-fast) var(--aos-ease-standard);
	}

	.wsp-commerce-assurances li:hover {
		background: color-mix(in srgb, var(--aos-color-surface-brand-subtle) 64%, #fff);
		transform: translateY(-2px);
	}

	.woocommerce-checkout .wsp-checkout-ledger #payment ul.payment_methods > li:hover {
		border-color: var(--aos-color-action-primary);
		transform: translateY(-1px);
	}
}

@media (max-width: 1120px) {
	.wsp-checkout-introduction {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout form.checkout.wsp-checkout-layout-ready {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout .wsp-checkout-customer-details,
	.woocommerce-checkout .wsp-checkout-ledger {
		grid-column: 1;
	}

	.woocommerce-checkout .wsp-checkout-ledger {
		position: static;
	}

	.woocommerce-account .aos-commerce-content > .woocommerce {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas:
			"notices"
			"navigation"
			"content";
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: var(--aos-space-1);
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation a {
		white-space: nowrap;
	}
}

@media (max-width: 760px) {
	.aos-commerce-page {
		background: var(--aos-color-surface-page);
	}

	.wsp-commerce-assurances {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 0;
	}

	.wsp-commerce-assurances li {
		min-height: 72px;
	}

	.wsp-commerce-assurances li + li {
		border-top: 1px solid var(--aos-color-border-default);
		border-left: 0;
	}

	.wsp-checkout-introduction-points {
		grid-template-columns: minmax(0, 1fr);
	}

	.wsp-checkout-introduction-points li {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
	}

	.wsp-checkout-introduction-points li + li {
		border-top: 1px solid var(--aos-color-border-default);
		border-left: 0;
	}

	.wsp-checkout-payment-context {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-checkout .wsp-checkout-ledger #order_review_heading,
	.woocommerce-checkout .wsp-checkout-ledger .woocommerce-checkout-review-order-table th,
	.woocommerce-checkout .wsp-checkout-ledger .woocommerce-checkout-review-order-table td,
	.woocommerce-checkout .wsp-checkout-ledger #payment,
	.wsp-checkout-payment-context {
		padding-right: var(--aos-space-4);
		padding-left: var(--aos-space-4);
	}

	.woocommerce-account .woocommerce-Addresses,
	.woocommerce-order-received .woocommerce-customer-details,
	.woocommerce-view-order .woocommerce-customer-details {
		grid-template-columns: minmax(0, 1fr);
	}

	.woocommerce-order-received .woocommerce-order-overview,
	.woocommerce-view-order .woocommerce-order-overview,
	.wsp-order-status-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wsp-order-status-facts > div:nth-child(3) {
		border-left: 0;
		border-top: 1px solid var(--aos-color-border-default);
	}

	.wsp-order-status-facts > div:nth-child(4) {
		border-top: 1px solid var(--aos-color-border-default);
	}

	.wsp-order-support-actions {
		grid-template-columns: minmax(0, 1fr);
	}

	.wsp-order-support-actions .button {
		width: 100%;
	}

	.woocommerce-account table.my_account_orders,
	.woocommerce-account table.my_account_orders tbody,
	.woocommerce-account table.my_account_orders tr,
	.woocommerce-account table.my_account_orders td {
		display: block;
		width: 100%;
	}

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

	.woocommerce-account table.my_account_orders tr {
		padding: var(--aos-space-4);
		border-bottom: 1px solid var(--aos-color-border-default);
	}

	.woocommerce-account table.my_account_orders td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--aos-space-4);
		padding: var(--aos-space-2) 0;
		border: 0;
		text-align: right;
	}

	.woocommerce-account table.my_account_orders td::before {
		content: attr(data-title);
		color: var(--aos-color-text-secondary);
		font-size: var(--aos-font-size-100);
		font-weight: var(--aos-font-weight-bold);
		text-align: left;
	}
}

@media (max-width: 480px) {
	.wsp-commerce-assurances li,
	.wsp-checkout-introduction,
	.woocommerce-checkout .wsp-checkout-customer-details .col-1,
	.woocommerce-checkout .wsp-checkout-customer-details .col-2,
	.woocommerce-account .woocommerce-MyAccount-content {
		padding: var(--aos-space-4);
	}

	.wsp-cart-financing-mark {
		width: max-content;
	}

	.wsp-order-received-next {
		grid-template-columns: minmax(0, 1fr);
	}

	.wsp-order-status-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.woocommerce-order-received .woocommerce-order-overview,
	.woocommerce-view-order .woocommerce-order-overview,
	.wsp-order-status-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.wsp-order-status-facts > div + div {
		border-top: 1px solid var(--aos-color-border-default);
		border-left: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wsp-commerce-enhanced .wsp-reveal.is-visible,
	.wsp-commerce-enhanced .wsp-order-received-next.wsp-reveal.is-visible,
	.wsp-commerce-enhanced .wsp-order-support-actions.wsp-reveal.is-visible {
		animation: none;
	}

	.wsp-commerce-assurances li,
	.woocommerce-account .woocommerce-MyAccount-navigation a,
	.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
	.woocommerce-checkout .wsp-checkout-ledger,
	.woocommerce-checkout .wsp-checkout-ledger #place_order,
	.woocommerce-cart .wsp-cart-financing {
		transition-duration: 0.01ms;
	}
}

/* WESHIPAC 0.9.23 — commerce utility controls. */
.wsp-commerce-assurances li {
	display: grid;
	grid-template-columns: 3px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: var(--aos-space-4);
	row-gap: var(--aos-space-1);
	align-items: start;
	padding: var(--aos-space-5);
}

.wsp-commerce-assurances li::before {
	position: static;
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 3px;
	height: 100%;
	min-height: 2.75rem;
	border-radius: var(--aos-radius-full);
	transform: none;
}

.wsp-commerce-assurances li > strong,
.wsp-commerce-assurances li > span {
	grid-column: 2;
	min-width: 0;
}

.woocommerce-checkout .select2-container {
	width: 100% !important;
}

.woocommerce-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
	min-height: 3.25rem;
	padding: 0 3.25rem 0 var(--aos-space-4);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: var(--aos-color-surface-card);
	box-shadow: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	width: 100%;
	padding: 0;
	color: var(--aos-color-text-primary);
	font: inherit;
	line-height: 1.3;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: var(--aos-space-4);
	width: 1.25rem;
	height: 1.25rem;
	transform: translateY(-50%);
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow b {
	top: 46%;
	left: 50%;
	width: 0.5rem;
	height: 0.5rem;
	margin: 0;
	border: 0;
	border-right: 2px solid var(--aos-color-text-primary);
	border-bottom: 2px solid var(--aos-color-text-primary);
	transform: translate(-50%, -50%) rotate(45deg);
	transition: transform 180ms ease;
}

.woocommerce-checkout .select2-container--open .select2-selection--single {
	border-color: var(--aos-color-action-selected);
	background: var(--aos-color-surface-card);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--aos-color-action-selected) 22%, transparent);
}

.woocommerce-checkout .select2-container--open .select2-selection--single .select2-selection__arrow b {
	transform: translate(-50%, -30%) rotate(225deg);
}

body.woocommerce-checkout .select2-dropdown {
	overflow: hidden;
	margin-top: var(--aos-space-2);
	border: 1px solid var(--aos-color-border-strong);
	border-radius: var(--aos-radius-xl);
	background: var(--aos-color-surface-card);
	box-shadow: 0 20px 54px rgba(10, 30, 50, 0.2);
	animation: wsp-select-panel-in 180ms cubic-bezier(0.2, 0.8, 0.2, 1) both;
}

body.woocommerce-checkout .select2-search--dropdown {
	padding: var(--aos-space-3);
	border-bottom: 1px solid var(--aos-color-border-default);
	background: var(--aos-color-surface-soft);
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
	min-height: 2.75rem;
	padding: 0 var(--aos-space-3);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-lg);
	background: var(--aos-color-surface-card);
	color: var(--aos-color-text-primary);
	font: inherit;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field:focus {
	border-color: var(--aos-color-action-selected);
	outline: 3px solid color-mix(in srgb, var(--aos-color-action-selected) 20%, transparent);
	outline-offset: 0;
}

body.woocommerce-checkout .select2-results__options {
	max-height: min(22rem, 48vh);
	padding: var(--aos-space-2);
	scrollbar-color: var(--aos-color-action-primary) var(--aos-color-surface-soft);
	scrollbar-width: thin;
}

body.woocommerce-checkout .select2-results__option {
	min-height: 2.75rem;
	padding: 0.72rem var(--aos-space-3);
	border-radius: var(--aos-radius-md);
	color: var(--aos-color-text-primary);
	line-height: 1.35;
}

body.woocommerce-checkout .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-results__option--highlighted[data-selected] {
	background: var(--aos-color-action-primary);
	color: #fff;
}

body.woocommerce-checkout .select2-results__option[aria-selected="true"],
body.woocommerce-checkout .select2-results__option[data-selected="true"] {
	background: var(--aos-color-surface-brand-soft);
	color: var(--aos-color-brand-primary);
	font-weight: var(--aos-font-weight-bold);
}

.woocommerce-checkout .woocommerce-invalid .select2-selection--single {
	border-color: var(--aos-color-state-danger);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--aos-color-state-danger) 16%, transparent);
}

#ship-to-different-address {
	margin: 0 0 var(--aos-space-5);
}

#ship-to-different-address label {
	display: flex;
	align-items: center;
	gap: var(--aos-space-4);
	min-height: 4.5rem;
	padding: var(--aos-space-4) var(--aos-space-5);
	border: 1px solid var(--aos-color-border-default);
	border-radius: var(--aos-radius-xl);
	background: var(--aos-color-surface-card);
	box-shadow: var(--aos-shadow-sm);
	cursor: pointer;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

#ship-to-different-address label:hover {
	border-color: var(--aos-color-action-selected);
	transform: translateY(-1px);
}

#ship-to-different-address-checkbox {
	position: relative;
	flex: 0 0 auto;
	width: 2.875rem;
	height: 1.625rem;
	margin: 0;
	border: 1px solid var(--aos-color-border-strong);
	border-radius: var(--aos-radius-full);
	background: var(--aos-color-surface-control-secondary);
	appearance: none;
	cursor: pointer;
	transition: border-color 180ms ease, background-color 180ms ease;
}

#ship-to-different-address-checkbox::after {
	content: "";
	position: absolute;
	top: 0.1875rem;
	left: 0.1875rem;
	width: 1.125rem;
	height: 1.125rem;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 6px rgba(8, 28, 48, 0.24);
	transition: transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}

#ship-to-different-address-checkbox:checked {
	border-color: var(--aos-color-action-primary);
	background: var(--aos-color-action-primary);
}

#ship-to-different-address-checkbox:checked::after {
	transform: translateX(1.25rem);
}

#ship-to-different-address-checkbox:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--aos-color-action-selected) 35%, transparent);
	outline-offset: 3px;
}

@keyframes wsp-select-panel-in {
	from {
		opacity: 0;
		transform: translateY(-0.35rem) scale(0.985);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (max-width: 640px) {
	body.woocommerce-checkout .select2-dropdown {
		max-width: calc(100vw - 2rem);
	}

	body.woocommerce-checkout .select2-results__options {
		max-height: min(16rem, 42vh);
	}

	#ship-to-different-address label {
		align-items: flex-start;
		min-height: 4rem;
		padding: var(--aos-space-4);
		font-size: clamp(1rem, 5vw, 1.25rem);
		line-height: 1.3;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-checkout .select2-dropdown {
		animation: none;
	}

	#ship-to-different-address label,
	#ship-to-different-address-checkbox,
	#ship-to-different-address-checkbox::after,
	.woocommerce-checkout .select2-container .select2-selection--single,
	.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow b {
		transition-duration: 0.01ms;
	}
}
