/* Pro Cart – ویجت «تصویر محصول سفارشی». رنگ/اندازه‌ها با متغیرهای CSS از تنظیمات ویجت می‌آیند. */
.pcart-pg {
	--pg-vt: flex;
	--pg-vd: none;
	--pg-cols: 4;
	--pg-tgap: 10px;
	--pg-sgap: 0px;
	--pg-offl: 0px;
	--pg-offr: 0px;
	position: relative;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.pcart-pg *, .pcart-pg *::before, .pcart-pg *::after { box-sizing: border-box; }

.pcart-pg__stage { position: relative; }
.pcart-pg__view {
	overflow: hidden;
	position: relative;
	touch-action: pan-y;
	cursor: grab;
	-webkit-user-select: none;
	user-select: none;
}
.pcart-pg.is-single .pcart-pg__view { cursor: default; }
.pcart-pg__view.is-dragging { cursor: grabbing; }

.pcart-pg__track {
	display: flex;
	gap: var(--pg-sgap);
	padding-left: var(--pg-offl);
	padding-right: var(--pg-offr);
	margin: 0;
	transition: transform .35s ease;
	will-change: transform;
}
.pcart-pg__view.is-dragging .pcart-pg__track { transition: none; }

.pcart-pg__slide {
	flex: 0 0 100%;
	min-width: 0;
	position: relative;
	overflow: hidden;
	margin: 0;
	transition: opacity .25s ease;
}
.pcart-pg__a { display: block; line-height: 0; cursor: zoom-in; }
.pcart-pg__view.is-dragging .pcart-pg__a { cursor: grabbing; }
.pcart-pg .pcart-pg__img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
	-webkit-user-drag: none;
	user-select: none;
	transform-origin: 50% 50%;
}
.pcart-pg__slide.is-zoom .pcart-pg__img { transition: transform .2s ease-out; }

/* بندانگشتی‌ها (کروسل قابل درگ) */
.pcart-pg__thumbs {
	display: var(--pg-vt);
	overflow: hidden;
	margin-top: 10px;
	touch-action: pan-y;
	cursor: grab;
	-webkit-user-select: none;
	user-select: none;
}
.pcart-pg__thumbs.is-dragging { cursor: grabbing; }
.pcart-pg__ttrack {
	display: flex;
	width: 100%;
	gap: var(--pg-tgap);
	transition: transform .3s ease;
	will-change: transform;
}
.pcart-pg__thumbs.is-dragging .pcart-pg__ttrack { transition: none; }
.pcart-pg .pcart-pg__thumb {
	flex: 0 0 calc((100% - (var(--pg-cols) - 1) * var(--pg-tgap)) / var(--pg-cols));
	min-width: 0;
	padding: 0;
	margin: 0;
	background: #fff;
	color: inherit;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	box-shadow: none;
	overflow: hidden;
	opacity: .65;
	line-height: 0;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: opacity .2s ease, border-color .2s ease;
}
.pcart-pg .pcart-pg__thumb:hover,
.pcart-pg .pcart-pg__thumb:focus { opacity: 1; background: #fff; color: inherit; }
.pcart-pg .pcart-pg__thumb:focus-visible { outline: 2px solid #12a0dc; outline-offset: 2px; }
.pcart-pg .pcart-pg__thumb.is-active { opacity: 1; border-color: #12a0dc; }
.pcart-pg .pcart-pg__timg {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	-webkit-user-drag: none;
}

/* نقطه‌های صفحه‌بندی */
.pcart-pg__dots {
	display: var(--pg-vd);
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--pg-dgap, 8px);
	margin-top: 12px;
	pointer-events: none;
	z-index: 2;
}
.pcart-pg .pcart-pg__dot {
	pointer-events: auto;
	width: var(--pg-ds, 8px);
	height: var(--pg-ds, 8px);
	min-width: 0;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: var(--pg-dr, 999px);
	box-shadow: none;
	background: var(--pg-dc, #cbd5e1);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: width .2s ease, background-color .2s ease;
}
.pcart-pg .pcart-pg__dot:hover,
.pcart-pg .pcart-pg__dot:focus { background: var(--pg-dch, var(--pg-dc, #cbd5e1)); }
.pcart-pg .pcart-pg__dot.is-active,
.pcart-pg .pcart-pg__dot.is-active:hover,
.pcart-pg .pcart-pg__dot.is-active:focus { width: var(--pg-daw, 22px); background: var(--pg-dca, #12a0dc); }
.pcart-pg .pcart-pg__dot:focus-visible { outline: 2px solid #12a0dc; outline-offset: 2px; }

/* لایت‌باکس (به body اضافه می‌شود) */
html.pcart-lb-open { overflow: hidden; }
.pcart-lb {
	position: fixed;
	inset: 0;
	z-index: 2147483000;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--lb-bg, rgba(0, 0, 0, .9));
	opacity: 0;
	transition: opacity .2s ease;
	touch-action: pan-y;
}
.pcart-lb.is-open { opacity: 1; }
.pcart-lb__i {
	max-width: 92vw;
	max-height: 88vh;
	width: auto;
	height: auto;
	object-fit: contain;
	-webkit-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
}
.pcart-lb button {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .16);
	color: #fff;
	font: 400 26px/1 sans-serif;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}
.pcart-lb button:hover, .pcart-lb button:focus { background: rgba(255, 255, 255, .3); color: #fff; }
.pcart-lb__x { top: 16px; right: 16px; }
.pcart-lb__l { left: 16px; top: 50%; margin-top: -22px; }
.pcart-lb__r { right: 16px; top: 50%; margin-top: -22px; }
.pcart-lb__c {
	position: absolute;
	bottom: 14px;
	left: 0;
	right: 0;
	text-align: center;
	color: #fff;
	font: 400 14px/1 sans-serif;
	opacity: .85;
	pointer-events: none;
}
