.cw-configurator {
	margin-bottom: 1.5rem;
}

.cw-configurator__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 0.75rem;
	margin-top: 0.75rem;
}

.cw-config-option {
	display: flex;
	flex-direction: column;
	align-items: center;
	border: 1px solid var(--cw-border, #e8e8e4);
	border-radius: 8px;
	padding: 0.75rem;
	cursor: pointer;
	text-align: center;
}

.cw-config-option:has(input:checked) {
	border-color: var(--cw-blue, #1a5cff);
}

.cw-config-option input {
	position: absolute;
	opacity: 0;
}

.cw-config-option img {
	width: 64px;
	height: 64px;
	object-fit: contain;
}

.cw-config-option__label {
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.25;
}

.cw-config-option__price {
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--cw-blue, #1a5cff);
}

.cw-config-option__price--muted {
	color: var(--cw-gray, #6b6b6b);
	font-weight: 500;
}

.cw-config-option.is-disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
