.nebula-thankyou-placeholder {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1.25rem 1.5rem;
	border: 1px dashed rgba(48, 48, 48, 0.28);
	border-radius: 10px;
	background: rgba(248, 247, 244, 0.75);
	color: #555;
}

.nebula-thankyou-placeholder strong {
	color: #222;
}

.nebula-order-tracking-form {
	width: min(100%, 560px);
	margin: 42px auto 0;
	text-align: center;
}

.nebula-order-tracking-intro {
	margin: 0 0 34px;
	color: #666;
	line-height: 1.8;
}

.nebula-order-tracking-form .form-row {
	float: none !important;
	width: 100% !important;
	margin: 0 0 26px !important;
	padding: 0 !important;
	text-align: left;
}

.nebula-order-tracking-form label {
	display: block;
	margin: 0 0 10px;
	font-size: 17px;
	font-weight: 500;
}

.nebula-order-tracking-form .input-text {
	display: block;
	width: 100%;
	height: 58px;
	padding: 0 18px;
	border: 1px solid rgba(48, 48, 48, 0.2);
	background: #fff;
	box-sizing: border-box;
	font-size: 16px;
}

.nebula-order-tracking-form .nebula-order-tracking-submit {
	margin-top: 34px !important;
	text-align: center;
}

.nebula-order-tracking-form .button {
	min-width: 190px;
	min-height: 58px;
	padding: 16px 28px;
	font-size: 16px;
}

.nebula-order-tracking-result {
	margin-top: 42px;
}

@media (max-width: 767px) {
	.nebula-order-tracking-form {
		margin-top: 28px;
	}

	.nebula-order-tracking-intro {
		margin-bottom: 26px;
		text-align: left;
	}

	.nebula-order-tracking-form .input-text {
		height: 54px;
	}

	.nebula-order-tracking-form .button {
		width: 100%;
	}
}

.nebula-order-details-output .woocommerce-customer-details,
.nebula-order-details-output .order-details > .title,
.nebula-order-details-output .order-details > address {
	display: none !important;
}

.nebula-order-details-output .woocommerce-table__product-name img {
	display: block;
	width: 150px !important;
	height: 150px !important;
	max-width: 100%;
	margin: 0;
	object-fit: cover;
}

@media (min-width: 768px) {
	.nebula-order-details-output td.woocommerce-table__product-name {
		display: grid;
		grid-template-columns: 150px minmax(0, 1fr);
		grid-template-rows: auto auto;
		column-gap: 24px;
		row-gap: 8px;
		align-items: center;
	}

	.nebula-order-details-output td.woocommerce-table__product-name > img {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	.nebula-order-details-output td.woocommerce-table__product-name > a {
		grid-column: 2;
		grid-row: 1;
		align-self: end;
	}

	.nebula-order-details-output td.woocommerce-table__product-name > .product-quantity {
		grid-column: 2;
		grid-row: 2;
		align-self: start;
	}
}

.nebula-thankyou-gateway-output:empty {
	display: none;
}

.nebula-order-summary-heading {
	margin-bottom: 20px;
}

.nebula-order-summary-row + .nebula-order-summary-row {
	margin-top: 16px;
}

.nebula-order-field-card {
	height: 100%;
	padding: 18px 20px;
	border: 1px solid rgba(48, 48, 48, 0.14);
	border-radius: 8px;
	background: rgba(248, 247, 244, 0.55);
	text-align: left;
}

.nebula-order-field-card p {
	margin: 0;
}

.nebula-order-field-card p + p {
	margin-top: 8px;
}

.nebula-order-field-value {
	display: inline-block;
	max-width: 100%;
	font-weight: 600;
	overflow-wrap: anywhere;
}

.nebula-order-field-placeholder {
	font-weight: 400;
	opacity: 0.58;
}

.nebula-order-summary-list .nebula-order-field-card {
	display: grid;
	grid-template-columns: minmax(120px, 132px) minmax(0, 1fr);
	gap: 20px;
	height: auto;
	margin: 0;
	padding: 24px 0;
	border: 0;
	border-bottom: 1px dashed rgba(48, 48, 48, 0.18);
	border-radius: 0;
	background: transparent;
	align-items: center;
	text-align: left;
}

.nebula-order-summary-list .nebula-order-field-card:has(.nebula-order-payment-method) {
	border-bottom: 0;
}

.nebula-order-summary-list .nebula-order-field-card p + p {
	margin-top: 0;
}

.nebula-order-summary-list .nebula-order-field-card strong {
	color: #333;
	font-weight: 600;
}

.nebula-order-summary-list .nebula-order-field-value {
	color: #444;
	font-weight: 400;
	letter-spacing: 0.05em;
}

.btn-container:has(> .nebula-thankyou-action) {
	display: inline-flex !important;
	vertical-align: top;
}

.btn-container:has(> .nebula-thankyou-action) + .btn-container:has(> .nebula-thankyou-action) {
	margin-left: 16px !important;
}

.nebula-thankyou-actions-row .btn-container:has(> .nebula-thankyou-action) {
	display: inline-flex !important;
	margin: 0 !important;
}

.nebula-thankyou-actions-left,
.nebula-thankyou-actions-left .uncont {
	text-align: left !important;
}

.nebula-thankyou-actions-right,
.nebula-thankyou-actions-right .uncont {
	text-align: right !important;
}

@media (min-width: 600px) {
	.nebula-thankyou-actions-row .row-inner {
		display: flex !important;
		width: 100%;
	}

	.nebula-thankyou-actions-row .column_child {
		display: block !important;
		flex: 0 0 50%;
		width: 50% !important;
		padding-top: 0 !important;
	}
}

@media (max-width: 767px) {
	.nebula-thankyou-placeholder {
		padding: 1rem;
	}

	.nebula-order-details-output .woocommerce-table__product-name img {
		width: min(150px, 100%) !important;
		height: auto !important;
		aspect-ratio: 1;
	}

	.btn-container:has(> .nebula-thankyou-action) {
		display: flex !important;
		justify-content: center;
	}

	.btn-container:has(> .nebula-thankyou-action) + .btn-container:has(> .nebula-thankyou-action) {
		margin-left: 0 !important;
		margin-top: 16px !important;
	}

	.nebula-thankyou-actions-row .btn-container:has(> .nebula-thankyou-action) {
		display: inline-flex !important;
		justify-content: initial;
		margin: 0 !important;
	}

	.nebula-order-summary-row + .nebula-order-summary-row {
		margin-top: 0;
	}

	.nebula-order-field-card {
		margin-top: 12px;
		padding: 16px 18px;
	}

	.nebula-order-summary-list .nebula-order-field-card {
		display: block;
		margin-top: 0;
		padding: 18px 0;
	}

	.nebula-order-summary-list .nebula-order-field-card p + p {
		margin-top: 6px;
	}
}

@media (max-width: 767px) {
	body.woocommerce-account .woocommerce-MyAccount-navigation {
		width: 100% !important;
		margin: 0 0 28px !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 0;
		width: 100%;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li a {
		display: flex !important;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 10px 0 !important;
		font-size: clamp(13px, 3.8vw, 15px);
		line-height: 1.3;
		text-align: center;
		white-space: nowrap;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
		display: none !important;
	}

	body.woocommerce-account .woocommerce-MyAccount-content {
		width: 100% !important;
	}

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

	body.woocommerce-account .woocommerce-orders-table tbody,
	body.woocommerce-account .woocommerce-orders-table tbody tr {
		display: block !important;
		width: 100% !important;
	}

	body.woocommerce-account .woocommerce-orders-table tbody tr {
		margin: 0 0 28px !important;
		border-bottom: 1px solid rgba(48, 48, 48, 0.16);
	}

	body.woocommerce-account .woocommerce-orders-table tbody th,
	body.woocommerce-account .woocommerce-orders-table tbody td {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		width: 100% !important;
		min-width: 0;
		margin: 0 !important;
		padding: 14px 0 !important;
		box-sizing: border-box;
		text-align: right !important;
	}

	body.woocommerce-account .woocommerce-orders-table tbody th::before,
	body.woocommerce-account .woocommerce-orders-table tbody td::before {
		position: static !important;
		float: none !important;
		flex: 0 0 auto;
		margin: 0 !important;
		font-weight: 600;
		text-align: left;
	}

	body.woocommerce-account .woocommerce-orders-table__cell-order-number::before {
		content: "訂單：" !important;
	}

	body.woocommerce-account .woocommerce-orders-table tbody th > *,
	body.woocommerce-account .woocommerce-orders-table tbody td > * {
		min-width: 0;
		max-width: 100%;
	}

body.woocommerce-account .woocommerce-orders-table__cell-order-actions {
		flex-wrap: wrap;
	}
}

@media (max-width: 767px) {
	body.woocommerce-order-pay #page-header .row-parent {
		padding-right: 20px !important;
		padding-left: 20px !important;
	}

	body.woocommerce-order-pay #page-header .shift_y_neg_quad {
		margin-top: 0 !important;
	}

	body.woocommerce-order-pay #page-header .uncont.double-block-padding {
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body.woocommerce-order-pay .uncode-wc-pay-order,
	body.woocommerce-order-pay #order_review,
	body.woocommerce-order-pay #order_review .uncode-wc-module__row,
	body.woocommerce-order-pay #order_review .row-inner,
	body.woocommerce-order-pay #order_review .wpb_column,
	body.woocommerce-order-pay #order_review .uncol,
	body.woocommerce-order-pay #order_review .uncoltable,
	body.woocommerce-order-pay #order_review .uncell,
	body.woocommerce-order-pay #order_review .uncont {
		width: 100% !important;
		max-width: none !important;
	}

	body.woocommerce-order-pay #order_review table.shop_table,
	body.woocommerce-order-pay #order_review table.shop_table tbody,
	body.woocommerce-order-pay #order_review table.shop_table tfoot {
		display: block !important;
		width: 100% !important;
	}

	body.woocommerce-order-pay #order_review table.shop_table thead {
		display: none !important;
	}

	body.woocommerce-order-pay #order_review table.shop_table tr.order_item {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 12px 20px;
		width: 100% !important;
		padding: 20px 0 !important;
		border-bottom: 1px solid rgba(48, 48, 48, 0.14);
	}

	body.woocommerce-order-pay #order_review table.shop_table tr.order_item td {
		display: flex !important;
		align-items: center;
		min-width: 0;
		width: auto !important;
		padding: 0 !important;
		border: 0 !important;
		text-align: left !important;
	}

	body.woocommerce-order-pay #order_review table.shop_table tr.order_item .product-name {
		grid-column: 1 / -1;
		font-weight: 600;
		line-height: 1.6;
		overflow-wrap: anywhere;
	}

	body.woocommerce-order-pay #order_review table.shop_table tr.order_item .product-name img {
		display: none !important;
	}

	body.woocommerce-order-pay #order_review table.shop_table tr.order_item .product-quantity::before,
	body.woocommerce-order-pay #order_review table.shop_table tr.order_item .product-subtotal::before {
		margin-right: 8px;
		font-size: 13px;
		font-weight: 500;
		color: rgba(48, 48, 48, 0.65);
	}

	body.woocommerce-order-pay #order_review table.shop_table tr.order_item .product-quantity::before {
		content: "數量";
	}

	body.woocommerce-order-pay #order_review table.shop_table tr.order_item .product-subtotal::before {
		content: "小計";
	}

	body.woocommerce-order-pay #order_review table.shop_table tfoot tr {
		display: grid !important;
		grid-template-columns: minmax(88px, 35%) minmax(0, 1fr);
		gap: 12px;
		align-items: start;
		width: 100% !important;
		border-bottom: 1px solid rgba(48, 48, 48, 0.14);
	}

	body.woocommerce-order-pay #order_review table.shop_table tfoot th,
	body.woocommerce-order-pay #order_review table.shop_table tfoot td {
		display: block !important;
		width: auto !important;
		min-width: 0;
		padding: 18px 0 !important;
		border: 0 !important;
		line-height: 1.55;
	}

	body.woocommerce-order-pay #order_review table.shop_table tfoot th {
		text-align: left !important;
	}

body.woocommerce-order-pay #order_review table.shop_table tfoot td {
		text-align: right !important;
		overflow-wrap: anywhere;
	}
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link--rewards a::before {
	content: "\f005";
}

/* Monochrome member-points dashboard; keep the plugin's original layout. */
body.woocommerce-account .spar-rewards-dashboard {
	--spar-theme-color-1: #161616;
	--spar-theme-color-2: #161616;
	--spar-theme-accent-color: #161616;
	color: #222;
}

body.woocommerce-account .spar-rewards-overview {
	color: #222 !important;
	background: #fff !important;
	background-image: none !important;
	border-color: #dfdfdf !important;
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06) !important;
}

body.woocommerce-account .spar-rewards-overview h2,
body.woocommerce-account .spar-rewards-stat-number,
body.woocommerce-account .spar-rewards-stat-label {
	color: #111 !important;
}

body.woocommerce-account .spar-overview-subtitle,
body.woocommerce-account .spar-rewards-stat-sublabel {
	color: #707070 !important;
}

body.woocommerce-account .spar-rewards-stat {
	background: #fff !important;
	border-color: #dedede !important;
	box-shadow: none !important;
}

body.woocommerce-account .spar-tabs,
body.woocommerce-account .spar-tabs-nav,
body.woocommerce-account .spar-tabs-content,
body.woocommerce-account .spar-tab-panel,
body.woocommerce-account .spar-section,
body.woocommerce-account .spar-earn-grid,
body.woocommerce-account .spar-tab-nav {
	background: #fff !important;
	border-color: #dfdfdf !important;
}

body.woocommerce-account .spar-tab-nav {
	color: #777 !important;
}

body.woocommerce-account .spar-tab-nav:hover,
body.woocommerce-account .spar-tab-nav:focus,
body.woocommerce-account .spar-tab-nav.is-active {
	color: #111 !important;
	background: #fff !important;
}

body.woocommerce-account .spar-tab-nav.is-active {
	box-shadow: inset 0 -2px 0 #111 !important;
}

body.woocommerce-account .spar-box-full,
body.woocommerce-account .spar-tl-card {
	color: #222 !important;
	background: #fff !important;
	border-color: #dfdfdf !important;
	box-shadow: none !important;
}

body.woocommerce-account .spar-earn-fa-icon,
body.woocommerce-account .spar-earn-fa-icon i,
body.woocommerce-account .spar-points-info {
	color: #222 !important;
}

body.woocommerce-account .spar-tl-dot,
body.woocommerce-account .spar-tl-purple,
body.woocommerce-account .spar-tl-green,
body.woocommerce-account .spar-tl-blue,
body.woocommerce-account .spar-tl-amber,
body.woocommerce-account .spar-tl-pink,
body.woocommerce-account .spar-tl-teal,
body.woocommerce-account .spar-tl-badge,
body.woocommerce-account .spar-tl-badge--add,
body.woocommerce-account .spar-tl-badge--remove,
body.woocommerce-account .spar-tl-badge--pending {
	color: #111 !important;
	background: #f2f2f2 !important;
	border-color: #d8d8d8 !important;
}

body.woocommerce-account .spar-tl-icon img {
	filter: grayscale(1) !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a,
body.woocommerce-account .woocommerce-MyAccount-navigation-link.is-active a::before {
	color: #111 !important;
}

/* Checkout member-points card only. Keep the billing and order UI untouched. */
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-box {
	--spar-rewards-primary: #171717 !important;
	--spar-rewards-primary-hover: #000 !important;
	--spar-rewards-primary-rgb: 23, 23, 23 !important;
	--spar-rewards-secondary: #171717 !important;
	--spar-rewards-secondary-hover: #000 !important;
	--spar-rewards-secondary-rgb: 23, 23, 23 !important;
	color: #222 !important;
	background: #fff !important;
	border: 1px solid #dedede !important;
	border-radius: 16px !important;
	box-shadow: 0 8px 26px rgba(0, 0, 0, 0.05) !important;
	overflow: hidden;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-header {
	gap: 24px;
	padding: 24px 28px !important;
	background: #fff !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-title,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-points-number,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-points-label,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-header {
	color: #171717 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-title {
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-earning-message {
	color: #737373 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-points {
	gap: 0 !important;
	padding: 0 !important;
	color: #737373 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	white-space: nowrap;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .nebula-current-points-prefix,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-points-number,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-points-label {
	color: #737373 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-points-label {
	margin-left: 4px;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-toggle-btn,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-apply-btn {
	color: #fff !important;
	background: #171717 !important;
	border: 1px solid #171717 !important;
	border-radius: 7px !important;
	box-shadow: none !important;
	font-weight: 600 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-toggle-btn:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-toggle-btn:focus,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-apply-btn:hover,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-apply-btn:focus {
	color: #fff !important;
	background: #000 !important;
	border-color: #000 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-dropdown,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-dropdown-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-dropdown-tab-content,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-points-discount-panel,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-panel {
	color: #222 !important;
	background: #fff !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-dropdown {
	border-top: 1px solid #e3e3e3 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-input {
	color: #171717 !important;
	background: #fff !important;
	border: 1px solid #cfcfcf !important;
	border-radius: 6px !important;
	box-shadow: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-input:focus {
	border-color: #171717 !important;
	outline: none !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-slider {
	accent-color: #171717 !important;
}

body.woocommerce-checkout:not(.woocommerce-order-received) .spar-discount-box,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-value,
body.woocommerce-checkout:not(.woocommerce-order-received) .spar-redeem-value-label {
	color: #555 !important;
}

@media (min-width: 960px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-title-section {
		flex: 1 1 auto;
		flex-direction: row !important;
		align-items: center !important;
		gap: 32px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-title {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-earning-message {
		margin: 0 !important;
	}
}

@media (max-width: 959px) {
	body.woocommerce-checkout:not(.woocommerce-order-received),
	body.woocommerce-checkout:not(.woocommerce-order-received) .box-wrapper,
	body.woocommerce-checkout:not(.woocommerce-order-received) .box-container,
	body.woocommerce-checkout:not(.woocommerce-order-received) .main-wrapper,
	body.woocommerce-checkout:not(.woocommerce-order-received) .main-container,
	body.woocommerce-checkout:not(.woocommerce-order-received) .page-wrapper,
	body.woocommerce-checkout:not(.woocommerce-order-received) #sections-container,
	body.woocommerce-checkout:not(.woocommerce-order-received) #page-header,
	body.woocommerce-checkout:not(.woocommerce-order-received) .header-wrapper,
	body.woocommerce-checkout:not(.woocommerce-order-received) #row-unique-2 {
		background-color: #fff !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .uncode-wc-checkout {
		/* Reserve space for Uncode's absolutely positioned mobile header. */
		padding-top: 120px !important;
	}
}

@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-header {
		align-items: stretch !important;
		gap: 18px;
		padding: 20px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-summary {
		justify-content: space-between !important;
		width: 100%;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-title {
		font-size: 21px !important;
	}
}


/* Mobile checkout: extend the white checkout surface through both viewport gutters. */
@media (max-width: 959px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) #row-unique-2 .uncont.style-color-xsdn-bg {
		background-color: #fff !important;
		border-radius: 0 !important;
		box-shadow: 0 0 0 100vmax #fff !important;
		clip-path: inset(0 -100vmax);
	}
}


/* Mobile checkout content uses a consistent 16px viewport gutter. */
@media (max-width: 959px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) #row-unique-2 > .row-parent {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) #row-unique-2 .uncont.style-color-xsdn-bg {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}


/* Mobile points row: equal left and right inner spacing. */
@media (max-width: 767px) {
	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-summary {
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	body.woocommerce-checkout:not(.woocommerce-order-received) .spar-cart-rewards-actions {
		margin-left: auto !important;
	}
}
