/* اسلایدر محصولات لوکس — همه‌ی کلاس‌ها با پیشوند lps */

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

.lps {
	--lps-accent: #c99b36;
	--lps-accent-ink: #fff;
	--lps-heading: #111827;
	--lps-card: #fff;
	--lps-border: #eceef1;
	--lps-title: #1f2937;
	--lps-text: #6b7280;
	--lps-overlay: #111827;
	--lps-overlay-op: .38;
	--lps-arrow-bg: #fff;
	--lps-arrow-ink: #1f2937;
	--lps-bullet: #d1d5db;
	--lps-cd: 4; --lps-ct: 3; --lps-cs: 2; --lps-cm: 1.2;
	--lps-gd: 28px; --lps-gm: 16px;
	--lps-maxw: 1280px; --lps-px: 20px; --lps-my: 40px;
	--lps-ratio: 1 / 1; --lps-fit: cover;
	--lps-radius: 16px; --lps-img-radius: 12px; --lps-pad: 14px;
	--lps-align: center;
	--lps-tsize: 16px; --lps-tlines: 2; --lps-tweight: 600;
	--lps-hsize: 28px;
	--lps-shadow: 0 2px 14px rgba(16, 24, 40, .07);
	--lps-shadow-h: 0 14px 34px rgba(16, 24, 40, .13);
	--lps-ease: cubic-bezier(.2, .7, .2, 1);

	--lps-n: var(--lps-cm);
	--lps-gap: var(--lps-gm);

	position: relative;
	display: block;
	width: 100%;
	margin: var(--lps-my) 0;
	background: var(--lps-bg, transparent);
	color: var(--lps-text);
	font-family: inherit;
	line-height: 1.6;
	text-align: start;
	overflow-x: clip;
}
@media (min-width: 480px)  { .lps { --lps-n: var(--lps-cs); } }
@media (min-width: 768px)  { .lps { --lps-n: var(--lps-ct); --lps-gap: var(--lps-gd); } }
@media (min-width: 1024px) { .lps { --lps-n: var(--lps-cd); } }

.lps--has-bg { padding-block: 48px; }

/* عرض کامل صفحه */
.lps--bleed-always {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
@media (max-width: 767px) {
	.lps--bleed-mobile {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
	.lps--has-bg { padding-block: 32px; }
}

.lps-inner {
	width: 100%;
	max-width: var(--lps-maxw);
	margin-inline: auto;
	padding-inline: var(--lps-px);
}
@media (max-width: 767px) { .lps-inner { padding-inline: min(var(--lps-px), 16px); } }

/* ------------------------------------------------------------------ */
/* سرتیتر                                                              */
/* ------------------------------------------------------------------ */

.lps-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 24px;
	margin: 0 0 28px;
}
.lps-head-text { min-width: 0; flex: 1 1 auto; }
.lps .lps-title {
	position: relative;
	margin: 0;
	padding: 0;
	color: var(--lps-heading);
	font-family: inherit;
	font-size: clamp(calc(var(--lps-hsize) * .74), 3.8vw, var(--lps-hsize));
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none;
}
.lps .lps-sub {
	margin: 6px 0 0;
	padding: 0;
	color: var(--lps-text);
	font-size: 15px;
	line-height: 1.7;
}
.lps--hs-bar .lps-title { padding-inline-start: 18px; }
.lps--hs-bar .lps-title::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .2em;
	bottom: .2em;
	width: 5px;
	border-radius: 5px;
	background: var(--lps-accent);
}
.lps--hs-underline .lps-title::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin-top: 12px;
	border-radius: 3px;
	background: var(--lps-accent);
}
.lps--head-center .lps-head { flex-direction: column; align-items: center; text-align: center; }
.lps--head-center .lps-head-text { flex: 0 0 auto; }
.lps--head-center.lps--hs-underline .lps-title::after { margin-inline: auto; }
.lps--head-center.lps--hs-bar .lps-title { padding-inline-start: 0; padding-top: 16px; }
.lps--head-center.lps--hs-bar .lps-title::before {
	inset-inline-start: 50%; top: 0; bottom: auto; width: 44px; height: 4px;
	transform: translateX(50%);
}
.lps--head-center[dir="ltr"].lps--hs-bar .lps-title::before { transform: translateX(-50%); }

.lps-head-actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.lps .lps-viewall {
	display: inline-flex;
	align-items: center;
	padding: 9px 18px;
	border: 1px solid var(--lps-border);
	border-radius: 999px;
	color: var(--lps-title);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color .25s, color .25s, border-color .25s;
}
.lps .lps-viewall:hover,
.lps .lps-viewall:focus-visible {
	background: var(--lps-accent);
	border-color: var(--lps-accent);
	color: var(--lps-accent-ink);
	text-decoration: none;
}
@media (max-width: 520px) {
	.lps-head { margin-bottom: 20px; }
	.lps .lps-viewall { padding: 7px 14px; font-size: 13px; }
}

/* ------------------------------------------------------------------ */
/* فلش‌ها                                                              */
/* ------------------------------------------------------------------ */

.lps-nav { display: flex; gap: 10px; }
.lps .lps-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--lps-border);
	border-radius: 50%;
	background: var(--lps-arrow-bg);
	color: var(--lps-arrow-ink);
	box-shadow: none;
	font: inherit;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color .25s, color .25s, border-color .25s, opacity .25s, transform .25s var(--lps-ease), box-shadow .25s;
}
.lps .lps-arrow svg { display: block; width: 20px; height: 20px; transition: transform .25s var(--lps-ease); }
.lps[dir="ltr"] .lps-prev svg,
.lps[dir="rtl"] .lps-next svg { transform: scaleX(-1); }
.lps .lps-arrow:hover,
.lps .lps-arrow:focus-visible {
	background: var(--lps-accent);
	border-color: var(--lps-accent);
	color: var(--lps-accent-ink);
	outline: none;
}
.lps .lps-arrow:focus-visible { box-shadow: 0 0 0 3px color-mix(in srgb, var(--lps-accent) 35%, transparent); }
.lps .lps-arrow:active { transform: scale(.92); }
.lps .lps-arrow:disabled,
.lps .lps-arrow[disabled] { opacity: .35; cursor: default; pointer-events: none; }

.lps--nav-square .lps-arrow { border-radius: 14px; }
.lps--nav-soft .lps-arrow {
	border-color: transparent;
	background: var(--lps-arrow-bg);
	background: color-mix(in srgb, var(--lps-accent) 13%, transparent);
	color: var(--lps-accent);
}
.lps--nav-soft .lps-arrow:hover,
.lps--nav-soft .lps-arrow:focus-visible { background: var(--lps-accent); color: var(--lps-accent-ink); }

/* فلش‌های دو طرف */
.lps-stage { position: relative; }
.lps--nav-sides .lps-arrow {
	position: absolute;
	top: calc(50% - 22px);
	z-index: 5;
	box-shadow: 0 6px 20px rgba(16, 24, 40, .16);
}
.lps--nav-sides .lps-prev { inset-inline-start: -14px; }
.lps--nav-sides .lps-next { inset-inline-end: -14px; }
@media (max-width: 767px) { .lps--nav-sides .lps-arrow { display: none; } }

/* ------------------------------------------------------------------ */
/* ویوپورت و اسلایدها                                                  */
/* ------------------------------------------------------------------ */

.lps-viewport {
	display: flex;
	gap: var(--lps-gap);
	overflow-x: auto;
	overflow-y: hidden;
	margin: -14px -12px -22px;
	padding: 14px 12px 36px;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 12px;
	overscroll-behavior-x: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	outline: none;
}
.lps-viewport::-webkit-scrollbar { display: none; }
.lps-viewport.lps-anim,
.lps-viewport.lps-dragging { scroll-snap-type: none; }
.lps--grab .lps-viewport { cursor: grab; }
.lps--grab .lps-viewport.lps-dragging { cursor: grabbing; user-select: none; -webkit-user-select: none; }
.lps-dragging a { pointer-events: none; }
.lps-viewport:focus-visible { box-shadow: 0 0 0 2px var(--lps-accent) inset; border-radius: var(--lps-radius); }

.lps-slide {
	display: flex;
	flex: 0 0 calc((100% - var(--lps-gap) * (var(--lps-n) - 1)) / var(--lps-n));
	min-width: 0;
	scroll-snap-align: start;
}

/* ------------------------------------------------------------------ */
/* کارت                                                                */
/* ------------------------------------------------------------------ */

.lps-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	padding: var(--lps-pad);
	border: 1px solid var(--lps-border);
	border-radius: var(--lps-radius);
	background: var(--lps-card);
	box-shadow: var(--lps-shadow);
	transition: transform .5s var(--lps-ease), box-shadow .5s var(--lps-ease), border-color .3s;
}

.lps-media { position: relative; border-radius: var(--lps-img-radius); overflow: hidden; isolation: isolate; }
.lps-ratio {
	position: relative;
	aspect-ratio: var(--lps-ratio);
	overflow: hidden;
	background: linear-gradient(135deg, color-mix(in srgb, var(--lps-title) 6%, var(--lps-card)), color-mix(in srgb, var(--lps-title) 11%, var(--lps-card)));
}
.lps-ratio img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	object-fit: var(--lps-fit);
	-webkit-user-drag: none;
	user-select: none;
	transition: transform .9s var(--lps-ease);
}
.lps--fit-contain .lps-ratio img { padding: 6%; }

/* نشان (بج) */
.lps-badge {
	position: absolute;
	z-index: 3;
	top: 12px;
	inset-inline-start: 12px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--lps-accent);
	color: var(--lps-accent-ink);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.6;
	box-shadow: 0 4px 12px rgba(16, 24, 40, .18);
	pointer-events: none;
}

/* لایه‌ی هاور */
.lps-hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding: 18px;
	background: linear-gradient(to top, color-mix(in srgb, var(--lps-overlay) calc(var(--lps-overlay-op) * 100%), transparent), transparent 70%);
	opacity: 0;
	transition: opacity .45s var(--lps-ease);
	pointer-events: none;
}
.lps-hover-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border-radius: 999px;
	background: var(--lps-card);
	color: var(--lps-title);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
	transform: translateY(14px);
	transition: transform .5s var(--lps-ease), background-color .25s, color .25s;
}
.lps-hover-btn svg { display: block; width: 16px; height: 16px; }
.lps[dir="ltr"] .lps-hover-btn svg { transform: scaleX(-1); }

.lps-card:hover .lps-hover,
.lps-card:focus-within .lps-hover { opacity: 1; }
.lps-card:hover .lps-hover-btn,
.lps-card:focus-within .lps-hover-btn { transform: none; }
.lps-card:hover .lps-hover-btn { background: var(--lps-accent); color: var(--lps-accent-ink); }
@media (hover: none) { .lps-hover { display: none; } }

/* افکت‌های هاور */
.lps--hv-lift .lps-card:hover,
.lps--hv-both .lps-card:hover { transform: translateY(-6px); box-shadow: var(--lps-shadow-h); }
.lps--hv-zoom .lps-card:hover .lps-ratio img,
.lps--hv-both .lps-card:hover .lps-ratio img { transform: scale(1.07); }
@media (hover: none) {
	.lps--hv-lift .lps-card:hover,
	.lps--hv-both .lps-card:hover { transform: none; box-shadow: var(--lps-shadow); }
}

/* متن کارت */
.lps-body { position: relative; padding: 16px 4px 4px; text-align: var(--lps-align); }
.lps .lps-cat {
	margin: 0 0 4px;
	color: var(--lps-accent);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.5;
}
.lps .lps-name {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: var(--lps-tlines);
	line-clamp: var(--lps-tlines);
	overflow: hidden;
	margin: 0;
	padding: 0;
	color: var(--lps-title);
	font-family: inherit;
	font-size: var(--lps-tsize);
	font-weight: var(--lps-tweight);
	line-height: 1.6;
	letter-spacing: normal;
	text-transform: none;
	text-align: var(--lps-align);
}
.lps .lps-name a {
	color: inherit;
	font: inherit;
	text-decoration: none;
	box-shadow: none;
	border: 0;
	transition: color .25s;
}
.lps .lps-name a:hover { color: var(--lps-accent); text-decoration: none; }
/* کل کارت قابل کلیک است */
.lps .lps-name a::after,
.lps .lps-cover { content: ""; position: absolute; inset: 0; z-index: 4; border-radius: inherit; }
.lps .lps-name a:focus-visible { outline: none; }
.lps .lps-name a:focus-visible::after,
.lps .lps-cover:focus-visible { outline: 2px solid var(--lps-accent); outline-offset: 3px; border-radius: var(--lps-radius); }
.lps .lps-cover { display: block; }

.lps .lps-price {
	margin-top: 8px;
	color: var(--lps-accent);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
}
.lps .lps-price del { margin-inline-end: 6px; color: var(--lps-text); font-weight: 400; opacity: .7; }
.lps .lps-price ins { text-decoration: none; background: none; }
.lps .lps-price .woocommerce-Price-amount { color: inherit; }

/* ------------------------------------------------------------------ */
/* سبک: اِلگانت                                                        */
/* ------------------------------------------------------------------ */

.lps--elegant .lps-card { padding: 0; overflow: hidden; }
.lps--elegant .lps-media { border-radius: 0; }
.lps--elegant .lps-body { padding: 18px 20px 24px; }
.lps--elegant .lps-card::after {
	content: "";
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	z-index: 3;
	height: 3px;
	background: var(--lps-accent);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .6s var(--lps-ease);
}
.lps--elegant[dir="ltr"] .lps-card::after { transform-origin: left; }
.lps--elegant .lps-card:hover::after,
.lps--elegant .lps-card:focus-within::after { transform: scaleX(1); }

/* ------------------------------------------------------------------ */
/* سبک: اُورلی                                                         */
/* ------------------------------------------------------------------ */

.lps--overlay .lps-card { padding: 0; overflow: hidden; border-color: transparent; }
.lps--overlay .lps-media { border-radius: 0; }
.lps--overlay .lps-ratio::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(8, 10, 14, .82) 0%, rgba(8, 10, 14, .38) 38%, transparent 68%);
	pointer-events: none;
}
.lps--overlay .lps-body {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	z-index: 3;
	padding: 24px 20px 20px;
}
.lps--overlay .lps-name,
.lps--overlay .lps-name a { color: #fff; }
.lps--overlay .lps-name a:hover { color: #fff; }
.lps--overlay .lps-cat { color: #fff; opacity: .85; }
.lps--overlay .lps-price,
.lps--overlay .lps-price del { color: #fff; }
.lps--overlay .lps-hover { align-items: center; background: color-mix(in srgb, var(--lps-overlay) calc(var(--lps-overlay-op) * 100%), transparent); }

/* ------------------------------------------------------------------ */
/* سبک: مینیمال                                                        */
/* ------------------------------------------------------------------ */

.lps--minimal .lps-card {
	padding: 0;
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}
.lps--minimal .lps-media { box-shadow: var(--lps-shadow); transition: box-shadow .5s var(--lps-ease); }
.lps--minimal.lps--hv-lift .lps-card:hover,
.lps--minimal.lps--hv-both .lps-card:hover { box-shadow: none; }
.lps--minimal.lps--hv-lift .lps-card:hover .lps-media,
.lps--minimal.lps--hv-both .lps-card:hover .lps-media { box-shadow: var(--lps-shadow-h); }
.lps--minimal .lps-body { padding: 16px 2px 0; }

/* ------------------------------------------------------------------ */
/* صفحه‌بندی                                                           */
/* ------------------------------------------------------------------ */

.lps-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 12px;
	margin-top: 4px;
}
.lps .lps-dot {
	position: relative;
	width: 8px;
	height: 8px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--lps-bullet);
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: width .45s var(--lps-ease), background-color .3s;
}
.lps .lps-dot::before { content: ""; position: absolute; inset: -10px -4px; }
.lps .lps-dot:hover { background: color-mix(in srgb, var(--lps-accent) 55%, var(--lps-bullet)); }
.lps .lps-dot.is-active { width: 30px; background: var(--lps-accent); }
.lps .lps-dot:focus-visible { outline: 2px solid var(--lps-accent); outline-offset: 3px; }

.lps-bar {
	position: relative;
	display: block;
	width: min(100%, 320px);
	height: 4px;
	border-radius: 4px;
	background: var(--lps-bullet);
	overflow: hidden;
}
.lps-bar i {
	position: absolute;
	inset: 0;
	display: block;
	border-radius: 4px;
	background: var(--lps-accent);
	transform: scaleX(0);
	transform-origin: right center;
	transition: transform .3s ease-out;
}
.lps[dir="ltr"] .lps-bar i { transform-origin: left center; }

.lps-frac { color: var(--lps-text); font-size: 14px; font-variant-numeric: tabular-nums; }
.lps-frac b { color: var(--lps-accent); font-size: 17px; font-weight: 800; }

/* وقتی همه‌ی اسلایدها در یک نما جا می‌شوند، کنترل‌ها پنهان می‌شوند */
.lps-static .lps-nav,
.lps-static .lps-arrow,
.lps-static .lps-pagination { display: none; }
.lps-static .lps-viewport { cursor: auto; }

/* ------------------------------------------------------------------ */
/* ورود نرم (فقط یک‌بار برای کل بخش)                                   */
/* ------------------------------------------------------------------ */

.lps-js .lps--reveal .lps-inner {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .9s ease, transform .9s var(--lps-ease);
}
.lps-js .lps--reveal.lps-in .lps-inner { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	.lps *, .lps *::before, .lps *::after { transition-duration: .01ms !important; animation: none !important; }
	.lps-js .lps--reveal .lps-inner { opacity: 1; transform: none; }
	.lps-hover-btn { transform: none; }
}
