.irannet-native-cart,
.irannet-native-cart * {
	box-sizing: border-box;
}

.irannet-native-cart[hidden],
.irannet-native-cart [hidden] {
	display: none !important;
}

.irannet-native-cart {
	--irannet-cart-gap: 12px;
	--irannet-cart-field-height: 46px;
	--irannet-cart-speed: 180ms;
	display: flex;
	flex-direction: column;
	gap: var(--irannet-cart-gap);
	max-width: 100%;
	position: relative;
}

.irannet-native-cart button,
.irannet-native-cart a,
.irannet-native-cart select,
.irannet-native-cart input {
	-webkit-tap-highlight-color: transparent;
}

.irannet-native-cart__native,
.irannet-native-cart__native form.cart,
.irannet-native-cart__native .variations_form,
.irannet-native-cart__native .grouped_form {
	width: 100%;
}

.irannet-native-cart__native form.cart {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: var(--irannet-cart-gap);
	margin: 0;
}

.irannet-native-cart__native form.variations_form,
.irannet-native-cart__native form.grouped_form {
	display: block;
}

.irannet-native-cart__native .single_add_to_cart_button,
.irannet-native-cart__fallback {
	align-items: center;
	appearance: none;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	flex: 1 1 180px;
	gap: 9px;
	justify-content: center;
	line-height: 1.35;
	margin: 0;
	min-width: 0;
	position: relative;
	text-align: center;
	text-decoration: none;
	transition: background-color var(--irannet-cart-speed) ease, color var(--irannet-cart-speed) ease, box-shadow var(--irannet-cart-speed) ease, transform var(--irannet-cart-speed) ease, opacity var(--irannet-cart-speed) ease;
}

.irannet-native-cart__native .single_add_to_cart_button:hover:not(:disabled),
.irannet-native-cart__fallback:hover {
	transform: translateY(-1px);
}

.irannet-native-cart__native .single_add_to_cart_button:active:not(:disabled),
.irannet-native-cart__fallback:active {
	transform: translateY(0) scale(.99);
}

.irannet-native-cart__native .single_add_to_cart_button:disabled,
.irannet-native-cart__native .single_add_to_cart_button.disabled,
.irannet-native-cart__native .single_add_to_cart_button.wc-variation-selection-needed {
	cursor: not-allowed;
	opacity: .48;
}

.irannet-native-cart__button-icon,
.irannet-native-cart__view-icon,
.irannet-native-cart__quantity-button span,
.irannet-native-qty__button {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
	line-height: 1;
}

.irannet-native-cart__button-icon svg,
.irannet-native-cart__view-icon svg,
.irannet-native-cart__quantity-button svg,
.irannet-native-qty__button svg,
.irannet-native-cart__fallback svg {
	display: block;
	height: 1em;
	width: 1em;
}

.irannet-native-cart--button-icon-after .irannet-native-cart__button-icon {
	order: 2;
}

/* Native quantity input enhanced without replacing WooCommerce markup. */
.irannet-native-cart .quantity.irannet-native-qty {
	align-items: stretch;
	background: transparent;
	direction: ltr;
	display: grid;
	flex: 0 0 auto;
	grid-template-columns: minmax(38px, auto) minmax(42px, 1fr) minmax(38px, auto);
	height: var(--irannet-cart-field-height);
	margin: 0;
	min-width: 132px;
	overflow: hidden;
}

.irannet-native-cart .quantity.irannet-native-qty input.qty {
	appearance: textfield;
	background: transparent;
	border: 0;
	box-shadow: none;
	direction: ltr;
	height: 100%;
	margin: 0;
	min-width: 42px;
	padding: 0 5px;
	text-align: center;
	width: 100%;
}

.irannet-native-cart .quantity.irannet-native-qty input.qty::-webkit-outer-spin-button,
.irannet-native-cart .quantity.irannet-native-qty input.qty::-webkit-inner-spin-button {
	appearance: none;
	margin: 0;
}

.irannet-native-qty__button {
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	font-size: 16px;
	min-width: 38px;
	padding: 0 9px;
	transition: opacity var(--irannet-cart-speed) ease, background-color var(--irannet-cart-speed) ease, transform var(--irannet-cart-speed) ease;
}

.irannet-native-qty__button:hover:not(:disabled) {
	background: color-mix(in srgb, currentColor 8%, transparent);
}

.irannet-native-qty__button:active:not(:disabled) {
	transform: scale(.92);
}

.irannet-native-qty__button:disabled {
	cursor: not-allowed;
	opacity: .25;
}

/* Button-only first state; grouped products keep their own quantities. */
.irannet-native-cart--initial-quantity-hidden.irannet-native-cart--type-simple .irannet-native-cart__native form.cart > .quantity,
.irannet-native-cart--initial-quantity-hidden.irannet-native-cart--type-variable .woocommerce-variation-add-to-cart .quantity {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px !important;
	overflow: hidden;
	position: absolute !important;
	white-space: nowrap;
	width: 1px !important;
}

/* Variable products: preserve the complete native selector and variation logic. */
.irannet-native-cart .variations {
	border: 0;
	border-collapse: separate;
	border-spacing: 0 8px;
	margin: 0 0 var(--irannet-cart-gap);
	width: 100%;
}

.irannet-native-cart .variations tbody,
.irannet-native-cart .variations tr {
	width: 100%;
}

.irannet-native-cart .variations th,
.irannet-native-cart .variations td {
	background: transparent;
	border: 0;
	padding: 4px 0;
	text-align: start;
	vertical-align: middle;
}

.irannet-native-cart .variations th.label {
	padding-inline-end: 12px;
	white-space: nowrap;
	width: 1%;
}

.irannet-native-cart .variations select {
	appearance: auto;
	border: 1px solid color-mix(in srgb, var(--e-global-color-text, #374151) 18%, transparent);
	border-radius: 10px;
	box-shadow: none;
	height: var(--irannet-cart-field-height);
	margin: 0;
	max-width: 100%;
	padding-inline: 12px;
	width: 100%;
}

.irannet-native-cart .reset_variations {
	display: inline-flex;
	margin-block-start: 5px;
	text-decoration: none;
}

.irannet-native-cart .single_variation_wrap {
	display: flex;
	flex-direction: column;
	gap: var(--irannet-cart-gap);
}

.irannet-native-cart .woocommerce-variation-add-to-cart {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: var(--irannet-cart-gap);
}

.irannet-native-cart__native.is-in-cart .woocommerce-variation-add-to-cart {
	display: none !important;
}

.irannet-native-cart .woocommerce-variation-price,
.irannet-native-cart .woocommerce-variation-availability,
.irannet-native-cart .woocommerce-variation-description {
	margin-block: 4px;
}

/* Grouped products remain native and can contain many independent quantities. */
.irannet-native-cart .group_table {
	border-collapse: separate;
	border-spacing: 0 8px;
	margin: 0 0 var(--irannet-cart-gap);
	width: 100%;
}

.irannet-native-cart .group_table td {
	border: 0;
	padding: 8px;
	vertical-align: middle;
}

.irannet-native-cart .group_table .woocommerce-grouped-product-list-item__label a {
	color: inherit;
	text-decoration: none;
}

.irannet-native-cart .grouped_form > .single_add_to_cart_button {
	width: 100%;
}

.irannet-native-cart .stock,
.irannet-native-cart .woocommerce-variation-availability {
	line-height: 1.7;
}

.irannet-native-cart__fallback {
	width: 100%;
}

/* Cart state after successful AJAX add for simple products and variations. */
.irannet-native-cart__active {
	align-items: center;
	display: flex;
	gap: var(--irannet-cart-gap);
	justify-content: space-between;
	width: 100%;
}

.irannet-native-cart__meta {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.irannet-native-cart__in-cart {
	display: block;
	line-height: 1.5;
}

.irannet-native-cart__view-cart {
	align-items: center;
	display: inline-flex;
	gap: 6px;
	line-height: 1.5;
	text-decoration: none;
	width: fit-content;
}

.irannet-native-cart__stepper {
	align-items: stretch;
	direction: ltr;
	display: grid;
	flex: 0 0 auto;
	grid-template-columns: minmax(42px, 1fr) minmax(38px, auto) minmax(42px, 1fr);
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.irannet-native-cart__quantity-button {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	min-width: 42px;
	padding: 0 12px;
	transition: opacity var(--irannet-cart-speed) ease, background-color var(--irannet-cart-speed) ease, transform var(--irannet-cart-speed) ease;
}

.irannet-native-cart__quantity-button:hover:not(:disabled) {
	background: color-mix(in srgb, currentColor 8%, transparent);
}

.irannet-native-cart__quantity-button:active:not(:disabled) {
	transform: scale(.92);
}

.irannet-native-cart__quantity-button:disabled {
	cursor: not-allowed;
	opacity: .28;
}

.irannet-native-cart__quantity-value {
	align-items: center;
	direction: rtl;
	display: inline-flex;
	justify-content: center;
	line-height: 1;
	min-width: 38px;
	padding: 0 4px;
	white-space: nowrap;
}

.irannet-native-cart__stock-warning {
	align-items: center;
	display: flex;
	gap: 6px;
	line-height: 1.7;
}

.irannet-native-cart__notice {
	line-height: 1.7;
	min-height: 0;
}

.irannet-native-cart__notice:empty {
	display: none;
}

.irannet-native-cart.is-loading {
	pointer-events: none;
}

.irannet-native-cart.is-loading::after {
	animation: irannet-native-cart-spin .65s linear infinite;
	border: 2px solid currentColor;
	border-inline-start-color: transparent;
	border-radius: 50%;
	content: "";
	height: 20px;
	inset: 50% auto auto 50%;
	margin: -10px 0 0 -10px;
	position: absolute;
	width: 20px;
	z-index: 10;
}

.irannet-native-cart.is-loading > * {
	opacity: .48;
}

@keyframes irannet-native-cart-spin {
	to { transform: rotate(360deg); }
}

/* Presets use Elementor global colors as fallbacks. */
.irannet-native-cart--soft .irannet-native-cart__active,
.irannet-native-cart--soft .irannet-native-cart__native,
.irannet-native-cart--glass .irannet-native-cart__active,
.irannet-native-cart--glass .irannet-native-cart__native {
	background: color-mix(in srgb, var(--e-global-color-primary, #111827) 5%, transparent);
	border-radius: 16px;
	padding: 12px;
}

.irannet-native-cart--outline .single_add_to_cart_button,
.irannet-native-cart--outline .irannet-native-cart__fallback {
	background: transparent !important;
	border-style: solid;
	border-width: 1px;
}

.irannet-native-cart--compact {
	--irannet-cart-gap: 8px;
}

.irannet-native-cart--glass .irannet-native-cart__active,
.irannet-native-cart--glass .irannet-native-cart__native,
.irannet-native-cart--glass .irannet-native-cart__stepper {
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.irannet-native-cart__editor-note {
	border: 1px dashed color-mix(in srgb, var(--e-global-color-text, #374151) 24%, transparent);
	border-radius: 10px;
	padding: 14px;
}

@media (max-width: 767px) {
	.irannet-native-cart__active {
		min-width: 0;
	}

	.irannet-native-cart__meta {
		max-width: 54%;
	}

	.irannet-native-cart__stepper {
		grid-template-columns: minmax(38px, 1fr) minmax(34px, auto) minmax(38px, 1fr);
	}

	.irannet-native-cart__quantity-button {
		min-width: 38px;
		padding-inline: 9px;
	}

	.irannet-native-cart .variations,
	.irannet-native-cart .variations tbody,
	.irannet-native-cart .variations tr,
	.irannet-native-cart .variations th,
	.irannet-native-cart .variations td {
		display: block;
		width: 100%;
	}

	.irannet-native-cart .variations th.label {
		padding: 0 0 5px;
	}

	.irannet-native-cart .group_table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
}

@media (prefers-reduced-motion: reduce) {
	.irannet-native-cart *,
	.irannet-native-cart *::before,
	.irannet-native-cart *::after {
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
}


/* Stable parent-price fallback when WooCommerce intentionally returns an empty
 * variation price_html because all available variations share the same price. */
.irannet-native-cart__variable-price-fallback {
	direction: rtl;
	line-height: 1.6;
	width: 100%;
}

.irannet-native-cart__variable-price-fallback .price {
	color: inherit;
	font: inherit;
}

/* Defensive visual isolation. PHP suppresses matching callbacks before render;
 * these selectors cover markup emitted indirectly by shortcodes or wrappers. */
.irannet-native-cart--hide-wishlist-actions .irannet-native-cart__native :is(
	[class*="wishlist" i],
	[id*="wishlist" i],
	[data-action*="wishlist" i],
	[href*="wishlist" i],
	[class*="favorite" i],
	[class*="favourite" i],
	[data-action*="favorite" i],
	[data-action*="favourite" i]
),
.irannet-native-cart--hide-compare-actions .irannet-native-cart__native :is(
	[class*="compare" i],
	[id*="compare" i],
	[data-action*="compare" i],
	[href*="compare" i],
	[class*="comparison" i]
) {
	display: none !important;
}


/* v5 — Elementor control surface expansion. Presentation only. */
.irannet-native-cart .single_add_to_cart_button:focus-visible,
.irannet-native-cart__fallback:focus-visible,
.irannet-native-cart__quantity-button:focus-visible,
.irannet-native-qty__button:focus-visible,
.irannet-native-cart .variations select:focus-visible,
.irannet-native-cart__view-cart:focus-visible {
	outline-style: solid;
	outline-width: 2px;
	outline-offset: 2px;
}

.irannet-native-cart__stock-icon,
.irannet-native-cart__stock-icon svg,
.irannet-native-cart__stock-icon i {
	display: inline-flex;
	flex: 0 0 auto;
	height: 1em;
	width: 1em;
}

.irannet-native-cart__variable-price-fallback ins,
.irannet-native-cart .woocommerce-variation-price .price ins {
	text-decoration: none;
}

.irannet-native-cart__variable-price-fallback .price,
.irannet-native-cart .woocommerce-variation-price .price {
	max-width: 100%;
}

.irannet-native-cart__notice {
	transition: background-color var(--irannet-cart-speed) ease, color var(--irannet-cart-speed) ease, border-color var(--irannet-cart-speed) ease, opacity var(--irannet-cart-speed) ease;
}

.irannet-native-cart .variations select,
.irannet-native-cart .quantity.irannet-native-qty,
.irannet-native-cart__active,
.irannet-native-cart__stepper,
.irannet-native-cart__native {
	transition: background-color var(--irannet-cart-speed) ease, color var(--irannet-cart-speed) ease, border-color var(--irannet-cart-speed) ease, box-shadow var(--irannet-cart-speed) ease;
}

.irannet-native-cart .group_table {
	overflow: hidden;
}

.irannet-native-cart__view-icon,
.irannet-native-cart__stock-icon,
.irannet-native-cart__button-icon {
	color: inherit;
}

/* Post-add product summary and accessible in-page dialog. */
.irannet-native-cart__summary {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	gap: 12px;
	min-width: 0;
}

.irannet-native-cart__state-image-wrap {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
}

.irannet-native-cart__state-image {
	aspect-ratio: 1 / 1;
	display: block;
	height: 64px;
	object-fit: contain;
	width: 64px;
}

.irannet-native-cart__product-title {
	display: block;
	line-height: 1.65;
	max-width: 100%;
	overflow-wrap: anywhere;
}

.irannet-native-cart__product-variation,
.irannet-native-cart__product-price,
.irannet-native-cart__product-subtotal {
	display: block;
	line-height: 1.65;
}

.irannet-native-cart__fixed-state {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	gap: 10px;
}

.irannet-native-cart__fixed-quantity {
	align-items: center;
	display: inline-flex;
	gap: 5px;
	white-space: nowrap;
}

.irannet-native-cart__fixed-remove {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	min-height: 40px;
	min-width: 40px;
	padding: 8px;
}

.irannet-native-cart__fixed-remove svg,
.irannet-native-cart__fixed-remove i {
	display: block;
	height: 1em;
	width: 1em;
}

.irannet-native-cart__dialog {
	background: var(--e-global-color-background, #fff);
	border: 0;
	color: var(--e-global-color-text, #111827);
	margin: auto;
	max-height: min(86vh, 760px);
	max-width: calc(100vw - 32px);
	overflow: auto;
	padding: 0;
	width: min(520px, calc(100vw - 32px));
}

.irannet-native-cart__dialog::backdrop {
	background: rgba(15, 23, 42, .48);
}

.irannet-native-cart__dialog.is-fallback-open {
	inset: 50% auto auto 50%;
	position: fixed;
	transform: translate(-50%, -50%);
	z-index: 100000;
}

.irannet-native-cart__dialog-inner {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 22px;
}

.irannet-native-cart__dialog-header {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.irannet-native-cart__dialog-title {
	font: inherit;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.irannet-native-cart__dialog-close {
	align-items: center;
	appearance: none;
	background: color-mix(in srgb, currentColor 6%, transparent);
	border: 0;
	border-radius: 999px;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 24px;
	height: 40px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 40px;
}

.irannet-native-cart__dialog-product {
	align-items: center;
	display: flex;
	gap: 14px;
	min-width: 0;
}

.irannet-native-cart__dialog-image {
	aspect-ratio: 1 / 1;
	display: block;
	flex: 0 0 auto;
	height: 88px;
	object-fit: contain;
	width: 88px;
}

.irannet-native-cart__dialog-product-info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.irannet-native-cart__dialog-product-title {
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.irannet-native-cart__dialog-meta,
.irannet-native-cart__dialog-price,
.irannet-native-cart__dialog-subtotal {
	line-height: 1.65;
}

.irannet-native-cart__dialog-actions {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.irannet-native-cart__dialog-action {
	align-items: center;
	appearance: none;
	border: 1px solid color-mix(in srgb, currentColor 15%, transparent);
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	line-height: 1.4;
	min-height: 46px;
	padding: 10px 14px;
	text-align: center;
	text-decoration: none;
}

.irannet-native-cart__dialog-action--checkout {
	background: var(--e-global-color-accent, #0f8cff);
	border-color: transparent;
	color: var(--e-global-color-primary, #fff);
}

.irannet-native-cart__dialog-action--cart,
.irannet-native-cart__dialog-action--continue {
	background: transparent;
	color: var(--e-global-color-text, #111827);
}

.irannet-native-cart__dialog-action--continue {
	grid-column: 1 / -1;
}

.irannet-native-cart__dialog-close:focus-visible,
.irannet-native-cart__dialog-action:focus-visible,
.irannet-native-cart__fixed-remove:focus-visible {
	outline: 2px solid var(--e-global-color-accent, currentColor);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.irannet-native-cart__active {
		align-items: stretch;
		flex-direction: column;
	}

	.irannet-native-cart__summary {
		width: 100%;
	}

	.irannet-native-cart__meta {
		max-width: none;
		width: 100%;
	}

	.irannet-native-cart__stepper,
	.irannet-native-cart__fixed-state {
		align-self: flex-end;
	}

	.irannet-native-cart__dialog-actions {
		grid-template-columns: 1fr;
	}

	.irannet-native-cart__dialog-action--continue {
		grid-column: auto;
	}

	.irannet-native-cart--dialog-mobile-sheet .irannet-native-cart__dialog {
		border-radius: 20px 20px 0 0 !important;
		margin: auto 0 0;
		max-height: 88vh;
		max-width: 100vw;
		width: 100vw !important;
	}

	.irannet-native-cart__dialog-product {
		align-items: flex-start;
	}
}

@media (max-width: 420px) {
	.irannet-native-cart__dialog-inner {
		padding: 18px;
	}

	.irannet-native-cart__dialog-image {
		height: 72px;
		width: 72px;
	}
}

/* Keep the success dialog fully interactive once an AJAX add has completed. */
.irannet-native-cart.is-loading > .irannet-native-cart__dialog { opacity: 1; }

/* =========================================================
 * Full cart manager inside the post-add dialog.
 * The dialog itself stays stable; only the product list scrolls.
 * ======================================================= */
.irannet-native-cart__dialog {
	overflow: hidden;
}

.irannet-native-cart__dialog-inner {
	max-height: min(86vh, 760px);
	min-height: 0;
	overflow: hidden;
}

.irannet-native-cart__dialog-cart {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	min-height: 0;
}

.irannet-native-cart__dialog-cart-header {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	justify-content: space-between;
}

.irannet-native-cart__dialog-cart-heading {
	font: inherit;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}

.irannet-native-cart__dialog-cart-scroll {
	min-height: 0;
	max-height: 330px;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-inline-end: 3px;
	scrollbar-gutter: stable;
	-webkit-overflow-scrolling: touch;
}

.irannet-native-cart__dialog-cart-scroll:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--e-global-color-accent, currentColor) 55%, transparent);
	outline-offset: 3px;
}

.irannet-native-cart__dialog-cart-scroll::-webkit-scrollbar {
	width: 7px;
}

.irannet-native-cart__dialog-cart-scroll::-webkit-scrollbar-track {
	background: color-mix(in srgb, currentColor 5%, transparent);
	border-radius: 999px;
}

.irannet-native-cart__dialog-cart-scroll::-webkit-scrollbar-thumb {
	background: color-mix(in srgb, currentColor 24%, transparent);
	border-radius: 999px;
}

.irannet-native-cart__dialog-cart-items {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.irannet-native-cart__dialog-cart-item {
	align-items: center;
	background: color-mix(in srgb, var(--e-global-color-text, #111827) 3%, transparent);
	border: 1px solid color-mix(in srgb, var(--e-global-color-text, #111827) 9%, transparent);
	display: grid;
	gap: 12px;
	grid-template-columns: auto minmax(0, 1fr) auto;
	min-width: 0;
	padding: 12px;
	transition: opacity var(--irannet-cart-speed) ease, background-color var(--irannet-cart-speed) ease;
}

.irannet-native-cart__dialog-cart-item.is-updating {
	opacity: .58;
}

.irannet-native-cart__dialog-cart-media {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
	text-decoration: none;
}

.irannet-native-cart__dialog-cart-image {
	aspect-ratio: 1 / 1;
	display: block;
	height: 66px;
	object-fit: contain;
	width: 66px;
}

.irannet-native-cart__dialog-cart-item-body {
	display: flex;
	flex-direction: column;
	gap: 5px;
	min-width: 0;
}

.irannet-native-cart__dialog-cart-item-title {
	color: inherit;
	font-weight: 600;
	line-height: 1.6;
	overflow-wrap: anywhere;
	text-decoration: none;
}

.irannet-native-cart__dialog-cart-item-title:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.irannet-native-cart__dialog-cart-item-meta {
	font-size: .88em;
	line-height: 1.65;
	opacity: .72;
	overflow-wrap: anywhere;
}

.irannet-native-cart__dialog-cart-pricing {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	line-height: 1.55;
}

.irannet-native-cart__dialog-cart-item-subtotal {
	color: var(--e-global-color-accent, currentColor);
}

.irannet-native-cart__dialog-cart-item-actions {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
	justify-content: flex-end;
}

.irannet-native-cart__dialog-cart-stepper {
	align-items: center;
	background: color-mix(in srgb, currentColor 4%, transparent);
	border: 1px solid color-mix(in srgb, currentColor 10%, transparent);
	border-radius: 10px;
	direction: ltr;
	display: grid;
	grid-template-columns: auto minmax(32px, auto) auto;
	overflow: hidden;
}

.irannet-native-cart__dialog-cart-control {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	height: 36px;
	justify-content: center;
	line-height: 1;
	min-width: 36px;
	padding: 7px;
	width: 36px;
}

.irannet-native-cart__dialog-cart-control:hover:not(:disabled) {
	background: color-mix(in srgb, currentColor 8%, transparent);
}

.irannet-native-cart__dialog-cart-control:disabled {
	cursor: not-allowed;
	opacity: .3;
}

.irannet-native-cart__dialog-cart-control.is-remove {
	color: #dc2626;
}

.irannet-native-cart__dialog-cart-control svg,
.irannet-native-cart__dialog-cart-control i {
	display: block;
	height: 1em;
	width: 1em;
}

.irannet-native-cart__dialog-cart-control:focus-visible,
.irannet-native-cart__dialog-cart-item-title:focus-visible,
.irannet-native-cart__dialog-cart-media:focus-visible {
	outline: 2px solid var(--e-global-color-accent, currentColor);
	outline-offset: 2px;
}

.irannet-native-cart__dialog-cart-quantity {
	direction: ltr;
	font-variant-numeric: tabular-nums;
	min-width: 32px;
	padding-inline: 5px;
	text-align: center;
}

.irannet-native-cart__dialog-cart-fixed-quantity {
	font-size: .9em;
	white-space: nowrap;
}

.irannet-native-cart__dialog-cart-empty {
	margin: 0;
	padding: 18px 10px;
	text-align: center;
}

.irannet-native-cart__dialog-cart-summary {
	border-top: 1px solid color-mix(in srgb, currentColor 10%, transparent);
	display: grid;
	flex: 0 0 auto;
	gap: 7px;
	padding-block-start: 10px;
}

.irannet-native-cart__dialog-cart-summary > div {
	align-items: baseline;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.irannet-native-cart__dialog-cart-summary > .is-total {
	font-weight: 700;
}

.irannet-native-cart__dialog-action.is-disabled,
.irannet-native-cart__dialog-action[aria-disabled="true"] {
	cursor: not-allowed;
	opacity: .45;
	pointer-events: none;
}

@media (max-width: 767px) {
	.irannet-native-cart__dialog-inner {
		max-height: 88vh;
	}

	.irannet-native-cart__dialog-cart-scroll {
		max-height: min(42vh, 420px);
		padding-inline-end: 1px;
	}

	.irannet-native-cart__dialog-cart-item {
		align-items: start;
		grid-template-columns: auto minmax(0, 1fr);
		gap: 10px;
	}

	.irannet-native-cart__dialog-cart-item-actions {
		grid-column: 1 / -1;
		justify-content: space-between;
		width: 100%;
	}

	.irannet-native-cart__dialog-cart-stepper {
		margin-inline-start: auto;
	}

	.irannet-native-cart--dialog-mobile-sheet .irannet-native-cart__dialog-inner {
		max-height: 88vh;
	}
}

@media (max-width: 420px) {
	.irannet-native-cart__dialog-cart-image {
		height: 56px;
		width: 56px;
	}

	.irannet-native-cart__dialog-cart-item {
		padding: 10px;
	}

	.irannet-native-cart__dialog-cart-scroll {
		max-height: min(46vh, 380px);
	}
}

.irannet-native-cart__dialog-header,
.irannet-native-cart__dialog-product,
.irannet-native-cart__dialog-actions {
	flex: 0 0 auto;
}

/* =========================================================
 * Post-add dialog interaction and Persian price hardening.
 * ======================================================= */
.irannet-native-cart__dialog-action {
	transition: background-color var(--irannet-cart-speed) ease, color var(--irannet-cart-speed) ease, border-color var(--irannet-cart-speed) ease, transform var(--irannet-cart-speed) ease, opacity var(--irannet-cart-speed) ease;
}

.irannet-native-cart__dialog-action:hover:not(.is-disabled):not([aria-disabled="true"]) {
	transform: translateY(-1px);
}

.irannet-native-cart__dialog-action:active:not(.is-disabled):not([aria-disabled="true"]) {
	transform: translateY(0);
}

/* Use a readable fallback even when the global Primary color is not suitable
 * as button text. Elementor controls can still override this per widget. */
.irannet-native-cart__dialog-action--checkout {
	color: #fff;
}

/* Price strings are inserted with textContent, so keep currency marks and
 * localized digits together and prevent bidi reordering in RTL layouts. */
.irannet-native-cart__dialog-price,
.irannet-native-cart__dialog-subtotal,
.irannet-native-cart__dialog-cart-item-price,
.irannet-native-cart__dialog-cart-item-subtotal,
.irannet-native-cart__dialog-cart-summary > div > strong {
	direction: rtl;
	unicode-bidi: isolate;
	white-space: nowrap;
}

.irannet-native-cart__dialog-cart-summary > div {
	column-gap: 16px;
}

.irannet-native-cart__dialog-cart-summary > div > strong {
	font-variant-numeric: tabular-nums;
	margin-inline-start: auto;
}

/* Keep cart manager controls explicitly interactive whenever they are not
 * actually disabled. This also protects them from broad theme button rules. */
.irannet-native-cart__dialog-cart-control:not(:disabled) {
	cursor: pointer;
	pointer-events: auto;
}

/* =========================================================
 * Product price presentation — simple + variable.
 * WooCommerce remains the source of currency/price values; this layer only
 * scopes layout, sale/regular styling and RTL-safe visual ordering to widget.
 * ======================================================= */
.irannet-native-cart__simple-price {
	direction: rtl;
	line-height: 1.6;
	width: 100%;
}

.irannet-native-cart__simple-price .price,
.irannet-native-cart__variable-price-fallback .price,
.irannet-native-cart .woocommerce-variation-price .price {
	align-items: baseline;
	display: inline-flex;
	flex-wrap: wrap;
	max-width: 100%;
}

.irannet-native-cart__simple-price .price ins,
.irannet-native-cart__variable-price-fallback .price ins,
.irannet-native-cart .woocommerce-variation-price .price ins {
	align-items: baseline;
	display: inline-flex;
	text-decoration: none;
}

.irannet-native-cart__simple-price .price del,
.irannet-native-cart__variable-price-fallback .price del,
.irannet-native-cart .woocommerce-variation-price .price del {
	align-items: baseline;
	display: inline-flex;
}

/* Keep each amount + WooCommerce currency symbol as one isolated RTL unit.
 * The markup is normalized to amount first, symbol second. This prevents the
 * symbol from jumping before the amount in mixed RTL/LTR theme environments. */
.irannet-native-cart :is(
	.irannet-native-cart__simple-price,
	.irannet-native-cart__variable-price-fallback,
	.woocommerce-variation-price
) .woocommerce-Price-amount,
.irannet-native-cart :is(
	.irannet-native-cart__simple-price,
	.irannet-native-cart__variable-price-fallback,
	.woocommerce-variation-price
) .woocommerce-Price-amount bdi {
	unicode-bidi: isolate;
	white-space: nowrap;
}

.irannet-native-cart :is(
	.irannet-native-cart__simple-price,
	.irannet-native-cart__variable-price-fallback,
	.woocommerce-variation-price
) .woocommerce-Price-amount bdi {
	align-items: baseline;
	direction: rtl;
	display: inline-flex;
}

.irannet-native-cart :is(
	.irannet-native-cart__simple-price,
	.irannet-native-cart__variable-price-fallback,
	.woocommerce-variation-price
) .woocommerce-Price-currencySymbol {
	flex: 0 0 auto;
}
