/* ── Shared header bar (book.html, signup.html — login.html has its own copy) ── */
.brand-header { background: var(--deep-green); color: #fff; padding: 1.25rem 0; }
.brand-header a { color: rgba(255,255,255,0.7); text-decoration: none; font-size: 0.9rem; }
.brand-header a:hover { color: #fff; }

/* ── Step wizard (book.html, signup.html) ── */
.wizard-step-label {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  color: var(--head-green);
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.wizard-progress .progress {
  height: 8px;
  border-radius: 4px;
  background: var(--cream);
}
.wizard-progress .progress-bar {
  background: var(--coral);
  transition: width 0.3s ease;
}

.wizard-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(15, 57, 59, 0.08);
  padding: 2rem;
}
@media (max-width: 576px) {
  .wizard-card { padding: 1.25rem; border-radius: 12px; }
}

.step-heading {
  font-family: 'DM Sans', sans-serif;
  font-weight: 700;
  color: var(--head-green);
  font-size: 1.5rem;
  margin-bottom: 0.25rem;
}
.step-subtext {
  color: var(--sage);
  margin-bottom: 1.5rem;
}

.wizard-nav .btn {
  min-width: 140px;
}

/* Bigger, friendlier radio choices (used for booking dates) */
.wizard-choice {
  display: flex;
  align-items: center;
  border: 2px solid var(--sage);
  border-radius: 10px;
  padding: 0.9rem 1rem;
  background-color: #fdf0ed;
  transition: border-color 0.15s, background 0.15s;
}
.wizard-choice:hover { border-color: var(--coral); }
.wizard-choice .form-check-input {
  width: 1.3em;
  height: 1.3em;
  margin-top: 0;
  flex-shrink: 0;
  border: 2px solid var(--sage);
}
.wizard-choice .form-check-input:checked {
  background-color: var(--coral);
  border-color: var(--coral);
}
.wizard-choice .form-check-label {
  font-size: 1.05rem;
  margin-left: 0.6rem;
}
