/* سبد، تسویه، نتیجه‌ی پرداخت و پیگیری — فقط توکن‌های --tb-* */

/* ---------- مراحل خرید ---------- */

.tb-steps {
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-1);
	margin-block: var(--tb-space-2) var(--tb-space-3);
}

.tb-steps__mobile {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	font-size: var(--tb-fs-sm);
}

.tb-steps__mobile-label {
	font-weight: var(--tb-fw-bold);
}

.tb-steps__mobile-count {
	color: var(--tb-color-text-muted);
}

.tb-steps__list {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--tb-space-2);
	flex-wrap: wrap;
}

.tb-steps__item {
	display: flex;
	align-items: center;
	gap: var(--tb-space-1);
	font-size: 14px;
	color: var(--tb-color-text-muted);
}

.tb-steps__num {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: var(--tb-radius-sm);
	box-shadow: inset 0 0 0 1.5px var(--tb-color-line);
	font-size: 14px;
	font-weight: var(--tb-fw-bold);
}

.tb-steps__item.is-current {
	color: var(--tb-color-text);
	font-weight: var(--tb-fw-bold);
}

.tb-steps__item.is-current .tb-steps__num {
	background: var(--tb-color-brand);
	color: var(--tb-color-on-brand);
	box-shadow: none;
}

.tb-steps__item.is-done .tb-steps__num {
	background: var(--tb-color-brand-soft);
	color: var(--tb-color-brand-text);
	box-shadow: none;
}

.tb-steps__bar {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4px;
}

.tb-steps__bar span {
	height: 4px;
	border-radius: var(--tb-radius-sm);
	background: var(--tb-color-line);
}

.tb-steps__bar span.is-done {
	background: var(--tb-color-brand);
}

/* ---------- Cart ---------- */

.woocommerce-cart-form {
	background: var(--tb-color-surface);
	border-radius: var(--tb-radius);
	padding: var(--tb-space-2);
	margin-bottom: var(--tb-space-2);
}

.woocommerce-cart-form table.shop_table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-cart-form .shop_table thead {
	display: none;
}

.woocommerce-cart-form__cart-item td {
	padding-block: var(--tb-space-2);
	border-bottom: 1px solid var(--tb-color-line);
	vertical-align: middle;
}

.woocommerce-cart-form__cart-item td.product-remove a.remove {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: var(--tb-radius-sm);
	background: var(--tb-color-error-soft);
	color: var(--tb-color-error);
	text-decoration: none;
}

.woocommerce-cart-form__cart-item td.product-thumbnail img {
	width: 88px;
	height: 88px;
	object-fit: contain;
	border-radius: var(--tb-radius-sm);
	background: var(--tb-color-surface-2);
}

.woocommerce-cart-form__cart-item td.product-name a {
	color: var(--tb-color-text);
	font-weight: var(--tb-fw-semibold);
	line-height: 1.7;
	text-decoration: none;
}

.woocommerce-cart-form__cart-item td.product-price,
.woocommerce-cart-form__cart-item td.product-subtotal {
	font-family: var(--tb-font-num);
	font-feature-settings: var(--tb-num-features);
	font-weight: var(--tb-fw-price);
}

.woocommerce-cart-form .quantity input.qty {
	width: 64px;
	height: 40px;
	padding-inline: var(--tb-space-1);
	border: 0;
	border-radius: var(--tb-radius-sm);
	box-shadow: inset 0 0 0 1px var(--tb-color-line);
	background: var(--tb-color-surface);
	font-family: var(--tb-font-num);
	font-feature-settings: var(--tb-num-features);
	text-align: center;
}

.woocommerce-cart-form .actions {
	padding-top: var(--tb-space-2);
}

.woocommerce-cart-form .coupon {
	display: flex;
	gap: var(--tb-space-1);
	flex-wrap: wrap;
}

.woocommerce-cart-form .coupon .input-text {
	height: 40px;
	padding-inline: var(--tb-space-2);
	border: 0;
	border-radius: var(--tb-radius-sm);
	box-shadow: inset 0 0 0 1px var(--tb-color-line);
}

.cart_totals {
	background: var(--tb-color-surface);
	border-radius: var(--tb-radius);
	padding: var(--tb-space-3);
}

.cart_totals h2 {
	margin: 0 0 var(--tb-space-2);
	font-size: var(--tb-fs-h3);
	font-weight: var(--tb-fw-extrabold);
}

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

.cart_totals th,
.cart_totals td {
	padding-block: 6px;
	font-size: 14px;
	text-align: start;
}

.cart_totals td {
	text-align: end;
	font-family: var(--tb-font-num);
	font-feature-settings: var(--tb-num-features);
}

.cart_totals tr.order-total th,
.cart_totals tr.order-total td {
	border-top: 1px solid var(--tb-color-line);
	padding-top: var(--tb-space-2);
	font-size: 16px;
	font-weight: var(--tb-fw-bold);
}

.wc-proceed-to-checkout {
	padding-top: var(--tb-space-2);
}

.wc-proceed-to-checkout .checkout-button {
	width: 100%;
	height: var(--tb-btn-height);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--tb-btn-radius);
	background: var(--tb-btn-primary-bg);
	color: var(--tb-btn-primary-text);
	box-shadow: var(--tb-btn-primary-shadow);
	font-family: var(--tb-font);
	font-size: 16px;
	font-weight: var(--tb-fw-bold);
	text-decoration: none;
}

.woocommerce-cart .cart-empty {
	font-size: var(--tb-fs-h3);
	font-weight: var(--tb-fw-extrabold);
}

.woocommerce-cart .return-to-shop .button {
	margin-top: var(--tb-space-2);
}

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

.woocommerce-checkout form.checkout {
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-2);
}

.woocommerce-billing-fields,
.woocommerce-additional-fields,
#order_review {
	background: var(--tb-color-surface);
	border-radius: var(--tb-radius);
	padding: var(--tb-space-3);
}

.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
	margin: 0 0 var(--tb-space-2);
	font-size: var(--tb-fs-h3);
	font-weight: var(--tb-fw-extrabold);
}

.woocommerce-checkout .form-row {
	margin-bottom: var(--tb-space-2);
}

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

.woocommerce-checkout .form-row .required {
	color: var(--tb-color-error);
	text-decoration: none;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
	width: 100%;
	height: 48px;
	padding-inline: var(--tb-space-2);
	border: 0;
	border-radius: var(--tb-radius-sm);
	background: var(--tb-color-surface);
	box-shadow: inset 0 0 0 1px var(--tb-color-line);
	color: var(--tb-color-text);
	font-family: var(--tb-font);
	font-size: var(--tb-fs-body);
}

.woocommerce-checkout .form-row textarea {
	height: auto;
	min-height: 80px;
	padding-block: 12px;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	line-height: 48px;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	height: 48px;
}

.woocommerce-checkout .woocommerce-input-wrapper {
	display: block;
}

.woocommerce-checkout-review-order-table {
	width: 100%;
	border-collapse: collapse;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding-block: 10px;
	border-bottom: 1px solid var(--tb-color-line);
	text-align: start;
	font-size: 14px;
}

.woocommerce-checkout-review-order-table td {
	font-family: var(--tb-font-num);
	font-feature-settings: var(--tb-num-features);
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
	font-size: 16px;
	font-weight: var(--tb-fw-bold);
	border-bottom: 0;
}

#payment ul.wc_payment_methods {
	list-style: none;
	margin: 0 0 var(--tb-space-2);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-1);
}

#payment .wc_payment_method > input {
	position: absolute;
	opacity: 0;
}

#payment .wc_payment_method > label {
	display: flex;
	align-items: center;
	gap: var(--tb-space-2);
	padding: var(--tb-space-2);
	border-radius: var(--tb-radius-sm);
	box-shadow: inset 0 0 0 1px var(--tb-color-line);
	cursor: pointer;
	font-weight: var(--tb-fw-bold);
}

#payment .wc_payment_method > input:checked + label {
	box-shadow: inset 0 0 0 2px var(--tb-color-brand);
	background: var(--tb-color-brand-soft);
}

#payment .payment_box {
	padding: var(--tb-space-1) var(--tb-space-2);
	font-size: var(--tb-fs-sm);
	color: var(--tb-color-text-muted);
}

#payment .place-order {
	margin-top: var(--tb-space-2);
}

#payment #place_order {
	width: 100%;
	height: var(--tb-btn-height);
	border: 0;
	border-radius: var(--tb-btn-radius);
	background: var(--tb-btn-primary-bg);
	color: var(--tb-btn-primary-text);
	box-shadow: var(--tb-btn-primary-shadow);
	font-family: var(--tb-font);
	font-size: 16px;
	font-weight: var(--tb-fw-bold);
	cursor: pointer;
}

/* ---------- Notices ---------- */

.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
	position: relative;
	list-style: none;
	margin: 0 0 var(--tb-space-2);
	padding: 20px;
	border: 0;
	border-radius: var(--tb-radius);
	background: var(--tb-color-surface);
	box-shadow: inset 0 0 0 1px var(--tb-color-line);
	color: var(--tb-color-text);
	font-size: 15px;
	line-height: var(--tb-lh-body);
}

.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
	content: "";
	position: absolute;
	inset-inline-start: 20px;
	top: 24px;
	width: 9px;
	height: 9px;
	border-radius: 2px;
	background: var(--tb-color-brand);
}

.woocommerce-error::before {
	background: var(--tb-color-error);
}

.woocommerce-message::before {
	background: var(--tb-color-success);
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
	margin: 0;
	padding-inline-start: 24px;
	list-style: none;
}

.woocommerce-error a,
.woocommerce-message a,
.woocommerce-info a {
	color: inherit;
	font-weight: var(--tb-fw-bold);
}

/* ---------- Thank-you ---------- */

.tb-thankyou-page {
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-2);
}

.tb-thankyou {
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-2);
}

.tb-thankyou__title {
	margin: 0;
	font-size: var(--tb-fs-h1);
	font-weight: var(--tb-fw-extrabold);
	line-height: var(--tb-lh-h1);
}

.tb-thankyou__note {
	margin: 0;
	color: var(--tb-color-text-muted);
	font-size: var(--tb-fs-sm);
	line-height: var(--tb-lh-body);
}

.tb-thankyou__code {
	display: flex;
	align-items: center;
	gap: var(--tb-space-2);
	flex-wrap: wrap;
	padding: var(--tb-space-2) var(--tb-space-3);
	border-radius: var(--tb-radius-sm);
	background: var(--tb-color-brand-soft);
}

.tb-thankyou__code-label {
	font-size: var(--tb-fs-sm);
	color: var(--tb-color-brand-text);
}

.tb-thankyou__code-value {
	font-size: var(--tb-fs-h2);
	font-weight: var(--tb-fw-extrabold);
	color: var(--tb-color-brand-text);
}

.tb-thankyou__rows {
	display: flex;
	flex-direction: column;
}

.tb-thankyou__row {
	display: flex;
	justify-content: space-between;
	gap: var(--tb-space-2);
	padding-block: 10px;
	border-bottom: 1px solid var(--tb-color-line);
	font-size: 14px;
}

.tb-thankyou__row > span {
	color: var(--tb-color-text-muted);
}

.tb-thankyou__actions {
	display: flex;
	gap: var(--tb-space-1);
	flex-wrap: wrap;
	padding-top: var(--tb-space-1);
}

.tb-thankyou__items-title {
	margin: 0 0 var(--tb-space-1);
	font-size: var(--tb-fs-h3);
	font-weight: var(--tb-fw-extrabold);
}

.tb-thankyou__item {
	display: flex;
	align-items: center;
	gap: var(--tb-space-2);
	flex-wrap: wrap;
	padding-block: 10px;
	border-bottom: 1px solid var(--tb-color-line);
	font-size: 14px;
}

.tb-thankyou__item-name {
	flex: 1 1 auto;
	font-weight: var(--tb-fw-semibold);
}

.tb-thankyou__item-qty,
.tb-thankyou__item-tracking {
	color: var(--tb-color-text-muted);
	font-size: var(--tb-fs-sm);
}

/* ---------- Track ---------- */

.tb-track__wrap {
	max-width: 560px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-2);
}

.tb-track__title {
	margin: 0;
	font-size: var(--tb-fs-h1);
	font-weight: var(--tb-fw-extrabold);
	line-height: var(--tb-lh-h1);
}

.tb-track__intro {
	margin: 0;
	color: var(--tb-color-text-muted);
	font-size: var(--tb-fs-body);
	line-height: var(--tb-lh-body);
}

.tb-track__form {
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-1);
}

.tb-track__form .tb-btn {
	align-self: flex-start;
}

.tb-track__error {
	background: var(--tb-color-error-soft);
	color: var(--tb-color-error);
	border-radius: var(--tb-radius-sm);
	padding: var(--tb-space-2) var(--tb-space-3);
	font-size: var(--tb-fs-sm);
	line-height: var(--tb-lh-sm);
}

.tb-track__result {
	display: flex;
	flex-direction: column;
	gap: var(--tb-space-2);
}

.tb-track__result-title {
	margin: 0;
	font-size: var(--tb-fs-h3);
	font-weight: var(--tb-fw-extrabold);
}

.tb-track__status {
	display: flex;
	gap: var(--tb-space-1);
	margin: 0;
	font-size: var(--tb-fs-body);
	color: var(--tb-color-text-muted);
}

.tb-track__status strong {
	color: var(--tb-color-brand-text);
}

.tb-track__items {
	display: flex;
	flex-direction: column;
}

.tb-track__item {
	display: flex;
	align-items: center;
	gap: var(--tb-space-2);
	flex-wrap: wrap;
	padding-block: 10px;
	border-bottom: 1px solid var(--tb-color-line);
	font-size: 14px;
}

.tb-track__item-name {
	flex: 1 1 auto;
	font-weight: var(--tb-fw-semibold);
}

.tb-track__item-qty,
.tb-track__item-tracking {
	color: var(--tb-color-text-muted);
	font-size: var(--tb-fs-sm);
}

.tb-track__item-status {
	color: var(--tb-color-brand-text);
	font-size: var(--tb-fs-sm);
	font-weight: var(--tb-fw-semibold);
}

.tb-track__note {
	margin: 0;
	color: var(--tb-color-info);
	font-size: var(--tb-fs-sm);
	line-height: var(--tb-lh-sm);
}

/* ---------- Desktop ---------- */

@media (min-width: 768px) {
	.tb-steps__mobile {
		display: none;
	}

	.tb-steps__list {
		display: flex;
	}

	.tb-steps__bar {
		display: none;
	}
}

@media (min-width: 1024px) {
	.woocommerce-cart > .woocommerce {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 360px;
		gap: var(--tb-space-4);
		align-items: start;
	}

	.woocommerce-cart-form {
		margin-bottom: 0;
	}

	.cart_totals {
		position: sticky;
		top: 88px;
	}

	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 420px;
		gap: var(--tb-space-4);
		align-items: start;
	}

	#customer_details {
		display: flex;
		flex-direction: column;
		gap: var(--tb-space-2);
	}

	#order_review {
		position: sticky;
		top: 88px;
	}
}

@media (max-width: 767px) {
	#payment .place-order {
		position: static;
		margin-top: var(--tb-space-2);
		padding: 0;
		background: transparent;
		box-shadow: none;
	}

	.woocommerce-privacy-policy-text {
		color: var(--tb-color-text-muted);
		font-size: var(--tb-fs-sm);
		line-height: var(--tb-lh-body);
	}
}

/* ---------- Cart tables on mobile (WooCommerce smallscreen replacement) ---------- */

@media (max-width: 767px) {
	.woocommerce-cart-form table.shop_table_responsive,
	.woocommerce-cart-form table.shop_table_responsive tbody,
	.woocommerce-cart-form table.shop_table_responsive tr,
	.woocommerce-cart-form table.shop_table_responsive td {
		display: block;
		width: 100%;
	}

	.woocommerce-cart-form table.shop_table_responsive tr {
		position: relative;
		padding-block: var(--tb-space-2);
		border-bottom: 1px solid var(--tb-color-line);
	}

	.woocommerce-cart-form table.shop_table_responsive td {
		padding: 4px 0;
		border: 0;
		text-align: start;
	}

	.woocommerce-cart-form table.shop_table_responsive td::before {
		content: attr(data-title);
		display: inline-block;
		min-width: 90px;
		color: var(--tb-color-text-muted);
		font-size: var(--tb-fs-sm);
	}

	.woocommerce-cart-form table.shop_table_responsive td.product-remove {
		position: absolute;
		top: var(--tb-space-2);
		inset-inline-end: 0;
		width: auto;
		padding: 0;
	}

	.woocommerce-cart-form table.shop_table_responsive td.product-remove::before,
	.woocommerce-cart-form table.shop_table_responsive td.product-name::before {
		display: none;
	}

	.woocommerce-cart-form table.shop_table_responsive td.product-thumbnail {
		display: none;
	}

	.woocommerce-cart-form table.shop_table_responsive td.product-name {
		padding-inline-end: 40px;
		font-weight: var(--tb-fw-semibold);
	}

	.woocommerce-cart-form table.shop_table_responsive td.product-quantity .quantity {
		display: inline-block;
		vertical-align: middle;
	}

	.woocommerce-cart-form table.shop_table_responsive td.product-subtotal {
		font-weight: var(--tb-fw-bold);
	}
}

/* WooCommerce buttons that lived in the removed stylesheet. */

.woocommerce-cart-form .coupon .button,
.woocommerce-cart-form .actions .button {
	height: 40px;
	padding-inline: var(--tb-space-2);
	border: 0;
	border-radius: var(--tb-radius-sm);
	background: var(--tb-color-brand-soft);
	color: var(--tb-color-brand-text);
	font-family: var(--tb-font);
	font-size: var(--tb-fs-sm);
	font-weight: var(--tb-fw-bold);
	cursor: pointer;
}

.woocommerce-cart-form .actions .button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
	display: inline-flex;
	align-items: center;
	height: 36px;
	padding-inline: var(--tb-space-2);
	border-radius: var(--tb-radius-sm);
	background: var(--tb-color-surface);
	color: inherit;
	font-weight: var(--tb-fw-bold);
	text-decoration: none;
}

.cart_totals th {
	white-space: nowrap;
}
