@keyframes hoverBtn {
  0% {
    transform: translateX(-100%);
    opacity: 0; }
  40% {
    opacity: 0.2; }
  50% {
    transform: translateX(0%);
    opacity: 0.2; }
  100% {
    transform: translateX(100%);
    opacity: 0; } }

@keyframes text-underlined {
  0% {
    transform: scaleX(1);
    transform-origin: right; }
  50% {
    transform: scaleX(0);
    transform-origin: right; }
  51% {
    transform-origin: left; }
  100% {
    transform: scaleX(1); } }

.heading-title {
  margin-bottom: 50px; }
  .heading-title .title1 {
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 15px; }
  .heading-title .title2 {
    font-size: 30px;
    line-height: 1.2;
    margin: 0; }
  .heading-title .desc {
    opacity: 0.8;
    margin-top: 15px; }
  @media (max-width: 991px) {
    .heading-title .title2 {
      font-size: 28px; }
    .heading-title .title2 br,
    .heading-title .desc br {
      display: none; } }
  @media (max-width: 767px) {
    .heading-title {
      margin-bottom: 25px; }
      .heading-title .title2 {
        font-size: 26px; } }

.button {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding: 12px 35px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  outline: none;
  border-radius: 50px;
  transition: all 0.3s;
  background: var(--shop-color-button);
  color: var(--shop-color-button-text);
  text-align: center; }
  .button:before {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    z-index: 0;
    transform: translateX(-100%);
    opacity: 0;
    will-change: transform , opacity; }
  .button:hover {
    color: var(--shop-color-button-text); }
    .button:hover:before {
      animation: hoverBtn 0.6s ease-out forwards; }
  @media (max-width: 767px) {
    .button {
      padding: 10px 30px; } }

.btn-link {
  font-weight: 600;
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #000000; }
  .btn-link:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: currentColor;
    inset-inline-start: 0;
    bottom: 0;
    transform: scaleX(1);
    transform-origin: right; }
  .btn-link:hover {
    color: #000000;
    text-decoration: none; }
    .btn-link:hover:before {
      transform: scaleX(1);
      transform-origin: left;
      animation: text-underlined 0.6s; }
