/*
====================================================================
SWATCHES — سواچ رنگ/تصویر/دکمه + tooltip
====================================================================
*/

.vitrin-swatch-group,
.vitrin-card-swatches__row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-3);
}

.vitrin-card-swatches {
	padding: 0 var(--space-4) var(--space-3);
}

.vitrin-swatch {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--color-border);
	background: var(--color-surface);
	cursor: pointer;
	padding: 0;
	transition: border-color var(--transition-fast), transform var(--transition-fast);
}

.vitrin-swatch:hover {
	border-color: var(--color-primary);
	transform: translateY(-1px);
}

.vitrin-swatch.is-selected {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 2px var(--color-primary-tint);
}

/* رنگ */
.vitrin-swatch--color {
	width: 32px;
	height: 32px;
	border-radius: var(--radius-pill);
	background-color: var(--swatch-color, var(--color-border));
}

.vitrin-swatch--color.vitrin-swatch--sm {
	width: 24px;
	height: 24px;
}

/* تصویر */
.vitrin-swatch--image {
	width: 40px;
	height: 40px;
	border-radius: var(--radius-sm);
	background-image: var(--swatch-image);
	background-size: cover;
	background-position: center;
}

.vitrin-swatch--image.vitrin-swatch--sm {
	width: 28px;
	height: 28px;
}

/* دکمه (متن) */
.vitrin-swatch--button {
	height: 36px;
	padding-inline: var(--space-3);
	border-radius: var(--radius-sm);
	font-size: var(--font-size-xs);
	font-weight: 600;
	color: var(--color-ink);
}

.vitrin-swatch--button.vitrin-swatch--sm {
	height: 28px;
	padding-inline: var(--space-2);
}

/* tooltip */
.vitrin-swatch__tooltip {
	position: absolute;
	bottom: calc(100% + 6px);
	inset-inline-start: 50%;
	transform: translateX(50%) translateY(4px);
	background: var(--color-ink);
	color: #fff;
	font-size: var(--font-size-xs);
	padding: var(--space-1) var(--space-2);
	border-radius: var(--radius-sm);
	white-space: nowrap;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--transition-fast), transform var(--transition-fast);
	z-index: 10;
}

.vitrin-swatch:hover .vitrin-swatch__tooltip,
.vitrin-swatch:focus-visible .vitrin-swatch__tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateX(50%) translateY(0);
}

/* پیام موقت بعد از AJAX add-to-cart روی کارت */
.vitrin-card-swatches__feedback {
	font-size: var(--font-size-xs);
	margin-top: var(--space-2);
	color: var(--color-ink-soft);
}

.vitrin-card-swatches__feedback.is-success {
	color: var(--color-success);
}

.vitrin-card-swatches__feedback.is-error {
	color: var(--color-danger);
}

/* محو شدن کوتاه هنگام درخواست AJAX، برای فیدبک بصری بدون اسپینر سنگین */
.vitrin-card-swatches.is-loading {
	opacity: 0.6;
	pointer-events: none;
}
