/* ==========================================================================
   Cart, checkout, order received, account & generic WooCommerce pages.
   ========================================================================== */

.wc-page {
	padding-block: var(--sp-6) var(--sp-10);
}

.wc-page__head {
	padding-block: var(--sp-7) var(--sp-6);
	border-bottom: var(--border);
	background:
		radial-gradient(ellipse 55% 140% at 100% 0%, rgba(var(--gold-rgb), 0.1), transparent 60%),
		var(--black-800);
}

.wc-page__head h1 {
	margin: 0;
	font-size: var(--fs-h2);
}

/* Checkout progress */
.steps {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	margin: var(--sp-4) 0 0;
	padding: 0;
	list-style: none;
	font-size: var(--fs-sm);
	color: var(--text-muted);
}

.steps li {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
}

.steps li + li::before {
	content: "";
	width: 28px;
	height: 1px;
	background: var(--black-500);
}

.steps .step__num {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border: 1px solid var(--black-500);
	border-radius: 50%;
	font-family: var(--font-en-body);
	font-size: var(--fs-xs);
	font-weight: var(--fw-bold);
}

.steps .is-done,
.steps .is-current {
	color: var(--text-primary);
}

.steps .is-done .step__num,
.steps .is-current .step__num {
	border-color: transparent;
	background: var(--gold-gradient);
	color: var(--text-on-gold);
}

/* Generic WooCommerce buttons that are not primary */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wc-backward,
.return-to-shop .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sp-2);
	min-height: 48px;
	padding: 0 var(--sp-5);
	border: 1px solid rgba(var(--gold-rgb), 0.6);
	border-radius: var(--r-btn);
	background: transparent;
	color: var(--gold-500);
	font-family: var(--font-head);
	font-weight: var(--fw-bold);
	cursor: pointer;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.wc-backward:hover {
	background: rgba(var(--gold-rgb), 0.08);
	color: var(--gold-400);
}

.woocommerce .button.alt,
.woocommerce .checkout-button,
.woocommerce #place_order {
	border-color: transparent;
	background: var(--gold-gradient);
	color: var(--text-on-gold) !important;
}

/* ---- Empty cart -------------------------------------------------------- */
.cart-empty-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sp-3);
	max-width: 520px;
	margin: var(--sp-6) auto;
	padding: var(--sp-9) var(--sp-5);
	border: var(--border);
	border-radius: var(--r-card);
	background: var(--black-700);
	text-align: center;
}

.cart-empty-box .feature__icon {
	width: 72px;
	height: 72px;
}

.cart-empty-box .feature__icon .mst-icon {
	width: 34px;
	height: 34px;
}

.cart-empty-box h2 {
	margin: var(--sp-2) 0 0;
	font-size: var(--fs-h3);
}

.cart-empty-box p {
	margin: 0 0 var(--sp-3);
	color: var(--text-secondary);
}

.woocommerce-cart .cart-empty.woocommerce-info,
.woocommerce-cart .return-to-shop {
	display: none;
}

/* ---- Cart -------------------------------------------------------------- */
.cart-layout {
	display: grid;
	gap: var(--sp-5);
	align-items: start;
}

@media (min-width: 1024px) {
	.cart-layout {
		grid-template-columns: minmax(0, 1fr) 400px;
		gap: var(--sp-7);
	}
	.cart-layout .cart-collaterals {
		position: sticky;
		top: calc(var(--header-h) + var(--sp-4));
	}
}

.cart-layout > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

.cart-items-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-3);
	margin-bottom: var(--sp-3);
}

.cart-items-head__title {
	margin: 0;
	font-size: var(--fs-h4);
}

.woocommerce-cart-form {
	margin: 0;
	min-width: 0;
}

table.shop_table.cart {
	width: 100%;
	border: 0;
}

table.shop_table.cart thead {
	display: none;
}

table.shop_table.cart tbody {
	display: grid;
	gap: var(--sp-3);
}

table.shop_table.cart tr.cart_item {
	position: relative;
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	grid-template-areas:
		"thumb name remove"
		"thumb price price"
		"thumb qty subtotal";
	gap: 6px var(--sp-4);
	align-items: center;
	padding: var(--sp-4);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--surface-1);
	transition: opacity var(--t-fast);
}

table.shop_table.cart td {
	padding: 0;
	border: 0;
	background: none;
}

table.shop_table.cart td::before {
	display: none;
}

.cart_item .product-thumbnail { grid-area: thumb; align-self: start; }
.cart_item .product-name { grid-area: name; font-weight: var(--fw-semibold); line-height: var(--lh-snug); }
.cart_item .product-price { grid-area: price; font-size: var(--fs-sm); color: var(--text-secondary); }
.cart_item .product-quantity { grid-area: qty; }
.cart_item .product-subtotal { grid-area: subtotal; text-align: end; font-family: var(--font-en-head); font-weight: var(--fw-black); font-size: var(--fs-lg); color: var(--gold-400); }
.cart_item .product-remove { grid-area: remove; align-self: start; }

.cart_item .product-thumbnail img {
	width: 96px;
	height: 96px;
	object-fit: contain;
	border-radius: var(--r-md);
	background: var(--well);
}

.cart_item .product-name a {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	color: var(--text-primary);
}

.cart_item .product-name a:hover {
	color: var(--gold-400);
}

.cart-item__specs {
	display: block;
	margin-top: 4px;
	font-size: var(--fs-xs);
	font-weight: var(--fw-regular);
	color: var(--text-muted);
	text-align: start;
}

.cart_item .quantity {
	height: 42px;
}

.cart_item .quantity .qty-btn {
	width: 38px;
}

.cart_item .quantity .qty {
	width: 38px;
}

.cart_item a.remove {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: var(--r-sm);
	color: var(--text-muted) !important;
	font-size: 0;
}

.cart_item a.remove .mst-icon {
	width: 18px;
	height: 18px;
}

.cart_item a.remove:hover {
	background: rgba(231, 76, 60, 0.12);
	color: var(--danger-text) !important;
}

table.shop_table.cart tr:not(.cart_item) {
	display: block;
}

table.shop_table.cart td.actions {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--sp-3);
	justify-content: space-between;
	padding-top: var(--sp-1);
}

.coupon-toggle {
	flex: 1;
	max-width: 480px;
}

.coupon-toggle summary {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	min-height: var(--tap);
	color: var(--gold-400);
	font-weight: var(--fw-semibold);
	cursor: pointer;
	list-style: none;
}

.coupon-toggle summary::-webkit-details-marker {
	display: none;
}

.coupon-toggle summary .mst-icon {
	width: 18px;
	height: 18px;
}

.coupon-toggle[open] .coupon-toggle__chev {
	transform: rotate(180deg);
}

.coupon {
	display: flex;
	gap: var(--sp-2);
	margin-top: var(--sp-2);
}

.coupon .input-text {
	flex: 1;
	min-width: 0;
}

/* Quantities update automatically once JS runs: the button is only for no-JS visitors. */
.cart-auto .cart-update-btn {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

@media (max-width: 599px) {
	table.shop_table.cart tr.cart_item {
		grid-template-columns: 76px minmax(0, 1fr) auto;
		padding: var(--sp-3);
		gap: 4px var(--sp-3);
	}
	.cart_item .product-thumbnail img {
		width: 76px;
		height: 76px;
	}
	.cart_item .product-subtotal {
		font-size: var(--fs-base);
	}
}

/* Removed item: WooCommerce's "… removed. Undo?" message becomes a toast. */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message:has(.restore-item) {
	position: fixed;
	inset-inline: var(--sp-4);
	bottom: calc(var(--bottom-nav-h) + 84px + env(safe-area-inset-bottom));
	z-index: var(--z-toast);
	max-width: 460px;
	margin-inline: auto;
	box-shadow: var(--shadow-lg);
	animation: mst-toast-in var(--t-base) var(--ease-out);
}

@media (min-width: 1024px) {
	.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message:has(.restore-item) {
		bottom: var(--sp-6);
	}
}

.restore-item {
	margin-inline-start: var(--sp-2);
	font-weight: var(--fw-bold);
	color: var(--gold-400);
	text-decoration: underline;
}

/* Summary card (cart totals + checkout review) */
.cart-collaterals {
	min-width: 0;
}

.cart_totals > h2,
.cart_totals .summary-card > h2:not(.summary-card__title) {
	display: none;
}

.summary-card {
	padding: var(--sp-5);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--surface-1);
}

.summary-card__title,
#order_review_heading {
	margin: 0 0 var(--sp-3);
	font-size: var(--fs-h4);
}

.cart_totals table,
.woocommerce-checkout-review-order-table {
	width: 100%;
	border: 0;
	font-size: var(--fs-sm);
}

.cart_totals th,
.cart_totals td,
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: var(--sp-3) 0;
	border: 0;
	border-bottom: 1px solid var(--line);
	text-align: start;
	vertical-align: top;
	background: none;
	font-weight: var(--fw-regular);
}

.cart_totals td,
.woocommerce-checkout-review-order-table td:last-child,
.woocommerce-checkout-review-order-table th:last-child {
	text-align: end;
}

.cart_totals td::before {
	display: none;
}

.cart_totals .shipping-note td {
	color: var(--text-muted);
	font-size: var(--fs-xs);
}

.cart_totals .order-total th,
.cart_totals .order-total td,
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	border-bottom: 0;
	padding-top: var(--sp-4);
	font-size: var(--fs-lg);
	font-weight: var(--fw-black);
}

.order-total .amount {
	font-family: var(--font-en-head);
	color: var(--gold-400);
}

#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
}

#shipping_method li {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--sp-2);
	text-align: end;
}

.woocommerce-shipping-destination,
.woocommerce-shipping-calculator {
	margin: var(--sp-2) 0 0;
	font-size: var(--fs-xs);
	color: var(--text-muted);
}

.wc-proceed-to-checkout {
	padding-top: var(--sp-4);
}

.wc-proceed-to-checkout .checkout-button {
	width: 100%;
}

.summary-card .ship-progress {
	margin-top: var(--sp-3);
	padding: var(--sp-3);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
}

.summary-card__wa {
	margin-top: var(--sp-3);
}

.summary-card__trust {
	display: grid;
	gap: var(--sp-2);
	margin: var(--sp-4) 0 0;
	padding: var(--sp-4) 0 0;
	border-top: 1px solid var(--line);
	list-style: none;
	font-size: var(--fs-xs);
	color: var(--text-secondary);
}

.summary-card__trust li {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
}

.summary-card__trust .mst-icon {
	width: 16px;
	height: 16px;
	color: var(--gold-500);
}

/* Mobile cart: checkout bar pinned above the bottom navigation */
.cart-sticky {
	display: none;
}

@media (max-width: 1023px) {
	.woocommerce-cart .cart-sticky {
		position: fixed;
		inset-inline: 0;
		bottom: calc(var(--bottom-nav-h) + env(safe-area-inset-bottom));
		z-index: calc(var(--z-bottom-nav) - 1);
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--sp-3);
		padding: var(--sp-3) var(--gutter);
		border-top: 1px solid var(--line);
		background: rgba(13, 13, 13, 0.94);
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
	}
	.cart-sticky__total {
		display: flex;
		flex-direction: column;
		font-size: var(--fs-xs);
		color: var(--text-secondary);
	}
	.cart-sticky__total b {
		font-family: var(--font-en-head);
		font-size: var(--fs-lg);
		color: var(--gold-400);
	}
	.cart-sticky .btn {
		flex: 1;
		max-width: 240px;
	}
	.woocommerce-cart .wc-main {
		padding-bottom: 84px;
	}
	.woocommerce-cart .wa-float {
		bottom: calc(var(--bottom-nav-h) + 84px + env(safe-area-inset-bottom));
	}
}

/* ---- Checkout ---------------------------------------------------------- */
.woocommerce-checkout .wc-page__head {
	padding-block: var(--sp-4);
}

.woocommerce-checkout .wc-page__head h1 {
	font-size: var(--fs-h3);
}

form.checkout {
	display: grid;
	gap: var(--sp-4);
	align-items: start;
}

@media (min-width: 1024px) {
	form.checkout {
		grid-template-columns: minmax(0, 1fr) 420px;
		gap: var(--sp-7);
	}
	.checkout-side {
		grid-column: 2;
		grid-row: 1;
		position: sticky;
		top: calc(var(--header-h) + var(--sp-4));
	}
	.checkout-main {
		grid-column: 1;
		grid-row: 1;
	}
}

.checkout-main {
	display: grid;
	gap: var(--sp-4);
	min-width: 0;
}

.checkout-side {
	min-width: 0;
}

/* Collapsible summary header (phones/tablets) */
.co-summary-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sp-3);
	width: 100%;
	min-height: 56px;
	padding: 0 var(--sp-4);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--surface-1);
	color: var(--text-primary);
	font-family: var(--font-head);
	font-weight: var(--fw-bold);
}

.co-summary-toggle > span {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
}

.co-summary-toggle .mst-icon {
	width: 20px;
	height: 20px;
	color: var(--gold-500);
}

.co-summary-toggle .amount {
	font-family: var(--font-en-head);
	color: var(--gold-400);
}

.co-summary-toggle__chev {
	transition: transform var(--t-fast);
}

.checkout-side.is-open .co-summary-toggle__chev {
	transform: rotate(180deg);
}

@media (max-width: 1023px) {
	.co-summary {
		display: none;
		margin-top: var(--sp-2);
	}
	.checkout-side.is-open .co-summary {
		display: block;
	}
	.co-summary .summary-card__title {
		display: none;
	}
}

@media (min-width: 1024px) {
	.co-summary-toggle {
		display: none;
	}
}

.checkout-block {
	padding: var(--sp-5);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--surface-1);
}

@media (max-width: 599px) {
	.checkout-block {
		padding: var(--sp-4);
	}
}

.checkout-block__title {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	margin: 0 0 var(--sp-5);
	font-size: var(--fs-h4);
}

.checkout-block .step__num {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--gold-gradient);
	color: var(--text-on-gold);
	font-family: var(--font-en-body);
	font-size: var(--fs-sm);
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--sp-4);
}

.form-row {
	grid-column: 1 / -1;
	margin: 0;
	min-width: 0;
}

@media (min-width: 600px) {
	.form-row-first,
	.form-row-last {
		grid-column: span 1;
	}
}

.form-row label {
	display: block;
	margin-bottom: 6px;
	font-size: var(--fs-sm);
	font-weight: var(--fw-semibold);
}

.form-row .required {
	color: var(--danger-text);
	text-decoration: none;
}

.form-row .optional {
	font-weight: var(--fw-regular);
	color: var(--text-muted);
}

.form-row .woocommerce-input-wrapper {
	display: block;
}

.form-row input.input-text,
.form-row textarea {
	width: 100%;
	min-height: 48px;
	font-size: 16px; /* no zoom on iOS */
}

.form-row textarea {
	min-height: 76px;
	padding-block: var(--sp-3);
	resize: vertical;
}

.form-row.mstt-phone input {
	text-align: left;
	letter-spacing: 0.04em;
}

.form-row.woocommerce-invalid input,
.form-row.woocommerce-invalid select,
.form-row.woocommerce-invalid textarea,
.form-row.woocommerce-invalid .select2-selection {
	border-color: var(--danger) !important;
}

.checkout-inline-error-message,
.mstt-field-error {
	margin: 6px 0 0;
	font-size: var(--fs-xs);
	color: var(--danger-text);
}

.form-row.woocommerce-invalid .checkout-inline-error-message ~ .mstt-field-error {
	display: none;
}

/* Country: fixed to Egypt, shown as a read-only field */
#billing_country_field .woocommerce-input-wrapper strong {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 48px;
	padding: 0 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--r-btn);
	background: rgba(255, 255, 255, 0.03);
	color: var(--text-secondary);
	font-weight: var(--fw-semibold);
}

#billing_country_field .woocommerce-input-wrapper strong::before {
	content: "🇪🇬";
	font-size: 20px;
	line-height: 1;
}

.woocommerce-billing-fields > h3,
.woocommerce-additional-fields > h3 {
	display: none;
}

/* Order notes, collapsed */
.co-notes {
	margin-top: var(--sp-4);
}

.co-notes summary {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-2);
	min-height: var(--tap);
	color: var(--gold-400);
	font-size: var(--fs-sm);
	font-weight: var(--fw-semibold);
	cursor: pointer;
	list-style: none;
}

.co-notes summary::-webkit-details-marker {
	display: none;
}

.co-notes summary .mst-icon {
	width: 18px;
	height: 18px;
}

.co-notes .woocommerce-additional-fields {
	margin-top: var(--sp-2);
}

/* Select2 / selectWoo (governorate picker) */
.select2-container {
	width: 100% !important;
}

.select2-container .select2-selection--single {
	height: 48px;
	border: var(--border);
	border-radius: var(--r-btn);
	background: var(--black-800);
}

.select2-container .select2-selection--single .select2-selection__rendered {
	padding-inline: 14px 40px;
	line-height: 46px;
	color: var(--text-primary);
}

.select2-container .select2-selection--single .select2-selection__placeholder {
	color: var(--text-muted);
}

.select2-container .select2-selection--single .select2-selection__arrow {
	height: 46px;
	inset-inline-end: 8px;
}

.select2-dropdown {
	overflow: hidden;
	border: 1px solid rgba(var(--gold-rgb), 0.45) !important;
	border-radius: 12px !important;
	background: #121214;
	color: #e4e4e7;
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.6);
}

.select2-search--dropdown {
	padding: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.select2-search--dropdown .select2-search__field {
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid rgba(255, 255, 255, 0.14) !important;
	border-radius: 10px;
	background: #0b0b0c;
	color: #f4f4f5;
	font-size: 16px;
	outline: none;
}

.select2-search--dropdown .select2-search__field:focus {
	border-color: var(--gold-500) !important;
	box-shadow: 0 0 0 3px rgba(var(--gold-rgb), 0.15);
}

.select2-results > .select2-results__options {
	max-height: 280px;
	padding: 6px;
	scrollbar-width: thin;
	scrollbar-color: #3f3f46 transparent;
}

.select2-container--default .select2-results__option,
.select2-results__option {
	position: relative;
	margin: 0;
	padding: 11px 14px;
	border-radius: 8px;
	background: transparent;
	color: #e4e4e7;
	font-size: 15px;
}

/* Selected governorate: gold text + check mark */
.select2-container--default .select2-results__option[aria-selected="true"],
.select2-container--default .select2-results__option--selected {
	background: rgba(var(--gold-rgb), 0.1);
	color: var(--gold-300);
	font-weight: var(--fw-bold);
}

.select2-container--default .select2-results__option[aria-selected="true"]::after,
.select2-container--default .select2-results__option--selected::after {
	content: "✓";
	position: absolute;
	inset-inline-end: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--gold-400);
}

/* Hover / keyboard highlight (wins over "selected") */
.select2-container--default .select2-results__option--highlighted,
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[aria-selected="true"] {
	background: rgba(var(--gold-rgb), 0.2);
	color: #ffffff;
}

.select2-results__message {
	color: var(--text-muted);
}

.select2-container--open .select2-selection--single {
	border-color: var(--gold-500) !important;
}

/* Order review */
.woocommerce-checkout-review-order-table thead {
	display: none;
}

.woocommerce-checkout-review-order-table .product-name {
	font-weight: var(--fw-semibold);
}

.co-item {
	display: inline-flex;
	align-items: center;
	gap: var(--sp-3);
}

.co-thumb {
	width: 52px;
	height: 52px;
	flex-shrink: 0;
	object-fit: contain;
	border-radius: var(--r-sm);
	background: var(--well);
}

.co-item__name {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-height: 1.4;
}

.woocommerce-checkout-review-order-table .product-quantity {
	color: var(--gold-500);
	font-family: var(--font-en-body);
}

.woocommerce-checkout-review-order-table .product-total {
	white-space: nowrap;
}

.woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
	font-size: var(--fs-xs);
	color: var(--text-secondary);
}

/* Payment methods as selectable cards */
.wc_payment_methods {
	display: grid;
	gap: var(--sp-2);
	margin: 0 0 var(--sp-4);
	padding: 0;
	list-style: none;
}

.wc_payment_method {
	position: relative;
	padding: var(--sp-4);
	border: 1px solid var(--black-500);
	border-radius: var(--r-md);
	background: var(--black-800);
	transition: border-color var(--t-fast), background var(--t-fast);
}

.wc_payment_method:has(input:checked) {
	border-color: var(--gold-500);
	background: rgba(var(--gold-rgb), 0.06);
	box-shadow: inset 0 0 0 1px var(--gold-500);
}

.wc_payment_method > input {
	position: absolute;
	top: calc(var(--sp-4) + 3px);
	inset-inline-start: var(--sp-4);
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--gold-500);
}

.wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	padding-inline-start: 30px;
	font-weight: var(--fw-bold);
	cursor: pointer;
}

.wc_payment_method .pay-icon {
	display: inline-grid;
	place-items: center;
	order: -1;
	width: 34px;
	height: 34px;
	margin-inline-end: 2px;
	border-radius: var(--r-sm);
	background: rgba(var(--gold-rgb), 0.12);
	color: var(--gold-500);
}

.wc_payment_method .pay-icon .mst-icon {
	width: 20px;
	height: 20px;
}

.payment_box {
	margin: var(--sp-2) 0 0;
	padding-inline-start: 30px;
	font-size: var(--fs-sm);
	color: var(--text-secondary);
}

.payment_box p {
	margin: 0;
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	font-size: var(--fs-xs);
	color: var(--text-muted);
}

.woocommerce-privacy-policy-text p {
	margin: 0 0 var(--sp-3);
}

#place_order {
	width: 100%;
	min-height: 58px;
	font-size: var(--fs-lg);
}

.woocommerce-form-coupon-toggle .woocommerce-info,
.woocommerce-form-login-toggle .woocommerce-info {
	margin-bottom: var(--sp-3);
	font-size: var(--fs-sm);
}

form.checkout_coupon,
form.woocommerce-form-login {
	margin-bottom: var(--sp-4);
	padding: var(--sp-4);
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--surface-1);
}

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

.blockUI.blockOverlay {
	background: rgba(5, 5, 5, 0.6) !important;
}

/* ---- Order received ---------------------------------------------------- */
.thankyou-hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--sp-3);
	margin-bottom: var(--sp-6);
	padding: var(--sp-8) var(--sp-5);
	border: 1px solid rgba(46, 204, 113, 0.3);
	border-radius: var(--r-card);
	background:
		radial-gradient(ellipse 70% 90% at 50% 0%, rgba(46, 204, 113, 0.12), transparent 70%),
		var(--surface-1);
	text-align: center;
}

.thankyou-hero__icon {
	display: grid;
	place-items: center;
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: rgba(46, 204, 113, 0.15);
	color: var(--success);
	animation: mst-pop var(--t-slow) var(--ease-out);
}

.thankyou-hero__icon .mst-icon {
	width: 40px;
	height: 40px;
	stroke-width: 2.2;
}

.thankyou-hero h2 {
	margin: 0;
	font-size: var(--fs-h3);
}

.thankyou-hero p {
	margin: 0;
	color: var(--text-secondary);
}

.thankyou-hero__num b {
	font-family: var(--font-en-head);
	font-size: var(--fs-h4);
	color: var(--gold-400);
}

.thankyou-hero__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--sp-3);
	margin-top: var(--sp-3);
}

@media (max-width: 599px) {
	.thankyou-hero__actions .btn {
		width: 100%;
	}
}

ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: var(--sp-3);
	margin: 0 0 var(--sp-6);
	padding: 0;
	list-style: none;
}

ul.woocommerce-order-overview li {
	padding: var(--sp-4);
	border: var(--border);
	border-radius: var(--r-md);
	background: var(--black-700);
	font-size: var(--fs-xs);
	color: var(--text-secondary);
}

ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 4px;
	font-size: var(--fs-base);
	color: var(--text-primary);
}

.woocommerce-order-details,
.woocommerce-customer-details {
	margin-bottom: var(--sp-6);
}

.woocommerce-table--order-details,
.woocommerce-customer-details address {
	padding: var(--sp-4);
	border: var(--border);
	border-radius: var(--r-card);
	background: var(--black-700);
	font-style: normal;
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
	padding: var(--sp-3);
	border-bottom: var(--border);
	text-align: start;
}

/* ---- Checkout v2: grouped details + WhatsApp option -------------------- */
.co-group {
	margin: 0 0 var(--sp-5);
	padding: 0;
	border: 0;
	min-width: 0;
}

.co-group + .co-group {
	padding-top: var(--sp-5);
	border-top: 1px solid rgba(255, 255, 255, 0.07);
}

.co-group__title {
	display: flex;
	align-items: center;
	gap: var(--sp-2);
	margin: 0 0 var(--sp-4);
	padding: 0;
	font-size: var(--fs-base);
	font-weight: var(--fw-bold);
	color: var(--gold-400);
}

.co-group__title .mst-icon {
	width: 20px;
	height: 20px;
}

.checkout-block input.input-text,
.checkout-block textarea,
.checkout-block .select2-container .select2-selection--single {
	border-color: rgba(255, 255, 255, 0.12);
	background: #0b0b0c;
}

.checkout-block input.input-text:focus,
.checkout-block textarea:focus {
	border-color: var(--gold-500);
	box-shadow: 0 0 0 3px rgba(var(--gold-rgb), 0.15);
}

.co-wa {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--sp-3);
	margin-top: var(--sp-4);
}

.co-wa__or {
	display: flex;
	align-items: center;
	gap: var(--sp-3);
	font-size: var(--fs-sm);
	color: var(--text-muted);
}

.co-wa__or::before,
.co-wa__or::after {
	content: "";
	flex: 1;
	height: 1px;
	background: rgba(255, 255, 255, 0.1);
}

.co-wa__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 54px;
	border: 1.5px solid #25d366;
	border-radius: 12px;
	background: linear-gradient(180deg, #1aa34a 0%, #128c3e 100%);
	color: #fff;
	font-family: var(--font-head);
	font-size: var(--fs-lg);
	font-weight: var(--fw-black);
	cursor: pointer;
	transition: filter var(--t-fast), box-shadow var(--t-fast);
}

.co-wa__btn:hover {
	filter: brightness(1.08);
	box-shadow: 0 12px 30px rgba(37, 211, 102, 0.25);
}

.co-wa__btn .mst-icon {
	width: 24px;
	height: 24px;
}

.co-wa__note {
	margin: 0;
	font-size: var(--fs-xs);
	text-align: center;
	color: var(--text-muted);
}

#place_order {
	border-radius: 12px;
	background: linear-gradient(180deg, #f7d469 0%, #e6b53a 55%, #d4a12a 100%) !important;
	color: #17130a !important;
	font-weight: var(--fw-black);
}

/* Single-country dropdown ("مصر") styled as a fixed field with the flag. */
#billing_country_field .woocommerce-input-wrapper {
	position: relative;
}

#billing_country_field .woocommerce-input-wrapper::before {
	content: "🇪🇬";
	position: absolute;
	inset-inline-start: 14px;
	top: 50%;
	z-index: 1;
	font-size: 20px;
	line-height: 1;
	transform: translateY(-50%);
	pointer-events: none;
}

#billing_country_field select,
#billing_country_field .select2-selection__rendered {
	padding-inline-start: 46px !important;
	-webkit-appearance: none;
	appearance: none;
	background-image: none;
	color: var(--text-primary);
	font-weight: var(--fw-semibold);
	pointer-events: none;
}

#billing_country_field .select2-selection__arrow {
	display: none;
}

/* Force the dark theme over WooCommerce's select2.css in every option state. */
.select2-container .select2-dropdown .select2-results__option {
	background: transparent !important;
	color: #e4e4e7 !important;
	outline: none !important;
	box-shadow: none !important;
}

.select2-container .select2-dropdown .select2-results__option[aria-selected="true"],
.select2-container .select2-dropdown .select2-results__option--selected {
	background: rgba(var(--gold-rgb), 0.1) !important;
	color: var(--gold-300) !important;
}

.select2-container .select2-dropdown .select2-results__option--highlighted,
.select2-container .select2-dropdown .select2-results__option:hover {
	background: rgba(var(--gold-rgb), 0.2) !important;
	color: #ffffff !important;
}
