/* ========================================================================
   Single Product Page — TSKLuxe Styles
   ======================================================================== */

/* Variation Selectors
   ======================================================================== */

.tskluxe-variations-wrapper {
	margin-top: 1rem;
}

.tskluxe-variations-wrapper .variations {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1rem;
}

.tskluxe-variations-wrapper .variations th.label {
	padding: 0.75rem 1rem 0.75rem 0;
	text-align: left;
	vertical-align: middle;
	white-space: nowrap;
	font-weight: 600;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.tskluxe-variations-wrapper .variations td.value {
	padding: 0.75rem 0;
	vertical-align: middle;
}

.tskluxe-variation-select {
	width: 100%;
	max-width: 300px;
	padding: 0.6rem 2.5rem 0.6rem 0.75rem;
	border: 2px solid #e0e0e0;
	border-radius: 4px;
	font-size: 0.95rem;
	background-color: #fff;
	color: #333;
	transition: border-color 0.2s ease;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8.825L0.587 3.412 1.413 2.588 6 7.175 10.587 2.588 11.413 3.412z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
}

.tskluxe-variation-select:focus {
	border-color: #F178AE;
	outline: 2px solid transparent;
	outline-offset: 2px;
	box-shadow: 0 0 0 3px rgba(241, 120, 174, 0.15);
}

.tskluxe-variation-select:hover {
	border-color: #F178AE;
}

.tskluxe-variations-wrapper .reset_variations {
	display: inline-block;
	margin-left: 0.75rem;
	font-size: 0.85rem;
	color: #666;
	text-decoration: underline;
}

.tskluxe-variations-wrapper .reset_variations:hover {
	color: #F178AE;
}

/* Stock Status Badge
   ======================================================================== */

.tskluxe-stock-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.75rem;
	border-radius: 4px;
	font-size: 0.85rem;
	font-weight: 600;
	margin: 0.5rem 0 1rem;
}

.tskluxe-stock-badge--in-stock {
	background-color: #e8f5e9;
	color: #2e7d32;
	border: 1px solid #c8e6c9;
}

.tskluxe-stock-badge--out-of-stock {
	background-color: #fce4ec;
	color: #c62828;
	border: 1px solid #f8bbd0;
}

.tskluxe-stock-badge--backorder {
	background-color: #fff3e0;
	color: #e65100;
	border: 1px solid #ffe0b2;
}

.tskluxe-stock-badge__icon {
	font-size: 1rem;
	line-height: 1;
}

/* Single Variation Display
   ======================================================================== */

.single_variation_wrap .single_variation {
	margin: 1rem 0;
}

.single_variation_wrap .woocommerce-variation-price {
	font-size: 1.25rem;
	font-weight: 700;
	color: #333;
}

.single_variation_wrap .woocommerce-variation-availability {
	margin-top: 0.5rem;
}

.single_variation_wrap .woocommerce-variation-availability .stock {
	font-size: 0.85rem;
	font-weight: 600;
}

.single_variation_wrap .woocommerce-variation-availability .stock.in-stock {
	color: #2e7d32;
}

.single_variation_wrap .woocommerce-variation-availability .stock.out-of-stock {
	color: #c62828;
}

/* Add to Cart Button Enhancement
   ======================================================================== */

.single_variation_wrap .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 1rem;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity {
	margin-right: 0;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty {
	width: 70px;
	padding: 0.5rem;
	text-align: center;
	border: 2px solid #e0e0e0;
	border-radius: 4px;
}

.single_variation_wrap .woocommerce-variation-add-to-cart .quantity .qty:focus {
	border-color: #F178AE;
	box-shadow: 0 0 0 3px rgba(241, 120, 174, 0.15);
}

.single_variation_wrap .single_add_to_cart_button {
	padding: 0.75rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 4px;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.single_variation_wrap .single_add_to_cart_button:hover {
	transform: translateY(-1px);
}

.single_variation_wrap .single_add_to_cart_button.disabled,
.single_variation_wrap .single_add_to_cart_button:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	transform: none;
}

/* Responsive Adjustments
   ======================================================================== */

@media (max-width: 768px) {
	.tskluxe-variation-select {
		max-width: 100%;
	}

	.tskluxe-variations-wrapper .variations th.label {
		display: block;
		padding-bottom: 0.25rem;
	}

	.tskluxe-variations-wrapper .variations td.value {
		display: block;
		padding-top: 0;
		padding-bottom: 1rem;
	}

	.tskluxe-variations-wrapper .variations tr {
		display: block;
		margin-bottom: 0.5rem;
	}

	.single_variation_wrap .woocommerce-variation-add-to-cart {
		flex-direction: column;
		align-items: stretch;
	}

	.single_variation_wrap .single_add_to_cart_button {
		width: 100%;
		text-align: center;
	}
}
