/**
 * Win10 CRO — variation cards + quantity / add-to-cart row.
 * Scoped: .win10-cro-product-page only.
 */

/* ─── Hide redundant variation summary text ─── */
.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-description,
.win10-cro-product-page .w10-cro-hero__buybox .woocommerce-variation-description,
.win10-cro-product-page .w10-cro-hero__cta .devvn_variation_description,
.win10-cro-product-page .w10-cro-hero__buybox .devvn_variation_description,
.win10-cro-product-page .variations .ux-swatch-selected-value,
.win10-cro-product-page .variations .selected-value {
	display: none !important;
}

/* Cột mua — chống tràn ngang (quantity dùng overflow: visible) */
.win10-cro-product-page .w10-cro-hero__buybox,
.win10-cro-product-page .w10-cro-hero__cta {
	min-width: 0;
	max-width: 100%;
}

.win10-cro-product-page .w10-cro-hero__cta form.cart {
	max-width: 100%;
}

/* ─── Variations table → card layout ─── */
.win10-cro-product-page table.variations {
	width: 100%;
	max-width: 100%;
	margin: 0 0 0.85rem;
	border: none;
	table-layout: fixed;
}

.win10-cro-product-page table.variations tr {
	display: block;
	margin-bottom: 0.65rem;
	max-width: 100%;
}

.win10-cro-product-page table.variations th.label {
	display: none;
}

.win10-cro-product-page table.variations td.value {
	display: block;
	width: 100%;
	max-width: 100%;
	padding: 0;
	border: none;
	box-sizing: border-box;
	overflow: hidden;
}

.win10-cro-product-page table.variations select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Ẩn swatch / select2 gốc khi đã có card (tránh trùng) */
.win10-cro-product-page td.value.w10-cro-var-value--cards .variable-items-wrapper,
.win10-cro-product-page td.value.w10-cro-var-value--cards .woo-variation-swatches,
.win10-cro-product-page td.value.w10-cro-var-value--cards .wvs-variation-items-wrapper,
.win10-cro-product-page td.value.w10-cro-var-value--cards .ux-swatches,
.win10-cro-product-page td.value.w10-cro-var-value--cards .select2-container,
.win10-cro-product-page td.value.w10-cro-var-value--cards .ux-swatches--attribute {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	overflow: hidden !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
}

/* Custom option cards (built from <select>) */
.win10-cro-product-page .w10-cro-var-cards {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.win10-cro-product-page .w10-cro-var-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 0.7rem 0.85rem;
	text-align: left;
	font: inherit;
	color: var(--w10-cro-text, #1f2937);
	background: #fff;
	border: 2px solid var(--w10-cro-border, #e5e7eb);
	border-radius: 12px;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.win10-cro-product-page .w10-cro-var-card:hover:not(:disabled) {
	border-color: rgba(24, 161, 95, 0.45);
	background: #f8fffb;
}

.win10-cro-product-page .w10-cro-var-card.is-selected {
	border-color: var(--w10-cro-brand, #18a15f);
	background: linear-gradient(135deg, #f0faf5 0%, #fff 100%);
	box-shadow: 0 0 0 1px rgba(24, 161, 95, 0.15);
}

.win10-cro-product-page .w10-cro-var-card:disabled,
.win10-cro-product-page .w10-cro-var-card.is-disabled {
	opacity: 0.45;
	cursor: not-allowed;
}

.win10-cro-product-page .w10-cro-var-card__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1.35;
}

.win10-cro-product-page .w10-cro-var-card__sub {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--w10-cro-muted, #64748b);
}

.win10-cro-product-page .variations .reset_variations {
	display: inline-block;
	margin-top: 0.35rem;
	font-size: 0.8rem;
}

/* ─── Purchase row: quantity + add to cart ─── */
.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart,
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) {
	display: grid !important;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 0.75rem;
	align-items: stretch;
	width: 100%;
}

.win10-cro-product-page .w10-cro-hero__cta form.cart.variations_form {
	display: block;
	width: 100%;
}

.win10-cro-product-page .w10-cro-hero__cta form.cart.variations_form .woocommerce-variation-add-to-cart {
	grid-column: 1 / -1;
}

.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .quantity,
.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .ux-quantity,
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .quantity,
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .ux-quantity {
	grid-column: 1;
	grid-row: 1;
	width: 120px !important;
	max-width: 120px !important;
	margin: 0 !important;
	align-self: stretch;
}

.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .ux-quantity .quantity,
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .ux-quantity .quantity {
	width: 100% !important;
	max-width: 100% !important;
}

.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > button[type="submit"],
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .single_add_to_cart_button,
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > button[type="submit"] {
	grid-column: 2;
	grid-row: 1;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	min-height: 48px !important;
	height: 48px !important;
	align-self: stretch;
}

.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .btn-late01,
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .btn-late01 {
	grid-column: 1 / -1;
	grid-row: 2;
	width: 100% !important;
	margin: 0 !important;
	min-height: 48px !important;
}

/* Quantity — lưới 3 ô: [-] [1] [+] trong 120px */
.win10-cro-product-page .w10-cro-hero__cta .ux-quantity {
	display: block !important;
	width: 120px !important;
	min-width: 120px !important;
	max-width: 120px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	opacity: 1 !important;
}

.win10-cro-product-page .w10-cro-hero__cta .quantity,
.win10-cro-product-page .w10-cro-hero__cta .ux-quantity .quantity {
	display: grid !important;
	grid-template-columns: 38px minmax(0, 1fr) 38px !important;
	grid-template-rows: 48px !important;
	align-items: stretch !important;
	width: 120px !important;
	min-width: 120px !important;
	max-width: 120px !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(24, 161, 95, 0.28) !important;
	border-radius: 12px !important;
	overflow: visible !important;
	background: #fff !important;
	box-shadow: none !important;
	opacity: 1 !important;
	box-sizing: border-box !important;
	float: none !important;
}

.win10-cro-product-page .w10-cro-hero__cta .quantity .button.minus,
.win10-cro-product-page .w10-cro-hero__cta .quantity .button.plus,
.win10-cro-product-page .w10-cro-hero__cta .quantity .minus,
.win10-cro-product-page .w10-cro-hero__cta .quantity .plus,
.win10-cro-product-page .w10-cro-hero__cta .quantity input[type="button"].minus,
.win10-cro-product-page .w10-cro-hero__cta .quantity input[type="button"].plus {
	grid-row: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: #f0f7f4 !important;
	color: var(--w10-cro-brand, #18a15f) !important;
	font-size: 1.25rem !important;
	line-height: 1 !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	float: none !important;
}

.win10-cro-product-page .w10-cro-hero__cta .quantity .button.minus,
.win10-cro-product-page .w10-cro-hero__cta .quantity .minus,
.win10-cro-product-page .w10-cro-hero__cta .quantity input[type="button"].minus {
	grid-column: 1 !important;
	border-radius: 12px 0 0 12px !important;
}

.win10-cro-product-page .w10-cro-hero__cta .quantity .qty,
.win10-cro-product-page .w10-cro-hero__cta .quantity input.qty,
.win10-cro-product-page .w10-cro-hero__cta .quantity input[type="number"].qty {
	grid-column: 2 !important;
	grid-row: 1 !important;
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 48px !important;
	min-height: 48px !important;
	margin: 0 !important;
	padding: 0 4px !important;
	border: none !important;
	border-left: 1px solid rgba(24, 161, 95, 0.12) !important;
	border-right: 1px solid rgba(24, 161, 95, 0.12) !important;
	border-radius: 0 !important;
	background: #fff !important;
	color: var(--w10-cro-text, #1f2937) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	line-height: 48px !important;
	text-align: center !important;
	box-shadow: none !important;
	visibility: visible !important;
	opacity: 1 !important;
	position: static !important;
	float: none !important;
	-moz-appearance: textfield;
	-webkit-appearance: textfield;
	appearance: textfield;
}

.win10-cro-product-page .w10-cro-hero__cta .quantity .button.plus,
.win10-cro-product-page .w10-cro-hero__cta .quantity .plus,
.win10-cro-product-page .w10-cro-hero__cta .quantity input[type="button"].plus {
	grid-column: 3 !important;
	border-radius: 0 12px 12px 0 !important;
}

.win10-cro-product-page .w10-cro-hero__cta .quantity .button.minus:hover,
.win10-cro-product-page .w10-cro-hero__cta .quantity .button.plus:hover,
.win10-cro-product-page .w10-cro-hero__cta .quantity .minus:hover,
.win10-cro-product-page .w10-cro-hero__cta .quantity .plus:hover,
.win10-cro-product-page .w10-cro-hero__cta .quantity input[type="button"].minus:hover,
.win10-cro-product-page .w10-cro-hero__cta .quantity input[type="button"].plus:hover {
	background: var(--w10-cro-brand, #18a15f) !important;
	color: #fff !important;
}

.win10-cro-product-page .w10-cro-hero__cta .single_add_to_cart_button,
.win10-cro-product-page .w10-cro-hero__cta .button.primary,
.win10-cro-product-page .w10-cro-hero__cta button[type="submit"].single_add_to_cart_button {
	font-size: 1rem !important;
	font-weight: 700 !important;
	background-color: var(--w10-cro-brand, #18a15f) !important;
	border-color: var(--w10-cro-brand, #18a15f) !important;
	border-radius: 12px !important;
}

.win10-cro-product-page .w10-cro-hero__cta .single_add_to_cart_button:hover {
	background-color: var(--w10-cro-brand-dark, #128a52) !important;
	border-color: var(--w10-cro-brand-dark, #128a52) !important;
}

.win10-cro-product-page .w10-cro-hero__cta .btn-late01 {
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1rem !important;
	border-radius: 12px !important;
	font-weight: 700;
	text-align: center;
	background: linear-gradient(135deg, #1877f2 0%, #0d65d9 100%) !important;
	color: #fff !important;
}

/* Mobile */
@media (max-width: 849px) {
	.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart,
	.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) {
		grid-template-columns: 1fr;
	}

	.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .quantity,
	.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .ux-quantity,
	.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .quantity,
	.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .ux-quantity {
		display: none !important;
	}

	.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .single_add_to_cart_button,
	.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > button[type="submit"],
	.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .single_add_to_cart_button,
	.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > button[type="submit"] {
		grid-column: 1;
		grid-row: 1;
	}

	.win10-cro-product-page .w10-cro-hero__cta .woocommerce-variation-add-to-cart > .btn-late01,
	.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) > .btn-late01 {
		grid-row: 2;
	}
}

/* Custom rating styles in Buybox CTA */
.win10-cro-buybox-rating {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	margin-bottom: 12px;
	font-size: 0.9rem;
	line-height: 1;
	background: transparent;
	padding: 4px 0;
	width: 100%;
}
.win10-cro-buybox-rating .star-rating {
	margin: 0 !important;
	font-size: 0.85rem;
	width: 80px;
	float: none;
	display: inline-block;
}
.win10-cro-buybox-rating__average {
	font-weight: 700;
	color: #e5a93b;
	margin-left: 2px;
}
.win10-cro-buybox-rating__count {
	color: #64748b;
	text-decoration: none;
	font-weight: 500;
}
.win10-cro-buybox-rating__count:hover {
	color: var(--win10-brand, #18a15f);
	text-decoration: underline;
}

/* Ensure the rating spans full-width inside the cart form grid */
.win10-cro-product-page .w10-cro-hero__cta form.cart:not(.variations_form) .win10-cro-buybox-rating {
	grid-column: 1 / -1;
	grid-row: auto;
}
