/* 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;
  }
}

/* Signin */
.link {
  color: var(--primary-clr);
  transition: all 180ms ease;
  display: block;

  &:hover {
    scale: 1.05;
    color: var(--secondary-clr);
  }
}

.signin {
  padding-block: clamp(2rem, 5vw, 3rem);
  position: relative;
}

.signin-content {
  display: grid;
  gap: 1.5rem;

  .column:first-of-type {
    padding: 5.125rem 2.25rem;
    background-color: var(--white-clr);
    border: 1px solid var(--white-clr-800);
    border-radius: 3rem;

    > * {
      max-width: 500px;
      margin-inline: 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;
  }
}

.input-wrapper {
  font-weight: var(--fw-500);
  --_input-wrapper-padding: 1rem;

  &.password-wrapper .toggle-password {
    top: var(--_input-wrapper-padding);
  }

  &:not(.input-file-wrapper) > label {
    display: none !important;
  }

  input {
    border: 1px solid #ceced3;
    box-shadow: 0px 2px 15px 0px #0000000d;
    background-color: #fcfcff;
  }
}

.signin-header {
  margin-bottom: 1.5rem;

  text-align: center;

  h1 {
    max-width: 10ch;
    margin-inline: auto;
    font-family: Satoshi;
    font-weight: var(--fw-900);
    font-size: clamp(3rem, 4vw + 1.2rem, 4.5rem);
    line-height: 1;
    color: var(--text-clr-700);
    text-transform: uppercase;
  }

  p {
    padding-block: 2.25rem 3rem;
    color: var(--black-clr);
  }
}

.signin-form {
  > *:not(:last-child) {
    margin-bottom: 1.375rem;
  }

  .btn-pill {
    height: 56px;
  }
}

.forgot-password {
  width: fit-content;
  display: block;
  font-size: 0.875rem;
  text-decoration: underline;
  margin-block: 1rem 3.125rem;
  margin-inline: auto;
  color: #3a394b;
}

.or-text {
  margin-block-start: 1.5rem;
  text-align: center;
  position: relative;
  isolation: isolate;

  &::before,
  &::after {
    content: "";
    width: calc(50% - 72px);
    height: 1px;
    position: absolute;
    display: block;
    z-index: -1;
    inset-block: 0;
    margin-block: auto;
    background-color: #e0e0e0;
  }

  &::before {
    inset-inline-start: 0;
  }

  &::after {
    inset-inline-end: 0;
  }
}

.btn-signin-socials {
  margin-block: 1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.625rem;
}

.btn-signin-social {
  --_btn-icon-clr: var(--white-clr);
  --_btn-icon-txt-clr: var(--black-clr);

  /* padding: 0.25rem 1rem; */
  width: 100%;
  padding: 0.75rem 1.125rem;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 0.875rem;
  border-radius: 0.75rem;
  border: 1px solid #ffc5e5;
  background-color: var(--white-clr);

  color: var(--black-clr);
  font-family: var(--ff-roboto);
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
}

.signin-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;
    }
  }
}

.signin-img {
  height: 100%;
  border: 1px solid #ffffff;
  border-radius: 2.25rem;

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
  }
}

/* End of Signin */
