/**
 * Enquiry form wizard (FORM-01) - progress + step visibility.
 * Skins override colours via --dv-* tokens in skin.css.
 */

.enquiry-form[data-enquiry-wizard="1"]:not(.enquiry-wizard--ready) .enquiry-form__form {
  visibility: hidden;
  min-height: 12rem;
}

.enquiry-form[data-enquiry-wizard="1"] .ff-el-section-break,
.enquiry-form[data-enquiry-wizard="1"] [data-dv-wizard-boundary="1"] {
  display: none !important;
}

.enquiry-wizard__progress {
  margin: 0 0 1.75rem;
}

.enquiry-wizard__nav {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: space-between;
  margin-top: 1.5rem;
}

.enquiry-wizard__nav[hidden] {
  display: none !important;
}

.enquiry-wizard__back[hidden],
.enquiry-wizard__next[hidden],
.enquiry-form[data-enquiry-wizard="1"] .ff_submit_btn_wrapper[hidden],
.enquiry-form[data-enquiry-wizard="1"] .ff-step-footer[hidden] {
  display: none !important;
}

/* Hide inactive steps only - never set display on visible blocks; skin flex
   column rules (ff-t-container.ff_columns_total_3) must win on desktop/tablet. */
.enquiry-form[data-enquiry-wizard="1"].enquiry-wizard--ready .enquiry-wizard__block:not(.enquiry-wizard__block--visible) {
  display: none !important;
}

.enquiry-form[data-enquiry-wizard="1"] [data-dv-wizard-duplicate="1"] {
  display: none !important;
}

/* --- blocks --------------------------------------------------------------- */

.enquiry-wizard__progress--blocks .enquiry-wizard__steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
  gap: .5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.enquiry-wizard__progress--blocks .enquiry-wizard__step {
  border: 1px solid var(--dv-color-border, #dee2e6);
  border-radius: var(--dv-radius, 4px);
  padding: .65rem .75rem;
  text-align: center;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dv-color-muted-ink, #6c757d);
  background: var(--dv-color-bg, #fff);
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.enquiry-wizard__progress--blocks .enquiry-wizard__step.is-active {
  border-color: var(--dv-color-primary, #0d6efd);
  background: var(--dv-color-primary, #0d6efd);
  color: var(--dv-color-primary-contrast, #fff);
}

.enquiry-wizard__progress--blocks .enquiry-wizard__step.is-done {
  border-color: var(--dv-color-primary, #0d6efd);
  color: var(--dv-color-primary, #0d6efd);
  background: var(--dv-color-bg-alt, #f8f9fa);
}

.enquiry-wizard__progress--blocks .enquiry-wizard__step.is-todo {
  opacity: .72;
}

/* --- progress bar --------------------------------------------------------- */

.enquiry-wizard__progress--bar .enquiry-wizard__bar {
  height: .35rem;
  border-radius: 999px;
  background: var(--dv-color-border, #dee2e6);
  overflow: hidden;
}

.enquiry-wizard__progress--bar .enquiry-wizard__bar-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--dv-color-primary, #0d6efd);
  transition: width .35s ease;
}

.enquiry-wizard__progress--bar .enquiry-wizard__steps {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem 1rem;
  list-style: none;
  margin: .85rem 0 0;
  padding: 0;
}

.enquiry-wizard__progress--bar .enquiry-wizard__step {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dv-color-muted-ink, #6c757d);
}

.enquiry-wizard__progress--bar .enquiry-wizard__step.is-active {
  color: var(--dv-color-heading, #212529);
}

.enquiry-wizard__progress--bar .enquiry-wizard__step.is-done {
  color: var(--dv-color-primary, #0d6efd);
}

/* --- numbered steps ------------------------------------------------------- */

.enquiry-wizard__progress--numbered .enquiry-wizard__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.enquiry-wizard__progress--numbered .enquiry-wizard__step {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--dv-color-muted-ink, #6c757d);
}

.enquiry-wizard__progress--numbered .enquiry-wizard__step-index {
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  border: 2px solid var(--dv-color-border, #dee2e6);
  font-size: .75rem;
  line-height: 1;
  flex-shrink: 0;
}

.enquiry-wizard__progress--numbered .enquiry-wizard__step.is-active .enquiry-wizard__step-index {
  border-color: var(--dv-color-primary, #0d6efd);
  background: var(--dv-color-primary, #0d6efd);
  color: var(--dv-color-primary-contrast, #fff);
}

.enquiry-wizard__progress--numbered .enquiry-wizard__step.is-done .enquiry-wizard__step-index {
  border-color: var(--dv-color-primary, #0d6efd);
  color: var(--dv-color-primary, #0d6efd);
}

.enquiry-wizard__progress--numbered .enquiry-wizard__step.is-active {
  color: var(--dv-color-heading, #212529);
}

.enquiry-wizard__progress--numbered .enquiry-wizard__step.is-done {
  color: var(--dv-color-primary, #0d6efd);
}
