/**
 * Hesabix2 × WooCommerce — ظاهر یکپارچه، RTL-first
 * بدون stylesheet پیش‌فرض افزونه (woocommerce_enqueue_styles خالی شده است).
 */

/* ——— پایه و قاب ——— */

.woocommerce,
.woocommerce-page {
	color: var(--slate-800);
	font-variant-numeric: tabular-nums;
}

.hesabix-wc__shell {
	max-width: min(90rem, calc(100% - 2rem));
	margin-inline: auto;
	padding-block: clamp(1.25rem, 4vw, 2rem);
}

.page-outer > .hesabix-wc__shell {
	padding-block: 0;
}

.hesabix-wc--wrapped-page .hesabix-wc__shell--narrow {
	max-width: min(72rem, calc(100% - 2rem));
	margin-inline: auto;
	padding-inline: clamp(0.75rem, 4vw, 1.5rem);
	padding-block: clamp(1rem, 3vw, 2rem);
}

.page-outer > .hesabix-wc__shell--narrow {
	padding-block: 0;
	padding-inline: 0;
}

.hesabix-wc__card {
	overflow: clip;
	box-shadow: var(--shadow-md, 0 10px 15px -3px rgba(15, 23, 42, 0.08));
}

.hesabix-wc__card--page-shell .hesabix-wc__shortcode-shell {
	max-width: 100%;
	min-width: 0;
}

.hesabix-wc-page-head {
	margin-block-end: clamp(1rem, 2.5vw, 1.5rem);
}

.hesabix-wc-page-head .hesabix-wc-breadcrumb-nav {
	margin-block-end: 0.85rem;
}

.hesabix-wc-page-title {
	font-size: clamp(1.375rem, 3vw, 1.875rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	color: var(--slate-900) !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}

.hesabix-wc__grid {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	align-items: flex-start;
}

@media (max-width: 1023px) {
	.hesabix-wc__grid--with-sidebar .hesabix-wc__sidebar .hesabix-wc__sidebar-inner {
		border-inline-start: 0;
		padding-inline-start: 0;
		border-block-start: 1px solid var(--slate-200);
		padding-block-start: 1.25rem;
	}
}

@media (min-width: 1024px) {
	.hesabix-wc__grid--solo {
		grid-template-columns: minmax(0, 1fr);
	}

	/* LTR: محتوای اصلی | کنار */
	html:not([dir="rtl"]) .hesabix-wc__grid--with-sidebar {
		grid-template-columns: minmax(0, 1fr) clamp(16.5rem, 24vw, 20rem);
	}

	/* RTL: کنار باریک در شروعٔ متن (= سمت راست صفحه) | محتوای اَز */
	html[dir="rtl"] .hesabix-wc__grid--with-sidebar {
		grid-template-columns: clamp(16.5rem, 24vw, 20rem) minmax(0, 1fr);
	}
}

.hesabix-wc__sidebar-inner {
	position: sticky;
	top: clamp(7rem, 12vh, 8.5rem);
	background: linear-gradient(
		155deg,
		rgba(255, 255, 255, 0.94) 0%,
		var(--light-50) 52%,
		#fff 100%
	);
	border-radius: var(--radius-xl);
	border: 1px solid var(--slate-100);
	box-shadow: var(--shadow-sm);
	padding: clamp(1rem, 2.5vw, 1.25rem);
	min-width: 0;
}

@media (min-width: 1024px) {
	html:not([dir="rtl"]) .hesabix-wc__sidebar-inner {
		border-inline-start: 3px solid var(--brand-200);
		padding-inline-start: clamp(1rem, 2vw, 1.125rem);
	}

	html[dir="rtl"] .hesabix-wc__sidebar-inner {
		border-inline-end: 3px solid var(--brand-200);
		padding-inline-end: clamp(1rem, 2vw, 1.125rem);
	}
}

.hesabix-wc-widget {
	margin-block-end: 1.125rem;
}

.hesabix-wc-widget:last-child {
	margin-block-end: 0;
}

.hesabix-wc-widget__title {
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--slate-500);
	margin: 0 0 0.75rem 0;
}

/* نان‌ریزه */
.hesabix-wc-breadcrumb-nav {
	margin-block-end: 1.125rem;
}

.hesabix-wc-breadcrumb__trail {
	font-size: 0.8125rem;
	color: var(--slate-500);
	line-height: 1.6;
	word-break: break-word;
}

.hesabix-wc-breadcrumb__trail a {
	color: var(--slate-500);
	text-decoration: none !important;
	transition: color 0.2s ease;
	border-radius: 0.35rem;
}

.hesabix-wc-breadcrumb__trail a:hover,
.hesabix-wc-breadcrumb__trail a:focus-visible {
	color: var(--brand-600);
	outline-offset: 2px;
}

.hesabix-wc-bc-sep {
	margin-inline: 0.5rem;
	color: var(--slate-300);
	font-weight: 400;
}

/* ——— اعلان‌ها ——— */

.woocommerce-notices-wrapper:first-child .woocommerce-message,
.woocommerce-notices-wrapper:first-child .woocommerce-info,
.woocommerce-notices-wrapper:first-child .woocommerce-error {
	margin-block-start: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner {
	border-radius: var(--radius-lg) !important;
	border: none !important;
	box-shadow: var(--shadow-sm) !important;
	font-size: 0.9375rem !important;
	line-height: 1.6 !important;
	padding: 1rem 1rem 1rem 1rem !important;
	margin-block: 1rem !important;
}

.woocommerce-message,
.wc-block-components-notice-banner.is-success {
	background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 120%) !important;
	color: #065f46 !important;
}

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%) !important;
	color: #991b1b !important;
}

.woocommerce-info,
.wc-block-components-notice-banner.is-warning,
.wc-block-components-notice-banner.is-info {
	background: linear-gradient(135deg, #f0f9ff 0%, #e0f2fe 100%) !important;
	color: var(--brand-700) !important;
}

.woocommerce-message .button.wc-forward,
.woocommerce-message a:not(.woocommerce-Button):not(.button) {
	box-shadow: 0 1px 4px rgba(2, 132, 199, 0.2);
}

/* ——— عنوان آرشیو ——— */

.woocommerce .page-title {
	font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	color: var(--slate-900) !important;
	margin-block: 0 1rem !important;
	line-height: 1.3 !important;
}

.woocommerce .term-description,
.woocommerce-products-header__title + .woocommerce-archive-description,
.woocommerce .woocommerce-products-header ~ .woocommerce-info {
	max-width: 58ch;
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--slate-600);
}

/* ——— ریتم عمومی فروشگاه (فاصله بین بلوک‌های ووکامرس) ——— */

.hesabix-wc__main .hesabix-wc__card,
.hesabix-wc--wrapped-page .hesabix-wc__card--page-shell {
	padding: clamp(1.35rem, 3.5vw, 2.35rem) !important;
}

.hesabix-woocommerce .woocommerce-before-shop-loop {
	margin-block-end: 1.25rem !important;
}

.hesabix-woocommerce .woocommerce-products-header {
	margin-block-end: clamp(1rem, 2.5vw, 1.5rem);
}

.hesabix-woocommerce .woocommerce-products-header .page-title,
.hesabix-woocommerce .woocommerce-products-header .woocommerce-products-header__title {
	margin-block-end: 0.5rem !important;
}

.hesabix-woocommerce .woocommerce .term-description,
.hesabix-woocommerce .woocommerce-archive-description {
	margin-block-start: 0.5rem;
	margin-block-end: 0;
}

/* ——— آرشیو فروشگاه (چیدمان بازار / فروشگاه آنلاین حرفه‌ای) ——— */

body.hesabix-wc-shop-archive .page-wrap.hesabix-wc,
body.hesabix-wc-shop-archive .hesabix-wc.page-wrap {
	background: linear-gradient(180deg, #e8edf3 0%, #eef2f7 35%, #f3f6fa 100%);
}

body.hesabix-wc-shop-archive .hesabix-wc__main .hesabix-wc__card {
	background: transparent;
	box-shadow: none;
	padding: clamp(0.35rem, 1.5vw, 0.75rem) 0 !important;
	overflow: visible;
}

body.hesabix-wc-shop-archive .woocommerce-breadcrumb {
	background: #fff;
	padding: 0.65rem 1rem;
	border-radius: var(--radius-lg);
	border: 1px solid rgba(15, 23, 42, 0.06);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	margin-block-end: 1rem;
}

body.hesabix-wc-shop-archive .woocommerce-products-header {
	background: #fff;
	padding: 1.15rem 1.25rem;
	border-radius: var(--radius-xl);
	border: 1px solid rgba(15, 23, 42, 0.07);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
	margin-block-end: 1.25rem;
}

body.hesabix-wc-shop-archive .woocommerce-before-shop-loop {
	background: #fff;
	padding: 0.9rem 1.1rem;
	border-radius: var(--radius-xl);
	border: 1px solid rgba(15, 23, 42, 0.07);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05);
	margin-block-end: 1.35rem !important;
	gap: 0.75rem 1rem;
}

body.hesabix-wc-shop-archive ul.products > li.product {
	border-radius: 1rem;
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.06);
	padding-bottom: 0.35rem;
}

body.hesabix-wc-shop-archive ul.products > li.product .woocommerce-loop-product__title {
	min-height: 2.7rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-height: 1.45 !important;
	padding-inline: 1rem !important;
	margin-block-start: 1rem !important;
}

body.hesabix-wc-shop-archive ul.products li.product .price {
	color: var(--brand-600) !important;
	font-size: 1.0625rem !important;
	font-weight: 800 !important;
	margin-inline: 1rem !important;
	margin-block-start: 0.65rem !important;
	margin-block-end: 0.85rem !important;
}

body.hesabix-wc-shop-archive ul.products li.product .price del {
	color: var(--slate-400) !important;
	font-weight: 600 !important;
	font-size: 0.8125rem !important;
	opacity: 0.95;
}

body.hesabix-wc-shop-archive ul.products > li.product .add_to_cart_button {
	margin-inline: 1rem !important;
	margin-block-end: 1.05rem !important;
	border-radius: 0.65rem !important;
}

body.hesabix-wc-shop-archive .hesabix-wc__sidebar-inner {
	border: 1px solid rgba(15, 23, 42, 0.07);
	box-shadow: 0 2px 12px rgba(15, 23, 42, 0.06);
}

.hesabix-woocommerce ul.products {
	margin-block-start: 0.5rem !important;
}

/* فاصلهٔ ویجت‌های سایدبار فروشگاه */
.hesabix-wc__sidebar-inner .hesabix-wc-widget {
	margin-block-end: 1.35rem;
	padding-block-end: 1.25rem;
	border-block-end: 1px solid var(--slate-100);
}

.hesabix-wc__sidebar-inner .hesabix-wc-widget:last-child {
	margin-block-end: 0;
	padding-block-end: 0;
	border-block-end: none;
}

.hesabix-wc-widget__title {
	margin-block-end: 0.85rem !important;
}

/* ——— نوار پیش از حلقه (تعداد نتایج + مرتب‌سازی) ——— */

.woocommerce .woocommerce-result-count {
	font-size: 0.875rem !important;
	color: var(--slate-600) !important;
	margin: 0 !important;
	flex: 1 1 auto;
	min-width: 0;
}

.woocommerce-ordering select.orderby {
	font: inherit !important;
	font-size: 0.875rem !important;
	min-height: 2.75rem !important;
	padding-inline: 0.85rem !important;
	border-radius: var(--radius-lg) !important;
	border: 1px solid var(--slate-200) !important;
	background-color: var(--slate-50) !important;
	max-width: 100%;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-ordering select.orderby:focus {
	outline: none !important;
	border-color: var(--brand-500) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2) !important;
}

@media (max-width: 479px) {
	.woocommerce .woocommerce-result-count ~ .woocommerce-ordering {
		width: 100%;
	}

	.woocommerce-ordering select.orderby {
		width: 100%;
	}
}

/* ——— شبکهٔ محصولات ——— (همهٔ columns-* و بدون وابستگی به فقط ۳/۴) */

.hesabix-woocommerce ul.products {
	display: grid !important;
	gap: clamp(1rem, 2.2vw, 1.5rem);
	margin-block: 0 1rem !important;
	width: 100% !important;
	list-style: none !important;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15.5rem), 1fr));
}

@media (min-width: 480px) {
	.hesabix-woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	.hesabix-woocommerce ul.products.columns-1 {
		grid-template-columns: minmax(0, 1fr);
	}

	.hesabix-woocommerce ul.products.columns-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hesabix-woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hesabix-woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.hesabix-woocommerce ul.products.columns-5 {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.hesabix-woocommerce ul.products.columns-6 {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

ul.products::before {
	display: none !important;
}

ul.products > li.product {
	clear: none !important;
	float: none !important;
	margin: 0 !important;
	max-width: none !important;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	background: #fff;
	border-radius: var(--radius-xl);
	border: 1px solid var(--slate-100);
	box-shadow: var(--shadow-sm);
	overflow: clip;
	transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.22s cubic-bezier(0.22, 1, 0.36, 1);
}

html[dir="rtl"] ul.products > li.product,
html:not([dir="rtl"]) ul.products > li.product {
	clear: none !important;
	width: auto !important;
	padding: 0;
}

ul.products > li.product:hover {
	border-color: rgba(14, 165, 233, 0.25);
	box-shadow: 0 12px 34px -16px rgba(14, 165, 233, 0.19), var(--shadow);
	transform: translateY(-2px);
}

ul.products li.product a:not(.woocommerce-LoopProduct-link) {
	flex-shrink: 0;
	text-decoration: none !important;
}

ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	height: auto;
	flex: 1 1 auto;
}

ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	color: var(--slate-800) !important;
	padding-inline: clamp(0.875rem, 2.5vw, 1rem) !important;
	margin-block-start: clamp(0.75rem, 2vw, 1rem);
	margin-block-end: 0.35rem !important;
}

ul.products li.product .price {
	margin-inline: clamp(0.875rem, 2.5vw, 1rem) !important;
	margin-block-start: auto;
	margin-block-end: 0 !important;
	display: inline-flex !important;
	align-items: baseline;
	gap: 0.4rem !important;
	font-size: 0.9375rem !important;
	font-weight: 700 !important;
	color: var(--brand-600) !important;
}

ul.products li.product .woocommerce-loop-product__link .price {
	flex-wrap: wrap;
}

ul.products li.product .woocommerce-placeholder {
	opacity: 0.6;
	filter: saturate(0.85);
	border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
}

ul.products li.product .woocommerce-loop-product__link {
	min-width: 0;
}

ul.products li.product > a.woocommerce-LoopProduct-link + a {
	margin-top: 0.25rem;
}

ul.products li.product img {
	aspect-ratio: 1 / 1;
	object-fit: cover !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	display: block;
	border-radius: var(--radius-xl) var(--radius-xl) 0 0 !important;
	background: linear-gradient(180deg, var(--slate-50) 30%, var(--light-50) 100%);
}

ul.products li.product .woocommerce-loop-category__title,
ul.products li.product .woocommerce-loop-category__title mark {
	display: inline;
	background: transparent;
	color: var(--brand-600);
	padding: 0;
}

ul.products li.product .woocommerce-loop-category__title {
	padding: 1rem 1rem 1.125rem !important;
	font-weight: 700;
}

ul.products li.product .woocommerce-loop-category__title + .woocommerce-loop-category_link {
	flex: unset;
	display: contents;
}

ul.products li.product .button:not(.checkout):not(.add_to_cart_button) {

	/* بعضیٔ تم‌ها دکمهٔ نامشخص دارند؛ حداقل لینک پیش‌فرض */
	float: none !important;
	align-self: center;
	margin-inline: auto;
	margin-block: 1rem auto;
}

/* دکمه «افزودن به سبد» در شبکه */
ul.products li.product .add_to_cart_button {
	align-self: stretch;
	margin-inline: clamp(0.875rem, 2.5vw, 1rem) !important;
	margin-block-end: 1rem !important;
}

ul.products li.product .button.add_to_cart_button,
ul.products li.product .product_type_external .button.button {
	flex: unset;
	width: calc(100% - 2rem) !important;
	max-width: calc(100% - 2rem);
	margin-inline: auto !important;
	margin-block-start: auto;
	margin-block-end: 1rem !important;
}

ul.products li.product .star-rating {
	margin-inline: clamp(0.875rem, 2.5vw, 1rem);
	margin-block: 0.25rem;
	color: var(--accent-400);
	position: relative;
	font-size: 0.6875rem;
}

ul.products li.product .onsale,
.woocommerce span.onsale {
	background: linear-gradient(135deg, var(--accent-500), #ea580c) !important;
	color: #fff !important;
	min-height: 1.875rem !important;
	min-inline-size: 3.25rem;
	padding: 0.25rem 0.625rem !important;
	border-radius: 999px !important;
	box-shadow: 0 8px 20px rgba(249, 115, 22, 0.28);
	font-weight: 700 !important;
	font-size: 0.75rem !important;
	line-height: 1 !important;
	margin: 0.75rem !important;
	right: unset;
	left: unset !important;
	inset-inline-end: unset;
	inset-inline-start: clamp(0.75rem, 2vw, 1rem);
	inset-block-start: clamp(0.75rem, 2vw, 1rem);
	z-index: 2;
	left: clamp(0.75rem, 2vw, 1rem) !important;

	/** نسبت به کارت؛ موقعیت absolute در WC */
	right: unset !important;
}

html[dir="rtl"] span.onsale {
	left: auto !important;
	right: clamp(0.75rem, 2vw, 1rem) !important;
}

/* پاک‌سازی فروش پیش‌فرض روی PDP */
.single-product div.product .onsale {

	/** در wc معمولا absolute */
	right: clamp(1rem, 3vw, 1.75rem);
	left: auto !important;
}

html[dir="rtl"] .single-product div.product .onsale {
	left: clamp(1rem, 3vw, 1.75rem);
	right: auto !important;
}

/* ——— دکمه‌های جهانی WooCommerce ——— */

.woocommerce a.button:not(.elementor-button-link),
.woocommerce button.button.alt,
.woocommerce button.button.alt:hover,
.woocommerce #respond input#submit.alt,
.woocommerce #respond input#submit.alt:hover,
.woocommerce-single-button .single_add_to_cart_button,
.woocommerce-cart .checkout-button,
.woocommerce .button.checkout:not(.elementor-button-link) {

	appearance: none;
	border: none !important;
	border-radius: var(--radius-lg) !important;
	background: linear-gradient(135deg, var(--brand-500), var(--brand-600)) !important;
	color: #fff !important;
	box-shadow: 0 8px 16px rgba(14, 165, 233, 0.22), 0 1px 0 rgba(255, 255, 255, 0.12) inset;
	font-weight: 700 !important;
	font-size: 0.9375rem !important;
	line-height: 1.35 !important;
	min-height: 2.875rem !important;
	padding-inline: 1.5rem !important;
	cursor: pointer;
	transition: transform 0.16s ease, filter 0.2s ease, box-shadow 0.2s ease !important;
}

.woocommerce button.button.alt:disabled:hover,
.single_add_to_cart_button:disabled {
	opacity: 0.55 !important;
	cursor: not-allowed !important;
	box-shadow: none !important;
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover:not(:disabled),
.woocommerce #respond input#submit.alt:hover:not(:disabled),
.single_add_to_cart_button:hover:not(:disabled) {

	filter: brightness(1.04);
	transform: translateY(-1px);
	box-shadow: 0 14px 24px rgba(14, 165, 233, 0.28), 0 1px 0 rgba(255, 255, 255, 0.16) inset;
}

.woocommerce a.button:not(.elementor-button-link),
.woocommerce button.button:not(.elementor-button-link):not(.alt),
.woocommerce .button-outline {
	background: linear-gradient(#fff 0%, #f8fafc 100%) !important;
	border: 1px solid var(--slate-200) !important;
	color: var(--slate-800) !important;
	box-shadow: var(--shadow-sm) !important;
}

.woocommerce a.button.loading::after {

	/** اسپینر WC */
	filter: saturate(3);
	opacity: 0.75;
	top: unset;
}

.form-row.place-order .woocommerce .button.alt {
	box-shadow: 0 8px 20px rgba(14, 165, 233, 0.3);
	min-height: 3.25rem !important;
	font-size: 1rem !important;
	padding-inline: clamp(2rem, 6vw, 3rem);
}

.page-card .checkout-button.alt {
	align-self: center;
}

.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
	margin: 0;
}

/* ورودی بازهٔ تعداد */
.woocommerce-page .quantity .qty,

/* classic */
.cart .qty {
	border-radius: var(--radius) !important;
	border: 1px solid var(--slate-200) !important;
	padding: 0.45rem !important;
	text-align: center !important;
	font-weight: 600 !important;
	min-height: 2.75rem;
	width: clamp(5rem, 18vw, 6.5rem);
}

.cart .coupon .input-text {
	flex: 1 1 auto;
	min-width: 0;
	border-radius: var(--radius) !important;
	border: 1px solid var(--slate-200) !important;
	padding: 0.65rem !important;
}

/* ——— پیش از حلقهٔ محصول ——— */

.woocommerce-products-header + .woocommerce-notices-wrapper {
	margin-block-end: 0.5rem;
}

.woocommerce .woocommerce-ordering {
	float: none !important;
}

/* نوار تعداد نتایج + مرتب‌سازی: همیشه فاصله مناسب (موبایل و دسکتاپ) */
.woocommerce .woocommerce-before-shop-loop:not(:empty) {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	gap: 0.85rem;
	margin-block: 0 1.25rem;
	padding-block: 0 0.85rem;
	border-block-end: 1px solid var(--slate-100);
	clear: both !important;
}

@media (min-width: 560px) {
	.woocommerce .woocommerce-before-shop-loop:not(:empty) {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.75rem 1rem;
	}
}

body.hesabix-wc-shop-archive .woocommerce-before-shop-loop:not(:empty) {
	padding: 0.9rem 1.1rem !important;
	margin-block-end: 1.35rem !important;
	border-block-end: none;
}

.form-row.place-order .button.alt,
.form-row.place-order #place_order {
	width: 100%;
}

/* ——— تک‌محصول ——— */

.single-product .hesabix-wc__card {
	padding-inline: clamp(1.25rem, 3vw, 2rem);
	padding-block-end: clamp(1rem, 2vw, 1.75rem);
}

.single-product div.product {
	position: relative;
	display: grid;
	gap: clamp(1.35rem, 3.5vw, 2.5rem);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* بدون stylesheet پیش‌فرض ووکامرس، onsale در جریان گرید می‌ماند و چیدمان دوستونه را می‌شکند */
.single-product div.product > span.onsale {
	position: absolute !important;
	margin: 0 !important;
	width: max-content;
	max-width: min(100%, 12rem);
	z-index: 3;
}

.single-product div.product > .woocommerce-product-gallery,
.single-product div.product > div.images {
	float: none !important;
	width: 100% !important;
	max-width: 100%;
	min-width: 0;
}

@media (min-width: 900px) {
	.single-product div.product {
		grid-template-columns: minmax(0, min(48%, 520px)) minmax(0, 1fr);
		align-items: start;
	}

	.single-product div.product > .woocommerce-product-gallery,
	.single-product div.product > div.images {
		grid-column: 1;
		grid-row: 1;
	}

	.single-product div.product > .summary.entry-summary {
		grid-column: 2;
		grid-row: 1;
		align-self: start;
	}

	/* تبِ توضیحات، محصولات مرتبط و … باید تمام عرض کانتینر را بگیرند نه فقط ستون اول */
	.single-product div.product > .woocommerce-tabs,
	.single-product div.product > section.related.products,
	.single-product div.product > section.upsells.products,
	.single-product div.product > .related.products,
	.single-product div.product > .upsells.products {
		grid-column: 1 / -1;
		width: 100%;
		max-width: none;
		min-width: 0;
	}
}

.single-product .woocommerce-product-gallery {
	border-radius: var(--radius-xl);
	border: 1px solid var(--slate-100);
	background: #fff;
	padding: clamp(0.875rem, 2vw, 1.125rem);
	box-shadow: var(--shadow-sm);
}

.single-product .woocommerce-product-gallery .flex-viewport {
	border-radius: calc(var(--radius-xl) - 5px);
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs {
	clear: unset !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 0.5rem;
	margin-block: 1rem 0 !important;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li {
	float: none !important;
	width: calc(33.333% - 0.5rem);
	max-width: 5rem;
}

.single-product .woocommerce-product-gallery ol.flex-control-thumbs li img {
	border-radius: var(--radius);
	border: 1px solid var(--slate-100);
	transition: opacity 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
	opacity: 0.92;
	object-fit: cover;
}

.single-product div.product div.summary.entry-summary {
	min-width: 0;
	width: 100%;
	max-width: none;
	float: none !important;
}

.single-product div.product div.summary.entry-summary h1.product_title {
	font-size: clamp(1.5rem, 3.5vw, 2rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	color: var(--slate-900);
	margin-block: 0 0.75rem;
	line-height: 1.3;
}

.single-product div.product p.price {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: var(--brand-600) !important;
	margin-block-end: 1rem;
}

.single-product div.product div.summary.entry-summary .woocommerce-product-details__short-description {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--slate-600);
}

.single-product div.product form.cart div.quantity {
	display: inline-flex;
	align-items: center;
	margin-inline-end: 0.75rem !important;
	margin-block-end: 0.75rem;
}

.single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.65rem 0.85rem;
	max-width: 100%;
}

.single-product div.product form.cart .single_add_to_cart_button {
	flex: 1 1 auto;
	min-width: min(100%, 11rem);
}

.single-product table.variations td,
.single-product table.variations th {
	vertical-align: middle;
	padding: 0.4rem !important;
}

.single-product div.product div.woocommerce-tabs {
	margin-block-start: clamp(2rem, 4vw, 2.75rem);
	padding-block-start: 1rem;
	border-block-start: 1px solid var(--slate-100);
	clear: both;
	width: 100%;
	max-width: none;
}

.single-product div.product .woocommerce-Tabs-panel,
.single-product div.product #reviews {
	max-width: none;
	width: 100%;
}

.single-product ul.tabs {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	gap: 0.5rem !important;
}

.single-product ul.tabs::before {
	display: none !important;
}

.single-product ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 999px !important;
	background: var(--slate-100);
}

.single-product ul.tabs li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.62rem 1.15rem !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	color: var(--slate-600) !important;
	text-decoration: none !important;
}

.single-product ul.tabs li.active,
.single-product ul.tabs li:hover {
	background: linear-gradient(135deg, var(--brand-500), var(--brand-600));
}

.single-product ul.tabs li.active a,
.single-product ul.tabs li:hover a {
	color: #fff !important;
}

.single-product div.woocommerce-Tabs-panel {
	border-radius: var(--radius-lg);
	padding: clamp(1rem, 2vw, 1.35rem);
	background: var(--slate-50);
	border: 1px solid var(--slate-100);
	font-size: 0.9375rem;
	line-height: 1.75;
}

/* ——— سبد خرید ——— */

.woocommerce-cart .woocommerce-cart-form {
	display: block;
	margin-block-end: clamp(1.25rem, 3vw, 2rem);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
}

.shop_table.cart,
.shop_table.woocommerce-cart-form__contents {
	border-collapse: collapse;
	width: 100%;
	min-width: min(36rem, 100%);
	table-layout: auto;
	box-shadow: var(--shadow-sm);
	border-radius: var(--radius-lg);
	overflow: hidden;
	border: 1px solid var(--slate-100);
	margin-block-end: 1rem;
}

.shop_table.cart th,
.shop_table.woocommerce-cart-form__contents th {
	background: var(--light-50);
	padding: clamp(0.65rem, 2vw, 0.875rem);
	font-weight: 700;
	font-size: 0.8125rem !important;
	color: var(--slate-700);
	border-block-end: 1px solid var(--slate-200);
}

.shop_table.cart td,
.shop_table.woocommerce-cart-form__contents td {
	border-block-start: 1px solid var(--slate-100);
	padding: clamp(0.75rem, 2vw, 1rem);
	font-size: 0.9375rem;
	vertical-align: middle;
}

.cart-collaterals .cart_totals,
.cross-sells,
.woocommerce .cart-collaterals {
	margin-block-start: clamp(1.75rem, 4vw, 2.25rem);
}

.cart-collaterals .cart_totals h2 {
	font-size: 1.0625rem;
	font-weight: 800;
	color: var(--slate-800);
	border-block-end: 2px solid var(--brand-200);
	padding-block-end: 0.5rem;
	margin-block-end: 1rem;
}

.actions .coupon + .coupon,
.cart_totals.calculated_shipping td,
.cart-collaterals .cart_totals table {
	border-collapse: collapse;
	table-layout: auto;
	box-shadow: var(--shadow-sm);
	border-radius: var(--radius-lg);
	overflow: clip;
	width: 100%;
}

.cart-collaterals .cart_totals .shop_table th,
.cart-collaterals .cart_totals .shop_table td {
	padding: 0.75rem 1rem !important;
	border-block-end: 1px solid var(--slate-100);
}

.cart-collaterals .cart_totals .shop_table tbody tr:last-child th,
.cart-collaterals .cart_totals .shop_table tbody tr:last-child td {
	border-block-end: none;
	font-weight: 800;
	font-size: 1.0625rem;
}

.woocommerce-cart .actions button.button:not(.elementor-button-link) {

	/** دکمه بروزرسانی سبد */
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--brand-600);
	text-decoration: underline;
	font-weight: 600 !important;
}

.woocommerce-cart .actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding-block-start: 0.75rem;
}

.woocommerce-cart .actions .coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.5rem;
	flex: 1 1 260px;
}

.woocommerce-cart .actions .coupon .input-text {
	min-width: min(240px, 100%);
	flex: 1 1 auto;
}

.woocommerce-cart .actions button[name="apply_coupon"] {
	flex-shrink: 0;
}

@media (max-width: 679px) {
	.woocommerce-cart .actions .coupon {
		width: 100%;
	}
}

.related.products ul.products,
.upsells.products ul.products {
	margin-block-start: 1rem;
}

.related.products > h2,
.upsells.products > h2,
.cross-sells h2 {
	display: inline-block;
	font-size: clamp(1.0625rem, 2vw, 1.25rem);
	font-weight: 800;
	color: var(--slate-800);
	border-block-end: 2px solid var(--brand-200);
	padding-block-end: 0.35rem;
	margin-block: 2rem 1rem !important;
}

.woocommerce nav.woocommerce-pagination {
	margin-block: clamp(1.75rem, 4vw, 2.25rem) 0 !important;
	text-align: center !important;
}

.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex !important;
	flex-wrap: wrap;
	justify-content: center;
	list-style: none !important;
	gap: 0.375rem !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li {
	display: inline-flex !important;
	margin: 0 !important;
	border: none !important;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 2.375rem !important;
	min-height: 2.375rem !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center !important;
	border-radius: var(--radius) !important;
	border: 1px solid var(--slate-200) !important;
	background: var(--slate-50) !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	line-height: 1 !important;
	padding: 0 0.4rem !important;
	color: var(--slate-700);
	text-decoration: none !important;
	transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}

.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--brand-500) !important;
	border-color: var(--brand-500) !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(14, 165, 233, 0.28);
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:focus-visible {
	border-color: var(--brand-500) !important;
	color: var(--brand-600);
	background: #fff !important;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text {
	border-radius: var(--radius) !important;
	border: 1px solid var(--slate-200) !important;
	padding: 0.55rem 0.75rem !important;
	font-size: 0.9375rem !important;
	line-height: 1.5 !important;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
	outline: none !important;
	border-color: var(--brand-500) !important;
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2) !important;
}

/* ——— فرم‌ها و چک‌اوت: برچسب، فاصلهٔ فیلد، ستون‌ها ——— */

.woocommerce form .form-row {
	margin: 0 0 1.125rem !important;
	padding: 0 !important;
}

.woocommerce form .form-row label {
	display: block;
	margin-block-end: 0.4rem;
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--slate-700);
	line-height: 1.4;
}

.woocommerce form .form-row .optional {
	font-weight: 500;
	color: var(--slate-400);
	font-size: 0.8125rem;
}

.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper {
	display: grid;
	gap: 1rem 1.25rem;
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 560px) {
	.woocommerce-billing-fields__field-wrapper,
	.woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-billing-fields__field-wrapper .form-row-wide,
	.woocommerce-shipping-fields__field-wrapper .form-row-wide {
		grid-column: 1 / -1;
	}
}

/* داخل این گِپ‌گذارها؛ حاشیهٔ پایینی هر فیلد حذف تا با gap تداخل نکند */
.woocommerce-billing-fields__field-wrapper .form-row,
.woocommerce-shipping-fields__field-wrapper .form-row {
	margin-bottom: 0 !important;
}

.woocommerce-checkout form.checkout.woocommerce-checkout {
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3.5vw, 2.5rem);
	margin: 0;
}

.woocommerce-checkout .col2-set#customer_details {
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	width: 100%;
	margin: 0;
	float: none !important;
}

@media (min-width: 769px) {
	.woocommerce-checkout .col2-set#customer_details {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	.woocommerce-checkout .col2-set#customer_details .col-1,
	.woocommerce-checkout .col2-set#customer_details .col-2 {
		width: 100% !important;
		float: none !important;
		margin: 0 !important;
	}
}

.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-shipping-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3,
.woocommerce-checkout #order_review_heading {
	font-size: 1.125rem !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	color: var(--slate-900) !important;
	margin: 0 0 1.125rem !important;
	padding-block-end: 0.65rem !important;
	border-block-end: 1px solid var(--slate-100);
	line-height: 1.35 !important;
}

.woocommerce-checkout .woocommerce-account-fields {
	margin-block-start: 0.5rem;
	padding: 1rem 1.15rem;
	background: var(--slate-50);
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
}

.woocommerce-checkout .woocommerce-account-fields .create-account {
	margin: 0 !important;
}

.woocommerce-checkout #order_review_heading {
	margin-block-start: 0.25rem !important;
}

.woocommerce-checkout #order_review.woocommerce-checkout-review-order {
	margin: 0;
	padding: 0;
}

#order_review,
.woocommerce-checkout-review-order-table {
	border-radius: var(--radius-lg);
	overflow: clip;
	border: 1px solid var(--slate-100) !important;
	box-shadow: var(--shadow-sm);
	background: #fff;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
	padding: 0.9rem 1.1rem !important;
	vertical-align: middle !important;
	border-color: var(--slate-100) !important;
}

.woocommerce-checkout-review-order-table .cart_item td.product-name {
	line-height: 1.45;
	padding-block: 1rem !important;
}

.checkout_coupon.woocommerce-form-coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.65rem 0.75rem;
	padding: 1rem 1.15rem !important;
	margin-block-end: 0.75rem !important;
	border-radius: var(--radius-lg);
	border: 1px dashed var(--brand-200);
	background: linear-gradient(to bottom right, var(--light-50), #fff);
}

.checkout_coupon.woocommerce-form-coupon .input-text {
	flex: 1 1 12rem;
	min-width: min(14rem, 100%);
	min-height: 2.75rem;
}

.checkout_coupon.woocommerce-form-coupon button {
	flex-shrink: 0;
}

.woocommerce-checkout #payment {
	border-radius: var(--radius-lg);
	border: 1px solid var(--slate-100);
	background: linear-gradient(to bottom, var(--slate-50) 0%, #fafbfc 100%);
	margin-block-start: 1.5rem;
	padding: 1rem 1.15rem !important;
}

.woocommerce-checkout #payment ul.payment_methods {
	border-block-end-color: var(--slate-200) !important;
	padding-inline: 0 !important;
	margin-block-end: 1rem !important;
	display: grid;
	gap: 0.75rem !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
	cursor: pointer;
	padding: 0.75rem 0.85rem !important;
	background: #fff;
	border-radius: var(--radius);
	border: 1px solid var(--slate-100);
	transition: border-color 0.2s, box-shadow 0.2s;
	display: block;
}

.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input.input-radio:checked) label {
	border-color: var(--brand-400);
	box-shadow: 0 2px 12px rgba(14, 165, 233, 0.12);
	background: rgba(14, 165, 233, 0.04);
}

.woocommerce-checkout #payment div.payment_box {
	margin-block-start: 0.65rem !important;
	padding: 0.85rem 1rem !important;
	line-height: 1.65;
	font-size: 0.90625rem;
	background: var(--slate-50) !important;
	border-radius: var(--radius);
	border: 1px solid var(--slate-100);
}

.woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout #payment .form-row.place-order {
	margin-block-start: 1rem !important;
	padding-block-start: 0.75rem !important;
	border-block-start: 1px solid var(--slate-200);
}

body.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
	line-height: 1.65;
	display: flex;
	flex-direction: column;
	gap: clamp(1rem, 2.5vw, 1.5rem);
}

body.woocommerce-account .woocommerce-orders-table thead th {
	font-size: 0.78125rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--slate-500);
	padding: 0.75rem 0.95rem !important;
}

body.woocommerce-account .woocommerce-orders-table td {
	padding: 0.95rem !important;
	vertical-align: middle;
}

body.woocommerce-account .woocommerce-orders-table tbody tr:nth-child(even) {
	background: rgba(248, 250, 252, 0.65);
}

.woocommerce-order ul.order_details {
	display: block;
	margin-block: clamp(1.25rem, 3vw, 2rem) !important;
	padding: 1.15rem 1.35rem !important;
	list-style: none !important;
	background: linear-gradient(145deg, var(--slate-50) 0%, #ffffff 92%);
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-xl);
	box-shadow: var(--shadow-sm);
}

.woocommerce-order ul.order_details li {
	margin: 0 !important;
	padding: 0.72rem 0 !important;
	border-block-end: 1px solid var(--slate-100);
	line-height: 1.55;
	overflow-wrap: break-word;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
}

.woocommerce-order ul.order_details li:last-child {
	padding-block-end: 0 !important;
	border-block-end: none !important;
}

.woocommerce-order ul.order_details strong {
	flex-shrink: 0;
	text-align: end;
	min-width: fit-content;
}

.woocommerce-MyAccount-navigation {
	background: var(--light-50);
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-xl);
	padding: clamp(0.85rem, 2vw, 1rem);
	margin-block-end: 1.5rem;
	box-shadow: var(--shadow-sm);
}

.woocommerce-MyAccount-navigation ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem !important;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0 !important;
}

.woocommerce-MyAccount-navigation ul li a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.95rem !important;
	border-radius: 999px;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	color: var(--slate-600) !important;
	text-decoration: none !important;
	background: #fff;
	border: 1px solid transparent;
	transition: border-color 0.2s, color 0.2s, background 0.2s;
}

.woocommerce-MyAccount-navigation ul li a:hover {
	border-color: var(--brand-200);
	color: var(--brand-600) !important;
}

.woocommerce-MyAccount-navigation ul li.is-active a {
	border-color: var(--brand-500);
	background: linear-gradient(135deg, var(--brand-500), var(--brand-600));
	color: #fff !important;
}

body.woocommerce-account form.edit-account,
body.woocommerce-account form.woocommerce-address-form fieldset {
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	padding: clamp(1.15rem, 3vw, 1.65rem);
	background: var(--slate-50);
}

body.woocommerce-account form.edit-account .form-row,
body.woocommerce-account form.woocommerce-address-form .form-row {
	margin-bottom: 1rem !important;
}

.select2-container--default .select2-selection--single {
	border-radius: var(--radius) !important;
	border: 1px solid var(--slate-200) !important;
	min-height: 2.625rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: calc(2.625rem - 2px);
	padding-inline: 0.6rem !important;
}

.select2-dropdown {
	border-color: var(--slate-200) !important;
	border-radius: var(--radius) !important;
}

/* -------------------------------------------------------------------------
   فاز ۲ — بلوک Cart/Checkout، نظرات، انواع محصول، سفارش، حساب، store notice
   ------------------------------------------------------------------------- */

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	font-family: inherit !important;
	color: inherit !important;
	line-height: 1.65;
	max-width: 100%;
}

body.hesabix-wc-cart .hesabix-wc__shortcode-shell .wp-block-woocommerce-cart ~ .wp-block-woocommerce-cart {
	display: none !important;
}

body.hesabix-wc-cart .hesabix-wc--wrapped-page .wp-block-woocommerce-cart,
body.hesabix-wc-checkout .hesabix-wc--wrapped-page .wp-block-woocommerce-checkout {
	padding-block: 0.25rem;
}

.wp-block-woocommerce-cart .wc-block-cart,
.wp-block-woocommerce-checkout .wc-block-checkout {
	gap: clamp(1.25rem, 3vw, 2rem);
}

.wc-block-components-sidebar-layout {
	gap: clamp(1.25rem, 3vw, 2.25rem) !important;
}

.wc-block-components-sidebar-layout .wc-block-components-main,
.wc-block-components-sidebar-layout .wc-block-components-sidebar {
	padding: 0 !important;
}

.wc-block-cart__main,
.wc-block-checkout__main {
	padding: 0 !important;
}

.wc-block-cart-items__row {
	padding-block: 1rem !important;
	gap: 1rem;
	border-block-end: 1px solid var(--slate-100);
}

.wc-block-cart .wc-block-cart__submit-container,
.wc-block-components-checkout-place-order-button {
	margin-block-start: 1rem;
}

.wc-block-cart__empty-cart__title,
.wc-block-cart__empty-cart__title.with-empty-cart-icon {
	text-align: center !important;
	padding: 1rem 0.5rem !important;
}

.wp-block-woocommerce-empty-cart-block,
.wc-block-cart__empty-cart {
	padding: clamp(1.5rem, 4vw, 2.5rem) 1rem !important;
	text-align: center;
}

.wc-block-components-loading-overlay,
.wc-block-components-loading-mask {
	border-radius: var(--radius-lg);
}

.wc-block-checkout .wc-block-components-checkout-step {
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--slate-100);
}

.wc-block-checkout .wc-block-components-checkout-step:last-child {
	border-bottom: none;
}

.wc-block-components-button:not(.is-link) {
	border-radius: var(--radius-lg) !important;
	font-weight: 700 !important;
}

.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 2.875rem !important;
	background: linear-gradient(135deg, var(--brand-500), var(--brand-600)) !important;
	color: #fff !important;
}

.wc-block-components-textfield input,
.wc-block-components-text-input input,
.wc-block-components-select select {
	border-radius: var(--radius) !important;
	border-color: var(--slate-200) !important;
	min-height: 2.625rem !important;
}

.wc-block-components-validation-error,
.wc-block-components-notice-banner.is-error {
	border-radius: var(--radius) !important;
}

.wc-block-components-order-summary,
.wc-block-components-totals-wrapper {
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	padding: 1rem 1.1rem;
	background: var(--slate-50);
}

@media (max-width: 689px) {
	.wc-block-components-sidebar-layout {
		flex-direction: column !important;
	}

	.wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		flex-basis: auto !important;
		width: 100% !important;
	}
}

/* ——— تک‌محصول: meta، موجودی، انواع ——— */

.single-product div.product .product_meta {
	margin-block-start: 1.25rem;
	padding-block-start: 1rem;
	border-block-start: 1px solid var(--slate-100);
	font-size: 0.875rem;
	color: var(--slate-600);
	line-height: 1.75;
}

.single-product div.product .product_meta > span {
	display: block;
	margin-block-end: 0.35rem;
}

.single-product div.product .product_meta a {
	color: var(--brand-600);
	text-decoration: none;
}

.single-product div.product .product_meta a:hover {
	text-decoration: underline;
}

.single-product div.product .stock {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.875rem;
	font-weight: 600;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	margin-block: 0.5rem 0;
}

.single-product div.product .stock.in-stock {
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.single-product div.product .stock.out-of-stock {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

.single-product div.product .stock.available-on-backorder {
	background: #fffbeb;
	color: #92400e;
	border: 1px solid #fde68a;
}

.single-product table.variations {
	width: 100%;
	margin-block-end: 0.75rem;
	border-collapse: collapse;
}

.single-product table.variations label {
	font-weight: 600;
	font-size: 0.875rem;
	color: var(--slate-700);
}

.single-product table.variations select {
	width: 100%;
	min-height: 2.75rem;
	border-radius: var(--radius) !important;
	border: 1px solid var(--slate-200) !important;
	padding: 0.45rem 0.65rem !important;
	font-size: 0.9375rem !important;
}

.single-product a.reset_variations {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--brand-600);
	text-decoration: none;
	margin-inline-start: 0.5rem;
}

.single-product a.reset_variations:hover {
	text-decoration: underline;
}

.single-product .single_variation_wrap .woocommerce-variation-price {
	margin-block: 0.75rem;
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--brand-600);
}

.single-product table.group_table {
	width: 100%;
	border-collapse: collapse;
	margin-block-end: 1rem;
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	overflow: clip;
}

.single-product table.group_table td,
.single-product table.group_table th {
	padding: 0.75rem 1rem;
	border-block-end: 1px solid var(--slate-100);
	vertical-align: middle;
}

.single-product table.group_table tr:last-child td {
	border-block-end: none;
}

.single-product .product-type-external form.cart .single_add_to_cart_button {
	width: 100%;
	text-align: center;
}

/* ——— نظرات محصول ——— */

.single-product #reviews #comments {
	margin-block-end: 1.5rem;
}

.single-product #reviews .woocommerce-Reviews-title {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--slate-900);
	margin-block-end: 1rem;
}

.single-product #reviews .commentlist {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.single-product #reviews .commentlist .comment {
	background: #fff;
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	padding: 1rem 1.15rem;
	box-shadow: var(--shadow-sm);
}

.single-product #reviews .commentlist .comment .meta {
	font-size: 0.8125rem;
	color: var(--slate-500);
	margin-block-end: 0.5rem;
}

.single-product #reviews .commentlist .comment .description {
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--slate-700);
}

.single-product #reviews .commentlist .star-rating {
	margin-block-end: 0.35rem;
	color: var(--accent-400);
}

.single-product #review_form #respond {
	margin-block-start: 1.5rem;
	padding: clamp(1rem, 2.5vw, 1.35rem);
	background: var(--slate-50);
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-xl);
}

.single-product #review_form .comment-form-rating label {
	display: block;
	font-weight: 600;
	margin-block-end: 0.4rem;
}

.single-product #review_form .comment-form-rating .stars {
	display: inline-flex;
	gap: 0.15rem;
	margin-block-end: 0.75rem;
}

.single-product #review_form .comment-form-rating .stars a {
	color: var(--slate-300);
	font-size: 1.125rem;
	text-decoration: none;
	transition: color 0.15s ease;
}

.single-product #review_form .comment-form-rating .stars a:hover,
.single-product #review_form .comment-form-rating .stars.selected a.active {
	color: var(--accent-400);
}

.single-product #review_form textarea,
.single-product #review_form input[type="text"],
.single-product #review_form input[type="email"] {
	width: 100%;
}

/* ——— صفحهٔ تشکر / پرداخت مجدد / پیگیری ——— */

body.hesabix-wc-order-received .woocommerce-thankyou-order-received {
	font-size: clamp(1.125rem, 2.5vw, 1.375rem);
	font-weight: 800;
	color: #065f46;
	background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
	border: 1px solid #a7f3d0;
	border-radius: var(--radius-xl);
	padding: 1.15rem 1.35rem;
	margin-block-end: 1.5rem;
	line-height: 1.55;
}

body.hesabix-wc-order-received .woocommerce-order-overview,
body.hesabix-wc-order-pay .woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-block: 1.25rem 1.75rem;
	padding: 0;
	list-style: none;
}

body.hesabix-wc-order-received .woocommerce-order-overview li,
body.hesabix-wc-order-pay .woocommerce-order-overview li {
	flex: 1 1 min(100%, 10rem);
	margin: 0;
	padding: 0.85rem 1rem;
	background: var(--slate-50);
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	font-size: 0.875rem;
	line-height: 1.5;
}

body.hesabix-wc-order-received .woocommerce-order-overview li strong,
body.hesabix-wc-order-pay .woocommerce-order-overview li strong {
	display: block;
	margin-block-start: 0.25rem;
	font-size: 0.9375rem;
	color: var(--slate-800);
}

.woocommerce-order-details,
.woocommerce-customer-details {
	margin-block: 1.75rem 0;
}

.woocommerce-order-details__title,
.woocommerce-column__title {
	font-size: 1.0625rem;
	font-weight: 800;
	color: var(--slate-800);
	border-block-end: 2px solid var(--brand-200);
	padding-block-end: 0.4rem;
	margin-block-end: 1rem;
}

.woocommerce-table--order-details,
.woocommerce-table--order-downloads {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	overflow: clip;
	box-shadow: var(--shadow-sm);
}

.woocommerce-table--order-details th,
.woocommerce-table--order-details td,
.woocommerce-table--order-downloads th,
.woocommerce-table--order-downloads td {
	padding: 0.75rem 1rem;
	border-block-end: 1px solid var(--slate-100);
}

form.woocommerce-form-track-order {
	display: grid;
	gap: 1rem;
	max-width: 36rem;
	padding: clamp(1.15rem, 3vw, 1.65rem);
	background: var(--slate-50);
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-xl);
}

form.woocommerce-form-track-order .form-row-first,
form.woocommerce-form-track-order .form-row-last {
	width: 100%;
	float: none;
}

form.woocommerce-form-track-order button[type="submit"] {
	width: 100%;
}

/* ——— حساب کاربری: layout دو ستونه ——— */

@media (min-width: 900px) {
	body.woocommerce-account .hesabix-wc__shortcode-shell > .woocommerce {
		display: grid;
		grid-template-columns: minmax(13.5rem, 17rem) minmax(0, 1fr);
		gap: clamp(1.25rem, 3vw, 2rem);
		align-items: start;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-block-end: 0;
		position: sticky;
		top: clamp(6.5rem, 11vh, 8rem);
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul {
		flex-direction: column;
		align-items: stretch;
	}

	body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
		justify-content: flex-start;
		width: 100%;
		border-radius: var(--radius-lg) !important;
	}
}

body.woocommerce-account .woocommerce-MyAccount-downloads .woocommerce-Message,
body.woocommerce-account .woocommerce-info {
	margin-block-end: 1rem;
}

.woocommerce-Address-title h3 {
	font-size: 1rem;
	font-weight: 700;
}

address {
	font-style: normal;
	line-height: 1.65;
}

/* ——— Store notice ——— */

.woocommerce-store-notice,
p.demo_store {
	position: fixed;
	inset-block-end: 0;
	inset-inline: 0;
	z-index: 99998;
	margin: 0 !important;
	padding: 0.85rem 1.25rem !important;
	background: linear-gradient(135deg, var(--brand-600), var(--brand-500)) !important;
	color: #fff !important;
	text-align: center;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.55;
	box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.12);
}

.woocommerce-store-notice a,
p.demo_store a {
	color: #fff;
	font-weight: 700;
	text-decoration: underline;
}

.woocommerce-store-notice__dismiss-link,
p.demo_store .woocommerce-store-notice__dismiss-link {
	display: inline-block;
	margin-inline-start: 0.75rem;
	opacity: 0.9;
}

/* ——— سبد خالی Classic ——— */

.woocommerce-cart .cart-empty,
.woocommerce-info.wc-empty-cart-message {
	text-align: center;
	padding: clamp(1.5rem, 4vw, 2.5rem) 1rem !important;
	font-size: 1rem;
	border-radius: var(--radius-xl);
}

.woocommerce-cart .return-to-shop {
	text-align: center;
	margin-block: 1rem 0;
}

.woocommerce-cart .return-to-shop .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ——— ویجت‌های فیلتر فروشگاه ——— */

.hesabix-wc-widget .woocommerce-widget-layered-nav-list,
.hesabix-wc-widget .product_list_widget {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hesabix-wc-widget .woocommerce-widget-layered-nav-list li,
.hesabix-wc-widget .product_list_widget li {
	margin-block-end: 0.45rem;
	font-size: 0.875rem;
}

.hesabix-wc-widget .woocommerce-widget-layered-nav-list a,
.hesabix-wc-widget .product_list_widget a {
	color: var(--slate-700);
	text-decoration: none;
	transition: color 0.15s ease;
}

.hesabix-wc-widget .woocommerce-widget-layered-nav-list a:hover,
.hesabix-wc-widget .product_list_widget a:hover {
	color: var(--brand-600);
}

.hesabix-wc-widget .price_slider_wrapper {
	padding-block: 0.5rem 0.25rem;
}

.hesabix-wc-widget .price_slider_amount {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-block-start: 0.75rem;
	font-size: 0.875rem;
}

.hesabix-wc-widget .woocommerce-product-search {
	display: flex;
	gap: 0.5rem;
}

.hesabix-wc-widget .woocommerce-product-search input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	border-radius: var(--radius) !important;
	border: 1px solid var(--slate-200) !important;
	padding: 0.55rem 0.75rem !important;
}

.hesabix-wc-widget .woocommerce-product-search button {
	flex-shrink: 0;
	border-radius: var(--radius) !important;
}

/* -------------------------------------------------------------------------
   فاز ۳ — override قالب‌ها، جستجوی محصول، حساب، بلوک Checkout پیشرفته
   ------------------------------------------------------------------------- */

.hesabix-wc-search-header {
	margin-block-end: 1.25rem;
}

.hesabix-wc-search-header__count {
	font-size: 0.875rem;
	color: var(--slate-600);
	margin-block: 0.35rem 1rem;
}

.hesabix-wc-search-header__form {
	max-width: 28rem;
}

.hesabix-wc-product-search {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	align-items: stretch;
}

.hesabix-wc-product-search .search-field {
	flex: 1 1 12rem;
	min-width: 0;
	min-height: 2.75rem;
	border-radius: var(--radius-lg) !important;
	border: 1px solid var(--slate-200) !important;
	padding: 0.55rem 0.85rem !important;
}

.hesabix-wc-product-search .button {
	flex-shrink: 0;
	min-height: 2.75rem;
}

.hesabix-wc-empty-state {
	margin-block: 2rem 1rem;
}

.hesabix-wc-empty-state__inner {
	text-align: center;
	padding: clamp(2rem, 5vw, 3rem) 1.25rem;
	border: 1px dashed var(--slate-200);
	border-radius: var(--radius-xl);
	background: linear-gradient(to bottom, var(--slate-50), #fff);
}

.hesabix-wc-empty-state__message {
	font-size: 1rem;
	font-weight: 600;
	color: var(--slate-600);
	margin: 0 0 1.25rem;
}

.hesabix-wc-empty-state__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.hesabix-wc-order-received-banner {
	display: block;
}

.hesabix-wc-track-order__intro {
	font-size: 0.9375rem;
	color: var(--slate-600);
	line-height: 1.65;
	margin-block-end: 1rem;
}

.hesabix-wc-track-order__fields {
	display: grid;
	gap: 1rem;
	margin-block-end: 0.5rem;
}

.hesabix-wc-track-order__submit {
	margin-block: 0.75rem 0 !important;
}

.hesabix-wc-track-order__submit .button {
	width: 100%;
}

.hesabix-wc-account-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hesabix-wc-account-nav__link {
	display: block;
	width: 100%;
}

@media (min-width: 900px) {
	.hesabix-wc-account-nav__list {
		display: flex;
		flex-direction: column;
		gap: 0.35rem;
	}

	.hesabix-wc-account-nav__link {
		text-align: start;
	}
}

/* Block Checkout — express payment، loading، radio */

.wc-block-components-express-payment,
.wc-block-components-express-payment-continue-rule {
	margin-block: 1rem 1.25rem;
}

.wc-block-components-express-payment__title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--slate-700);
	margin-block-end: 0.65rem;
}

.wc-block-components-express-payment__content {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.wc-block-components-express-payment-button {
	border-radius: var(--radius-lg) !important;
	min-height: 2.75rem !important;
}

.wc-block-checkout.is-loading,
.wc-block-cart.is-loading {
	opacity: 0.72;
	pointer-events: none;
}

.wc-block-components-radio-control__option {
	border: 1px solid var(--slate-100) !important;
	border-radius: var(--radius) !important;
	padding: 0.65rem 0.85rem !important;
	margin-block-end: 0.5rem;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.wc-block-components-radio-control__option-checked,
.wc-block-components-radio-control__option:hover {
	border-color: var(--brand-300) !important;
	box-shadow: 0 2px 10px rgba(14, 165, 233, 0.1);
}

.wc-block-components-shipping-rates-control__package {
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	padding: 0.75rem 0.85rem;
	margin-block-end: 0.65rem;
}

.wc-block-components-notice-banner__content {
	line-height: 1.6;
}

.wc-block-cart__submit-button:disabled,
.wc-block-components-checkout-place-order-button:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

body.hesabix-wc-thankyou-order-failed .woocommerce-thankyou-order-failed {
	border-radius: var(--radius-lg);
	padding: 1rem 1.15rem;
}

body.hesabix-wc-thankyou-order-failed .woocommerce-thankyou-order-failed-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-block-start: 1rem;
}

/* -------------------------------------------------------------------------
   فاز ۴ — پیشخوان حساب، جستجوی فروشگاه، جستجوی محصول در هدر
   ------------------------------------------------------------------------- */

.hesabix-wc-account-dashboard__welcome {
	font-size: 1.0625rem;
	margin-block: 0 0.5rem;
	color: var(--slate-800);
}

.hesabix-wc-account-dashboard__intro {
	font-size: 0.9375rem;
	color: var(--slate-600);
	line-height: 1.65;
	margin-block: 0 1.25rem;
}

.hesabix-wc-account-dashboard__cards {
	display: grid;
	gap: 0.75rem;
	margin-block-end: 1.5rem;
}

@media (min-width: 640px) {
	.hesabix-wc-account-dashboard__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.hesabix-wc-account-dashboard__card {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--slate-100);
	border-radius: var(--radius-lg);
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.hesabix-wc-account-dashboard__card:hover {
	border-color: var(--brand-300);
	box-shadow: 0 4px 16px rgba(14, 165, 233, 0.12);
}

.hesabix-wc-account-dashboard__card-title {
	font-weight: 700;
	color: var(--slate-800);
}

.hesabix-wc-account-dashboard__card-desc {
	font-size: 0.8125rem;
	color: var(--slate-500);
	line-height: 1.5;
}

.hesabix-wc-shop-search {
	margin-block: 0 1.25rem;
	max-width: 32rem;
}

.hesabix-wc-shop-search .hesabix-wc-product-search {
	width: 100%;
}

.hesabix-header-search--product .hesabix-header-search__trigger:focus-visible,
.hesabix-header-search--product.is-open .hesabix-header-search__trigger {
	color: var(--brand-600);
}

.hesabix-mobile-search--product .hesabix-header-search__input::placeholder {
	color: var(--slate-400);
}

