/* ═══════════════════════════════════════════════════════════════
   PF Store — بازطراحی صفحات سبد خرید و تسویه‌حساب (Block Cart/Checkout)
   هدف: رنگ‌بندی پرروح (نه یکدست/تخت) + المان‌های اعتمادساز
   متغیرها از --ph-* هدر ارث می‌برند؛ توکن‌های محلی این‌جا تعریف می‌شوند.
   ═══════════════════════════════════════════════════════════════ */

/* حذف عنوان صفحهٔ سبد خرید/تسویه و جمع‌کردن فاصلهٔ خالی hero */
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header {
	display: none;
}
.woocommerce-cart .hero-section,
.woocommerce-checkout .hero-section {
	padding-block: 0 !important;
	min-height: 0 !important;
}

.woocommerce-cart,
.woocommerce-checkout {
	--pcc-accent:    var(--pf-primary);
	--pcc-accent-d:  var(--pf-primary-dark);
	--pcc-accent-l:  var(--pf-primary-soft);
	--pcc-ink:       var(--pf-ink);
	--pcc-muted:     var(--pf-muted);
	--pcc-border:    var(--pf-line);
	--pcc-soft:      var(--pf-surface-2);
	--pcc-card:      var(--pf-surface);
	--pcc-radius:    var(--pf-radius);
	--pcc-radius-sm: 11px;
	--pcc-shadow:    0 6px 24px rgba(28, 36, 52, .07);
	--pcc-shadow-sm: 0 2px 10px rgba(28, 36, 52, .05);

	/* رنگ‌های معنایی المان‌های اعتماد */
	--pcc-green:  var(--pf-success);
	--pcc-blue:   var(--pf-info);
	--pcc-amber:  var(--pf-primary);
	--pcc-violet: #7c5cff;
	--pcc-rose:   #e0568a;
}

/* پس‌زمینهٔ گرم و زنده پشت کل صفحه — به‌جای سفیدِ تخت */
.woocommerce-cart .ct-container,
.woocommerce-checkout .ct-container,
.woocommerce-cart #main,
.woocommerce-checkout #main {
	background:
		radial-gradient(1200px 460px at 100% -8%, var(--pf-primary-soft) 0%, color-mix(in srgb, var(--pf-primary) 1%, transparent) 60%),
		radial-gradient(900px 420px at 0% 4%, #f1f6ff 0%, rgba(241,246,255,0) 55%),
		var(--pcc-soft);
}

/* عرض و فاصله‌گذاری کانتینر اصلی */
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	max-width: var(--pfs-max);
	margin-inline: auto;
	padding-block: 1.5rem 3rem;
	padding-inline: var(--pfs-gutter);
	color: var(--pcc-ink);
}

/* ───────────────────────────────────────────────
   کارت پایهٔ مشترک (آیتم‌ها، خلاصه، مراحل)
   ─────────────────────────────────────────────── */
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wc-block-checkout__sidebar .wc-block-components-sidebar,
.wc-block-cart__main > .wc-block-cart-items,
.wc-block-checkout__main {
	font-family: inherit;
}

/* ═══════════════════════════════════════════════
   ۱) صفحهٔ سبد خرید — اقلام به‌صورت کارت‌های مجزا (گزینهٔ ۲)
   جدول بومیِ بلوک ووکامرس با block/grid به کارت‌های مستقل تبدیل
   می‌شود؛ هر قلم قابِ سفید با برجستگیِ هاور — هم‌خانواده با ستون خلاصه.
   ═══════════════════════════════════════════════ */

/* عنوان متنیِ بالای اقلام (با JS تزریق می‌شود) */
.pfs-cart-heading {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-weight: 800;
	font-size: 1rem;
	color: var(--pcc-ink);
	margin-block: .2rem .85rem;
}
.pfs-cart-heading > i { color: var(--pcc-accent-d); font-size: 20px; }
.pfs-cart-heading .pfs-cart-count {
	font-size: .75rem;
	font-weight: 700;
	color: var(--pcc-accent-d);
	background: var(--pcc-accent-l);
	border: 1px solid color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface));
	border-radius: 999px;
	padding: .12rem .6rem;
}

/* جدول → بلاکِ شفاف (کارت‌ها خودشان قاب دارند) */
.wc-block-cart__main .wc-block-cart-items,
.wc-block-cart__main table.wc-block-cart-items {
	display: block;
	background: transparent;
	border: 0;
	box-shadow: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
}
.wc-block-cart__main .wc-block-cart-items tbody {
	display: block;
}

/* هدرِ ستون‌های جدول حذف — عنوان متنی جایگزین است */
.wc-block-cart__main .wc-block-cart-items thead,
.wc-block-cart-items__header {
	display: none !important;
}

/* هر قلم = کارتِ مستقل.
   بلوک سبد ووکامرس خودش روی سلول‌ها grid-column/grid-row عددی می‌گذارد،
   پس جای‌گذاری را صریح با شمارهٔ خط و !important تثبیت می‌کنیم. */
.wc-block-cart-items__row {
	display: grid !important;
	grid-template-columns: 84px minmax(0, 1fr) auto !important;
	grid-template-rows: auto !important;
	column-gap: 1rem;
	row-gap: .4rem;
	align-items: stretch;
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border) !important;
	border-radius: var(--pcc-radius);
	box-shadow: var(--pcc-shadow-sm);
	padding: 1rem 1.1rem !important;
	margin-block-end: .8rem !important;
	transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.wc-block-cart-items__row:hover {
	transform: translateY(-2px);
	box-shadow: var(--pcc-shadow);
	border-color: color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface)) !important;
}
.wc-block-cart-items__row:last-child {
	border-block-end: 1px solid var(--pcc-border) !important; /* خنثی‌سازی حذفِ بومی */
	margin-block-end: 0 !important;
}

/* تصویر محصول */
.wc-block-cart-item__image {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: center;
	padding: 0 !important;
}
.wc-block-cart-item__image img {
	width: 84px !important;
	height: 84px !important;
	object-fit: cover;
	border-radius: var(--pcc-radius-sm);
	border: 1px solid var(--pcc-border);
	background: var(--pf-surface);
}

/* سلول محصول: نام/متادیتا بالا، تعداد+حذف چسبیده به پایین */
.wc-block-cart-item__product {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: flex !important;
	flex-direction: column;
	gap: .35rem;
	padding: 0 !important;
	min-width: 0;
}

/* نام محصول */
.wc-block-cart-item__product-name,
.wc-block-components-product-name {
	font-weight: 700 !important;
	font-size: .98rem !important;
	color: var(--pcc-ink) !important;
	line-height: 1.65;
}
.wc-block-components-product-name:hover {
	color: var(--pcc-accent-d) !important;
}

/* متادیتا محصول (گارانتی، رنگ و ...) */
.wc-block-components-product-metadata__description,
.wc-block-cart-item__meta {
	font-size: .82rem !important;
	color: var(--pcc-muted) !important;
	margin-block-start: .2rem;
}

/* حذف نمایش تکراری قیمت واحد زیر نام — قیمت فقط در ستون «مبلغ کل» دیده می‌شود */
.wc-block-cart-item__prices { display: none !important; }

/* بلوک تعداد + حذف — چسبیده به پایینِ سلول محصول */
.wc-block-cart-item__quantity {
	margin-block-start: auto !important;
	padding: .35rem 0 0 !important;
	border: 0 !important;
	display: flex !important;
	align-items: center;
	gap: .85rem;
}

/* سلول مبلغ کل — پایین‌چین، رنگ نارنجیِ برجسته */
.wc-block-cart-item__total {
	grid-column: 3 !important;
	grid-row: 1 !important;
	display: flex !important;
	flex-direction: column;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 0 !important;
	white-space: nowrap;
}
.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-cart-item__total .wc-block-components-product-price {
	font-weight: 800;
	font-size: 1.12rem !important;
	color: var(--pcc-accent-d) !important;
}
.wc-block-components-product-price__regular {
	color: var(--pcc-muted);
	opacity: .7;
	font-size: .82rem !important;
	font-weight: 600;
}

/* سلکتور تعداد (+/−) */
.wc-block-components-quantity-selector {
	border: 1px solid var(--pcc-border) !important;
	border-radius: 999px !important;
	overflow: hidden;
	background: var(--pcc-soft);
	position: relative;          /* مرجع لایهٔ نمایش فارسی */
}

/* لایهٔ نمایش عددِ فارسیِ تعداد روی input شفاف‌شده */
.wc-block-components-quantity-selector.pfs-qty-faized .wc-block-components-quantity-selector__input {
	color: transparent !important;
	caret-color: transparent;
}
.pfs-qty-display {
	position: absolute;
	inset-block: 0;
	inset-inline: 0;
	margin: auto;
	width: max-content;
	height: max-content;
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none;       /* کلیک‌ها به input/دکمه‌ها می‌رسند */
	font-weight: 700;
	font-size: .95rem;
	color: var(--pcc-ink);
}
.wc-block-components-quantity-selector__button {
	color: var(--pcc-accent-d) !important;
	font-weight: 700;
	font-size: 1rem !important;
	transition: background .15s ease, color .15s ease;
}
.wc-block-components-quantity-selector__button:hover {
	background: var(--pcc-accent) !important;
	color: var(--pf-on-primary) !important;
}
.wc-block-components-quantity-selector__input {
	font-weight: 700;
	font-size: .95rem !important;
	color: var(--pcc-ink);
}

/* دکمهٔ حذف */
.wc-block-cart-item__remove-link {
	color: var(--pcc-muted) !important;
	font-size: .82rem !important;
	transition: color .15s ease;
}
.wc-block-cart-item__remove-link:hover {
	color: var(--pf-danger) !important;
}

/* بَج تخفیف روی کالا («تخفیف X تومان») */
.wc-block-components-sale-badge {
	background: linear-gradient(135deg, var(--pf-danger), var(--pf-danger)) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	font-size: .76rem !important;
	padding: .25rem .7rem !important;
	box-shadow: 0 3px 8px color-mix(in srgb, var(--pf-danger) 25%, transparent);
	white-space: nowrap;
}

/* ───────────────────────────────────────────────
   پیام سقف موجودی هنگام زدنِ + روی کالای پر
   دکمهٔ + را ووکامرس هنگام رسیدن به حداکثر disabled می‌کند و کلیک
   رویداد نمی‌دهد؛ pointer-events:none می‌کنیم تا کلیک به کانتینر برسد و
   JS پیام تُست نشان دهد. ظاهرِ دکمه فعال می‌ماند تا کاربر کلیک کند.
   ─────────────────────────────────────────────── */
.wc-block-components-quantity-selector__button--plus:disabled {
	pointer-events: none;
	opacity: 1 !important;
	color: var(--pcc-accent-d) !important;
	cursor: pointer;
}
.wc-block-components-quantity-selector:has(.wc-block-components-quantity-selector__button--plus:disabled) {
	cursor: pointer;
}

/* هدف‌های لمسی و نوار پرداخت سبد باید بالای navigation پایین موبایل بمانند. */
@media (max-width: 860px) {
	.woocommerce-cart .wc-block-cart__submit-container--sticky {
		inset-block-end: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
		z-index: 999 !important;
	}
	.woocommerce-cart .wc-block-cart-items {
		padding-block-end: calc(92px + env(safe-area-inset-bottom, 0px));
	}
	.woocommerce-cart .wc-block-components-quantity-selector__button,
	.woocommerce-cart .wc-block-cart-item__remove-link,
	.woocommerce-checkout select,
	.woocommerce-checkout button,
	.woocommerce-checkout input:not([type="checkbox"]):not([type="radio"]) {
		min-height: 44px;
	}
	.woocommerce-cart .wc-block-cart-item__remove-link { min-width: 44px; }
}

/* تُستِ پیام (هم‌پالت با نوتیس مینی‌کارت) */
.pfs-cart-toast {
	position: fixed;
	inset-block-end: 24px;
	inset-inline: 0;
	margin-inline: auto;
	width: max-content;
	max-width: calc(100vw - 32px);
	z-index: 100000;
	display: flex;
	align-items: center;
	gap: .55rem;
	background: var(--pf-danger-soft);
	color: var(--pf-danger);
	border: 1px solid color-mix(in srgb, var(--pf-danger) 35%, var(--pf-surface));
	font-family: inherit;
	font-size: .92rem;
	font-weight: 700;
	line-height: 1.6;
	padding: .75rem 1.15rem;
	border-radius: var(--pf-radius);
	box-shadow: 0 10px 30px color-mix(in srgb, var(--pf-danger) 18%, transparent);
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity .2s ease, transform .2s ease, visibility .2s;
	pointer-events: none;
}
.pfs-cart-toast--show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.pfs-cart-toast i {
	font-size: 20px;
	flex: none;
}

/* ═══════════════════════════════════════════════
   ۲) خلاصهٔ سفارش (sidebar مشترک سبد و تسویه)
   ═══════════════════════════════════════════════ */

.wc-block-components-sidebar .wc-block-components-panel {
	font-family: inherit;
}

/* کارت خلاصه با نوار گرادیانی بالا — حسِ زنده
   توجه: کلاس‌های wc-block-cart__sidebar و wc-block-components-sidebar
   روی یک عنصر هستند (نه تو در تو) */
.wc-block-cart__sidebar,
.wc-block-checkout__sidebar {
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius);
	box-shadow: var(--pcc-shadow);
	padding: 1.4rem 1.3rem !important;
	position: relative;
	overflow: hidden;
	align-self: flex-start;
}
.wc-block-cart__sidebar::before,
.wc-block-checkout__sidebar::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--pcc-accent), color-mix(in srgb, var(--pf-primary) 72%, var(--pf-surface)) 45%, var(--pcc-accent-d));
}

/* عنوان «جمع کل سبد خرید» */
.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title {
	color: var(--pcc-ink) !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
	letter-spacing: 0;
}

/* ردیف‌های جمع (جمع جزء، تخفیف، ارسال) */
.wc-block-components-totals-item {
	color: var(--pcc-ink);
	font-size: .92rem;
}
.wc-block-components-totals-item__label {
	color: var(--pcc-muted);
	font-weight: 500;
}

/* خط جداکنندهٔ نقطه‌چین لطیف */
.wc-block-components-totals-wrapper {
	border-block-start: 1px dashed var(--pcc-border) !important;
}

/* تخفیف به رنگ سبز موفق */
.wc-block-components-totals-discount__coupon-list-item,
.wc-block-components-totals-discount .wc-block-components-totals-item__value {
	color: var(--pcc-green) !important;
	font-weight: 700;
}

/* ردیف مبلغ نهایی — برجسته با پس‌زمینهٔ گرم */
.wc-block-components-totals-footer-item {
	margin-block-start: .4rem;
	padding: .85rem 1rem !important;
	background: linear-gradient(135deg, var(--pcc-accent-l), var(--pf-primary-soft));
	border: 1px solid color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface));
	border-radius: var(--pcc-radius-sm);
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--pcc-ink) !important;
	font-weight: 800;
	font-size: 1rem;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--pcc-accent-d) !important;
	font-weight: 800;
	font-size: 1.2rem;
}

/* ───── فرم کد تخفیف ───── */
.wc-block-components-totals-coupon__form .wc-block-components-text-input input {
	border-radius: var(--pcc-radius-sm) !important;
}
.wc-block-components-totals-coupon__button {
	border-radius: var(--pcc-radius-sm) !important;
	font-weight: 700 !important;
}

/* ═══════════════════════════════════════════════
   ۳) دکمه‌ها — گرادیان + برجستگی هاور
   ═══════════════════════════════════════════════ */

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-cart__submit-container .wc-block-components-button.contained,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button.contained {
	background: linear-gradient(135deg, var(--pcc-accent), var(--pcc-accent-d)) !important;
	color: var(--pf-on-primary) !important;
	font-weight: 800 !important;
	font-size: 1.02rem !important;
	border: none !important;
	border-radius: var(--pcc-radius-sm) !important;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--pf-primary) 32%, transparent) !important;
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
	min-height: 52px;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wc-block-cart__submit-container .wc-block-components-button.contained:hover,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button.contained:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px color-mix(in srgb, var(--pf-primary) 42%, transparent) !important;
	filter: brightness(1.03);
}
.wc-block-cart__submit-button:active,
.wc-block-components-checkout-place-order-button:active {
	transform: translateY(0);
}

/* دکمه‌های ثانویه (متنی) */
.wc-block-components-button.outlined {
	border-color: var(--pcc-accent) !important;
	color: var(--pcc-accent-d) !important;
	border-radius: var(--pcc-radius-sm) !important;
	font-weight: 700 !important;
}
.wc-block-components-button.outlined:hover {
	background: var(--pcc-accent-l) !important;
}

/* ═══════════════════════════════════════════════
   ۴) صفحهٔ تسویه — مراحل و فرم‌ها
   ═══════════════════════════════════════════════ */

/* هر مرحله به کارت تبدیل می‌شود */
.wc-block-checkout__main .wc-block-components-checkout-step {
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius);
	box-shadow: var(--pcc-shadow-sm);
	padding: 1.3rem 1.4rem !important;
	margin-block-end: 1.1rem !important;
	transition: box-shadow .2s ease, border-color .2s ease;
}
.wc-block-checkout__main .wc-block-components-checkout-step:hover {
	box-shadow: var(--pcc-shadow);
	border-color: color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface));
}
.wc-block-checkout__main .wc-block-components-checkout-step::after {
	display: none !important; /* حذف خط عمودی پیش‌فرض */
}

/* عنوان مرحله */
.wc-block-components-checkout-step__title {
	color: var(--pcc-ink) !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
}

/* شمارهٔ مرحله — دایرهٔ نارنجی */
.wc-block-components-checkout-step__heading-content,
.wc-block-components-checkout-step__description {
	color: var(--pcc-muted) !important;
}

/* اینپوت‌های فرم */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-select .wc-block-components-select__container,
.wc-block-checkout__main select,
.wc-block-checkout__main input[type="text"],
.wc-block-checkout__main input[type="tel"],
.wc-block-checkout__main input[type="email"] {
	border: 1px solid var(--pf-line) !important;
	border-radius: var(--pcc-radius-sm) !important;
	background: var(--pcc-card) !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus,
.wc-block-checkout__main input:focus,
.wc-block-checkout__main select:focus {
	border-color: var(--pcc-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-primary) 14%, transparent) !important;
	outline: none !important;
}
.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus + label {
	color: var(--pcc-accent-d) !important;
}

/* روش‌های ارسال / پرداخت — کارت قابل انتخاب */
.wc-block-components-radio-control__option {
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius-sm);
	padding: .85rem 1rem !important;
	margin-block-end: .6rem;
	transition: border-color .15s ease, background .15s ease;
}
.wc-block-components-radio-control__option:hover {
	border-color: var(--pcc-accent);
	background: var(--pcc-accent-l);
}
.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-components-radio-control__option:has(input:checked) {
	border-color: var(--pcc-accent) !important;
	background: var(--pcc-accent-l) !important;
	box-shadow: inset 0 0 0 1px var(--pcc-accent);
}
.wc-block-components-radio-control__input:checked {
	border-color: var(--pcc-accent) !important;
	background: var(--pcc-accent) !important;
}

/* ═══════════════════════════════════════════════
   ۵) المان‌های اعتمادساز (تزریق‌شده با render_block)
   ═══════════════════════════════════════════════ */

.pfs-trust {
	margin-block-start: 1rem;
}

/* نوار مزیت‌ها — گرید رنگارنگ */
.pfs-trust__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: .65rem;
}
.pfs-trust__item {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .7rem .75rem;
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius-sm);
	box-shadow: var(--pcc-shadow-sm);
	transition: transform .15s ease, box-shadow .15s ease;
}
.pfs-trust__item:hover {
	transform: translateY(-2px);
	box-shadow: var(--pcc-shadow);
}
.pfs-trust__icon {
	flex: none;
	width: 38px;
	height: 38px;
	display: grid;
	place-items: center;
	border-radius: 11px;
	font-size: 21px;
	color: #fff;
}
/* هر مزیت رنگ خودش را دارد — رنگ‌بندی پرروح */
.pfs-trust__item--guarantee  .pfs-trust__icon { background: linear-gradient(135deg, var(--pf-success), var(--pcc-green)); }
.pfs-trust__item--registry   .pfs-trust__icon { background: linear-gradient(135deg, var(--pf-info), var(--pcc-blue)); }
.pfs-trust__item--shipping   .pfs-trust__icon { background: linear-gradient(135deg, color-mix(in srgb, var(--pf-primary) 72%, var(--pf-surface)), var(--pcc-amber)); }
.pfs-trust__item--return     .pfs-trust__icon { background: linear-gradient(135deg, #9a7dff, var(--pcc-violet)); }
.pfs-trust__item--support    .pfs-trust__icon { background: linear-gradient(135deg, var(--pcc-accent), var(--pcc-accent-d)); }
.pfs-trust__item--processing .pfs-trust__icon { background: linear-gradient(135deg, #f0759b, var(--pcc-rose)); }

.pfs-trust__text strong {
	display: block;
	font-size: .82rem;
	font-weight: 700;
	color: var(--pcc-ink);
	line-height: 1.5;
}
.pfs-trust__text span {
	font-size: .72rem;
	color: var(--pcc-muted);
}

/* کارت پرداخت امن / نماد اعتماد */
.pfs-trust__secure {
	margin-block-start: 1rem;
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .9rem 1rem;
	background: linear-gradient(135deg, var(--pf-success-soft), #f0fbff);
	border: 1px solid color-mix(in srgb, var(--pf-success) 35%, var(--pf-surface));
	border-radius: var(--pcc-radius-sm);
}
.pfs-trust__secure i {
	font-size: 28px;
	color: var(--pcc-green);
	flex: none;
}
.pfs-trust__secure-text strong {
	display: block;
	font-size: .85rem;
	font-weight: 800;
	color: var(--pf-success);
}
.pfs-trust__secure-text span {
	font-size: .74rem;
	color: var(--pf-success);
}

/* نشانگر مراحل خرید — بالای آیتم‌های سبد */
.pfs-steps {
	display: flex;
	align-items: center;
	margin-block-end: 1.1rem;
	padding: 1.05rem 1.5rem .9rem;
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius);
	box-shadow: var(--pcc-shadow-sm);
	direction: rtl;
	position: relative;
	overflow: hidden;
}
.pfs-steps::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--pcc-accent), color-mix(in srgb, var(--pf-primary) 72%, var(--pf-surface)) 45%, var(--pcc-accent-d));
}
.pfs-steps__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	flex: 1;
}
.pfs-steps__circle {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: .8rem;
	font-weight: 700;
	border: 2px solid var(--pcc-border);
	background: var(--pcc-soft);
	color: var(--pcc-muted);
	transition: background .2s, border-color .2s, color .2s;
}
.pfs-steps__item--active .pfs-steps__circle {
	background: var(--pcc-accent);
	border-color: var(--pcc-accent);
	color: var(--pf-on-primary);
	box-shadow: 0 4px 12px color-mix(in srgb, var(--pf-primary) 30%, transparent);
}
.pfs-steps__label {
	font-size: .75rem;
	font-weight: 500;
	color: var(--pcc-muted);
	white-space: nowrap;
}
.pfs-steps__item--active .pfs-steps__label {
	color: var(--pcc-accent-d);
	font-weight: 700;
}
.pfs-steps__line {
	flex: 1;
	height: 2px;
	background: var(--pcc-border);
	margin-block-end: 22px;
}
.pfs-steps__line--active {
	background: var(--pcc-accent);
}

/* ═══════════════════════════════════════════════
   ۶) حالت سبد خالی
   ═══════════════════════════════════════════════ */
.wp-block-woocommerce-empty-cart-block {
	text-align: center;
}
.wc-block-cart__empty-cart__title {
	color: var(--pcc-ink) !important;
	font-weight: 800 !important;
}

/* ═══════════════════════════════════════════════
   ۷) باکس زمان تحویل (افزونهٔ pfs-delivery) — کارت سبز
   هم‌زبان با کارت «پرداخت امن» ستون خلاصه. زیر فهرست اقلام تزریق می‌شود.
   ═══════════════════════════════════════════════ */
#pd-cart-injected {
	margin-block-start: 1rem;
}
#pd-cart-injected .pd-box--cart {
	margin-block: 0;
	border: 1px solid color-mix(in srgb, var(--pf-success) 35%, var(--pf-surface));
	border-radius: var(--pcc-radius);
	box-shadow: var(--pcc-shadow-sm);
	background: linear-gradient(135deg, var(--pf-success-soft), #f0fbff);
	padding: 1.05rem 1.2rem;
}

/* هدر: آیکون + عنوان سبز، پیل شهر، دکمهٔ تغییر شهر */
#pd-cart-injected .pd-box__header {
	margin-block-end: .7rem;
	font-size: .92rem;
	font-weight: 800;
	color: var(--pf-success);
}
#pd-cart-injected .pd-box__header svg {
	color: var(--pcc-green);
	width: 22px;
	height: 22px;
}
#pd-cart-injected .pd-city-name {
	color: var(--pf-success);
	background: var(--pf-surface);
	border: 1px solid color-mix(in srgb, var(--pf-success) 35%, var(--pf-surface));
	font-weight: 700;
}
#pd-cart-injected .pd-change-city {
	color: var(--pcc-green);
	border-color: var(--pcc-green);
}
#pd-cart-injected .pd-change-city:hover {
	background: var(--pcc-green);
	color: #fff;
}

/* بَج تاریخ تحویل — سفید با متن/قاب سبز تا روی کارت سبز برجسته بماند */
#pd-cart-injected .pd-date-badge {
	background: var(--pf-surface);
	border-color: color-mix(in srgb, var(--pf-success) 35%, var(--pf-surface));
	color: var(--pf-success);
}
#pd-cart-injected .pd-date-badge svg { color: var(--pcc-green); }

/* پیام‌های cutoff روی کارت سبز */
#pd-cart-injected .pd-cutoff-after {
	color: var(--pf-success);
	background: rgba(255,255,255,.5);
	border: 1px solid color-mix(in srgb, var(--pf-success) 35%, var(--pf-surface));
}
#pd-cart-injected .pd-no-city {
	color: var(--pf-success);
}

/* انتخابگر استان/شهر روی کارت سبز */
#pd-cart-injected .pd-city-selector select {
	border-color: color-mix(in srgb, var(--pf-success) 35%, var(--pf-surface));
	background: var(--pf-surface);
}
#pd-cart-injected .pd-city-selector select:focus {
	border-color: var(--pcc-green);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--pf-success) 15%, transparent);
}

/* ═══════════════════════════════════════════════════════════════
   ۸) تسویه‌حساب Classic (شورت‌کد [woocommerce_checkout])
   ═══════════════════════════════════════════════════════════════ */

/* رفع محدودیت عرضِ چیدمان block-theme: .entry-content کلاس
   is-layout-constrained دارد و فرزندانش را به content-size باریک محدود می‌کند
   مگر alignwide/alignfull. فرم checkout این کلاس‌ها را ندارد، پس صریحاً عرض
   کامل (تا --pfs-max) را به wrapper شورت‌کد و فرم می‌دهیم و وسط‌چین می‌کنیم. */
.woocommerce-checkout .entry-content.is-layout-constrained > *,
.woocommerce-checkout .entry-content .woocommerce {
	max-width: var(--pfs-max);
	width: 100%;
	margin-inline: auto;
}

.woocommerce-checkout form.checkout {
	max-width: var(--pfs-max);
	width: 100%;
	margin-inline: auto;
	padding-block: 1.5rem 3rem;
	color: var(--pcc-ink);
}

/* Blocksy از طریق هوک woocommerce_after_template_part کلاس
   ct-woocommerce-checkout را به فرم تزریق می‌کند و آن را گرید دو‌ستونه می‌کند
   (فارغ از قالب ما). چون چیدمان flex مستقل خودمان را داریم، فرم را به block
   برمی‌گردانیم تا گرید Blocksy خنثی شود و wrapper داخلی عرض کامل بگیرد. */
.woocommerce-checkout form.checkout.pfs-checkout,
.woocommerce-checkout form.checkout.ct-woocommerce-checkout {
	display: block !important;
	grid-template-columns: none !important;
	gap: 0 !important;
}

/* ───────────────────────────────────────────────
   چیدمان دو ستونیِ مستقل از تم والد (form-checkout.php override).
   با flex روی wrapperهای خودمان — بدون وابستگی به گرید تم، RTL
   auto-placement یا position:sticky (که تم والد می‌شکست).
   در RTL اولین فرزندِ flex سمت راست می‌نشیند:
     ستون راست = aside (جزئیات مشتری) | ستون چپ = main (خلاصه+پرداخت)
   توازن ارتفاع با انتقال نمادهای اعتماد به ستون راست انجام می‌شود.
   ─────────────────────────────────────────────── */
.pfs-checkout__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	align-items: flex-start;
}
.pfs-checkout__aside {
	flex: 1 1 0;
	min-width: 320px;
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}
.pfs-checkout__main {
	flex: 1.1 1 0;
	min-width: 360px;
}
/* در ستون راست، margin پایینی کارت‌ها حذف می‌شود چون gap فاصله می‌دهد */
.pfs-checkout__aside > * { margin-block-end: 0 !important; }

/* ───── عناوین بخش‌ها ───── */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .pab-checkout-selector__title,
.woocommerce-checkout .nw-order-notes__title,
.woocommerce-checkout #payment .nw-payment-title {
	font-size: 1.05rem !important;
	font-weight: 800 !important;
	color: var(--pcc-ink) !important;
	margin: 0 0 1rem !important;
	display: flex;
	align-items: center;
	gap: .5rem;
}
.woocommerce-checkout .nw-order-notes__title i,
.woocommerce-checkout .pab-checkout-selector__title i { color: var(--pcc-accent); }

/* ───── کارت‌بندی بخش‌ها ───── */
.woocommerce-checkout .nw-identity-box,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .pab-checkout-selector,
.woocommerce-checkout .nw-order-notes,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review {
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius);
	box-shadow: var(--pcc-shadow-sm);
	padding: 1.3rem 1.4rem;
	margin-block-end: 1.2rem;
}

/* خلاصهٔ سفارش با نوار گرادیانی بالا */
.woocommerce-checkout #order_review {
	position: relative;
	overflow: hidden;
	box-shadow: var(--pcc-shadow);
	padding-block-start: 1.6rem;
}
.woocommerce-checkout #order_review::before {
	content: "";
	position: absolute;
	inset-block-start: 0;
	inset-inline: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--pcc-accent), color-mix(in srgb, var(--pf-primary) 72%, var(--pf-surface)) 45%, var(--pcc-accent-d));
}

/* ───── باکس هویت (فقط‌خواندنی) ───── */
.nw-identity-box {
	background: linear-gradient(135deg, var(--pcc-accent-l), var(--pf-primary-soft)) !important;
	border-color: color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface)) !important;
}
.nw-identity-box__head {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-weight: 800;
	color: var(--pcc-ink);
	margin-block-end: .9rem;
	justify-content: space-between;
}
.nw-identity-box__head i { color: var(--pcc-accent-d); font-size: 20px; }
.nw-identity-box__head span { flex: 1; }
.nw-identity-box__edit {
	font-size: .8rem;
	font-weight: 600;
	color: var(--pcc-accent-d);
	text-decoration: none;
	border: 1px solid var(--pcc-accent-d);
	border-radius: var(--pf-radius-lg);
	padding: .15rem .7rem;
	transition: background .18s, color .18s;
}
.nw-identity-box__edit:hover {
	background: var(--pcc-accent-d);
	color: var(--pf-on-primary);
}
.nw-identity-box__grid { display: grid; gap: .55rem; }
.nw-identity-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	padding: .5rem .2rem;
	border-block-end: 1px dashed color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface));
}
.nw-identity-item:last-child { border-block-end: none; }
.nw-identity-item__label {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	color: var(--pcc-muted);
	font-size: .85rem;
	font-weight: 500;
}
.nw-identity-item__label i { color: var(--pcc-accent-d); font-size: 17px; }
.nw-identity-item__value { font-weight: 700; color: var(--pcc-ink); font-size: .9rem; }

/* ───── thumbnail + layout ردیف محصول در جدول سفارش ───── */
.nw-review-item {
	display: flex;
	align-items: center;
	gap: .75rem;
}
.nw-review-item__thumb {
	width: 54px;
	height: 54px;
	object-fit: cover;
	border-radius: var(--pf-radius-sm);
	border: 1px solid var(--pcc-border);
	flex-shrink: 0;
	background: var(--pcc-soft);
}
.nw-review-item__thumb-link {
	flex-shrink: 0;
	display: block;
	line-height: 0;
}
.nw-review-item__info {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	line-height: 1.6;
}
.nw-review-item__name {
	color: inherit;
	text-decoration: none;
	transition: color .15s ease;
}
a.nw-review-item__name:hover {
	color: var(--ps-red, var(--pf-danger));
}
.nw-review-item__labels {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
	margin-top: .45rem;
}
/* چیپ‌ها و تگ پک در ردیف لیبل بدون فاصله/حاشیه‌ی اضافه */
.nw-review-item__labels .pfs-spec-chips {
	display: inline-flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin: 0;
}

/* چیپ‌ها و تگ پک: رنگ/شکل از product-badges.css ارث می‌برند (یکدست با فروشگاه).
   این‌جا فقط سایز برای فضای فشردهٔ چک‌اوت تنظیم می‌شود — رنگ override نمی‌شود. */
.nw-review-item__labels .pfs-spec-chip {
	font-size: .78rem;
	padding-block: .22em;
	padding-inline: .55em;
}
.nw-review-item__labels .pfs-pack-tag {
	margin: 0;
	position: static;
	font-size: .8rem;
}

/* ───── جدول خلاصهٔ سفارش ───── */
.woocommerce-checkout .woocommerce-checkout-review-order-table {
	width: 100%;
	border: none;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
	border: none;
	border-block-end: 1px solid var(--pcc-border);
	padding: .7rem .25rem;
	font-size: .9rem;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
	color: var(--pcc-muted);
	font-weight: 600;
	font-size: .82rem;
}
/* هدینگ زائد «Shipment» تم Blocksy (ردیف «کرایه حمل» خودش گویاست) */
.woocommerce-checkout .ct-shipping-heading { display: none; }

.woocommerce-checkout .cart_item .product-name { color: var(--pcc-ink); font-weight: 600; }
.woocommerce-checkout .cart_item .product-total { font-weight: 700; white-space: nowrap; }
.woocommerce-checkout tr.order-total .woocommerce-Price-amount {
	color: var(--pcc-accent-d);
	font-weight: 800;
	font-size: 1.2rem;
}
.woocommerce-checkout tr.order-total th { font-weight: 800; color: var(--pcc-ink); }
/* ردیف مبلغ کل با پس‌زمینهٔ گرم */
.woocommerce-checkout tr.order-total th,
.woocommerce-checkout tr.order-total td {
	background: linear-gradient(135deg, var(--pcc-accent-l), var(--pf-primary-soft));
	border-block-end: none;
	padding-block: .9rem;
}

/* ───── روش‌های پرداخت ───── */
.woocommerce-checkout #payment {
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius);
	box-shadow: var(--pcc-shadow-sm);
	padding: 1.3rem 1.4rem;
	margin-block-start: 1.2rem;
}
.woocommerce-checkout #payment .payment_methods {
	border: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-checkout #payment .wc_payment_method {
	list-style: none;
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius-sm);
	padding: .85rem 1rem !important;
	margin-block-end: .65rem;
	transition: border-color .15s ease, background .15s ease;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}
.woocommerce-checkout #payment .wc_payment_method:hover,
.woocommerce-checkout #payment .wc_payment_method:has(input:checked) {
	border-color: var(--pcc-accent);
	background: var(--pcc-accent-l);
}
.woocommerce-checkout #payment .wc_payment_method input[type="radio"] {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--pcc-accent);
	flex: none;
}
.woocommerce-checkout #payment .wc_payment_method > label {
	font-weight: 700;
	color: var(--pcc-ink);
	display: flex;
	align-items: center;
	gap: .4rem;
	flex: 1;
	margin: 0;
	cursor: pointer;
}
/* لوگوی درگاه — انتهای ردیف، ارتفاع یکدست */
.woocommerce-checkout #payment .wc_payment_method > label img {
	margin-inline-start: auto;
	height: 24px;
	width: auto;
	max-width: 110px;
	object-fit: contain;
}
.woocommerce-checkout #payment .payment_box {
	flex-basis: 100%;
}
.woocommerce-checkout #payment .payment_box {
	background: var(--pcc-soft) !important;
	border-radius: var(--pcc-radius-sm);
	font-size: .82rem;
	color: var(--pcc-muted);
	margin-block-start: .6rem !important;
}
.woocommerce-checkout #payment .payment_box::before { display: none !important; }
.woocommerce-checkout #payment input[type="radio"]:checked + label { color: var(--pcc-accent-d); }

/* ───── توضیحات سفارش toggle ───── */
.nw-notes-toggle {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	background: none;
	border: 1.5px dashed var(--pcc-border);
	border-radius: var(--pcc-radius-sm);
	color: var(--pcc-muted);
	font-size: .88rem;
	font-weight: 600;
	font-family: inherit;
	padding: .6rem 1rem;
	cursor: pointer;
	width: 100%;
	justify-content: center;
	transition: border-color .15s, color .15s, background .15s;
}
.nw-notes-toggle:hover,
.nw-notes-toggle--open {
	border-color: var(--pcc-accent);
	color: var(--pcc-accent-d);
	background: var(--pcc-accent-l);
}
.nw-notes-toggle .ti { font-size: 16px; }

#order_comments_field textarea#order_comments {
	margin-block-start: .75rem;
	transition: none;
}

/* ───── دکمهٔ ثبت سفارش ───── */
.woocommerce-checkout #place_order {
	width: 100%;
	background: linear-gradient(135deg, var(--pcc-accent), var(--pcc-accent-d)) !important;
	color: var(--pf-on-primary) !important;
	font-weight: 800 !important;
	font-size: 1.05rem !important;
	border: none !important;
	border-radius: var(--pcc-radius-sm) !important;
	box-shadow: 0 8px 20px color-mix(in srgb, var(--pf-primary) 32%, transparent) !important;
	min-height: 54px;
	margin-block-start: 1rem;
	transition: transform .15s ease, box-shadow .15s ease, filter .15s ease !important;
}
.woocommerce-checkout #place_order:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 26px color-mix(in srgb, var(--pf-primary) 42%, transparent) !important;
	filter: brightness(1.03);
}

/* ───── اینپوت‌ها و textarea ───── */
.woocommerce-checkout .input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-container .select2-selection {
	border: 1px solid var(--pf-line) !important;
	border-radius: var(--pcc-radius-sm) !important;
	padding: .6rem .8rem !important;
	font-family: inherit !important;
	transition: border-color .15s ease, box-shadow .15s ease;
	min-height: 44px;
}
.woocommerce-checkout .input-text:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
	border-color: var(--pcc-accent) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pf-primary) 14%, transparent) !important;
	outline: none !important;
}
.woocommerce-checkout #order_comments { min-height: 90px; }

/* ───── باکس مشتری (راست) چسبان ─────
   ستون چپ (خلاصه+پرداخت+ثبت+اعتماد) بلندتر است؛ ستون راستِ کوتاه‌تر هنگام
   اسکرول در دید می‌ماند. عاملِ شکستنِ sticky تنها #main-container تم والد بود
   که overflow:hidden دارد؛ فقط در checkout آن را overflow-x:clip + overflow-y:
   visible می‌کنیم: محور افقی همچنان مهار می‌شود ولی scroll-container نمی‌سازد،
   پس sticky نسبت به viewport کار می‌کند و اسکرول عمودی صفحه هم سالم می‌ماند. */
@media (min-width: 992px) {
	.woocommerce-checkout #main-container {
		overflow-x: clip;
		overflow-y: visible;
	}
	.woocommerce-checkout .pfs-checkout__aside {
		position: sticky;
		inset-block-start: 90px;
	}
}

/* ═══════════════════════════════════════════════
   ۹) خلاصهٔ سفارش جمع‌شونده (فقط موبایل)
   دکمهٔ هدر با JS (checkout-mobile.js) تزریق می‌شود. این‌جا فقط در حالت
   پیش‌فرض پنهان است تا دسکتاپ دست‌نخورده بماند؛ استایل کاملش داخل media.
   ═══════════════════════════════════════════════ */
.nw-msummary-toggle { display: none; }

/* ═══════════════════════════════════════════════
   ۱۰) ریسپانسیو — بازطراحی کامل موبایل (≤۷۶۸)
   فقط این بازه دست‌کاری می‌شود؛ تبلت/دسکتاپ بدون تغییر.
   ═══════════════════════════════════════════════ */
@media (max-width: 768px) {

	/* ───── عمومی ───── */
	.pfs-trust__grid { grid-template-columns: 1fr; }
	.pfs-steps { padding: .75rem .9rem; }
	.pfs-steps__label { font-size: .7rem; }
	.wc-block-cart__sidebar .wc-block-components-sidebar,
	.wc-block-checkout__sidebar .wc-block-components-sidebar { padding: 1.15rem 1rem !important; }
	.wp-block-woocommerce-cart,
	.wp-block-woocommerce-checkout { padding-block: 1rem 2rem; }

	/* ════════════════════════════════════════════
	   تسویه‌حساب Classic — موبایل
	   ════════════════════════════════════════════ */

	/* ترتیب درست: ابتدا جزئیات مشتری (هویت/آدرس/یادداشت)، سپس خلاصهٔ سفارش +
	   پرداخت + ثبت سفارش در انتها. (پیش‌تر خلاصه/پرداخت بالای فرم آدرس بود.) */
	.woocommerce-checkout form.checkout { padding-block: .5rem 2rem; }
	.pfs-checkout__grid { gap: 1rem; }
	.pfs-checkout__aside { order: 1; flex-basis: 100%; min-width: 0; gap: 1rem; }
	.pfs-checkout__main  { order: 2; flex-basis: 100%; min-width: 0; }

	/* کارت‌های فشرده‌تر و تمام‌عرض با padding یکدست */
	.woocommerce-checkout .nw-identity-box,
	.woocommerce-checkout .woocommerce-billing-fields,
	.woocommerce-checkout .pab-checkout-selector,
	.woocommerce-checkout .nw-order-notes,
	.woocommerce-checkout .woocommerce-additional-fields,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout #payment {
		padding: 1.05rem 1rem;
		margin-block-end: 1rem;
		border-radius: var(--pf-radius);
	}

	/* عنوان‌ها کمی کوچک‌تر برای صرفه‌جویی در ارتفاع */
	.woocommerce-checkout #order_review_heading,
	.woocommerce-checkout .woocommerce-billing-fields > h3,
	.woocommerce-checkout .pab-checkout-selector__title,
	.woocommerce-checkout .nw-order-notes__title,
	.woocommerce-checkout #payment .nw-payment-title {
		font-size: 1rem !important;
	}

	/* عنوان «سفارش شما» (h3) حذف می‌شود؛ دکمهٔ جمع‌شونده خودش عنوان دارد */
	.woocommerce-checkout #order_review_heading { display: none; }

	/* فیلدها تمام‌عرض و راحت برای لمس */
	.woocommerce-checkout .form-row { width: 100% !important; float: none !important; }
	.woocommerce-checkout .input-text,
	.woocommerce-checkout textarea,
	.woocommerce-checkout select { min-height: 48px; }

	/* ───── خلاصهٔ سفارش جمع‌شونده ───── */
	.nw-msummary-toggle {
		display: flex;
		align-items: center;
		gap: .5rem;
		width: 100%;
		font-family: inherit;
		text-align: start;
		cursor: pointer;
		padding: .8rem .95rem;
		margin-block-end: .9rem;
		color: var(--pcc-ink);
		background: linear-gradient(135deg, var(--pcc-accent-l), var(--pf-primary-soft));
		border: 1px solid color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface));
		border-radius: var(--pcc-radius-sm);
		box-shadow: var(--pcc-shadow-sm);
	}
	.nw-msummary-toggle__head {
		display: flex;
		align-items: center;
		gap: .45rem;
		font-weight: 800;
		font-size: .95rem;
		min-width: 0;
	}
	.nw-msummary-toggle__head > i { color: var(--pcc-accent-d); font-size: 19px; flex: none; }
	.nw-msummary-count {
		font-size: .72rem;
		font-weight: 700;
		color: var(--pcc-accent-d);
		background: var(--pf-surface);
		border: 1px solid color-mix(in srgb, var(--pf-primary) 28%, var(--pf-surface));
		border-radius: 999px;
		padding: .12rem .55rem;
		white-space: nowrap;
	}
	.nw-msummary-toggle__total {
		margin-inline-start: auto;
		font-weight: 800;
		font-size: 1rem;
		color: var(--pcc-accent-d);
		white-space: nowrap;
	}
	.nw-msummary-chev {
		flex: none;
		color: var(--pcc-muted);
		font-size: 18px;
		transition: transform .2s ease;
	}
	#order_review.nw-msummary-open .nw-msummary-chev { transform: rotate(180deg); }

	/* فهرست محصولات: پیش‌فرض بسته؛ با باز شدن نمایش داده می‌شود.
	   ردیف‌های جمع/کرایه/مجموع (tfoot) همیشه دیده می‌شوند → خلاصهٔ فشرده. */
	#order_review.has-msummary .woocommerce-checkout-review-order-table tbody { display: none; }
	#order_review.has-msummary.nw-msummary-open .woocommerce-checkout-review-order-table tbody { display: table-row-group; }

	/* ── چیدمان ردیف محصول وقتی فهرست باز است ──
	   عکس راست (ثابت)، نام تمام‌عرض با شکست طبیعی، قیمت زیرِ نام هم‌تراز با متن. */
	.woocommerce-checkout .woocommerce-checkout-review-order-table thead { display: none; }
	.woocommerce-checkout tr.cart_item {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		column-gap: .75rem;
		row-gap: .5rem;
		padding-block: 1rem !important;
	}
	.woocommerce-checkout tr.cart_item .product-name {
		flex: 0 0 100% !important;
		width: 100% !important;
		border: none !important;
		padding: 0 !important;
	}
	.woocommerce-checkout tr.cart_item .product-total {
		flex: 0 0 100% !important;
		width: 100% !important;
		border: none !important;
		padding: 0 !important;
		padding-inline-start: calc(54px + .6rem) !important; /* هم‌تراز زیرِ نام، کنارِ عکس */
		text-align: start;
		font-weight: 700;
	}
	.woocommerce-checkout tr.cart_item .nw-review-item {
		display: grid !important;
		grid-template-columns: 54px minmax(0, 1fr);
		gap: .6rem;
		width: 100%;
		align-items: start;
	}

	/* دکمهٔ ثبت سفارش بزرگ‌تر و راحت‌تر برای لمس */
	.woocommerce-checkout #place_order { min-height: 56px; font-size: 1.08rem !important; }

	/* ════════════════════════════════════════════
	   سبد خرید (Block) — موبایل (دست‌نخورده)
	   ════════════════════════════════════════════ */
	.wc-block-cart-items__header { display: none !important; }

	/* کارتِ فشرده‌تر: تصویرِ کنار (دو ردیف)، نام/تعداد بالا، قیمت پایین */
	.wc-block-cart-items__row {
		grid-template-columns: 72px minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		column-gap: .85rem !important;
		row-gap: .5rem !important;
		padding: .9rem !important;
		align-items: start !important;
	}

	.wc-block-cart-item__image {
		grid-column: 1 !important;
		grid-row: 1 / span 2 !important;
		align-self: start;
	}
	.wc-block-cart-item__image img {
		width: 72px !important;
		height: 72px !important;
	}

	.wc-block-cart-item__product {
		grid-column: 2 !important;
		grid-row: 1 !important;
	}

	/* مبلغ کل: ردیف دوم ستون دوم، هم‌ترازِ ابتدای متن (زیرِ نام) */
	.wc-block-cart-item__total {
		grid-column: 2 !important;
		grid-row: 2 !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}

	.wc-block-components-product-name {
		font-size: .9rem !important;
		line-height: 1.5 !important;
	}

	.wc-block-components-quantity-selector {
		min-width: 90px;
	}
}

/* ═══════════════════════════════════════════════════════════════
   روش حمل «ماهکس» — لوگو + توضیح کنار عنوان
   ═══════════════════════════════════════════════════════════════ */
.nw-mahex-ship {
	display: flex;
	align-items: center;
	gap: .6rem;
	text-align: start;
}
.nw-mahex-logo {
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	box-shadow: 0 3px 10px color-mix(in srgb, var(--pf-primary) 28%, transparent);
}
/* لوگوی رسمی (وردمارک افقی) — بدون بَج/سایه، با عرض بزرگ‌تر */
.nw-mahex-logo--img {
	width: auto;
	height: 34px;
	max-width: 140px;
	border-radius: 0;
	box-shadow: none;
	object-fit: contain;
}
/* موبایل: لوگو کوچک‌تر و هم‌تراز با عنوان (نه وسطِ بدنهٔ بلند با باکس زمان تحویل) */
@media (max-width: 768px) {
	.nw-mahex-ship { align-items: flex-start; gap: .5rem; }
	.nw-mahex-logo--img { height: 22px; max-width: 84px; margin-block-start: 2px; }
	.nw-mahex-logo { width: 30px; height: 30px; }
}
.nw-mahex-ship__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.nw-mahex-ship__label {
	font-weight: 700;
	color: var(--pcc-ink);
	line-height: 1.4;
}
.nw-mahex-ship__label .woocommerce-Price-amount {
	color: var(--pcc-accent-d);
	font-weight: 800;
}
.nw-mahex-ship__note {
	font-size: .76rem;
	color: var(--pcc-muted);
	line-height: 1.4;
}
/* بلوک «زمان تحویل تقریبی» زیر کرایهٔ حمل (جزئیات کامل) */
.nw-mahex-ship__delivery {
	display: block;
	margin-block-start: 8px;
	padding-block-start: 8px;
	border-block-start: 1px dashed var(--pcc-border, var(--pf-line));
}
.nw-mahex-ship__delivery-head {
	display: flex;
	align-items: center;
	gap: .35rem;
	font-size: .8rem;
	font-weight: 700;
	color: var(--pcc-accent-d);
	margin-block-end: 6px;
}
.nw-mahex-ship__delivery-head .ti {
	font-size: 1rem;
}
.nw-mahex-ship__delivery .pd-result--inline {
	font-size: .8rem;
}
/* در جدول جمع‌بندی، نتیجه تمام‌عرض و چپ‌چین متن نشود */
.nw-mahex-ship__delivery .pd-result-inner {
	gap: 6px;
}
/* در ردیف «کرایه حمل» جدول سبد/تسویه، سلول مقدار را به ابتدای ردیف بچسبان */
.woocommerce-shipping-totals.shipping td,
tr.shipping td {
	vertical-align: middle;
}
.woocommerce-shipping-totals.shipping ul#shipping_method,
tr.shipping ul#shipping_method {
	margin: 0;
	list-style: none;
}
.woocommerce-shipping-totals.shipping ul#shipping_method li,
tr.shipping ul#shipping_method li {
	display: flex;
	align-items: center;
	gap: .4rem;
}

/* ═══════════════════════════════════════════════════════════════
   گیت مهمان صفحهٔ تسویه‌حساب — کارت ورود/ثبت‌نام
   ═══════════════════════════════════════════════════════════════ */
.pfs-checkout-gate {
	max-width: 480px;
	margin: 2rem auto 3rem;
	background: var(--pf-surface);
	border: 1px solid var(--pcc-border, var(--pf-line));
	border-radius: var(--pf-radius);
	box-shadow: 0 8px 30px rgba(28, 36, 52, .07);
	overflow: hidden;
}
.pfs-checkout-gate__head {
	text-align: center;
	padding: 2rem 1.5rem 1rem;
	background: linear-gradient(180deg, var(--pcc-accent-l, var(--pf-primary-soft)), var(--pf-surface));
	border-bottom: 1px solid var(--pcc-border, var(--pf-line));
}
.pfs-checkout-gate__icon {
	font-size: 3rem;
	color: var(--pcc-accent, var(--pf-primary-ink));
	line-height: 1;
}

.pfs-checkout-gate__btn {
	color: var(--pf-ink) !important;
}
.pfs-checkout-gate__title {
	margin: .75rem 0 .5rem;
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--pcc-ink, var(--pf-ink));
}
.pfs-checkout-gate__desc {
	margin: 0;
	font-size: .9rem;
	line-height: 1.9;
	color: var(--pcc-muted, var(--pf-muted));
}
.pfs-checkout-gate__actions {
	padding: 1.5rem;
	text-align: center;
}
.pfs-checkout-gate__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	width: 100%;
	padding: .9rem 1.5rem;
	font-size: 1rem;
	font-weight: 700;
	color: var(--pf-on-primary);
	background: var(--pcc-accent, var(--pf-primary));
	border-radius: var(--pf-radius);
	text-decoration: none;
	transition: background .15s ease;
}
.pfs-checkout-gate__btn:hover {
	background: var(--pcc-accent-d, var(--pf-primary-dark));
	color: var(--pf-on-primary);
}
.pfs-checkout-gate__btn .ti {
	font-size: 1.2rem;
}

/* ═══════════════════════════════════════════════════════════════
   باکس کد تخفیف — ستون خلاصهٔ سفارش (همیشه‌باز)
   ═══════════════════════════════════════════════════════════════ */
.pfs-coupon {
	background: var(--pcc-card);
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius-sm);
	box-shadow: var(--pcc-shadow-sm);
	padding: 1rem 1.1rem;
	margin-block: 0 1.1rem;
}
.pfs-coupon__head {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-block-end: .7rem;
}
.pfs-coupon__icon {
	font-size: 1.2rem;
	color: var(--pcc-accent);
}
.pfs-coupon__title {
	font-weight: 700;
	font-size: .98rem;
	color: var(--pcc-ink);
}
/* چیدمان عمودی صریح: فیلد بالا، دکمه پایین با فاصلهٔ تضمین‌شده (margin، نه فقط gap) */
.pfs-coupon__form {
	display: block;
}
.pfs-coupon__input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--pcc-border);
	border-radius: var(--pcc-radius-sm);
	background: var(--pcc-soft);
	padding: .7rem .9rem;
	font: inherit;
	font-size: .92rem;
	color: var(--pcc-ink);
	transition: border-color .15s, box-shadow .15s;
}
.pfs-coupon__input:focus {
	outline: none;
	border-color: var(--pcc-accent);
	background: var(--pf-surface);
	box-shadow: 0 0 0 3px var(--pcc-accent-l);
}
.pfs-coupon__btn {
	min-height: 44px;
	display: inline-block;
	margin-block-start: 1rem; /* فاصله از فیلد بالا */
	border: 0;
	border-radius: var(--pcc-radius-sm);
	background: var(--pcc-accent);
	color: var(--pf-on-primary);
	font: inherit;
	font-weight: 700;
	font-size: .9rem;
	padding-block: .7rem;
	padding-inline: 1.6rem;
	cursor: pointer;
	white-space: nowrap;
	transition: background .15s, transform .05s;
}
.pfs-coupon__btn:hover {
	background: var(--pcc-accent-d);
}
.pfs-coupon__btn:active {
	transform: translateY(1px);
}
@media (max-width: 480px) {
	.pfs-coupon__btn {
		width: 100%;
	}
}
