.button {
  font-weight: 500;
  font-size: 14px;
  line-height: 1;
  text-align: center;
  padding: 16px 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 15px;
  border-radius: 60px;
  border-width: 1px;
}
.button__icon {
  width: 32px;
  height: 32px;
  border-radius: 16px;
  border: 1px solid;
  display: flex;
  justify-content: center;
  align-items: center;
}
.button--red {
  background: rgb(252, 84, 56);
  color: rgb(255, 255, 255);
  border: 1px solid rgb(252, 84, 56);
}
.button--red .button__icon {
  background: rgb(255, 255, 255);
  border: 1px solid rgb(255, 255, 255);
}
.button--red .button__icon svg path {
  stroke: rgb(252, 84, 56);
}
.button--red:hover {
  color: rgb(252, 84, 56);
  background: rgb(255, 255, 255);
  border-color: rgb(252, 84, 56);
}
.button--red:hover .button__icon {
  border: 1px solid rgb(255, 255, 255);
}
.button--white {
  color: rgb(47, 46, 42);
  background: rgb(255, 255, 255);
  border: 1px solid rgb(255, 255, 255);
}
.button--white .button__icon {
  background: rgb(252, 84, 56);
  border: 1px solid rgb(252, 84, 56);
}
.button--white .button__icon svg path {
  stroke: rgb(255, 255, 255);
}
.button--white:hover {
  background: rgb(252, 84, 56);
  color: rgb(255, 255, 255);
  border: 1px solid rgb(252, 84, 56);
}
.button--white:hover .button__icon {
  border: 1px solid rgb(252, 84, 56);
}
.button--black {
  color: rgb(255, 255, 255);
  background: rgb(47, 46, 42);
  border: 1px solid rgb(47, 46, 42);
}
.button--black .button__icon {
  background: rgb(255, 255, 255);
  border: 1px solid rgb(255, 255, 255);
}
.button--black .button__icon svg path {
  stroke: rgb(47, 46, 42);
}
.button--black:hover {
  background: rgb(255, 255, 255);
  color: rgb(47, 46, 42);
  border: 1px solid rgb(255, 255, 255);
}
.button--black:hover .button__icon {
  border: 1px solid rgb(255, 255, 255);
}
.button--transparent {
  color: rgb(47, 46, 42);
  background: transparent;
  border: 1px solid rgb(252, 84, 56);
}
.button--transparent .button__icon {
  background: transparent;
  border: 1px solid transparent;
}
.button--transparent .button__icon svg path {
  stroke: rgb(47, 46, 42);
}
.button--transparent:hover {
  background: rgb(255, 255, 255);
  color: rgb(252, 84, 56);
  border: 1px solid rgb(252, 84, 56);
}
.button--transparent:hover .button__icon {
  border: 1px solid rgb(255, 255, 255);
}
.button--transparent:hover .button__icon svg path {
  stroke: rgb(252, 84, 56);
}
.button--icon-round {
  padding: 7px 8px 7px 20px;
}
@media screen and (min-width: 1024px) {
  .button--icon-round.button--large {
    padding: 8px 10px 8px 30px;
  }
  .button--icon-round.button--large .button__icon {
    width: 36px;
    min-width: 36px;
    height: 36px;
    border-radius: 18px;
  }
}
.button--icon-round.button--small {
  padding: 7px 6px 7px 20px;
}
.button--icon-round.button--small .button__icon {
  width: 24px;
  height: 24px;
  border-radius: 12px;
}
.button--small {
  font-size: 12px;
  padding: 13px 20px;
  min-width: 150px;
}
@media screen and (min-width: 1024px) {
  .button--large {
    font-size: 16px;
    padding: 18px 38px;
  }
}
.button--banner {
  min-width: 245px;
  max-width: 485px;
}
@media screen and (min-width: 1024px) {
  .button--banner {
    font-size: 18px;
    padding: 20px 38px;
    min-width: 385px;
  }
}
@media screen and (min-width: 1440px) {
  .button--banner {
    font-size: 20px;
    padding: 24px 38px;
    min-width: 485px;
    max-width: 485px;
  }
}
.button--uppercase {
  text-transform: uppercase;
}