/* Structural only — colors/fonts come from the active WP theme. */
.d4o-wizard {
  max-width: 40rem;
  margin: 0 auto;
}

.d4o-progress {
  display: flex;
  gap: 0.4rem;
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.d4o-progress li {
  flex: 1;
  height: 0.25rem;
  border-radius: 999px;
  background: currentColor;
  opacity: 0.2;
}

.d4o-progress li.is-active,
.d4o-progress li.is-done {
  opacity: 0.85;
}

.d4o-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.85em;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.75;
}

.d4o-title {
  margin: 0 0 0.75rem;
}

.d4o-stack {
  display: grid;
  gap: 0.65rem;
}

.d4o-stack label {
  font-weight: 600;
}

.d4o-stack input[type="text"],
.d4o-stack select {
  width: 100%;
  max-width: 100%;
}

.d4o-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 1rem;
}

.d4o-error {
  color: #b42318;
  font-weight: 600;
  margin: 0;
}

.d4o-download-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-top: 0.75rem;
}

.d4o-download-chip {
  display: grid;
  gap: 0.2rem;
  padding: 0.75rem;
  border: 1px solid currentColor;
  border-opacity: 0.25;
  text-decoration: none;
  color: inherit;
}

.d4o-download-chip.is-recommended {
  outline: 2px solid currentColor;
}

.d4o-download-primary {
  margin: 1rem 0 0.5rem;
}

@media (max-width: 520px) {
  .d4o-download-grid {
    grid-template-columns: 1fr;
  }

  .d4o-actions {
    flex-direction: column;
  }
}
