/* Variation lazy-load: pending (server-rendered) — dim all options before AJAX */
body.yb-variations-lazy-pending .variations td.value,
body.yb-variations-lazy-pending .variations .filter-item-list,
body.yb-variations-lazy-pending .porto-general-swatch,
body.yb-variations-lazy-pending .shopee-panel-body .shopee-attr-options {
	opacity: 0.4;
	pointer-events: none;
	cursor: wait;
}

body.yb-variations-lazy-pending .variations .filter-item,
body.yb-variations-lazy-pending .variations .filter-color,
body.yb-variations-lazy-pending .variations .filter-image,
body.yb-variations-lazy-pending .porto-general-swatch .filter-item,
body.yb-variations-lazy-pending .porto-general-swatch .filter-color,
body.yb-variations-lazy-pending .porto-general-swatch .filter-image,
body.yb-variations-lazy-pending .porto-general-swatch li a,
body.yb-variations-lazy-pending .shopee-attr-btn {
	pointer-events: none;
	cursor: wait;
}

body.yb-variations-lazy-pending .single_add_to_cart_button,
body.yb-variations-lazy-pending .shopee-add-to-cart-btn {
	opacity: 0.55;
	pointer-events: none;
	cursor: wait;
}

/* AJAX failure — stay dimmed */
body.yb-variations-lazy-error .variations td.value,
body.yb-variations-lazy-error .variations .filter-item-list,
body.yb-variations-lazy-error .porto-general-swatch,
body.yb-variations-lazy-error .shopee-panel-body .shopee-attr-options {
	opacity: 0.4;
	pointer-events: none;
	cursor: not-allowed;
}

body.yb-variations-lazy-error .variations .filter-item,
body.yb-variations-lazy-error .variations .filter-color,
body.yb-variations-lazy-error .porto-general-swatch .filter-item,
body.yb-variations-lazy-error .porto-general-swatch .filter-color,
body.yb-variations-lazy-error .shopee-attr-btn {
	pointer-events: none;
	cursor: not-allowed;
}

body.yb-variations-lazy-error .single_add_to_cart_button,
body.yb-variations-lazy-error .shopee-add-to-cart-btn {
	opacity: 0.55;
	pointer-events: none;
	cursor: not-allowed;
}

/* Legacy loading class (JS toggled during fetch) */
form.variations_form.yb-variations-loading .variations td.value {
	opacity: 0.55;
	pointer-events: none;
}

form.variations_form.yb-variations-loading .single_add_to_cart_button {
	opacity: 0.6;
	cursor: wait;
}

.yb-variation-lazy-status .yb-variation-lazy-msg {
	margin: 0.5rem 0 0;
	font-size: 0.9rem;
	color: #666;
}

.yb-variation-lazy-retry {
	margin-left: 0.5rem;
	padding: 0.15rem 0.6rem;
	font-size: 0.85rem;
	cursor: pointer;
	border: 1px solid #ccc;
	border-radius: 3px;
	background: #f7f7f7;
	color: #333;
}

.yb-variation-lazy-retry:hover {
	background: #eee;
}
