/**
 * Grazia Donna – single product variation swatch UX.
 * Mirrors archive-variations.css patterns for the product page form.
 */

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text:not(.gd-out-of-stock),
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text:not(.gd-out-of-stock):hover,
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text.wd-active:not(.gd-out-of-stock) {
	box-shadow: none !important;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	--brd-width: 0 !important;
	--wd-swatch-brd-color: transparent !important;
	--wd-swatch-inn-sp: 0 !important;
	min-width: auto;
	min-height: auto;
	width: auto;
	height: auto;
	color: var(--color-gray-900, #222) !important;
	font-weight: 400;
}

@media (hover: hover) {
	body.single-product form.variations_form.cart:not(.wd-quick-shop-2) [class*='wd-swatches'] .wd-swatch.wd-text:hover:not(.wd-disabled):not(.gd-out-of-stock) {
		box-shadow: none !important;
		background: transparent !important;
		background-color: transparent !important;
		border: none !important;
		border-color: transparent !important;
		--wd-swatch-brd-color: transparent !important;
		color: var(--color-gray-900, #222) !important;
	}
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-text:not(.gd-out-of-stock)::after {
	display: none !important;
	content: none !important;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-text .wd-swatch-text {
	display: inline-block;
	padding: 0 0 2px;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: 0.01em;
	color: inherit;
	text-decoration: none !important;
	border-bottom: 1px solid transparent;
	transition: font-weight 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-text.wd-active:not(.gd-out-of-stock) .wd-swatch-text {
	font-weight: 500;
	border-bottom-color: var(--color-gray-900, #222);
	color: var(--color-gray-900, #222);
}

/* Out-of-stock – grey text/colors, diagonal strike, not clickable. */
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-disabled:not(.gd-out-of-stock),
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-disabled:not(.gd-out-of-stock):hover {
	opacity: 1 !important;
	filter: none !important;
	cursor: pointer !important;
	pointer-events: auto !important;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.gd-out-of-stock,
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.gd-out-of-stock:hover,
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.gd-out-of-stock.wd-active {
	cursor: not-allowed !important;
	pointer-events: auto !important;
	opacity: 1 !important;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text.gd-out-of-stock,
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text.gd-out-of-stock:hover,
body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text.gd-out-of-stock.wd-active {
	box-shadow: none !important;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	color: var(--color-gray-300, #c4c4c4) !important;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.gd-out-of-stock {
	cursor: not-allowed;
	pointer-events: auto;
	opacity: 1;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text.gd-out-of-stock {
	color: var(--color-gray-300, #c4c4c4) !important;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-text.wd-active.gd-out-of-stock .wd-swatch-text {
	font-weight: 400 !important;
	border-bottom-color: transparent !important;
	color: var(--color-gray-300, #c4c4c4) !important;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-text.gd-out-of-stock .wd-swatch-text {
	position: relative;
	color: var(--color-gray-300, #c4c4c4) !important;
	font-weight: 400 !important;
	border-bottom-color: transparent !important;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-product .wd-swatch.wd-text.gd-out-of-stock .wd-swatch-text::after {
	display: block !important;
	content: '' !important;
	position: absolute;
	left: -2px;
	right: -2px;
	top: 50%;
	height: 1px;
	background: var(--color-gray-400, #aaa);
	transform: rotate(-42deg);
	pointer-events: none;
	z-index: 2;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-bg.gd-out-of-stock {
	opacity: 0.35;
	filter: grayscale(0.85);
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-bg.gd-out-of-stock::before {
	display: block !important;
	content: '' !important;
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: none !important;
	background-image: linear-gradient(
		to top left,
		transparent calc(50% - 0.5px),
		rgba(160, 160, 160, 0.95) 50%,
		transparent calc(50% + 0.5px)
	) !important;
	opacity: 1 !important;
	z-index: 4;
	pointer-events: none;
}

body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch.wd-text.gd-out-of-stock::before {
	display: none !important;
	content: none !important;
}

/*
 * Desktop: show all color/size swatches on load (Woodmart "+N" limit stays on mobile).
 */
@media (min-width: 1025px) {
	body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatches-single.wd-swatches-limited .wd-swatch.wd-hidden {
		display: inline-flex !important;
	}

	body.single-product form.variations_form.cart:not(.wd-quick-shop-2) .wd-swatch-divider {
		display: none !important;
	}
}
