:root{
  --nx-brand:#ffb800; --nx-sky:#3aa0ff; --nx-ink:#0f172a; --nx-line:#e9eef5;
  --nx-container: min(var(--max-width, 1200px), 96vw);
}

/* ===== Progress header (aligned to your page container) ===== */
.nx-wizard{ max-width:var(--nx-container); margin:10px auto 12px; padding:0 1rem; }
.nx-bar{ position:relative; height:48px; background:#eef2f7; border-radius:999px; overflow:hidden;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6); display:flex; align-items:stretch; }
.nx-bar .nx-fill{ position:absolute; inset:0 auto 0 0; width:100%; border-radius:inherit;
  background:linear-gradient(90deg,var(--nx-brand),var(--nx-sky)); transform:scaleX(var(--dh-progress-ratio,0)); transform-origin:left center; transition:transform .45s cubic-bezier(.2,.9,.2,1); z-index:0; }
.nx-bar .nx-fill::after{ content:none; display:none; }

.nx-stage{ flex:1; position:relative; z-index:1; background:none; border:none; color:#475569;
  font:700 11px/1.2 Inter,system-ui; display:flex; flex-direction:column; align-items:center; justify-content:center;
  cursor:pointer; transition:color .3s ease,transform .3s ease; }
.nx-stage .icon{ font-size:16px; line-height:1; margin-bottom:2px; transition:transform .3s ease; }
.nx-stage.active{ color:#0f172a; }
.nx-stage.active .icon{ transform:scale(1.15); }
.nx-stage.done{ color:#14532d; }

/* ===== Sticky controls (aligned to container) ===== */
.nx-controls{ position:sticky; bottom:12px; max-width:var(--nx-container); margin:10px auto 0; padding:10px 1rem;
  display:flex; justify-content:flex-end; gap:10px; border-radius:12px; background:rgba(255,255,255,0.92);
  border:1px solid var(--nx-line); box-shadow:0 8px 20px rgba(0,0,0,0.06); backdrop-filter: blur(4px); }
.nx-controls .left{ margin-right:auto; font:700 13px/1 Inter; color:#475569; }
.nx-btn{ appearance:none; border-radius:12px; border:1px solid rgba(0,0,0,0.06); padding:10px 14px; font:800 14px/1 Inter; cursor:pointer; }
.nx-btn.ghost{ background:#fff; color:#0f172a; }
.nx-btn.primary{ background:linear-gradient(180deg,#ffb800,#f0a500); color:#111; box-shadow:0 10px 24px rgba(251,182,73,.28); }

/* ===== Hide groups when not active ===== */
.nx-hide{ display:none !important; }

/* ===== Clean up duplicate icons/asterisks injected by theme ===== */
.form-group label{ position:static !important; transform:none !important; background:transparent !important; padding:0 !important;
  margin-bottom:6px !important; font-weight:800 !important; color:#1e293b !important; }
.form-group::before,.form-group::after,.form-group label::before,.form-group label::after{ content:none !important; }
.form-group label svg,.form-group label .icon,.form-group .label-icon,.form-group .required,.form-group .asterisk,.form-group .req{ display:none !important; }

/* Aggressive: hide small absolute-positioned icons inside inputs (doesn't touch native select arrows) */
.form-group i,
.form-group .icon,
.form-group .input-icon,
.form-group .field-icon,
.form-group .helper-icon,
.form-group .info-icon,
.form-group [class^="icon-"], .form-group [class*=" icon-"],
.form-group [class*="fa-"], .form-group [class*="bi-"], .form-group [class*="fe-"],
.form-group svg { display:none !important; }

/* Normalize left padding if a theme reserved space for icons */
.form-group .has-icon, .form-group .with-icon, .form-group .input-with-icon { padding-left:0 !important; }
.form-group input[type="text"], .form-group input[type="number"], .form-group input[type="email"],
.form-group select, .form-group textarea {
  background-image:none !important; background-repeat:no-repeat !important; padding-left:12px !important;
}
.form-group input[type="range"]::before, .form-group input[type="range"]::after { display:none !important; content:none !important; }

/* If your mileage chips are present, hide them globally (slider only) */
.mileage-chips, .mileage-options { display:none !important; }
