/* Nishka dynamic color swatches. WooCommerce owns the term data; this file owns only presentation. */
.nishka-color-swatches {
	box-sizing: border-box;
}

.nishka-color-swatches--archive {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	min-width: 0;
}

.nishka-color-swatches--archive .nishka-color-swatch {
	display: inline-block;
	width: 14px;
	height: 14px;
	flex: 0 0 14px;
	border: 1px solid rgba(32, 30, 29, .16);
	border-radius: 999px;
	background-color: var(--nishka-swatch-color, #ded8d2);
	background-image: var(--nishka-swatch-image, none);
	background-position: center;
	background-size: cover;
	box-shadow: inset 0 0 0 2px rgba(255,255,255,.72);
}

.nishka-color-swatch--none {
	background:
		linear-gradient(135deg, transparent 44%, rgba(32,30,29,.24) 45%, rgba(32,30,29,.24) 55%, transparent 56%),
		#f4f1ed !important;
}

.single-product .nishka-product-swatch {
	appearance: none;
	-webkit-appearance: none;
	padding: 0 !important;
	cursor: default;
	background-color: var(--nishka-swatch-color, var(--swatch-color, #ded8d2)) !important;
	background-image: var(--nishka-swatch-image, none) !important;
	background-position: center !important;
	background-size: cover !important;
}

.single-product button.nishka-product-swatch {
	cursor: pointer;
}

.single-product .nishka-product-swatch.is-disabled {
	opacity: .35 !important;
	cursor: not-allowed !important;
	transform: none !important;
}

.single-product .nishka-color-swatches__reset {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 4px 2px;
	margin: 0 0 0 4px;
	font: inherit;
	font-size: .86rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--color-storefront-muted, #5e5955);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.single-product .nishka-color-swatches__reset[hidden] {
	display: none !important;
}

.single-product form.variations_form tr.nishka-native-color-row {
	display: none !important;
}

.single-product .nishka-product-swatch:focus-visible,
.single-product .nishka-color-swatches__reset:focus-visible {
	outline: 2px solid #201e1d;
	outline-offset: 3px;
}

/* Self-contained single-product baseline. Kept aligned with the current Nishka storefront. */
.single-product .nishka-product-colors {
	display: grid !important;
	gap: 12px !important;
	margin: 0 0 28px !important;
}

.single-product .nishka-product-colors > p {
	margin: 0 !important;
	color: var(--color-storefront-ink, #171817) !important;
	font-size: .95rem !important;
}

.single-product .nishka-product-swatches {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 10px !important;
}

.single-product .nishka-product-swatch {
	display: block !important;
	width: 30px !important;
	height: 30px !important;
	min-width: 30px !important;
	border: 3px solid #fff !important;
	border-radius: 50% !important;
	box-shadow: 0 0 0 1px var(--color-storefront-line, #e9e0d9) !important;
	transition: transform .2s ease, box-shadow .2s ease !important;
}

@media (hover: hover) and (pointer: fine) {
	.single-product button.nishka-product-swatch:not(:disabled):hover {
		transform: translateY(-2px) !important;
		box-shadow: 0 0 0 2px var(--color-brand-coral, #d65364) !important;
	}
}

.single-product .nishka-product-swatch.is-active {
	transform: translateY(-2px) !important;
	box-shadow: 0 0 0 2px var(--color-brand-coral, #d65364) !important;
}

/* v1.1 — color-driven product image previews. */
.nishka-color-swatches--archive .nishka-color-swatch.has-preview,
.single-product .nishka-product-swatch.has-preview {
	cursor: pointer;
}

.nishka-color-swatches--archive .nishka-color-swatch.has-preview {
	transition: transform .16s ease, box-shadow .16s ease;
}

@media (hover: hover) and (pointer: fine) {
	.nishka-color-swatches--archive .nishka-color-swatch.has-preview:hover {
		transform: translateY(-1px) scale(1.08);
		box-shadow: inset 0 0 0 2px rgba(255,255,255,.72), 0 0 0 1px rgba(32,30,29,.38);
	}
}

.nishka-color-swatches--archive .nishka-color-swatch.is-preview-active {
	transform: translateY(-1px) scale(1.08);
	box-shadow: inset 0 0 0 2px rgba(255,255,255,.72), 0 0 0 2px var(--color-brand-coral, #d65364);
}

.nishka-color-preview-image {
	backface-visibility: hidden;
}

.single-product span.nishka-product-swatch.has-preview:focus-visible {
	outline: 2px solid #201e1d;
	outline-offset: 3px;
}
