// =======================================================
// 🔘 Buttons Styles (_buttons.scss)
// =======================================================

.buttons-layout{
  padding-left: 60px;
  padding-right: 60px;
  .button-card-main{
    &:not(:last-of-type){
      padding-bottom: 100px;
      margin-bottom: 100px;
      border-bottom: 2px solid $primary-01;
    }
    .button-card{
      &:not(:last-of-type){
        margin-bottom: 60px;
      }
      h4{
        font-weight: 600;
        margin-bottom: 16px;
      }
      ul.btn-list{
        li{
          vertical-align: middle;
          margin: 0 12px 12px 0;
        }
      }
    }
  }
}

.btn-style{
  height: 48px;
  cursor: pointer;
  overflow: hidden;
  position: relative;
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  color: $white;
  font-family: $font-calibre;
  background: $primary-01;
  border: 1px solid $primary-01;
  border-radius: 100px;
  text-decoration: none;
  padding: 18px 36px 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all .3s ease-in-out;
  text-shadow: 0 40px 0 $white;
  &:hover{
    background: $primary-01;
    color: $white;
    &:after{
      left: -30%;
      opacity: 1;
      top: -20%;
      transition-duration: .7s, .7s, .15s;
      transition-property: left, top, opacity;
      transition-timing-function: linear;
    }
    span{
      transform: translateY(-40px);
    }
  }
  &:after{
    content: "";
    height: 200%;
    width: 200%;
    position: absolute;
    left: -210%;
    top: -50%;
    background: linear-gradient(90deg, hsla(0, 0%, 100%, .13), hsla(0, 0%, 100%, .13) 77%, hsla(0, 0%, 100%, .4) 92%, hsla(0, 0%, 100%, 0));
    opacity: 0;
    transition: all .7s ease 0s;
  }
  >span{
    font-size: 20px;
    line-height: 28px;
    font-weight: 700;
    color: $white;
    transition: transform 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55), -webkit-transform 0.7s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }

  &.btn-md{
    height: 40px;
    font-size: 18px;
    line-height: 24px;
    padding: 14px 32px 14px;
    >span{
      font-size: 17px;
      line-height: 24px;
    }
  }

  &.btn-sm{
    height: 31px;
    font-size: 18px;
    line-height: 24px;
    font-weight: 600;
    padding: 10px 16px 10px;
    &.icon{
      height: 40px;
    }
    >span{
      font-size: 17px;
      line-height: 24px;
    }
  }

  &.btn-xs{
    height: 26px;
    font-size: 16px;
    line-height: 20px;
    font-weight: 600;
    padding: 8px 14px 8px;
    &.icon{
      height: 36px;
    }
    >span{
      font-size: 17px;
      line-height: 24px;
    }
  }

  &.status{
    position: relative;
    &:before{
      content: "";
      background: $white;
      width: 8px;
      height: 8px;
      border-radius: 50px;
      position: relative;
      margin-right: 8px;
    }
  }

  &.icon{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    img{
      max-width: 20px;
    }
  }

  // Red Button Start
  &.btn-red{
    background: $primary-01;
    border-color: $primary-01;
    &:hover{
      background: $primary-01;
      border-color: $primary-01;
    }

    &.icon{
      img{
        filter: $white-filter;
      }
    }

    &.status{
      &:before{
        background: $white;
      }
    }

    &.dark{
      border-color: $bright-red-08;
      background: $bright-red-08;
      &:hover{
        border-color: $bright-red-08;
        background: $bright-red-08;
      }
    }

    &.soft-shadow{
      box-shadow:
              0 0 0 4px rgba(255, 237, 239, 1),
              0 1px 2px rgba(10, 13, 18, 0.05);
    }

    &.disable{
      border-color: $btn-disable-01;
      background: $btn-disable-01;
      pointer-events: none;
      &:hover{
        border-color: $btn-disable-01;
        background: $btn-disable-01;
      }
    }
  }
  // Red Button End

  // Pink Button Start
  &.btn-pink{
    background: $bright-red-02;
    border-color: $bright-red-02;
    color: $primary-01;
    &:hover{
      background: $bright-red-02;
      border-color: $bright-red-02;
      color: $primary-01
    }
    &.icon{
      img{
        filter: $primary-filter;
      }
    }
    &.status{
      &:before{
        background: $primary-green-05;
      }
    }

    &.text-soft-gray{
      font-size: 18px;
      line-height: 24px;
      font-weight: 500;
      color: $warm-gray-12;
      &:hover{
        color: $warm-gray-12;
      }
      &.status{
        &:before{
          background: $primary-green-05;
        }
      }
      &.icon{
        img{
          filter: $soft-gray-filter;
        }
      }
    }

    &.text-dark-gray{
      font-size: 18px;
      line-height: 24px;
      font-weight: 500;
      color: $cool-gray-12;
      &:hover{
        color: $cool-gray-12;
      }
      &.status{
        &:before{
          background: $primary-green-05;
        }
      }
      &.icon{
        img{
          filter: $dark-gray-filter;
        }
      }
    }

    &.dark{
      border-color: $bright-red-03;
      background: $bright-red-03;
      color: $primary-01;
      &:hover{
        border-color: $bright-red-03;
        background: $bright-red-03;
        color: $primary-01;
      }
    }

    &.soft-shadow{
      box-shadow:
              0 1px 2px rgba(10, 13, 18, 0.05),
              0 0 0 4px rgba(255, 237, 239, 1);
    }

    &.disable{
      color: $bright-red-12;
      border-color: $btn-disable-02;
      background: $btn-disable-02;
      pointer-events: none;
      &:hover{
        border-color: $btn-disable-02;
        background: $btn-disable-02;
      }
      &.status{
        &:before{
          background: $bright-red-12;
        }
      }
      &.icon{
        img{
          filter: brightness(0) saturate(100%) invert(98%) sepia(66%) saturate(6818%) hue-rotate(287deg) brightness(105%) contrast(101%);
        }
      }
    }
  }
  // Pink Button End

  // Transparent Button Start
  &.btn-transparent{
    color: $primary-01;
    background: transparent;
    border: 2px solid $primary-01;
    &:hover{
      color: $primary-01;
      background: transparent;
      border-color: $primary-01;
    }
    &.status{
      &:before{
        background: $primary-green-05;
      }
    }
    &.icon{
      img{
        filter: $primary-filter;
      }
    }

    &.dark{
      border-color: $bright-red-13;
      background: transparent;
      color: $bright-red-13;
      &:hover{
        border-color: $bright-red-13;
        background: transparent;
      }
      &.icon{
        img{
          filter: brightness(0) saturate(100%) invert(53%) sepia(18%) saturate(1680%) hue-rotate(305deg) brightness(100%) contrast(102%);
        }
      }
    }

    &.soft-shadow{
      box-shadow:
              0 0 0 4px rgba(255, 237, 239, 1),
              0 1px 2px 0 rgba(10, 13, 18, 0.05);
    }

    &.disable{
      color: $cool-gray-11;
      border-color: $warm-gray-11;
      background: transparent;
      pointer-events: none;
      &:hover{
        border-color: $warm-gray-11;
        background: transparent;
      }
      &.status{
        &:before{
          background: $cool-gray-11;
        }
      }
      &.icon{
        img{
          filter: brightness(0) saturate(100%) invert(93%) sepia(0%) saturate(0%) hue-rotate(205deg) brightness(88%) contrast(83%);
        }
      }
    }
  }
  // Transparent Button End

  // Text Button Start
  &.btn-text{
    background: transparent;
    border: 2px solid transparent;
    &:hover{
      background: transparent;
      border-color: transparent;
    }
    &:after{
      display: none;
    }

    &.text-red{
      color: $primary-01;
      &:hover{
        color: $primary-01;
      }
      &.w-500{
        font-weight: 500;
      }
      &.no-padding{
        height: auto;
        padding: 0;
      }
      &.status{
        &:before{
          background: $primary-green-05;
        }
      }
      &.icon{
        img{
          filter: $primary-filter;
        }
      }

      &.dark{
        font-size: 18px;
        line-height: 24px;
        font-weight: 500;
        color: $bright-red-09;
        &:hover{
          color: $bright-red-09;
        }
        &.status{
          &:before{
            background: $primary-green-05;
          }
        }
        &.icon{
          img{
            filter: $dark-red-filter;
          }
        }
      }

      &.soft{
        font-size: 18px;
        line-height: 24px;
        font-weight: 500;
        color: $bright-red-08;
        &:hover{
          color: $bright-red-08;
        }
        &.status{
          &:before{
            background: $primary-green-05;
          }
        }
        &.icon{
          img{
            filter: $dark-red-filter;
          }
        }
      }

      &.disable{
        color: $cool-gray-11;
        pointer-events: none;
        &:hover{
          color: $cool-gray-11;
        }
        &.status{
          &:before{
            background: $cool-gray-11;
          }
        }
        &.icon{
          img{
            filter: $light-gray-filter;
          }
        }
      }
    }

    &.text-gray{
      font-size: 18px;
      line-height: 24px;
      font-weight: 500;
      &.status{
        &:before{
          background: $primary-green-05;
        }
      }

      &.no-padding{
        height: auto;
        padding: 0;
      }

      &.dark{
        color: $cool-gray-12;
        &:hover{
          color: $cool-gray-12;
        }
        &.icon{
          img{
            filter: $dark-gray-filter;
          }
        }
      }

      &.soft{
        color: $warm-gray-12;
        &:hover{
          color: $warm-gray-12;
        }
        &.icon{
          img{
            filter: $soft-gray-filter;
          }
        }
      }

      &.cool{
        color: $cool-gray-13;
        &:hover{
          color: $cool-gray-13;
        }
        &.icon{
          img{
            filter: $cool-gray-filter;
          }
        }
      }

      &.disable{
        color: $cool-gray-11;
        pointer-events: none;
        &:hover{
          color: $cool-gray-11;
        }
        &.status{
          &:before{
            background: $cool-gray-11;
          }
        }
        &.icon{
          img{
            filter: $light-gray-filter;
          }
        }
      }
    }

  }
  // Text Button End
}

.btn-circle{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: $primary-01;
  border: 1px solid $primary-01;
  transition: all .3s ease-in-out;
  img{
    max-width: 20px;
  }
  &:hover{
    &:after{
      left: -30%;
      opacity: 1;
      top: -20%;
      transition-duration: .7s, .7s, .15s;
      transition-property: left, top, opacity;
      transition-timing-function: linear;
    }
  }
  &:after{
    content: "";
    height: 200%;
    width: 200%;
    position: absolute;
    left: -210%;
    top: -50%;
    background: linear-gradient(90deg, hsla(0, 0%, 100%, .13), hsla(0, 0%, 100%, .13) 77%, hsla(0, 0%, 100%, .2) 92%, hsla(0, 0%, 100%, 0));
    opacity: 0;
    transition: all .7s ease 0s;
  }

  &.btn-md{
    width: 44px;
    height: 44px;
  }

  &.btn-sm{
    width: 40px;
    height: 40px;
  }

  &.btn-xs{
    width: 36px;
    height: 36px;
  }

  &.w-64{
    width: 64px;
    height: 64px;
  }

  // Primary Button Start
  &.btn-red{
    background: $primary-01;
    border-color: $primary-01;
    &:hover{
      background: $primary-01;
      border-color: $primary-01;
    }

    &.dark{
      border-color: $bright-red-08;
      background: $bright-red-08;
      &:hover{
        border-color: $bright-red-08;
        background: $bright-red-08;
      }
    }

    &.soft-shadow{
      box-shadow:
              0 0 0 4px rgba(255, 237, 239, 1),
              0 1px 2px rgba(10, 13, 18, 0.05);
    }

    &.disable{
      border-color: $btn-disable-01;
      background: $btn-disable-01;
      pointer-events: none;
      &:hover{
        border-color: $btn-disable-01;
        background: $btn-disable-01;
      }
    }

    img{
      filter: $white-filter;
    }
  }
  // Primary Button End

  // Pink Button Start
  &.btn-pink{
    background: $bright-red-02;
    border-color: $bright-red-02;
    color: $primary-01;
    &:hover{
      background: $bright-red-02;
      border-color: $bright-red-02;
      color: $primary-01
    }

    &.text-soft-gray{
      img{
        filter: $soft-gray-filter;
      }
    }

    &.text-dark-gray{
      img{
        filter: $dark-gray-filter;
      }
    }

    &.dark{
      border-color: $bright-red-03;
      background: $bright-red-03;
      color: $primary-01;
      &:hover{
        border-color: $bright-red-03;
        background: $bright-red-03;
        color: $primary-01;
      }
    }

    &.soft-shadow{
      box-shadow:
              0 1px 2px rgba(10, 13, 18, 0.05),
              0 0 0 4px rgba(255, 237, 239, 1);
    }

    &.disable{
      color: $bright-red-12;
      border-color: $btn-disable-02;
      background: $btn-disable-02;
      pointer-events: none;
      &:hover{
        border-color: $btn-disable-02;
        background: $btn-disable-02;
      }
      img{
        filter: brightness(0) saturate(100%) invert(98%) sepia(66%) saturate(6818%) hue-rotate(287deg) brightness(105%) contrast(101%);
      }
    }

    img{
      filter: $primary-filter;
    }
  }
  // Pink Button End

  // Transparent Button Start
  &.btn-transparent{
    background: transparent;
    border: 2px solid $primary-01;
    &:hover{
      background: transparent;
      border-color: $primary-01;
    }
    img{
      filter: $primary-filter;
    }

    &.dark{
      border-color: $bright-red-13;
      background: transparent;
      color: $bright-red-13;
      &:hover{
        border-color: $bright-red-13;
        background: transparent;
      }
      img{
        filter: brightness(0) saturate(100%) invert(53%) sepia(18%) saturate(1680%) hue-rotate(305deg) brightness(100%) contrast(102%);
      }
    }

    &.soft-shadow{
      box-shadow:
              0 0 0 4px rgba(255, 237, 239, 1),
              0 1px 2px 0 rgba(10, 13, 18, 0.05);
    }

    &.disable{
      color: $cool-gray-11;
      border-color: $warm-gray-11;
      background: transparent;
      pointer-events: none;
      &:hover{
        border-color: $warm-gray-11;
        background: transparent;
      }
      img{
        filter: brightness(0) saturate(100%) invert(93%) sepia(0%) saturate(0%) hue-rotate(205deg) brightness(88%) contrast(83%);
      }
    }
  }
  // Transparent Button End

  // Text Button Start
  &.btn-text{
    background: transparent;
    border: 2px solid transparent;
    &:hover{
      background: transparent;
      border-color: transparent;
    }
    &:after{
      display: none;
    }

    &.text-red{
      img{
        filter: $primary-filter;
      }

      &.disable{
        pointer-events: none;
        &:hover{
        }
        img{
          filter: $light-gray-filter;
        }
      }
    }

    &.text-gray{
      &.dark{
        img{
          filter: $dark-gray-filter;
        }
      }
      &.disable{
        pointer-events: none;
        img{
          filter: $light-gray-filter;
        }
      }
    }
  }
  // Text Button End
}
