:root {
  --dark-purple: #450052;
  --dark-mid-purple: #5e006b;
  --dark-lightest-purple: #7a0080;
  --mid-purple: #94009b;
  --light-purple: #ac38ba;
  --light-mid-purple: #d772dc;
  --lightest-purple: #f0c8f1;

  --dark-green: #003228;
  --dark-mid-green: #005541;
  --dark-lightest-green: #00785a;
  --mid-green: #009169;
  --light-green: #19c87d;
  --light-mid-green: #69dca5;
  --lightest-green: #c3fadc;

  --input-bg: #f5f5f5;
  --input-border: #e6e6e6;
  --placeholder-color: rgba(0, 50, 40, 0.2);
}

html,
body {
  scroll-behavior: initial;
}

/* Cursus inschrijformulier */
.cursus-enrollment-active .btn-w-arrow-before {
  padding-left: 2.5em;
  position: relative;
}

.cursus-enrollment-active .btn-w-arrow-before::before {
  content: "";
  position: absolute;
  left: 1em;
  width: 0.75em;
  top: 0.625em;
  bottom: 0.625em;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("data:image/svg+xml,%3Csvg width='17' height='16' viewBox='0 0 17 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.7143 7.99986C16.7143 8.3549 16.4265 8.64272 16.0714 8.64272L2.19485 8.64272L7.52599 13.9739C7.77704 14.2249 7.77704 14.6319 7.52599 14.883C7.27494 15.1341 6.8679 15.1341 6.61685 14.883L0.188283 8.45443C-0.0627683 8.20338 -0.0627683 7.79634 0.188283 7.54529L6.61685 1.11672C6.86791 0.865667 7.27494 0.865667 7.52599 1.11672C7.77704 1.36777 7.77704 1.77481 7.52599 2.02586L2.19485 7.357L16.0714 7.357C16.4265 7.357 16.7143 7.64482 16.7143 7.99986Z' fill='white'/%3E%3C/svg%3E%0A");
}

.cursus-enrollment-active .form-container {
  color: var(--dark-green);
}

.cursus-enrollment-active .step-navigation {
  display: flex;
  gap: 3rem;
  justify-content: space-between;
}

.cursus-enrollment-active .step {
  flex: 1 1 33.333%;
  display: flex;
  padding: 16px 22px;
  gap: 22px;
  align-items: center;
  cursor: pointer;
  transition: all ease-in-out 0.3s;
  position: relative;
  opacity: 0.3;
  border: 1px solid var(--dark-green);
  border-radius: 0.5rem;
}

.cursus-enrollment-active .step-circle {
  min-width: 2rem;
  width: 2rem;
  min-height: 2rem;
  height: 2rem;
  background-color: var(--dark-green);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.cursus-enrollment-active .step .step-title {
  font-weight: 600;
  font-size: 20px;
  line-height: 1.2;
  color: var(--dark-green);
}

.cursus-enrollment-active .step.active,
.cursus-enrollment-active .step.completed {
  opacity: 1;
  border: 1px solid var(--lightest-green);
  background-color: var(--lightest-green);
}

.cursus-enrollment-active .step.completed .step-circle {
  font-size: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='11' viewBox='0 0 14 11' fill='none'%3E%3Cpath d='M1.5 5.79998L5.375 9.89998L12.5 1.09998' stroke='%23FFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.cursus-enrollment-active .step-panel {
  display: none;
}

.cursus-enrollment-active .step-panel.active {
  display: block;
}

.cursus-enrollment-active .form-group {
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: 3fr 7fr;
  grid-column-gap: 1rem;
  align-items: center;
}

.cursus-enrollment-active input[type="text"]:focus,
.cursus-enrollment-active input[type="text"]:hover {
  outline: none;
  border: 1px solid var(--input-border);
  background-color: var(--input-bg);
}

.cursus-enrollment-active label {
  display: block;
  font-weight: 400;
  color: var(--dark-green);
}

.cursus-enrollment-active .cx2_required::after {
  content: " *";
  color: red;
}

.cursus-enrollment-active input[type="text"],
.cursus-enrollment-active input[type="email"],
.cursus-enrollment-active input[type="tel"],
.cursus-enrollment-active select,
.cursus-enrollment-active textarea {
  width: 100%;
  padding: 1rem 24px;
  border: 1px solid var(--input-border);
  background-color: var(--input-bg);
  border-radius: 8px;
  transition: border-color 0.3s;
  color: var(--dark-green);
}

.cursus-enrollment-active input[type="text"]::placeholder,
.cursus-enrollment-active input[type="email"]::placeholder,
.cursus-enrollment-active input[type="tel"]::placeholder,
.cursus-enrollment-active select::placeholder {
  color: var(--placeholder-color);
}

.cursus-enrollment-active input[readonly] {
  color: var(--mid-green);
  cursor: not-allowed;
}

.cursus-enrollment-active input:focus,
.cursus-enrollment-active input[type="text"]:focus,
.cursus-enrollment-active input[type="email"]:focus,
.cursus-enrollment-active input[type="tel"]:focus,
.cursus-enrollment-active select:focus,
.cursus-enrollment-active textarea:focus {
  outline: none;
  border-color: var(--light-green);
}

.cursus-enrollment-active textarea {
  resize: vertical;
  min-height: 80px;
}

.cursus-enrollment-active .form-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 4rem;
  margin-bottom: 40px;
}

.cursus-enrollment-active .form-buttons {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  margin-top: 40px;
  align-items: center;
}

.cursus-enrollment-active .review-item {
  display: flex;
  margin-bottom: 0.5rem;
}

.cursus-enrollment-active .review-label {
  width: 200px;
  min-width: 200px;
}

.cursus-enrollment-active .error {
  color: red;
  font-size: 12px;
  margin-top: 5px;
}

#country_select_wrapper {
  margin-bottom: 20px;
}

.form-error-message {
  color: #dc3545;
  font-size: 14px;
  margin-top: 10px;
  padding: 10px;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  display: none;
}

#step-message {
  text-align: center;
  color: var(--dark-lightest-green);
  font-weight: 500;
}

.cursus-enrollment-active .academie-usps .usp-block li::before {
  min-width: 40px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='11' viewBox='0 0 14 11' fill='none'%3E%3Cpath d='M1.5 5.79998L5.375 9.89998L12.5 1.09998' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.cursus-enrollment-active .academie-usps .usp-block h5 {
  font-size: 16px;
}

/* Responsive styling voor lange cursustitels */
.cursus-enrollment-active .formatted-title {
  word-wrap: break-word;
  overflow-wrap: break-word;
  hyphens: auto;
}

@media screen and (max-width: 1320px) {
  .cursus-enrollment-active .step-navigation {
    gap: 1rem;
  }
}

@media screen and (max-width: 1100px) {
  .cursus-enrollment-active .step-navigation {
    display: block;
  }

  .cursus-enrollment-active .form-summary {
    grid-template-columns: 1fr;
  }

  .cursus-enrollment-active .step {
    margin-bottom: 1rem;
  }

  #cursus-sidebar .cursus-summary .grid-cols-2 {
    display: block;
  }

  /* Verkleinde font-size voor cursustitel in sidebar op tablet */
  #cursus-sidebar .card-heading .h4 {
    font-size: 1.25rem;
    line-height: 1.3;
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
}

@media screen and (max-width: 767.9px) {
  .cursus-enrollment-active .academie-usps .usp-block li::before {
    min-width: 24px;
  }

  .cursus-enrollment-active .form-buttons {
    grid-template-columns: auto auto;
    grid-row-gap: 20px;
  }

  .cursus-enrollment-active .form-buttons div:has(#prevBtn) {
    order: 2;
  }

  .cursus-enrollment-active .form-buttons #step-message {
    order: 1;
    grid-column-start: 1;
    grid-column-end: 3;
  }

  .cursus-enrollment-active .form-buttons .ml-auto {
    order: 3;
    grid-column-start: 2;
    grid-column-end: 3;
  }

  /* Verkleinde font-size voor lange cursustitels op tablet */
  .cursus-enrollment-active .formatted-title {
    font-size: 2rem;
    line-height: 1.2;
  }

  /* Nog kleinere font-size voor cursustitel in sidebar */
  #cursus-sidebar .card-heading .h4 {
    font-size: 1.1rem;
    line-height: 1.3;
  }
}

@media screen and (max-width: 567.9px) {
  #cursus-grid #content-cursus-column {
    order: 1;
  }

  /* Extra verkleinde font-size voor lange cursustitels op kleine mobiel */
  .cursus-enrollment-active .formatted-title {
    font-size: 1.5rem;
    line-height: 1.3;
    margin-bottom: 1rem;
  }

  /* Sidebar cursustitel op kleine mobiel */
  #cursus-sidebar .card-heading .h4 {
    font-size: 1rem;
    line-height: 1.4;
  }
}
