.btn--lg {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 31px;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
}

.btn--md {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 9px 23px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.btn--sm {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 7px 15px;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: calc(10 / 7);
}

.btn--round {
  border-radius: 1000px;
}

.btn--bullet {
  border-radius: 0 1000px 1000px 0;
}

.btn--white {
  background: white;
  border: 1px solid white;
  color: var(--text-neutral-inverse-default, #262831);

  &:hover {
    color: var(--text-neutral-inverse-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-default-hover, #ededf1);
    border-color: var(--surface-neutral-default-hover, #ededf1);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-default-hover, #ededf1);
    border-color: var(--surface-neutral-default-hover, #ededf1);
    color: var(--text-neutral-inverse-default, #262831);
  }
}

.btn--red {
  background: var(--surface-brand-main-default-default, #e42127);
  border: 1px solid var(--surface-brand-main-default-default, #e42127);
  color: var(--text-neutral-inverse-default, #ffffff);

  &:hover {
    color: var(--text-neutral-inverse-default, #ffffff);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-brand-main-default-hover, #9e161a);
    border-color: var(--surface-brand-main-default-hover, #9e161a);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-brand-main-default-hover, #9e161a);
    border-color: var(--surface-brand-main-default-hover, #9e161a);
    color: var(--text-neutral-inverse-default, #ffffff);
  }
}

.btn--yellow {
  background: var(--surface-brand-2-default-default, #ffe401);
  border: 1px solid var(--surface-brand-2-default-default, #ffe401);
  color: var(--text-neutral-inverse-default, #262831);

  &:hover {
    color: var(--text-neutral-inverse-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-brand-2-default-hover, #ff9101);
    border-color: var(--surface-brand-2-default-hover, #ff9101);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-brand-2-default-hover, #ff9101);
    border-color: var(--surface-brand-2-default-hover, #ff9101);
    color: var(--text-neutral-inverse-default, #262831);
  }
}

.btn--blue {
  background: var(--surface-brand-3-default-default, #5dd1ff);
  border: 1px solid var(--surface-brand-3-default-default, #5dd1ff);
  color: var(--text-neutral-inverse-default, #262831);

  &:hover {
    color: var(--text-neutral-inverse-default, #262831);
  }
  
  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-brand-3-default-hover, #3399ff);
    border-color: var(--surface-brand-3-default-hover, #3399ff);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-brand-3-default-hover, #3399ff);
    border-color: var(--surface-brand-3-default-hover, #3399ff);
    color: var(--text-neutral-inverse-default, #262831);
  }
}

.btn--green {
  background: var(--surface-brand-4-default-default, #00b743);
  border: 1px solid var(--surface-brand-4-default-default, #00b743);
  color: var(--text-neutral-inverse-default, #262831);

  &:hover:disabled, &:hover.disabled {
    color: var(--text-neutral-inverse-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-brand-4-default-hover, #006c58);
    border-color: var(--surface-brand-4-default-hover, #006c58);
    color: var(--text-neutral-inverse-default, #ffffff);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-brand-4-default-hover, #006c58);
    border-color: var(--surface-brand-4-default-hover, #006c58);
    color: var(--text-neutral-inverse-default, #ffffff);
  }
}

.btn--black {
  background: var(--surface-neutral-inverse-default, #3c4150);
  border: 1px solid var(--surface-neutral-inverse-default, #3c4150);
  color: var(--text-neutral-inverse-default, #ffffff);

  &:hover {
    color: var(--text-neutral-inverse-default, #ffffff);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-inverse-hover, #000000);
    border-color: var(--surface-neutral-inverse-hover, #000000);
    color: var(--text-neutral-inverse-default, #ffffff);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-inverse-hover, #000000);
    border-color: var(--surface-neutral-inverse-hover, #000000);
    color: var(--text-neutral-inverse-default, #ffffff);
  }
}

.btn--white-outline {
  border: 1px solid var(--text-neutral-inverse-default, #ffffff);
  background: transparent;
  color: var(--text-neutral-inverse-default, #ffffff);

  &.btn--bullet {
    border-left: none;
  }
}

.btn--red-outline {
  border: 1px solid var(--Red-900, #83191c);
  background: transparent;
  color: var(--text-neutral-default-default, #262831);

  &.btn--bullet {
    border-left: none;
  }

  &:hover {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    border: 1px solid var(--Red-950, #47080a);
    background: var(--surface-brand-main-default-hover, #9e161a);
    color: var(--text-neutral-inverse-default, #ffffff);

    &.btn--bullet {
      border-left: none;
    }
  }

  &:active:not(.disabled):not(:disabled) {
    border: 1px solid var(--Red-950, #47080a);
    background: var(--surface-brand-main-default-selected, #83191c);
    color: var(--text-neutral-inverse-default, #ffffff);

    &.btn--bullet {
      border-left: none;
    }
  }
}

.btn--yellow-outline {
  border: 1px solid var(--Yellow-600, #ff9101);
  background: transparent;
  color: var(--text-neutral-default-default, #262831);

  &.btn--bullet {
    border-left: none;
  }

  &:hover {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    border: 1px solid var(--Yellow-800, #a84f00);
    background: var(--surface-brand-2-default-hover, #ff9101);

    &.btn--bullet {
      border-left: none;
    }
  }

  &:active:not(.disabled):not(:disabled) {
    border: 1px solid var(--Yellow-800, #a84f00);
    background: var(--surface-brand-2-default-selected, #cc6600);
    color: var(--text-neutral-default-default, #262831);

    &.btn--bullet {
      border-left: none;
    }
  }
}

.btn--blue-outline {
  border: 1px solid var(--Blue-600, #4167ff);
  background: transparent;
  color: var(--text-neutral-default-default, #262831);

  &.btn--bullet {
    border-left: none;
  }

  &:hover {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    border: 1px solid var(--Blue-950, #0027c2);
    background: var(--surface-brand-3-default-hover, #3399ff);

    &.btn--bullet {
      border-left: none;
    }
  }

  &:active:not(.disabled):not(:disabled) {
    border: 1px solid var(--Blue-950, #0027c2);
    background: var(--surface-brand-3-default-hover, #3399ff);
    color: var(--text-neutral-default-default, #262831);

    &.btn--bullet {
      border-left: none;
    }
  }
}

.btn--green-outline {
  border: 1px solid var(--Green-800, #006c58);
  background: transparent;
  color: var(--text-neutral-default-default, #262831);

  &.btn--bullet {
    border-left: none;
  }

  &:hover:disabled, &:hover.disabled {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    border: 1px solid var(--Green-950, #003331);
    background: var(--surface-brand-4-default-hover, #006c58);
    color: var(--text-neutral-inverse-default, #ffffff);

    &.btn--bullet {
      border-left: none;
    }
  }

  &:active:not(.disabled):not(:disabled) {
    border: 1px solid var(--Green-950, #003331);
    background: var(--surface-brand-4-default-selected, #003331);
    color: var(--text-neutral-inverse-default, #ffffff);

    &.btn--bullet {
      border-left: none;
    }
  }
}

.btn--black-outline {
  border: 1px solid var(--border-neutral-default-default, #8991a7);
  background: var(--Neutral-100, #ededf1);
  color: var(--text-neutral-default-default, #262831);

  &.btn--bullet {
    border-left: none;
  }

  &:hover {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-muted-hover, #d6d8e1);

    &.btn--bullet {
      border-left: none;
    }
  }

  &:active:not(.disabled):not(:disabled) {
    border: 1px solid var(--border-neutral-default-hover, #3c4150);
    background: var(--surface-neutral-muted-hover, #d6d8e1);
    color: var(--text-neutral-default-default, #262831);

    &.btn--bullet {
      border-left: none;
    }
  }
}

.btn--white-ghost {
  background: transparent;
  color: var(--text-neutral-inverse-default, #ffffff);
}

.btn--black-ghost {
  background: transparent;
  color: var(--text-neutral-default-default, #262831);

  &:hover:disabled, &:hover.disabled {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: #2628311a;
  }

  &:active:not(.disabled):not(:disabled) {
    background: #26283133;
  }
}

.btn--red-ghost {
  background: transparent;
  color: var(--Red-600, #e42127);

  &:hover:disabled, &:hover.disabled {
    color: var(--Red-600, #e42127);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: #2628311a;
    color: var(--text-brand-hover, #83191c);
  }

  &:active:not(.disabled):not(:disabled) {
    background: #26283133;
    color: var(--text-brand-hover, #83191c);
  }
}

.btn--icon {
  padding: 8px;
  border-radius: 1000px;
  background: var(--surface-neutral-inverse-default, #3c4150);
  color: var(--text-neutral-inverse-default, #ffffff);

  &:hover {
    color: var(--text-neutral-inverse-default, #ffffff);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-inverse-default, #3c4150);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-inverse-selected, #000000);
    color: var(--text-neutral-inverse-default, #ffffff);
  }
}

.btn--icon-ghost {
  padding: 8px;
  border-radius: 1000px;
  background: transparent;
  color: var(--text-neutral-default-default, #262831);

  &:hover {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-default-hover, #ededf1);
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-default-selected, #d6d8e1);
    color: var(--text-neutral-default-default, #262831);
  }
}

.btn--icon-ghost-white {
  padding: 8px;
  border-radius: 1000px;
  background: var(--surface-neutral-default-default, #ffffff);
  color: var(--text-neutral-default-default, #262831);

  &:hover {
    color: var(--text-neutral-default-default, #262831);
  }

  &:hover:not(.disabled):not(:disabled) {
    background: #ededf1;
  }

  &:active:not(.disabled):not(:disabled) {
    background: var(--surface-neutral-muted-selected, #b2b7c7);
    color: var(--text-neutral-default-default, #262831);
  }
}
