.dsd-donation-wizard {
  border: 1px solid #e0c58f;
  padding: 20px;
  background-color: #fffaf0;
  border-radius: 5px;
  margin-bottom: 20px;
}
.dsd-progress {
  list-style: none;
  display: flex;
  justify-content: space-between;
  margin: 0 0 20px;
  padding: 0;
  counter-reset: step;
}
.dsd-progress li {
  flex: 1;
  text-align: center;
  position: relative;
  padding: 10px;
  color: #8a4a05;
}
.dsd-progress li::before {
  content: counter(step);
  counter-increment: step;
  width: 24px;
  height: 24px;
  display: inline-block;
  background: #e0c58f;
  border-radius: 50%;
  line-height: 24px;
  color: #fff;
  margin-right: 8px;
}
.dsd-progress li.active::before,
.dsd-progress li.active {
  background: #a66516;
  color: #fff;
}
.dsd-step form input[type="text"],
.dsd-step form input[type="email"],
.dsd-step form input[type="tel"],
.dsd-step form select,
.dsd-step form textarea {
  width: 100%;
  padding: 6px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
  border-radius: 3px;
}
.dsd-service-option {
  border: 1px solid #e0c58f;
  padding: 10px;
  margin-bottom: 8px;
  background: #fff;
  border-radius: 3px;
  /* Make entire row clickable */
  cursor: pointer;
}
.dsd-service-option:hover {
  background: #fdf3d7;
}
.dsd-qr {
  max-width: 200px;
  height: auto;
}
.dsd-message.success {
  color: green;
}
.dsd-message.error {
  color: red;
}

/* Ensure currency symbol and amount are clearly visible */
.dsd-payment-summary {
  font-size: 1.1em;
  margin-bottom: 10px;
  color: #8a4a05;
}

/* Hide any unexpected code block elements that themes might inject */
.dsd-donation-wizard .code-block {
  display: none !important;
}

/* Booking form styling */
.dsd-booking-form {
  border: 1px solid #e0c58f;
  padding: 20px;
  background-color: #fffaf0;
  border-radius: 5px;
  margin-bottom: 20px;
}
.dsd-booking-form h3 {
  margin-top: 0;
  color: #a66516;
}
.dsd-booking-form form p {
  margin-bottom: 12px;
}
.dsd-booking-form form label span {
  color: red;
  margin-left: 4px;
}
