/**
 * نِکست‌شاپ — سبد خرید و تسویه حساب
 */

body.nextshop-checkout-page,
body.nextshop-cart-page {
	--co-accent: var(--ns-primary);
	--co-accent-hover: var(--ns-primary-dark);
	--co-accent-soft: var(--ns-primary-soft);
	--co-success: #059669;
	--co-success-soft: rgba(5, 150, 105, 0.1);
	--co-bg: #f0f2f7;
	--co-card: #ffffff;
	--co-border: #e4e9f0;
	--co-text: var(--ns-text);
	--co-muted: var(--ns-secondary);
	--co-radius: 16px;
	--co-radius-sm: 10px;
	--co-shadow: 0 8px 32px rgba(15, 23, 42, 0.07);
	--co-shadow-lg: 0 16px 48px rgba(15, 23, 42, 0.1);
	background: var(--co-bg) !important;
}

body.nextshop-checkout-page .nextshop-page-wrapper,
body.nextshop-cart-page .nextshop-page-wrapper {
	max-width: 1180px;
	margin-top: 1.25rem;
	margin-bottom: 3rem;
	padding: 0 1rem;
	background: transparent;
	border: none;
	box-shadow: none;
}

body.nextshop-checkout-page .nextshop-page-header,
body.nextshop-cart-page .nextshop-page-header {
	display: none;
}

body.nextshop-checkout-page .nextshop-page-content,
body.nextshop-cart-page .nextshop-page-content {
	font-size: 0.95rem;
	line-height: 1.65;
	color: var(--co-text);
}

/* ─── مراحل خرید ─── */
.nextshop-cart-steps--modern {
	margin-bottom: 1.5rem;
}

.nextshop-cart-steps--modern ol {
	display: flex;
	align-items: stretch;
	list-style: none;
	margin: 0;
	padding: 0.4rem;
	gap: 0;
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
	overflow: hidden;
}

.nextshop-cart-steps--modern .nextshop-step {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	min-width: 0;
}

.nextshop-cart-steps--modern .nextshop-step-link,
.nextshop-cart-steps--modern .nextshop-step-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.6rem;
	width: 100%;
	padding: 0.9rem 0.65rem;
	text-decoration: none;
	color: var(--co-muted);
	transition: color 0.2s, background 0.2s;
}

.nextshop-cart-steps--modern .nextshop-step-link:hover {
	color: var(--co-accent);
	background: var(--co-accent-soft);
}

.nextshop-cart-steps--modern .nextshop-step-num {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 2px solid currentColor;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.78rem;
	font-weight: 700;
	flex-shrink: 0;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.nextshop-cart-steps--modern .nextshop-step-label {
	font-size: 0.88rem;
	font-weight: 600;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.nextshop-cart-steps--modern .nextshop-step.is-active .nextshop-step-link,
.nextshop-cart-steps--modern .nextshop-step.is-active .nextshop-step-inner {
	color: var(--co-accent);
}

.nextshop-cart-steps--modern .nextshop-step.is-active .nextshop-step-num {
	background: var(--co-accent);
	border-color: var(--co-accent);
	color: #fff;
}

.nextshop-cart-steps--modern .nextshop-step.is-done .nextshop-step-link,
.nextshop-cart-steps--modern .nextshop-step.is-done .nextshop-step-inner {
	color: var(--co-success);
}

.nextshop-cart-steps--modern .nextshop-step.is-done .nextshop-step-num {
	background: var(--co-success);
	border-color: var(--co-success);
	color: #fff;
}

.nextshop-cart-steps--modern .nextshop-step-sep {
	display: none;
}

.nextshop-cart-steps--modern .nextshop-step:not(:last-child)::after {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 38%;
	background: var(--co-border);
}

/* ورود در چک‌اوت */
.nextshop-checkout-page .woocommerce-form-login-toggle,
.nextshop-checkout-page .woocommerce-form-login {
	margin-bottom: 1rem;
}

.nextshop-checkout-page .woocommerce-form-login {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
	padding: 1.25rem 1.5rem;
}

/* ─── چیدمان چک‌اوت ─── */
.nextshop-checkout-form {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}

.nextshop-checkout-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 1.5rem;
	align-items: start;
}

.nextshop-checkout-main {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
}

/* کد تخفیف */
.nextshop-checkout-coupon {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
	overflow: hidden;
}

.nextshop-checkout-coupon.has-applied-coupon {
	border-color: rgba(5, 150, 105, 0.35);
}

.nextshop-checkout-coupon.has-applied-coupon .nextshop-checkout-coupon__icon {
	background: var(--co-success-soft, rgba(5, 150, 105, 0.12));
	color: var(--co-success, #059669);
}

.nextshop-checkout-coupon__toggle {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	width: 100%;
	padding: 0.85rem 1.1rem;
	border: none;
	background: linear-gradient(135deg, #ffffff 0%, #fafbfc 100%);
	font-family: inherit;
	color: var(--co-text);
	cursor: pointer;
	text-align: right;
	transition: background 0.15s;
}

.nextshop-checkout-coupon__toggle:hover {
	background: #fff8f9;
}

.nextshop-checkout-coupon.is-open .nextshop-checkout-coupon__toggle {
	border-bottom: 1px solid var(--co-border);
	background: #fff;
}

.nextshop-checkout-coupon__icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: var(--co-accent-soft);
	color: var(--co-accent);
	font-size: 1rem;
}

.nextshop-checkout-coupon__toggle-text {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
}

body.nextshop-checkout-page .nextshop-page-content .nextshop-checkout-coupon__title {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 800;
	color: var(--co-text);
	line-height: 1.35;
}

.nextshop-checkout-coupon__hint {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--co-muted);
	line-height: 1.4;
}

.nextshop-checkout-coupon.has-applied-coupon .nextshop-checkout-coupon__hint {
	color: var(--co-success, #059669);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.nextshop-checkout-coupon__chevron {
	flex-shrink: 0;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	background: #f1f5f9;
	color: var(--co-muted);
	font-size: 0.7rem;
	transition: transform 0.2s ease, background 0.15s, color 0.15s;
}

.nextshop-checkout-coupon.is-open .nextshop-checkout-coupon__chevron {
	transform: rotate(180deg);
	background: var(--co-accent-soft);
	color: var(--co-accent);
}

.nextshop-checkout-coupon__panel {
	padding: 0.85rem 1.1rem 1rem;
	background: #fafbfc;
}

.nextshop-checkout-coupon__panel[hidden] {
	display: none;
}

.nextshop-checkout-coupon__applied-list {
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.nextshop-checkout-coupon__applied-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.45rem 0.35rem 0.65rem;
	border-radius: 999px;
	background: #fff;
	border: 1px dashed var(--co-success, #059669);
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--co-success, #059669);
}

.nextshop-checkout-coupon__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	color: var(--co-muted);
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}

.nextshop-checkout-coupon__remove:hover {
	background: #fee2e2;
	color: #b91c1c;
}

.nextshop-checkout-coupon__form {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.55rem 0.65rem;
	margin: 0;
}

.nextshop-checkout-coupon__field {
	flex: 1;
	min-width: 140px;
}

.nextshop-checkout-coupon__label {
	display: block;
	margin-bottom: 0.3rem;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--co-muted);
}

.nextshop-checkout-coupon__form .nextshop-checkout-input {
	width: 100%;
	margin: 0;
}

.nextshop-btn-coupon {
	flex-shrink: 0;
	min-height: 44px;
	padding: 0.65rem 1.15rem !important;
	background: var(--co-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--co-radius-sm) !important;
	font-family: inherit !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.2s;
}

.nextshop-btn-coupon:hover {
	background: var(--co-accent-hover) !important;
}

@media (max-width: 480px) {
	.nextshop-checkout-coupon__form {
		flex-direction: column;
		align-items: stretch;
	}

	.nextshop-btn-coupon {
		width: 100%;
	}
}

/* بخش‌های فرم */
.nextshop-checkout-section {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
	padding: 1.35rem 1.5rem;
}

.nextshop-checkout-section__head {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--co-border);
}

.nextshop-checkout-section__icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--co-accent-soft);
	color: var(--co-accent);
	font-size: 1.1rem;
}

.nextshop-checkout-section__title {
	margin: 0 0 0.25rem;
	font-size: 1.05rem;
	font-weight: 800;
	color: var(--co-text);
}

.nextshop-checkout-section__desc {
	margin: 0;
	font-size: 0.85rem;
	color: var(--co-muted);
}

.nextshop-checkout-fields-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
}

.nextshop-checkout-fields-grid .form-row-wide {
	grid-column: 1 / -1;
}

.nextshop-checkout-field label {
	font-weight: 600;
	font-size: 0.85rem;
	color: var(--co-muted);
	margin-bottom: 0.35rem;
}

.nextshop-checkout-input,
.nextshop-checkout-page form.checkout .form-row input.input-text,
.nextshop-checkout-page form.checkout .form-row textarea,
.nextshop-checkout-page form.checkout .form-row select {
	width: 100%;
	border-radius: var(--co-radius-sm) !important;
	border: 1px solid var(--co-border) !important;
	padding: 0.72rem 0.95rem !important;
	font-family: inherit !important;
	font-size: 0.92rem !important;
	background: #fafbfc !important;
	transition: border-color 0.2s, box-shadow 0.2s, background 0.2s !important;
}

.nextshop-checkout-input:focus,
.nextshop-checkout-page form.checkout .form-row input.input-text:focus,
.nextshop-checkout-page form.checkout .form-row textarea:focus,
.nextshop-checkout-page form.checkout .form-row select:focus {
	border-color: var(--co-accent) !important;
	box-shadow: 0 0 0 3px var(--co-accent-soft) !important;
	background: #fff !important;
	outline: none !important;
}

.nextshop-checkbox {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	cursor: pointer;
	font-weight: 600;
	color: var(--co-text);
}

.nextshop-ship-toggle {
	margin-bottom: 1rem !important;
}

.nextshop-checkout-account {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px dashed var(--co-border);
}

/* سایدبار خلاصه سفارش */
.nextshop-checkout-aside {
	min-width: 0;
}

.nextshop-checkout-sticky {
	position: sticky;
	top: 1.25rem;
}

.nextshop-order-summary-card {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow-lg);
	overflow: hidden;
}

.nextshop-order-summary-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 1rem 1.25rem;
	background: linear-gradient(135deg, #ffffff 0%, #fff5f6 100%);
	border-bottom: 1px solid var(--co-border);
	color: var(--co-text);
}

/* غلبه بر .nextshop-page-content h2 { color: #1f2937 } در main.css */
body.nextshop-checkout-page .nextshop-page-content .nextshop-order-summary-card__title,
body.nextshop-cart-page .nextshop-page-content .nextshop-order-summary-card__title {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 800;
	color: var(--co-text);
	display: flex;
	align-items: center;
	gap: 0.65rem;
	line-height: 1.35;
}

.nextshop-order-summary-card__title i {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--co-accent-soft);
	color: var(--co-accent);
	font-size: 1rem;
	opacity: 1;
}

.nextshop-order-summary-toggle {
	display: none;
	align-items: center;
	gap: 0.35rem;
	padding: 0.4rem 0.7rem;
	border: 1px solid var(--co-border);
	border-radius: 8px;
	background: #fff;
	color: var(--co-text);
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.15s ease, color 0.15s ease;
}

.nextshop-order-summary-toggle:hover {
	border-color: var(--co-accent);
	color: var(--co-accent);
}

.nextshop-order-summary-card__body {
	padding: 1rem 1.25rem 1.25rem;
}

/* آکوردیون لیست محصولات (مرحله آدرس و پرداخت) */
.nextshop-review-order__items-accordion {
	margin: 0 0 1rem;
	border: 1px solid var(--co-border, #e2e8f0);
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
}

.nextshop-review-order__items-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	padding: 0.75rem 1rem;
	border: none;
	background: var(--co-bg-soft, #f8fafc);
	font-family: inherit;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--co-text, #1e293b);
	cursor: pointer;
	text-align: right;
}

.nextshop-review-order__items-toggle-label {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.nextshop-review-order__items-toggle-label i {
	color: var(--co-accent, #dc2626);
}

.nextshop-review-order__items-toggle-icon {
	font-size: 0.75rem;
	color: var(--co-muted, #64748b);
	transition: transform 0.2s ease;
}

.nextshop-review-order__items-accordion:not(.is-collapsed) .nextshop-review-order__items-toggle-icon {
	transform: rotate(180deg);
}

.nextshop-review-order__items-panel {
	border-top: 1px solid var(--co-border, #e2e8f0);
}

.nextshop-review-order__items-panel[hidden] {
	display: none;
}

.nextshop-review-order__items-accordion .nextshop-review-order__items {
	margin: 0;
	max-height: 240px;
	padding: 0 0.65rem;
}

/* آیتم‌های سفارش */
.nextshop-review-order__items {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	max-height: 280px;
	overflow-y: auto;
}

.nextshop-review-order--items-accordion > .nextshop-review-order__items {
	margin-bottom: 0;
}

.nextshop-review-order__item {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 0.75rem;
	align-items: start;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--co-border);
}

.nextshop-review-order__item:last-child {
	border-bottom: none;
}

.nextshop-review-order__thumb img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--co-border);
}

.nextshop-review-order__name {
	display: block;
	font-weight: 600;
	font-size: 0.88rem;
	color: var(--co-text);
	line-height: 1.4;
}

.nextshop-review-order__qty {
	display: block;
	font-size: 0.78rem;
	color: var(--co-muted);
	margin-top: 0.2rem;
}

.nextshop-review-order__price {
	font-weight: 700;
	font-size: 0.88rem;
	color: var(--co-text);
	white-space: nowrap;
}

.nextshop-review-order__totals {
	width: 100%;
	border: none;
	border-collapse: collapse;
	margin: 0;
}

.nextshop-review-order__totals th,
.nextshop-review-order__totals td {
	padding: 0.5rem 0;
	border: none;
	font-size: 0.88rem;
	vertical-align: middle;
}

.nextshop-review-order__totals th {
	font-weight: 600;
	color: var(--co-muted);
	text-align: right;
}

.nextshop-review-order__totals td {
	text-align: left;
	font-weight: 600;
	color: var(--co-text);
}

.nextshop-review-order__totals tr.order-total th,
.nextshop-review-order__totals tr.order-total td {
	padding-top: 0.85rem;
	border-top: 2px solid var(--co-border);
	font-size: 1rem;
}

.nextshop-review-order__totals tr.order-total td {
	color: var(--co-accent);
	font-weight: 800;
	font-size: 1.1rem;
}

/* پرداخت — ستون راست (main) */
.nextshop-checkout-main .nextshop-checkout-payment {
	margin-top: 0;
	padding: 1.15rem 1.25rem 1.25rem;
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
}

/* اگر داخل خلاصه سفارش باقی ماند (AJAX fragment قدیمی) */
.nextshop-order-summary-card__body .nextshop-checkout-payment {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--co-border);
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	border-left: none;
	border-right: none;
	border-bottom: none;
}

.nextshop-checkout-payment__head {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-bottom: 1rem;
}

.nextshop-checkout-payment__title {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--co-text);
}

.nextshop-checkout-payment .nextshop-checkout-section__icon {
	width: 36px;
	height: 36px;
	font-size: 0.95rem;
}

.nextshop-payment-methods {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
}

.nextshop-payment-method {
	border: 2px solid var(--co-border);
	border-radius: var(--co-radius-sm);
	margin-bottom: 0.5rem;
	padding: 0;
	background: #fafbfc;
	transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
	overflow: hidden;
}

/* فقط رادیوی payment_method (نه رادیوهای طرح اقساط داخل payment_box) */
.nextshop-payment-method.is-selected,
.nextshop-payment-method:has(> input.input-radio:checked) {
	border-color: var(--co-accent);
	background: var(--co-accent-soft);
	box-shadow: 0 0 0 1px rgba(239, 57, 78, 0.15);
}

.nextshop-payment-method > input.input-radio {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}

.nextshop-payment-method__label {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.9rem 1rem;
	cursor: pointer;
	margin: 0;
	font-weight: 600;
	color: var(--co-text);
}

.nextshop-payment-method__radio {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 2px solid var(--co-border);
	flex-shrink: 0;
	position: relative;
	background: #fff;
	transition: border-color 0.2s, background 0.2s;
}

.nextshop-payment-method.is-selected .nextshop-payment-method__radio,
.nextshop-payment-method:has(> input.input-radio:checked) .nextshop-payment-method__radio {
	border-color: var(--co-accent);
	background: var(--co-accent);
}

.nextshop-payment-method.is-selected .nextshop-payment-method__radio::after,
.nextshop-payment-method:has(> input.input-radio:checked) .nextshop-payment-method__radio::after {
	content: '';
	position: absolute;
	inset: 5px;
	background: #fff;
	border-radius: 50%;
}

.nextshop-payment-method__text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1;
	gap: 0.5rem;
}

.nextshop-gateway-icon {
	color: var(--co-accent);
	font-size: 1.2rem;
}

.nextshop-payment-method .payment_box {
	display: none;
	padding: 0 1rem 1rem;
	font-size: 0.85rem;
	color: var(--co-muted);
}

.nextshop-payment-method.is-selected .payment_box,
.nextshop-payment-method:has(> input.input-radio:checked) .payment_box {
	display: block;
}

.nextshop-review-order__grand-total th,
.nextshop-review-order__grand-total td {
	font-size: 0.88rem;
	color: var(--co-muted);
	padding-bottom: 0.35rem !important;
}

.nextshop-review-order__totals tr.order-total--installment th,
.nextshop-review-order__totals tr.order-total--installment td {
	color: var(--co-accent);
}

.nextshop-installment-plans .form-row {
	margin-bottom: 0.65rem;
}

.nextshop-installment-plans input[type='radio'] {
	position: static;
	opacity: 1;
	width: auto;
	height: auto;
	pointer-events: auto;
	margin-left: 0.35rem;
}

.nextshop-place-order {
	margin: 0;
	padding: 0;
}

.nextshop-place-order-btn,
.nextshop-checkout-page #place_order {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	background: var(--co-accent) !important;
	border: none !important;
	border-radius: var(--co-radius-sm) !important;
	font-weight: 800 !important;
	font-size: 1rem !important;
	padding: 1rem 1.5rem !important;
	min-height: 52px;
	color: #fff !important;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s !important;
	box-shadow: 0 4px 14px rgba(239, 57, 78, 0.35);
}

.nextshop-place-order-btn:hover,
.nextshop-checkout-page #place_order:hover {
	background: var(--co-accent-hover) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(239, 57, 78, 0.4);
}

.nextshop-checkout-page .woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 0.85rem;
	font-size: 0.82rem;
	color: var(--co-muted);
}

/* صفحه تشکر */
.nextshop-thankyou {
	max-width: 640px;
	margin: 0 auto;
}

.nextshop-thankyou__card {
	text-align: center;
	padding: 2rem 1.75rem;
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow-lg);
	margin-bottom: 1.5rem;
}

.nextshop-thankyou__card--success {
	border-color: rgba(5, 150, 105, 0.3);
	background: linear-gradient(180deg, #ffffff 0%, #f0fdf4 100%);
}

.nextshop-thankyou__card--error {
	border-color: rgba(239, 57, 78, 0.3);
	background: linear-gradient(180deg, #ffffff 0%, #fff5f6 100%);
}

.nextshop-thankyou__icon {
	font-size: 3.5rem;
	margin-bottom: 0.75rem;
}

.nextshop-thankyou__card--success .nextshop-thankyou__icon {
	color: var(--co-success);
}

.nextshop-thankyou__card--error .nextshop-thankyou__icon {
	color: var(--co-accent);
}

.nextshop-thankyou__title {
	margin: 0 0 0.5rem;
	font-size: 1.35rem;
	font-weight: 800;
	color: var(--co-text);
}

.nextshop-thankyou__text {
	margin: 0;
	font-size: 0.92rem;
	color: var(--co-muted);
}

.nextshop-thankyou__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	list-style: none;
	margin: 0 0 1.5rem;
	padding: 0;
}

.nextshop-thankyou__details li {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1rem;
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius-sm);
	box-shadow: var(--co-shadow);
}

.nextshop-thankyou__label {
	font-size: 0.78rem;
	color: var(--co-muted);
	font-weight: 600;
}

.nextshop-thankyou__details strong {
	font-size: 0.95rem;
	color: var(--co-text);
}

.nextshop-thankyou__total {
	color: var(--co-accent) !important;
	font-size: 1.05rem !important;
}

.nextshop-thankyou__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
}

.nextshop-thankyou__btn {
	background: var(--co-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--co-radius-sm) !important;
	font-weight: 700 !important;
	padding: 0.75rem 1.5rem !important;
	text-decoration: none !important;
}

.nextshop-thankyou__btn--outline {
	background: transparent !important;
	color: var(--co-accent) !important;
	border: 2px solid var(--co-accent) !important;
}

/* چک‌اوت بلوکی */
.nextshop-checkout-page.nextshop-checkout-block .wp-block-woocommerce-checkout,
.nextshop-checkout-page .wc-block-checkout {
	font-family: var(--nextshop-font-family, Vazirmatn, Tahoma, sans-serif);
	padding: 0;
}

.nextshop-checkout-page .wc-block-checkout__main {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
	padding: 1.5rem 1.75rem !important;
}

.nextshop-checkout-page .wc-block-checkout__sidebar {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow-lg);
	padding: 1.25rem 1.5rem !important;
}

.nextshop-checkout-page .wc-block-components-checkout-step__title,
.nextshop-checkout-page .wc-block-components-title {
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: var(--co-text) !important;
	margin-bottom: 1rem !important;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--co-accent-soft);
}

.nextshop-checkout-page .wc-block-components-text-input input,
.nextshop-checkout-page .wc-block-components-text-input textarea,
.nextshop-checkout-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.nextshop-checkout-page .wc-block-components-select select {
	border-radius: var(--co-radius-sm) !important;
	border-color: var(--co-border) !important;
	font-family: inherit !important;
	font-size: 0.95rem !important;
	padding: 0.75rem 1rem !important;
	transition: border-color 0.2s, box-shadow 0.2s !important;
}

.nextshop-checkout-page .wc-block-components-text-input input:focus,
.nextshop-checkout-page .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.nextshop-checkout-page .wc-block-components-select select:focus {
	border-color: var(--co-accent) !important;
	box-shadow: 0 0 0 3px var(--co-accent-soft) !important;
	outline: none !important;
}

.nextshop-checkout-page .wc-block-components-radio-control__option {
	border: 2px solid var(--co-border) !important;
	border-radius: var(--co-radius-sm) !important;
	padding: 0.85rem 1rem !important;
	margin-bottom: 0.5rem !important;
	transition: border-color 0.2s, background 0.2s !important;
}

.nextshop-checkout-page .wc-block-components-radio-control__option-checked,
.nextshop-checkout-page .wc-block-components-radio-control__option:hover {
	border-color: var(--co-accent) !important;
	background: var(--co-accent-soft) !important;
}

.nextshop-checkout-page .wc-block-components-checkout-place-order-button .wc-block-components-button {
	background: var(--co-accent) !important;
	border: none !important;
	border-radius: var(--co-radius-sm) !important;
	font-weight: 700 !important;
	font-size: 1rem !important;
	padding: 1rem 1.5rem !important;
	min-height: 52px;
	box-shadow: 0 4px 14px rgba(239, 57, 78, 0.35);
	transition: background 0.2s, transform 0.15s !important;
}

.nextshop-checkout-page .wc-block-components-checkout-place-order-button .wc-block-components-button:hover {
	background: var(--co-accent-hover) !important;
	transform: translateY(-1px);
}

.nextshop-checkout-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.15rem !important;
	font-weight: 800 !important;
	color: var(--co-accent) !important;
}

.nextshop-checkout-page .wc-block-components-notice-banner {
	border-radius: var(--co-radius-sm) !important;
}

/* ─── سبد خرید — مرحله ۱ ─── */
body.nextshop-cart-page .nextshop-page-wrapper {
	margin-top: 0.75rem;
}

body.nextshop-cart-page .woocommerce {
	clear: both;
}

body.nextshop-cart-page .nextshop-cart-layout {
	display: flex !important;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 1.35rem;
	width: 100%;
}

body.nextshop-cart-page .nextshop-cart-layout::before,
body.nextshop-cart-page .nextshop-cart-layout::after {
	display: none;
}

/* RTL: محصولات راست (عریض) | جمع کل چپ (باریک ~۳۶۰px) */
body.nextshop-cart-page .woocommerce-cart-form {
	flex: 1 1 auto;
	order: 1;
	min-width: 0;
	max-width: none;
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
	padding: 0;
	overflow: hidden;
	float: none !important;
	width: auto !important;
}

body.nextshop-cart-page .cart-collaterals {
	flex: 0 0 clamp(280px, 32%, 380px);
	width: clamp(280px, 32%, 380px);
	min-width: 280px;
	max-width: 380px;
	order: 2;
	float: none !important;
	clear: none !important;
}

body.nextshop-cart-page .cart-collaterals .cart_totals {
	float: none !important;
	width: 100% !important;
}

body.nextshop-cart-page .cart_totals {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow-lg);
	padding: 0;
	overflow: hidden;
	position: sticky;
	top: 1rem;
}

body.nextshop-cart-page .cart_totals > h2 {
	margin: 0;
	padding: 1rem 1.2rem;
	font-size: 1rem;
	font-weight: 800;
	color: var(--co-text);
	background: linear-gradient(135deg, #ffffff 0%, #fff5f6 100%);
	border-bottom: 1px solid var(--co-border);
}

body.nextshop-cart-page .cart_totals table {
	margin: 0;
	border: none !important;
	width: 100%;
}

body.nextshop-cart-page .cart_totals table th,
body.nextshop-cart-page .cart_totals table td {
	border: none !important;
	padding: 0.65rem 1.2rem !important;
	font-size: 0.9rem;
}

body.nextshop-cart-page .cart_totals .order-total th,
body.nextshop-cart-page .cart_totals .order-total td {
	padding-top: 0.85rem !important;
	padding-bottom: 1rem !important;
	border-top: 1px dashed var(--co-border) !important;
}

body.nextshop-cart-page .cart_totals .order-total .woocommerce-Price-amount {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--co-accent);
}

body.nextshop-cart-page .wc-proceed-to-checkout {
	padding: 0 1.2rem 1.2rem;
	margin: 0;
}

body.nextshop-cart-page .nextshop-cart-checkout-btn {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	width: 100% !important;
	min-height: 52px;
	padding: 0.95rem 1.25rem !important;
	background: var(--co-accent) !important;
	color: #fff !important;
	border: none !important;
	border-radius: var(--co-radius-sm) !important;
	font-family: inherit !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: 0 6px 20px rgba(239, 57, 78, 0.32);
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}

body.nextshop-cart-page .nextshop-cart-checkout-btn:hover {
	background: var(--co-accent-hover) !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 24px rgba(239, 57, 78, 0.38);
}

body.nextshop-cart-page .nextshop-cart-checkout-btn__icon {
	font-size: 0.85rem;
	opacity: 0.95;
}

/* جدول محصولات — سه ستون: محصول | تعداد | مجموع (RTL) */
body.nextshop-cart-page table.nextshop-cart-table {
	border: none !important;
	margin: 0 !important;
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
}

body.nextshop-cart-page table.nextshop-cart-table thead {
	background: #fafbfc;
	border-bottom: 1px solid var(--co-border);
}

body.nextshop-cart-page table.nextshop-cart-table thead th {
	border: none !important;
	padding: 0.85rem 1.25rem !important;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--co-muted);
	text-align: right;
}

body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-product {
	width: auto;
}

body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-qty {
	width: 130px;
	text-align: center;
}

body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-subtotal {
	width: 140px;
	text-align: left;
}

body.nextshop-cart-page table.nextshop-cart-table tbody tr.cart_item {
	border-bottom: 1px solid var(--co-border);
	transition: background 0.15s;
}

body.nextshop-cart-page table.nextshop-cart-table tbody tr.cart_item:hover {
	background: #fafbfd;
}

body.nextshop-cart-page table.nextshop-cart-table tbody td {
	border: none !important;
	padding: 1.15rem 1.25rem !important;
	vertical-align: middle !important;
}

body.nextshop-cart-page .nextshop-cart-product {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	min-width: 0;
}

body.nextshop-cart-page .nextshop-cart-product__thumb {
	display: block;
	flex-shrink: 0;
}

body.nextshop-cart-page .nextshop-cart-product__thumb img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 12px;
	border: 1px solid var(--co-border);
	background: #f8fafc;
}

body.nextshop-cart-page .nextshop-cart-product__body {
	flex: 1;
	min-width: 0;
}

body.nextshop-cart-page .nextshop-cart-product__title {
	font-size: 0.92rem;
	line-height: 1.55;
	font-weight: 700;
}

body.nextshop-cart-page .nextshop-cart-product__title a {
	color: var(--co-text);
	text-decoration: none;
	transition: color 0.15s;
}

body.nextshop-cart-page .nextshop-cart-product__title a:hover {
	color: var(--co-accent);
}

body.nextshop-cart-page .nextshop-cart-product__price {
	margin-top: 0.35rem;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--co-muted);
}

body.nextshop-cart-page .nextshop-cart-product__body dl.variation {
	margin: 0.45rem 0 0;
	font-size: 0.8rem;
	color: var(--co-muted);
}

body.nextshop-cart-page .nextshop-cart-product__body dl.variation dt,
body.nextshop-cart-page .nextshop-cart-product__body dl.variation dd {
	display: inline;
	margin: 0;
}

body.nextshop-cart-page .nextshop-cart-product__body dl.variation dt::after {
	content: ': ';
}

body.nextshop-cart-page .nextshop-cart-product__remove {
	margin-top: 0.5rem;
}

body.nextshop-cart-page .nextshop-cart-product__remove a.remove {
	display: inline-block;
	width: auto !important;
	height: auto !important;
	padding: 0;
	background: transparent !important;
	color: var(--co-muted) !important;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	transition: color 0.15s;
}

body.nextshop-cart-page .nextshop-cart-product__remove a.remove::before {
	content: none;
}

body.nextshop-cart-page .nextshop-cart-product__remove a.remove:hover {
	color: var(--co-accent) !important;
	background: transparent !important;
}

body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-qty {
	text-align: center;
}

body.nextshop-cart-page table.nextshop-cart-table .quantity {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius-sm);
	overflow: hidden;
	background: #fff;
}

body.nextshop-cart-page table.nextshop-cart-table .quantity .qty {
	width: 2.75rem;
	min-height: 40px;
	padding: 0;
	border: none !important;
	border-radius: 0 !important;
	text-align: center;
	font-size: 0.95rem;
	font-weight: 700;
	background: #fafbfc !important;
	box-shadow: none !important;
}

body.nextshop-cart-page table.nextshop-cart-table .quantity .qty:focus {
	outline: none;
	background: #fff !important;
}

body.nextshop-cart-page table.nextshop-cart-table .nextshop-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	min-height: 40px;
	border: none;
	background: #f1f5f9;
	color: var(--co-text);
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	font-family: inherit;
	padding: 0;
	transition: background 0.15s, color 0.15s;
}

body.nextshop-cart-page table.nextshop-cart-table .nextshop-qty-btn:hover {
	background: var(--co-accent-soft);
	color: var(--co-accent);
}

body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-subtotal {
	font-size: 0.95rem;
	font-weight: 800;
	color: var(--co-text);
	white-space: nowrap;
}

/* کوپن و به‌روزرسانی */
body.nextshop-cart-page table.nextshop-cart-table tr.nextshop-cart-actions-row td.actions {
	background: #fafbfc;
	border-top: 1px solid var(--co-border) !important;
	padding: 1rem 1.25rem !important;
}

body.nextshop-cart-page table.nextshop-cart-table .actions .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
	float: none !important;
}

body.nextshop-cart-page table.nextshop-cart-table .actions .coupon .input-text {
	border-radius: var(--co-radius-sm) !important;
	border: 1px solid var(--co-border) !important;
	padding: 0.65rem 0.9rem !important;
	font-family: inherit;
	min-width: 160px;
	flex: 1;
}

body.nextshop-cart-page table.nextshop-cart-table .actions .button {
	border-radius: var(--co-radius-sm) !important;
	font-family: inherit !important;
	font-weight: 700 !important;
	padding: 0.65rem 1.1rem !important;
}

body.nextshop-cart-page table.nextshop-cart-table .actions .button[name='update_cart'] {
	background: #fff !important;
	color: var(--co-text) !important;
	border: 1px solid var(--co-border) !important;
}

body.nextshop-cart-page table.nextshop-cart-table .actions .button[name='update_cart']:hover {
	border-color: var(--co-accent) !important;
	color: var(--co-accent) !important;
}

/* SweetAlert2 toast — سبد و تسویه (بالای هدر sticky و admin bar) */
body.nextshop-cart-page,
body.nextshop-checkout-page {
	--nextshop-toast-top: 5.25rem;
	--nextshop-toast-inset-x: 1rem;
}

body.admin-bar.nextshop-cart-page,
body.admin-bar.nextshop-checkout-page {
	--nextshop-toast-top: 7rem;
}

body.nextshop-cart-page.swal2-toast-shown .swal2-container,
body.nextshop-checkout-page.swal2-toast-shown .swal2-container,
body.nextshop-cart-page .swal2-container.nextshop-swal-toast-container,
body.nextshop-checkout-page .swal2-container.nextshop-swal-toast-container {
	z-index: 2147483000 !important;
	pointer-events: none;
}

body.nextshop-cart-page.swal2-toast-shown .swal2-container .swal2-popup,
body.nextshop-checkout-page.swal2-toast-shown .swal2-container .swal2-popup {
	pointer-events: auto;
}

html[dir='rtl'] body.nextshop-cart-page.swal2-toast-shown .swal2-container.swal2-top-end,
html[dir='rtl'] body.nextshop-checkout-page.swal2-toast-shown .swal2-container.swal2-top-end,
html[dir='rtl'] body.nextshop-cart-page .swal2-container.nextshop-swal-toast-container.swal2-top-end,
html[dir='rtl'] body.nextshop-checkout-page .swal2-container.nextshop-swal-toast-container.swal2-top-end {
	top: var(--nextshop-toast-top) !important;
	left: var(--nextshop-toast-inset-x) !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
}

html:not([dir='rtl']) body.nextshop-cart-page.swal2-toast-shown .swal2-container.swal2-top-end,
html:not([dir='rtl']) body.nextshop-checkout-page.swal2-toast-shown .swal2-container.swal2-top-end {
	top: var(--nextshop-toast-top) !important;
	right: var(--nextshop-toast-inset-x) !important;
	left: auto !important;
	bottom: auto !important;
	transform: none !important;
}

.nextshop-swal-toast.swal2-popup {
	font-family: var(--nextshop-font-family, inherit);
	padding: 0.85rem 1.15rem;
	border-radius: 12px;
	box-shadow: 0 10px 32px rgba(15, 23, 42, 0.14);
}

.nextshop-swal-toast .swal2-icon {
	scale: 0.85;
	margin: 0 0 0 0.65rem;
}

.nextshop-swal-toast .swal2-title.nextshop-swal-toast__title {
	margin: 0;
	padding: 0;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.5;
}

.nextshop-swal-toast .swal2-timer-progress-bar {
	background: rgba(239, 57, 78, 0.55);
}

body.nextshop-cart-page .woocommerce-cart-form.is-loading,
body.nextshop-cart-page .woocommerce-cart-form.processing {
	opacity: 0.72;
	pointer-events: none;
	transition: opacity 0.2s;
}

body.nextshop-cart-page div.cart_totals.processing {
	opacity: 0.72;
	transition: opacity 0.2s;
}

/* کوپن در سایدبار (نسخه‌های جدید ووکامرس) */
body.nextshop-cart-page .cart-collaterals .coupon {
	padding: 0 1.2rem 0.75rem;
}

body.nextshop-cart-page .cart-collaterals .coupon .input-text {
	width: 100%;
	border-radius: var(--co-radius-sm);
	border: 1px solid var(--co-border);
	padding: 0.65rem 0.9rem;
	font-family: inherit;
}

body.nextshop-cart-page .cart-collaterals .coupon .button {
	margin-top: 0.5rem;
	width: 100%;
	border-radius: var(--co-radius-sm);
	font-weight: 700;
}

/* پیام‌ها با SweetAlert2 toast — باکس پیش‌فرض مخفی */
body.nextshop-cart-page .woocommerce-notices-wrapper,
body.nextshop-checkout-page .woocommerce-notices-wrapper {
	display: none !important;
}

body.nextshop-cart-page .woocommerce-cart-form > .woocommerce-error,
body.nextshop-cart-page .woocommerce-cart-form > .woocommerce-message,
body.nextshop-cart-page .woocommerce-cart-form > .woocommerce-info,
body.nextshop-checkout-page form.checkout > .woocommerce-error,
body.nextshop-checkout-page form.checkout > .woocommerce-message,
body.nextshop-checkout-page form.checkout > .woocommerce-info {
	display: none !important;
}

body.nextshop-cart-page .cart-empty.woocommerce-info {
	background: var(--co-card);
	border: 1px solid var(--co-border);
	border-radius: var(--co-radius);
	box-shadow: var(--co-shadow);
	padding: 2rem 1.5rem;
	text-align: center;
}

body.nextshop-cart-page .return-to-shop .button {
	background: var(--co-accent) !important;
	border-radius: var(--co-radius-sm) !important;
	font-weight: 700 !important;
}

body.nextshop-cart-page .cross-sells {
	display: none;
}

@media (max-width: 768px) {
	body.nextshop-cart-page,
	body.nextshop-checkout-page {
		--nextshop-toast-top: 4.25rem;
		--nextshop-toast-inset-x: 0.65rem;
	}

	body.admin-bar.nextshop-cart-page,
	body.admin-bar.nextshop-checkout-page {
		--nextshop-toast-top: 5.5rem;
	}

	body.nextshop-cart-page .nextshop-cart-layout {
		flex-direction: column;
		flex-wrap: wrap;
	}

	body.nextshop-cart-page .cart-collaterals {
		flex: 1 1 auto;
		width: 100%;
		max-width: none;
		order: 2;
	}

	body.nextshop-cart-page .woocommerce-cart-form {
		flex: 1 1 auto;
		width: 100% !important;
		order: 1;
	}

	body.nextshop-cart-page .cart_totals {
		position: static;
	}
}

/* جدول سبد — موبایل (کارت هر محصول) */
@media (max-width: 768px) {
	body.nextshop-cart-page .woocommerce-cart-form {
		border-radius: var(--co-radius-sm);
	}

	body.nextshop-cart-page table.nextshop-cart-table,
	body.nextshop-cart-page table.nextshop-cart-table tbody {
		display: block;
		width: 100%;
	}

	body.nextshop-cart-page table.nextshop-cart-table thead {
		display: none;
	}

	body.nextshop-cart-page table.nextshop-cart-table tbody tr.cart_item {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas:
			'product product'
			'qty subtotal';
		gap: 0.75rem 1rem;
		padding: 0.9rem;
		margin: 0 0.65rem 0.65rem;
		border: 1px solid var(--co-border);
		border-radius: 12px;
		background: #fff;
		box-shadow: 0 1px 4px rgba(15, 23, 42, 0.05);
	}

	body.nextshop-cart-page table.nextshop-cart-table tbody tr.cart_item:first-child {
		margin-top: 0.65rem;
	}

	body.nextshop-cart-page table.nextshop-cart-table tbody tr.cart_item:hover {
		background: #fff;
	}

	body.nextshop-cart-page table.nextshop-cart-table tbody tr.cart_item td {
		display: block;
		width: auto !important;
		padding: 0 !important;
		border: none !important;
		text-align: right;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-product {
		grid-area: product;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-qty {
		grid-area: qty;
		align-self: end;
		justify-self: start;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-subtotal {
		grid-area: subtotal;
		align-self: end;
		justify-self: end;
		text-align: left;
		font-size: 1.02rem;
		font-weight: 800;
		white-space: nowrap;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-product::before {
		display: none;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-qty::before,
	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-subtotal::before {
		display: block;
		content: attr(data-title);
		margin-bottom: 0.35rem;
		font-size: 0.72rem;
		font-weight: 700;
		color: var(--co-muted);
		line-height: 1.2;
	}

	body.nextshop-cart-page .nextshop-cart-product {
		gap: 0.75rem;
	}

	body.nextshop-cart-page .nextshop-cart-product__thumb img {
		width: 72px;
		height: 72px;
		border-radius: 10px;
	}

	body.nextshop-cart-page .nextshop-cart-product__title {
		font-size: 0.88rem;
		line-height: 1.5;
	}

	body.nextshop-cart-page .nextshop-cart-product__price {
		font-size: 0.82rem;
		margin-top: 0.25rem;
	}

	body.nextshop-cart-page .nextshop-cart-product__remove {
		margin-top: 0.4rem;
	}

	body.nextshop-cart-page table.nextshop-cart-table .quantity {
		width: 100%;
		max-width: 132px;
	}

	body.nextshop-cart-page table.nextshop-cart-table .quantity .qty {
		min-height: 38px;
		width: 2.5rem;
		font-size: 0.9rem;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-qty-btn {
		width: 34px;
		min-height: 38px;
		font-size: 1.05rem;
	}

	body.nextshop-cart-page table.nextshop-cart-table tr.nextshop-cart-actions-row {
		display: block;
		margin: 0;
		padding: 0.85rem 0.65rem 0.65rem;
		border: none;
		border-top: 1px solid var(--co-border);
		background: #fafbfc;
		border-radius: 0 0 var(--co-radius-sm) var(--co-radius-sm);
	}

	body.nextshop-cart-page table.nextshop-cart-table tr.nextshop-cart-actions-row td.actions {
		display: block;
		width: 100% !important;
		padding: 0 !important;
	}

	body.nextshop-cart-page table.nextshop-cart-table .actions .coupon {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
		margin-bottom: 0.65rem;
	}

	body.nextshop-cart-page table.nextshop-cart-table .actions .coupon .input-text {
		min-width: 0;
		width: 100%;
	}

	body.nextshop-cart-page table.nextshop-cart-table .actions .coupon .button,
	body.nextshop-cart-page table.nextshop-cart-table .actions .button[name='update_cart'] {
		width: 100%;
		justify-content: center;
	}
}

@media (max-width: 400px) {
	body.nextshop-cart-page table.nextshop-cart-table tbody tr.cart_item {
		grid-template-columns: 1fr;
		grid-template-areas:
			'product'
			'qty'
			'subtotal';
		gap: 0.65rem;
		padding: 0.8rem;
		margin-left: 0.5rem;
		margin-right: 0.5rem;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-qty,
	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-subtotal {
		justify-self: stretch;
	}

	body.nextshop-cart-page table.nextshop-cart-table .nextshop-cart-col-subtotal {
		text-align: right;
		padding-top: 0.5rem !important;
		border-top: 1px dashed var(--co-border);
	}

	body.nextshop-cart-page table.nextshop-cart-table .quantity {
		max-width: none;
	}

	body.nextshop-cart-page .nextshop-cart-product__thumb img {
		width: 64px;
		height: 64px;
	}
}

body.nextshop-checkout-page.woocommerce-order-received .nextshop-cart-steps {
	display: none;
}

body.nextshop-checkout-page.woocommerce-order-received .nextshop-page-wrapper {
	max-width: 720px;
}

/* ریسپانسیو */
@media (max-width: 992px) {
	.nextshop-checkout-layout {
		grid-template-columns: 1fr;
	}

	.nextshop-checkout-sticky {
		position: static;
	}
}

@media (max-width: 768px) {
	.nextshop-cart-steps--modern .nextshop-step-label {
		display: none;
	}

	.nextshop-cart-steps--modern .nextshop-step-link,
	.nextshop-cart-steps--modern .nextshop-step-inner {
		padding: 0.8rem 0.45rem;
	}

	.nextshop-checkout-fields-grid {
		grid-template-columns: 1fr;
	}

	.nextshop-checkout-fields-grid .form-row-first,
	.nextshop-checkout-fields-grid .form-row-last {
		grid-column: 1;
	}

	.nextshop-checkout-section {
		padding: 1rem 1.1rem;
	}

	.nextshop-order-summary-toggle {
		display: inline-flex;
	}

	.nextshop-thankyou__details {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 769px) {
	.nextshop-order-summary-toggle {
		display: none !important;
	}
}
