/* ── Import Roboto Flex ── */
@import url('https://fonts.googleapis.com/css2?family=Roboto+Flex:wght@400;600;700&display=swap');

/* Reset CF7 default paragraph spacing */
.wpcf7-form > p {
  margin: 0 !important;
  padding: 0 !important;
}

/* General spacing between form fields */
.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: 20px !important;
}

/* Label spacing */
.wpcf7-form label {
  margin-bottom: 6px;
  font-weight: 600;
  font-size: 15px;
  color: #374151;
}

/* Input spacing */
.wpcf7-form-control {
  margin-bottom: 12px;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  background-color: #fff;
  font-size: 15px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wpcf7-form-control:focus {
  border-color: #CEA259;
  box-shadow: 0 0 0 2px rgba(206,162,89,0.3);
  outline: none;
}

/* Conditional group spacing */
.wpcf7cf_group,
.work-exp-group {
  margin-top: 16px;
  margin-bottom: 16px;
}

/* Appointment-specific tweaks */
[data-id="appointment-type"] {
  padding-top: 8px;
  padding-bottom: 8px;
}

/* Step containers */
.form-step {
  display: none;
  padding: 24px 0;
}

.form-step.active {
  display: block;
}

/* ── Application Card — Narrow & Centered ── */
.application-card {
  max-width: 640px;   /* ← change this to make wider or narrower */
  margin: 40px auto;
  padding: 40px 36px;
  background-color: #ffffff;
  border-radius: 12px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

/* ── Application Form Title ── */
.application-title {
  font-family: 'Roboto Flex', sans-serif;
  font-size: 28px;
  font-weight: 700;
  color: #374151;
  margin-bottom: 20px;
  letter-spacing: 0.3px;
  text-align: center;
}

/* ── Navigation wrapper ── */
.form-navigation {
  display: flex;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 24px;
  width: 100%;
}

/* Fix CF7 wrapping submit in a <p> tag inside navigation */
.form-navigation > p {
  margin: 0 !important;
  padding: 0 !important;
  display: contents !important;
}

/* Back button pushed to the left */
.form-navigation .prev-btn {
  margin-right: auto;
}

/* ── Buttons ── */
.next-btn,
.prev-btn,
.wpcf7-submit {
  font-family: 'Roboto Flex', sans-serif !important;
  background-color: #CEA259;
  color: #fff;
  border: none;
  padding: 12px 28px;
  border-radius: 6px;
  font-weight: 600;
  cursor: pointer;
  font-size: 16px;
  transition: background-color 0.3s ease, transform 0.2s ease;
  display: inline-block !important;
  white-space: nowrap;
  width: auto !important;
  vertical-align: middle;
}

.next-btn:hover,
.prev-btn:hover,
.wpcf7-submit:hover {
  background-color: #b08949;
  transform: translateY(-2px);
}

/* Progress container */
.progress-container {
  margin-bottom: 24px;
  background-color: #f3f4f6;
  border-radius: 3px;
  height: 6px;
  position: relative;
}

.progress-bar {
  height: 6px;
  background-color: #CEA259;
  width: 0%;
  border-radius: 3px;
  transition: width 0.3s ease;
}

.progress-steps {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
}

/* Fix CF7 auto-formatting inside progress-steps */
.progress-steps p {
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  width: 100% !important;
}

.progress-steps br {
  display: none !important;
}

.progress-steps .step {
  font-size: 14px;
  font-weight: 600;
  color: #9ca3af;
}

.progress-steps .step.active {
  color: #CEA259;
}

.progress-steps .step.completed {
  color: #374151;
}