.tsps-slider {
	--tsps-card-bg: #111b26;
	--tsps-border: rgba(255,255,255,.38);
	--tsps-image-bg: #fff;
	--tsps-title: #fff;
	--tsps-muted: rgba(255,255,255,.66);
	--tsps-accent: #ffbd20;
	--tsps-button-bg: #e80019;
	--tsps-button: #fff;
	--tsps-gap: 12px;
	--tsps-radius: 17px;
	--tsps-cols-desktop: 5;
	--tsps-cols-tablet: 3;
	--tsps-cols-mobile: 2;
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: transparent !important;
	color: #fff;
	direction: rtl;
	font-family: IRANSans, IRANSansWeb, IRANSansX, "IranSans", "IRANSansFaNum", Tahoma, Arial, sans-serif;
	box-sizing: border-box;
}

.tsps-slider *,
.tsps-slider *::before,
.tsps-slider *::after {
	box-sizing: border-box;
	font-family: inherit;
}

.tsps-stage,
.tsps-viewport,
.tsps-track {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none;
}

.tsps-stage {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow: visible !important;
}

.tsps-viewport {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-snap-type: x mandatory;
	overscroll-behavior-inline: contain;
	touch-action: pan-y;
	direction: ltr !important;
	cursor: grab;
}

.tsps-viewport::-webkit-scrollbar { display: none; }
.tsps-slider:not(.is-draggable) .tsps-viewport { cursor: default; }
.tsps-slider.is-dragging .tsps-viewport { cursor: grabbing; user-select: none; scroll-snap-type: none; }

/* بدون جاوااسکریپت هم محصولات به‌صورت پنج‌ستونه دیده می‌شوند. */
.tsps-slider:not(.is-ready) .tsps-viewport {
	overflow: visible !important;
}

.tsps-slider:not(.is-ready) .tsps-track {
	display: grid !important;
	grid-template-columns: repeat(var(--tsps-cols-desktop), minmax(0,1fr)) !important;
	align-items: stretch !important;
	gap: var(--tsps-gap) !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.tsps-slider.is-ready .tsps-track {
	display: flex !important;
	align-items: stretch !important;
	gap: var(--tsps-gap) !important;
	width: max-content !important;
	min-width: 100% !important;
	max-width: none !important;
	direction: ltr !important;
}

.tsps-slide {
	display: flex !important;
	flex: 0 0 auto;
	align-self: stretch;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	direction: rtl !important;
	scroll-snap-align: start;
}

.tsps-slider:not(.is-ready) .tsps-slide {
	width: auto !important;
}

.tsps-card {
	position: relative;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	border: 1px solid var(--tsps-border) !important;
	border-radius: var(--tsps-radius) !important;
	background: var(--tsps-card-bg) !important;
	box-shadow: 0 14px 30px rgba(0,0,0,.28) !important;
	transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.tsps-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 20;
	pointer-events: none;
	border: 1px solid transparent;
	border-radius: inherit;
	transition: border-color .22s ease, box-shadow .22s ease;
}

.tsps-card:hover {
	border-color: var(--tsps-accent) !important;
	box-shadow: 0 18px 38px rgba(0,0,0,.38), 0 0 22px rgba(255,189,32,.10) !important;
	transform: none !important;
}

.tsps-card:hover::after {
	border-color: var(--tsps-accent);
	box-shadow: inset 0 0 0 1px rgba(255,189,32,.15);
}

.tsps-image {
	position: relative;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: calc(100% - 18px) !important;
	margin: 9px 9px 0 !important;
	overflow: hidden !important;
	border-radius: calc(var(--tsps-radius) - 5px) !important;
	background: var(--tsps-image-bg) !important;
	text-decoration: none !important;
}

.tsps-ratio-1-1 .tsps-image { aspect-ratio: 1 / 1; }
.tsps-ratio-4-3 .tsps-image { aspect-ratio: 4 / 3; }
.tsps-ratio-3-4 .tsps-image { aspect-ratio: 3 / 4; }

.tsps-image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 8px !important;
	object-fit: contain !important;
	object-position: center !important;
	background: transparent !important;
	transition: transform .28s ease;
}

.tsps-card:hover .tsps-image img { transform: scale(1.025); }

.tsps-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 27px;
	padding: 5px 9px;
	border-radius: 999px;
	background: #f04438;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 7px 17px rgba(232,0,25,.25);
}

.tsps-card-body {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	min-width: 0 !important;
	padding: 12px 14px 13px !important;
}

.tsps-category,
.tsps-category a,
.tsps-slider .tsps-category,
.tsps-slider .tsps-category a {
	display: block !important;
	min-height: 0 !important;
	margin: 0 0 5px !important;
	overflow: hidden !important;
	color: var(--tsps-accent) !important;
	font-size: 11px !important;
	line-height: 1.75 !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	text-overflow: ellipsis;
	white-space: nowrap;
	opacity: 1 !important;
}

.tsps-category a:hover { color: #ffd45d !important; }

.tsps-product-title,
.tsps-slider .tsps-product-title {
	display: block !important;
	min-height: 49px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-size: 14px !important;
	line-height: 1.78 !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-align: right !important;
}

.tsps-product-title a,
.tsps-slider .tsps-product-title a,
.tsps-slider .tsps-product-title a:visited {
	display: -webkit-box !important;
	overflow: hidden !important;
	color: #fff !important;
	font-size: inherit !important;
	line-height: inherit !important;
	font-weight: inherit !important;
	text-decoration: none !important;
	text-shadow: none !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	opacity: 1 !important;
	transition: color .18s ease;
}

.tsps-product-title a:hover { color: var(--tsps-accent) !important; }

.tsps-rating {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 4px 0 5px;
	color: var(--tsps-muted);
	font-size: 11px;
}

.tsps-rating .star-rating { float: none; margin: 0; color: var(--tsps-accent); }
.tsps-rating .star-rating::before,
.tsps-rating .star-rating span::before { color: var(--tsps-accent); }

.tsps-excerpt {
	display: -webkit-box;
	margin: 4px 0 6px;
	overflow: hidden;
	color: var(--tsps-muted);
	font-size: 11px;
	line-height: 1.85;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.tsps-card-footer {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 8px !important;
	margin: 5px 0 0 !important;
	padding: 0 !important;
	direction: rtl !important;
}

.tsps-price {
	min-width: 0;
	color: var(--tsps-accent) !important;
	font-size: 12px !important;
	line-height: 1.7 !important;
	font-weight: 800 !important;
	white-space: nowrap;
}

.tsps-price,
.tsps-price .amount,
.tsps-price ins,
.tsps-price ins .amount {
	color: var(--tsps-accent) !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	text-decoration: none !important;
}

.tsps-price del,
.tsps-price del .amount {
	color: rgba(255,255,255,.38) !important;
	font-size: 9px !important;
	font-weight: 400 !important;
}

.tsps-product-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 42px !important;
	width: 42px !important;
	height: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255,189,32,.68) !important;
	border-radius: 12px !important;
	background: rgba(255,189,32,.03) !important;
	color: var(--tsps-accent) !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.tsps-product-button:hover,
.tsps-product-button:focus-visible {
	border-color: var(--tsps-accent) !important;
	background: var(--tsps-accent) !important;
	color: #080808 !important;
	transform: translateY(-1px);
	outline: none;
}

.tsps-product-button svg {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tsps-product-button.added::after,
.tsps-product-button.loading::after { display: none !important; }

.tsps-arrow {
	position: absolute !important;
	top: 50% !important;
	z-index: 7 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 32px !important;
	height: 44px !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255,255,255,.18) !important;
	border-radius: 10px !important;
	background: rgba(5,8,12,.70) !important;
	color: #fff !important;
	box-shadow: 0 8px 20px rgba(0,0,0,.28) !important;
	cursor: pointer;
	transform: translateY(-50%) !important;
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, opacity .18s ease;
}

.tsps-arrow-prev { left: 4px !important; right: auto !important; }
.tsps-arrow-next { right: 4px !important; left: auto !important; }

.tsps-arrow:hover,
.tsps-arrow:focus-visible {
	border-color: var(--tsps-accent) !important;
	background: var(--tsps-accent) !important;
	color: #080808 !important;
	outline: none;
}

.tsps-arrow[disabled] { opacity: .28; cursor: not-allowed; }

.tsps-arrow svg {
	display: block !important;
	width: 19px !important;
	height: 19px !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tsps-empty {
	padding: 24px;
	border: 1px dashed var(--tsps-border);
	border-radius: var(--tsps-radius);
	background: var(--tsps-card-bg);
	color: var(--tsps-muted);
	text-align: center;
}

.tsps-slider .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

@media (max-width: 1024px) {
	.tsps-slider:not(.is-ready) .tsps-track {
		grid-template-columns: repeat(var(--tsps-cols-tablet), minmax(0,1fr)) !important;
	}
	.tsps-product-title { font-size: 13px !important; min-height: 46px !important; }
}

@media (max-width: 767px) {
	.tsps-slider:not(.is-ready) .tsps-track {
		grid-template-columns: repeat(var(--tsps-cols-mobile), minmax(0,1fr)) !important;
	}
	.tsps-card { border-radius: 14px !important; }
	.tsps-image { width: calc(100% - 12px) !important; margin: 6px 6px 0 !important; border-radius: 10px !important; }
	.tsps-image img { padding: 6px !important; }
	.tsps-card-body { padding: 9px 9px 10px !important; }
	.tsps-category, .tsps-category a { margin-bottom: 3px !important; font-size: 9px !important; }
	.tsps-product-title { min-height: 42px !important; font-size: 11px !important; line-height: 1.75 !important; font-weight: 600 !important; }
	.tsps-card-footer { margin-top: 4px !important; }
	.tsps-price { font-size: 9px !important; }
	.tsps-product-button { flex-basis: 36px !important; width: 36px !important; height: 36px !important; min-height: 36px !important; border-radius: 10px !important; }
	.tsps-product-button svg { width: 18px; height: 18px; }
	.tsps-arrow { width: 27px !important; height: 39px !important; min-height: 39px !important; }
	.tsps-arrow-prev { left: 1px !important; }
	.tsps-arrow-next { right: 1px !important; }
	.tsps-badge { top: 7px; right: 7px; min-height: 22px; padding: 4px 7px; font-size: 8px; }
}

@media (prefers-reduced-motion: reduce) {
	.tsps-card,
	.tsps-image img,
	.tsps-arrow,
	.tsps-product-button { transition: none !important; }
}

/* پیش‌نمایش Elementor نیز همان اسلایدر واقعی است. */
.tsps-editor-preview {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: hidden !important;
}

.tsps-editor-preview .tsps-stage,
.tsps-editor-preview .tsps-viewport {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

.tsps-editor-preview .tsps-viewport {
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-snap-type: x mandatory !important;
	-webkit-overflow-scrolling: touch;
}

.tsps-editor-preview.is-ready .tsps-track {
	display: flex !important;
	width: max-content !important;
	min-width: 100% !important;
	max-width: none !important;
}

.tsps-editor-preview .tsps-slide {
	display: flex !important;
	flex: 0 0 auto !important;
	height: auto !important;
}

.tsps-editor-preview .tsps-arrow {
	display: inline-flex !important;
	pointer-events: auto !important;
	z-index: 12 !important;
}

/* تا قبل از اجرای JS نیز در موبایل کارت‌ها افقی بمانند، نه چند ردیف عمودی. */
@media (max-width: 767px) {
	.tsps-editor-preview:not(.is-ready) .tsps-viewport {
		overflow-x: auto !important;
		overflow-y: hidden !important;
	}

	.tsps-editor-preview:not(.is-ready) .tsps-track {
		display: flex !important;
		width: max-content !important;
		min-width: 100% !important;
		gap: var(--tsps-gap) !important;
	}

	.tsps-editor-preview:not(.is-ready) .tsps-slide {
		width: calc((100vw - 48px - var(--tsps-gap)) / 2) !important;
		max-width: 190px !important;
		flex-basis: calc((100vw - 48px - var(--tsps-gap)) / 2) !important;
	}
}


/* نسخه 1.3.2: جلوگیری از بریده‌شدن لبه بالایی کارت در اسلایدر */
.tsps-slider .tsps-card:hover {
	transform: none !important;
}

.tsps-slider .tsps-card:hover::after {
	border-top-color: var(--tsps-accent) !important;
}


/* نسخه 1.3.3: بوردر هاور ظریف و یک‌پیکسلی */
.tsps-slider .tsps-card::after {
	display: none !important;
}

.tsps-slider .tsps-card:hover {
	border-width: 1px !important;
	border-style: solid !important;
	border-color: var(--tsps-accent) !important;
	box-shadow:
		0 16px 34px rgba(0,0,0,.34),
		0 0 14px rgba(255,189,32,.07) !important;
	transform: none !important;
}


/* نسخه 1.3.4: نمایش کامل لبه چپ کارت انتهایی */
.tsps-slider .tsps-card {
	position: relative !important;
	isolation: isolate;
}

.tsps-slider .tsps-card::after {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 30 !important;
	pointer-events: none !important;
	border: 1px solid transparent !important;
	border-radius: inherit !important;
	box-shadow: none !important;
	transition: border-color .18s ease !important;
}

.tsps-slider .tsps-card:hover {
	/* بوردر اصلی نامرئی می‌شود تا ضخامت دو برابر نشود */
	border-color: transparent !important;
	box-shadow:
		0 16px 34px rgba(0,0,0,.34),
		0 0 14px rgba(255,189,32,.07) !important;
	transform: none !important;
}

.tsps-slider .tsps-card:hover::after {
	border-color: var(--tsps-accent) !important;
}

/* یک فضای بسیار ظریف در دو انتهای ریل برای جلوگیری از چسبیدن کارت به viewport */
.tsps-slider .tsps-track {
	padding-inline: 1px !important;
}
