/* Container */
.vf-selector
{
	padding: .5rem 0;
}

.vf-form
{
	display: flex;
	gap: .75rem;
	flex-wrap: wrap;
	align-items: center;
}

/* Each control “pill” wrapper with step badge */
.vf-control
{
	position: relative;
	display: inline-block;
}

.vf-control::before
{
	/* Step badge (1,2,3,4) */
	content: attr(data-step);
	position: absolute;
	left: .5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	line-height: 2rem;
	text-align: center;
	font-weight: 700;
	font-size: .875rem;
	color: #fff;
	background: #111827; /* near-black */
	border-radius: .5rem;
	box-shadow: 0 1px 1px rgba(0,0,0,.15);
	pointer-events: none;
}

/* Native <select> styled like the screenshot */
.vf-field
{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;

	min-width: 15rem;              /* adjust to taste */
	padding: .875rem 2.5rem .875rem 3.75rem; /* room for chevron + step badge */
	border: 1px solid #d1d5db;     /* gray-300 */
	border-radius: .5rem;          /* 8px rounded */
	background: #f3f4f6;           /* gray-100 */
	color: #111827;                /* gray-900 */
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .02em;

	/* Right chevron via inline SVG */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M7 6l4 4-4 4' stroke='%2355637A' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right .75rem center;
	background-size: 20px 20px;

	box-shadow: 0 1px 2px rgba(0,0,0,.06);
	transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.vf-field:hover
{
	border-color: #9ca3af;         /* gray-400 */
	background-color: #eef0f3;
}

.vf-field:focus
{
	outline: none;
	border-color: #2563eb;         /* blue-600 */
	box-shadow: 0 0 0 3px rgba(37,99,235,.2);
	background-color: #fff;
}

.vf-field:disabled
{
	color: #6b7280;                /* gray-500 */
	background-color: #e5e7eb;
	border-color: #d1d5db;
	cursor: not-allowed;
}

/* Apply button — optional to match strip style */
.vf-apply
{
	padding: .875rem 1rem;
	border-radius: .5rem;
	border: 1px solid #111827;
	background: #111827;
	color: #fff;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	box-shadow: 0 1px 2px rgba(0,0,0,.12);
	transition: background-color .15s ease, color .15s ease, opacity .15s ease;
}

.vf-apply:hover:not(:disabled)
{
	background: #0b1220;
}

.vf-apply:disabled
{
	opacity: .5;
	cursor: not-allowed;
}

/* Responsive tweak */
@media (max-width: 640px)
{
	.vf-field
	{
		min-width: 100%;
		width: 100%;
	}

	.vf-apply
	{
		width: 100%;
	}
}
