/* =============================================
 * Variation Swatches Widget
 * ============================================= */
.vs-widget {
	width: 100%;
}

.vs-attr-group {
	margin-bottom: 16px;
}

.vs-attr-group:last-child {
	margin-bottom: 0;
}

/* =============================================
 * Attribute Label
 * ============================================= */
.vs-attr-label {
	font-size: 13px;
	font-weight: 400;
	color: #333;
	margin-bottom: 8px;
}

.vs-label-name {
	margin-right: 2px;
}

.vs-label-value {
	color: #666;
}

/* =============================================
 * Swatches Container
 * ============================================= */
.vs-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: flex-start;
}

/* =============================================
 * Image Swatch
 * ============================================= */
.vs-swatch-img {
	width: 60px;
	height: 60px;
	border: 2px solid #ddd;
	border-radius: 4px;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.2s;
	box-sizing: border-box;
}

.vs-swatch-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vs-swatch-img:hover {
	border-color: #999;
}

.vs-swatch-img.vs-active {
	border-color: #333;
}

/* =============================================
 * Text Swatch
 * ============================================= */
.vs-swatch-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 16px;
	font-size: 13px;
	color: #333;
	background-color: #fff;
	border: 1px solid #ddd;
	border-radius: 2px;
	cursor: pointer;
	transition: border-color 0.2s, background-color 0.2s;
	white-space: nowrap;
	box-sizing: border-box;
}

.vs-swatch-text:hover {
	border-color: #999;
}

.vs-swatch-text.vs-active {
	border-color: #333;
	background-color: #f5f5f5;
}

/* =============================================
 * Disabled State
 * ============================================= */
.vs-swatch.vs-disabled {
	opacity: 0.3;
	cursor: not-allowed;
	pointer-events: none;
	position: relative;
}

/* =============================================
 * Price Row
 * ============================================= */
.vs-price-row {
	margin-top: 16px;
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-height: 24px;
}

.vs-price {
	font-size: 18px;
	font-weight: 700;
	color: #222;
	line-height: 1.4;
}

.vs-price-reg {
	font-size: 13px;
	color: #999;
	text-decoration: line-through;
	line-height: 1.4;
}
