/* Elementor Menu Cart – Quantity Box
   مقادیر پیش‌فرض (ظاهر مشابه باکس تعداد صفحه محصول)؛ همه از تنظیمات ویجت قابل تغییرند. */

/* ---------- نمایش / مخفی بودن بر اساس تنظیمات ویجت ---------- */
.elementor-widget-woocommerce-menu-cart:not(.ecq-show-qty-yes) .ecq-product-qty {
	display: none;
}
.elementor-widget-woocommerce-menu-cart.ecq-show-qty-yes.ecq-hide-static-qty-yes .elementor-menu-cart__product-price .product-quantity {
	display: none;
}

/* ---------- چیدمان ردیف قیمت + باکس تعداد ---------- */
.ecq-show-qty-yes .elementor-menu-cart__product-price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}
/* ظرف "نامرئی" است: باکس و پیغام مستقیماً آیتم‌های flex ردیف قیمت می‌شوند.
   باکس عرض خودش را دارد و پیغام در خط بعد با کل عرض موجود نمایش داده می‌شود. */
.ecq-product-qty {
	display: contents;
}

/* ---------- باکس ---------- */
.ecq-qty {
	display: inline-flex;
	align-items: center;
	box-sizing: border-box;
	background: #fff;
	border-radius: 12px;
	box-shadow: -5px 5px 20px -10px #ccc;
	padding: 5px;
	gap: 2px;
	transition: opacity .2s;
}
.elementor-menu-cart__product.ecq-is-loading .ecq-qty {
	opacity: .5;
	pointer-events: none;
}

/* ---------- دکمه‌ها (روی استایل پیش‌فرض دکمه‌های قالب غلبه می‌کنیم) ---------- */
.ecq-qty .ecq-qty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	box-shadow: none;
	background: var(--ecq-btn-bg, transparent);
	color: var(--ecq-btn-color, #333);
	cursor: pointer;
	line-height: 1;
	transition: color .2s, background-color .2s;
}
.ecq-qty .ecq-qty__btn:hover,
.ecq-qty .ecq-qty__btn:focus {
	background: var(--ecq-btn-hover-bg, transparent);
	color: var(--ecq-btn-hover-color, #82B92A);
	outline: none;
}
.ecq-qty .ecq-qty__btn:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: -2px;
}
.ecq-qty .ecq-qty__btn:disabled {
	background: var(--ecq-btn-bg, transparent);
	color: var(--ecq-btn-disabled-color, #bbb);
	cursor: not-allowed;
}
.ecq-qty .ecq-qty__btn svg {
	width: 18px;
	height: 18px;
	fill: currentColor;
}

/* ---------- ورودی ---------- */
.ecq-qty .ecq-qty__input {
	box-sizing: border-box;
	width: 40px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	box-shadow: none;
	background: var(--ecq-input-bg, transparent);
	color: var(--ecq-input-color, inherit);
	font: inherit;
	text-align: center;
	-moz-appearance: textfield;
}
.ecq-qty .ecq-qty__input:focus {
	outline: none;
	background: var(--ecq-input-focus-bg, #f7f7f7);
	box-shadow: none;
}

/* ---------- پیام خطا ---------- */
.ecq-error {
	/* تمام عرض ستون محصول (از ابتدای ستون تا انتها)؛ با آیتم بعدی قاطی نمی‌شود چون در ردیف جدا می‌آید */
	flex: none;
	width: 100%;
	overflow-wrap: anywhere;
	box-sizing: border-box;
	padding: 6px 10px;
	border-radius: 8px;
	background: #fdecea;
	color: #b3261e;
	font-size: 12px;
	line-height: 1.7;
}
.ecq-error:empty {
	display: none;
}
/* پیش‌نمایش خطا برای استایل‌دهی در ویرایشگر */
.elementor-editor-active .ecq-preview-error-yes .ecq-error:empty {
	display: block;
}
.elementor-editor-active .ecq-preview-error-yes .ecq-error:empty::before {
	content: attr(data-sample);
}

/* ---------- آیکن‌های دکمه حذف ----------
   ماسک هر آیکن در متغیر --ecq-rm-mask است و هم برای دکمه‌ی گوشه (:before) و هم برای دکمه‌ی داخل باکس استفاده می‌شود.
   آیکن پیش‌فرض المنتور (×) در حالت گوشه با دو خط :before/:after ساخته می‌شود؛ برای بقیه :before به ماسک تبدیل
   و :after مخفی می‌شود (رنگ همان background است). */
.elementor-widget-woocommerce-menu-cart {
	--ecq-rm-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 6.4L17.6 5 12 10.6 6.4 5 5 6.4 10.6 12 5 17.6 6.4 19 12 13.4 17.6 19 19 17.6 13.4 12z'/%3E%3C/svg%3E");
}
.elementor-widget-woocommerce-menu-cart.ecq-remove-icon-trash {
	--ecq-rm-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M9 3h6l1 1h4v2H4V4h4l1-1zM6 8h12l-1 13H7L6 8zm4 2v9h1.5v-9H10zm2.5 0v9H14v-9h-1.5z'/%3E%3C/svg%3E");
}
.elementor-widget-woocommerce-menu-cart.ecq-remove-icon-circle {
	--ecq-rm-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M12 2a10 10 0 100 20 10 10 0 000-20zm4.7 12.3l-1.4 1.4-3.3-3.3-3.3 3.3-1.4-1.4 3.3-3.3-3.3-3.3 1.4-1.4 3.3 3.3 3.3-3.3 1.4 1.4-3.3 3.3 3.3 3.3z'/%3E%3C/svg%3E");
}
.elementor-widget-woocommerce-menu-cart.ecq-remove-icon-minus {
	--ecq-rm-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11h16v2H4z'/%3E%3C/svg%3E");
}

/* دکمه‌ی گوشه (رفتار قبلی): آیکن‌های غیر از × */
.ecq-remove-icon-trash .elementor-menu-cart__product-remove:before,
.ecq-remove-icon-circle .elementor-menu-cart__product-remove:before,
.ecq-remove-icon-minus .elementor-menu-cart__product-remove:before,
.ecq-remove-icon-custom .elementor-menu-cart__product-remove:before {
	width: 60%;
	height: 60%;
	left: 20%;
	top: 20%;
	margin: 0;
	transform: none;
	border-radius: 0;
	-webkit-mask-image: var(--ecq-rm-mask);
	mask-image: var(--ecq-rm-mask);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
}
.ecq-remove-icon-trash .elementor-menu-cart__product-remove:after,
.ecq-remove-icon-circle .elementor-menu-cart__product-remove:after,
.ecq-remove-icon-minus .elementor-menu-cart__product-remove:after,
.ecq-remove-icon-custom .elementor-menu-cart__product-remove:after {
	display: none;
}

/* ---------- دکمه‌ی حذف داخل باکس تعداد (پیش‌فرض) ---------- */
/* ترتیب پیش‌فرض (RTL): − ، عدد ، + ، حذف  (با سوئیچ "Swap +/−" جای + و − عوض می‌شود) */
.ecq-qty .ecq-qty__btn--minus { order: 1; }
.ecq-qty .ecq-qty__input { order: 2; }
.ecq-qty .ecq-qty__btn--plus { order: 3; }
.ecq-qty .ecq-qty__remove { order: 4; }
.ecq-swap-pm-yes .ecq-qty .ecq-qty__btn--plus { order: 1; }
.ecq-swap-pm-yes .ecq-qty .ecq-qty__btn--minus { order: 3; }

.ecq-qty .ecq-qty__remove {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	flex: 0 0 auto;
	height: 28px;
	margin: 0;
	margin-inline-start: 6px;
	padding: 0 12px;
	border: 1px solid var(--ecq-rm-border, #f1c4c4);
	border-radius: 8px;
	background: var(--ecq-rm-bg, #fff);
	color: var(--ecq-rm-color, #d63638);
	box-shadow: 0 2px 8px -4px rgba(0, 0, 0, .25);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s;
}
.ecq-show-qty-yes.ecq-remove-loc-box .ecq-qty .ecq-qty__remove {
	display: inline-flex;
}
.elementor-widget-woocommerce-menu-cart:not(.elementor-menu-cart--show-remove-button-yes) .ecq-qty .ecq-qty__remove {
	display: none;
}
.ecq-qty .ecq-qty__remove:hover,
.ecq-qty .ecq-qty__remove:focus {
	background: var(--ecq-rm-hover-bg, #fdecea);
	border-color: var(--ecq-rm-hover-border, #e79a9a);
	color: var(--ecq-rm-hover-color, #b3261e);
	outline: none;
}
.ecq-qty .ecq-qty__remove:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.ecq-qty .ecq-qty__remove-icon {
	flex: 0 0 auto;
	width: var(--ecq-rm-icon-size, 14px);
	height: var(--ecq-rm-icon-size, 14px);
	background: currentColor;
	-webkit-mask: var(--ecq-rm-mask) center / contain no-repeat;
	mask: var(--ecq-rm-mask) center / contain no-repeat;
}
.ecq-qty .ecq-qty__remove-text::before {
	content: var(--ecq-rm-text, "حذف");
}
.ecq-rm-content-text .ecq-qty__remove-icon,
.ecq-rm-content-icon .ecq-qty__remove-text {
	display: none;
}

/* وقتی دکمه‌ی حذف داخل باکس است، دکمه‌ی گوشه و فضای رزروشده‌ی آن حذف می‌شود */
.ecq-show-qty-yes.ecq-remove-loc-box .elementor-menu-cart__product-remove {
	display: none;
}
.ecq-show-qty-yes.ecq-remove-loc-box .elementor-menu-cart__product {
	padding-inline-end: 0;
}

/* ---------- دکمه حذف: فقط ترنسفورم افست (کنترل‌های Offset ویجت) ---------- */
.elementor-menu-cart__product-remove {
	translate: var(--ecq-remove-x, 0) var(--ecq-remove-y, 0);
}

/* ---------- سبد خالی (محتوای دلخواه) ----------
   بلوک .ecq-empty به‌صورت استاتیک داخل ویجت است؛ فقط وقتی پیام خالی بودن ووکامرس داخل مینی‌کارت هست دیده می‌شود. */
.ecq-empty { display: none; padding: 24px 16px; text-align: center; }
.elementor-menu-cart__main:has(.woocommerce-mini-cart__empty-message) .ecq-empty { display: block; }
.ecq-empty-custom-yes .woocommerce-mini-cart__empty-message { display: none; }
.ecq-empty__img { display: block; max-width: 100%; height: auto; margin: 0 auto 16px; }
.ecq-empty__title { margin: 0 0 6px; font-size: 17px; font-weight: 700; line-height: 1.7; }
.ecq-empty__sub { margin: 0 0 16px; font-size: 14px; line-height: 1.8; opacity: .8; }
.ecq-empty__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 22px;
	border-radius: 12px;
	background: #0865fe;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s, color .2s;
}
.ecq-empty__btn:hover { background: #0654d4; color: #fff; }
