:root {

  --Marine-blue: #02295a;
  --Purplish-blue: #473dff;
  --Pastel-blue: #adbeff;
  --Light-blue: #bfe2fd;
  --Strawberry-red: #ed3548;

  --Cool-gray: #9699ab;
  --Light-gray: #d6d9e6;
  --Magnolia: #f0f6ff;
  --Alabaster: #fafbff;
  --White: #ffffff;
}

h1,
label, input {
  color: #02295a;
}

label {
  font-weight: 500;
}

h1 {
  font-weight: bold;
}

.step-btn.active {
  background-color: white;
  color : #473dff;
}

.input-box input:focus {
  outline: 1px solid #02295a;
}
.input-box.error input{
  border-color: #ed3548;
}
.input-box.error input:focus {
  border-color: transparent;
}
.input-box.error .error-message{
  display: block;
}

.switch {
  --button-width: 3.5em;
  --button-height: 2em;
  --toggle-diameter: 1.5em;
  --button-toggle-offset: calc((var(--button-height) - var(--toggle-diameter)) / 2);
  --toggle-shadow-offset: 10px;
  --toggle-wider: 3em;
  --color-grey: #cccccc;
  --color-green: #473dff;
}

.slider {
  display: inline-block;
  width: var(--button-width);
  height: var(--button-height);
  background-color: var(--color-grey);
  border-radius: calc(var(--button-height) / 2);
  position: relative;
  transition: 0.3s all ease-in-out;
}

.slider::after {
  content: "";
  display: inline-block;
  width: var(--toggle-diameter);
  height: var(--toggle-diameter);
  background-color: #fff;
  border-radius: calc(var(--toggle-diameter) / 2);
  position: absolute;
  top: var(--button-toggle-offset);
  transform: translateX(var(--button-toggle-offset));
  box-shadow: var(--toggle-shadow-offset) 0 calc(var(--toggle-shadow-offset) * 4) rgba(0, 0, 0, 0.1);
  transition: 0.3s all ease-in-out;
}

.switch input[type="checkbox"]:checked+.slider {
  background-color: var(--color-green);
}

.switch input[type="checkbox"]:checked+.slider::after {
  transform: translateX(calc(var(--button-width) - var(--toggle-diameter) - var(--button-toggle-offset)));
  box-shadow: calc(var(--toggle-shadow-offset) * -1) 0 calc(var(--toggle-shadow-offset) * 4) rgba(0, 0, 0, 0.1);
}

.switch input[type="checkbox"] {
  display: none;
}

.switch input[type="checkbox"]:active+.slider::after {
  width: var(--toggle-wider);
}

.switch input[type="checkbox"]:checked:active+.slider::after {
  transform: translateX(calc(var(--button-width) - var(--toggle-wider) - var(--button-toggle-offset)));
}

.add-on-label {
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
  user-select: none;
}

.hidden-checkbox {
  position: absolute;
  opacity: 0;
  height: 0;
  width: 0;
}

.checkmark {
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 2px solid #ccc;
  border-radius: 4px;
  transition: all 0.2s ease;
  position: relative;
}

.checkmark::after {
  content: "";
  position: absolute;
  display: none;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.hidden-checkbox:checked~.checkmark {
  background-color: #3b82f6;
  /* Blue-500 */
  border-color: #3b82f6;
}

.hidden-checkbox:checked~.checkmark::after {
  display: block;
}

.plan-label.selected {
  border-color: #473dff;
  background-color: #473dff13;
}

.add-on-content.active {
  border: 2px solid #473dff;
  background-color: #f0f6ff;
}

.step {
  /* opacity: 0; */
  display: none;
}

.step.active {
  opacity: 1;
  display: block;
  transition: all 0.3s ease-in-out;
  height: auto;
  animation: fadeIn 1s forwards;
}

@keyframes fadeIn {
  from {
    display: block;
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}