/* Shared product-card component: homepage, shop archives and product loops. */
.product-card,
.woocommerce ul.products li.product.product-card,
.woocommerce-page ul.products li.product.product-card {
	position: relative;
	min-width: 0;
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	border: 1px solid var(--mashin-ro-color-border);
	border-radius: 10px;
	background: var(--mashin-ro-palette-6aaa006dc0, #fff);
	overflow: hidden;
	container-type: inline-size;
}

.product-card a { text-decoration: none; }

.product-card__media {
	position: relative;
	min-height: 245px;
	display: grid;
	place-items: center;
	padding: 18px;
	background: var(--mashin-ro-palette-6aaa006dc0, #fff);
}

.product-card__media > img,
.woocommerce ul.products li.product.product-card .product-card__media > img {
	width: 100%;
	height: 210px;
	margin: 0;
	border-radius: 0;
	object-fit: contain;
	transition: transform .25s ease;
}

.product-card:hover .product-card__media > img { transform: scale(1.04); }

.product-card__brand {
	position: absolute;
	z-index: 3;
	top: 11px;
	left: 11px;
	width: 64px;
	height: 46px;
	display: grid;
	place-items: center;
	align-items: center;
	padding: 5px;
	overflow: hidden;
	border: 1px solid var(--mashin-ro-palette-4c9de6dd1e, #e0e4e9);
	border-radius: 9px;
	color: var(--mashin-ro-color-primary);
	background: var(--mashin-ro-palette-8440e6357c, rgba(255, 255, 255, .94));
	box-shadow: 0 4px 14px var(--mashin-ro-palette-61507be6af, rgba(3, 14, 78, .06));
	direction: rtl;
	line-height: 1.4;
	text-align: right;
	backdrop-filter: blur(4px);
}

.product-card__brand-logo {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 6px;
	background: var(--mashin-ro-palette-6aaa006dc0, #fff);
	line-height: 0;
}

.product-card__brand-logo img,
.woocommerce ul.products li.product.product-card .product-card__brand-logo img {
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	max-height: 100%;
	display: block;
	margin: 0 !important;
	padding: 2px;
	object-fit: contain;
	object-position: center;
	transform: scale(1.15);
}

.product-card__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 0 14px 13px;
	direction: rtl;
	text-align: right;
}

.product-card .product-card__title,
.woocommerce ul.products li.product.product-card .product-card__title {
	min-height: 62px;
	margin: 0 0 14px;
	padding: 0;
	font-size: 16px;
	line-height: 1.9;
	text-align: right;
}

.product-card .product-card__title > a { display: block; color: inherit; text-align: right; }

.product-card__meta {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding-block: 8px;
	border-top: 1px solid var(--mashin-ro-palette-36d75ab834, #f0f1f2);
	color: var(--mashin-ro-palette-e9156a3248, #a0a4aa);
	font-size: 14px;
	direction: rtl;
	text-align: right;
}

.product-card__meta strong {
	min-width: 0;
	overflow: hidden;
	color: var(--mashin-ro-palette-2f52a51b68, #777d84);
	font-family: "IRANSansX Regular", "IRANSansX", sans-serif;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.product-card__meta span { flex: 0 0 auto; }

.product-card__footer {
	width: 100%;
	margin-top: auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--mashin-ro-palette-36d75ab834, #f0f1f2);
	direction: rtl;
	text-align: right;
}

.product-card .price,
.woocommerce ul.products li.product.product-card .price {
	min-width: 0;
	width: auto;
	height: auto;
	min-height: 42px;
	flex: 1 1 auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	direction: rtl;
	gap: 8px;
	margin: 0 auto 0 0;
	padding: 4px 0;
	border: 0;
	border-radius: 0;
	color: var(--mashin-ro-palette-14d063df71, #2eb873);
	background: transparent;
	font-family: "IRANSansX Medium", "IRANSansX Regular", "IRANSansX", sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.35;
	text-align: left;
}

.product-card__price-values {
	min-width: 0;
	width: auto;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	gap: 3px;
	direction: rtl;
	text-align: left;
}

.product-card .price .woocommerce-Price-amount,
.woocommerce ul.products li.product.product-card .price .woocommerce-Price-amount {
	color: var(--mashin-ro-palette-14d063df71, #2eb873);
	font-family: "IRANSansX Regular", "IRANSansX", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.15;
	white-space: nowrap;
}

.product-card .price .woocommerce-Price-amount bdi { display: inline-flex; align-items: baseline; gap: 2px; direction: rtl; unicode-bidi: isolate; }

.product-card .price .woocommerce-Price-currencySymbol {
	margin-right: 2px;
	font-size: 10px;
}

.product-card .price del {
	display: block;
	margin: 0;
	color: var(--mashin-ro-palette-794a2bfe30, #8e949c);
	font-size: 11px;
	line-height: 1.25;
	text-decoration-color: var(--mashin-ro-palette-5e2c6c41ca, #F7584F);
	text-decoration-thickness: 1px;
	white-space: nowrap;
}

.product-card .price del .woocommerce-Price-amount,
.product-card .price del .woocommerce-Price-currencySymbol { color: var(--mashin-ro-palette-794a2bfe30, #8e949c); font-size: 11px; font-weight: 400; }
.product-card .price ins { display: block; margin: 0; color: var(--mashin-ro-palette-5b93a3cc72, #159a60); font-weight: 800; line-height: 1.25; text-decoration: none; white-space: nowrap; }
.product-card .price ins .woocommerce-Price-amount { color: var(--mashin-ro-palette-5b93a3cc72, #159a60); font-size: 16px; font-weight: 800; }

.product-card__price.is-discounted {
	min-height: 52px;
	padding: 6px 8px;
	border: 1px solid var(--mashin-ro-palette-b0c44856e3, #e1eee7);
	border-radius: 9px;
	background: var(--mashin-ro-palette-d2d82a88fd, #f8fcfa);
}

.product-card__discount-badge {
	position: static;
	order: 2;
	min-width: 35px;
	min-height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 3px 7px;
	border-radius: 7px;
	color: var(--mashin-ro-palette-6aaa006dc0, #fff);
	background: var(--mashin-ro-palette-5e2c6c41ca, #F7584F);
	font-family: "IRANSansX Regular", "IRANSansX", sans-serif;
	font-size: 10px;
	font-weight: 700;
	white-space: nowrap;
}

.product-card__discount-badge small { display: none; }

.product-card__supply-status {
	min-width: 116px;
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 7px;
	margin: 0 0 0 auto;
	padding: 7px 10px;
	border: 1px solid var(--mashin-ro-palette-0d23eefc8d, #ffc9c5);
	border-radius: 9px;
	color: var(--mashin-ro-palette-ef205e20b8, #d9362e);
	background: var(--mashin-ro-palette-e209d4acdb, #fff4f3);
	direction: rtl;
	font-size: 12px;
	line-height: 1.5;
	text-align: right;
}
.product-card__supply-status i { flex: 0 0 auto; font-size: 15px; }
.product-card__supply-status strong { font-weight: 800; white-space: nowrap; }

.product-card__button,
.woocommerce ul.products li.product.product-card .product-card__button {
	width: 42px;
	height: 42px;
	min-height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	float: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	color: #fff;
	background: var(--mashin-ro-palette-5e2c6c41ca, #F7584F);
	font-family: "IRANSansX Regular", "IRANSansX", sans-serif;
	font-size: 12px;
	line-height: 1.5;
	text-decoration: none;
	cursor: pointer;
}

.product-card__button > i { flex: 0 0 auto; font-size: 18px; line-height: 1; }
.product-card__button > svg { width: 20px; height: 20px; flex: 0 0 20px; display: block; }
.product-card__button > span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

.product-card__button > .product-card__cart-svg {
	width: 21px;
	height: 21px;
	overflow: visible;
	fill: none;
	stroke: #fff;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.product-card__button > .product-card__cart-svg circle { fill: #fff; stroke: #fff; }

/* CSS-only eye icon: independent of icon fonts and SVG sanitizers. */
.product-card__button > .product-card__view-icon {
	position: relative;
	width: 17px;
	height: 17px;
	min-width: 17px;
	overflow: visible;
	border: 2px solid #fff;
	border-radius: 75% 0 75% 0;
	color: #fff;
	transform: rotate(45deg);
}
.product-card__button > .product-card__view-icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #fff;
	content: "";
	transform: translate(-50%,-50%);
}

.product-card__button:hover,
.product-card__button:focus-visible { color: var(--mashin-ro-palette-6aaa006dc0, #fff); background: var(--mashin-ro-palette-556b2054bb, #DF4A42); }

@container (max-width: 250px) {
	.product-card__footer { flex-direction: row; align-items: center; }
	.product-card__price,
	.product-card__supply-status { min-width: 0; width: auto; flex: 1 1 auto; }
	.product-card__cart-control { width: auto; flex: 0 0 auto; align-self: center; }
	.product-card__button { width: 42px; }
	.product-card__footer .product-card__cart-control { margin-inline-end: 0; }
	.product-card__cart-control.has-quantity > .product-card__quantity {
		width: 100%;
		grid-template-columns: minmax(40px, 1fr) 52px minmax(40px, 1fr);
	}
}

.product-card__cart-control { position: relative; flex: none; margin-inline-end: 4px; }

.product-card__quantity {
	display: none;
	grid-template-columns: 36px 42px 36px;
	min-height: 42px;
	direction: ltr;
	border: 1px solid var(--mashin-ro-color-accent);
	border-radius: 8px;
	overflow: hidden;
}

.product-card__quantity button,
.product-card__quantity-value {
	padding: 0;
	border: 0;
	background: var(--mashin-ro-palette-6aaa006dc0, #fff);
	font-family: inherit;
}

.product-card__quantity button {
	display: grid;
	place-items: center;
	color: var(--mashin-ro-color-secondary);
	font-size: 16px;
	cursor: pointer;
	transition: color .15s ease, background-color .15s ease;
}

.product-card__quantity button:hover,
.product-card__quantity button:focus-visible {
	color: var(--mashin-ro-palette-6aaa006dc0, #fff);
	background: var(--mashin-ro-color-secondary);
}

.product-card__quantity button:disabled,
.product-card__quantity button:disabled:hover {
	color: var(--mashin-ro-palette-4b7a425e5b, #B9BEC8);
	background: var(--mashin-ro-palette-0657d13232, #F5F6F8);
	cursor: not-allowed;
}

.product-card__quantity-value {
	width: 100%;
	min-width: 0;
	height: 40px;
	min-height: 40px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	align-self: center;
	margin: 0 !important;
	padding: 0 !important;
	border-inline: 1px solid var(--mashin-ro-palette-1f10b47520, #FBCAC7);
	color: var(--mashin-ro-color-primary);
	background: var(--mashin-ro-palette-9afbded855, #FAFBFE);
	box-sizing: border-box;
	font-family: "IRANSansX Regular", "IRANSansX", sans-serif;
	font-size: 16px;
	line-height: 1 !important;
	text-align: center;
	font-synthesis: none;
	font-variant-numeric: tabular-nums;
	unicode-bidi: isolate;
}
.product-card__cart-control > [hidden] { display: none !important; }
.product-card__cart-control:not(.has-quantity) > .product-card__button { display: inline-flex; }
.product-card__cart-control:not(.has-quantity) > .product-card__quantity { display: none !important; }
.product-card__cart-control.has-quantity > .product-card__button { display: none !important; }
.product-card__cart-control.has-quantity > .product-card__quantity { display: grid !important; }
.product-card__cart-control.is-loading { min-height: 42px; opacity: .72; pointer-events: none; }

.product-card__cart-control.is-loading::after,
.product-card__button.is-loading::after {
	content: "";
	position: absolute;
	z-index: 2;
	inset: 0;
	width: 16px;
	height: 16px;
	margin: auto;
	border: 2px solid var(--mashin-ro-palette-59a7043de4, rgba(255,255,255,.5));
	border-top-color: var(--mashin-ro-palette-6aaa006dc0, #fff);
	border-radius: 50%;
	animation: mashin-ro-spin .65s linear infinite;
}

.product-card__cart-control.is-loading::after {
	border-color: var(--mashin-ro-palette-51902f709a, rgba(247, 88, 79, .22));
	border-top-color: var(--mashin-ro-color-secondary);
	background: var(--mashin-ro-palette-6aaa006dc0, #fff);
}

.product-card__button.is-loading { position: relative; color: transparent !important; pointer-events: none; }

@keyframes mashin-ro-spin { to { transform: rotate(360deg); } }

/* Shared, option-driven product carousel. */
.mashin-ro-carousel-shell {
	position: relative;
	min-width: 0;
}

.mashin-ro-carousel-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-height: 42px;
	margin-bottom: 12px;
}

.mashin-ro-carousel-controls[hidden] { display: none !important; }

.mashin-ro-carousel-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 24px;
	margin-top: 11px;
}

.mashin-ro-carousel-pagination[hidden] { display: none !important; }

.mashin-ro-carousel-dot {
	width: 8px;
	height: 8px;
	min-width: 8px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--mashin-ro-palette-b194d47e76, #CDD2DC);
	cursor: pointer;
	transition: width .2s ease, background-color .2s ease;
}

.mashin-ro-carousel-dot:hover,
.mashin-ro-carousel-dot:focus-visible { background: var(--mashin-ro-color-tertiary); }

.mashin-ro-carousel-dot.is-active {
	width: 24px;
	background: var(--mashin-ro-color-secondary);
}

.mashin-ro-carousel-arrow {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid var(--mashin-ro-palette-cba3c1daa3, #D9DEEF);
	border-radius: 9px;
	color: var(--mashin-ro-color-primary);
	background: var(--mashin-ro-palette-6aaa006dc0, #fff);
	font-size: 16px;
	cursor: pointer;
	transition: color .18s ease, border-color .18s ease, background-color .18s ease, opacity .18s ease, transform .18s ease;
}

.mashin-ro-carousel-arrow:hover,
.mashin-ro-carousel-arrow:focus-visible {
	border-color: var(--mashin-ro-color-primary);
	color: var(--mashin-ro-palette-6aaa006dc0, #fff);
	background: var(--mashin-ro-color-primary);
}

.mashin-ro-carousel-arrow:disabled {
	border-color: var(--mashin-ro-palette-28ac4ac137, #E8EAF0);
	color: var(--mashin-ro-palette-518199e611, #ADB2BC);
	background: var(--mashin-ro-palette-c7bd11bcee, #F7F8FA);
	cursor: not-allowed;
}

.mashin-ro-carousel-shell.is-navigation-sides .mashin-ro-carousel-controls {
	position: absolute;
	z-index: 4;
	top: 50%;
	right: -12px;
	left: -12px;
	min-height: 0;
	justify-content: space-between;
	margin: 0;
	transform: translateY(-50%);
	pointer-events: none;
}

.mashin-ro-carousel-shell.is-navigation-sides .mashin-ro-carousel-arrow {
	width: 44px;
	height: 44px;
	border-color: var(--mashin-ro-color-primary);
	pointer-events: auto;
}

@media (hover: hover) and (pointer: fine) {
	.mashin-ro-carousel-shell.is-navigation-sides .mashin-ro-carousel-arrow {
		opacity: 0;
		pointer-events: none;
	}
	.mashin-ro-carousel-shell.is-navigation-sides .mashin-ro-carousel-arrow.is-prev { transform: translateX(8px); }
	.mashin-ro-carousel-shell.is-navigation-sides .mashin-ro-carousel-arrow.is-next { transform: translateX(-8px); }
	.mashin-ro-carousel-shell.is-navigation-sides:hover .mashin-ro-carousel-arrow,
	.mashin-ro-carousel-shell.is-navigation-sides:focus-within .mashin-ro-carousel-arrow {
		opacity: 1;
		transform: translateX(0);
		pointer-events: auto;
	}
	.mashin-ro-carousel-shell.is-navigation-sides.is-dragging .mashin-ro-carousel-arrow { opacity: 0; pointer-events: none; }
}

.mashin-ro-carousel-track,
.woocommerce .mashin-ro-carousel-track,
.woocommerce ul.products.mashin-ro-carousel-track {
	width: 100%;
	min-width: 0;
	display: flex !important;
	grid-template-columns: none !important;
	align-items: stretch;
	gap: 15px;
	margin: 0 !important;
	padding: 0 0 3px !important;
	overflow-x: auto;
	overflow-y: hidden;
	direction: rtl;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-inline: contain;
	touch-action: pan-x pan-y;
}

.mashin-ro-carousel-track::-webkit-scrollbar { display: none; }
.mashin-ro-carousel-track::before,
.mashin-ro-carousel-track::after { display: none !important; }

.mashin-ro-carousel-track > .mashin-ro-carousel-slide,
.woocommerce ul.products.mashin-ro-carousel-track > li.product.mashin-ro-carousel-slide {
	width: var(--mashin-ro-carousel-item-width) !important;
	min-width: var(--mashin-ro-carousel-item-width) !important;
	max-width: var(--mashin-ro-carousel-item-width) !important;
	flex: 0 0 var(--mashin-ro-carousel-item-width) !important;
	float: none !important;
	margin: 0 !important;
	scroll-snap-align: start;
}

.mashin-ro-carousel-track:focus-visible {
	outline: 2px solid var(--mashin-ro-color-primary);
	outline-offset: 4px;
}

.mashin-ro-carousel-track { cursor: grab; }
.mashin-ro-carousel-track.is-dragging {
	cursor: grabbing;
	scroll-behavior: auto;
	scroll-snap-type: none;
	user-select: none;
}
.mashin-ro-carousel-track.is-dragging img,
.mashin-ro-carousel-track.is-dragging a { pointer-events: none; }

@media (max-width: 575.98px) {
	.mashin-ro-carousel-controls { min-height: 38px; margin-bottom: 9px; }
	.mashin-ro-carousel-arrow { width: 36px; height: 36px; }
	.mashin-ro-carousel-shell.is-navigation-sides .mashin-ro-carousel-controls { position: static; min-height: 38px; justify-content: flex-end; gap: 7px; margin-bottom: 9px; transform: none; pointer-events: auto; }
	.mashin-ro-carousel-shell.is-navigation-sides .mashin-ro-carousel-arrow { width: 36px; height: 36px; }
	.mashin-ro-carousel-track { gap: 8px; }
	.mashin-ro-carousel-pagination { margin-top: 9px; }
	.mashin-ro-carousel-track.is-mobile-stack,
	.woocommerce .mashin-ro-carousel-track.is-mobile-stack,
	.woocommerce ul.products.mashin-ro-carousel-track.is-mobile-stack {
		display: grid !important;
		grid-template-columns: none !important;
		grid-template-rows: repeat(3, auto);
		grid-auto-flow: column;
		grid-auto-columns: 100%;
		align-items: stretch;
		column-gap: 8px;
		row-gap: 10px;
	}
	.mashin-ro-carousel-track.is-mobile-stack > .mashin-ro-carousel-slide,
	.woocommerce ul.products.mashin-ro-carousel-track.is-mobile-stack > li.product.mashin-ro-carousel-slide {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		flex-basis: auto !important;
	}
	.product-card,
	.woocommerce ul.products li.product.product-card,
	.woocommerce-page ul.products li.product.product-card {
		min-height: 150px;
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr);
		align-items: stretch;
		direction: rtl;
	}
	.product-card__media {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
		min-height: 150px;
		padding: 9px 7px;
		border-left: 1px solid var(--mashin-ro-palette-ea9687598e, #F0F1F4);
	}
	.product-card__media > img,
	.woocommerce ul.products li.product.product-card .product-card__media > img { width: 100%; height: 116px; }
	.product-card__brand { top: 5px; left: 5px; width: 46px; height: 34px; padding: 3px; border-radius: 7px; }
	.product-card__body {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
		justify-content: center;
		padding: 8px 9px;
	}
	.product-card .product-card__title,
	.woocommerce ul.products li.product.product-card .product-card__title {
		min-height: 0;
		margin-bottom: 3px;
		font-size: 15px;
		line-height: 1.65;
	}
	.product-card__meta {
		display: flex;
		gap: 8px;
		padding-block: 4px;
		font-size: 11px;
	}
	.product-card__footer {
		margin-top: 4px;
		flex-direction: row;
		align-items: center;
		gap: 6px;
		padding-top: 4px;
	}
	.product-card__price,
	.product-card__supply-status,
	.product-card__cart-control,
	.product-card__button { width: auto; }
	.product-card__cart-control { margin-inline-end: 0; }
	.product-card__price {
		height: 34px;
		min-height: 34px;
		justify-content: flex-start;
		margin: 0 0 0 auto;
		font-size: 14px;
		text-align: right;
	}
	.product-card__price-values { align-items: flex-start; text-align: right; }
	.product-card__price.is-discounted { height: auto; min-height: 42px; gap: 5px; padding: 4px 6px; }
	.product-card__supply-status { min-width: 104px; min-height: 34px; padding: 5px 8px; font-size: 11px; }
	.product-card .price .woocommerce-Price-amount,
	.woocommerce ul.products li.product.product-card .price .woocommerce-Price-amount { font-size: 14px; }
	.product-card__button { width: 36px; height: 36px; min-height: 36px; padding: 0; font-size: 10px; line-height: 1; text-align: center; white-space: nowrap; }
	.product-card__button > i { font-size: 16px; }
	.product-card__quantity { grid-template-columns: 28px 32px 28px; min-height: 34px; }
	.product-card__quantity-value { height: 32px; min-height: 32px; font-size: 13px; }
}

@media (max-width: 359.98px) {
	.product-card,
	.woocommerce ul.products li.product.product-card,
	.woocommerce-page ul.products li.product.product-card { grid-template-columns: 88px minmax(0, 1fr); }
	.product-card__media { min-height: 160px; padding-inline: 6px; }
	.product-card__media > img,
	.woocommerce ul.products li.product.product-card .product-card__media > img { height: 108px; }
	.product-card__footer { align-items: center; flex-direction: row; }
}
