/* Multi-step form steps + searchable location combobox.
   Progressive enhancement: without .has-js (JS disabled/failed), every
   .form-step stays visible and .step-nav buttons are hidden, so the
   original single-page form still works end to end. @package Cargo_Max */

/* Browsers apply a default groove border + padding to <fieldset> --
   .form-step is a fieldset (for free, semantic step grouping), so it
   needs the same reset the theme's older .form-group fieldset already
   has (see layout.css / pages/page.css), otherwise every step renders
   inside an unstyled native border. */
.form-step { border: 0; margin: 0; padding: 0; min-width: 0; }
.form-step .form-grid { margin-top: 0; }

.progressive-form .step-nav { display: none; margin-top: 24px; gap: 12px; }
.progressive-form.has-js .step-nav { display: flex; }
.progressive-form.has-js .form-step[hidden] { display: none; }

.form-group-title {
	margin-bottom: 16px;
	font-family: var(--font-heading);
	font-size: var(--fs-h5);
	font-weight: 600;
	color: var(--color-black);
}

.location-combobox { position: relative; }
.location-combobox__native { position: absolute; opacity: 0; height: 0; width: 0; pointer-events: none; }
.location-combobox__input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--color-gray-300);
	border-radius: 8px;
	font: inherit;
	color: var(--color-black);
	background: var(--color-white);
}
.location-combobox__input:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px var(--color-primary-soft);
}
.location-combobox__list {
	position: absolute;
	z-index: 20;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	max-height: 220px;
	margin: 0;
	padding: 6px;
	list-style: none;
	overflow-y: auto;
	background: var(--color-white);
	border: 1px solid var(--color-gray-200);
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(26, 26, 26, .14);
}
.location-combobox__list li {
	padding: 9px 10px;
	border-radius: 6px;
	font-size: var(--fs-body-sm);
	cursor: pointer;
}
.location-combobox__list li:hover {
	background: var(--color-primary-soft);
}
