.wizard-section .field-wrap {
  position: relative;
}

.wizard-section .form-label {
  display: block;
  font-size: 12px;
  line-height: 130%;
  color: var(--Dark_Blue);
  margin-bottom: 4px;
  font-weight: var(--fw500);
}

.wizard-section .form-label.reveal-label {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  margin-bottom: 0;
  transition:
    opacity 0.2s ease,
    max-height 0.2s ease,
    margin-bottom 0.2s ease;
}

.wizard-section .has-active-label .form-label.reveal-label {
  opacity: 1;
  visibility: visible;
  max-height: 24px;
  margin-bottom: 4px;
}

.wizard-section .row:has(.has-active-label) .form-label.reveal-label {
  max-height: 24px;
  margin-bottom: 4px;
}

.wizard-section .form-control:focus {
  box-shadow: none;
}

.wizard-section .form-control,
.wizard-section .form-select {
  min-height: 64px;
  border: 1px solid transparent;
  border-bottom: 2px solid var(--Light);
  border-radius: 10px;
  background-color: var(--Light);
  color: var(--Dark_Blue);
  box-shadow: none;
  padding: 12px 20px;
  font-size: var(--fnt16);
  line-height: var(--lht130);
  background-image: none;
  font-weight: var(--fw400);
}

.wizard-section textarea.form-control {
  min-height: 110px;
  resize: vertical;
}

.wizard-section input[type="date"].form-control {
  cursor: pointer;
}

.wizard-section input[type="date"].form-control::-webkit-calendar-picker-indicator {
  cursor: pointer;
}

.wizard-section .form-control::placeholder {
  color: var(--Silver);
}

.wizard-section .form-control:hover,
.wizard-section .form-control:focus,
.wizard-section .form-select:hover,
.wizard-section .form-select:focus {
  border-color: transparent;
  box-shadow: none;
  border-bottom: 2px solid var(--Hex_Blue) !important;
}

.wizard-section .select2-container {
  width: 100% !important;
}

.wizard-section .select2-container--default .select2-selection--single {
  height: 64px;
  border: 1px solid transparent;
  border-radius: 10px;
  background-color: var(--Light);
  color: var(--Dark_Blue);
  box-shadow: none;
  padding: 12px 20px;
  transition: all 0.2s ease;
  position: relative;
  display: flex;
  align-items: center;
}

.wizard-section .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--Dark_Blue);
  line-height: var(--lht130);
  padding-left: 0;
  padding-right: 24px;
  font-size: var(--fnt16);
  flex: 1;
  min-width: 0;
}

.wizard-section .select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: var(--Silver);
}

.wizard-section .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 64px;
  width: 16px;
  right: 14px;
}

.wizard-section .select2-container--default .select2-selection--single .select2-selection__arrow b {
  width: 12px;
  height: 12px;
  margin: 0;
  border: 0;
  background: url("../images/dropdown-arrow.svg") center / contain no-repeat;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: var(--transition);
}

.wizard-section .select2-container--default.select2-container--open .select2-selection--single,
.wizard-section .select2-container--default .select2-selection--single:hover,
.wizard-section .select2-container--default .select2-selection--single:focus {
  border-color: transparent;
  background-color: var(--Light);
  border-bottom: 2px solid var(--Hex_Blue);
  box-shadow: none;
}

.wizard-section .select2-container--default.select2-container--open .select2-selection--single {
  border-radius: 10px;
}

.wizard-section .select2-container--default.select2-container--open .select2-selection__arrow b {
  transform: translateY(-50%) rotate(180deg) !important;
  transform: var(--transition);
}

.wizard-section .select2-container--default .select2-selection--single.is-invalid,
.wizard-section .select2-container--default .select2-selection--single.is-invalid:focus {
  border-color: transparent;
  border-bottom: 2px solid var(--Error);
  box-shadow: none;
}

.wizard-section .select2-dropdown {
  border: 1px solid var(--Hover_Blue);
  border-radius: 10px;
  overflow: hidden;
  z-index: 1;
}

.wizard-section .select2-results__option {
  padding: 10px 14px;
  font-size: var(--fnt16);
  color: var(--Dark_Blue);
}

.wizard-section .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--Light);
  color: var(--Hex_Blue);
}

.wizard-section .form-check {
  margin-top: 8px;
  position: relative;
  cursor: pointer;
}

.wizard-section .form-check-input {
  margin-top: 4px;
  border-radius: 2px;
  border: 1px solid #ccc !important;
  height: 20px;
  width: 20px;
  box-shadow: none;
  outline: 0;
  cursor: pointer;
}

.wizard-section .form-check-input:checked {
  border: 1px solid var(--Bright_Blue) !important;
  background-color: var(--Bright_Blue);
}

.wizard-section .form-check-label {
  color: var(--Dark_Blue);
  font-size: var(--fnt16);
  line-height: var(--lht130);
  cursor: pointer;
}

.wizard-section .form-check-label a {
  color: var(--Hex_Blue);
  font-size: var(--fnt16);
  line-height: var(--lht130);
  text-decoration: underline;
}

.wizard-section .error-msg .error,
.wizard-section .error-msg {
  color: var(--Error);
  font-size: 12px;
  line-height: 100%;
  margin-top: 4px;
  font-weight: var(--fw500);
}

.wizard-section .error-msg {
  display: none;
}

.wizard-section .error-msg.has-error {
  display: block;
}

.wizard-section .error-msg .error {
  display: block;
}

.wizard-section .is-invalid,
.wizard-section .is-invalid:focus {
  border-color: transparent;
  box-shadow: none;
  border-bottom: 2px solid var(--Error);
}

.wizard-section .captcha-box {
  position: relative;
  min-height: 85px;
  border-radius: 0;
  background: linear-gradient(180deg, #bfdbff 0%, #dcecff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--Hex_Blue);
  font-size: 36px;
  line-height: 1;
  letter-spacing: 2px;
  font-weight: 700;
  font-style: italic;
  user-select: none;
}

.wizard-section .captcha-text {
  transform: rotate(-8deg);
}

.wizard-section .captcha-actions {
  position: absolute;
  right: 8px;
  top: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wizard-section .captcha-action-btn {
  width: 28px;
  height: 28px;
  border: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.75);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  cursor: pointer;
  transition: var(--transition);
}

.wizard-section .captcha-action-btn:hover,
.wizard-section .captcha-action-btn:focus {
  background-color: var(--Snow);
  box-shadow: 0 4px 10px rgba(7, 18, 94, 0.15);
}

.wizard-section .captcha-action-btn img {
  width: 16px;
  height: 16px;
}

.wizard-section .btn_blue {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
}

.wizard-section .btn_blue:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

.wizard-section .btn_blue .btn-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.4);
  border-top-color: var(--Snow);
  border-radius: 50%;
  display: inline-block;
  animation: btn-spinner-rotate 0.6s linear infinite;
}

@keyframes btn-spinner-rotate {
  to {
    transform: rotate(360deg);
  }
}

.wizard-section .form-success-state {
  display: none;
}

.wizard-section .form-success-heading {
  margin-bottom: 12px;
}

.wizard-section .form-success-description {
  margin-bottom: 0;
}

.wizard-section .wizard-card {
  max-width: 800px;
  margin: 0 auto;
  background-color: var(--Snow);
  padding: 50px;
}

.wizard-section .wizard-step {
  display: none;
}

.wizard-section .wizard-step.is-active {
  display: block;
}

.wizard-section .wizard-step-title {
  margin-bottom: 36px;
}

.wizard-section .wizard-step-subtitle {
  margin-bottom: 36px;
}

.wizard-section .wizard-section-title {
  color: var(--Dark_Blue);
  font-size: var(--fnt18);
  margin: var(--space_32) 0 var(--space_16);
}

.wizard-section .wizard-section-subtitle {
  font-size: var(--fnt16);
  color: var(--Silver);
  margin-bottom: var(--space_24);
}

.wizard-section .blue-text {
  color: var(--Hex_Blue);
}

.wizard-section .wizard-question {
  color: var(--Dark_Blue);
  font-size: var(--fnt16);
  margin-bottom: var(--space_16);
}

.wizard-section .wizard-size-chart {
  max-width: 100%;
  margin-bottom: var(--space_24);
  border-radius: 10px;
}

.wizard-section .wizard-note {
  display: block;
  color: var(--Silver);
  font-size: var(--fnt14);
  margin: var(--space_8) 0 var(--space_24);
}

.wizard-section .wizard-note a {
  color: var(--Hex_Blue);
  text-decoration: underline;
}

.wizard-section .wizard-nav {
  display: flex;
  justify-content: flex-end;
  gap: var(--space_16);
  margin-top: var(--space_40);
}

.wizard-section .wizard-nav .btn_white {
  border: 1px solid var(--Border_Light);
}

.wizard-section .wizard-progress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space_8);
  margin-top: var(--space_32);
}

.wizard-section .wizard-progress .wizard-progress-dot {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: var(--Border_Light);
  transition: var(--transition);
}

.wizard-section .wizard-progress .wizard-progress-dot.is-active {
  background-color: var(--Hex_Blue);
}

.wizard-section .form-check.wizard-radio-check {
  margin-top: 0;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
}

.wizard-section .form-check.wizard-radio-check .form-check-input {
  margin-top: 0;
  border-radius: 50%;
}

.wizard-section .wizard-checkbox-limit-message {
  display: none;
  color: var(--Error);
  font-size: 12px;
  margin-top: 4px;
}

.wizard-section .wizard-checkbox-limit-message.has-error {
  display: block;
}

.wizard-checkbox-check .form-check-input {
  border-radius: 4px !important;
  /* square checkbox */
  width: 20px;
  height: 20px;
}

.wizard-checkbox-check .form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
}

.wizard-section .fix-label {
  max-height: 24px !important;
  margin-bottom: 4px !important;
  opacity: 1 !important;
}

.wizard-section .field-wrap:has(input[type="date"][required]:invalid)::after {
  content: "*";
  position: absolute;
  left: 114px;
  top: 52px;
  transform: translateY(-50%);
  color: var(--Silver);
  font-size: 16px;
  font-weight: var(--fw500);
  pointer-events: none;
}

@media screen and (max-width: 767.5px) {
  .wizard-section .wizard-card {
    padding: 20px;
  }
}