/* ==========================================================================
   ImoGift Product UI — ظاهر پیش‌فرض به سبک موبوگیفت
   همه رنگ‌ها/اندازه‌ها متغیرند و ویجت المنتور همین متغیرها را تنظیم می‌کند.
   ========================================================================== */

.igx-form,
.igx-alert,
.igx-user-inputs:not(.igx-form .igx-user-inputs) {
	--igx-font: inherit;
	--igx-accent: #ff6377;

	/* لیست بقیه ریجن‌ها / مبالغ */
	--igx-more-label-color: #9ca3af;
	--igx-select-bg: #f3f5fb;
	--igx-select-color: #434249;
	--igx-select-placeholder: #6b7280;
	--igx-select-border: transparent;
	--igx-select-focus: #e3e6ef;
	--igx-select-radius: 10px;
	--igx-select-pad: 11px 14px 11px 36px;
	--igx-block-gap: 10px;

	/* ریجن‌ها */
	--igx-region-cols: 5;
	--igx-region-dir: row;         /* row = پرچم کنار نام | column = پرچم بالای نام */
	--igx-region-inner-gap: 4px;
	--igx-region-gap: 6px;
	--igx-region-h: 0px;          /* حداقل ارتفاع؛ اندازه اصلی با پدینگ تعیین می‌شود */
	--igx-region-pad: 8px 4px;
	--igx-region-radius: 10px;
	--igx-region-fs: 12px;
	--igx-region-fw: 500;
	--igx-region-color: #434249;
	--igx-region-bg: #ffffff;
	--igx-region-border: #f0f1f4;
	--igx-region-shadow: 0 2px 10px rgba(17, 24, 39, .06);
	--igx-region-hover-color: var(--igx-accent);
	--igx-region-hover-bg: #ffffff;
	--igx-region-hover-border: #ffd0d6;
	--igx-region-active-color: #ffffff;
	--igx-region-active-bg: var(--igx-accent);
	--igx-region-active-border: var(--igx-region-active-bg);
	--igx-region-active-shadow: 0 6px 14px rgba(255, 99, 119, .25);
	--igx-region-justify: center;
	--igx-flag-size: 18px;
	--igx-flag-w: 28px;
	--igx-flag-h: 21px;
	--igx-flag-radius: 5px;

	/* مبالغ */
	--igx-panel-bg: #ffffff;
	--igx-panel-pad: 10px;
	--igx-panel-radius: 14px;
	--igx-panel-shadow: 0 2px 16px rgba(17, 24, 39, .05);
	--igx-panel-border: transparent;
	--igx-amount-cols: 5;
	--igx-amount-gap: 6px;
	--igx-amount-h: 0px;
	--igx-amount-pad: 9px 3px;
	--igx-amount-radius: 10px;
	--igx-amount-fs: 13px;
	--igx-amount-fw: 500;
	--igx-amount-color: #91a2b6;
	--igx-amount-bg: #f3f5fb;
	--igx-amount-border: transparent;
	--igx-amount-hover-color: var(--igx-accent);
	--igx-amount-hover-bg: #fdeef0;
	--igx-amount-active-color: var(--igx-accent);
	--igx-amount-active-bg: #ffe8eb;
	--igx-amount-active-border: var(--igx-amount-active-bg);
	--igx-disabled-opacity: .4;

	/* ورودی‌ها */
	--igx-input-h: 0px;
	--igx-input-pad: 10px 12px;
	--igx-box-pad: 12px;
	--igx-input-radius: 10px;
	--igx-input-bg: #ffffff;
	--igx-input-color: #1f2937;
	--igx-input-border: #e5e7eb;
	--igx-input-focus: var(--igx-accent);
	--igx-label-color: #4b5563;
	--igx-box-bg: #f8f9fc;
	--igx-box-border: #eef0f5;
	--igx-box-radius: 14px;

	/* خلاصه قیمت */
	--igx-sum-divider: #e2e8f0;
	--igx-sum-divider-style: dashed;
	--igx-sum-divider-w: 1px;
	--igx-sum-gap: 14px;
	--igx-unit-label-color: #64748b;
	--igx-unit-color: #64748b;
	--igx-unit-fs: 13.5px;
	--igx-price-label-color: #0f172a;
	--igx-price-label-fs: 17px;
	--igx-price-color: #0f172a;
	--igx-price-fs: 19px;
	--igx-price-fw: 800;
	--igx-price-cur-color: var(--igx-price-color);
	--igx-price-cur-fs: inherit;
	--igx-qty-label-color: #0f172a;
	--igx-qty-label-fs: 15px;

	/* خرید مستقیم */
	--igx-bn-bg: #ffffff;
	--igx-bn-color: #7c5cf0;
	--igx-bn-border: #a78bfa;
	--igx-bn-bw: 1.5px;
	--igx-bn-hover-bg: #f5f3ff;
	--igx-bn-hover-color: #6d4ae8;
	--igx-bn-hover-border: #8b6cf6;

	/* تعداد */
	--igx-qty-h: 40px;
	--igx-qty-w: 44px;
	--igx-qty-btn-w: 40px;
	--igx-qty-bg: #ffffff;
	--igx-qty-border: #e2e8f0;
	--igx-qty-bw: 1px;
	--igx-qty-radius: 10px;
	--igx-qty-color: #0f172a;
	--igx-qty-btn-bg: transparent;
	--igx-qty-btn-color: #0f172a;
	--igx-qty-btn-hover: var(--igx-accent);
	--igx-qty-btn-hover-bg: transparent;

	/* دکمه خرید */
	--igx-buy-h: 48px;
	--igx-buy-radius: 12px;
	--igx-buy-fs: 18px;
	--igx-buy-fw: 500;
	--igx-buy-color: #ffffff;
	--igx-buy-c1: #ae8ef9;
	--igx-buy-c2: #937af3;
	--igx-buy-angle: 90deg;
	--igx-buy-img: linear-gradient(var(--igx-buy-angle), var(--igx-buy-c1), var(--igx-buy-c2));
	--igx-buy-hc1: #a07ff7;
	--igx-buy-hc2: #8468ef;
	--igx-buy-himg: linear-gradient(var(--igx-buy-angle), var(--igx-buy-hc1), var(--igx-buy-hc2));
	--igx-buy-shadow: 0 8px 20px rgba(147, 122, 243, .25);

	/* هشدار */
	--igx-alert-bg: #fffbeb;
	--igx-alert-border: #fde68a;
	--igx-alert-color: #92400e;
	--igx-alert-radius: 10px;
	--igx-alert-fs: 13.5px;

	font-family: var(--igx-font);
	direction: rtl;
	text-align: right;
}

.igx-form [hidden],
.igx-alert[hidden] { display: none !important; }

.igx-form *,
.igx-form *::before,
.igx-form *::after { box-sizing: border-box; }

/* --------------------------------------------------------------------------
   بازنشانی جدول ویژگی‌های ووکامرس (ضد استایل تم/المنتور)
   -------------------------------------------------------------------------- */
.igx-form.igx-form form.cart { margin: 0; padding: 0; display: block; }
.igx-form.igx-form form.cart table.variations,
.igx-form.igx-form form.cart table.variations tbody,
.igx-form.igx-form form.cart table.variations tr,
.igx-form.igx-form form.cart table.variations th,
.igx-form.igx-form form.cart table.variations td {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	text-align: right;
	line-height: normal;
}
.igx-form.igx-form form.cart table.variations { margin-bottom: 0; table-layout: auto; border-collapse: separate; }
.igx-form.igx-form form.cart table.variations tr { margin-bottom: var(--igx-block-gap); }
.igx-form.igx-form form.cart table.variations th.label,
.igx-form.igx-form form.cart table.variations td.label {
	padding-bottom: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--igx-label-color);
}
.igx-form.igx-hide-labels form.cart table.variations th.label,
.igx-form.igx-hide-labels form.cart table.variations td.label { display: none; }

/* سلکت اصلی مخفی می‌ماند ولی در فرم ارسال می‌شود */
.igx-form .igx-native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	opacity: 0 !important;
	pointer-events: none !important;
}
.igx-form.igx-form form.cart .reset_variations,
.igx-form.igx-form form.cart .woocommerce-variation-price { display: none !important; }
.igx-form.igx-form .single_variation_wrap .woocommerce-variation-description p { margin: 0 0 10px; font-size: 13px; color: #6b7280; }
.igx-form.igx-form .single_variation_wrap .woocommerce-variation-availability p { margin: 0 0 10px; font-size: 13px; }

/* --------------------------------------------------------------------------
   گرید و دکمه‌ها
   -------------------------------------------------------------------------- */
.igx-form .igx-grid {
	display: grid;
	direction: rtl;
	width: 100%;
}
.igx-form .igx-region-grid {
	grid-template-columns: repeat(var(--igx-region-cols-xs, var(--igx-region-cols)), minmax(0, 1fr));
	gap: var(--igx-region-gap);
}
.igx-form .igx-amount-grid {
	grid-template-columns: repeat(var(--igx-amount-cols-xs, var(--igx-amount-cols)), minmax(0, 1fr));
	gap: var(--igx-amount-gap);
}

.igx-form.igx-form button.igx-opt {
	all: unset;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-width: 0;
	cursor: pointer;
	font-family: var(--igx-font);
	line-height: 1.3;
	text-align: center;
	white-space: nowrap;
	-webkit-tap-highlight-color: transparent;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease, opacity .18s ease, transform .1s ease;
}
.igx-form.igx-form button.igx-opt:active { transform: scale(.97); }
.igx-form.igx-form button.igx-opt:focus-visible { outline: 2px solid var(--igx-accent); outline-offset: 2px; }
.igx-form .igx-opt-text { overflow: hidden; text-overflow: ellipsis; }
/* نام‌های بلند در دکمه‌های کوچک: حداکثر دو خط، وسط‌چین (به‌جای «…») */
.igx-form.igx-form button.igx-region .igx-opt-text,
.igx-form.igx-form button.igx-amount .igx-opt-text {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	white-space: normal;
	text-align: center;
	max-width: 100%;
}

/* ریجن */
.igx-form.igx-form button.igx-region {
	min-height: var(--igx-region-h);
	padding: var(--igx-region-pad);
	flex-direction: var(--igx-region-dir);
	gap: var(--igx-region-inner-gap);
	justify-content: var(--igx-region-justify);
	align-items: center;
	line-height: 1.25;
	border-radius: var(--igx-region-radius);
	border: 1px solid var(--igx-region-border);
	background: var(--igx-region-bg);
	color: var(--igx-region-color);
	box-shadow: var(--igx-region-shadow);
	font-size: var(--igx-region-fs);
	font-weight: var(--igx-region-fw);
}
.igx-form.igx-form button.igx-region:hover {
	color: var(--igx-region-hover-color);
	background: var(--igx-region-hover-bg);
	border-color: var(--igx-region-hover-border);
}
.igx-form.igx-form button.igx-region.is-active {
	color: var(--igx-region-active-color);
	background: var(--igx-region-active-bg);
	border-color: var(--igx-region-active-border);
	box-shadow: var(--igx-region-active-shadow);
	justify-content: center;
}
.igx-form.igx-hide-active-flag button.igx-region.is-active .igx-flag { display: none; }

.igx-form img.igx-flag {
	flex: 0 0 auto;
	width: var(--igx-flag-size) !important;
	height: var(--igx-flag-size) !important;
	max-width: none;
	margin: 0;
	border-radius: var(--igx-flag-radius);
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, .06);
}
.igx-form.igx-flag-rect { --igx-flag-radius: 3px; }
.igx-form.igx-form.igx-flag-circle img.igx-flag { border-radius: 50%; }
.igx-form.igx-flag-rect img.igx-flag {
	width: var(--igx-flag-w) !important;
	height: var(--igx-flag-h) !important;
}
/* --------------------------------------------------------------------------
   «بقیه ریجن‌ها / بقیه مبالغ» — عنوان + لیست ساده (مثل موبوگیفت)
   -------------------------------------------------------------------------- */
.igx-form.igx-form button.igx-more-toggle.is-active { justify-content: center; }
.igx-form.igx-hide-active-flag button.igx-more-toggle.is-active .igx-flag { display: none; }

.igx-form .igx-more-panel { animation: igx-in .18s ease; }
.igx-form .igx-more-regions {
	margin-top: var(--igx-block-gap);
	padding: var(--igx-panel-pad);
	border-radius: var(--igx-panel-radius);
	background: var(--igx-panel-bg);
	box-shadow: var(--igx-panel-shadow);
	border: 1px solid var(--igx-panel-border);
}
.igx-form .igx-more-amounts { margin-top: 14px; }
.igx-form .igx-more-label {
	display: block;
	margin: 0 0 10px;
	color: var(--igx-more-label-color);
	font-size: 13.5px;
	line-height: 1.6;
}
.igx-form .igx-more-label:empty { display: none; }
.igx-form .igx-select-wrap { position: relative; }
.igx-form.igx-form select.igx-more-select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: var(--igx-select-pad);
	border: 1px solid var(--igx-select-border);
	border-radius: var(--igx-select-radius);
	background: var(--igx-select-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat left 16px center / 12px 12px;
	color: var(--igx-select-color);
	box-shadow: none;
	font-family: var(--igx-font);
	font-size: 14px;
	line-height: 1.5;
	text-align: right;
	direction: rtl;
	text-overflow: ellipsis;
	cursor: pointer;
	outline: none;
	transition: border-color .18s ease;
}
.igx-form.igx-form select.igx-more-select.is-empty { color: var(--igx-select-placeholder); }
.igx-form.igx-form select.igx-more-select:focus,
.igx-form.igx-form select.igx-more-select:hover { border-color: var(--igx-select-focus); }
.igx-form.igx-form select.igx-more-select option { color: #1f2937; background: #fff; }
.igx-form.igx-form select.igx-more-select option:disabled { color: #c0c4cc; }

/* مبالغ */
.igx-form .igx-amounts {
	padding: var(--igx-panel-pad);
	border-radius: var(--igx-panel-radius);
	background: var(--igx-panel-bg);
	box-shadow: var(--igx-panel-shadow);
	border: 1px solid var(--igx-panel-border);
}
.igx-form.igx-form button.igx-amount {
	min-height: var(--igx-amount-h);
	padding: var(--igx-amount-pad);
	justify-content: center;
	border-radius: var(--igx-amount-radius);
	border: 1px solid var(--igx-amount-border);
	background: var(--igx-amount-bg);
	color: var(--igx-amount-color);
	font-size: var(--igx-amount-fs);
	font-weight: var(--igx-amount-fw);
}
.igx-form.igx-form button.igx-amount:hover { color: var(--igx-amount-hover-color); background: var(--igx-amount-hover-bg); }
.igx-form.igx-form button.igx-amount.is-active {
	color: var(--igx-amount-active-color);
	background: var(--igx-amount-active-bg);
	border-color: var(--igx-amount-active-border);
}
.igx-form.igx-form button.igx-opt.is-unavailable { opacity: var(--igx-disabled-opacity); }
.igx-form.igx-form button.igx-opt.is-unavailable:hover { opacity: .7; }

/* --------------------------------------------------------------------------
   مبلغ دلخواه و فیلدهای کاربر
   -------------------------------------------------------------------------- */
.igx-form .igx-custom { margin-top: 14px; animation: igx-in .2s ease; }
.igx-form .igx-custom-label,
.igx-user-inputs .igx-field label {
	display: block;
	margin: 0 0 6px;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--igx-label-color);
}
.igx-form .igx-custom-field,
.igx-user-inputs .igx-field-control { position: relative; }
.igx-form .igx-custom-cur {
	position: absolute;
	inset-inline-end: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 13px;
	color: #9ca3af;
	pointer-events: none;
}
.igx-form .igx-custom-hint { display: block; margin-top: 6px; font-size: 12px; color: #9ca3af; }
.igx-form .igx-custom-error { margin-top: 6px; font-size: 12.5px; color: #dc2626; }
.igx-form .igx-custom-error:empty { display: none; }

.igx-form.igx-form input.igx-input,
body .igx-user-inputs.igx-user-inputs input.igx-input {
	width: 100%;
	height: auto;
	min-height: var(--igx-input-h);
	margin: 0;
	padding: var(--igx-input-pad);
	border: 1px solid var(--igx-input-border);
	border-radius: var(--igx-input-radius);
	background: var(--igx-input-bg);
	color: var(--igx-input-color);
	font-family: var(--igx-font);
	font-size: 14px;
	line-height: normal;
	box-shadow: none;
	outline: none;
	transition: border-color .18s ease, box-shadow .18s ease;
}
.igx-form.igx-form input.igx-custom-input { padding-inline-end: 52px; text-align: right; }
.igx-form.igx-form input.igx-input:focus,
body .igx-user-inputs.igx-user-inputs input.igx-input:focus {
	border-color: var(--igx-input-focus);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--igx-input-focus) 14%, transparent);
}
.igx-form.igx-form input.igx-input.is-invalid { border-color: #dc2626; }
body .igx-user-inputs.igx-user-inputs input[type="password"].igx-input,
body .igx-user-inputs.igx-user-inputs input.igx-input.has-reveal { padding-left: 64px; }

.igx-user-inputs {
	flex: 1 1 100%;
	width: 100%;
	margin: 0 0 6px;
	padding: var(--igx-box-pad, 16px);
	border: 1px solid var(--igx-box-border, #eef0f5);
	border-radius: var(--igx-box-radius, 14px);
	background: var(--igx-box-bg, #f8f9fc);
	direction: rtl;
	text-align: right;
}
.igx-user-inputs .igx-field + .igx-field { margin-top: 12px; }
.igx-user-inputs .igx-req { color: #ef4444; }
.igx-user-inputs input.igx-input::placeholder { text-align: right; direction: rtl; color: #b0b7c3; }
body .igx-user-inputs.igx-user-inputs .igx-reveal {
	all: unset;
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	padding: 4px 8px;
	border-radius: 6px;
	font-size: 12px;
	color: #6b7280;
	cursor: pointer;
}
body .igx-user-inputs.igx-user-inputs .igx-reveal:hover { background: #eef0f5; }

/* --------------------------------------------------------------------------
   «۳. تعداد» + خلاصه قیمت (قیمت هر کارت / مبلغ قابل پرداخت)
   -------------------------------------------------------------------------- */
.igx-form .igx-qty-block {
	flex: 1 1 100%;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between; /* عنوان سمت راست، باکس تعداد سمت چپ (هم‌راستا با مبالغ) */
	gap: 12px;
	width: 100%;
	order: 0;
}
.igx-form .igx-qty-label {
	color: var(--igx-qty-label-color);
	font-size: var(--igx-qty-label-fs);
	font-weight: 700;
	line-height: 1.5;
}
.igx-form.igx-hide-qty .igx-qty-block,
.igx-form .igx-qty-block.igx-qty-fixed { display: none; }

.igx-form .igx-summary {
	flex: 1 1 100%;
	width: 100%;
	box-sizing: border-box;
	margin: 6px 0 4px;
	padding: var(--igx-sum-gap) 0 0;
	border-top: var(--igx-sum-divider-w) var(--igx-sum-divider-style) var(--igx-sum-divider);
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.igx-form.igx-hide-qty .igx-summary { border-top: 0; padding-top: 0; }
.igx-form .igx-sum-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}
.igx-form .igx-sum-val { display: inline-flex; align-items: baseline; gap: 5px; white-space: nowrap; direction: rtl; }
.igx-form .igx-sum-unit .igx-sum-label { color: var(--igx-unit-label-color); font-size: var(--igx-unit-fs); }
.igx-form .igx-sum-unit .igx-sum-val { color: var(--igx-unit-color); font-size: var(--igx-unit-fs); }
.igx-form .igx-sum-total .igx-sum-label { color: var(--igx-price-label-color); font-size: var(--igx-price-label-fs); font-weight: 700; }
.igx-form .igx-sum-total .igx-sum-val { color: var(--igx-price-color); font-size: var(--igx-price-fs); font-weight: var(--igx-price-fw); }
.igx-form .igx-sum-total .igx-sum-cur { color: var(--igx-price-cur-color); font-size: var(--igx-price-cur-fs); }
.igx-form .igx-sum-unit.igx-only-multi { display: none; }
.igx-form .igx-summary.is-multi .igx-sum-unit.igx-only-multi { display: flex; }
.igx-form .igx-sum-empty { display: none; font-size: 13px; color: #94a3b8; }
.igx-form .igx-summary.is-empty .igx-sum-empty { display: block; }
.igx-form .igx-summary.is-empty .igx-sum-val { opacity: .55; }

/* --------------------------------------------------------------------------
   ردیف دکمه خرید
   -------------------------------------------------------------------------- */
.igx-form.igx-form form.cart .woocommerce-variation-add-to-cart,
.igx-form.igx-form form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
	width: 100%;
	margin-top: 16px;
}
/* تعداد */
.igx-form.igx-form form.cart .quantity {
	display: inline-flex;
	align-items: stretch;
	flex: 0 0 auto;
	height: var(--igx-qty-h);
	margin: 0;
	padding: 0;
	border: var(--igx-qty-bw) solid var(--igx-qty-border);
	border-radius: var(--igx-qty-radius);
	background: var(--igx-qty-bg);
	overflow: hidden;
	box-shadow: none;
	direction: rtl;
}
.igx-form.igx-form form.cart .quantity input.qty {
	box-sizing: border-box;
	width: var(--igx-qty-w);
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 0 4px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
	color: var(--igx-qty-color);
	font-family: var(--igx-font);
	font-size: 16px;
	font-weight: 600;
	text-align: center;
}
.igx-form.igx-qty-stepper form.cart .quantity input.qty { -moz-appearance: textfield; appearance: textfield; }
.igx-form.igx-qty-stepper form.cart .quantity input.qty::-webkit-outer-spin-button,
.igx-form.igx-qty-stepper form.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.igx-form.igx-form form.cart .quantity .igx-qty-btn {
	all: unset;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--igx-qty-btn-w);
	background: var(--igx-qty-btn-bg);
	color: var(--igx-qty-btn-color);
	font-family: var(--igx-font);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
	transition: color .15s ease, background-color .15s ease;
}
.igx-form.igx-form form.cart .quantity .igx-qty-btn:hover { color: var(--igx-qty-btn-hover); background: var(--igx-qty-btn-hover-bg); }
.igx-form.igx-form form.cart .quantity .igx-qty-btn:focus-visible { outline: 2px solid var(--igx-accent); outline-offset: -2px; }
.igx-form.igx-form form.cart .quantity label.screen-reader-text { position: absolute !important; }
.igx-form.igx-hide-qty form.cart .quantity { display: none !important; }

.igx-form.igx-form form.cart button.single_add_to_cart_button.button {
	flex: 1 1 0;
	float: none;
	width: 100%;
	max-width: 100%;
	height: var(--igx-buy-h);
	min-height: var(--igx-buy-h);
	margin: 0;
	padding: 0 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: var(--igx-buy-radius);
	background-color: var(--igx-buy-c1);
	background-image: var(--igx-buy-img);
	color: var(--igx-buy-color);
	box-shadow: var(--igx-buy-shadow);
	font-family: var(--igx-font);
	font-size: var(--igx-buy-fs);
	font-weight: var(--igx-buy-fw);
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: filter .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.igx-form.igx-form form.cart button.single_add_to_cart_button.button:hover,
.igx-form.igx-form form.cart button.single_add_to_cart_button.button:focus-visible {
	background-color: var(--igx-buy-hc1);
	background-image: var(--igx-buy-himg);
	color: var(--igx-buy-hover-color, var(--igx-buy-color));
}
/* دکمه خرید مستقیم (حالت «هر دو») */
.igx-form.igx-form form.cart button.single_add_to_cart_button.button.igx-buy-now {
	flex: 1 1 var(--igx-bn-basis, 0%);
	background-color: var(--igx-bn-bg);
	background-image: none;
	color: var(--igx-bn-color);
	border: var(--igx-bn-bw) solid var(--igx-bn-border);
	box-shadow: none;
}
.igx-form.igx-form form.cart button.single_add_to_cart_button.button.igx-buy-now:hover,
.igx-form.igx-form form.cart button.single_add_to_cart_button.button.igx-buy-now:focus-visible {
	background-color: var(--igx-bn-hover-bg);
	background-image: none;
	color: var(--igx-bn-hover-color);
	border-color: var(--igx-bn-hover-border);
}
.igx-form.igx-form form.cart button.single_add_to_cart_button.button.disabled,
.igx-form.igx-form form.cart button.single_add_to_cart_button.button:disabled { opacity: .55; cursor: not-allowed; box-shadow: none; }
.igx-form.igx-form form.cart button.single_add_to_cart_button.button.loading { opacity: .75; }

/* --------------------------------------------------------------------------
   هشدار
   -------------------------------------------------------------------------- */
.igx-alert {
	--igx-alert-border-w: 1px;
	--igx-alert-pad: 12px 14px;
	--igx-alert-gap: 8px;           /* فاصله بین آیتم‌ها */
	--igx-alert-icon-size: 18px;
	--igx-alert-icon-color: currentColor;
	--igx-alert-icon-gap: 8px;
	--igx-alert-icon-bg: transparent;
	--igx-alert-icon-box: auto;
	--igx-alert-icon-radius: 50%;
	--igx-alert-divider: transparent;
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: var(--igx-alert-pad);
	border: var(--igx-alert-border-w) solid var(--igx-alert-border);
	border-radius: var(--igx-alert-radius);
	background: var(--igx-alert-bg);
	color: var(--igx-alert-color);
	font-size: var(--igx-alert-fs);
	line-height: 1.8;
	direction: rtl;
	text-align: right;
	animation: igx-in .25s ease;
}
.igx-alert .igx-alert-list { list-style: none; margin: 0; padding: 0; }
.igx-alert .igx-alert-item {
	display: flex;
	align-items: var(--igx-alert-icon-align, flex-start);
	gap: var(--igx-alert-icon-gap);
	margin: 0;
	padding: 0;
}
.igx-alert .igx-alert-item[hidden] { display: none; }
.igx-alert .igx-alert-item:not([hidden]) ~ .igx-alert-item:not([hidden]) {
	margin-top: var(--igx-alert-gap);
	padding-top: calc(var(--igx-alert-gap) * var(--igx-alert-has-divider, 0));
	border-top: 1px solid var(--igx-alert-divider);
}
.igx-alert .igx-alert-item::before,
.igx-alert .igx-alert-item::marker { content: none; }
.igx-alert .igx-alert-icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--igx-alert-icon-box);
	height: var(--igx-alert-icon-box);
	min-height: 1.8em;
	border-radius: var(--igx-alert-icon-radius);
	background: var(--igx-alert-icon-bg);
	color: var(--igx-alert-icon-color);
	font-size: var(--igx-alert-icon-size);
	line-height: 1;
}
.igx-alert .igx-alert-icon svg,
.igx-alert .igx-alert-icon i,
.igx-alert .igx-alert-icon img { width: var(--igx-alert-icon-size); height: var(--igx-alert-icon-size); font-size: var(--igx-alert-icon-size); }
.igx-alert .igx-alert-icon svg:not(.igx-svg-icon) { fill: currentColor; }
.igx-alert .igx-icon-custom { display: inline-flex; }
.igx-alert .igx-alert-icon .igx-emoji { font-size: var(--igx-alert-icon-size); line-height: 1; }
.igx-alert .igx-alert-text { flex: 1 1 auto; min-width: 0; }
.igx-alert .igx-alert-text a { color: inherit; text-decoration: underline; }

@keyframes igx-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* --------------------------------------------------------------------------
   موبایل
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	/* جلوگیری از زوم خودکار iPhone هنگام لمس فیلدها (فونت کمتر از ۱۶px باعث زوم می‌شود) */
	.igx-form.igx-form input.igx-input,
	.igx-form.igx-form select.igx-more-select,
	body .igx-user-inputs.igx-user-inputs input.igx-input { font-size: 16px; }
	.igx-form.igx-form button.igx-opt { -webkit-user-select: none; user-select: none; }
}
@media (max-width: 480px) {
	.igx-form {
		--igx-region-cols: 4;
		--igx-amount-cols: 5;
		--igx-region-gap: 5px;
		--igx-amount-gap: 5px;
		--igx-region-fs: 11.5px;
		--igx-amount-fs: 12px;
		--igx-region-pad: 7px 3px;
		--igx-region-inner-gap: 4px;
		--igx-amount-pad: 9px 2px;
		--igx-flag-size: 16px;
		--igx-flag-w: 20px;
		--igx-flag-h: 16px;
		--igx-panel-pad: 8px;
		--igx-block-gap: 8px;
		--igx-price-fs: 17px;
		--igx-price-label-fs: 15px;
		--igx-buy-h: 46px;
		--igx-buy-fs: 16px;
		--igx-bn-basis: 100%;
	}
	.igx-user-inputs { --igx-box-pad: 10px; }
}
/* دکمه «بقیه ریجن‌ها»: اگر جا تنگ باشد، آیکون کره حذف می‌شود تا متن کامل دیده شود */
.igx-form.igx-form button.igx-more-toggle.igx-region { container-type: inline-size; }
@container (max-width: 90px) {
	.igx-form button.igx-more-toggle .igx-flag { display: none; }
}
/* گوشی‌های خیلی کوچک (۳۴۰px و کمتر): ۴ ستون تا نام‌ها جا شوند */
@media (max-width: 340px) {
	.igx-form { --igx-region-cols-xs: 4; --igx-amount-cols-xs: 4; }
}
/* گوشی‌های خیلی باریک */
@media (max-width: 360px) {
	.igx-form { --igx-region-fs: 11px; --igx-amount-fs: 11.5px; --igx-region-gap: 4px; --igx-amount-gap: 4px; }
}
@media (prefers-reduced-motion: reduce) {
	.igx-form *, .igx-alert { animation: none !important; transition: none !important; }
}

/* آیکون کره (بقیه ریجن‌ها) همیشه گرد بماند */
.igx-form img.igx-flag[src*="globe.svg"] { border-radius: 50% !important; box-shadow: none; }
.igx-form.igx-flag-rect img.igx-flag[src*="globe.svg"] { width: var(--igx-flag-h) !important; }

/* ==========================================================================
   تصویر محصول با برچسب ریجن و مبلغ
   ========================================================================== */
.igx-media {
	--igx-media-radius: 18px;
	--igx-media-ratio: auto;
	--igx-media-fit: cover;
	--igx-scrim: .3;
	--igx-bf-size: 30px;
	--igx-bf-ring: rgba(255, 255, 255, .9);
	--igx-ba-c1: #ae8ef9;
	--igx-ba-c2: #7c5cf0;
	position: relative;
	isolation: isolate;
	width: 100%;
	direction: rtl;
}
.igx-media .igx-media-frame {
	position: relative;
	overflow: hidden;
	border-radius: var(--igx-media-radius);
	aspect-ratio: var(--igx-media-ratio);
	line-height: 0;
}
.igx-media .igx-media-frame img.igx-media-img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border-radius: 0;
	object-fit: var(--igx-media-fit);
}
/* سایه ملایم بالای تصویر تا برچسب‌ها روی هر تصویری خوانا باشند */
.igx-media .igx-media-frame::after {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 42%;
	background: linear-gradient(to bottom, rgba(0, 0, 0, var(--igx-scrim)), rgba(0, 0, 0, 0));
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}
.igx-media.has-badges .igx-media-frame::after { opacity: 1; }

.igx-media .igx-badge {
	--igx-ox: 14px;
	--igx-oy: 14px;
	--igx-bdg-bg: rgba(17, 19, 28, .55);
	--igx-bdg-color: #ffffff;
	--igx-bdg-border: rgba(255, 255, 255, .22);
	--igx-bdg-radius: 999px;
	position: absolute;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: calc(50% - var(--igx-ox) - 6px);
	box-sizing: border-box;
	border-radius: var(--igx-bdg-radius);
	border: 1px solid var(--igx-bdg-border);
	background: var(--igx-bdg-bg);
	color: var(--igx-bdg-color);
	-webkit-backdrop-filter: blur(12px) saturate(170%);
	backdrop-filter: blur(12px) saturate(170%);
	box-shadow: 0 10px 28px -8px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .18);
	line-height: 1.2;
	white-space: nowrap;
	pointer-events: none;
	font-family: inherit;
}
.igx-media .igx-badge[hidden] { display: none; }
.igx-media .igx-badge-flag { top: var(--igx-oy); left: var(--igx-ox); padding: 5px; }
.igx-media .igx-badge-flag:has(.igx-badge-label:not(:empty)) { padding-inline-end: 14px; }
.igx-media .igx-badge-amount { --igx-bdg-radius: 16px; top: var(--igx-oy); right: var(--igx-ox); flex-direction: column; align-items: center; gap: 0; padding: 7px 16px 8px; }

/* پرچم */
.igx-media .igx-badge-flag-img {
	flex: 0 0 auto;
	display: inline-flex;
	width: var(--igx-bf-size);
	height: var(--igx-bf-size);
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 0 0 0 2px var(--igx-bf-ring), 0 2px 6px rgba(0, 0, 0, .25);
	background: #fff;
}
.igx-media .igx-bf-rounded .igx-badge-flag-img { border-radius: 7px; }
.igx-media .igx-bf-rect .igx-badge-flag-img { width: calc(var(--igx-bf-size) * 1.333); border-radius: 5px; }
.igx-media .igx-bf-rect { border-radius: 12px; }
.igx-media .igx-bf-rounded { border-radius: 14px; }
.igx-media .igx-badge-flag-img img { width: 100% !important; height: 100% !important; max-width: none; margin: 0; object-fit: cover; border-radius: 0; display: block; }
.igx-media .igx-badge-label { font-size: 14px; font-weight: 700; letter-spacing: .1px; text-shadow: 0 1px 2px rgba(0, 0, 0, .2); overflow: hidden; text-overflow: ellipsis; }
.igx-media .igx-badge-label:empty { display: none; }

/* مبلغ */
.igx-media .igx-badge-prefix { font-size: 11px; font-weight: 500; opacity: .85; margin-bottom: 1px; }
.igx-media .igx-badge-amount-row { display: inline-flex; align-items: baseline; gap: 5px; direction: rtl; }
.igx-media .igx-badge-num { font-size: 24px; font-weight: 800; line-height: 1.05; letter-spacing: .3px; }
.igx-media .igx-badge-unit { font-size: 13px; font-weight: 600; opacity: .92; }
.igx-media .igx-badge-unit:empty { display: none; }

/* سبک‌ها — برچسب مبلغ */
.igx-media .igx-badge-amount {
	--igx-bdg-bg: linear-gradient(135deg, var(--igx-ba-c1), var(--igx-ba-c2));
	--igx-bdg-border: rgba(255, 255, 255, .35);
	box-shadow: 0 12px 30px -8px color-mix(in srgb, var(--igx-ba-c2) 70%, transparent), inset 0 1px 0 rgba(255, 255, 255, .35);
}
.igx-amount-style-glass-dark .igx-media .igx-badge-amount { --igx-bdg-bg: rgba(17, 19, 28, .55); --igx-bdg-border: rgba(255, 255, 255, .22); box-shadow: 0 10px 28px -8px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .18); }
.igx-amount-style-glass-light .igx-media .igx-badge-amount { --igx-bdg-bg: rgba(255, 255, 255, .78); --igx-bdg-color: #111827; --igx-bdg-border: rgba(255, 255, 255, .9); box-shadow: 0 10px 28px -10px rgba(0, 0, 0, .35); }
.igx-amount-style-solid .igx-media .igx-badge-amount { --igx-bdg-bg: var(--igx-ba-c1); box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .4); -webkit-backdrop-filter: none; backdrop-filter: none; }

/* سبک‌ها — برچسب پرچم */
.igx-flag-style-glass-light .igx-media .igx-badge-flag { --igx-bdg-bg: rgba(255, 255, 255, .78); --igx-bdg-color: #111827; --igx-bdg-border: rgba(255, 255, 255, .9); box-shadow: 0 10px 28px -10px rgba(0, 0, 0, .35); }
.igx-flag-style-solid .igx-media .igx-badge-flag { --igx-bdg-bg: #111827; -webkit-backdrop-filter: none; backdrop-filter: none; }

/* انیمیشن تغییر */
.igx-media.igx-animate .igx-badge.igx-pop { animation: igx-pop .38s cubic-bezier(.2, 1.4, .4, 1); }
@keyframes igx-pop { 0% { transform: scale(.82); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }

@media (max-width: 767px) {
	.igx-media { --igx-bf-size: 24px; }
	.igx-media .igx-badge { --igx-ox: 10px; --igx-oy: 10px; gap: 6px; }
	.igx-media .igx-badge-label { font-size: 12.5px; }
	.igx-media .igx-badge-num { font-size: 19px; }
	.igx-media .igx-badge-unit { font-size: 11.5px; }
	.igx-media .igx-badge-amount { padding: 5px 12px 6px; }
}
@media (prefers-reduced-motion: reduce) {
	.igx-media .igx-badge, .igx-media .igx-media-frame::after { animation: none !important; transition: none !important; }
}
