/**
 * موشن، هاور و انیمیشن ورود کارت‌های محصول — Impo Product Cards
 */

.pcw-widget {
	--pcw-motion-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.pcw-card {
	transition:
		transform calc(var(--pcw-transition, 350ms) * 1ms) var(--pcw-motion-ease),
		box-shadow calc(var(--pcw-transition, 350ms) * 1ms) var(--pcw-motion-ease),
		border-color calc(var(--pcw-transition, 350ms) * 1ms) ease;
	will-change: transform;
}

.pcw-card__image {
	transition: transform calc(var(--pcw-transition, 350ms) * 1ms) var(--pcw-motion-ease);
}

.pcw-card__media {
	overflow: hidden;
}

/* ---------- Hover: lift ---------- */
.pcw-hover-lift .pcw-card:hover,
.pcw-hover-lift-glow .pcw-card:hover {
	transform: translateY(calc(var(--pcw-hover-lift, 8px) * -1));
}

/* ---------- Hover: scale ---------- */
.pcw-hover-scale .pcw-card:hover {
	transform: scale(1.03);
}

/* ---------- Hover: glow ---------- */
.pcw-hover-glow .pcw-card:hover,
.pcw-hover-lift-glow .pcw-card:hover {
	box-shadow:
		0 12px 40px rgba(124, 58, 237, 0.18),
		0 4px 12px rgba(15, 23, 42, 0.08);
}

/* ---------- Hover: border ---------- */
.pcw-hover-border .pcw-card {
	border: 2px solid transparent;
}

.pcw-hover-border .pcw-card:hover {
	border-color: var(--pcw-accent, #7c3aed);
	box-shadow: 0 0 0 1px rgba(124, 58, 237, 0.12);
}

/* ---------- Image zoom ---------- */
.pcw-widget .pcw-card:hover .pcw-card__image--main,
.pcw-widget .pcw-card:hover .pcw-card__image--hover {
	transform: scale(var(--pcw-image-zoom, 1.08));
}

/* ---------- Actions reveal: slide ---------- */
.pcw-actions-slide .pcw-card__image-actions,
.pcw-actions-slide .pcw-card__actions {
	opacity: 0;
	transform: translateY(12px);
	transition:
		opacity calc(var(--pcw-transition, 350ms) * 1ms) ease,
		transform calc(var(--pcw-transition, 350ms) * 1ms) var(--pcw-motion-ease);
}

.pcw-actions-slide .pcw-card:hover .pcw-card__image-actions,
.pcw-actions-slide .pcw-card:hover .pcw-card__actions {
	opacity: 1;
	transform: translateY(0);
}

/* ---------- Actions reveal: fade ---------- */
.pcw-actions-fade .pcw-card__image-actions,
.pcw-actions-fade .pcw-card__actions {
	opacity: 0;
	transition: opacity calc(var(--pcw-transition, 350ms) * 1ms) ease;
}

.pcw-actions-fade .pcw-card:hover .pcw-card__image-actions,
.pcw-actions-fade .pcw-card:hover .pcw-card__actions {
	opacity: 1;
}

/* ---------- Actions reveal: always ---------- */
.pcw-actions-always .pcw-card__image-actions,
.pcw-actions-always .pcw-card__actions {
	opacity: 1;
	transform: none;
}

/* ---------- Entrance animations (JS adds .pcw-card--visible) ---------- */
.pcw-entrance-fade-up .pcw-card,
.pcw-entrance-fade-scale .pcw-card,
.pcw-entrance-slide-right .pcw-card,
.pcw-entrance-stagger .pcw-card {
	opacity: 0;
	transition:
		opacity calc(var(--pcw-entrance-duration, 600ms) * 1ms) var(--pcw-motion-ease),
		transform calc(var(--pcw-entrance-duration, 600ms) * 1ms) var(--pcw-motion-ease);
}

.pcw-entrance-fade-up .pcw-card {
	transform: translateY(28px);
}

.pcw-entrance-fade-scale .pcw-card {
	transform: scale(0.92);
}

.pcw-entrance-slide-right .pcw-card {
	transform: translateX(-32px);
}

.pcw-entrance-stagger .pcw-card {
	transform: translateY(20px) scale(0.97);
}

.pcw-card.pcw-card--visible {
	opacity: 1;
	transform: none;
}

.pcw-icon-btn--wishlist.is-burst {
	animation: pcw-heart-pop 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

@keyframes pcw-heart-pop {
	0% { transform: scale(1); }
	35% { transform: scale(1.32); }
	100% { transform: scale(1); }
}

/* ---------- Ambient glow from selected color ---------- */
.pcw-ambient .pcw-card {
	--pcw-glow: var(--pcw-swatch-glow, var(--pcw-accent));
}

.pcw-ambient .pcw-card:hover {
	box-shadow:
		0 18px 44px color-mix(in srgb, var(--pcw-glow) 30%, transparent),
		0 6px 16px rgba(15, 23, 42, 0.08);
}

/* ---------- 3D tilt ---------- */
.pcw-tilt .pcw-card {
	transform-style: preserve-3d;
	transform: perspective(900px) rotateX(var(--pcw-tilt-x, 0deg)) rotateY(var(--pcw-tilt-y, 0deg));
	transition:
		transform 0.12s linear,
		box-shadow calc(var(--pcw-transition, 350ms) * 1ms) var(--pcw-motion-ease);
}

.pcw-tilt.pcw-hover-lift .pcw-card:hover,
.pcw-tilt.pcw-hover-lift-glow .pcw-card:hover {
	transform:
		perspective(900px)
		rotateX(var(--pcw-tilt-x, 0deg))
		rotateY(var(--pcw-tilt-y, 0deg))
		translateY(calc(var(--pcw-hover-lift, 8px) * -1));
}

.pcw-skin-editorial.pcw-reveal-hover-dock .pcw-card__media > .pcw-card__studio,
.pcw-skin-editorial.pcw-reveal-always-dock .pcw-card__media > .pcw-card__studio {
	top: 12px;
	bottom: auto;
}

.pcw-skin-editorial .pcw-card__actions {
	z-index: 5;
}

/* ---------- Spotlight cursor ---------- */
.pcw-spotlight .pcw-card__spotlight {
	display: block;
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
	opacity: 0;
	background: radial-gradient(
		220px circle at var(--pcw-spot-x, 50%) var(--pcw-spot-y, 40%),
		rgba(255, 255, 255, 0.28),
		transparent 58%
	);
	transition: opacity 0.25s ease;
	mix-blend-mode: overlay;
}

.pcw-spotlight .pcw-card:hover .pcw-card__spotlight {
	opacity: 1;
}

/* ---------- Hover extras ---------- */
.pcw-hover-tilt .pcw-card:hover {
	transform: perspective(900px) rotateX(-3deg) rotateY(3deg) translateY(-4px);
}

.pcw-hover-shine .pcw-card__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(115deg, transparent 32%, rgba(255, 255, 255, 0.34) 48%, transparent 64%);
	transform: translateX(-120%);
	transition: transform 0.7s ease;
}

.pcw-hover-shine .pcw-card:hover .pcw-card__media::before {
	transform: translateX(120%);
}

/* ---------- License blocked (Elementor preview / admin) ---------- */
.pcw-license-blocked {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 200px;
	padding: 32px 24px;
	text-align: center;
	background: linear-gradient(135deg, #faf5ff 0%, #f8fafc 100%);
	border: 2px dashed #c4b5fd;
	border-radius: 16px;
	color: #4c1d95;
}

.pcw-license-blocked__icon {
	font-size: 36px;
	line-height: 1;
}

.pcw-license-blocked p {
	margin: 0;
	color: #6b7280;
	max-width: 360px;
}

.pcw-license-blocked .button {
	margin-top: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.pcw-card,
	.pcw-card__image,
	.pcw-card__image-actions,
	.pcw-card__actions,
	.pcw-card__studio,
	.pcw-swatch,
	.pcw-chip,
	.pcw-entrance-fade-up .pcw-card,
	.pcw-entrance-fade-scale .pcw-card,
	.pcw-entrance-slide-right .pcw-card,
	.pcw-entrance-stagger .pcw-card,
	.pcw-icon-btn--wishlist.is-burst,
	.pcw-carousel__progress span,
	.pcw-btn::after,
	.pcw-tilt .pcw-card,
	.pcw-spotlight .pcw-card__spotlight {
		transition: none !important;
		transform: none !important;
		opacity: 1 !important;
	}

	.pcw-hover-shine .pcw-card__media::before {
		display: none;
	}
}
