/* Utilities */
.btn-pill {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 6.25rem;
  background-color: var(--_btn-clr);
  color: var(--_btn-txt-clr);
  padding: 1.25em 2.25rem;
  border: none;
  border-radius: 100vw;
  font-size: var(--_btn-fs, var(--fs-400));
  font-weight: var(--_btn-fw, var(--fw-700));
  text-align: center;
  text-wrap: nowrap;
  text-transform: uppercase;
  transition: all 180ms ease;

  a {
    all: unset;
  }

  &:hover {
    color: var(--_btn-clr);
    background-color: var(--_btn-txt-clr);
    outline: 1px solid var(--_btn-clr);

    transition: all 180ms ease;

    .btn-icon {
      svg {
        path {
          fill: currentColor;
        }
      }
    }
  }

  &:has(.btn-icon),
  &:has(.bx) {
    --_btn-clr: var(--_btn-icon-clr);
    --_btn-txt-clr: var(--_btn-icon-txt-clr);

    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 0.625rem;

    .btn-icon {
      flex-shrink: 0;
      width: var(--_btn-icon-size, 1.25rem);
      height: var(--_btn-icon-size, 1.25rem);
      aspect-ratio: 1;

      svg {
        width: 100%;
        height: 100%;
      }
    }
  }

  &.btn-primary {
    --_btn-clr: var(--primary-clr);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-secondary {
    --_btn-clr: var(--secondary-clr);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-secondary-900 {
    --_btn-clr: var(--secondary-clr-900);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-tertiary {
    --_btn-clr: var(--tertiary-clr);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-tertiary-900 {
    --_btn-clr: var(--tertiary-clr-900);
    --_btn-txt-clr: var(--white-clr);
  }

  &.btn-outline,
  &.btn-outline-tertiary {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--tertiary-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-tertiary-900 {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--tertiary-clr-900);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-secondary-900 {
    --_btn-txt-clr: var(--secondary-clr-900);
    --_btn-clr: var(--white-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-primary {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--primary-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-secondary {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--secondary-clr);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-secondary-900 {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--secondary-clr-900);
    border: 1px solid var(--_btn-txt-clr);
  }

  &.btn-outline-text-700 {
    --_btn-clr: var(--white-clr);
    --_btn-txt-clr: var(--text-clr-700);
    border: 1px solid var(--white-clr-700);
  }

  &.btn-fw-500 {
    --_btn-fw: var(--fw-500);
  }

  &.btn-sm {
    padding-block: 1rem;

    @media (width <=768px) {
      --_btn-fs: 0.875rem;
    }
  }

  &.btn-md {
    padding-inline: 1.625rem;
  }

  &.btn-xl {
    padding: 1rem 2.5rem;
  }

  &.btn-2xl {
    width: 13.5rem;
  }

  &.btn-3xl {
    padding: 0.875rem;
    width: 20.5rem;
  }

  &.btn-full {
    width: 100%;
  }

  &.btn-partner {
    border: none;
    border-bottom: 2px solid var(--secondary-clr);

    &:hover {
      outline: none;
      border-bottom-color: var(--white-clr);
    }
  }
}

.h1 {
  font-weight: var(--fw-900);
  font-size: var(--fs-1000);
  line-height: 1.14;
}

h2 {
  margin-bottom: 0;
  color: var(--tertiary-clr-900);
}

/* End of Utilities */

/* Slider */
.range-slider-wrapper {
  margin-top: 1.5rem;
  padding: 1rem 1.25rem;
  background-color: var(--white-clr-850);
  border-radius: 100vw;
}

/* End of Slider */
/* Css Only Carousel */

/* End of Css Only Carousel */

body {
  font-family: var(--ff-satoshi);
  background-color: var(--white-clr-900);
  line-height: 1.6;
}

.wrapper {
  --_max-width: 1600px;

  @media (width <=768px) {
    --_gap: 0px !important;
  }
}

/* Register */

.register {
  padding-block: clamp(2rem, 5vw, 3rem);
  position: relative;
}

.register-content {
  display: grid;
  gap: 1.5rem;

  .column:first-of-type {
    padding: 3rem 4.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    border-radius: 3rem;
    background-color: var(--white-clr);

    > * {
      width: min(100%, 500px);
      margin-inline: auto;
    }

    h1 {
      max-width: 15ch;
      margin-inline: auto;
      font-weight: var(--fw-900);
      font-size: var(--fs-950);
      line-height: 1;
      color: var(--text-clr-700);
      text-transform: uppercase;
    }

    p {
      color: var(--black-clr);
    }

    .btn-pill {
      padding-top: 0.625rem 3rem;
      height: 56px;
    }

    @media (width <=600px) {
      padding-inline: 1.125rem;

      .register-form {
        width: min(500px, 100%);
      }
    }

    @media (width > 1024px) {
      min-height: 996px;
      align-items: start;
      align-content: start;

      .policies {
        margin-top: auto;
      }
    }
  }

  @media (width<=600px) {
    .column:last-of-type {
      display: none;
    }
  }

  @media (600px<width <=1024px) {
    grid-template-rows: 320px 1fr;

    .column:last-of-type {
      grid-row: 1;
    }
  }

  @media (width > 1024px) {
    grid-template-columns: minmax(500px, 1fr) 1fr;
  }
}

.register-header {
  width: min(100%, 500px);
  text-align: center;

  h1 {
    color: var(--black-clr);
    font-size: var(--fs-800);
    font-weight: var(--fw-500);
  }
}

.register-header {
  p {
    padding-block: 1.5rem 2.25rem;
    font-weight: var(--fw-500);
    font-size: var(--fs-400);
  }
}

.form-steps {
  width: 100%;
  display: flex;
  gap: 1.5rem;
  counter-reset: form-step;

  /* If have 2 steps then max-width will be 350px  */
  &:has(.form-step:nth-child(3):last-child) {
    width: min(350px, 100%);
  }
}

.form-step {
  flex: 0 0 auto;
  counter-increment: form-step;
  list-style-type: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.635rem;
  color: var(--tertiary-clr-900);

  &.active {
    --_form-step-clr: var(--white-clr);
    --_form-step-bg-clr: var(--tertiary-clr-900);
  }

  &::before {
    content: counter(form-step);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    font-family: var(--ff-roboto);
    font-weight: var(--fw-700);
    font-size: 1.25rem;
    line-height: 1;
    color: var(--_form-step-clr, var(--white-clr));
    background-color: var(--_form-step-bg-clr, #e2a3c6);
    border-radius: 50%;
    outline: 4px solid var(--white-clr-900);
    transition: all 300ms ease;
  }

  &.completed {
    cursor: pointer;

    &::before {
      content: url("data:image/svg+xml,%3Csvg%20width%3D%2223%22%20height%3D%2222%22%20viewBox%3D%220%200%2023%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M11.5%2021C12.8135%2021.0017%2014.1143%2020.7438%2015.3278%2020.2412C16.5413%2019.7385%2017.6435%2019.001%2018.571%2018.071C19.501%2017.1435%2020.2385%2016.0413%2020.7411%2014.8278C21.2438%2013.6143%2021.5017%2012.3135%2021.5%2011C21.5017%209.68654%2021.2438%208.38569%2020.7411%207.17222C20.2385%205.95874%2019.501%204.85656%2018.571%203.92901C17.6435%202.99902%2016.5413%202.26151%2015.3278%201.75885C14.1143%201.25619%2012.8135%200.998307%2011.5%201.00001C10.1865%200.998334%208.88569%201.25623%207.67222%201.75889C6.45874%202.26154%205.35656%202.99904%204.42901%203.92901C3.49904%204.85656%202.76154%205.95874%202.25889%207.17222C1.75623%208.38569%201.49833%209.68654%201.50001%2011C1.49831%2012.3135%201.75619%2013.6143%202.25885%2014.8278C2.76151%2016.0413%203.49902%2017.1435%204.42901%2018.071C5.35656%2019.001%206.45874%2019.7385%207.67222%2020.2411C8.88569%2020.7438%2010.1865%2021.0017%2011.5%2021Z%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M7.5%2011L10.5%2014L16.5%208%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
    }
  }
}

.form-step-progress-line {
  list-style-type: none;
  /* width: min(158px, 100%); */
  /* min-width: min(158px, 100%); */
  /* min-width: 158px; */
  /* width: max(158px); */
  flex-grow: 1;
  flex-shrink: 0;
  height: 2px;
  margin-top: 1.5rem;
  background-color: var(--white-clr-900);
}

.register-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}

.register-agency {
  --_form-step-progress-line-width: ;
}

.register-form {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.75rem;
  font-family: Inter, "Lato", "sans-serif";
  position: relative;

  [data-form-step] {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    /* transition: opacity 0.4s ease, visibility 0.4s ease; */
    pointer-events: none;

    &.active {
      display: contents;
      position: revert;
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
      transition: opacity 0.4s ease;
    }
  }

  .btn-pill {
    margin-top: 0.75rem;
  }

  @media (width>600px) {
    grid-template-columns: 1fr 1fr;

    .span-2 {
      grid-column: span 2;
    }
  }
}

.register-footer {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.25rem;

  font-weight: var(--fw-500);
  font-size: var(--fs-400);
  line-height: 1;

  a {
    font-weight: var(--fw-700);
    color: var(--secondary-clr-900);
    transition: text-decoration 180ms ease;

    &:hover {
      text-decoration: underline;
    }
  }
}

.policies {
  text-align: center;
  font-weight: var(--fw-500);
  font-size: var(--fs-400);

  a {
    color: var(--secondary-clr-900);
    text-decoration: underline;

    &:hover {
      text-decoration: none;
    }
  }
}

.register-img {
  height: 100%;
  border: 1px solid #ffffff;
  border-radius: 2.25rem;

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
  }
}
